Convert xml based API allowDynamicSummaryInSlice to java
- Add boolean useDynamicSliceSummary() in Sliceable interface. This is the switch equivalent to android:allowDynamicSummaryInSlice in xml. It moves the setter closer to regular Sliceable APIs, thus less easily to miss. - Coverted all android:allowDynamicSummaryInSlice to use the java API. - Except 2 prefs in my_device_info. They incorrectly set this to true previously (controller is not sliceable, no point setting dynamicSliceSummary to true. They just won't do anything) Fixes: 128446156 Test: robolectric Change-Id: Ic57acd590dec3e87dcf4592df137321d14b854d9
This commit is contained in:
@@ -72,8 +72,6 @@
|
|||||||
<attr name="controller" format="string" />
|
<attr name="controller" format="string" />
|
||||||
<!-- {@code true} when the controller declared represents a slice from {@link android.app.SettingsSliceContract} -->
|
<!-- {@code true} when the controller declared represents a slice from {@link android.app.SettingsSliceContract} -->
|
||||||
<attr name="platform_slice" format="boolean" />
|
<attr name="platform_slice" format="boolean" />
|
||||||
<!-- Whether or not dynamic summary text from PreferenceController is allowed when creating slice object, by default it's false. -->
|
|
||||||
<attr name="allowDynamicSummaryInSlice" format="boolean" />
|
|
||||||
<!-- customized subtitle if it's an unavailable slice -->
|
<!-- customized subtitle if it's an unavailable slice -->
|
||||||
<attr name="unavailableSliceSubtitle" format="string" />
|
<attr name="unavailableSliceSubtitle" format="string" />
|
||||||
</declare-styleable>
|
</declare-styleable>
|
||||||
|
@@ -28,7 +28,6 @@
|
|||||||
android:title="@string/firmware_version"
|
android:title="@string/firmware_version"
|
||||||
android:summary="@string/summary_placeholder"
|
android:summary="@string/summary_placeholder"
|
||||||
settings:enableCopying="true"
|
settings:enableCopying="true"
|
||||||
settings:allowDynamicSummaryInSlice="true"
|
|
||||||
settings:controller="com.android.settings.deviceinfo.firmwareversion.FirmwareVersionDetailPreferenceController"/>
|
settings:controller="com.android.settings.deviceinfo.firmwareversion.FirmwareVersionDetailPreferenceController"/>
|
||||||
|
|
||||||
<!-- Security patch -->
|
<!-- Security patch -->
|
||||||
@@ -68,7 +67,6 @@
|
|||||||
android:title="@string/build_number"
|
android:title="@string/build_number"
|
||||||
android:summary="@string/summary_placeholder"
|
android:summary="@string/summary_placeholder"
|
||||||
settings:enableCopying="true"
|
settings:enableCopying="true"
|
||||||
settings:allowDynamicSummaryInSlice="true"
|
|
||||||
settings:controller="com.android.settings.deviceinfo.firmwareversion.SimpleBuildNumberPreferenceController"/>
|
settings:controller="com.android.settings.deviceinfo.firmwareversion.SimpleBuildNumberPreferenceController"/>
|
||||||
|
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
@@ -27,7 +27,6 @@
|
|||||||
android:key="hardware_info_device_model"
|
android:key="hardware_info_device_model"
|
||||||
android:title="@string/model_info"
|
android:title="@string/model_info"
|
||||||
android:summary="@string/summary_placeholder"
|
android:summary="@string/summary_placeholder"
|
||||||
settings:allowDynamicSummaryInSlice="true"
|
|
||||||
settings:controller="com.android.settings.deviceinfo.hardwareinfo.DeviceModelPreferenceController"
|
settings:controller="com.android.settings.deviceinfo.hardwareinfo.DeviceModelPreferenceController"
|
||||||
settings:enableCopying="true"/>
|
settings:enableCopying="true"/>
|
||||||
|
|
||||||
@@ -36,7 +35,6 @@
|
|||||||
android:key="hardware_info_device_serial"
|
android:key="hardware_info_device_serial"
|
||||||
android:title="@string/status_serial_number"
|
android:title="@string/status_serial_number"
|
||||||
android:summary="@string/summary_placeholder"
|
android:summary="@string/summary_placeholder"
|
||||||
settings:allowDynamicSummaryInSlice="true"
|
|
||||||
settings:controller="com.android.settings.deviceinfo.hardwareinfo.SerialNumberPreferenceController"
|
settings:controller="com.android.settings.deviceinfo.hardwareinfo.SerialNumberPreferenceController"
|
||||||
settings:enableCopying="true"/>
|
settings:enableCopying="true"/>
|
||||||
|
|
||||||
@@ -45,7 +43,6 @@
|
|||||||
android:key="hardware_info_device_revision"
|
android:key="hardware_info_device_revision"
|
||||||
android:title="@string/hardware_revision"
|
android:title="@string/hardware_revision"
|
||||||
android:summary="@string/summary_placeholder"
|
android:summary="@string/summary_placeholder"
|
||||||
settings:allowDynamicSummaryInSlice="true"
|
|
||||||
settings:controller="com.android.settings.deviceinfo.hardwareinfo.HardwareRevisionPreferenceController"
|
settings:controller="com.android.settings.deviceinfo.hardwareinfo.HardwareRevisionPreferenceController"
|
||||||
settings:enableCopying="true"/>
|
settings:enableCopying="true"/>
|
||||||
|
|
||||||
|
@@ -52,7 +52,6 @@
|
|||||||
android:title="@string/status_number"
|
android:title="@string/status_number"
|
||||||
android:summary="@string/summary_placeholder"
|
android:summary="@string/summary_placeholder"
|
||||||
android:selectable="false"
|
android:selectable="false"
|
||||||
settings:allowDynamicSummaryInSlice="true"
|
|
||||||
settings:controller="com.android.settings.deviceinfo.PhoneNumberPreferenceController"
|
settings:controller="com.android.settings.deviceinfo.PhoneNumberPreferenceController"
|
||||||
settings:enableCopying="true"/>
|
settings:enableCopying="true"/>
|
||||||
|
|
||||||
@@ -104,7 +103,6 @@
|
|||||||
android:title="@string/hardware_info"
|
android:title="@string/hardware_info"
|
||||||
settings:keywords="@string/keywords_model_and_hardware"
|
settings:keywords="@string/keywords_model_and_hardware"
|
||||||
android:summary="@string/summary_placeholder"
|
android:summary="@string/summary_placeholder"
|
||||||
settings:allowDynamicSummaryInSlice="true"
|
|
||||||
android:fragment="com.android.settings.deviceinfo.hardwareinfo.HardwareInfoFragment"
|
android:fragment="com.android.settings.deviceinfo.hardwareinfo.HardwareInfoFragment"
|
||||||
settings:controller="com.android.settings.deviceinfo.HardwareInfoPreferenceController"/>
|
settings:controller="com.android.settings.deviceinfo.HardwareInfoPreferenceController"/>
|
||||||
|
|
||||||
@@ -115,7 +113,6 @@
|
|||||||
android:title="@string/status_imei"
|
android:title="@string/status_imei"
|
||||||
settings:keywords="@string/keywords_imei_info"
|
settings:keywords="@string/keywords_imei_info"
|
||||||
android:summary="@string/summary_placeholder"
|
android:summary="@string/summary_placeholder"
|
||||||
settings:allowDynamicSummaryInSlice="true"
|
|
||||||
settings:controller="com.android.settings.deviceinfo.imei.ImeiInfoPreferenceController"/>
|
settings:controller="com.android.settings.deviceinfo.imei.ImeiInfoPreferenceController"/>
|
||||||
|
|
||||||
<!-- Android version -->
|
<!-- Android version -->
|
||||||
@@ -124,7 +121,6 @@
|
|||||||
android:order="32"
|
android:order="32"
|
||||||
android:title="@string/firmware_version"
|
android:title="@string/firmware_version"
|
||||||
android:summary="@string/summary_placeholder"
|
android:summary="@string/summary_placeholder"
|
||||||
settings:allowDynamicSummaryInSlice="true"
|
|
||||||
android:fragment="com.android.settings.deviceinfo.firmwareversion.FirmwareVersionSettings"
|
android:fragment="com.android.settings.deviceinfo.firmwareversion.FirmwareVersionSettings"
|
||||||
settings:controller="com.android.settings.deviceinfo.firmwareversion.FirmwareVersionPreferenceController"/>
|
settings:controller="com.android.settings.deviceinfo.firmwareversion.FirmwareVersionPreferenceController"/>
|
||||||
|
|
||||||
|
@@ -28,7 +28,6 @@
|
|||||||
android:icon="@drawable/ic_volume_remote"
|
android:icon="@drawable/ic_volume_remote"
|
||||||
android:title="@string/remote_media_volume_option_title"
|
android:title="@string/remote_media_volume_option_title"
|
||||||
android:order="-185"
|
android:order="-185"
|
||||||
settings:allowDynamicSummaryInSlice="true"
|
|
||||||
settings:controller="com.android.settings.notification.RemoteVolumePreferenceController"/>
|
settings:controller="com.android.settings.notification.RemoteVolumePreferenceController"/>
|
||||||
|
|
||||||
<!-- Media volume -->
|
<!-- Media volume -->
|
||||||
@@ -37,7 +36,6 @@
|
|||||||
android:icon="@drawable/ic_media_stream"
|
android:icon="@drawable/ic_media_stream"
|
||||||
android:title="@string/media_volume_option_title"
|
android:title="@string/media_volume_option_title"
|
||||||
android:order="-180"
|
android:order="-180"
|
||||||
settings:allowDynamicSummaryInSlice="true"
|
|
||||||
settings:controller="com.android.settings.notification.MediaVolumePreferenceController"/>
|
settings:controller="com.android.settings.notification.MediaVolumePreferenceController"/>
|
||||||
|
|
||||||
<!-- Media output switcher -->
|
<!-- Media output switcher -->
|
||||||
@@ -54,7 +52,6 @@
|
|||||||
android:icon="@drawable/ic_local_phone_24_lib"
|
android:icon="@drawable/ic_local_phone_24_lib"
|
||||||
android:title="@string/call_volume_option_title"
|
android:title="@string/call_volume_option_title"
|
||||||
android:order="-170"
|
android:order="-170"
|
||||||
settings:allowDynamicSummaryInSlice="true"
|
|
||||||
settings:controller="com.android.settings.notification.CallVolumePreferenceController"/>
|
settings:controller="com.android.settings.notification.CallVolumePreferenceController"/>
|
||||||
|
|
||||||
<!-- Hands free profile output switcher -->
|
<!-- Hands free profile output switcher -->
|
||||||
@@ -71,7 +68,6 @@
|
|||||||
android:icon="@drawable/ic_notifications"
|
android:icon="@drawable/ic_notifications"
|
||||||
android:title="@string/ring_volume_option_title"
|
android:title="@string/ring_volume_option_title"
|
||||||
android:order="-160"
|
android:order="-160"
|
||||||
settings:allowDynamicSummaryInSlice="true"
|
|
||||||
settings:controller="com.android.settings.notification.RingVolumePreferenceController"/>
|
settings:controller="com.android.settings.notification.RingVolumePreferenceController"/>
|
||||||
|
|
||||||
|
|
||||||
@@ -81,7 +77,6 @@
|
|||||||
android:icon="@*android:drawable/ic_audio_alarm"
|
android:icon="@*android:drawable/ic_audio_alarm"
|
||||||
android:title="@string/alarm_volume_option_title"
|
android:title="@string/alarm_volume_option_title"
|
||||||
android:order="-150"
|
android:order="-150"
|
||||||
settings:allowDynamicSummaryInSlice="true"
|
|
||||||
settings:controller="com.android.settings.notification.AlarmVolumePreferenceController"/>
|
settings:controller="com.android.settings.notification.AlarmVolumePreferenceController"/>
|
||||||
|
|
||||||
<!-- Notification volume -->
|
<!-- Notification volume -->
|
||||||
|
@@ -72,7 +72,6 @@ public class PreferenceXmlParserUtils {
|
|||||||
MetadataFlag.FLAG_NEED_PREF_SUMMARY,
|
MetadataFlag.FLAG_NEED_PREF_SUMMARY,
|
||||||
MetadataFlag.FLAG_NEED_PREF_ICON,
|
MetadataFlag.FLAG_NEED_PREF_ICON,
|
||||||
MetadataFlag.FLAG_NEED_SEARCHABLE,
|
MetadataFlag.FLAG_NEED_SEARCHABLE,
|
||||||
MetadataFlag.FLAG_ALLOW_DYNAMIC_SUMMARY_IN_SLICE,
|
|
||||||
MetadataFlag.FLAG_UNAVAILABLE_SLICE_SUBTITLE})
|
MetadataFlag.FLAG_UNAVAILABLE_SLICE_SUBTITLE})
|
||||||
@Retention(RetentionPolicy.SOURCE)
|
@Retention(RetentionPolicy.SOURCE)
|
||||||
public @interface MetadataFlag {
|
public @interface MetadataFlag {
|
||||||
@@ -87,9 +86,8 @@ public class PreferenceXmlParserUtils {
|
|||||||
int FLAG_NEED_PLATFORM_SLICE_FLAG = 1 << 7;
|
int FLAG_NEED_PLATFORM_SLICE_FLAG = 1 << 7;
|
||||||
int FLAG_NEED_KEYWORDS = 1 << 8;
|
int FLAG_NEED_KEYWORDS = 1 << 8;
|
||||||
int FLAG_NEED_SEARCHABLE = 1 << 9;
|
int FLAG_NEED_SEARCHABLE = 1 << 9;
|
||||||
int FLAG_ALLOW_DYNAMIC_SUMMARY_IN_SLICE = 1 << 10;
|
int FLAG_NEED_PREF_APPEND = 1 << 10;
|
||||||
int FLAG_NEED_PREF_APPEND = 1 << 11;
|
int FLAG_UNAVAILABLE_SLICE_SUBTITLE = 1 << 11;
|
||||||
int FLAG_UNAVAILABLE_SLICE_SUBTITLE = 1 << 12;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final String METADATA_PREF_TYPE = "type";
|
public static final String METADATA_PREF_TYPE = "type";
|
||||||
@@ -101,8 +99,6 @@ public class PreferenceXmlParserUtils {
|
|||||||
public static final String METADATA_PLATFORM_SLICE_FLAG = "platform_slice";
|
public static final String METADATA_PLATFORM_SLICE_FLAG = "platform_slice";
|
||||||
public static final String METADATA_KEYWORDS = "keywords";
|
public static final String METADATA_KEYWORDS = "keywords";
|
||||||
public static final String METADATA_SEARCHABLE = "searchable";
|
public static final String METADATA_SEARCHABLE = "searchable";
|
||||||
public static final String METADATA_ALLOW_DYNAMIC_SUMMARY_IN_SLICE =
|
|
||||||
"allow_dynamic_summary_in_slice";
|
|
||||||
public static final String METADATA_APPEND = "staticPreferenceLocation";
|
public static final String METADATA_APPEND = "staticPreferenceLocation";
|
||||||
public static final String METADATA_UNAVAILABLE_SLICE_SUBTITLE =
|
public static final String METADATA_UNAVAILABLE_SLICE_SUBTITLE =
|
||||||
"unavailable_slice_subtitle";
|
"unavailable_slice_subtitle";
|
||||||
@@ -246,10 +242,6 @@ public class PreferenceXmlParserUtils {
|
|||||||
preferenceMetadata.putBoolean(METADATA_SEARCHABLE,
|
preferenceMetadata.putBoolean(METADATA_SEARCHABLE,
|
||||||
isSearchable(preferenceAttributes));
|
isSearchable(preferenceAttributes));
|
||||||
}
|
}
|
||||||
if (hasFlag(flags, MetadataFlag.FLAG_ALLOW_DYNAMIC_SUMMARY_IN_SLICE)) {
|
|
||||||
preferenceMetadata.putBoolean(METADATA_ALLOW_DYNAMIC_SUMMARY_IN_SLICE,
|
|
||||||
isDynamicSummaryAllowed(preferenceAttributes));
|
|
||||||
}
|
|
||||||
if (hasFlag(flags, MetadataFlag.FLAG_NEED_PREF_APPEND) && hasPrefScreenFlag) {
|
if (hasFlag(flags, MetadataFlag.FLAG_NEED_PREF_APPEND) && hasPrefScreenFlag) {
|
||||||
preferenceMetadata.putBoolean(METADATA_APPEND,
|
preferenceMetadata.putBoolean(METADATA_APPEND,
|
||||||
isAppended(preferenceScreenAttributes));
|
isAppended(preferenceScreenAttributes));
|
||||||
@@ -267,14 +259,6 @@ public class PreferenceXmlParserUtils {
|
|||||||
return metadata;
|
return metadata;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the fragment name if this preference launches a child fragment.
|
|
||||||
*/
|
|
||||||
public static String getDataChildFragment(Context context, AttributeSet attrs) {
|
|
||||||
return getStringData(context, attrs, R.styleable.Preference,
|
|
||||||
R.styleable.Preference_android_fragment);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Call {@link #extractMetadata(Context, int, int)} with a {@link MetadataFlag} instead.
|
* Call {@link #extractMetadata(Context, int, int)} with a {@link MetadataFlag} instead.
|
||||||
*/
|
*/
|
||||||
@@ -342,11 +326,6 @@ public class PreferenceXmlParserUtils {
|
|||||||
return styledAttributes.getBoolean(R.styleable.Preference_searchable, true /* default */);
|
return styledAttributes.getBoolean(R.styleable.Preference_searchable, true /* default */);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean isDynamicSummaryAllowed(TypedArray styledAttributes) {
|
|
||||||
return styledAttributes.getBoolean(R.styleable.Preference_allowDynamicSummaryInSlice,
|
|
||||||
false /* default */);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static String getKeywords(TypedArray styledAttributes) {
|
private static String getKeywords(TypedArray styledAttributes) {
|
||||||
return styledAttributes.getString(R.styleable.Preference_keywords);
|
return styledAttributes.getString(R.styleable.Preference_keywords);
|
||||||
}
|
}
|
||||||
|
@@ -101,6 +101,11 @@ public class PhoneNumberPreferenceController extends BasePreferenceController {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean useDynamicSliceSummary() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void copy() {
|
public void copy() {
|
||||||
final ClipboardManager clipboard = (ClipboardManager) mContext.getSystemService(
|
final ClipboardManager clipboard = (ClipboardManager) mContext.getSystemService(
|
||||||
|
@@ -58,6 +58,11 @@ public class FirmwareVersionDetailPreferenceController extends BasePreferenceCon
|
|||||||
return AVAILABLE;
|
return AVAILABLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean useDynamicSliceSummary() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isSliceable() {
|
public boolean isSliceable() {
|
||||||
return true;
|
return true;
|
||||||
|
@@ -55,6 +55,11 @@ public class SimpleBuildNumberPreferenceController extends BasePreferenceControl
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean useDynamicSliceSummary() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void copy() {
|
public void copy() {
|
||||||
final ClipboardManager clipboard = (ClipboardManager) mContext.getSystemService(
|
final ClipboardManager clipboard = (ClipboardManager) mContext.getSystemService(
|
||||||
|
@@ -44,4 +44,9 @@ public class DeviceModelPreferenceController extends HardwareInfoPreferenceContr
|
|||||||
public CharSequence getSummary() {
|
public CharSequence getSummary() {
|
||||||
return HardwareInfoPreferenceController.getDeviceModel();
|
return HardwareInfoPreferenceController.getDeviceModel();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean useDynamicSliceSummary() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -34,6 +34,11 @@ public class HardwareRevisionPreferenceController extends BasePreferenceControll
|
|||||||
? AVAILABLE : UNSUPPORTED_ON_DEVICE;
|
? AVAILABLE : UNSUPPORTED_ON_DEVICE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean useDynamicSliceSummary() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isSliceable() {
|
public boolean isSliceable() {
|
||||||
return true;
|
return true;
|
||||||
|
@@ -45,6 +45,11 @@ public class SerialNumberPreferenceController extends BasePreferenceController {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean useDynamicSliceSummary() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void copy() {
|
public void copy() {
|
||||||
Sliceable.setCopyContent(mContext, getSummary(),
|
Sliceable.setCopyContent(mContext, getSummary(),
|
||||||
|
@@ -110,6 +110,11 @@ public class ImeiInfoPreferenceController extends BasePreferenceController {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean useDynamicSliceSummary() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void copy() {
|
public void copy() {
|
||||||
Sliceable.setCopyContent(mContext, getSummary(), mContext.getText(R.string.status_imei));
|
Sliceable.setCopyContent(mContext, getSummary(), mContext.getText(R.string.status_imei));
|
||||||
|
@@ -26,7 +26,6 @@ import androidx.annotation.VisibleForTesting;
|
|||||||
import androidx.preference.Preference;
|
import androidx.preference.Preference;
|
||||||
|
|
||||||
import com.android.settings.accounts.AccountRestrictionHelper;
|
import com.android.settings.accounts.AccountRestrictionHelper;
|
||||||
import com.android.settings.core.PreferenceControllerMixin;
|
|
||||||
import com.android.settings.core.SliderPreferenceController;
|
import com.android.settings.core.SliderPreferenceController;
|
||||||
import com.android.settingslib.RestrictedPreference;
|
import com.android.settingslib.RestrictedPreference;
|
||||||
|
|
||||||
@@ -35,7 +34,7 @@ import com.android.settingslib.RestrictedPreference;
|
|||||||
* restriction
|
* restriction
|
||||||
*/
|
*/
|
||||||
public abstract class AdjustVolumeRestrictedPreferenceController extends
|
public abstract class AdjustVolumeRestrictedPreferenceController extends
|
||||||
SliderPreferenceController implements PreferenceControllerMixin {
|
SliderPreferenceController {
|
||||||
|
|
||||||
private AccountRestrictionHelper mHelper;
|
private AccountRestrictionHelper mHelper;
|
||||||
|
|
||||||
|
@@ -22,8 +22,7 @@ import android.text.TextUtils;
|
|||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
|
||||||
public class AlarmVolumePreferenceController extends
|
public class AlarmVolumePreferenceController extends VolumeSeekBarPreferenceController {
|
||||||
VolumeSeekBarPreferenceController {
|
|
||||||
|
|
||||||
private static final String KEY_ALARM_VOLUME = "alarm_volume";
|
private static final String KEY_ALARM_VOLUME = "alarm_volume";
|
||||||
|
|
||||||
@@ -42,6 +41,11 @@ public class AlarmVolumePreferenceController extends
|
|||||||
return TextUtils.equals(getPreferenceKey(), "alarm_volume");
|
return TextUtils.equals(getPreferenceKey(), "alarm_volume");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean useDynamicSliceSummary() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getPreferenceKey() {
|
public String getPreferenceKey() {
|
||||||
return KEY_ALARM_VOLUME;
|
return KEY_ALARM_VOLUME;
|
||||||
|
@@ -43,6 +43,11 @@ public class CallVolumePreferenceController extends VolumeSeekBarPreferenceContr
|
|||||||
return TextUtils.equals(getPreferenceKey(), "call_volume");
|
return TextUtils.equals(getPreferenceKey(), "call_volume");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean useDynamicSliceSummary() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getAudioStream() {
|
public int getAudioStream() {
|
||||||
if (mAudioManager.isBluetoothScoOn()) {
|
if (mAudioManager.isBluetoothScoOn()) {
|
||||||
|
@@ -22,8 +22,7 @@ import android.text.TextUtils;
|
|||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
|
||||||
public class MediaVolumePreferenceController extends
|
public class MediaVolumePreferenceController extends VolumeSeekBarPreferenceController {
|
||||||
VolumeSeekBarPreferenceController {
|
|
||||||
|
|
||||||
private static final String KEY_MEDIA_VOLUME = "media_volume";
|
private static final String KEY_MEDIA_VOLUME = "media_volume";
|
||||||
|
|
||||||
@@ -43,6 +42,11 @@ public class MediaVolumePreferenceController extends
|
|||||||
return TextUtils.equals(getPreferenceKey(), KEY_MEDIA_VOLUME);
|
return TextUtils.equals(getPreferenceKey(), KEY_MEDIA_VOLUME);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean useDynamicSliceSummary() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getPreferenceKey() {
|
public String getPreferenceKey() {
|
||||||
return KEY_MEDIA_VOLUME;
|
return KEY_MEDIA_VOLUME;
|
||||||
|
@@ -37,8 +37,7 @@ import java.io.IOException;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
public class RemoteVolumePreferenceController extends
|
public class RemoteVolumePreferenceController extends VolumeSeekBarPreferenceController {
|
||||||
VolumeSeekBarPreferenceController {
|
|
||||||
|
|
||||||
private static final String KEY_REMOTE_VOLUME = "remote_volume";
|
private static final String KEY_REMOTE_VOLUME = "remote_volume";
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
@@ -167,6 +166,11 @@ public class RemoteVolumePreferenceController extends
|
|||||||
return TextUtils.equals(getPreferenceKey(), KEY_REMOTE_VOLUME);
|
return TextUtils.equals(getPreferenceKey(), KEY_REMOTE_VOLUME);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean useDynamicSliceSummary() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getPreferenceKey() {
|
public String getPreferenceKey() {
|
||||||
return KEY_REMOTE_VOLUME;
|
return KEY_REMOTE_VOLUME;
|
||||||
|
@@ -95,6 +95,11 @@ public class RingVolumePreferenceController extends VolumeSeekBarPreferenceContr
|
|||||||
return TextUtils.equals(getPreferenceKey(), KEY_RING_VOLUME);
|
return TextUtils.equals(getPreferenceKey(), KEY_RING_VOLUME);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean useDynamicSliceSummary() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getAudioStream() {
|
public int getAudioStream() {
|
||||||
return AudioManager.STREAM_RING;
|
return AudioManager.STREAM_RING;
|
||||||
|
@@ -207,7 +207,7 @@ public class SettingsSearchIndexablesProvider extends SearchIndexablesProvider {
|
|||||||
if (System.getProperty(SYSPROP_CRASH_ON_ERROR) != null) {
|
if (System.getProperty(SYSPROP_CRASH_ON_ERROR) != null) {
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
Log.e(TAG, "Error trying to get non-indexable keys from: " + clazz.getName() , e);
|
Log.e(TAG, "Error trying to get non-indexable keys from: " + clazz.getName(), e);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -188,8 +188,8 @@ public class SliceBuilderUtils {
|
|||||||
* @return the summary text for a {@link Slice} built for {@param sliceData}.
|
* @return the summary text for a {@link Slice} built for {@param sliceData}.
|
||||||
*/
|
*/
|
||||||
public static CharSequence getSubtitleText(Context context,
|
public static CharSequence getSubtitleText(Context context,
|
||||||
AbstractPreferenceController controller, SliceData sliceData) {
|
BasePreferenceController controller, SliceData sliceData) {
|
||||||
final boolean isDynamicSummaryAllowed = sliceData.isDynamicSummaryAllowed();
|
final boolean isDynamicSummaryAllowed = controller.useDynamicSliceSummary();
|
||||||
CharSequence summaryText = controller.getSummary();
|
CharSequence summaryText = controller.getSummary();
|
||||||
|
|
||||||
// Priority 1 : User prefers showing the dynamic summary in slice view rather than static
|
// Priority 1 : User prefers showing the dynamic summary in slice view rather than static
|
||||||
|
@@ -73,8 +73,6 @@ public class SliceData {
|
|||||||
|
|
||||||
private final boolean mIsPlatformDefined;
|
private final boolean mIsPlatformDefined;
|
||||||
|
|
||||||
private final boolean mIsDynamicSummaryAllowed;
|
|
||||||
|
|
||||||
private final String mUnavailableSliceSubtitle;
|
private final String mUnavailableSliceSubtitle;
|
||||||
|
|
||||||
public String getKey() {
|
public String getKey() {
|
||||||
@@ -121,10 +119,6 @@ public class SliceData {
|
|||||||
return mIsPlatformDefined;
|
return mIsPlatformDefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isDynamicSummaryAllowed() {
|
|
||||||
return mIsDynamicSummaryAllowed;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getUnavailableSliceSubtitle() {
|
public String getUnavailableSliceSubtitle() {
|
||||||
return mUnavailableSliceSubtitle;
|
return mUnavailableSliceSubtitle;
|
||||||
}
|
}
|
||||||
@@ -141,7 +135,6 @@ public class SliceData {
|
|||||||
mPreferenceController = builder.mPrefControllerClassName;
|
mPreferenceController = builder.mPrefControllerClassName;
|
||||||
mSliceType = builder.mSliceType;
|
mSliceType = builder.mSliceType;
|
||||||
mIsPlatformDefined = builder.mIsPlatformDefined;
|
mIsPlatformDefined = builder.mIsPlatformDefined;
|
||||||
mIsDynamicSummaryAllowed = builder.mIsDynamicSummaryAllowed;
|
|
||||||
mUnavailableSliceSubtitle = builder.mUnavailableSliceSubtitle;
|
mUnavailableSliceSubtitle = builder.mUnavailableSliceSubtitle;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -182,8 +175,6 @@ public class SliceData {
|
|||||||
|
|
||||||
private boolean mIsPlatformDefined;
|
private boolean mIsPlatformDefined;
|
||||||
|
|
||||||
private boolean mIsDynamicSummaryAllowed;
|
|
||||||
|
|
||||||
private String mUnavailableSliceSubtitle;
|
private String mUnavailableSliceSubtitle;
|
||||||
|
|
||||||
public Builder setKey(String key) {
|
public Builder setKey(String key) {
|
||||||
@@ -241,11 +232,6 @@ public class SliceData {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Builder setDynamicSummaryAllowed(boolean isDynamicSummaryAllowed) {
|
|
||||||
mIsDynamicSummaryAllowed = isDynamicSummaryAllowed;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Builder setUnavailableSliceSubtitle(
|
public Builder setUnavailableSliceSubtitle(
|
||||||
String unavailableSliceSubtitle) {
|
String unavailableSliceSubtitle) {
|
||||||
mUnavailableSliceSubtitle = unavailableSliceSubtitle;
|
mUnavailableSliceSubtitle = unavailableSliceSubtitle;
|
||||||
|
@@ -16,7 +16,6 @@
|
|||||||
|
|
||||||
package com.android.settings.slices;
|
package com.android.settings.slices;
|
||||||
|
|
||||||
import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_ALLOW_DYNAMIC_SUMMARY_IN_SLICE;
|
|
||||||
import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_CONTROLLER;
|
import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_CONTROLLER;
|
||||||
import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_ICON;
|
import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_ICON;
|
||||||
import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_KEY;
|
import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_KEY;
|
||||||
@@ -189,7 +188,6 @@ class SliceDataConverter {
|
|||||||
| MetadataFlag.FLAG_NEED_PREF_ICON
|
| MetadataFlag.FLAG_NEED_PREF_ICON
|
||||||
| MetadataFlag.FLAG_NEED_PREF_SUMMARY
|
| MetadataFlag.FLAG_NEED_PREF_SUMMARY
|
||||||
| MetadataFlag.FLAG_NEED_PLATFORM_SLICE_FLAG
|
| MetadataFlag.FLAG_NEED_PLATFORM_SLICE_FLAG
|
||||||
| MetadataFlag.FLAG_ALLOW_DYNAMIC_SUMMARY_IN_SLICE
|
|
||||||
| MetadataFlag.FLAG_UNAVAILABLE_SLICE_SUBTITLE);
|
| MetadataFlag.FLAG_UNAVAILABLE_SLICE_SUBTITLE);
|
||||||
|
|
||||||
for (Bundle bundle : metadata) {
|
for (Bundle bundle : metadata) {
|
||||||
@@ -207,8 +205,6 @@ class SliceDataConverter {
|
|||||||
final int sliceType = SliceBuilderUtils.getSliceType(mContext, controllerClassName,
|
final int sliceType = SliceBuilderUtils.getSliceType(mContext, controllerClassName,
|
||||||
key);
|
key);
|
||||||
final boolean isPlatformSlice = bundle.getBoolean(METADATA_PLATFORM_SLICE_FLAG);
|
final boolean isPlatformSlice = bundle.getBoolean(METADATA_PLATFORM_SLICE_FLAG);
|
||||||
final boolean isDynamicSummaryAllowed = bundle.getBoolean(
|
|
||||||
METADATA_ALLOW_DYNAMIC_SUMMARY_IN_SLICE);
|
|
||||||
final String unavailableSliceSubtitle = bundle.getString(
|
final String unavailableSliceSubtitle = bundle.getString(
|
||||||
METADATA_UNAVAILABLE_SLICE_SUBTITLE);
|
METADATA_UNAVAILABLE_SLICE_SUBTITLE);
|
||||||
|
|
||||||
@@ -222,7 +218,6 @@ class SliceDataConverter {
|
|||||||
.setFragmentName(fragmentName)
|
.setFragmentName(fragmentName)
|
||||||
.setSliceType(sliceType)
|
.setSliceType(sliceType)
|
||||||
.setPlatformDefined(isPlatformSlice)
|
.setPlatformDefined(isPlatformSlice)
|
||||||
.setDynamicSummaryAllowed(isDynamicSummaryAllowed)
|
|
||||||
.setUnavailableSliceSubtitle(unavailableSliceSubtitle)
|
.setUnavailableSliceSubtitle(unavailableSliceSubtitle)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
|
@@ -78,6 +78,13 @@ public interface Sliceable {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether or not summary comes from something dynamic (ie, not hardcoded in xml)
|
||||||
|
*/
|
||||||
|
default boolean useDynamicSliceSummary() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the copy content to the clipboard and show the toast.
|
* Set the copy content to the clipboard and show the toast.
|
||||||
*/
|
*/
|
||||||
|
@@ -49,7 +49,6 @@ public class SlicesDatabaseAccessor {
|
|||||||
IndexColumns.CONTROLLER,
|
IndexColumns.CONTROLLER,
|
||||||
IndexColumns.PLATFORM_SLICE,
|
IndexColumns.PLATFORM_SLICE,
|
||||||
IndexColumns.SLICE_TYPE,
|
IndexColumns.SLICE_TYPE,
|
||||||
IndexColumns.ALLOW_DYNAMIC_SUMMARY_IN_SLICE,
|
|
||||||
IndexColumns.UNAVAILABLE_SLICE_SUBTITLE,
|
IndexColumns.UNAVAILABLE_SLICE_SUBTITLE,
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -166,8 +165,6 @@ public class SlicesDatabaseAccessor {
|
|||||||
cursor.getColumnIndex(IndexColumns.CONTROLLER));
|
cursor.getColumnIndex(IndexColumns.CONTROLLER));
|
||||||
final boolean isPlatformDefined = cursor.getInt(
|
final boolean isPlatformDefined = cursor.getInt(
|
||||||
cursor.getColumnIndex(IndexColumns.PLATFORM_SLICE)) == TRUE;
|
cursor.getColumnIndex(IndexColumns.PLATFORM_SLICE)) == TRUE;
|
||||||
final boolean isDynamicSummaryAllowed = cursor.getInt(
|
|
||||||
cursor.getColumnIndex(IndexColumns.ALLOW_DYNAMIC_SUMMARY_IN_SLICE)) == TRUE;
|
|
||||||
int sliceType = cursor.getInt(
|
int sliceType = cursor.getInt(
|
||||||
cursor.getColumnIndex(IndexColumns.SLICE_TYPE));
|
cursor.getColumnIndex(IndexColumns.SLICE_TYPE));
|
||||||
final String unavailableSliceSubtitle = cursor.getString(
|
final String unavailableSliceSubtitle = cursor.getString(
|
||||||
@@ -189,7 +186,6 @@ public class SlicesDatabaseAccessor {
|
|||||||
.setUri(uri)
|
.setUri(uri)
|
||||||
.setPlatformDefined(isPlatformDefined)
|
.setPlatformDefined(isPlatformDefined)
|
||||||
.setSliceType(sliceType)
|
.setSliceType(sliceType)
|
||||||
.setDynamicSummaryAllowed(isDynamicSummaryAllowed)
|
|
||||||
.setUnavailableSliceSubtitle(unavailableSliceSubtitle)
|
.setUnavailableSliceSubtitle(unavailableSliceSubtitle)
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
@@ -36,7 +36,7 @@ public class SlicesDatabaseHelper extends SQLiteOpenHelper {
|
|||||||
private static final String DATABASE_NAME = "slices_index.db";
|
private static final String DATABASE_NAME = "slices_index.db";
|
||||||
private static final String SHARED_PREFS_TAG = "slices_shared_prefs";
|
private static final String SHARED_PREFS_TAG = "slices_shared_prefs";
|
||||||
|
|
||||||
private static final int DATABASE_VERSION = 4;
|
private static final int DATABASE_VERSION = 5;
|
||||||
|
|
||||||
public interface Tables {
|
public interface Tables {
|
||||||
String TABLE_SLICES_INDEX = "slices_index";
|
String TABLE_SLICES_INDEX = "slices_index";
|
||||||
@@ -94,12 +94,6 @@ public class SlicesDatabaseHelper extends SQLiteOpenHelper {
|
|||||||
*/
|
*/
|
||||||
String SLICE_TYPE = "slice_type";
|
String SLICE_TYPE = "slice_type";
|
||||||
|
|
||||||
/**
|
|
||||||
* Boolean flag, {@code true} when the slice object prefers using the dynamic summary from
|
|
||||||
* preference controller.
|
|
||||||
*/
|
|
||||||
String ALLOW_DYNAMIC_SUMMARY_IN_SLICE = "allow_dynamic_summary_in_slice";
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Customized subtitle if it's a unavailable slice
|
* Customized subtitle if it's a unavailable slice
|
||||||
*/
|
*/
|
||||||
@@ -129,8 +123,6 @@ public class SlicesDatabaseHelper extends SQLiteOpenHelper {
|
|||||||
", " +
|
", " +
|
||||||
IndexColumns.SLICE_TYPE +
|
IndexColumns.SLICE_TYPE +
|
||||||
", " +
|
", " +
|
||||||
IndexColumns.ALLOW_DYNAMIC_SUMMARY_IN_SLICE +
|
|
||||||
", " +
|
|
||||||
IndexColumns.UNAVAILABLE_SLICE_SUBTITLE +
|
IndexColumns.UNAVAILABLE_SLICE_SUBTITLE +
|
||||||
");";
|
");";
|
||||||
|
|
||||||
|
@@ -110,8 +110,6 @@ class SlicesIndexer implements Runnable {
|
|||||||
values.put(IndexColumns.CONTROLLER, dataRow.getPreferenceController());
|
values.put(IndexColumns.CONTROLLER, dataRow.getPreferenceController());
|
||||||
values.put(IndexColumns.PLATFORM_SLICE, dataRow.isPlatformDefined());
|
values.put(IndexColumns.PLATFORM_SLICE, dataRow.isPlatformDefined());
|
||||||
values.put(IndexColumns.SLICE_TYPE, dataRow.getSliceType());
|
values.put(IndexColumns.SLICE_TYPE, dataRow.getSliceType());
|
||||||
values.put(IndexColumns.ALLOW_DYNAMIC_SUMMARY_IN_SLICE,
|
|
||||||
dataRow.isDynamicSummaryAllowed());
|
|
||||||
values.put(IndexColumns.UNAVAILABLE_SLICE_SUBTITLE,
|
values.put(IndexColumns.UNAVAILABLE_SLICE_SUBTITLE,
|
||||||
dataRow.getUnavailableSliceSubtitle());
|
dataRow.getUnavailableSliceSubtitle());
|
||||||
|
|
||||||
|
@@ -25,15 +25,13 @@
|
|||||||
android:title="title"
|
android:title="title"
|
||||||
android:icon="@drawable/ic_android"
|
android:icon="@drawable/ic_android"
|
||||||
android:summary="summary1"
|
android:summary="summary1"
|
||||||
settings:controller="com.android.settings.core.BadPreferenceController"
|
settings:controller="com.android.settings.core.BadPreferenceController"/>
|
||||||
settings:allowDynamicSummaryInSlice="true"/>
|
|
||||||
|
|
||||||
<Preference
|
<Preference
|
||||||
android:key="key2"
|
android:key="key2"
|
||||||
android:title="title"
|
android:title="title"
|
||||||
android:icon="@drawable/ic_android"
|
android:icon="@drawable/ic_android"
|
||||||
android:summary="summary2"
|
android:summary="summary2"
|
||||||
settings:controller="com.android.settings.slices.FakePreferenceController"
|
settings:controller="com.android.settings.slices.FakePreferenceController"/>
|
||||||
settings:allowDynamicSummaryInSlice="true"/>
|
|
||||||
|
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
@@ -27,7 +27,6 @@
|
|||||||
settings:controller="com.android.settings.slices.FakePreferenceController"
|
settings:controller="com.android.settings.slices.FakePreferenceController"
|
||||||
settings:keywords="a, b, c"
|
settings:keywords="a, b, c"
|
||||||
settings:platform_slice="true"
|
settings:platform_slice="true"
|
||||||
settings:allowDynamicSummaryInSlice="true"
|
|
||||||
settings:unavailableSliceSubtitle="subtitleOfUnavailableSlice"/>
|
settings:unavailableSliceSubtitle="subtitleOfUnavailableSlice"/>
|
||||||
|
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
@@ -29,4 +29,9 @@ public class BadPreferenceController extends BasePreferenceController {
|
|||||||
public int getAvailabilityStatus() {
|
public int getAvailabilityStatus() {
|
||||||
return AVAILABLE;
|
return AVAILABLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean useDynamicSliceSummary() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -16,7 +16,6 @@
|
|||||||
|
|
||||||
package com.android.settings.core;
|
package com.android.settings.core;
|
||||||
|
|
||||||
import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_ALLOW_DYNAMIC_SUMMARY_IN_SLICE;
|
|
||||||
import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_APPEND;
|
import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_APPEND;
|
||||||
import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_KEY;
|
import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_KEY;
|
||||||
import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_KEYWORDS;
|
import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_KEYWORDS;
|
||||||
@@ -293,30 +292,6 @@ public class PreferenceXmlParserUtilsTest {
|
|||||||
assertThat(foundKey).isTrue();
|
assertThat(foundKey).isTrue();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
@Config(qualifiers = "mcc999")
|
|
||||||
public void extractMetadata_requestIsDynamicSummaryAllowed_shouldDefaultToFalse()
|
|
||||||
throws Exception {
|
|
||||||
final List<Bundle> metadata = PreferenceXmlParserUtils.extractMetadata(mContext,
|
|
||||||
R.xml.display_settings, MetadataFlag.FLAG_ALLOW_DYNAMIC_SUMMARY_IN_SLICE);
|
|
||||||
|
|
||||||
for (Bundle bundle : metadata) {
|
|
||||||
assertThat(bundle.getBoolean(METADATA_ALLOW_DYNAMIC_SUMMARY_IN_SLICE)).isFalse();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
@Config(qualifiers = "mcc998")
|
|
||||||
public void extractMetadata_requestIsDynamicSummaryAllowed_shouldReturnAttributeValue()
|
|
||||||
throws Exception {
|
|
||||||
final List<Bundle> metadata = PreferenceXmlParserUtils.extractMetadata(mContext,
|
|
||||||
R.xml.location_settings, MetadataFlag.FLAG_ALLOW_DYNAMIC_SUMMARY_IN_SLICE);
|
|
||||||
|
|
||||||
for (Bundle bundle : metadata) {
|
|
||||||
assertThat(bundle.getBoolean(METADATA_ALLOW_DYNAMIC_SUMMARY_IN_SLICE)).isTrue();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Config(qualifiers = "mcc999")
|
@Config(qualifiers = "mcc999")
|
||||||
public void extractMetadata_requestAppendProperty_shouldDefaultToFalse()
|
public void extractMetadata_requestAppendProperty_shouldDefaultToFalse()
|
||||||
|
@@ -40,4 +40,9 @@ public class FakePreferenceController extends BasePreferenceController {
|
|||||||
public boolean isSliceable() {
|
public boolean isSliceable() {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean useDynamicSliceSummary() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -69,7 +69,6 @@ public class SliceBuilderUtilsTest {
|
|||||||
private final Class SLIDER_CONTROLLER = FakeSliderController.class;
|
private final Class SLIDER_CONTROLLER = FakeSliderController.class;
|
||||||
private final Class COPYABLE_CONTROLLER = FakeCopyableController.class;
|
private final Class COPYABLE_CONTROLLER = FakeCopyableController.class;
|
||||||
private final Class CONTEXT_CONTROLLER = FakeContextOnlyPreferenceController.class;
|
private final Class CONTEXT_CONTROLLER = FakeContextOnlyPreferenceController.class;
|
||||||
private final boolean IS_DYNAMIC_SUMMARY_ALLOWED = false;
|
|
||||||
|
|
||||||
private final String INTENT_PATH = SettingsSlicesContract.PATH_SETTING_INTENT + "/" + KEY;
|
private final String INTENT_PATH = SettingsSlicesContract.PATH_SETTING_INTENT + "/" + KEY;
|
||||||
private final String ACTION_PATH = SettingsSlicesContract.PATH_SETTING_ACTION + "/" + KEY;
|
private final String ACTION_PATH = SettingsSlicesContract.PATH_SETTING_ACTION + "/" + KEY;
|
||||||
@@ -206,7 +205,7 @@ public class SliceBuilderUtilsTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getDynamicSummary_allowDynamicSummary_returnsControllerSummary() {
|
public void getDynamicSummary_allowDynamicSummary_returnsControllerSummary() {
|
||||||
final SliceData data = getDummyData(true /*isDynamicSummaryAllowed*/);
|
final SliceData data = getDummyData();
|
||||||
final FakePreferenceController controller = spy(
|
final FakePreferenceController controller = spy(
|
||||||
new FakePreferenceController(mContext, KEY));
|
new FakePreferenceController(mContext, KEY));
|
||||||
final String controllerSummary = "new_Summary";
|
final String controllerSummary = "new_Summary";
|
||||||
@@ -219,27 +218,17 @@ public class SliceBuilderUtilsTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getDynamicSummary_allowDynamicSummary_nullSummary_returnsNull() {
|
public void getDynamicSummary_allowDynamicSummary_nullSummary_returnsNull() {
|
||||||
final SliceData data = getDummyData(true /*isDynamicSummaryAllowed*/);
|
final SliceData data = getDummyData();
|
||||||
final FakePreferenceController controller = spy(
|
final FakePreferenceController controller = spy(
|
||||||
new FakePreferenceController(mContext, KEY));
|
new FakePreferenceController(mContext, KEY));
|
||||||
final String controllerSummary = null;
|
|
||||||
doReturn(controllerSummary).when(controller).getSummary();
|
doReturn(null).when(controller).getSummary();
|
||||||
|
|
||||||
final CharSequence summary = SliceBuilderUtils.getSubtitleText(mContext, controller, data);
|
final CharSequence summary = SliceBuilderUtils.getSubtitleText(mContext, controller, data);
|
||||||
|
|
||||||
assertThat(summary).isNull();
|
assertThat(summary).isNull();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void getDynamicSummary_returnsScreenTitle() {
|
|
||||||
final SliceData data = getDummyData();
|
|
||||||
final FakePreferenceController controller = new FakePreferenceController(mContext, KEY);
|
|
||||||
|
|
||||||
final CharSequence summary = SliceBuilderUtils.getSubtitleText(mContext, controller, data);
|
|
||||||
|
|
||||||
assertThat(summary).isEqualTo(data.getScreenTitle());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getDynamicSummary_noScreenTitle_returnsPrefControllerSummary() {
|
public void getDynamicSummary_noScreenTitle_returnsPrefControllerSummary() {
|
||||||
final SliceData data = getDummyData("", "");
|
final SliceData data = getDummyData("", "");
|
||||||
@@ -272,17 +261,7 @@ public class SliceBuilderUtilsTest {
|
|||||||
final FakePreferenceController controller = new FakePreferenceController(mContext, KEY);
|
final FakePreferenceController controller = new FakePreferenceController(mContext, KEY);
|
||||||
final CharSequence summary = SliceBuilderUtils.getSubtitleText(mContext, controller, data);
|
final CharSequence summary = SliceBuilderUtils.getSubtitleText(mContext, controller, data);
|
||||||
|
|
||||||
assertThat(summary).isEqualTo("");
|
assertThat(summary).isNull();
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void
|
|
||||||
getDynamicSummary_emptyScreenTitle_placeHolderControllerSummary_returnsEmptyString() {
|
|
||||||
final SliceData data = getDummyData(mContext.getString(R.string.summary_placeholder), null);
|
|
||||||
final FakePreferenceController controller = new FakePreferenceController(mContext, KEY);
|
|
||||||
final CharSequence summary = SliceBuilderUtils.getSubtitleText(mContext, controller, data);
|
|
||||||
|
|
||||||
assertThat(summary).isEqualTo("");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -295,7 +274,7 @@ public class SliceBuilderUtilsTest {
|
|||||||
|
|
||||||
CharSequence summary = SliceBuilderUtils.getSubtitleText(mContext, controller, data);
|
CharSequence summary = SliceBuilderUtils.getSubtitleText(mContext, controller, data);
|
||||||
|
|
||||||
assertThat(summary).isEqualTo("");
|
assertThat(summary).isEqualTo(summaryPlaceholder);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -449,7 +428,7 @@ public class SliceBuilderUtilsTest {
|
|||||||
R.drawable.ic_settings_accent).toIcon().getResId();
|
R.drawable.ic_settings_accent).toIcon().getResId();
|
||||||
final SliceData data = getDummyData(FakeUnavailablePreferenceController.class,
|
final SliceData data = getDummyData(FakeUnavailablePreferenceController.class,
|
||||||
SUMMARY, SliceData.SliceType.SWITCH, SCREEN_TITLE, 0 /* icon */,
|
SUMMARY, SliceData.SliceType.SWITCH, SCREEN_TITLE, 0 /* icon */,
|
||||||
IS_DYNAMIC_SUMMARY_ALLOWED, null /* unavailableSliceSubtitle */);
|
null /* unavailableSliceSubtitle */);
|
||||||
Settings.Global.putInt(mContext.getContentResolver(),
|
Settings.Global.putInt(mContext.getContentResolver(),
|
||||||
FakeUnavailablePreferenceController.AVAILABILITY_KEY,
|
FakeUnavailablePreferenceController.AVAILABILITY_KEY,
|
||||||
BasePreferenceController.DISABLED_DEPENDENT_SETTING);
|
BasePreferenceController.DISABLED_DEPENDENT_SETTING);
|
||||||
@@ -523,7 +502,7 @@ public class SliceBuilderUtilsTest {
|
|||||||
final String subtitleOfUnavailableSlice = "subtitleOfUnavailableSlice";
|
final String subtitleOfUnavailableSlice = "subtitleOfUnavailableSlice";
|
||||||
final SliceData data = getDummyData(FakeUnavailablePreferenceController.class,
|
final SliceData data = getDummyData(FakeUnavailablePreferenceController.class,
|
||||||
SUMMARY, SliceData.SliceType.SWITCH, SCREEN_TITLE, 0 /* icon */,
|
SUMMARY, SliceData.SliceType.SWITCH, SCREEN_TITLE, 0 /* icon */,
|
||||||
IS_DYNAMIC_SUMMARY_ALLOWED, subtitleOfUnavailableSlice);
|
subtitleOfUnavailableSlice);
|
||||||
Settings.Global.putInt(mContext.getContentResolver(),
|
Settings.Global.putInt(mContext.getContentResolver(),
|
||||||
FakeUnavailablePreferenceController.AVAILABILITY_KEY,
|
FakeUnavailablePreferenceController.AVAILABILITY_KEY,
|
||||||
BasePreferenceController.DISABLED_DEPENDENT_SETTING);
|
BasePreferenceController.DISABLED_DEPENDENT_SETTING);
|
||||||
@@ -551,32 +530,26 @@ public class SliceBuilderUtilsTest {
|
|||||||
|
|
||||||
private SliceData getDummyData() {
|
private SliceData getDummyData() {
|
||||||
return getDummyData(TOGGLE_CONTROLLER, SUMMARY, SliceData.SliceType.SWITCH, SCREEN_TITLE,
|
return getDummyData(TOGGLE_CONTROLLER, SUMMARY, SliceData.SliceType.SWITCH, SCREEN_TITLE,
|
||||||
ICON, IS_DYNAMIC_SUMMARY_ALLOWED, null /* unavailableSliceSubtitle */);
|
ICON, null /* unavailableSliceSubtitle */);
|
||||||
}
|
|
||||||
|
|
||||||
private SliceData getDummyData(boolean isDynamicSummaryAllowed) {
|
|
||||||
return getDummyData(TOGGLE_CONTROLLER, SUMMARY, SliceData.SliceType.SWITCH, SCREEN_TITLE,
|
|
||||||
ICON, isDynamicSummaryAllowed, null /* unavailableSliceSubtitle */);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private SliceData getDummyData(Class prefController, int sliceType, int icon) {
|
private SliceData getDummyData(Class prefController, int sliceType, int icon) {
|
||||||
return getDummyData(prefController, SUMMARY, sliceType, SCREEN_TITLE,
|
return getDummyData(prefController, SUMMARY, sliceType, SCREEN_TITLE,
|
||||||
icon, IS_DYNAMIC_SUMMARY_ALLOWED, null /* unavailableSliceSubtitle */);
|
icon, null /* unavailableSliceSubtitle */);
|
||||||
}
|
}
|
||||||
|
|
||||||
private SliceData getDummyData(String summary, String screenTitle) {
|
private SliceData getDummyData(String summary, String screenTitle) {
|
||||||
return getDummyData(TOGGLE_CONTROLLER, summary, SliceData.SliceType.SWITCH, screenTitle,
|
return getDummyData(TOGGLE_CONTROLLER, summary, SliceData.SliceType.SWITCH, screenTitle,
|
||||||
ICON, IS_DYNAMIC_SUMMARY_ALLOWED, null /* unavailableSliceSubtitle */);
|
ICON, null /* unavailableSliceSubtitle */);
|
||||||
}
|
}
|
||||||
|
|
||||||
private SliceData getDummyData(Class prefController, int sliceType) {
|
private SliceData getDummyData(Class prefController, int sliceType) {
|
||||||
return getDummyData(prefController, SUMMARY, sliceType, SCREEN_TITLE, ICON,
|
return getDummyData(prefController, SUMMARY, sliceType, SCREEN_TITLE, ICON,
|
||||||
IS_DYNAMIC_SUMMARY_ALLOWED, null /* unavailableSliceSubtitle */);
|
null /* unavailableSliceSubtitle */);
|
||||||
}
|
}
|
||||||
|
|
||||||
private SliceData getDummyData(Class prefController, String summary, int sliceType,
|
private SliceData getDummyData(Class prefController, String summary, int sliceType,
|
||||||
String screenTitle, int icon, boolean isDynamicSummaryAllowed,
|
String screenTitle, int icon, String unavailableSliceSubtitle) {
|
||||||
String unavailableSliceSubtitle) {
|
|
||||||
return new SliceData.Builder()
|
return new SliceData.Builder()
|
||||||
.setKey(KEY)
|
.setKey(KEY)
|
||||||
.setTitle(TITLE)
|
.setTitle(TITLE)
|
||||||
@@ -588,7 +561,6 @@ public class SliceBuilderUtilsTest {
|
|||||||
.setUri(URI)
|
.setUri(URI)
|
||||||
.setPreferenceControllerClassName(prefController.getName())
|
.setPreferenceControllerClassName(prefController.getName())
|
||||||
.setSliceType(sliceType)
|
.setSliceType(sliceType)
|
||||||
.setDynamicSummaryAllowed(isDynamicSummaryAllowed)
|
|
||||||
.setUnavailableSliceSubtitle(unavailableSliceSubtitle)
|
.setUnavailableSliceSubtitle(unavailableSliceSubtitle)
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
@@ -124,7 +124,6 @@ public class SliceDataConverterTest {
|
|||||||
assertThat(fakeSlice.getPreferenceController()).isEqualTo(FAKE_CONTROLLER_NAME);
|
assertThat(fakeSlice.getPreferenceController()).isEqualTo(FAKE_CONTROLLER_NAME);
|
||||||
assertThat(fakeSlice.getSliceType()).isEqualTo(SliceData.SliceType.SLIDER);
|
assertThat(fakeSlice.getSliceType()).isEqualTo(SliceData.SliceType.SLIDER);
|
||||||
assertThat(fakeSlice.isPlatformDefined()).isTrue(); // from XML
|
assertThat(fakeSlice.isPlatformDefined()).isTrue(); // from XML
|
||||||
assertThat(fakeSlice.isDynamicSummaryAllowed()).isTrue(); // from XML
|
|
||||||
assertThat(fakeSlice.getUnavailableSliceSubtitle()).isEqualTo(
|
assertThat(fakeSlice.getUnavailableSliceSubtitle()).isEqualTo(
|
||||||
"subtitleOfUnavailableSlice"); // from XML
|
"subtitleOfUnavailableSlice"); // from XML
|
||||||
}
|
}
|
||||||
|
@@ -38,7 +38,6 @@ public class SliceDataTest {
|
|||||||
private final String PREF_CONTROLLER = "com.android.settings.slices.tester";
|
private final String PREF_CONTROLLER = "com.android.settings.slices.tester";
|
||||||
private final int SLICE_TYPE = SliceData.SliceType.SWITCH;
|
private final int SLICE_TYPE = SliceData.SliceType.SWITCH;
|
||||||
private final boolean IS_PLATFORM_DEFINED = true;
|
private final boolean IS_PLATFORM_DEFINED = true;
|
||||||
private final boolean IS_DYNAMIC_SUMMARY_ALLOWED = true;
|
|
||||||
private final String UNAVAILABLE_SLICE_SUBTITLE = "subtitleOfUnavailableSlice";
|
private final String UNAVAILABLE_SLICE_SUBTITLE = "subtitleOfUnavailableSlice";
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -55,7 +54,6 @@ public class SliceDataTest {
|
|||||||
.setPreferenceControllerClassName(PREF_CONTROLLER)
|
.setPreferenceControllerClassName(PREF_CONTROLLER)
|
||||||
.setSliceType(SLICE_TYPE)
|
.setSliceType(SLICE_TYPE)
|
||||||
.setPlatformDefined(IS_PLATFORM_DEFINED)
|
.setPlatformDefined(IS_PLATFORM_DEFINED)
|
||||||
.setDynamicSummaryAllowed(IS_DYNAMIC_SUMMARY_ALLOWED)
|
|
||||||
.setUnavailableSliceSubtitle(UNAVAILABLE_SLICE_SUBTITLE);
|
.setUnavailableSliceSubtitle(UNAVAILABLE_SLICE_SUBTITLE);
|
||||||
|
|
||||||
SliceData data = builder.build();
|
SliceData data = builder.build();
|
||||||
@@ -71,7 +69,6 @@ public class SliceDataTest {
|
|||||||
assertThat(data.getPreferenceController()).isEqualTo(PREF_CONTROLLER);
|
assertThat(data.getPreferenceController()).isEqualTo(PREF_CONTROLLER);
|
||||||
assertThat(data.getSliceType()).isEqualTo(SLICE_TYPE);
|
assertThat(data.getSliceType()).isEqualTo(SLICE_TYPE);
|
||||||
assertThat(data.isPlatformDefined()).isEqualTo(IS_PLATFORM_DEFINED);
|
assertThat(data.isPlatformDefined()).isEqualTo(IS_PLATFORM_DEFINED);
|
||||||
assertThat(data.isDynamicSummaryAllowed()).isEqualTo(IS_DYNAMIC_SUMMARY_ALLOWED);
|
|
||||||
assertThat(data.getUnavailableSliceSubtitle()).isEqualTo(UNAVAILABLE_SLICE_SUBTITLE);
|
assertThat(data.getUnavailableSliceSubtitle()).isEqualTo(UNAVAILABLE_SLICE_SUBTITLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -220,31 +217,6 @@ public class SliceDataTest {
|
|||||||
assertThat(data.getPreferenceController()).isEqualTo(PREF_CONTROLLER);
|
assertThat(data.getPreferenceController()).isEqualTo(PREF_CONTROLLER);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testBuilder_noDynamicSummaryAllowed_buildsMatchingObject() {
|
|
||||||
SliceData.Builder builder = new SliceData.Builder()
|
|
||||||
.setKey(KEY)
|
|
||||||
.setTitle(TITLE)
|
|
||||||
.setSummary(SUMMARY)
|
|
||||||
.setScreenTitle(SCREEN_TITLE)
|
|
||||||
.setIcon(ICON)
|
|
||||||
.setFragmentName(FRAGMENT_NAME)
|
|
||||||
.setUri(URI)
|
|
||||||
.setPreferenceControllerClassName(PREF_CONTROLLER);
|
|
||||||
|
|
||||||
SliceData data = builder.build();
|
|
||||||
|
|
||||||
assertThat(data.getKey()).isEqualTo(KEY);
|
|
||||||
assertThat(data.getTitle()).isEqualTo(TITLE);
|
|
||||||
assertThat(data.getSummary()).isEqualTo(SUMMARY);
|
|
||||||
assertThat(data.getScreenTitle()).isEqualTo(SCREEN_TITLE);
|
|
||||||
assertThat(data.getIconResource()).isEqualTo(ICON);
|
|
||||||
assertThat(data.getFragmentClassName()).isEqualTo(FRAGMENT_NAME);
|
|
||||||
assertThat(data.getUri()).isEqualTo(URI);
|
|
||||||
assertThat(data.getPreferenceController()).isEqualTo(PREF_CONTROLLER);
|
|
||||||
assertThat(data.isDynamicSummaryAllowed()).isFalse();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testEquality_identicalObjects() {
|
public void testEquality_identicalObjects() {
|
||||||
SliceData.Builder builder = new SliceData.Builder()
|
SliceData.Builder builder = new SliceData.Builder()
|
||||||
@@ -255,8 +227,7 @@ public class SliceDataTest {
|
|||||||
.setIcon(ICON)
|
.setIcon(ICON)
|
||||||
.setFragmentName(FRAGMENT_NAME)
|
.setFragmentName(FRAGMENT_NAME)
|
||||||
.setUri(URI)
|
.setUri(URI)
|
||||||
.setPreferenceControllerClassName(PREF_CONTROLLER)
|
.setPreferenceControllerClassName(PREF_CONTROLLER);
|
||||||
.setDynamicSummaryAllowed(IS_DYNAMIC_SUMMARY_ALLOWED);
|
|
||||||
|
|
||||||
SliceData dataOne = builder.build();
|
SliceData dataOne = builder.build();
|
||||||
SliceData dataTwo = builder.build();
|
SliceData dataTwo = builder.build();
|
||||||
|
@@ -108,14 +108,13 @@ public class SlicesDatabaseAccessorTest {
|
|||||||
assertThat(data.getFragmentClassName()).isEqualTo(FAKE_FRAGMENT_NAME);
|
assertThat(data.getFragmentClassName()).isEqualTo(FAKE_FRAGMENT_NAME);
|
||||||
assertThat(data.getUri()).isNull();
|
assertThat(data.getUri()).isNull();
|
||||||
assertThat(data.getPreferenceController()).isEqualTo(FAKE_CONTROLLER_NAME);
|
assertThat(data.getPreferenceController()).isEqualTo(FAKE_CONTROLLER_NAME);
|
||||||
assertThat(data.isDynamicSummaryAllowed()).isFalse(); /* default value */
|
|
||||||
assertThat(data.getUnavailableSliceSubtitle()).isNull();
|
assertThat(data.getUnavailableSliceSubtitle()).isNull();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testGetSliceDataFromKey_allowDynamicSummary_validSliceReturned() {
|
public void testGetSliceDataFromKey_allowDynamicSummary_validSliceReturned() {
|
||||||
String key = "key";
|
String key = "key";
|
||||||
insertSpecialCase(key, true /* isPlatformSlice */, true /* isDynamicSummaryAllowed */,
|
insertSpecialCase(key, true /* isPlatformSlice */,
|
||||||
null /* customizedUnavailableSliceSubtitle */);
|
null /* customizedUnavailableSliceSubtitle */);
|
||||||
|
|
||||||
SliceData data = mAccessor.getSliceDataFromKey(key);
|
SliceData data = mAccessor.getSliceDataFromKey(key);
|
||||||
@@ -129,27 +128,6 @@ public class SlicesDatabaseAccessorTest {
|
|||||||
assertThat(data.getFragmentClassName()).isEqualTo(FAKE_FRAGMENT_NAME);
|
assertThat(data.getFragmentClassName()).isEqualTo(FAKE_FRAGMENT_NAME);
|
||||||
assertThat(data.getUri()).isNull();
|
assertThat(data.getUri()).isNull();
|
||||||
assertThat(data.getPreferenceController()).isEqualTo(FAKE_CONTROLLER_NAME);
|
assertThat(data.getPreferenceController()).isEqualTo(FAKE_CONTROLLER_NAME);
|
||||||
assertThat(data.isDynamicSummaryAllowed()).isTrue();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testGetSliceDataFromKey_doNotAllowDynamicSummary_validSliceReturned() {
|
|
||||||
String key = "key";
|
|
||||||
insertSpecialCase(key, true /* isPlatformSlice */, false /* isDynamicSummaryAllowed */,
|
|
||||||
null /* customizedUnavailableSliceSubtitle */);
|
|
||||||
|
|
||||||
SliceData data = mAccessor.getSliceDataFromKey(key);
|
|
||||||
|
|
||||||
assertThat(data.getKey()).isEqualTo(key);
|
|
||||||
assertThat(data.getTitle()).isEqualTo(FAKE_TITLE);
|
|
||||||
assertThat(data.getSummary()).isEqualTo(FAKE_SUMMARY);
|
|
||||||
assertThat(data.getScreenTitle()).isEqualTo(FAKE_SCREEN_TITLE);
|
|
||||||
assertThat(data.getKeywords()).isEqualTo(FAKE_KEYWORDS);
|
|
||||||
assertThat(data.getIconResource()).isEqualTo(FAKE_ICON);
|
|
||||||
assertThat(data.getFragmentClassName()).isEqualTo(FAKE_FRAGMENT_NAME);
|
|
||||||
assertThat(data.getUri()).isNull();
|
|
||||||
assertThat(data.getPreferenceController()).isEqualTo(FAKE_CONTROLLER_NAME);
|
|
||||||
assertThat(data.isDynamicSummaryAllowed()).isFalse();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(expected = IllegalStateException.class)
|
@Test(expected = IllegalStateException.class)
|
||||||
@@ -249,7 +227,7 @@ public class SlicesDatabaseAccessorTest {
|
|||||||
@Test
|
@Test
|
||||||
public void testGetSliceDataFromKey_defaultUnavailableSlice_validSliceReturned() {
|
public void testGetSliceDataFromKey_defaultUnavailableSlice_validSliceReturned() {
|
||||||
String key = "key";
|
String key = "key";
|
||||||
insertSpecialCase(key, true /* isPlatformSlice */, true /* isDynamicSummaryAllowed */,
|
insertSpecialCase(key, true /* isPlatformSlice */,
|
||||||
null /* customizedUnavailableSliceSubtitle */);
|
null /* customizedUnavailableSliceSubtitle */);
|
||||||
|
|
||||||
SliceData data = mAccessor.getSliceDataFromKey(key);
|
SliceData data = mAccessor.getSliceDataFromKey(key);
|
||||||
@@ -270,8 +248,7 @@ public class SlicesDatabaseAccessorTest {
|
|||||||
public void testGetSliceDataFromKey_customizeSubtitleOfUnavailableSlice_validSliceReturned() {
|
public void testGetSliceDataFromKey_customizeSubtitleOfUnavailableSlice_validSliceReturned() {
|
||||||
String key = "key";
|
String key = "key";
|
||||||
String subtitle = "subtitle";
|
String subtitle = "subtitle";
|
||||||
insertSpecialCase(key, true /* isPlatformSlice */, true /* isDynamicSummaryAllowed */,
|
insertSpecialCase(key, true /* isPlatformSlice */, subtitle);
|
||||||
subtitle);
|
|
||||||
|
|
||||||
SliceData data = mAccessor.getSliceDataFromKey(key);
|
SliceData data = mAccessor.getSliceDataFromKey(key);
|
||||||
|
|
||||||
@@ -292,12 +269,11 @@ public class SlicesDatabaseAccessorTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void insertSpecialCase(String key, boolean isPlatformSlice) {
|
private void insertSpecialCase(String key, boolean isPlatformSlice) {
|
||||||
insertSpecialCase(key, isPlatformSlice, false /* isDynamicSummaryAllowed */,
|
insertSpecialCase(key, isPlatformSlice, null /*customizedUnavailableSliceSubtitle*/);
|
||||||
null /*customizedUnavailableSliceSubtitle*/);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void insertSpecialCase(String key, boolean isPlatformSlice,
|
private void insertSpecialCase(String key, boolean isPlatformSlice,
|
||||||
boolean isDynamicSummaryAllowed, String customizedUnavailableSliceSubtitle) {
|
String customizedUnavailableSliceSubtitle) {
|
||||||
ContentValues values = new ContentValues();
|
ContentValues values = new ContentValues();
|
||||||
values.put(SlicesDatabaseHelper.IndexColumns.KEY, key);
|
values.put(SlicesDatabaseHelper.IndexColumns.KEY, key);
|
||||||
values.put(SlicesDatabaseHelper.IndexColumns.TITLE, FAKE_TITLE);
|
values.put(SlicesDatabaseHelper.IndexColumns.TITLE, FAKE_TITLE);
|
||||||
@@ -308,8 +284,6 @@ public class SlicesDatabaseAccessorTest {
|
|||||||
values.put(SlicesDatabaseHelper.IndexColumns.FRAGMENT, FAKE_FRAGMENT_NAME);
|
values.put(SlicesDatabaseHelper.IndexColumns.FRAGMENT, FAKE_FRAGMENT_NAME);
|
||||||
values.put(SlicesDatabaseHelper.IndexColumns.CONTROLLER, FAKE_CONTROLLER_NAME);
|
values.put(SlicesDatabaseHelper.IndexColumns.CONTROLLER, FAKE_CONTROLLER_NAME);
|
||||||
values.put(SlicesDatabaseHelper.IndexColumns.PLATFORM_SLICE, isPlatformSlice);
|
values.put(SlicesDatabaseHelper.IndexColumns.PLATFORM_SLICE, isPlatformSlice);
|
||||||
values.put(SlicesDatabaseHelper.IndexColumns.ALLOW_DYNAMIC_SUMMARY_IN_SLICE,
|
|
||||||
isDynamicSummaryAllowed);
|
|
||||||
values.put(SlicesDatabaseHelper.IndexColumns.SLICE_TYPE, SliceData.SliceType.INTENT);
|
values.put(SlicesDatabaseHelper.IndexColumns.SLICE_TYPE, SliceData.SliceType.INTENT);
|
||||||
values.put(SlicesDatabaseHelper.IndexColumns.UNAVAILABLE_SLICE_SUBTITLE,
|
values.put(SlicesDatabaseHelper.IndexColumns.UNAVAILABLE_SLICE_SUBTITLE,
|
||||||
customizedUnavailableSliceSubtitle);
|
customizedUnavailableSliceSubtitle);
|
||||||
|
@@ -74,7 +74,6 @@ public class SlicesDatabaseHelperTest {
|
|||||||
IndexColumns.CONTROLLER,
|
IndexColumns.CONTROLLER,
|
||||||
IndexColumns.PLATFORM_SLICE,
|
IndexColumns.PLATFORM_SLICE,
|
||||||
IndexColumns.SLICE_TYPE,
|
IndexColumns.SLICE_TYPE,
|
||||||
IndexColumns.ALLOW_DYNAMIC_SUMMARY_IN_SLICE,
|
|
||||||
IndexColumns.UNAVAILABLE_SLICE_SUBTITLE,
|
IndexColumns.UNAVAILABLE_SLICE_SUBTITLE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -53,7 +53,6 @@ public class SlicesIndexerTest {
|
|||||||
private final Uri URI = Uri.parse("content://com.android.settings.slices/test");
|
private final Uri URI = Uri.parse("content://com.android.settings.slices/test");
|
||||||
private final String PREF_CONTROLLER = "com.android.settings.slices.tester";
|
private final String PREF_CONTROLLER = "com.android.settings.slices.tester";
|
||||||
private final boolean PLATFORM_DEFINED = true;
|
private final boolean PLATFORM_DEFINED = true;
|
||||||
private final boolean IS_DYNAMIC_SUMMARY_ALLOWED = true;
|
|
||||||
private final int SLICE_TYPE = SliceData.SliceType.SLIDER;
|
private final int SLICE_TYPE = SliceData.SliceType.SLIDER;
|
||||||
private final String UNAVAILABLE_SLICE_SUBTITLE = "subtitleOfUnavailableSlice";
|
private final String UNAVAILABLE_SLICE_SUBTITLE = "subtitleOfUnavailableSlice";
|
||||||
|
|
||||||
@@ -142,10 +141,6 @@ public class SlicesIndexerTest {
|
|||||||
.isEqualTo(1 /* true */);
|
.isEqualTo(1 /* true */);
|
||||||
assertThat(cursor.getInt(cursor.getColumnIndex(IndexColumns.SLICE_TYPE)))
|
assertThat(cursor.getInt(cursor.getColumnIndex(IndexColumns.SLICE_TYPE)))
|
||||||
.isEqualTo(SLICE_TYPE);
|
.isEqualTo(SLICE_TYPE);
|
||||||
assertThat(cursor.getInt(
|
|
||||||
cursor.getColumnIndex(
|
|
||||||
IndexColumns.ALLOW_DYNAMIC_SUMMARY_IN_SLICE)))
|
|
||||||
.isEqualTo(1 /* true */);
|
|
||||||
assertThat(cursor.getString(
|
assertThat(cursor.getString(
|
||||||
cursor.getColumnIndex(IndexColumns.UNAVAILABLE_SLICE_SUBTITLE)))
|
cursor.getColumnIndex(IndexColumns.UNAVAILABLE_SLICE_SUBTITLE)))
|
||||||
.isEqualTo(UNAVAILABLE_SLICE_SUBTITLE);
|
.isEqualTo(UNAVAILABLE_SLICE_SUBTITLE);
|
||||||
@@ -183,7 +178,6 @@ public class SlicesIndexerTest {
|
|||||||
.setPreferenceControllerClassName(PREF_CONTROLLER)
|
.setPreferenceControllerClassName(PREF_CONTROLLER)
|
||||||
.setPlatformDefined(PLATFORM_DEFINED)
|
.setPlatformDefined(PLATFORM_DEFINED)
|
||||||
.setSliceType(SLICE_TYPE)
|
.setSliceType(SLICE_TYPE)
|
||||||
.setDynamicSummaryAllowed(IS_DYNAMIC_SUMMARY_ALLOWED)
|
|
||||||
.setUnavailableSliceSubtitle(UNAVAILABLE_SLICE_SUBTITLE);
|
.setUnavailableSliceSubtitle(UNAVAILABLE_SLICE_SUBTITLE);
|
||||||
|
|
||||||
for (int i = 0; i < KEYS.length; i++) {
|
for (int i = 0; i < KEYS.length; i++) {
|
||||||
|
Reference in New Issue
Block a user