diff --git a/res/xml/privacy_settings.xml b/res/xml/privacy_settings.xml
index f67c837fd50..5e8d4a3d35b 100644
--- a/res/xml/privacy_settings.xml
+++ b/res/xml/privacy_settings.xml
@@ -33,6 +33,11 @@
+
+
+
keysToRemove = new HashSet<>();
getNonVisibleKeys(getActivity(), keysToRemove);
@@ -146,11 +149,15 @@ public class PrivacySettings extends SettingsPreferenceFragment implements Index
boolean backupEnabled = false;
Intent configIntent = null;
String configSummary = null;
+ Intent manageIntent = null;
+ String manageLabel = null;
try {
backupEnabled = mBackupManager.isBackupEnabled();
String transport = mBackupManager.getCurrentTransport();
configIntent = mBackupManager.getConfigurationIntent(transport);
configSummary = mBackupManager.getDestinationString(transport);
+ manageIntent = mBackupManager.getDataManagementIntent(transport);
+ manageLabel = mBackupManager.getDataManagementLabel(transport);
mBackup.setSummary(backupEnabled
? R.string.accessibility_feature_state_on
@@ -169,6 +176,17 @@ public class PrivacySettings extends SettingsPreferenceFragment implements Index
mConfigure.setIntent(configIntent);
setConfigureSummary(configSummary);
+ final boolean manageEnabled = (manageIntent != null) && backupEnabled;
+ if (manageEnabled) {
+ mManageData.setIntent(manageIntent);
+ if (manageLabel != null) {
+ mManageData.setTitle(manageLabel);
+ }
+ } else {
+ // Hide the item if data management intent is not supported by transport.
+ getPreferenceScreen().removePreference(mManageData);
+ }
+
RestrictedPreference networkResetPref = (RestrictedPreference) findPreference(
NETWORK_RESET);
if (networkResetPref != null) {