From ae5369927736e6982c2eabef74de815942cc72e4 Mon Sep 17 00:00:00 2001 From: Annie Meng Date: Fri, 15 Mar 2019 12:29:27 +0000 Subject: [PATCH] Use new dataManagementLabel AIDL in Backup Settings 1) Uses new AIDL method getDataManagementLabelForUser 2) Changes data management label type from String to CharSequence Bug: 113856654 Test: atest $(find \ packages/apps/Settings/tests/robotests/src/com/android/settings/backup \ -name '*Test.java') Change-Id: I2325527c67878467b96fb93de50faafe153fdb21 --- .../settings/backup/BackupSettingsHelper.java | 14 +++++----- .../BackupSettingsPreferenceController.java | 2 +- .../DataManagementPreferenceController.java | 2 +- .../backup/PrivacySettingsConfigData.java | 6 ++--- .../settings/backup/PrivacySettingsUtils.java | 3 ++- .../backup/BackupSettingsHelperTest.java | 27 ++++++++++--------- ...ataManagementPreferenceControllerTest.java | 2 +- 7 files changed, 30 insertions(+), 26 deletions(-) diff --git a/src/com/android/settings/backup/BackupSettingsHelper.java b/src/com/android/settings/backup/BackupSettingsHelper.java index b836e55a9cf..1d3455b1495 100644 --- a/src/com/android/settings/backup/BackupSettingsHelper.java +++ b/src/com/android/settings/backup/BackupSettingsHelper.java @@ -25,6 +25,7 @@ import android.os.RemoteException; import android.os.ServiceManager; import android.os.UserHandle; import android.os.UserManager; +import android.text.TextUtils; import android.util.Log; import androidx.annotation.VisibleForTesting; @@ -91,9 +92,9 @@ public class BackupSettingsHelper { * * @return Label for the backup settings item. */ - public String getLabelForBackupSettings() { - String label = getLabelFromBackupTransport(); - if (label == null || label.isEmpty()) { + public CharSequence getLabelForBackupSettings() { + CharSequence label = getLabelFromBackupTransport(); + if (TextUtils.isEmpty(label)) { label = mContext.getString(R.string.privacy_settings_title); } return label; @@ -222,10 +223,11 @@ public class BackupSettingsHelper { } @VisibleForTesting - String getLabelFromBackupTransport() { + CharSequence getLabelFromBackupTransport() { try { - String label = - mBackupManager.getDataManagementLabel(mBackupManager.getCurrentTransport()); + CharSequence label = + mBackupManager.getDataManagementLabelForUser( + UserHandle.myUserId(), mBackupManager.getCurrentTransport()); if (Log.isLoggable(TAG, Log.DEBUG)) { Log.d(TAG, "Received the backup settings label from backup transport: " + label); } diff --git a/src/com/android/settings/backup/BackupSettingsPreferenceController.java b/src/com/android/settings/backup/BackupSettingsPreferenceController.java index 2a657eabb9f..4e0e3b4e748 100644 --- a/src/com/android/settings/backup/BackupSettingsPreferenceController.java +++ b/src/com/android/settings/backup/BackupSettingsPreferenceController.java @@ -31,7 +31,7 @@ public class BackupSettingsPreferenceController extends AbstractPreferenceContro private static final String BACKUP_SETTINGS = "backup_settings"; private static final String MANUFACTURER_SETTINGS = "manufacturer_backup"; private Intent mBackupSettingsIntent; - private String mBackupSettingsTitle; + private CharSequence mBackupSettingsTitle; private String mBackupSettingsSummary; private Intent mManufacturerIntent; private String mManufacturerLabel; diff --git a/src/com/android/settings/backup/DataManagementPreferenceController.java b/src/com/android/settings/backup/DataManagementPreferenceController.java index d19b8668a7a..34d51ac3cba 100644 --- a/src/com/android/settings/backup/DataManagementPreferenceController.java +++ b/src/com/android/settings/backup/DataManagementPreferenceController.java @@ -48,7 +48,7 @@ public class DataManagementPreferenceController extends BasePreferenceController return; } preference.setIntent(mPSCD.getManageIntent()); - final String manageLabel = mPSCD.getManageLabel(); + final CharSequence manageLabel = mPSCD.getManageLabel(); if (manageLabel != null) { preference.setTitle(manageLabel); } diff --git a/src/com/android/settings/backup/PrivacySettingsConfigData.java b/src/com/android/settings/backup/PrivacySettingsConfigData.java index ffe05b85597..8bea11b9d54 100644 --- a/src/com/android/settings/backup/PrivacySettingsConfigData.java +++ b/src/com/android/settings/backup/PrivacySettingsConfigData.java @@ -27,7 +27,7 @@ public class PrivacySettingsConfigData { private Intent mConfigIntent; private String mConfigSummary; private Intent mManageIntent; - private String mManageLabel; + private CharSequence mManageLabel; private PrivacySettingsConfigData() { mBackupEnabled = false; @@ -85,11 +85,11 @@ public class PrivacySettingsConfigData { mManageIntent = manageIntent; } - public String getManageLabel() { + public CharSequence getManageLabel() { return mManageLabel; } - public void setManageLabel(final String manageLabel) { + public void setManageLabel(final CharSequence manageLabel) { mManageLabel = manageLabel; } } diff --git a/src/com/android/settings/backup/PrivacySettingsUtils.java b/src/com/android/settings/backup/PrivacySettingsUtils.java index f8f21ddeef1..bb1108c56d8 100644 --- a/src/com/android/settings/backup/PrivacySettingsUtils.java +++ b/src/com/android/settings/backup/PrivacySettingsUtils.java @@ -97,7 +97,8 @@ public class PrivacySettingsUtils { data.setConfigSummary(backupManager.getDestinationString(transport)); data.setManageIntent(validatedActivityIntent(context, backupManager.getDataManagementIntent(transport), "management")); - data.setManageLabel(backupManager.getDataManagementLabel(transport)); + data.setManageLabel( + backupManager.getDataManagementLabelForUser(UserHandle.myUserId(), transport)); data.setBackupGray(false); } catch (RemoteException e) { // leave it 'false' and disable the UI; there's no backup manager diff --git a/tests/robotests/src/com/android/settings/backup/BackupSettingsHelperTest.java b/tests/robotests/src/com/android/settings/backup/BackupSettingsHelperTest.java index 55877832772..b6ef32c5e9f 100644 --- a/tests/robotests/src/com/android/settings/backup/BackupSettingsHelperTest.java +++ b/tests/robotests/src/com/android/settings/backup/BackupSettingsHelperTest.java @@ -256,20 +256,21 @@ public class BackupSettingsHelperTest { @Test public void testGetLabelBackupTransport() throws Exception { - String label = "test_label"; + CharSequence label = "test_label"; - when(mBackupManager.getDataManagementLabel(anyString())).thenReturn(label); + when(mBackupManager.getDataManagementLabelForUser(anyInt(), anyString())).thenReturn(label); - String backupLabel = mBackupSettingsHelper.getLabelFromBackupTransport(); + CharSequence backupLabel = mBackupSettingsHelper.getLabelFromBackupTransport(); assertThat(backupLabel).isEqualTo(label); } @Test public void testGetLabelBackupTransport_RemoteException() throws Exception { - when(mBackupManager.getDataManagementLabel(anyString())).thenThrow(new RemoteException()); + when(mBackupManager.getDataManagementLabelForUser(anyInt(), anyString())) + .thenThrow(new RemoteException()); - String backupLabel = mBackupSettingsHelper.getLabelFromBackupTransport(); + CharSequence backupLabel = mBackupSettingsHelper.getLabelFromBackupTransport(); assertThat(backupLabel).isNull(); } @@ -291,31 +292,31 @@ public class BackupSettingsHelperTest { @Test public void testGetLabelForBackupSettings_WithLabelFromTransport() throws Exception { - String label = "test_label"; + CharSequence label = "test_label"; - when(mBackupManager.getDataManagementLabel(anyString())).thenReturn(label); + when(mBackupManager.getDataManagementLabelForUser(anyInt(), anyString())).thenReturn(label); - String backupLabel = mBackupSettingsHelper.getLabelForBackupSettings(); + CharSequence backupLabel = mBackupSettingsHelper.getLabelForBackupSettings(); assertThat(backupLabel).isEqualTo(label); } @Test public void testGetLabelForBackupSettings_WithEmptyLabelFromTransport() throws Exception { - String label = ""; + CharSequence label = ""; - when(mBackupManager.getDataManagementLabel(anyString())).thenReturn(label); + when(mBackupManager.getDataManagementLabelForUser(anyInt(), anyString())).thenReturn(label); - String backupLabel = mBackupSettingsHelper.getLabelForBackupSettings(); + CharSequence backupLabel = mBackupSettingsHelper.getLabelForBackupSettings(); assertThat(backupLabel).isEqualTo(mContext.getString(DEFAULT_LABEL_RESOURCE)); } @Test public void testGetLabelForBackupSettings_WithoutLabelFromTransport() throws Exception { - when(mBackupManager.getDataManagementLabel(anyString())).thenReturn(null); + when(mBackupManager.getDataManagementLabelForUser(anyInt(), anyString())).thenReturn(null); - String backupLabel = mBackupSettingsHelper.getLabelForBackupSettings(); + CharSequence backupLabel = mBackupSettingsHelper.getLabelForBackupSettings(); assertThat(backupLabel).isEqualTo(mContext.getString(DEFAULT_LABEL_RESOURCE)); } diff --git a/tests/robotests/src/com/android/settings/backup/DataManagementPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/backup/DataManagementPreferenceControllerTest.java index ac92fb7aca4..d3688d34574 100644 --- a/tests/robotests/src/com/android/settings/backup/DataManagementPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/backup/DataManagementPreferenceControllerTest.java @@ -43,7 +43,7 @@ public class DataManagementPreferenceControllerTest { private DataManagementPreferenceController mController; private PrivacySettingsConfigData mPSCD; private Preference mPreference; - private String mTitle; + private CharSequence mTitle; @Mock private Intent mIntent;