Loading packages/SystemUI/src/com/android/systemui/flags/Flags.kt +5 −0 Original line number Diff line number Diff line Loading @@ -671,6 +671,11 @@ object Flags { val WARN_ON_BLOCKING_BINDER_TRANSACTIONS = unreleasedFlag(2400, "warn_on_blocking_binder_transactions") // TODO(b/283071711): Tracking bug @JvmField val TRIM_RESOURCES_WITH_BACKGROUND_TRIM_AT_LOCK = unreleasedFlag(2401, "trim_resources_with_background_trim_on_lock") // 2700 - unfold transitions // TODO(b/265764985): Tracking Bug @Keep Loading packages/SystemUI/src/com/android/systemui/keyguard/ResourceTrimmer.kt +11 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,8 @@ import com.android.systemui.CoreStartable import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Application import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.flags.FeatureFlags import com.android.systemui.flags.Flags import com.android.systemui.keyguard.domain.interactor.KeyguardInteractor import com.android.systemui.keyguard.shared.model.WakefulnessState import com.android.systemui.utils.GlobalWindowManager Loading Loading @@ -51,10 +53,15 @@ constructor( private val globalWindowManager: GlobalWindowManager, @Application private val applicationScope: CoroutineScope, @Background private val bgDispatcher: CoroutineDispatcher, private val featureFlags: FeatureFlags, ) : CoreStartable, WakefulnessLifecycle.Observer { override fun start() { Log.d(LOG_TAG, "Resource trimmer registered.") if (!featureFlags.isEnabled(Flags.TRIM_RESOURCES_WITH_BACKGROUND_TRIM_AT_LOCK)) { return } applicationScope.launch(bgDispatcher) { // We need to wait for the AoD transition (and animation) to complete. // This means we're waiting for isDreaming (== implies isDoze) and dozeAmount == 1f Loading @@ -79,6 +86,10 @@ constructor( isDreaming: Boolean, isDozingFully: Boolean ) { if (!featureFlags.isEnabled(Flags.TRIM_RESOURCES_WITH_BACKGROUND_TRIM_AT_LOCK)) { return } if (DEBUG) { Log.d( LOG_TAG, Loading packages/SystemUI/tests/src/com/android/systemui/keyguard/ResourceTrimmerTest.kt +7 −3 Original line number Diff line number Diff line Loading @@ -4,7 +4,8 @@ import android.content.ComponentCallbacks2 import android.testing.AndroidTestingRunner import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.flags.FeatureFlags import com.android.systemui.flags.FakeFeatureFlags import com.android.systemui.flags.Flags import com.android.systemui.keyguard.data.repository.FakeCommandQueue import com.android.systemui.keyguard.data.repository.FakeKeyguardBouncerRepository import com.android.systemui.keyguard.data.repository.FakeKeyguardRepository Loading Loading @@ -35,14 +36,16 @@ class ResourceTrimmerTest : SysuiTestCase() { private val testDispatcher = UnconfinedTestDispatcher() private val testScope = TestScope(testDispatcher) private val keyguardRepository = FakeKeyguardRepository() private val featureFlags = FakeFeatureFlags() @Mock private lateinit var globalWindowManager: GlobalWindowManager @Mock private lateinit var featureFlags: FeatureFlags private lateinit var resourceTrimmer: ResourceTrimmer @Before fun setUp() { MockitoAnnotations.initMocks(this) featureFlags.set(Flags.TRIM_RESOURCES_WITH_BACKGROUND_TRIM_AT_LOCK, true) featureFlags.set(Flags.FACE_AUTH_REFACTOR, false) keyguardRepository.setWakefulnessModel( WakefulnessModel(WakefulnessState.AWAKE, WakeSleepReason.OTHER, WakeSleepReason.OTHER) ) Loading @@ -60,7 +63,8 @@ class ResourceTrimmerTest : SysuiTestCase() { interactor, globalWindowManager, testScope.backgroundScope, testDispatcher testDispatcher, featureFlags ) resourceTrimmer.start() } Loading Loading
packages/SystemUI/src/com/android/systemui/flags/Flags.kt +5 −0 Original line number Diff line number Diff line Loading @@ -671,6 +671,11 @@ object Flags { val WARN_ON_BLOCKING_BINDER_TRANSACTIONS = unreleasedFlag(2400, "warn_on_blocking_binder_transactions") // TODO(b/283071711): Tracking bug @JvmField val TRIM_RESOURCES_WITH_BACKGROUND_TRIM_AT_LOCK = unreleasedFlag(2401, "trim_resources_with_background_trim_on_lock") // 2700 - unfold transitions // TODO(b/265764985): Tracking Bug @Keep Loading
packages/SystemUI/src/com/android/systemui/keyguard/ResourceTrimmer.kt +11 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,8 @@ import com.android.systemui.CoreStartable import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Application import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.flags.FeatureFlags import com.android.systemui.flags.Flags import com.android.systemui.keyguard.domain.interactor.KeyguardInteractor import com.android.systemui.keyguard.shared.model.WakefulnessState import com.android.systemui.utils.GlobalWindowManager Loading Loading @@ -51,10 +53,15 @@ constructor( private val globalWindowManager: GlobalWindowManager, @Application private val applicationScope: CoroutineScope, @Background private val bgDispatcher: CoroutineDispatcher, private val featureFlags: FeatureFlags, ) : CoreStartable, WakefulnessLifecycle.Observer { override fun start() { Log.d(LOG_TAG, "Resource trimmer registered.") if (!featureFlags.isEnabled(Flags.TRIM_RESOURCES_WITH_BACKGROUND_TRIM_AT_LOCK)) { return } applicationScope.launch(bgDispatcher) { // We need to wait for the AoD transition (and animation) to complete. // This means we're waiting for isDreaming (== implies isDoze) and dozeAmount == 1f Loading @@ -79,6 +86,10 @@ constructor( isDreaming: Boolean, isDozingFully: Boolean ) { if (!featureFlags.isEnabled(Flags.TRIM_RESOURCES_WITH_BACKGROUND_TRIM_AT_LOCK)) { return } if (DEBUG) { Log.d( LOG_TAG, Loading
packages/SystemUI/tests/src/com/android/systemui/keyguard/ResourceTrimmerTest.kt +7 −3 Original line number Diff line number Diff line Loading @@ -4,7 +4,8 @@ import android.content.ComponentCallbacks2 import android.testing.AndroidTestingRunner import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.flags.FeatureFlags import com.android.systemui.flags.FakeFeatureFlags import com.android.systemui.flags.Flags import com.android.systemui.keyguard.data.repository.FakeCommandQueue import com.android.systemui.keyguard.data.repository.FakeKeyguardBouncerRepository import com.android.systemui.keyguard.data.repository.FakeKeyguardRepository Loading Loading @@ -35,14 +36,16 @@ class ResourceTrimmerTest : SysuiTestCase() { private val testDispatcher = UnconfinedTestDispatcher() private val testScope = TestScope(testDispatcher) private val keyguardRepository = FakeKeyguardRepository() private val featureFlags = FakeFeatureFlags() @Mock private lateinit var globalWindowManager: GlobalWindowManager @Mock private lateinit var featureFlags: FeatureFlags private lateinit var resourceTrimmer: ResourceTrimmer @Before fun setUp() { MockitoAnnotations.initMocks(this) featureFlags.set(Flags.TRIM_RESOURCES_WITH_BACKGROUND_TRIM_AT_LOCK, true) featureFlags.set(Flags.FACE_AUTH_REFACTOR, false) keyguardRepository.setWakefulnessModel( WakefulnessModel(WakefulnessState.AWAKE, WakeSleepReason.OTHER, WakeSleepReason.OTHER) ) Loading @@ -60,7 +63,8 @@ class ResourceTrimmerTest : SysuiTestCase() { interactor, globalWindowManager, testScope.backgroundScope, testDispatcher testDispatcher, featureFlags ) resourceTrimmer.start() } Loading