Add a screen to show OEM backup settings.
Moves the backup settings logic to BackupSettingsHelper and
BackupSettingsActivity:
- If the manufacturer provides the intent and the label for their backup
settings in the config.xml, a new intermediate fragment is shown for
Backup settings to let the user pick either standard backup settings or
OEM provided backup settings.
- If config.xml doesn't contain the intent, BackupSettingsActivity is
used as a trampoline activity to launch backup settings provided by the
backup transport of the default backup settings activity, i.e.
PrivacySettingsActivity.
Bug: 34700410
Bug: 33655074
Bug: 33654991
Test: make RunSettingsRoboTests
Change-Id: I78e340fbf926b2a9dc2c4e3942f9337c3c7a933c
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index c01e4c4..c2060ce 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -54,6 +54,7 @@
import com.android.internal.util.ArrayUtils;
import com.android.settings.Settings.WifiSettingsActivity;
+import com.android.settings.backup.BackupSettingsActivity;
import com.android.settings.core.gateway.SettingsGateway;
import com.android.settings.core.instrumentation.SharedPreferencesLogger;
import com.android.settings.dashboard.DashboardContainerFragment;
@@ -965,29 +966,11 @@
}
}
- String backupIntent = getResources().getString(R.string.config_backup_settings_intent);
- boolean useDefaultBackup = TextUtils.isEmpty(backupIntent);
+ // Enable/disable backup settings depending on whether the user is admin.
setTileEnabled(new ComponentName(packageName,
- Settings.PrivacySettingsActivity.class.getName()), useDefaultBackup, isAdmin);
+ BackupSettingsActivity.class.getName()), true, isAdmin);
setTileEnabled(new ComponentName(packageName,
- "com.android.settings.PrivacyDashboardAlias"),
- useDefaultBackup, isAdmin);
-
- boolean hasBackupActivity = false;
- if (!useDefaultBackup) {
- try {
- Intent intent = Intent.parseUri(backupIntent, 0);
- hasBackupActivity = !getPackageManager().queryIntentActivities(intent, 0).isEmpty();
- } catch (URISyntaxException e) {
- Log.e(LOG_TAG, "Invalid backup intent URI!", e);
- }
- }
-
- // Enable/disable BackupSettingsActivity and its alias.
- setTileEnabled(new ComponentName(packageName,
- BackupSettingsActivity.class.getName()), hasBackupActivity, isAdmin);
- setTileEnabled(new ComponentName(packageName,
- "com.android.settings.BackupResetDashboardAlias"), hasBackupActivity, isAdmin);
+ "com.android.settings.BackupResetDashboardAlias"), true, isAdmin);
setTileEnabled(new ComponentName(packageName,
Settings.EnterprisePrivacySettingsActivity.class.getName()),