diff options
6 files changed, 39 insertions, 22 deletions
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingItem.kt b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingItem.kt index a0fe5d275b36..38183d5a01fd 100644 --- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingItem.kt +++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingItem.kt @@ -36,6 +36,7 @@ data class DeviceSettingItem( val className: String, val intentAction: String, val preferenceKey: String? = null, + val highlighted: Boolean = false, val extras: Bundle = Bundle.EMPTY, ) : Parcelable { @@ -47,6 +48,7 @@ data class DeviceSettingItem( writeString(packageName) writeString(className) writeString(intentAction) + writeBoolean(highlighted) writeString(preferenceKey) writeBundle(extras) } @@ -63,6 +65,7 @@ data class DeviceSettingItem( packageName = readString() ?: "", className = readString() ?: "", intentAction = readString() ?: "", + highlighted = readBoolean(), preferenceKey = readString() ?: "", extras = readBundle((Bundle::class.java.classLoader)) ?: Bundle.EMPTY, ) diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingPreference.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingPreference.java index 4b67ef78c014..c8c7562c03f1 100644 --- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingPreference.java +++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingPreference.java @@ -42,6 +42,8 @@ public abstract class DeviceSettingPreference { return MultiTogglePreference.readFromParcel(in); case DeviceSettingType.DEVICE_SETTING_TYPE_FOOTER: return DeviceSettingFooterPreference.readFromParcel(in); + case DeviceSettingType.DEVICE_SETTING_TYPE_HELP: + return DeviceSettingHelpPreference.readFromParcel(in); default: return UNKNOWN; } diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/data/repository/DeviceSettingRepository.kt b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/data/repository/DeviceSettingRepository.kt index 769b6e6796f9..29664f63d3b2 100644 --- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/data/repository/DeviceSettingRepository.kt +++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/data/repository/DeviceSettingRepository.kt @@ -110,15 +110,16 @@ class DeviceSettingRepositoryImpl( if (settingId == DeviceSettingId.DEVICE_SETTING_ID_BLUETOOTH_PROFILES) { BluetoothProfilesItem( settingId, + highlighted, preferenceKey!!, extras.getStringArrayList(DeviceSettingContract.INVISIBLE_PROFILES) ?: emptyList() ) } else { - CommonBuiltinItem(settingId, preferenceKey!!) + CommonBuiltinItem(settingId, highlighted, preferenceKey!!) } } else { - AppProvidedItem(settingId) + AppProvidedItem(settingId, highlighted) } } diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/shared/model/DeviceSettingConfigModel.kt b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/shared/model/DeviceSettingConfigModel.kt index 08fb3fb8fb22..5958c30b079e 100644 --- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/shared/model/DeviceSettingConfigModel.kt +++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/shared/model/DeviceSettingConfigModel.kt @@ -34,6 +34,7 @@ data class DeviceSettingConfigModel( /** Models a device setting item in config. */ sealed interface DeviceSettingConfigItemModel { @DeviceSettingId val settingId: Int + val highlighted: Boolean /** A built-in item in Settings. */ sealed interface BuiltinItem : DeviceSettingConfigItemModel { @@ -43,18 +44,22 @@ sealed interface DeviceSettingConfigItemModel { /** A general built-in item in Settings. */ data class CommonBuiltinItem( @DeviceSettingId override val settingId: Int, + override val highlighted: Boolean, override val preferenceKey: String, ) : BuiltinItem /** A bluetooth profiles in Settings. */ data class BluetoothProfilesItem( @DeviceSettingId override val settingId: Int, + override val highlighted: Boolean, override val preferenceKey: String, val invisibleProfiles: List<String>, ) : BuiltinItem } /** A remote item provided by other apps. */ - data class AppProvidedItem(@DeviceSettingId override val settingId: Int) : - DeviceSettingConfigItemModel + data class AppProvidedItem( + @DeviceSettingId override val settingId: Int, + override val highlighted: Boolean, + ) : DeviceSettingConfigItemModel } diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingItemTest.kt b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingItemTest.kt index 56e9b6c27925..86071bbef899 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingItemTest.kt +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingItemTest.kt @@ -34,6 +34,8 @@ class DeviceSettingItemTest { packageName = "package_name", className = "class_name", intentAction = "intent_action", + preferenceKey = "key1", + highlighted = true, extras = Bundle().apply { putString("key1", "value1") }, ) @@ -43,6 +45,7 @@ class DeviceSettingItemTest { assertThat(fromParcel.packageName).isEqualTo(item.packageName) assertThat(fromParcel.className).isEqualTo(item.className) assertThat(fromParcel.intentAction).isEqualTo(item.intentAction) + assertThat(fromParcel.preferenceKey).isEqualTo(item.preferenceKey) assertThat(fromParcel.extras.getString("key1")).isEqualTo(item.extras.getString("key1")) } diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingsConfigTest.kt b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingsConfigTest.kt index a0a2658b05d3..7f1729387a22 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingsConfigTest.kt +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingsConfigTest.kt @@ -33,30 +33,33 @@ class DeviceSettingsConfigTest { mainContentItems = listOf( DeviceSettingItem( - 1, - "package_name_1", - "class_name_1", - "intent_action_1", - null, - Bundle(), + settingId = 1, + packageName = "package_name_1", + className = "class_name_1", + intentAction = "intent_action_1", + preferenceKey = null, + highlighted = false, + extras = Bundle(), )), moreSettingsItems = listOf( DeviceSettingItem( - 2, - "package_name_2", - "class_name_2", - "intent_action_2", - null, - Bundle(), + settingId = 2, + packageName = "package_name_2", + className = "class_name_2", + intentAction = "intent_action_2", + preferenceKey = null, + highlighted = false, + extras = Bundle(), )), moreSettingsHelpItem = DeviceSettingItem( - 3, - "package_name_2", - "class_name_2", - "intent_action_2", - null, - Bundle(), + settingId = 3, + packageName = "package_name_2", + className = "class_name_2", + intentAction = "intent_action_2", + preferenceKey = null, + highlighted = false, + extras = Bundle(), ), extras = Bundle().apply { putString("key1", "value1") }, ) |