summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/PrivacySettings.java
diff options
context:
space:
mode:
authorFabrice Di Meglio <fdimeglio@google.com>2011-01-09 19:56:51 -0800
committerFabrice Di Meglio <fdimeglio@google.com>2011-01-12 13:37:40 -0800
commit70bc797a926abdf14bc0d34d9b49a066663fbca7 (patch)
treec9421b75f3c2b33d0618bab1bb27dedcf5188862 /src/com/android/settings/PrivacySettings.java
parent7da8cae44b622518fbffd6d265f291c39e9fc722 (diff)
downloadpackages_apps_Settings-70bc797a926abdf14bc0d34d9b49a066663fbca7.zip
packages_apps_Settings-70bc797a926abdf14bc0d34d9b49a066663fbca7.tar.gz
packages_apps_Settings-70bc797a926abdf14bc0d34d9b49a066663fbca7.tar.bz2
Fix bug #2987804 (Provide a better UI for selecting the Backup account)
- make the "Backup account" toggle follow the state of "Back up my data" - reset Backup account in preferences if needed Change-Id: Ifdffb9d268a062f6f5ec617bca82699cc46e2b3a
Diffstat (limited to 'src/com/android/settings/PrivacySettings.java')
-rw-r--r--src/com/android/settings/PrivacySettings.java39
1 files changed, 29 insertions, 10 deletions
diff --git a/src/com/android/settings/PrivacySettings.java b/src/com/android/settings/PrivacySettings.java
index 9ada710..28dc93a 100644
--- a/src/com/android/settings/PrivacySettings.java
+++ b/src/com/android/settings/PrivacySettings.java
@@ -50,7 +50,7 @@ public class PrivacySettings extends SettingsPreferenceFragment implements
private PreferenceScreen mConfigure;
private static final int DIALOG_ERASE_BACKUP = 2;
- private int mDialogType;
+ private int mDialogType;
@Override
public void onCreate(Bundle savedInstanceState) {
@@ -74,6 +74,14 @@ public class PrivacySettings extends SettingsPreferenceFragment implements
}
@Override
+ public void onResume() {
+ super.onResume();
+
+ // Refresh UI
+ updateToggles();
+ }
+
+ @Override
public void onStop() {
if (mConfirmDialog != null && mConfirmDialog.isShowing()) {
mConfirmDialog.dismiss();
@@ -105,7 +113,6 @@ public class PrivacySettings extends SettingsPreferenceFragment implements
}
}
}
-
return super.onPreferenceTreeClick(preferenceScreen, preference);
}
@@ -147,25 +154,36 @@ public class PrivacySettings extends SettingsPreferenceFragment implements
Settings.Secure.BACKUP_AUTO_RESTORE, 1) == 1);
mAutoRestore.setEnabled(backupEnabled);
- mConfigure.setEnabled(configIntent != null);
+ final boolean configureEnabled = (configIntent != null) && backupEnabled;
+ mConfigure.setEnabled(configureEnabled);
mConfigure.setIntent(configIntent);
- if (configSummary != null) {
- mConfigure.setSummary(configSummary);
+ setConfigureSummary(configSummary);
+ }
+
+ private void setConfigureSummary(String summary) {
+ if (summary != null) {
+ mConfigure.setSummary(summary);
} else {
mConfigure.setSummary(R.string.backup_configure_account_default_summary);
}
}
+ private void updateConfigureSummary() {
+ try {
+ String transport = mBackupManager.getCurrentTransport();
+ String summary = mBackupManager.getDestinationString(transport);
+ setConfigureSummary(summary);
+ } catch (RemoteException e) {
+ // Not much we can do here
+ }
+ }
+
public void onClick(DialogInterface dialog, int which) {
if (which == DialogInterface.BUTTON_POSITIVE) {
//updateProviders();
if (mDialogType == DIALOG_ERASE_BACKUP) {
setBackupEnabled(false);
- }
- } else {
- if (mDialogType == DIALOG_ERASE_BACKUP) {
- mBackup.setChecked(true);
- mAutoRestore.setEnabled(true);
+ updateConfigureSummary();
}
}
mDialogType = 0;
@@ -188,5 +206,6 @@ public class PrivacySettings extends SettingsPreferenceFragment implements
}
mBackup.setChecked(enable);
mAutoRestore.setEnabled(enable);
+ mConfigure.setEnabled(enable);
}
}