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

Commit 7fba7389 authored by George Lin's avatar George Lin
Browse files

Do not add shortcut entry if not supported

Test: Manully tested the entry is gone
Bug: 378046658
Flag: com.android.systemui.shared.new_customization_picker_ui
Change-Id: I931f8a5426d63a53b7be1c61b123f8a07435f944
parent 1a8f0ed7
Loading
Loading
Loading
Loading
+42 −30
Original line number Diff line number Diff line
@@ -150,16 +150,22 @@ constructor(private val defaultCustomizationOptionsBinder: DefaultCustomizationO
                .second
        val optionClockIcon: ImageView = optionClock.requireViewById(R.id.option_entry_icon)

        val optionShortcut: View =
        val isKeyguardQuickAffordanceEnabled =
            BaseFlags.get().isKeyguardQuickAffordanceEnabled(view.context)
        var optionShortcut: View? = null
        var optionShortcutDescription: TextView? = null
        var optionShortcutIcon1: ImageView? = null
        var optionShortcutIcon2: ImageView? = null
        if (isKeyguardQuickAffordanceEnabled) {
            optionShortcut =
                lockScreenCustomizationOptionEntries
                    .first { it.first == ThemePickerLockCustomizationOption.SHORTCUTS }
                    .second
        val optionShortcutDescription: TextView =
            optionShortcutDescription =
                optionShortcut.requireViewById(R.id.option_entry_description)
        val optionShortcutIcon1: ImageView =
            optionShortcut.requireViewById(R.id.option_entry_icon_1)
        val optionShortcutIcon2: ImageView =
            optionShortcut.requireViewById(R.id.option_entry_icon_2)
            optionShortcutIcon1 = optionShortcut.requireViewById(R.id.option_entry_icon_1)
            optionShortcutIcon2 = optionShortcut.requireViewById(R.id.option_entry_icon_2)
        }

        val optionLockScreenNotificationsSettings: View =
            lockScreenCustomizationOptionEntries
@@ -227,8 +233,10 @@ constructor(private val defaultCustomizationOptionsBinder: DefaultCustomizationO
        ColorUpdateBinder.bind(
            setColor = { color ->
                optionClockIcon.setColorFilter(color)
                optionShortcutIcon1.setColorFilter(color)
                optionShortcutIcon2.setColorFilter(color)
                if (isKeyguardQuickAffordanceEnabled) {
                    optionShortcutIcon1?.setColorFilter(color)
                    optionShortcutIcon2?.setColorFilter(color)
                }
                optionShapeGridIcon.setColorFilter(color)
                if (BaseFlags.get().isPackThemeEnabled()) {
                    optionPackThemeIconHome?.setColorFilter(color)
@@ -254,31 +262,35 @@ constructor(private val defaultCustomizationOptionsBinder: DefaultCustomizationO
                    }
                }

                if (isKeyguardQuickAffordanceEnabled) {
                    launch {
                        optionsViewModel.onCustomizeShortcutClicked.collect {
                        optionShortcut.setOnClickListener { _ -> it?.invoke() }
                            optionShortcut?.setOnClickListener { _ -> it?.invoke() }
                        }
                    }
                }

                if (isKeyguardQuickAffordanceEnabled) {
                    launch {
                        optionsViewModel.keyguardQuickAffordancePickerViewModel2.summary.collect {
                            summary ->
                        optionShortcutDescription.let {
                            optionShortcutDescription?.let {
                                TextViewBinder.bind(view = it, viewModel = summary.description)
                            }
                            summary.icon1?.let { icon ->
                            optionShortcutIcon1.let {
                                optionShortcutIcon1?.let {
                                    IconViewBinder.bind(view = it, viewModel = icon)
                                }
                            }
                        optionShortcutIcon1.isVisible = summary.icon1 != null
                            optionShortcutIcon1?.isVisible = summary.icon1 != null

                            summary.icon2?.let { icon ->
                            optionShortcutIcon2.let {
                                optionShortcutIcon2?.let {
                                    IconViewBinder.bind(view = it, viewModel = icon)
                                }
                            }
                        optionShortcutIcon2.isVisible = summary.icon2 != null
                            optionShortcutIcon2?.isVisible = summary.icon2 != null
                        }
                    }
                }

+25 −17
Original line number Diff line number Diff line
@@ -67,6 +67,8 @@ constructor(
        optionContainer: LinearLayout,
        layoutInflater: LayoutInflater,
    ): List<Pair<CustomizationOptionUtil.CustomizationOption, View>> {
        val isKeyguardQuickAffordanceEnabled =
            BaseFlags.get().isKeyguardQuickAffordanceEnabled(optionContainer.context)
        val defaultOptionEntries =
            defaultCustomizationOptionUtil.getOptionEntries(screen, optionContainer, layoutInflater)
        return when (screen) {
@@ -91,6 +93,7 @@ constructor(
                                false,
                            )
                    )
                    if (isKeyguardQuickAffordanceEnabled) {
                        add(
                            ThemePickerLockCustomizationOption.SHORTCUTS to
                                layoutInflater.inflate(
@@ -99,6 +102,7 @@ constructor(
                                    false,
                                )
                        )
                    }
                    add(
                        ThemePickerLockCustomizationOption.LOCK_SCREEN_NOTIFICATIONS to
                            layoutInflater.inflate(
@@ -172,6 +176,8 @@ constructor(
        val map =
            defaultCustomizationOptionUtil.initFloatingSheet(bottomSheetContainer, layoutInflater)
        val isComposeRefactorEnabled = BaseFlags.get().isComposeRefactorEnabled()
        val isKeyguardQuickAffordanceEnabled =
            BaseFlags.get().isKeyguardQuickAffordanceEnabled(bottomSheetContainer.context)
        return buildMap {
            putAll(map)
            put(
@@ -183,6 +189,7 @@ constructor(
                    )
                    .also { bottomSheetContainer.addView(it) },
            )
            if (isKeyguardQuickAffordanceEnabled) {
                put(
                    ThemePickerLockCustomizationOption.SHORTCUTS,
                    inflateFloatingSheet(
@@ -192,6 +199,7 @@ constructor(
                        )
                        .also { bottomSheetContainer.addView(it) },
                )
            }
            put(
                ThemePickerHomeCustomizationOption.COLORS,
                if (isComposeRefactorEnabled) {