diff options
author | Amith Yamasani <yamasani@google.com> | 2012-06-06 20:23:08 -0700 |
---|---|---|
committer | Amith Yamasani <yamasani@google.com> | 2012-06-06 20:55:40 -0700 |
commit | 86708a8a6da3d2da4547750ce67a89744a2878a1 (patch) | |
tree | 119df8c219af6692a73b134717cb4bd32cb4dc0f /src/com/android/settings/Settings.java | |
parent | 6a5e0252ce383654e304ffd0bca09ced0cadc0a3 (diff) | |
download | packages_apps_Settings-86708a8a6da3d2da4547750ce67a89744a2878a1.tar.gz packages_apps_Settings-86708a8a6da3d2da4547750ce67a89744a2878a1.tar.bz2 packages_apps_Settings-86708a8a6da3d2da4547750ce67a89744a2878a1.zip |
Add back a SYNC_SETTINGS screen
Revive the old Accounts&Sync screen as a dialog with the auto-sync
checkbox and a list of accounts. This will be launched when Apps
request a SYNC_SETTINGS page for controlling account and master sync.
Auto-sync data checkbox will also continue to exist in Data Usage.
Minor fixes to account list and account update monitoring.
Bug: 6614013
Bug: 6622995
Bug: 6610247
Change-Id: I35c0919a29c6bc7e5edf64f2734a3ef4f5ae5e7a
Diffstat (limited to 'src/com/android/settings/Settings.java')
-rw-r--r-- | src/com/android/settings/Settings.java | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java index 353bc3a69..50019a339 100644 --- a/src/com/android/settings/Settings.java +++ b/src/com/android/settings/Settings.java @@ -112,6 +112,7 @@ public class Settings extends PreferenceActivity private AuthenticatorHelper mAuthenticatorHelper; private Header mLastHeader; + private boolean mListeningToAccountUpdates; @Override protected void onCreate(Bundle savedInstanceState) { @@ -187,7 +188,6 @@ public class Settings extends PreferenceActivity ListAdapter listAdapter = getListAdapter(); if (listAdapter instanceof HeaderAdapter) { ((HeaderAdapter) listAdapter).resume(); - AccountManager.get(this).addOnAccountsUpdatedListener(this, null, true); } } @@ -198,6 +198,13 @@ public class Settings extends PreferenceActivity ListAdapter listAdapter = getListAdapter(); if (listAdapter instanceof HeaderAdapter) { ((HeaderAdapter) listAdapter).pause(); + } + } + + @Override + public void onDestroy() { + super.onDestroy(); + if (mListeningToAccountUpdates) { AccountManager.get(this).removeOnAccountsUpdatedListener(this); } } @@ -462,6 +469,10 @@ public class Settings extends PreferenceActivity for (Header header : accountHeaders) { target.add(headerIndex++, header); } + if (!mListeningToAccountUpdates) { + AccountManager.get(this).addOnAccountsUpdatedListener(this, null, true); + mListeningToAccountUpdates = true; + } return headerIndex; } |