Add 'restore on app install?" to Privacy settings UI
Change-Id: I6fe4b05596881ae26ebf536d9774fb3033aa15f3
This commit is contained in:
@@ -2251,16 +2251,23 @@ found in the list of installed applications.</string>
|
|||||||
<string name="privacy_settings_title">Privacy settings</string>
|
<string name="privacy_settings_title">Privacy settings</string>
|
||||||
<!-- Location settings section title -->
|
<!-- Location settings section title -->
|
||||||
<string name="location_section_title">Location</string>
|
<string name="location_section_title">Location</string>
|
||||||
<!-- Settings section title -->
|
<!-- Backup section title -->
|
||||||
<string name="settings_section_title">Settings</string>
|
<string name="backup_section_title">Backup and Restore</string>
|
||||||
<!-- Personal data section title -->
|
<!-- Personal data section title -->
|
||||||
<string name="personal_data_section_title">Personal data</string>
|
<string name="personal_data_section_title">Personal data</string>
|
||||||
<!-- Backup settings menu title -->
|
<!-- Backup settings menu title -->
|
||||||
<string name="backup_settings_title">Back up my settings</string>
|
<string name="backup_settings_title">Back up my settings</string>
|
||||||
|
<!-- Auto-restore menu title -->
|
||||||
|
<string name="auto_restore_title">Automatic restore</string>
|
||||||
|
<!-- Summary text of the "automatic restore" setting -->
|
||||||
|
<string name="auto_restore_summary">Restore applications\' data from backup when they are installed</string>
|
||||||
<!-- Dialog title for confirmation to erase backup data from server -->
|
<!-- Dialog title for confirmation to erase backup data from server -->
|
||||||
<string name="backup_erase_dialog_title">Settings backup</string>
|
<string name="backup_erase_dialog_title">Backup</string>
|
||||||
<!-- Dialog title for confirmation to erase backup data from server -->
|
<!-- Dialog title for confirmation to erase backup data from server -->
|
||||||
<string name="backup_erase_dialog_message">Are you sure you want to stop backing up your settings and erase all copies on Google servers?</string>
|
<string name="backup_erase_dialog_message">Are you sure you want to stop backing up your settings and application data and erase all copies on Google servers?</string>
|
||||||
|
|
||||||
|
<!-- Do not translate. Obsolete Settings section title - STOPSHIP remove before shipping -->
|
||||||
|
<string name="settings_section_title">Settings</string>
|
||||||
|
|
||||||
<!-- Device admin settings screen --><skip/>
|
<!-- Device admin settings screen --><skip/>
|
||||||
<!-- Device admin settings activity title -->
|
<!-- Device admin settings activity title -->
|
||||||
|
@@ -26,13 +26,18 @@
|
|||||||
android:summary="@string/use_location_summary"/>
|
android:summary="@string/use_location_summary"/>
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
|
||||||
<PreferenceCategory android:key="settings_category"
|
<PreferenceCategory android:key="backup_category"
|
||||||
android:title="@string/settings_section_title">
|
android:title="@string/backup_section_title">
|
||||||
<!-- Backup settings -->
|
<!-- Backup settings -->
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
android:key="backup_settings"
|
android:key="backup_settings"
|
||||||
android:title="@string/backup_settings_title"
|
android:title="@string/backup_settings_title"
|
||||||
android:persistent="false" />
|
android:persistent="false" />
|
||||||
|
<CheckBoxPreference
|
||||||
|
android:key="auto_restore"
|
||||||
|
android:title="@string/auto_restore_title"
|
||||||
|
android:summary="@string/auto_restore_summary"
|
||||||
|
android:persistent="false" />
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
|
||||||
<PreferenceCategory
|
<PreferenceCategory
|
||||||
|
@@ -47,12 +47,14 @@ public class PrivacySettings extends PreferenceActivity implements
|
|||||||
// Vendor specific
|
// Vendor specific
|
||||||
private static final String GSETTINGS_PROVIDER = "com.google.settings";
|
private static final String GSETTINGS_PROVIDER = "com.google.settings";
|
||||||
private static final String LOCATION_CATEGORY = "location_category";
|
private static final String LOCATION_CATEGORY = "location_category";
|
||||||
private static final String SETTINGS_CATEGORY = "settings_category";
|
private static final String BACKUP_CATEGORY = "backup_category";
|
||||||
private static final String USE_LOCATION = "use_location";
|
private static final String USE_LOCATION = "use_location";
|
||||||
private static final String BACKUP_SETTINGS = "backup_settings";
|
private static final String BACKUP_SETTINGS = "backup_settings";
|
||||||
|
private static final String AUTO_RESTORE = "auto_restore";
|
||||||
private static final String KEY_DONE_USE_LOCATION = "doneLocation";
|
private static final String KEY_DONE_USE_LOCATION = "doneLocation";
|
||||||
private CheckBoxPreference mUseLocation;
|
private CheckBoxPreference mUseLocation;
|
||||||
private CheckBoxPreference mBackup;
|
private CheckBoxPreference mBackup;
|
||||||
|
private CheckBoxPreference mAutoRestore;
|
||||||
private boolean mOkClicked;
|
private boolean mOkClicked;
|
||||||
private Dialog mConfirmDialog;
|
private Dialog mConfirmDialog;
|
||||||
|
|
||||||
@@ -64,14 +66,16 @@ public class PrivacySettings extends PreferenceActivity implements
|
|||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
addPreferencesFromResource(R.xml.privacy_settings);
|
addPreferencesFromResource(R.xml.privacy_settings);
|
||||||
|
final PreferenceScreen screen = getPreferenceScreen();
|
||||||
|
|
||||||
mUseLocation = (CheckBoxPreference) getPreferenceScreen().findPreference(USE_LOCATION);
|
mUseLocation = (CheckBoxPreference) screen.findPreference(USE_LOCATION);
|
||||||
mBackup = (CheckBoxPreference) getPreferenceScreen().findPreference(BACKUP_SETTINGS);
|
mBackup = (CheckBoxPreference) screen.findPreference(BACKUP_SETTINGS);
|
||||||
|
mAutoRestore = (CheckBoxPreference) screen.findPreference(AUTO_RESTORE);
|
||||||
|
|
||||||
// Vendor specific
|
// Vendor specific
|
||||||
if (getPackageManager().resolveContentProvider(GSETTINGS_PROVIDER, 0) == null) {
|
if (getPackageManager().resolveContentProvider(GSETTINGS_PROVIDER, 0) == null) {
|
||||||
getPreferenceScreen().removePreference(findPreference(LOCATION_CATEGORY));
|
screen.removePreference(findPreference(LOCATION_CATEGORY));
|
||||||
getPreferenceScreen().removePreference(findPreference(SETTINGS_CATEGORY));
|
screen.removePreference(findPreference(BACKUP_CATEGORY));
|
||||||
}
|
}
|
||||||
updateToggles();
|
updateToggles();
|
||||||
|
|
||||||
@@ -118,6 +122,18 @@ public class PrivacySettings extends PreferenceActivity implements
|
|||||||
} else {
|
} else {
|
||||||
setBackupEnabled(true);
|
setBackupEnabled(true);
|
||||||
}
|
}
|
||||||
|
} else if (preference == mAutoRestore) {
|
||||||
|
IBackupManager bm = IBackupManager.Stub.asInterface(
|
||||||
|
ServiceManager.getService(Context.BACKUP_SERVICE));
|
||||||
|
if (bm != null) {
|
||||||
|
// TODO: disable via the backup manager interface
|
||||||
|
boolean curState = mAutoRestore.isChecked();
|
||||||
|
try {
|
||||||
|
bm.setAutoRestore(curState);
|
||||||
|
} catch (RemoteException e) {
|
||||||
|
mAutoRestore.setChecked(!curState);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
@@ -171,8 +187,14 @@ public class PrivacySettings extends PreferenceActivity implements
|
|||||||
ContentResolver res = getContentResolver();
|
ContentResolver res = getContentResolver();
|
||||||
mUseLocation.setChecked(Settings.Secure.getInt(res,
|
mUseLocation.setChecked(Settings.Secure.getInt(res,
|
||||||
Settings.Secure.USE_LOCATION_FOR_SERVICES, 2) == 1);
|
Settings.Secure.USE_LOCATION_FOR_SERVICES, 2) == 1);
|
||||||
mBackup.setChecked(Settings.Secure.getInt(res,
|
|
||||||
Settings.Secure.BACKUP_ENABLED, 0) == 1);
|
final boolean backupEnabled = Settings.Secure.getInt(res,
|
||||||
|
Settings.Secure.BACKUP_ENABLED, 0) == 1;
|
||||||
|
mBackup.setChecked(backupEnabled);
|
||||||
|
|
||||||
|
mAutoRestore.setChecked(Settings.Secure.getInt(res,
|
||||||
|
Settings.Secure.BACKUP_AUTO_RESTORE, 0) == 1);
|
||||||
|
mAutoRestore.setEnabled(backupEnabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateUseLocation() {
|
private void updateUseLocation() {
|
||||||
@@ -196,6 +218,7 @@ public class PrivacySettings extends PreferenceActivity implements
|
|||||||
mUseLocation.setChecked(false);
|
mUseLocation.setChecked(false);
|
||||||
} else if (mDialogType == DIALOG_ERASE_BACKUP) {
|
} else if (mDialogType == DIALOG_ERASE_BACKUP) {
|
||||||
mBackup.setChecked(true);
|
mBackup.setChecked(true);
|
||||||
|
mAutoRestore.setEnabled(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
updateUseLocation();
|
updateUseLocation();
|
||||||
@@ -248,9 +271,11 @@ public class PrivacySettings extends PreferenceActivity implements
|
|||||||
bm.setBackupEnabled(enable);
|
bm.setBackupEnabled(enable);
|
||||||
} catch (RemoteException e) {
|
} catch (RemoteException e) {
|
||||||
mBackup.setChecked(!enable);
|
mBackup.setChecked(!enable);
|
||||||
|
mAutoRestore.setEnabled(!enable);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
mBackup.setChecked(enable);
|
mBackup.setChecked(enable);
|
||||||
|
mAutoRestore.setEnabled(enable);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user