The 3 permissions are the first three from the list which any app has granted:
Location, Microphone, Camera, Sms, Contacts, and Phone
*/
- private String getSummary() {
+ @Override
+ public String getSummary() {
final Set<String> permissions = getAllPermissionsInGroups();
Set<String> grantedPermissionGroups = getGrantedPermissionGroups(permissions);
CharSequence summary = null;
package com.android.settings.applications.appinfo;
-import android.app.slice.Slice;
import android.content.Context;
import android.os.Bundle;
import android.os.UserManager;
@Override
public void updateState(Preference preference) {
- preference.setSummary(isDefaultApp() ? R.string.yes : R.string.no);
+ preference.setSummary(getSummary());
+ }
+
+ @Override
+ public String getSummary() {
+ int summaryResId = isDefaultApp() ? R.string.yes : R.string.no;
+ return mContext.getString(summaryResId);
}
@Override
/**
* Check whether the app has the default app capability
+ *
* @return true if the app has the default app capability
*/
protected abstract boolean hasAppCapability();
/**
* Check whether the app is the default app
+ *
* @return true if the app is the default app
*/
protected abstract boolean isDefaultApp();
import android.content.Context;
import android.content.pm.PackageInfo;
import android.os.UserManager;
-import android.support.annotation.VisibleForTesting;
import android.support.v7.preference.Preference;
import com.android.settings.SettingsPreferenceFragment;
return DrawOverlayDetails.class;
}
- @VisibleForTesting
- CharSequence getSummary() {
- return DrawOverlayDetails.getSummary(mContext, mParent.getAppEntry());
+ @Override
+ public String getSummary() {
+ return DrawOverlayDetails.getSummary(mContext, mParent.getAppEntry()).toString();
}
-
}
import android.content.Context;
import android.content.pm.PackageInfo;
import android.os.UserManager;
-import android.support.annotation.VisibleForTesting;
import android.support.v7.preference.Preference;
import com.android.settings.SettingsPreferenceFragment;
return WriteSettingsDetails.class;
}
- @VisibleForTesting
- CharSequence getSummary() {
- return WriteSettingsDetails.getSummary(mContext, mParent.getAppEntry());
- }
+ @Override
+ public String getSummary() {
+ return WriteSettingsDetails.getSummary(mContext, mParent.getAppEntry()).toString();
+ }
}
import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.core.AbstractPreferenceController;
public class BackupSettingsActivityPreferenceController extends BasePreferenceController {
private static final String TAG = "BackupSettingActivityPC";
@Override
public void updateState(Preference preference) {
+ preference.setSummary(getSummary());
+ }
+
+ @Override
+ public String getSummary() {
final boolean backupEnabled = mBackupManager.isBackupEnabled();
- preference.setSummary(backupEnabled
- ? R.string.accessibility_feature_state_on
- : R.string.accessibility_feature_state_off);
+ return backupEnabled
+ ? mContext.getString(R.string.accessibility_feature_state_on)
+ : mContext.getString(R.string.accessibility_feature_state_off);
}
}
\ No newline at end of file
@Override
public void updateState(Preference preference) {
- updateDeviceName(preference, mLocalAdapter.getName());
+ updateDeviceName(preference);
+ }
+
+ @Override
+ public String getSummary() {
+ String deviceName = getDeviceName();
+ if (TextUtils.isEmpty(deviceName)) {
+ return super.getSummary();
+ }
+
+ return TextUtils.expandTemplate(
+ mContext.getText(R.string.bluetooth_device_name_summary),
+ BidiFormatter.getInstance().unicodeWrap(deviceName)).toString();
}
/**
* Update device summary with {@code deviceName}, where {@code deviceName} has accent color
*
* @param preference to set the summary for
- * @param deviceName bluetooth device name to show in the summary
*/
- protected void updateDeviceName(final Preference preference, final String deviceName) {
- if (deviceName == null) {
- // TODO: show error message in preference subtitle
- return;
- }
- final CharSequence summary = TextUtils.expandTemplate(
- mContext.getText(R.string.bluetooth_device_name_summary),
- BidiFormatter.getInstance().unicodeWrap(deviceName));
+ protected void updateDeviceName(final Preference preference) {
preference.setSelectable(false);
- preference.setSummary(summary);
+ preference.setSummary(getSummary());
+ }
+
+ protected String getDeviceName() {
+ return mLocalAdapter.getName();
}
/**
if (TextUtils.equals(action, BluetoothAdapter.ACTION_LOCAL_NAME_CHANGED)) {
if (mPreference != null && mLocalAdapter != null && mLocalAdapter.isEnabled()) {
- updateDeviceName(mPreference, mLocalAdapter.getName());
+ updateDeviceName(mPreference);
}
}
}
}
@Override
- protected void updateDeviceName(final Preference preference, final String deviceName) {
- preference.setSummary(deviceName);
+ protected void updateDeviceName(final Preference preference) {
+ preference.setSummary(getSummary());
+ }
+
+ @Override
+ public String getSummary() {
+ return getDeviceName();
}
@Override
@Override
public void updateState(Preference preference) {
- preference.setSummary(mContext.getString(R.string.about_summary,
- Build.VERSION.RELEASE));
+ preference.setSummary(getSummary());
+ }
+
+ @Override
+ public String getSummary() {
+ return mContext.getString(R.string.about_summary, Build.VERSION.RELEASE);
}
/**
import com.android.internal.hardware.AmbientDisplayConfiguration;
import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
-import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.core.AbstractPreferenceController;
@Override
public void updateState(Preference preference) {
+ preference.setSummary(getSummary());
+ }
+
+ @Override
+ public String getSummary() {
if (!mFeatureProvider.isSensorAvailable(mContext)) {
- preference.setSummary("");
- return;
+ return "";
}
final ContentResolver contentResolver = mContext.getContentResolver();
final boolean assistGestureEnabled = Settings.Secure.getInt(
contentResolver, Settings.Secure.ASSIST_GESTURE_ENABLED, 1) != 0;
final boolean assistGestureSilenceEnabled = Settings.Secure.getInt(
contentResolver, Settings.Secure.ASSIST_GESTURE_SILENCE_ALERTS_ENABLED, 1) != 0;
- final String summary;
+
if (mFeatureProvider.isSupported(mContext) && assistGestureEnabled) {
- summary = mContext.getString(
+ return mContext.getString(
R.string.language_input_gesture_summary_on_with_assist);
- } else if (assistGestureSilenceEnabled) {
- summary = mContext.getString(
+ }
+ if (assistGestureSilenceEnabled) {
+ return mContext.getString(
R.string.language_input_gesture_summary_on_non_assist);
- } else {
- summary = mContext.getString(R.string.language_input_gesture_summary_off);
}
- preference.setSummary(summary);
+ return mContext.getString(R.string.language_input_gesture_summary_off);
}
}
\ No newline at end of file
: mAppRow.label;
}
- CharSequence getSummary() {
+ @Override
+ public String getSummary() {
if (mChannel != null) {
if (mChannelGroup != null && mChannelGroup.getGroup() != null
&& !TextUtils.isEmpty(mChannelGroup.getGroup().getName())) {
summary.append(bidi.unicodeWrap(mContext.getText(
R.string.notification_header_divider_symbol_with_spaces)));
summary.append(bidi.unicodeWrap(mChannelGroup.getGroup().getName().toString()));
- return summary;
+ return summary.toString();
} else {
- return mAppRow.label;
+ return mAppRow.label.toString();
}
} else if (mChannelGroup != null && mChannelGroup.getGroup() != null) {
- return mAppRow.label;
+ return mAppRow.label.toString();
} else {
return "";
}
mController.isDefault = true;
mController.updateState(mPreference);
-
- verify(mPreference).setSummary(R.string.yes);
+ String yesString = mContext.getString(R.string.yes);
+ verify(mPreference).setSummary(yesString);
}
@Test
mController.updateState(mPreference);
- verify(mPreference).setSummary(R.string.no);
+ String noString = mContext.getString(R.string.no);
+ verify(mPreference).setSummary(noString);
}
@Test
mBackupEnabled = true;
mController.updateState(mBackupPreference);
-
- verify(mBackupPreference).setSummary(R.string.accessibility_feature_state_on);
+ String summaryString = mContext.getString(R.string.accessibility_feature_state_on);
+ verify(mBackupPreference).setSummary(summaryString);
}
@Test
mBackupEnabled = false;
mController.updateState(mBackupPreference);
-
- verify(mBackupPreference).setSummary(R.string.accessibility_feature_state_off);
+ String summaryString = mContext.getString(R.string.accessibility_feature_state_off);
+ verify(mBackupPreference).setSummary(summaryString);
}
@Test
doReturn(mContext).when(mPreferenceScreen).getContext();
mPreference = new Preference(mContext);
mPreference.setKey(BluetoothDeviceNamePreferenceController.KEY_DEVICE_NAME);
- mController = new BluetoothDeviceNamePreferenceController(
- mContext, mLocalAdapter);
+ mController = spy(new BluetoothDeviceNamePreferenceController(
+ mContext, mLocalAdapter));
+ doReturn(DEVICE_NAME).when(mController).getDeviceName();
}
@Test
public void testUpdateDeviceName_showSummaryWithDeviceName() {
- mController.updateDeviceName(mPreference, DEVICE_NAME);
+ mController.updateDeviceName(mPreference);
final CharSequence summary = mPreference.getSummary();
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyString;
+import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
mPreference = new Preference(mContext);
mPreference.setKey(PREF_KEY);
- mController = new BluetoothDeviceRenamePreferenceController(
- mContext, PREF_KEY, mFragment, mLocalAdapter);
+ mController = spy(new BluetoothDeviceRenamePreferenceController(
+ mContext, PREF_KEY, mFragment, mLocalAdapter));
+ doReturn(DEVICE_NAME).when(mController).getDeviceName();
}
@Test
public void testUpdateDeviceName_showSummaryWithDeviceName() {
- mController.updateDeviceName(mPreference, DEVICE_NAME);
+ mController.updateDeviceName(mPreference);
final CharSequence summary = mPreference.getSummary();