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

Commit cf4a1113 authored by Matt Pietal's avatar Matt Pietal Committed by Android (Google) Code Review
Browse files

Merge "Selectively share KeyguardQuickAffordancesCombinedViewModel" into main

parents 4d96988c 47b10dd3
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package com.android.keyguard.logging

import com.android.systemui.keyguard.ui.viewmodel.KeyguardQuickAffordanceViewModel
import com.android.systemui.log.LogBuffer
import com.android.systemui.log.core.LogLevel
import com.android.systemui.log.dagger.KeyguardQuickAffordancesLog
@@ -63,6 +64,15 @@ constructor(
        )
    }

    fun logUpdate(viewModel: KeyguardQuickAffordanceViewModel) {
        buffer.log(
            TAG,
            LogLevel.DEBUG,
            { str1 = viewModel.toString() },
            { "QuickAffordance updated: $str1" }
        )
    }

    private fun String.decode(): Pair<String, String> {
        val splitUp = this.split(DELIMITER)
        return Pair(splitUp[0], splitUp[1])
+2 −0
Original line number Diff line number Diff line
@@ -63,6 +63,7 @@ import com.android.systemui.keyguard.domain.interactor.StartKeyguardTransitionMo
import com.android.systemui.keyguard.shared.quickaffordance.KeyguardQuickAffordancesMetricsLogger;
import com.android.systemui.keyguard.shared.quickaffordance.KeyguardQuickAffordancesMetricsLoggerImpl;
import com.android.systemui.keyguard.ui.transitions.DeviceEntryIconTransitionModule;
import com.android.systemui.keyguard.ui.viewmodel.KeyguardQuickAffordancesCombinedViewModelModule;
import com.android.systemui.log.SessionTracker;
import com.android.systemui.navigationbar.NavigationModeController;
import com.android.systemui.process.ProcessWrapper;
@@ -111,6 +112,7 @@ import java.util.concurrent.Executor;
            DeviceEntryIconTransitionModule.class,
            FalsingModule.class,
            KeyguardDataQuickAffordanceModule.class,
            KeyguardQuickAffordancesCombinedViewModelModule.class,
            KeyguardRepositoryModule.class,
            DeviceEntryFaceAuthModule.class,
            KeyguardDisplayModule.class,
+2 −1
Original line number Diff line number Diff line
@@ -93,7 +93,7 @@ constructor(
        val configurationBasedDimensions = MutableStateFlow(loadFromResources(view))
        val disposableHandle =
            view.repeatWhenAttached {
                repeatOnLifecycle(Lifecycle.State.CREATED) {
                repeatOnLifecycle(Lifecycle.State.STARTED) {
                    launch {
                        viewModel.collect { buttonModel ->
                            updateButton(
@@ -141,6 +141,7 @@ constructor(
        viewModel: KeyguardQuickAffordanceViewModel,
        messageDisplayer: (Int) -> Unit,
    ) {
        logger.logUpdate(viewModel)
        if (!viewModel.isVisible) {
            view.isInvisible = true
            return
+4 −1
Original line number Diff line number Diff line
@@ -4,10 +4,10 @@ import android.view.View
import android.widget.ImageView
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.core.content.res.ResourcesCompat
import com.android.systemui.res.R
import com.android.systemui.animation.view.LaunchableImageView
import com.android.systemui.keyguard.shared.model.KeyguardSection
import com.android.systemui.keyguard.ui.binder.KeyguardQuickAffordanceViewBinder
import com.android.systemui.res.R

abstract class BaseShortcutSection : KeyguardSection() {
    protected var leftShortcutHandle: KeyguardQuickAffordanceViewBinder.Binding? = null
@@ -15,7 +15,9 @@ abstract class BaseShortcutSection : KeyguardSection() {

    override fun removeViews(constraintLayout: ConstraintLayout) {
        leftShortcutHandle?.destroy()
        leftShortcutHandle = null
        rightShortcutHandle?.destroy()
        rightShortcutHandle = null
        constraintLayout.removeView(R.id.start_button)
        constraintLayout.removeView(R.id.end_button)
    }
@@ -75,6 +77,7 @@ abstract class BaseShortcutSection : KeyguardSection() {
            }
        constraintLayout.addView(view)
    }

    /**
     * Defines equality as same class.
     *
+5 −0
Original line number Diff line number Diff line
@@ -33,16 +33,19 @@ import com.android.systemui.keyguard.domain.interactor.KeyguardBlueprintInteract
import com.android.systemui.keyguard.ui.binder.KeyguardQuickAffordanceViewBinder
import com.android.systemui.keyguard.ui.view.layout.blueprints.transitions.IntraBlueprintTransition
import com.android.systemui.keyguard.ui.viewmodel.KeyguardQuickAffordancesCombinedViewModel
import com.android.systemui.keyguard.ui.viewmodel.KeyguardQuickAffordancesCombinedViewModelModule.Companion.LOCKSCREEN_INSTANCE
import com.android.systemui.keyguard.ui.viewmodel.KeyguardRootViewModel
import com.android.systemui.res.R
import com.android.systemui.statusbar.KeyguardIndicationController
import dagger.Lazy
import javax.inject.Inject
import javax.inject.Named

class DefaultShortcutsSection
@Inject
constructor(
    @Main private val resources: Resources,
    @Named(LOCKSCREEN_INSTANCE)
    private val keyguardQuickAffordancesCombinedViewModel:
        KeyguardQuickAffordancesCombinedViewModel,
    private val keyguardRootViewModel: KeyguardRootViewModel,
@@ -76,6 +79,7 @@ constructor(

    override fun bindData(constraintLayout: ConstraintLayout) {
        if (KeyguardBottomAreaRefactor.isEnabled) {
            leftShortcutHandle?.destroy()
            leftShortcutHandle =
                keyguardQuickAffordanceViewBinder.bind(
                    constraintLayout.requireViewById(R.id.start_button),
@@ -84,6 +88,7 @@ constructor(
                ) {
                    indicationController.showTransientIndication(it)
                }
            rightShortcutHandle?.destroy()
            rightShortcutHandle =
                keyguardQuickAffordanceViewBinder.bind(
                    constraintLayout.requireViewById(R.id.end_button),
Loading