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

Commit dc5abce9 authored by George Lin's avatar George Lin Committed by Android (Google) Code Review
Browse files

Merge "Do not add shortcut entry if not supported" into main

parents 47e854d5 7fba7389
Loading
Loading
Loading
Loading
+42 −30
Original line number Diff line number Diff line
@@ -151,16 +151,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) {