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

Commit 8b5d0c43 authored by Nick Chameyev's avatar Nick Chameyev Committed by Automerger Merge Worker
Browse files

Merge "Do not use private APIs in unfold module" into tm-qpr-dev am:...

Merge "Do not use private APIs in unfold module" into tm-qpr-dev am: 7c4a157a am: 8a93b1f3 am: 576adc64

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21523184



Change-Id: I299e25095cce9e485aee11f37c56493eaacb313a
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 9c2d468c 576adc64
Loading
Loading
Loading
Loading
+23 −16
Original line number Diff line number Diff line
@@ -16,22 +16,24 @@

package com.android.systemui.unfold.updates

import android.content.Context
import android.hardware.display.DisplayManager
import android.os.Looper
import android.testing.AndroidTestingRunner
import android.view.IRotationWatcher
import android.view.IWindowManager
import android.view.Display
import androidx.test.filters.SmallTest
import com.android.systemui.SysuiTestCase
import com.android.systemui.unfold.updates.RotationChangeProvider.RotationListener
import com.android.systemui.util.concurrency.FakeExecutor
import com.android.systemui.util.time.FakeSystemClock
import com.android.systemui.util.mockito.whenever
import com.android.systemui.utils.os.FakeHandler
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.ArgumentCaptor
import org.mockito.ArgumentMatchers.any
import org.mockito.ArgumentMatchers.anyInt
import org.mockito.Captor
import org.mockito.Mock
import org.mockito.Mockito.spy
import org.mockito.Mockito.verify
import org.mockito.Mockito.verifyNoMoreInteractions
import org.mockito.MockitoAnnotations
@@ -42,19 +44,23 @@ class RotationChangeProviderTest : SysuiTestCase() {

    private lateinit var rotationChangeProvider: RotationChangeProvider

    @Mock lateinit var windowManagerInterface: IWindowManager
    @Mock lateinit var displayManager: DisplayManager
    @Mock lateinit var listener: RotationListener
    @Captor lateinit var rotationWatcher: ArgumentCaptor<IRotationWatcher>
    private val fakeExecutor = FakeExecutor(FakeSystemClock())
    @Mock lateinit var display: Display
    @Captor lateinit var displayListener: ArgumentCaptor<DisplayManager.DisplayListener>
    private val fakeHandler = FakeHandler(Looper.getMainLooper())

    private lateinit var spyContext: Context

    @Before
    fun setup() {
        MockitoAnnotations.initMocks(this)
        rotationChangeProvider =
            RotationChangeProvider(windowManagerInterface, context, fakeExecutor)
        spyContext = spy(context)
        whenever(spyContext.display).thenReturn(display)
        rotationChangeProvider = RotationChangeProvider(displayManager, spyContext, fakeHandler)
        rotationChangeProvider.addCallback(listener)
        fakeExecutor.runAllReady()
        verify(windowManagerInterface).watchRotation(rotationWatcher.capture(), anyInt())
        fakeHandler.dispatchQueuedMessages()
        verify(displayManager).registerDisplayListener(displayListener.capture(), any())
    }

    @Test
@@ -70,15 +76,16 @@ class RotationChangeProviderTest : SysuiTestCase() {
        verify(listener).onRotationChanged(42)

        rotationChangeProvider.removeCallback(listener)
        fakeExecutor.runAllReady()
        fakeHandler.dispatchQueuedMessages()
        sendRotationUpdate(43)

        verify(windowManagerInterface).removeRotationWatcher(any())
        verify(displayManager).unregisterDisplayListener(any())
        verifyNoMoreInteractions(listener)
    }

    private fun sendRotationUpdate(newRotation: Int) {
        rotationWatcher.value.onRotationChanged(newRotation)
        fakeExecutor.runAllReady()
        whenever(display.rotation).thenReturn(newRotation)
        displayListener.allValues.forEach { it.onDisplayChanged(display.displayId) }
        fakeHandler.dispatchQueuedMessages()
    }
}
+1 −0
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ android_library {
    ],
    kotlincflags: ["-Xjvm-default=enable"],
    java_version: "1.8",
    sdk_version: "current",
    min_sdk_version: "current",
    plugins: ["dagger2-compiler"],
}
+4 −3
Original line number Diff line number Diff line
@@ -19,8 +19,8 @@ package com.android.systemui.unfold
import android.content.ContentResolver
import android.content.Context
import android.hardware.SensorManager
import android.hardware.display.DisplayManager
import android.os.Handler
import android.view.IWindowManager
import com.android.systemui.unfold.config.UnfoldTransitionConfig
import com.android.systemui.unfold.dagger.UnfoldMain
import com.android.systemui.unfold.dagger.UnfoldSingleThreadBg
@@ -61,7 +61,7 @@ interface UnfoldSharedComponent {
            @BindsInstance @UnfoldMain executor: Executor,
            @BindsInstance @UnfoldSingleThreadBg singleThreadBgExecutor: Executor,
            @BindsInstance @UnfoldTransitionATracePrefix tracingTagPrefix: String,
            @BindsInstance windowManager: IWindowManager,
            @BindsInstance displayManager: DisplayManager,
            @BindsInstance contentResolver: ContentResolver = context.contentResolver
        ): UnfoldSharedComponent
    }
@@ -84,8 +84,9 @@ interface RemoteUnfoldSharedComponent {
            @BindsInstance context: Context,
            @BindsInstance config: UnfoldTransitionConfig,
            @BindsInstance @UnfoldMain executor: Executor,
            @BindsInstance @UnfoldMain handler: Handler,
            @BindsInstance @UnfoldSingleThreadBg singleThreadBgExecutor: Executor,
            @BindsInstance windowManager: IWindowManager,
            @BindsInstance displayManager: DisplayManager,
            @BindsInstance @UnfoldTransitionATracePrefix tracingTagPrefix: String,
        ): RemoteUnfoldSharedComponent
    }
+7 −5
Original line number Diff line number Diff line
@@ -19,8 +19,8 @@ package com.android.systemui.unfold

import android.content.Context
import android.hardware.SensorManager
import android.hardware.display.DisplayManager
import android.os.Handler
import android.view.IWindowManager
import com.android.systemui.unfold.config.UnfoldTransitionConfig
import com.android.systemui.unfold.updates.FoldProvider
import com.android.systemui.unfold.updates.screen.ScreenStatusProvider
@@ -47,7 +47,7 @@ fun createUnfoldSharedComponent(
        mainExecutor: Executor,
        singleThreadBgExecutor: Executor,
        tracingTagPrefix: String,
        windowManager: IWindowManager,
        displayManager: DisplayManager,
): UnfoldSharedComponent =
        DaggerUnfoldSharedComponent.factory()
                .create(
@@ -61,7 +61,7 @@ fun createUnfoldSharedComponent(
                        mainExecutor,
                        singleThreadBgExecutor,
                        tracingTagPrefix,
                        windowManager,
                        displayManager,
                )

/**
@@ -73,16 +73,18 @@ fun createRemoteUnfoldSharedComponent(
        context: Context,
        config: UnfoldTransitionConfig,
        mainExecutor: Executor,
        mainHandler: Handler,
        singleThreadBgExecutor: Executor,
        tracingTagPrefix: String,
        windowManager: IWindowManager,
        displayManager: DisplayManager,
        ): RemoteUnfoldSharedComponent =
        DaggerRemoteUnfoldSharedComponent.factory()
                .create(
                        context,
                        config,
                        mainExecutor,
                        mainHandler,
                        singleThreadBgExecutor,
                        windowManager,
                        displayManager,
                        tracingTagPrefix,
                )
+1 −2
Original line number Diff line number Diff line
@@ -16,7 +16,6 @@
package com.android.systemui.unfold.progress

import android.os.Trace
import android.os.Trace.TRACE_TAG_APP
import android.util.Log
import androidx.dynamicanimation.animation.DynamicAnimation
import androidx.dynamicanimation.animation.FloatPropertyCompat
@@ -110,7 +109,7 @@ class PhysicsBasedUnfoldTransitionProgressProvider @Inject constructor(

        if (DEBUG) {
            Log.d(TAG, "onFoldUpdate = ${update.name()}")
            Trace.traceCounter(Trace.TRACE_TAG_APP, "fold_update", update)
            Trace.setCounter("fold_update", update.toLong())
        }
    }

Loading