Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 41c42f03 authored by Haijie Hong's avatar Haijie Hong Committed by Android (Google) Code Review
Browse files

Merge "Show highlight for device setting items" into main

parents fe1f4bdb 96edde66
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -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,
                        )
+2 −0
Original line number Diff line number Diff line
@@ -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;
        }
+3 −2
Original line number Diff line number Diff line
@@ -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)
        }
    }

+7 −2
Original line number Diff line number Diff line
@@ -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
}
+3 −0
Original line number Diff line number Diff line
@@ -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"))
    }

Loading