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) {