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
public String getSummary() {
public CharSequence getSummary() {
final int intensity = Settings.System.getInt(mContext.getContentResolver(),
mSettingKey, getDefaultIntensity());
switch (intensity) {
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:
return mContext.getString(R.string.accessibility_vibration_intensity_low);
return mContext.getText(R.string.accessibility_vibration_intensity_low);
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:
return mContext.getString(R.string.accessibility_vibration_intensity_high);
return mContext.getText(R.string.accessibility_vibration_intensity_high);
default:
return "";
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -61,7 +61,7 @@ public class GesturesSettingPreferenceController extends BasePreferenceControlle
}
@Override
public String getSummary() {
public CharSequence getSummary() {
if (!mFeatureProvider.isSensorAvailable(mContext)) {
return "";
}
@@ -72,13 +72,13 @@ public class GesturesSettingPreferenceController extends BasePreferenceControlle
contentResolver, Settings.Secure.ASSIST_GESTURE_SILENCE_ALERTS_ENABLED, 1) != 0;
if (mFeatureProvider.isSupported(mContext) && assistGestureEnabled) {
return mContext.getString(
return mContext.getText(
R.string.language_input_gesture_summary_on_with_assist);
}
if (assistGestureSilenceEnabled) {
return mContext.getString(
return mContext.getText(
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
public String getSummary() {
public CharSequence getSummary() {
if (mChannel != null) {
if (mChannelGroup != null && mChannelGroup.getGroup() != null
&& !TextUtils.isEmpty(mChannelGroup.getGroup().getName())) {

View File

@@ -93,7 +93,7 @@ public class PrintSettingPreferenceController extends BasePreferenceController i
}
@Override
public String getSummary() {
public CharSequence getSummary() {
final List<PrintJob> printJobs = mPrintManager.getPrintJobs();
int numActivePrintJobs = 0;
@@ -112,7 +112,7 @@ public class PrintSettingPreferenceController extends BasePreferenceController i
final List<PrintServiceInfo> services =
mPrintManager.getPrintServices(PrintManager.ENABLED_SERVICES);
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 {
final int count = services.size();
return mContext.getResources().getQuantityString(

View File

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

View File

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

View File

@@ -88,16 +88,16 @@ public class SystemUpdatePreferenceController extends BasePreferenceController {
}
@Override
public String getSummary() {
public CharSequence getSummary() {
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);
switch (updateInfo.getInt(SystemUpdateManager.KEY_STATUS)) {
case SystemUpdateManager.STATUS_WAITING_DOWNLOAD:
case SystemUpdateManager.STATUS_IN_PROGRESS:
case SystemUpdateManager.STATUS_WAITING_INSTALL:
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;
case SystemUpdateManager.STATUS_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_SILENCE_ALERTS_ENABLED, 0);
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_SILENCE_ALERTS_ENABLED, 0);
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_SILENCE_ALERTS_ENABLED, 1);
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

View File

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