Methods Summary |
---|
public void | delete(Preferences preferences)
String[] uuids = preferences.mSharedPreferences.getString("accountUuids", "").split(",");
StringBuffer sb = new StringBuffer();
for (int i = 0, length = uuids.length; i < length; i++) {
if (!uuids[i].equals(mUuid)) {
if (sb.length() > 0) {
sb.append(',");
}
sb.append(uuids[i]);
}
}
String accountUuids = sb.toString();
SharedPreferences.Editor editor = preferences.mSharedPreferences.edit();
editor.putString("accountUuids", accountUuids);
editor.remove(mUuid + ".storeUri");
editor.remove(mUuid + ".localStoreUri");
editor.remove(mUuid + ".senderUri");
editor.remove(mUuid + ".description");
editor.remove(mUuid + ".name");
editor.remove(mUuid + ".email");
editor.remove(mUuid + ".automaticCheckIntervalMinutes");
editor.remove(mUuid + ".lastAutomaticCheckTime");
editor.remove(mUuid + ".notifyNewMail");
editor.remove(mUuid + ".deletePolicy");
editor.remove(mUuid + ".draftsFolderName");
editor.remove(mUuid + ".sentFolderName");
editor.remove(mUuid + ".trashFolderName");
editor.remove(mUuid + ".outboxFolderName");
editor.remove(mUuid + ".accountNumber");
editor.remove(mUuid + ".vibrate");
editor.remove(mUuid + ".ringtone");
// also delete any deprecated fields
editor.remove(mUuid + ".transportUri");
editor.commit();
|
public boolean | equals(java.lang.Object o)
if (o instanceof Account) {
return ((Account)o).mUuid.equals(mUuid);
}
return super.equals(o);
|
public int | getAccountNumber()
return mAccountNumber;
|
public int | getAutomaticCheckIntervalMinutes()Returns -1 for never.
return mAutomaticCheckIntervalMinutes;
|
public android.net.Uri | getContentUri()
return Uri.parse("content://accounts/" + getUuid());
|
public int | getDeletePolicy()
return mDeletePolicy;
|
public java.lang.String | getDescription()
return mDescription;
|
public java.lang.String | getDraftsFolderName()
return mDraftsFolderName;
|
public java.lang.String | getEmail()
return mEmail;
|
public long | getLastAutomaticCheckTime()
return mLastAutomaticCheckTime;
|
public java.lang.String | getLocalStoreUri()
return mLocalStoreUri;
|
public java.lang.String | getName()
return mName;
|
public java.lang.String | getOutboxFolderName()
return mOutboxFolderName;
|
public java.lang.String | getRingtone()
return mRingtoneUri;
|
public java.lang.String | getSenderUri()
return mSenderUri;
|
public java.lang.String | getSentFolderName()
return mSentFolderName;
|
public java.lang.String | getStoreUri()
return mStoreUri;
|
public java.lang.String | getTrashFolderName()
return mTrashFolderName;
|
public java.lang.String | getUuid()
return mUuid;
|
public boolean | isNotifyNewMail()
return mNotifyNewMail;
|
public boolean | isVibrate()
return mVibrate;
|
public void | refresh(Preferences preferences)Refresh the account from the stored settings.
mStoreUri = Utility.base64Decode(preferences.mSharedPreferences.getString(mUuid
+ ".storeUri", null));
mLocalStoreUri = preferences.mSharedPreferences.getString(mUuid + ".localStoreUri", null);
String senderText = preferences.mSharedPreferences.getString(mUuid + ".senderUri", null);
if (senderText == null) {
// Preference ".senderUri" was called ".transportUri" in earlier versions, so we'll
// do a simple upgrade here when necessary.
senderText = preferences.mSharedPreferences.getString(mUuid + ".transportUri", null);
}
mSenderUri = Utility.base64Decode(senderText);
mDescription = preferences.mSharedPreferences.getString(mUuid + ".description", null);
mName = preferences.mSharedPreferences.getString(mUuid + ".name", mName);
mEmail = preferences.mSharedPreferences.getString(mUuid + ".email", mEmail);
mAutomaticCheckIntervalMinutes = preferences.mSharedPreferences.getInt(mUuid
+ ".automaticCheckIntervalMinutes", -1);
mLastAutomaticCheckTime = preferences.mSharedPreferences.getLong(mUuid
+ ".lastAutomaticCheckTime", 0);
mNotifyNewMail = preferences.mSharedPreferences.getBoolean(mUuid + ".notifyNewMail",
false);
// delete policy was incorrectly set on earlier versions, so we'll upgrade it here.
// rule: if IMAP account and policy = 0 ("never"), change policy to 2 ("on delete")
mDeletePolicy = preferences.mSharedPreferences.getInt(mUuid + ".deletePolicy", 0);
if (mDeletePolicy == DELETE_POLICY_NEVER &&
mStoreUri != null && mStoreUri.toString().startsWith(Store.STORE_SCHEME_IMAP)) {
mDeletePolicy = DELETE_POLICY_ON_DELETE;
}
mDraftsFolderName = preferences.mSharedPreferences.getString(mUuid + ".draftsFolderName",
"Drafts");
mSentFolderName = preferences.mSharedPreferences.getString(mUuid + ".sentFolderName",
"Sent");
mTrashFolderName = preferences.mSharedPreferences.getString(mUuid + ".trashFolderName",
"Trash");
mOutboxFolderName = preferences.mSharedPreferences.getString(mUuid + ".outboxFolderName",
"Outbox");
mAccountNumber = preferences.mSharedPreferences.getInt(mUuid + ".accountNumber", 0);
mVibrate = preferences.mSharedPreferences.getBoolean(mUuid + ".vibrate", false);
mRingtoneUri = preferences.mSharedPreferences.getString(mUuid + ".ringtone",
"content://settings/system/notification_sound");
|
public void | save(Preferences preferences)
if (!preferences.mSharedPreferences.getString("accountUuids", "").contains(mUuid)) {
/*
* When the account is first created we assign it a unique account number. The
* account number will be unique to that account for the lifetime of the account.
* So, we get all the existing account numbers, sort them ascending, loop through
* the list and check if the number is greater than 1 + the previous number. If so
* we use the previous number + 1 as the account number. This refills gaps.
* mAccountNumber starts as -1 on a newly created account. It must be -1 for this
* algorithm to work.
*
* I bet there is a much smarter way to do this. Anyone like to suggest it?
*/
Account[] accounts = preferences.getAccounts();
int[] accountNumbers = new int[accounts.length];
for (int i = 0; i < accounts.length; i++) {
accountNumbers[i] = accounts[i].getAccountNumber();
}
Arrays.sort(accountNumbers);
for (int accountNumber : accountNumbers) {
if (accountNumber > mAccountNumber + 1) {
break;
}
mAccountNumber = accountNumber;
}
mAccountNumber++;
String accountUuids = preferences.mSharedPreferences.getString("accountUuids", "");
accountUuids += (accountUuids.length() != 0 ? "," : "") + mUuid;
SharedPreferences.Editor editor = preferences.mSharedPreferences.edit();
editor.putString("accountUuids", accountUuids);
editor.commit();
}
SharedPreferences.Editor editor = preferences.mSharedPreferences.edit();
editor.putString(mUuid + ".storeUri", Utility.base64Encode(mStoreUri));
editor.putString(mUuid + ".localStoreUri", mLocalStoreUri);
editor.putString(mUuid + ".senderUri", Utility.base64Encode(mSenderUri));
editor.putString(mUuid + ".description", mDescription);
editor.putString(mUuid + ".name", mName);
editor.putString(mUuid + ".email", mEmail);
editor.putInt(mUuid + ".automaticCheckIntervalMinutes", mAutomaticCheckIntervalMinutes);
editor.putLong(mUuid + ".lastAutomaticCheckTime", mLastAutomaticCheckTime);
editor.putBoolean(mUuid + ".notifyNewMail", mNotifyNewMail);
editor.putInt(mUuid + ".deletePolicy", mDeletePolicy);
editor.putString(mUuid + ".draftsFolderName", mDraftsFolderName);
editor.putString(mUuid + ".sentFolderName", mSentFolderName);
editor.putString(mUuid + ".trashFolderName", mTrashFolderName);
editor.putString(mUuid + ".outboxFolderName", mOutboxFolderName);
editor.putInt(mUuid + ".accountNumber", mAccountNumber);
editor.putBoolean(mUuid + ".vibrate", mVibrate);
editor.putString(mUuid + ".ringtone", mRingtoneUri);
// also delete any deprecated fields
editor.remove(mUuid + ".transportUri");
editor.commit();
|
public void | setAutomaticCheckIntervalMinutes(int automaticCheckIntervalMinutes)
this.mAutomaticCheckIntervalMinutes = automaticCheckIntervalMinutes;
|
public void | setDeletePolicy(int deletePolicy)
this.mDeletePolicy = deletePolicy;
|
public void | setDescription(java.lang.String description)
this.mDescription = description;
|
public void | setDraftsFolderName(java.lang.String draftsFolderName)
mDraftsFolderName = draftsFolderName;
|
public void | setEmail(java.lang.String email)
this.mEmail = email;
|
public void | setLastAutomaticCheckTime(long lastAutomaticCheckTime)
this.mLastAutomaticCheckTime = lastAutomaticCheckTime;
|
public void | setLocalStoreUri(java.lang.String localStoreUri)
this.mLocalStoreUri = localStoreUri;
|
public void | setName(java.lang.String name)
this.mName = name;
|
public void | setNotifyNewMail(boolean notifyNewMail)
this.mNotifyNewMail = notifyNewMail;
|
public void | setOutboxFolderName(java.lang.String outboxFolderName)
mOutboxFolderName = outboxFolderName;
|
public void | setRingtone(java.lang.String ringtoneUri)
mRingtoneUri = ringtoneUri;
|
public void | setSenderUri(java.lang.String senderUri)
this.mSenderUri = senderUri;
|
public void | setSentFolderName(java.lang.String sentFolderName)
mSentFolderName = sentFolderName;
|
public void | setStoreUri(java.lang.String storeUri)
this.mStoreUri = storeUri;
|
public void | setTrashFolderName(java.lang.String trashFolderName)
mTrashFolderName = trashFolderName;
|
public void | setVibrate(boolean vibrate)
mVibrate = vibrate;
|
public java.lang.String | toString()
return mDescription;
|