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.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);
}

View File

@@ -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;

View File

@@ -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);
}

View File

@@ -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;
}
}

View File

@@ -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