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

Commit 4462a1b7 authored by Josh Tsuji's avatar Josh Tsuji Committed by Android (Google) Code Review
Browse files

Merge "Migrate keyguard+WM refactor flag to aconfig." into main

parents 2aa51bea b2755cab
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -364,3 +364,10 @@ flag {
   description: "Enables styled focus states on pin input field if keyboard is connected"
   bug: "316106516"
}

flag {
    name: "keyguard_wm_state_refactor"
    namespace: "systemui"
    description: "Enables refactored logic for SysUI+WM unlock/occlusion code paths"
    bug: "278086361"
}
+8 −3
Original line number Diff line number Diff line
@@ -203,11 +203,17 @@ class KeyguardSecurityContainerControllerTest : SysuiTestCase() {
        whenever(deviceProvisionedController.isUserSetup(anyInt())).thenReturn(true)

        featureFlags = FakeFeatureFlags()
        featureFlags.set(Flags.KEYGUARD_WM_STATE_REFACTOR, false)
        featureFlags.set(Flags.REFACTOR_KEYGUARD_DISMISS_INTENT, false)
        featureFlags.set(Flags.LOCKSCREEN_ENABLE_LANDSCAPE, false)

        mSetFlagsRule.enableFlags(AConfigFlags.FLAG_REVAMPED_BOUNCER_MESSAGES)
        mSetFlagsRule.enableFlags(
            AConfigFlags.FLAG_REVAMPED_BOUNCER_MESSAGES,
        )
        mSetFlagsRule.disableFlags(
            FLAG_SIDEFPS_CONTROLLER_REFACTOR,
            AConfigFlags.FLAG_KEYGUARD_WM_STATE_REFACTOR
        )

        keyguardPasswordViewController =
            KeyguardPasswordViewController(
                keyguardPasswordView,
@@ -238,7 +244,6 @@ class KeyguardSecurityContainerControllerTest : SysuiTestCase() {
        sceneInteractor.setTransitionState(sceneTransitionStateFlow)
        deviceEntryInteractor = kosmos.deviceEntryInteractor

        mSetFlagsRule.disableFlags(FLAG_SIDEFPS_CONTROLLER_REFACTOR)
        underTest =
            KeyguardSecurityContainerController(
                view,
+6 −3
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ import androidx.test.filters.SmallTest
import com.android.internal.logging.InstanceId.fakeInstanceId
import com.android.internal.logging.UiEventLogger
import com.android.keyguard.KeyguardUpdateMonitor
import com.android.systemui.Flags as AConfigFlags
import com.android.systemui.SysuiTestCase
import com.android.systemui.biometrics.data.repository.FakeDisplayStateRepository
import com.android.systemui.biometrics.data.repository.FakeFacePropertyRepository
@@ -62,7 +63,6 @@ import com.android.systemui.display.data.repository.FakeDisplayRepository
import com.android.systemui.display.data.repository.display
import com.android.systemui.dump.DumpManager
import com.android.systemui.flags.FakeFeatureFlags
import com.android.systemui.flags.Flags.KEYGUARD_WM_STATE_REFACTOR
import com.android.systemui.keyguard.data.repository.BiometricType
import com.android.systemui.keyguard.data.repository.FakeBiometricSettingsRepository
import com.android.systemui.keyguard.data.repository.FakeCommandQueue
@@ -194,7 +194,7 @@ class DeviceEntryFaceAuthRepositoryTest : SysuiTestCase() {
        biometricSettingsRepository = FakeBiometricSettingsRepository()
        deviceEntryFingerprintAuthRepository = FakeDeviceEntryFingerprintAuthRepository()
        trustRepository = FakeTrustRepository()
        featureFlags = FakeFeatureFlags().apply { set(KEYGUARD_WM_STATE_REFACTOR, false) }
        featureFlags = FakeFeatureFlags()

        powerRepository = FakePowerRepository()
        powerInteractor =
@@ -252,6 +252,10 @@ class DeviceEntryFaceAuthRepositoryTest : SysuiTestCase() {
            .thenReturn(listOf(createFaceSensorProperties(supportsFaceDetection = true)))
        whenever(bypassController.bypassEnabled).thenReturn(true)
        underTest = createDeviceEntryFaceAuthRepositoryImpl(faceManager, bypassController)

        mSetFlagsRule.disableFlags(
            AConfigFlags.FLAG_KEYGUARD_WM_STATE_REFACTOR,
        )
    }

    private fun createDeviceEntryFaceAuthRepositoryImpl(
@@ -301,7 +305,6 @@ class DeviceEntryFaceAuthRepositoryTest : SysuiTestCase() {
            faceAuthBuffer,
            keyguardTransitionInteractor,
            displayStateInteractor,
            featureFlags,
            dumpManager,
        )
    }
+4 −4
Original line number Diff line number Diff line
@@ -19,9 +19,9 @@ package com.android.keyguard;
import static android.app.StatusBarManager.SESSION_KEYGUARD;
import static android.content.res.Configuration.ORIENTATION_LANDSCAPE;

import static com.android.keyguard.KeyguardSecurityContainer.BOUNCER_DISMISSIBLE_KEYGUARD;
import static com.android.keyguard.KeyguardSecurityContainer.BOUNCER_DISMISS_BIOMETRIC;
import static com.android.keyguard.KeyguardSecurityContainer.BOUNCER_DISMISS_EXTENDED_ACCESS;
import static com.android.keyguard.KeyguardSecurityContainer.BOUNCER_DISMISSIBLE_KEYGUARD;
import static com.android.keyguard.KeyguardSecurityContainer.BOUNCER_DISMISS_NONE_SECURITY;
import static com.android.keyguard.KeyguardSecurityContainer.BOUNCER_DISMISS_PASSWORD;
import static com.android.keyguard.KeyguardSecurityContainer.BOUNCER_DISMISS_SIM;
@@ -84,6 +84,7 @@ import com.android.systemui.deviceentry.domain.interactor.DeviceEntryFaceAuthInt
import com.android.systemui.deviceentry.domain.interactor.DeviceEntryInteractor;
import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.flags.Flags;
import com.android.systemui.keyguard.KeyguardWmStateRefactor;
import com.android.systemui.keyguard.domain.interactor.KeyguardTransitionInteractor;
import com.android.systemui.log.SessionTracker;
import com.android.systemui.plugins.ActivityStarter;
@@ -100,8 +101,6 @@ import com.android.systemui.util.ViewController;
import com.android.systemui.util.kotlin.JavaAdapter;
import com.android.systemui.util.settings.GlobalSettings;

import dagger.Lazy;

import java.io.File;
import java.util.Arrays;
import java.util.Optional;
@@ -109,6 +108,7 @@ import java.util.Optional;
import javax.inject.Inject;
import javax.inject.Provider;

import dagger.Lazy;
import kotlinx.coroutines.Job;

/** Controller for {@link KeyguardSecurityContainer} */
@@ -330,7 +330,7 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
                }
            }

            if (mFeatureFlags.isEnabled(Flags.KEYGUARD_WM_STATE_REFACTOR)) {
            if (KeyguardWmStateRefactor.isEnabled()) {
                mKeyguardTransitionInteractor.startDismissKeyguardTransition();
            }
        }
+6 −8
Original line number Diff line number Diff line
@@ -40,8 +40,7 @@ import com.android.systemui.deviceentry.shared.model.FailedFaceAuthenticationSta
import com.android.systemui.deviceentry.shared.model.HelpFaceAuthenticationStatus
import com.android.systemui.deviceentry.shared.model.SuccessFaceAuthenticationStatus
import com.android.systemui.dump.DumpManager
import com.android.systemui.flags.FeatureFlags
import com.android.systemui.flags.Flags
import com.android.systemui.keyguard.KeyguardWmStateRefactor
import com.android.systemui.keyguard.data.repository.BiometricSettingsRepository
import com.android.systemui.keyguard.data.repository.BiometricType
import com.android.systemui.keyguard.data.repository.DeviceEntryFingerprintAuthRepository
@@ -63,10 +62,6 @@ import com.android.systemui.statusbar.phone.KeyguardBypassController
import com.android.systemui.user.data.model.SelectionStatus
import com.android.systemui.user.data.repository.UserRepository
import com.google.errorprone.annotations.CompileTimeConstant
import java.io.PrintWriter
import java.util.Arrays
import java.util.stream.Collectors
import javax.inject.Inject
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Job
@@ -88,6 +83,10 @@ import kotlinx.coroutines.flow.onEach
import kotlinx.coroutines.flow.stateIn
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import java.io.PrintWriter
import java.util.Arrays
import java.util.stream.Collectors
import javax.inject.Inject

/**
 * API to run face authentication and detection for device entry / on keyguard (as opposed to the
@@ -165,7 +164,6 @@ constructor(
    @FaceAuthTableLog private val faceAuthLog: TableLogBuffer,
    private val keyguardTransitionInteractor: KeyguardTransitionInteractor,
    private val displayStateInteractor: DisplayStateInteractor,
    private val featureFlags: FeatureFlags,
    dumpManager: DumpManager,
) : DeviceEntryFaceAuthRepository, Dumpable {
    private var authCancellationSignal: CancellationSignal? = null
@@ -315,7 +313,7 @@ constructor(
        // or device starts going to sleep.
        merge(
                powerInteractor.isAsleep,
                if (featureFlags.isEnabled(Flags.KEYGUARD_WM_STATE_REFACTOR)) {
                if (KeyguardWmStateRefactor.isEnabled) {
                    keyguardTransitionInteractor.isInTransitionToState(KeyguardState.GONE)
                } else {
                    keyguardRepository.keyguardDoneAnimationsFinished.map { true }
Loading