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
This commit is contained in:
Annie Meng
2019-03-15 12:29:27 +00:00
parent cd829aced1
commit ae53699277
7 changed files with 30 additions and 26 deletions

View File

@@ -25,6 +25,7 @@ import android.os.RemoteException;
import android.os.ServiceManager; import android.os.ServiceManager;
import android.os.UserHandle; import android.os.UserHandle;
import android.os.UserManager; import android.os.UserManager;
import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import androidx.annotation.VisibleForTesting; import androidx.annotation.VisibleForTesting;
@@ -91,9 +92,9 @@ public class BackupSettingsHelper {
* *
* @return Label for the backup settings item. * @return Label for the backup settings item.
*/ */
public String getLabelForBackupSettings() { public CharSequence getLabelForBackupSettings() {
String label = getLabelFromBackupTransport(); CharSequence label = getLabelFromBackupTransport();
if (label == null || label.isEmpty()) { if (TextUtils.isEmpty(label)) {
label = mContext.getString(R.string.privacy_settings_title); label = mContext.getString(R.string.privacy_settings_title);
} }
return label; return label;
@@ -222,10 +223,11 @@ public class BackupSettingsHelper {
} }
@VisibleForTesting @VisibleForTesting
String getLabelFromBackupTransport() { CharSequence getLabelFromBackupTransport() {
try { try {
String label = CharSequence label =
mBackupManager.getDataManagementLabel(mBackupManager.getCurrentTransport()); mBackupManager.getDataManagementLabelForUser(
UserHandle.myUserId(), mBackupManager.getCurrentTransport());
if (Log.isLoggable(TAG, Log.DEBUG)) { if (Log.isLoggable(TAG, Log.DEBUG)) {
Log.d(TAG, "Received the backup settings label from backup transport: " + label); Log.d(TAG, "Received the backup settings label from backup transport: " + label);
} }

View File

@@ -31,7 +31,7 @@ public class BackupSettingsPreferenceController extends AbstractPreferenceContro
private static final String BACKUP_SETTINGS = "backup_settings"; private static final String BACKUP_SETTINGS = "backup_settings";
private static final String MANUFACTURER_SETTINGS = "manufacturer_backup"; private static final String MANUFACTURER_SETTINGS = "manufacturer_backup";
private Intent mBackupSettingsIntent; private Intent mBackupSettingsIntent;
private String mBackupSettingsTitle; private CharSequence mBackupSettingsTitle;
private String mBackupSettingsSummary; private String mBackupSettingsSummary;
private Intent mManufacturerIntent; private Intent mManufacturerIntent;
private String mManufacturerLabel; private String mManufacturerLabel;

View File

@@ -48,7 +48,7 @@ public class DataManagementPreferenceController extends BasePreferenceController
return; return;
} }
preference.setIntent(mPSCD.getManageIntent()); preference.setIntent(mPSCD.getManageIntent());
final String manageLabel = mPSCD.getManageLabel(); final CharSequence manageLabel = mPSCD.getManageLabel();
if (manageLabel != null) { if (manageLabel != null) {
preference.setTitle(manageLabel); preference.setTitle(manageLabel);
} }

View File

@@ -27,7 +27,7 @@ public class PrivacySettingsConfigData {
private Intent mConfigIntent; private Intent mConfigIntent;
private String mConfigSummary; private String mConfigSummary;
private Intent mManageIntent; private Intent mManageIntent;
private String mManageLabel; private CharSequence mManageLabel;
private PrivacySettingsConfigData() { private PrivacySettingsConfigData() {
mBackupEnabled = false; mBackupEnabled = false;
@@ -85,11 +85,11 @@ public class PrivacySettingsConfigData {
mManageIntent = manageIntent; mManageIntent = manageIntent;
} }
public String getManageLabel() { public CharSequence getManageLabel() {
return mManageLabel; return mManageLabel;
} }
public void setManageLabel(final String manageLabel) { public void setManageLabel(final CharSequence manageLabel) {
mManageLabel = manageLabel; mManageLabel = manageLabel;
} }
} }

View File

@@ -97,7 +97,8 @@ public class PrivacySettingsUtils {
data.setConfigSummary(backupManager.getDestinationString(transport)); data.setConfigSummary(backupManager.getDestinationString(transport));
data.setManageIntent(validatedActivityIntent(context, data.setManageIntent(validatedActivityIntent(context,
backupManager.getDataManagementIntent(transport), "management")); backupManager.getDataManagementIntent(transport), "management"));
data.setManageLabel(backupManager.getDataManagementLabel(transport)); data.setManageLabel(
backupManager.getDataManagementLabelForUser(UserHandle.myUserId(), transport));
data.setBackupGray(false); data.setBackupGray(false);
} catch (RemoteException e) { } catch (RemoteException e) {
// leave it 'false' and disable the UI; there's no backup manager // leave it 'false' and disable the UI; there's no backup manager

View File

@@ -256,20 +256,21 @@ public class BackupSettingsHelperTest {
@Test @Test
public void testGetLabelBackupTransport() throws Exception { 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); assertThat(backupLabel).isEqualTo(label);
} }
@Test @Test
public void testGetLabelBackupTransport_RemoteException() throws Exception { 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(); assertThat(backupLabel).isNull();
} }
@@ -291,31 +292,31 @@ public class BackupSettingsHelperTest {
@Test @Test
public void testGetLabelForBackupSettings_WithLabelFromTransport() throws Exception { 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); assertThat(backupLabel).isEqualTo(label);
} }
@Test @Test
public void testGetLabelForBackupSettings_WithEmptyLabelFromTransport() throws Exception { 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)); assertThat(backupLabel).isEqualTo(mContext.getString(DEFAULT_LABEL_RESOURCE));
} }
@Test @Test
public void testGetLabelForBackupSettings_WithoutLabelFromTransport() throws Exception { 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)); assertThat(backupLabel).isEqualTo(mContext.getString(DEFAULT_LABEL_RESOURCE));
} }

View File

@@ -43,7 +43,7 @@ public class DataManagementPreferenceControllerTest {
private DataManagementPreferenceController mController; private DataManagementPreferenceController mController;
private PrivacySettingsConfigData mPSCD; private PrivacySettingsConfigData mPSCD;
private Preference mPreference; private Preference mPreference;
private String mTitle; private CharSequence mTitle;
@Mock @Mock
private Intent mIntent; private Intent mIntent;