Loading packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingItem.kt +4 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import android.os.Parcelable * @property packageName The package name for service binding. * @property className The class name for service binding. * @property intentAction The intent action for service binding. * @property preferenceKey The preference key if it's a built-in preference. * @property extras Extra bundle */ data class DeviceSettingItem( Loading @@ -34,6 +35,7 @@ data class DeviceSettingItem( val packageName: String, val className: String, val intentAction: String, val preferenceKey: String? = null, val extras: Bundle = Bundle.EMPTY, ) : Parcelable { Loading @@ -45,6 +47,7 @@ data class DeviceSettingItem( writeString(packageName) writeString(className) writeString(intentAction) writeString(preferenceKey) writeBundle(extras) } } Loading @@ -60,6 +63,7 @@ data class DeviceSettingItem( packageName = readString() ?: "", className = readString() ?: "", intentAction = readString() ?: "", preferenceKey = readString() ?: "", extras = readBundle((Bundle::class.java.classLoader)) ?: Bundle.EMPTY, ) } Loading packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/data/repository/DeviceSettingRepository.kt +10 −6 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.settingslib.bluetooth.devicesettings.data.repository import android.bluetooth.BluetoothAdapter import android.content.Context import android.text.TextUtils import com.android.settingslib.bluetooth.CachedBluetoothDevice import com.android.settingslib.bluetooth.devicesettings.ActionSwitchPreference import com.android.settingslib.bluetooth.devicesettings.DeviceSetting Loading Loading @@ -76,8 +77,7 @@ class DeviceSettingRepositoryImpl( coroutineScope, backgroundCoroutineContext, ) } ) }) override suspend fun getDeviceSettingsConfig( cachedDevice: CachedBluetoothDevice Loading @@ -96,11 +96,15 @@ class DeviceSettingRepositoryImpl( DeviceSettingConfigModel( mainItems = mainContentItems.map { it.toModel() }, moreSettingsItems = moreSettingsItems.map { it.toModel() }, moreSettingsPageFooter = moreSettingsFooter ) moreSettingsPageFooter = moreSettingsFooter) private fun DeviceSettingItem.toModel(): DeviceSettingConfigItemModel = DeviceSettingConfigItemModel(settingId) private fun DeviceSettingItem.toModel(): DeviceSettingConfigItemModel { return if (!TextUtils.isEmpty(preferenceKey)) { DeviceSettingConfigItemModel.BuiltinItem(settingId, preferenceKey!!) } else { DeviceSettingConfigItemModel.AppProvidedItem(settingId) } } private fun DeviceSetting.toModel( cachedDevice: CachedBluetoothDevice, Loading packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/shared/model/DeviceSettingConfigModel.kt +15 −4 Original line number Diff line number Diff line Loading @@ -25,9 +25,20 @@ data class DeviceSettingConfigModel( /** Items need to be shown in device details more settings page. */ val moreSettingsItems: List<DeviceSettingConfigItemModel>, /** Footer text in more settings page. */ val moreSettingsPageFooter: String) val moreSettingsPageFooter: String ) /** Models a device setting item in config. */ data class DeviceSettingConfigItemModel( @DeviceSettingId val settingId: Int, ) sealed interface DeviceSettingConfigItemModel { @DeviceSettingId val settingId: Int /** A built-in item in Settings. */ data class BuiltinItem( @DeviceSettingId override val settingId: Int, val preferenceKey: String ) : DeviceSettingConfigItemModel /** A remote item provided by other apps. */ data class AppProvidedItem(@DeviceSettingId override val settingId: Int) : DeviceSettingConfigItemModel } packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingsConfigTest.kt +6 −6 Original line number Diff line number Diff line Loading @@ -37,9 +37,9 @@ class DeviceSettingsConfigTest { "package_name_1", "class_name_1", "intent_action_1", Bundle() ) ), null, Bundle(), )), moreSettingsItems = listOf( DeviceSettingItem( Loading @@ -47,9 +47,9 @@ class DeviceSettingsConfigTest { "package_name_2", "class_name_2", "intent_action_2", Bundle() ) ), null, Bundle(), )), moreSettingsFooter = "footer", extras = Bundle().apply { putString("key1", "value1") }, ) Loading Loading
packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingItem.kt +4 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import android.os.Parcelable * @property packageName The package name for service binding. * @property className The class name for service binding. * @property intentAction The intent action for service binding. * @property preferenceKey The preference key if it's a built-in preference. * @property extras Extra bundle */ data class DeviceSettingItem( Loading @@ -34,6 +35,7 @@ data class DeviceSettingItem( val packageName: String, val className: String, val intentAction: String, val preferenceKey: String? = null, val extras: Bundle = Bundle.EMPTY, ) : Parcelable { Loading @@ -45,6 +47,7 @@ data class DeviceSettingItem( writeString(packageName) writeString(className) writeString(intentAction) writeString(preferenceKey) writeBundle(extras) } } Loading @@ -60,6 +63,7 @@ data class DeviceSettingItem( packageName = readString() ?: "", className = readString() ?: "", intentAction = readString() ?: "", preferenceKey = readString() ?: "", extras = readBundle((Bundle::class.java.classLoader)) ?: Bundle.EMPTY, ) } Loading
packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/data/repository/DeviceSettingRepository.kt +10 −6 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.settingslib.bluetooth.devicesettings.data.repository import android.bluetooth.BluetoothAdapter import android.content.Context import android.text.TextUtils import com.android.settingslib.bluetooth.CachedBluetoothDevice import com.android.settingslib.bluetooth.devicesettings.ActionSwitchPreference import com.android.settingslib.bluetooth.devicesettings.DeviceSetting Loading Loading @@ -76,8 +77,7 @@ class DeviceSettingRepositoryImpl( coroutineScope, backgroundCoroutineContext, ) } ) }) override suspend fun getDeviceSettingsConfig( cachedDevice: CachedBluetoothDevice Loading @@ -96,11 +96,15 @@ class DeviceSettingRepositoryImpl( DeviceSettingConfigModel( mainItems = mainContentItems.map { it.toModel() }, moreSettingsItems = moreSettingsItems.map { it.toModel() }, moreSettingsPageFooter = moreSettingsFooter ) moreSettingsPageFooter = moreSettingsFooter) private fun DeviceSettingItem.toModel(): DeviceSettingConfigItemModel = DeviceSettingConfigItemModel(settingId) private fun DeviceSettingItem.toModel(): DeviceSettingConfigItemModel { return if (!TextUtils.isEmpty(preferenceKey)) { DeviceSettingConfigItemModel.BuiltinItem(settingId, preferenceKey!!) } else { DeviceSettingConfigItemModel.AppProvidedItem(settingId) } } private fun DeviceSetting.toModel( cachedDevice: CachedBluetoothDevice, Loading
packages/SettingsLib/src/com/android/settingslib/bluetooth/devicesettings/shared/model/DeviceSettingConfigModel.kt +15 −4 Original line number Diff line number Diff line Loading @@ -25,9 +25,20 @@ data class DeviceSettingConfigModel( /** Items need to be shown in device details more settings page. */ val moreSettingsItems: List<DeviceSettingConfigItemModel>, /** Footer text in more settings page. */ val moreSettingsPageFooter: String) val moreSettingsPageFooter: String ) /** Models a device setting item in config. */ data class DeviceSettingConfigItemModel( @DeviceSettingId val settingId: Int, ) sealed interface DeviceSettingConfigItemModel { @DeviceSettingId val settingId: Int /** A built-in item in Settings. */ data class BuiltinItem( @DeviceSettingId override val settingId: Int, val preferenceKey: String ) : DeviceSettingConfigItemModel /** A remote item provided by other apps. */ data class AppProvidedItem(@DeviceSettingId override val settingId: Int) : DeviceSettingConfigItemModel }
packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/devicesettings/DeviceSettingsConfigTest.kt +6 −6 Original line number Diff line number Diff line Loading @@ -37,9 +37,9 @@ class DeviceSettingsConfigTest { "package_name_1", "class_name_1", "intent_action_1", Bundle() ) ), null, Bundle(), )), moreSettingsItems = listOf( DeviceSettingItem( Loading @@ -47,9 +47,9 @@ class DeviceSettingsConfigTest { "package_name_2", "class_name_2", "intent_action_2", Bundle() ) ), null, Bundle(), )), moreSettingsFooter = "footer", extras = Bundle().apply { putString("key1", "value1") }, ) Loading