Allow the user to change the BackupTransport
Set the following config overlays to activate this feature:
* config_backup_settings_intent to settings://com.android.settings.backup.transport
* config_backup_settings_label to some user-facing label
e.g. Change backup provider
* config_ignored_backup_transports to hide transports from the list
Co-authored-by: Michael Bestas <mkbestas@lineageos.org>
Co-authored-by: Michael W <baddaemon87@gmail.com>
Change-Id: I080d96e2c34045a0e61f3fa1b839f463550f2028
diff --git a/src/com/android/settings/backup/BackupSettingsPreferenceController.java b/src/com/android/settings/backup/BackupSettingsPreferenceController.java
index 4e0e3b4..3208ae4 100644
--- a/src/com/android/settings/backup/BackupSettingsPreferenceController.java
+++ b/src/com/android/settings/backup/BackupSettingsPreferenceController.java
@@ -30,24 +30,24 @@
implements PreferenceControllerMixin {
private static final String BACKUP_SETTINGS = "backup_settings";
private static final String MANUFACTURER_SETTINGS = "manufacturer_backup";
- private Intent mBackupSettingsIntent;
- private CharSequence mBackupSettingsTitle;
- private String mBackupSettingsSummary;
+ private final BackupSettingsHelper settingsHelper;
private Intent mManufacturerIntent;
private String mManufacturerLabel;
public BackupSettingsPreferenceController(Context context) {
super(context);
- BackupSettingsHelper settingsHelper = new BackupSettingsHelper(context);
- mBackupSettingsIntent = settingsHelper.getIntentForBackupSettings();
- mBackupSettingsTitle = settingsHelper.getLabelForBackupSettings();
- mBackupSettingsSummary = settingsHelper.getSummaryForBackupSettings();
+ settingsHelper = new BackupSettingsHelper(context);
mManufacturerIntent = settingsHelper.getIntentProvidedByManufacturer();
mManufacturerLabel = settingsHelper.getLabelProvidedByManufacturer();
}
@Override
public void displayPreference(PreferenceScreen screen) {
+ // we don't get these in the constructor, so we can get updates for them later
+ Intent mBackupSettingsIntent = settingsHelper.getIntentForBackupSettings();
+ CharSequence mBackupSettingsTitle = settingsHelper.getLabelForBackupSettings();
+ String mBackupSettingsSummary = settingsHelper.getSummaryForBackupSettings();
+
Preference backupSettings = screen.findPreference(BACKUP_SETTINGS);
Preference manufacturerSettings = screen.findPreference(MANUFACTURER_SETTINGS);
backupSettings.setIntent(mBackupSettingsIntent);