mirror of
https://github.com/moparisthebest/k-9
synced 2025-02-15 06:30:17 -05:00
Persist account settings immediately after updating from EasStore.
This commit is contained in:
parent
a212965b99
commit
0292ad2525
@ -676,7 +676,36 @@ public class Account implements BaseAccount {
|
|||||||
saveIdentities(preferences.getPreferences(), editor);
|
saveIdentities(preferences.getPreferences(), editor);
|
||||||
|
|
||||||
editor.commit();
|
editor.commit();
|
||||||
|
}
|
||||||
|
|
||||||
|
public synchronized void saveFolderNames(Preferences preferences) {
|
||||||
|
if (preferences.getPreferences().getString("accountUuids", "").contains(mUuid)) {
|
||||||
|
SharedPreferences.Editor editor = preferences.getPreferences().edit();
|
||||||
|
editor.putString(mUuid + ".inboxFolderName", mInboxFolderName);
|
||||||
|
editor.putString(mUuid + ".draftsFolderName", mDraftsFolderName);
|
||||||
|
editor.putString(mUuid + ".sentFolderName", mSentFolderName);
|
||||||
|
editor.putString(mUuid + ".trashFolderName", mTrashFolderName);
|
||||||
|
editor.putString(mUuid + ".archiveFolderName", mArchiveFolderName);
|
||||||
|
editor.putString(mUuid + ".spamFolderName", mSpamFolderName);
|
||||||
|
editor.putString(mUuid + ".autoExpandFolderName", mAutoExpandFolderName);
|
||||||
|
editor.commit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public synchronized void saveSyncKey(Preferences preferences) {
|
||||||
|
if (preferences.getPreferences().getString("accountUuids", "").contains(mUuid)) {
|
||||||
|
SharedPreferences.Editor editor = preferences.getPreferences().edit();
|
||||||
|
editor.putString(mUuid + ".syncKey", mSyncKey);
|
||||||
|
editor.commit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public synchronized void saveSecurityKey(Preferences preferences) {
|
||||||
|
if (preferences.getPreferences().getString("accountUuids", "").contains(mUuid)) {
|
||||||
|
SharedPreferences.Editor editor = preferences.getPreferences().edit();
|
||||||
|
editor.putString(mUuid + ".securityKey", mSecurityKey);
|
||||||
|
editor.commit();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void resetVisibleLimits() {
|
public void resetVisibleLimits() {
|
||||||
|
@ -46,6 +46,7 @@ import android.util.Log;
|
|||||||
|
|
||||||
import com.fsck.k9.Account;
|
import com.fsck.k9.Account;
|
||||||
import com.fsck.k9.K9;
|
import com.fsck.k9.K9;
|
||||||
|
import com.fsck.k9.Preferences;
|
||||||
import com.fsck.k9.controller.MessageRetrievalListener;
|
import com.fsck.k9.controller.MessageRetrievalListener;
|
||||||
import com.fsck.k9.helper.power.TracingPowerManager;
|
import com.fsck.k9.helper.power.TracingPowerManager;
|
||||||
import com.fsck.k9.helper.power.TracingPowerManager.TracingWakeLock;
|
import com.fsck.k9.helper.power.TracingPowerManager.TracingWakeLock;
|
||||||
@ -310,7 +311,7 @@ public class EasStore extends Store {
|
|||||||
// Set the default sync key if it has not yet been set.
|
// Set the default sync key if it has not yet been set.
|
||||||
if (TextUtils.isEmpty(key)) {
|
if (TextUtils.isEmpty(key)) {
|
||||||
key = INITIAL_SYNC_KEY;
|
key = INITIAL_SYNC_KEY;
|
||||||
mAccount.setSyncKey(key);
|
setStoreSyncKey(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
return key;
|
return key;
|
||||||
@ -318,6 +319,7 @@ public class EasStore extends Store {
|
|||||||
|
|
||||||
public void setStoreSyncKey(String syncKey) {
|
public void setStoreSyncKey(String syncKey) {
|
||||||
mAccount.setSyncKey(syncKey);
|
mAccount.setSyncKey(syncKey);
|
||||||
|
mAccount.saveSyncKey(Preferences.getPreferences(K9.app.getApplicationContext()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -814,23 +816,25 @@ public class EasStore extends Store {
|
|||||||
switch (type) {
|
switch (type) {
|
||||||
case FolderSyncParser.INBOX_TYPE:
|
case FolderSyncParser.INBOX_TYPE:
|
||||||
String inboxFolderName = folder.getRemoteName();
|
String inboxFolderName = folder.getRemoteName();
|
||||||
this.mAccount.setAutoExpandFolderName(inboxFolderName);
|
mAccount.setAutoExpandFolderName(inboxFolderName);
|
||||||
this.mAccount.setInboxFolderName(inboxFolderName);
|
mAccount.setInboxFolderName(inboxFolderName);
|
||||||
break;
|
break;
|
||||||
case FolderSyncParser.DRAFTS_TYPE:
|
case FolderSyncParser.DRAFTS_TYPE:
|
||||||
this.mAccount.setDraftsFolderName(folder.getRemoteName());
|
mAccount.setDraftsFolderName(folder.getRemoteName());
|
||||||
break;
|
break;
|
||||||
case FolderSyncParser.DELETED_TYPE:
|
case FolderSyncParser.DELETED_TYPE:
|
||||||
this.mAccount.setTrashFolderName(folder.getRemoteName());
|
mAccount.setTrashFolderName(folder.getRemoteName());
|
||||||
break;
|
break;
|
||||||
case FolderSyncParser.SENT_TYPE:
|
case FolderSyncParser.SENT_TYPE:
|
||||||
this.mAccount.setSentFolderName(folder.getRemoteName());
|
mAccount.setSentFolderName(folder.getRemoteName());
|
||||||
break;
|
break;
|
||||||
case FolderSyncParser.OUTBOX_TYPE:
|
case FolderSyncParser.OUTBOX_TYPE:
|
||||||
// outbox folder is not synced
|
// Outbox folder is not synced.
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mAccount.saveFolderNames(Preferences.getPreferences(K9.app.getApplicationContext()));
|
||||||
|
|
||||||
return folderList;
|
return folderList;
|
||||||
}
|
}
|
||||||
@ -842,6 +846,7 @@ public class EasStore extends Store {
|
|||||||
if (pp != null) {
|
if (pp != null) {
|
||||||
String policyKey = acknowledgeProvision(pp.getPolicyKey(), PROVISION_STATUS_OK);
|
String policyKey = acknowledgeProvision(pp.getPolicyKey(), PROVISION_STATUS_OK);
|
||||||
mAccount.setSecurityKey(policyKey);
|
mAccount.setSecurityKey(policyKey);
|
||||||
|
mAccount.saveSyncKey(Preferences.getPreferences(K9.app.getApplicationContext()));
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
|
Loading…
Reference in New Issue
Block a user