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

Commit 1a1040f1 authored by Justin Weir's avatar Justin Weir
Browse files

Delete ShadeExpansionStateManager.addQsExpansionListener

Replaced last usage of it with ShadeInteractor

Fixes: 300141619
Flag: NONE
Test: Updated existing tests
Test: Manual
Change-Id: I3d7fc40789adc19d6eb171e8037eb7f2bcc0ff62
parent c50a7ef4
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -65,7 +65,6 @@ import com.android.keyguard.FaceAuthApiRequestReason;
import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.systemui.DejankUtils;
import com.android.systemui.Dumpable;
import com.android.systemui.res.R;
import com.android.systemui.classifier.Classifier;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dump.DumpManager;
@@ -77,6 +76,7 @@ import com.android.systemui.media.controls.pipeline.MediaDataManager;
import com.android.systemui.media.controls.ui.MediaHierarchyManager;
import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.plugins.qs.QS;
import com.android.systemui.res.R;
import com.android.systemui.screenrecord.RecordingController;
import com.android.systemui.shade.data.repository.ShadeRepository;
import com.android.systemui.shade.domain.interactor.ShadeInteractor;
@@ -1026,7 +1026,6 @@ public class QuickSettingsController implements Dumpable {
                && mPanelViewControllerLazy.get().mAnimateBack) {
            mPanelViewControllerLazy.get().adjustBackAnimationScale(adjustedExpansionFraction);
        }
        mShadeExpansionStateManager.onQsExpansionFractionChanged(qsExpansionFraction);
        mMediaHierarchyManager.setQsExpansion(qsExpansionFraction);
        int qsPanelBottomY = calculateBottomPosition(qsExpansionFraction);
        mScrimController.setQsPosition(qsExpansionFraction, qsPanelBottomY);
+0 −20
Original line number Diff line number Diff line
@@ -37,8 +37,6 @@ class ShadeExpansionStateManager @Inject constructor() : ShadeStateEvents {

    private val expansionListeners = CopyOnWriteArrayList<ShadeExpansionListener>()
    private val qsExpansionListeners = CopyOnWriteArrayList<ShadeQsExpansionListener>()
    private val qsExpansionFractionListeners =
        CopyOnWriteArrayList<ShadeQsExpansionFractionListener>()
    private val stateListeners = CopyOnWriteArrayList<ShadeStateListener>()
    private val shadeStateEventsListeners = CopyOnWriteArrayList<ShadeStateEventsListener>()

@@ -75,15 +73,6 @@ class ShadeExpansionStateManager @Inject constructor() : ShadeStateEvents {
        qsExpansionListeners.remove(listener)
    }

    fun addQsExpansionFractionListener(listener: ShadeQsExpansionFractionListener) {
        qsExpansionFractionListeners.add(listener)
        listener.onQsExpansionFractionChanged(qsExpansionFraction)
    }

    fun removeQsExpansionFractionListener(listener: ShadeQsExpansionFractionListener) {
        qsExpansionFractionListeners.remove(listener)
    }

    /** Adds a listener that will be notified when the panel state has changed. */
    fun addStateListener(listener: ShadeStateListener) {
        stateListeners.add(listener)
@@ -172,15 +161,6 @@ class ShadeExpansionStateManager @Inject constructor() : ShadeStateEvents {
        qsExpansionListeners.forEach { it.onQsExpansionChanged(qsExpanded) }
    }

    fun onQsExpansionFractionChanged(qsExpansionFraction: Float) {
        this.qsExpansionFraction = qsExpansionFraction

        debugLog("qsExpansionFraction=$qsExpansionFraction")
        qsExpansionFractionListeners.forEach {
            it.onQsExpansionFractionChanged(qsExpansionFraction)
        }
    }

    /** Updates the panel state if necessary. */
    fun updateState(@PanelState state: Int) {
        debugLog(
+17 −12
Original line number Diff line number Diff line
@@ -30,10 +30,13 @@ import android.text.TextUtils
import android.util.Log
import android.view.View.MeasureSpec
import androidx.annotation.VisibleForTesting
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.repeatOnLifecycle
import com.android.systemui.Dependency
import com.android.systemui.broadcast.BroadcastDispatcher
import com.android.systemui.shade.ShadeExpansionStateManager
import com.android.systemui.lifecycle.repeatWhenAttached
import com.android.systemui.shade.ShadeLogger
import com.android.systemui.shade.domain.interactor.ShadeInteractor
import com.android.systemui.util.ViewController
import com.android.systemui.util.time.SystemClock
import java.text.FieldPosition
@@ -83,7 +86,7 @@ private const val TAG = "VariableDateViewController"
class VariableDateViewController(
    private val systemClock: SystemClock,
    private val broadcastDispatcher: BroadcastDispatcher,
    private val shadeExpansionStateManager: ShadeExpansionStateManager,
    private val shadeInteractor: ShadeInteractor,
    private val shadeLogger: ShadeLogger,
    private val timeTickHandler: Handler,
    view: VariableDateView
@@ -174,8 +177,11 @@ class VariableDateViewController(

        broadcastDispatcher.registerReceiver(intentReceiver, filter,
                HandlerExecutor(timeTickHandler), UserHandle.SYSTEM)

        shadeExpansionStateManager.addQsExpansionFractionListener(::onQsExpansionFractionChanged)
        mView.repeatWhenAttached {
            repeatOnLifecycle(Lifecycle.State.STARTED) {
                shadeInteractor.qsExpansion.collect(::onQsExpansionFractionChanged)
            }
        }
        post(::updateClock)
        mView.onAttach(onMeasureListener)
    }
@@ -183,7 +189,6 @@ class VariableDateViewController(
    override fun onViewDetached() {
        dateFormat = null
        mView.onAttach(null)
        shadeExpansionStateManager.removeQsExpansionFractionListener(::onQsExpansionFractionChanged)
        broadcastDispatcher.unregisterReceiver(intentReceiver)
    }

@@ -237,7 +242,7 @@ class VariableDateViewController(
    class Factory @Inject constructor(
        private val systemClock: SystemClock,
        private val broadcastDispatcher: BroadcastDispatcher,
        private val shadeExpansionStateManager: ShadeExpansionStateManager,
        private val shadeInteractor: ShadeInteractor,
        private val shadeLogger: ShadeLogger,
        @Named(Dependency.TIME_TICK_HANDLER_NAME) private val handler: Handler
    ) {
@@ -245,7 +250,7 @@ class VariableDateViewController(
            return VariableDateViewController(
                systemClock,
                broadcastDispatcher,
                    shadeExpansionStateManager,
                shadeInteractor,
                shadeLogger,
                handler,
                view
+18 −13
Original line number Diff line number Diff line
@@ -23,26 +23,27 @@ import android.view.View
import androidx.test.filters.SmallTest
import com.android.systemui.SysuiTestCase
import com.android.systemui.broadcast.BroadcastDispatcher
import com.android.systemui.shade.ShadeExpansionStateManager
import com.android.systemui.shade.domain.interactor.ShadeInteractor
import com.android.systemui.util.mockito.any
import com.android.systemui.util.mockito.capture
import com.android.systemui.util.mockito.mock
import com.android.systemui.util.time.FakeSystemClock
import com.google.common.truth.Truth.assertThat
import kotlinx.coroutines.flow.MutableStateFlow
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.ArgumentCaptor
import org.mockito.Captor
import org.mockito.Mock
import org.mockito.Mockito.`when`
import org.mockito.Mockito.anyString
import org.mockito.Mockito.verify
import org.mockito.Mockito.`when`
import org.mockito.MockitoAnnotations
import java.util.Date

@RunWith(AndroidTestingRunner::class)
@TestableLooper.RunWithLooper
@TestableLooper.RunWithLooper(setAsMainLooper = true)
@SmallTest
class VariableDateViewControllerTest : SysuiTestCase() {

@@ -57,12 +58,15 @@ class VariableDateViewControllerTest : SysuiTestCase() {
    private lateinit var broadcastDispatcher: BroadcastDispatcher
    @Mock
    private lateinit var view: VariableDateView
    @Mock
    private lateinit var shadeInteractor: ShadeInteractor
    @Captor
    private lateinit var onMeasureListenerCaptor: ArgumentCaptor<VariableDateView.OnMeasureListener>

    private val qsExpansion = MutableStateFlow(0F)

    private var lastText: String? = null

    private lateinit var shadeExpansionStateManager: ShadeExpansionStateManager
    private lateinit var systemClock: FakeSystemClock
    private lateinit var testableLooper: TestableLooper
    private lateinit var testableHandler: Handler
@@ -80,7 +84,7 @@ class VariableDateViewControllerTest : SysuiTestCase() {
        systemClock = FakeSystemClock()
        systemClock.setCurrentTimeMillis(TIME_STAMP)

        shadeExpansionStateManager = ShadeExpansionStateManager()
        `when`(shadeInteractor.qsExpansion).thenReturn(qsExpansion)

        `when`(view.longerPattern).thenReturn(LONG_PATTERN)
        `when`(view.shorterPattern).thenReturn(SHORT_PATTERN)
@@ -91,6 +95,7 @@ class VariableDateViewControllerTest : SysuiTestCase() {
            Unit
        }
        `when`(view.isAttachedToWindow).thenReturn(true)
        `when`(view.viewTreeObserver).thenReturn(mock())

        val date = Date(TIME_STAMP)
        longText = getTextForFormat(date, getFormatFromPattern(LONG_PATTERN))
@@ -105,7 +110,7 @@ class VariableDateViewControllerTest : SysuiTestCase() {
        controller = VariableDateViewController(
            systemClock,
            broadcastDispatcher,
                shadeExpansionStateManager,
            shadeInteractor,
            mock(),
            testableHandler,
            view
@@ -180,7 +185,7 @@ class VariableDateViewControllerTest : SysuiTestCase() {

    @Test
    fun testQsExpansionTrue_ignoreAtMostMeasureRequests() {
        shadeExpansionStateManager.onQsExpansionFractionChanged(0f)
        qsExpansion.value = 0f

        onMeasureListenerCaptor.value.onMeasureAction(
                getTextLength(shortText).toInt(),
@@ -195,7 +200,7 @@ class VariableDateViewControllerTest : SysuiTestCase() {

    @Test
    fun testQsExpansionFalse_acceptAtMostMeasureRequests() {
        shadeExpansionStateManager.onQsExpansionFractionChanged(1f)
        qsExpansion.value = 1f

        onMeasureListenerCaptor.value.onMeasureAction(
                getTextLength(shortText).toInt(),