Change PreferenceController#getSummary return type.

Return CharSequence instead of String.

All user visible string should be modeled as CharSequence.

Bug: 73950519
Test: robotest
Change-Id: I30befef0c33f94351d4a2774e283bd1ed804aa8b
This commit is contained in:
Fan Zhang
2018-02-27 10:30:11 -08:00
parent 6a6cc310cf
commit 906572b127
18 changed files with 49 additions and 48 deletions

View File

@@ -82,19 +82,19 @@ public abstract class VibrationIntensityPreferenceController extends BasePrefere
} }
@Override @Override
public String getSummary() { public CharSequence getSummary() {
final int intensity = Settings.System.getInt(mContext.getContentResolver(), final int intensity = Settings.System.getInt(mContext.getContentResolver(),
mSettingKey, getDefaultIntensity()); mSettingKey, getDefaultIntensity());
switch (intensity) { switch (intensity) {
case Vibrator.VIBRATION_INTENSITY_OFF: case Vibrator.VIBRATION_INTENSITY_OFF:
return mContext.getString(R.string.accessibility_vibration_intensity_off); return mContext.getText(R.string.accessibility_vibration_intensity_off);
case Vibrator.VIBRATION_INTENSITY_LOW: case Vibrator.VIBRATION_INTENSITY_LOW:
return mContext.getString(R.string.accessibility_vibration_intensity_low); return mContext.getText(R.string.accessibility_vibration_intensity_low);
case Vibrator.VIBRATION_INTENSITY_MEDIUM: case Vibrator.VIBRATION_INTENSITY_MEDIUM:
return mContext.getString(R.string.accessibility_vibration_intensity_medium); return mContext.getText(R.string.accessibility_vibration_intensity_medium);
case Vibrator.VIBRATION_INTENSITY_HIGH: case Vibrator.VIBRATION_INTENSITY_HIGH:
return mContext.getString(R.string.accessibility_vibration_intensity_high); return mContext.getText(R.string.accessibility_vibration_intensity_high);
default: default:
return ""; return "";
} }

View File

@@ -64,7 +64,7 @@ public class AppPermissionsPreferenceController extends AbstractPreferenceContro
@Override @Override
public void updateState(Preference preference) { public void updateState(Preference preference) {
final String summary = getSummary(); final CharSequence summary = getSummary();
if (summary != null) { if (summary != null) {
preference.setSummary(summary); preference.setSummary(summary);
} }
@@ -76,7 +76,7 @@ public class AppPermissionsPreferenceController extends AbstractPreferenceContro
Location, Microphone, Camera, Sms, Contacts, and Phone Location, Microphone, Camera, Sms, Contacts, and Phone
*/ */
@Override @Override
public String getSummary() { public CharSequence getSummary() {
final Set<String> permissions = getAllPermissionsInGroups(); final Set<String> permissions = getAllPermissionsInGroups();
Set<String> grantedPermissionGroups = getGrantedPermissionGroups(permissions); Set<String> grantedPermissionGroups = getGrantedPermissionGroups(permissions);
CharSequence summary = null; CharSequence summary = null;

View File

@@ -55,9 +55,9 @@ public abstract class DefaultAppShortcutPreferenceControllerBase extends BasePre
} }
@Override @Override
public String getSummary() { public CharSequence getSummary() {
int summaryResId = isDefaultApp() ? R.string.yes : R.string.no; int summaryResId = isDefaultApp() ? R.string.yes : R.string.no;
return mContext.getString(summaryResId); return mContext.getText(summaryResId);
} }
@Override @Override

View File

@@ -61,7 +61,7 @@ public class DrawOverlayDetailPreferenceController extends AppInfoPreferenceCont
} }
@Override @Override
public String getSummary() { public CharSequence getSummary() {
return DrawOverlayDetails.getSummary(mContext, mParent.getAppEntry()).toString(); return DrawOverlayDetails.getSummary(mContext, mParent.getAppEntry());
} }
} }

View File

@@ -62,8 +62,8 @@ public class WriteSystemSettingsPreferenceController extends AppInfoPreferenceCo
} }
@Override @Override
public String getSummary() { public CharSequence getSummary() {
return WriteSettingsDetails.getSummary(mContext, mParent.getAppEntry()).toString(); return WriteSettingsDetails.getSummary(mContext, mParent.getAppEntry());
} }
} }

View File

@@ -51,11 +51,11 @@ public class BackupSettingsActivityPreferenceController extends BasePreferenceCo
} }
@Override @Override
public String getSummary() { public CharSequence getSummary() {
final boolean backupEnabled = mBackupManager.isBackupEnabled(); final boolean backupEnabled = mBackupManager.isBackupEnabled();
return backupEnabled return backupEnabled
? mContext.getString(R.string.accessibility_feature_state_on) ? mContext.getText(R.string.accessibility_feature_state_on)
: mContext.getString(R.string.accessibility_feature_state_off); : mContext.getText(R.string.accessibility_feature_state_off);
} }
} }

View File

@@ -113,7 +113,7 @@ public class BluetoothDeviceNamePreferenceController extends BasePreferenceContr
} }
@Override @Override
public String getSummary() { public CharSequence getSummary() {
String deviceName = getDeviceName(); String deviceName = getDeviceName();
if (TextUtils.isEmpty(deviceName)) { if (TextUtils.isEmpty(deviceName)) {
return super.getSummary(); return super.getSummary();

View File

@@ -72,7 +72,7 @@ public class BluetoothDeviceRenamePreferenceController extends
} }
@Override @Override
public String getSummary() { public CharSequence getSummary() {
return getDeviceName(); return getDeviceName();
} }

View File

@@ -67,7 +67,7 @@ public class DeviceNamePreferenceController extends BasePreferenceController
} }
@Override @Override
public String getSummary() { public CharSequence getSummary() {
return mDeviceName; return mDeviceName;
} }

View File

@@ -103,7 +103,7 @@ public class BatterySaverController extends TogglePreferenceController
} }
@Override @Override
public String getSummary() { public CharSequence getSummary() {
final boolean mode = mPowerManager.isPowerSaveMode(); final boolean mode = mPowerManager.isPowerSaveMode();
final int format = mode ? R.string.battery_saver_on_summary final int format = mode ? R.string.battery_saver_on_summary
: R.string.battery_saver_off_summary; : R.string.battery_saver_off_summary;

View File

@@ -61,7 +61,7 @@ public class GesturesSettingPreferenceController extends BasePreferenceControlle
} }
@Override @Override
public String getSummary() { public CharSequence getSummary() {
if (!mFeatureProvider.isSensorAvailable(mContext)) { if (!mFeatureProvider.isSensorAvailable(mContext)) {
return ""; return "";
} }
@@ -72,13 +72,13 @@ public class GesturesSettingPreferenceController extends BasePreferenceControlle
contentResolver, Settings.Secure.ASSIST_GESTURE_SILENCE_ALERTS_ENABLED, 1) != 0; contentResolver, Settings.Secure.ASSIST_GESTURE_SILENCE_ALERTS_ENABLED, 1) != 0;
if (mFeatureProvider.isSupported(mContext) && assistGestureEnabled) { if (mFeatureProvider.isSupported(mContext) && assistGestureEnabled) {
return mContext.getString( return mContext.getText(
R.string.language_input_gesture_summary_on_with_assist); R.string.language_input_gesture_summary_on_with_assist);
} }
if (assistGestureSilenceEnabled) { if (assistGestureSilenceEnabled) {
return mContext.getString( return mContext.getText(
R.string.language_input_gesture_summary_on_non_assist); R.string.language_input_gesture_summary_on_non_assist);
} }
return mContext.getString(R.string.language_input_gesture_summary_off); return mContext.getText(R.string.language_input_gesture_summary_off);
} }
} }

View File

@@ -78,7 +78,7 @@ public class HeaderPreferenceController extends NotificationPreferenceController
} }
@Override @Override
public String getSummary() { public CharSequence getSummary() {
if (mChannel != null) { if (mChannel != null) {
if (mChannelGroup != null && mChannelGroup.getGroup() != null if (mChannelGroup != null && mChannelGroup.getGroup() != null
&& !TextUtils.isEmpty(mChannelGroup.getGroup().getName())) { && !TextUtils.isEmpty(mChannelGroup.getGroup().getName())) {

View File

@@ -93,7 +93,7 @@ public class PrintSettingPreferenceController extends BasePreferenceController i
} }
@Override @Override
public String getSummary() { public CharSequence getSummary() {
final List<PrintJob> printJobs = mPrintManager.getPrintJobs(); final List<PrintJob> printJobs = mPrintManager.getPrintJobs();
int numActivePrintJobs = 0; int numActivePrintJobs = 0;
@@ -112,7 +112,7 @@ public class PrintSettingPreferenceController extends BasePreferenceController i
final List<PrintServiceInfo> services = final List<PrintServiceInfo> services =
mPrintManager.getPrintServices(PrintManager.ENABLED_SERVICES); mPrintManager.getPrintServices(PrintManager.ENABLED_SERVICES);
if (services == null || services.isEmpty()) { if (services == null || services.isEmpty()) {
return mContext.getString(R.string.print_settings_summary_no_service); return mContext.getText(R.string.print_settings_summary_no_service);
} else { } else {
final int count = services.size(); final int count = services.size();
return mContext.getResources().getQuantityString( return mContext.getResources().getQuantityString(

View File

@@ -38,11 +38,11 @@ public class ScreenPinningPreferenceController extends BasePreferenceController
} }
@Override @Override
public String getSummary() { public CharSequence getSummary() {
return Settings.System.getInt(mContext.getContentResolver(), return Settings.System.getInt(mContext.getContentResolver(),
Settings.System.LOCK_TO_APP_ENABLED, 0) != 0 Settings.System.LOCK_TO_APP_ENABLED, 0) != 0
? mContext.getString(R.string.switch_on_text) ? mContext.getText(R.string.switch_on_text)
: mContext.getString(R.string.switch_off_text); : mContext.getText(R.string.switch_off_text);
} }
@Override @Override

View File

@@ -57,7 +57,7 @@ public class SliceBuilderUtils {
final Icon icon = Icon.createWithResource(context, sliceData.getIconResource()); final Icon icon = Icon.createWithResource(context, sliceData.getIconResource());
final BasePreferenceController controller = getPreferenceController(context, sliceData); final BasePreferenceController controller = getPreferenceController(context, sliceData);
final String subtitleText = getSubtitleText(context, controller, sliceData); final CharSequence subtitleText = getSubtitleText(context, controller, sliceData);
final RowBuilder builder = new RowBuilder(context, sliceData.getUri()) final RowBuilder builder = new RowBuilder(context, sliceData.getUri())
.setTitle(sliceData.getTitle()) .setTitle(sliceData.getTitle())
@@ -120,9 +120,9 @@ public class SliceBuilderUtils {
} }
@VisibleForTesting @VisibleForTesting
static String getSubtitleText(Context context, AbstractPreferenceController controller, static CharSequence getSubtitleText(Context context, AbstractPreferenceController controller,
SliceData sliceData) { SliceData sliceData) {
String summaryText = sliceData.getSummary(); CharSequence summaryText = sliceData.getSummary();
if (isValidSummary(context, summaryText)) { if (isValidSummary(context, summaryText)) {
return summaryText; return summaryText;
} }
@@ -138,13 +138,14 @@ public class SliceBuilderUtils {
return sliceData.getScreenTitle(); return sliceData.getScreenTitle();
} }
private static boolean isValidSummary(Context context, String summary) { private static boolean isValidSummary(Context context, CharSequence summary) {
if (summary == null || TextUtils.isEmpty(summary.trim())) { if (summary == null || TextUtils.isEmpty(summary.toString().trim())) {
return false; return false;
} }
final String placeHolder = context.getString(R.string.summary_placeholder); final CharSequence placeHolder = context.getText(R.string.summary_placeholder);
final String doublePlaceHolder = context.getString(R.string.summary_two_lines_placeholder); final CharSequence doublePlaceHolder =
context.getText(R.string.summary_two_lines_placeholder);
return !(TextUtils.equals(summary, placeHolder) return !(TextUtils.equals(summary, placeHolder)
|| TextUtils.equals(summary, doublePlaceHolder)); || TextUtils.equals(summary, doublePlaceHolder));

View File

@@ -88,16 +88,16 @@ public class SystemUpdatePreferenceController extends BasePreferenceController {
} }
@Override @Override
public String getSummary() { public CharSequence getSummary() {
final Bundle updateInfo = mUpdateManager.retrieveSystemUpdateInfo(); final Bundle updateInfo = mUpdateManager.retrieveSystemUpdateInfo();
String summary = mContext.getString(R.string.android_version_summary, CharSequence summary = mContext.getString(R.string.android_version_summary,
Build.VERSION.RELEASE); Build.VERSION.RELEASE);
switch (updateInfo.getInt(SystemUpdateManager.KEY_STATUS)) { switch (updateInfo.getInt(SystemUpdateManager.KEY_STATUS)) {
case SystemUpdateManager.STATUS_WAITING_DOWNLOAD: case SystemUpdateManager.STATUS_WAITING_DOWNLOAD:
case SystemUpdateManager.STATUS_IN_PROGRESS: case SystemUpdateManager.STATUS_IN_PROGRESS:
case SystemUpdateManager.STATUS_WAITING_INSTALL: case SystemUpdateManager.STATUS_WAITING_INSTALL:
case SystemUpdateManager.STATUS_WAITING_REBOOT: case SystemUpdateManager.STATUS_WAITING_REBOOT:
summary = mContext.getString(R.string.android_version_pending_update_summary); summary = mContext.getText(R.string.android_version_pending_update_summary);
break; break;
case SystemUpdateManager.STATUS_UNKNOWN: case SystemUpdateManager.STATUS_UNKNOWN:
Log.d(TAG, "Update statue unknown"); Log.d(TAG, "Update statue unknown");

View File

@@ -106,17 +106,17 @@ public class GesturesSettingsPreferenceControllerTest {
Settings.Secure.putInt(cr, Settings.Secure.ASSIST_GESTURE_ENABLED, 0); Settings.Secure.putInt(cr, Settings.Secure.ASSIST_GESTURE_ENABLED, 0);
Settings.Secure.putInt(cr, Settings.Secure.ASSIST_GESTURE_SILENCE_ALERTS_ENABLED, 0); Settings.Secure.putInt(cr, Settings.Secure.ASSIST_GESTURE_SILENCE_ALERTS_ENABLED, 0);
mController.updateState(mPreference); mController.updateState(mPreference);
verify(mActivity).getString(R.string.language_input_gesture_summary_off); verify(mActivity).getText(R.string.language_input_gesture_summary_off);
Settings.Secure.putInt(cr, Settings.Secure.ASSIST_GESTURE_ENABLED, 1); Settings.Secure.putInt(cr, Settings.Secure.ASSIST_GESTURE_ENABLED, 1);
Settings.Secure.putInt(cr, Settings.Secure.ASSIST_GESTURE_SILENCE_ALERTS_ENABLED, 0); Settings.Secure.putInt(cr, Settings.Secure.ASSIST_GESTURE_SILENCE_ALERTS_ENABLED, 0);
mController.updateState(mPreference); mController.updateState(mPreference);
verify(mActivity).getString(R.string.language_input_gesture_summary_on_with_assist); verify(mActivity).getText(R.string.language_input_gesture_summary_on_with_assist);
Settings.Secure.putInt(cr, Settings.Secure.ASSIST_GESTURE_ENABLED, 0); Settings.Secure.putInt(cr, Settings.Secure.ASSIST_GESTURE_ENABLED, 0);
Settings.Secure.putInt(cr, Settings.Secure.ASSIST_GESTURE_SILENCE_ALERTS_ENABLED, 1); Settings.Secure.putInt(cr, Settings.Secure.ASSIST_GESTURE_SILENCE_ALERTS_ENABLED, 1);
mController.updateState(mPreference); mController.updateState(mPreference);
verify(mActivity).getString(R.string.language_input_gesture_summary_on_non_assist); verify(mActivity).getText(R.string.language_input_gesture_summary_on_non_assist);
} }
@Test @Test

View File

@@ -89,7 +89,7 @@ public class SliceBuilderUtilsTest {
SliceData data = getDummyData(); SliceData data = getDummyData();
FakePreferenceController controller = new FakePreferenceController(mContext, KEY); FakePreferenceController controller = new FakePreferenceController(mContext, KEY);
String summary = SliceBuilderUtils.getSubtitleText(mContext, controller, data); CharSequence summary = SliceBuilderUtils.getSubtitleText(mContext, controller, data);
assertThat(summary).isEqualTo(data.getSummary()); assertThat(summary).isEqualTo(data.getSummary());
} }
@@ -101,7 +101,7 @@ public class SliceBuilderUtilsTest {
String controllerSummary = "new_Summary"; String controllerSummary = "new_Summary";
doReturn(controllerSummary).when(controller).getSummary(); doReturn(controllerSummary).when(controller).getSummary();
String summary = SliceBuilderUtils.getSubtitleText(mContext, controller, data); CharSequence summary = SliceBuilderUtils.getSubtitleText(mContext, controller, data);
assertThat(summary).isEqualTo(controllerSummary); assertThat(summary).isEqualTo(controllerSummary);
} }
@@ -111,7 +111,7 @@ public class SliceBuilderUtilsTest {
SliceData data = getDummyData((String) null); SliceData data = getDummyData((String) null);
FakePreferenceController controller = new FakePreferenceController(mContext, KEY); FakePreferenceController controller = new FakePreferenceController(mContext, KEY);
String summary = SliceBuilderUtils.getSubtitleText(mContext, controller, data); CharSequence summary = SliceBuilderUtils.getSubtitleText(mContext, controller, data);
assertThat(summary).isEqualTo(data.getScreenTitle()); assertThat(summary).isEqualTo(data.getScreenTitle());
} }
@@ -120,7 +120,7 @@ public class SliceBuilderUtilsTest {
public void testDynamicSummary_placeHolderString_returnsScreenTitle() { public void testDynamicSummary_placeHolderString_returnsScreenTitle() {
SliceData data = getDummyData(mContext.getString(R.string.summary_placeholder)); SliceData data = getDummyData(mContext.getString(R.string.summary_placeholder));
FakePreferenceController controller = new FakePreferenceController(mContext, KEY); FakePreferenceController controller = new FakePreferenceController(mContext, KEY);
String summary = SliceBuilderUtils.getSubtitleText(mContext, controller, data); CharSequence summary = SliceBuilderUtils.getSubtitleText(mContext, controller, data);
assertThat(summary).isEqualTo(data.getScreenTitle()); assertThat(summary).isEqualTo(data.getScreenTitle());
} }
@@ -132,7 +132,7 @@ public class SliceBuilderUtilsTest {
FakePreferenceController controller = spy(new FakePreferenceController(mContext, KEY)); FakePreferenceController controller = spy(new FakePreferenceController(mContext, KEY));
doReturn(summaryPlaceholder).when(controller).getSummary(); doReturn(summaryPlaceholder).when(controller).getSummary();
String summary = SliceBuilderUtils.getSubtitleText(mContext, controller, data); CharSequence summary = SliceBuilderUtils.getSubtitleText(mContext, controller, data);
assertThat(summary).isEqualTo(data.getScreenTitle()); assertThat(summary).isEqualTo(data.getScreenTitle());
} }