2010-04-16 23:32:17 -04:00
|
|
|
package com.fsck.k9;
|
|
|
|
|
2010-04-21 22:20:35 -04:00
|
|
|
import java.io.Serializable;
|
2010-04-16 23:32:17 -04:00
|
|
|
import java.util.UUID;
|
|
|
|
|
|
|
|
import android.content.Context;
|
|
|
|
|
|
|
|
import com.fsck.k9.mail.Flag;
|
|
|
|
|
2011-09-12 18:08:34 -04:00
|
|
|
/**
|
|
|
|
* This is a meta-Account that represents one or more accounts with filters on them. The filter specification
|
|
|
|
* is defined by {@link com.fsck.k9.activity.SearchModifier}.
|
|
|
|
*/
|
2011-02-06 17:09:48 -05:00
|
|
|
public class SearchAccount implements BaseAccount, SearchSpecification, Serializable {
|
2011-01-31 18:45:14 -05:00
|
|
|
private static final long serialVersionUID = -4388420303235543976L;
|
2010-04-16 23:32:17 -04:00
|
|
|
private Flag[] mRequiredFlags = null;
|
|
|
|
private Flag[] mForbiddenFlags = null;
|
|
|
|
private String email = null;
|
|
|
|
private String description = null;
|
|
|
|
private String query = "";
|
|
|
|
private boolean integrate = false;
|
2010-12-24 17:48:19 -05:00
|
|
|
private String mUuid = null;
|
2010-04-21 22:20:35 -04:00
|
|
|
private boolean builtin = false;
|
|
|
|
private String[] accountUuids = null;
|
2010-04-24 15:10:57 -04:00
|
|
|
private String[] folderNames = null;
|
2010-04-29 00:59:14 -04:00
|
|
|
|
2011-02-06 17:09:48 -05:00
|
|
|
public SearchAccount(Preferences preferences) {
|
2010-04-21 22:20:35 -04:00
|
|
|
}
|
2010-04-29 00:59:14 -04:00
|
|
|
|
2011-09-12 18:08:34 -04:00
|
|
|
protected synchronized void delete(Preferences preferences) {
|
2010-04-21 22:20:35 -04:00
|
|
|
}
|
2010-04-29 00:59:14 -04:00
|
|
|
|
2011-02-06 17:09:48 -05:00
|
|
|
public synchronized void save(Preferences preferences) {
|
2010-04-21 22:20:35 -04:00
|
|
|
}
|
2010-04-29 00:59:14 -04:00
|
|
|
|
2011-02-06 17:09:48 -05:00
|
|
|
public SearchAccount(Context context, boolean nintegrate, Flag[] requiredFlags, Flag[] forbiddenFlags) {
|
2010-04-16 23:32:17 -04:00
|
|
|
mRequiredFlags = requiredFlags;
|
|
|
|
mForbiddenFlags = forbiddenFlags;
|
|
|
|
integrate = nintegrate;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
2011-02-06 17:09:48 -05:00
|
|
|
public synchronized String getEmail() {
|
2010-04-16 23:32:17 -04:00
|
|
|
return email;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
2011-02-06 17:09:48 -05:00
|
|
|
public synchronized void setEmail(String email) {
|
2010-04-16 23:32:17 -04:00
|
|
|
this.email = email;
|
|
|
|
}
|
|
|
|
|
2011-02-06 17:09:48 -05:00
|
|
|
public Flag[] getRequiredFlags() {
|
2010-04-16 23:32:17 -04:00
|
|
|
return mRequiredFlags;
|
|
|
|
}
|
|
|
|
|
2011-02-06 17:09:48 -05:00
|
|
|
public Flag[] getForbiddenFlags() {
|
2010-04-16 23:32:17 -04:00
|
|
|
return mForbiddenFlags;
|
|
|
|
}
|
|
|
|
|
2011-02-06 17:09:48 -05:00
|
|
|
public boolean isIntegrate() {
|
2010-04-16 23:32:17 -04:00
|
|
|
return integrate;
|
|
|
|
}
|
|
|
|
|
2011-02-06 17:09:48 -05:00
|
|
|
public String getDescription() {
|
2010-04-16 23:32:17 -04:00
|
|
|
return description;
|
|
|
|
}
|
|
|
|
|
2011-02-06 17:09:48 -05:00
|
|
|
public void setDescription(String description) {
|
2010-04-16 23:32:17 -04:00
|
|
|
this.description = description;
|
|
|
|
}
|
|
|
|
|
2011-02-06 17:09:48 -05:00
|
|
|
public String getQuery() {
|
2010-04-16 23:32:17 -04:00
|
|
|
return query;
|
|
|
|
}
|
|
|
|
|
2011-02-06 17:09:48 -05:00
|
|
|
public void setQuery(String query) {
|
2010-04-16 23:32:17 -04:00
|
|
|
this.query = query;
|
|
|
|
}
|
2011-09-12 18:08:34 -04:00
|
|
|
|
2011-02-06 17:09:48 -05:00
|
|
|
public String getUuid() {
|
|
|
|
if (mUuid == null) {
|
|
|
|
setUuid(UUID.randomUUID().toString());
|
2010-12-24 17:48:19 -05:00
|
|
|
}
|
2010-04-16 23:32:17 -04:00
|
|
|
return mUuid;
|
|
|
|
}
|
2011-09-12 18:08:34 -04:00
|
|
|
|
2011-02-06 17:09:48 -05:00
|
|
|
public void setUuid(String nUuid) {
|
2010-04-16 23:32:17 -04:00
|
|
|
mUuid = nUuid;
|
|
|
|
}
|
|
|
|
|
2011-02-06 17:09:48 -05:00
|
|
|
public void setIntegrate(boolean integrate) {
|
2010-04-16 23:32:17 -04:00
|
|
|
this.integrate = integrate;
|
|
|
|
}
|
2010-04-21 22:20:35 -04:00
|
|
|
|
2011-02-06 17:09:48 -05:00
|
|
|
public boolean isBuiltin() {
|
2010-04-21 22:20:35 -04:00
|
|
|
return builtin;
|
|
|
|
}
|
|
|
|
|
2011-02-06 17:09:48 -05:00
|
|
|
public void setBuiltin(boolean builtin) {
|
2010-04-21 22:20:35 -04:00
|
|
|
this.builtin = builtin;
|
|
|
|
}
|
2011-09-12 18:08:34 -04:00
|
|
|
|
2011-02-06 17:09:48 -05:00
|
|
|
public String[] getAccountUuids() {
|
2010-04-21 22:20:35 -04:00
|
|
|
return accountUuids;
|
|
|
|
}
|
2011-09-12 18:08:34 -04:00
|
|
|
|
2011-02-06 17:09:48 -05:00
|
|
|
public void setAccountUuids(String[] accountUuids) {
|
2010-04-21 22:20:35 -04:00
|
|
|
this.accountUuids = accountUuids;
|
|
|
|
}
|
2011-09-12 18:08:34 -04:00
|
|
|
|
2010-04-24 15:10:57 -04:00
|
|
|
@Override
|
2011-02-06 17:09:48 -05:00
|
|
|
public String[] getFolderNames() {
|
2010-04-24 15:10:57 -04:00
|
|
|
return folderNames;
|
|
|
|
}
|
2011-09-12 18:08:34 -04:00
|
|
|
|
2011-02-06 17:09:48 -05:00
|
|
|
public void setFolderNames(String[] folderNames) {
|
2010-04-24 15:10:57 -04:00
|
|
|
this.folderNames = folderNames;
|
|
|
|
}
|
2011-01-31 18:45:23 -05:00
|
|
|
}
|