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

Commit 5c76b1f8 authored by Ale Nijamkin's avatar Ale Nijamkin Committed by Automerger Merge Worker
Browse files

Merge changes I967b7fb7,Idddb4bae into tm-qpr-dev am: 0243d0d1 am: b675e711

parents 4e8c5de5 b675e711
Loading
Loading
Loading
Loading
+9 −8
Original line number Diff line number Diff line
@@ -19,7 +19,7 @@ package com.android.systemui.keyguard.domain.interactor

import android.content.Intent
import com.android.internal.widget.LockPatternUtils
import com.android.systemui.animation.ActivityLaunchAnimator
import com.android.systemui.animation.Expandable
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.keyguard.domain.model.KeyguardQuickAffordanceModel
import com.android.systemui.keyguard.domain.model.KeyguardQuickAffordancePosition
@@ -67,19 +67,19 @@ constructor(
     *
     * @param configKey The configuration key corresponding to the [KeyguardQuickAffordanceModel] of
     * the affordance that was clicked
     * @param animationController An optional controller for the activity-launch animation
     * @param expandable An optional [Expandable] for the activity- or dialog-launch animation
     */
    fun onQuickAffordanceClicked(
        configKey: KClass<out KeyguardQuickAffordanceConfig>,
        animationController: ActivityLaunchAnimator.Controller?,
        expandable: Expandable?,
    ) {
        @Suppress("UNCHECKED_CAST") val config = registry.get(configKey as KClass<Nothing>)
        when (val result = config.onQuickAffordanceClicked(animationController)) {
        when (val result = config.onQuickAffordanceClicked(expandable)) {
            is KeyguardQuickAffordanceConfig.OnClickedResult.StartActivity ->
                launchQuickAffordance(
                    intent = result.intent,
                    canShowWhileLocked = result.canShowWhileLocked,
                    animationController = animationController
                    expandable = expandable,
                )
            is KeyguardQuickAffordanceConfig.OnClickedResult.Handled -> Unit
        }
@@ -104,6 +104,7 @@ constructor(
                KeyguardQuickAffordanceModel.Visible(
                    configKey = configs[index]::class,
                    icon = visibleState.icon,
                    toggle = visibleState.toggle,
                )
            } else {
                KeyguardQuickAffordanceModel.Hidden
@@ -114,7 +115,7 @@ constructor(
    private fun launchQuickAffordance(
        intent: Intent,
        canShowWhileLocked: Boolean,
        animationController: ActivityLaunchAnimator.Controller?,
        expandable: Expandable?,
    ) {
        @LockPatternUtils.StrongAuthTracker.StrongAuthFlags
        val strongAuthFlags =
@@ -130,13 +131,13 @@ constructor(
            activityStarter.postStartActivityDismissingKeyguard(
                intent,
                0 /* delay */,
                animationController
                expandable?.activityLaunchController(),
            )
        } else {
            activityStarter.startActivity(
                intent,
                true /* dismissShade */,
                animationController,
                expandable?.activityLaunchController(),
                true /* showOverLockscreenWhenLocked */,
            )
        }
+3 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.systemui.keyguard.domain.model

import com.android.systemui.common.shared.model.Icon
import com.android.systemui.keyguard.domain.quickaffordance.KeyguardQuickAffordanceConfig
import com.android.systemui.keyguard.shared.quickaffordance.KeyguardQuickAffordanceToggleState
import kotlin.reflect.KClass

/**
@@ -35,5 +36,7 @@ sealed class KeyguardQuickAffordanceModel {
        val configKey: KClass<out KeyguardQuickAffordanceConfig>,
        /** An icon for the affordance. */
        val icon: Icon,
        /** The toggle state for the affordance. */
        val toggle: KeyguardQuickAffordanceToggleState,
    ) : KeyguardQuickAffordanceModel()
}
+2 −2
Original line number Diff line number Diff line
@@ -20,7 +20,7 @@ package com.android.systemui.keyguard.domain.quickaffordance
import android.content.Context
import android.content.Intent
import androidx.annotation.DrawableRes
import com.android.systemui.animation.ActivityLaunchAnimator
import com.android.systemui.animation.Expandable
import com.android.systemui.common.coroutine.ChannelExt.trySendWithFailureLogging
import com.android.systemui.common.coroutine.ConflatedCallbackFlow.conflatedCallbackFlow
import com.android.systemui.common.shared.model.ContentDescription
@@ -61,7 +61,7 @@ constructor(
        }

    override fun onQuickAffordanceClicked(
        animationController: ActivityLaunchAnimator.Controller?,
        expandable: Expandable?,
    ): KeyguardQuickAffordanceConfig.OnClickedResult {
        return KeyguardQuickAffordanceConfig.OnClickedResult.StartActivity(
            intent =
+6 −4
Original line number Diff line number Diff line
@@ -18,8 +18,9 @@
package com.android.systemui.keyguard.domain.quickaffordance

import android.content.Intent
import com.android.systemui.animation.ActivityLaunchAnimator
import com.android.systemui.animation.Expandable
import com.android.systemui.common.shared.model.Icon
import com.android.systemui.keyguard.shared.quickaffordance.KeyguardQuickAffordanceToggleState
import kotlinx.coroutines.flow.Flow

/** Defines interface that can act as data source for a single quick affordance model. */
@@ -27,9 +28,7 @@ interface KeyguardQuickAffordanceConfig {

    val state: Flow<State>

    fun onQuickAffordanceClicked(
        animationController: ActivityLaunchAnimator.Controller?
    ): OnClickedResult
    fun onQuickAffordanceClicked(expandable: Expandable?): OnClickedResult

    /**
     * Encapsulates the state of a "quick affordance" in the keyguard bottom area (for example, a
@@ -44,6 +43,9 @@ interface KeyguardQuickAffordanceConfig {
        data class Visible(
            /** An icon for the affordance. */
            val icon: Icon,
            /** The toggle state for the affordance. */
            val toggle: KeyguardQuickAffordanceToggleState =
                KeyguardQuickAffordanceToggleState.NotSupported,
        ) : State()
    }

+2 −2
Original line number Diff line number Diff line
@@ -18,7 +18,7 @@
package com.android.systemui.keyguard.domain.quickaffordance

import com.android.systemui.R
import com.android.systemui.animation.ActivityLaunchAnimator
import com.android.systemui.animation.Expandable
import com.android.systemui.common.coroutine.ChannelExt.trySendWithFailureLogging
import com.android.systemui.common.coroutine.ConflatedCallbackFlow.conflatedCallbackFlow
import com.android.systemui.common.shared.model.ContentDescription
@@ -66,7 +66,7 @@ constructor(
    }

    override fun onQuickAffordanceClicked(
        animationController: ActivityLaunchAnimator.Controller?,
        expandable: Expandable?,
    ): KeyguardQuickAffordanceConfig.OnClickedResult {
        return KeyguardQuickAffordanceConfig.OnClickedResult.StartActivity(
            intent = controller.intent,
Loading