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

Commit fc3ef867 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Disable trimMemory(BACKGROUND) on lock with a Flag" into udc-dev am: 42444eff

parents ca973153 42444eff
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -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
+11 −0
Original line number Diff line number Diff line
@@ -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
@@ -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
@@ -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,
+7 −3
Original line number Diff line number Diff line
@@ -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
@@ -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)
        )
@@ -60,7 +63,8 @@ class ResourceTrimmerTest : SysuiTestCase() {
                interactor,
                globalWindowManager,
                testScope.backgroundScope,
                testDispatcher
                testDispatcher,
                featureFlags
            )
        resourceTrimmer.start()
    }