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:
@@ -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);
|
||||
}
|
||||
|
@@ -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;
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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;
|
||||
}
|
||||
}
|
||||
|
@@ -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
|
||||
|
@@ -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));
|
||||
}
|
||||
|
@@ -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;
|
||||
|
Reference in New Issue
Block a user