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

Commit 6dc453d1 authored by Prabir Pradhan's avatar Prabir Pradhan Committed by Android (Google) Code Review
Browse files

Merge changes Ibf24fe68,I5f9f3b36 into main

* changes:
  InputManagerServiceTests: Disable legacy tests for pointer choreographer
  PointerIcon: Load all animation frames using the same resources
parents 0c260885 2f85bb8d
Loading
Loading
Loading
Loading
+4 −9
Original line number Diff line number Diff line
@@ -257,7 +257,7 @@ public final class PointerIcon implements Parcelable {
        }

        final PointerIcon icon = new PointerIcon(type);
        icon.loadResource(context, context.getResources(), resourceId);
        icon.loadResource(context.getResources(), resourceId);
        return icon;
    }

@@ -320,7 +320,7 @@ public final class PointerIcon implements Parcelable {
        }

        PointerIcon icon = new PointerIcon(TYPE_CUSTOM);
        icon.loadResource(null, resources, resourceId);
        icon.loadResource(resources, resourceId);
        return icon;
    }

@@ -436,7 +436,7 @@ public final class PointerIcon implements Parcelable {
        return new BitmapDrawable(resources, bitmap);
    }

    private void loadResource(Context context, Resources resources, @XmlRes int resourceId) {
    private void loadResource(@NonNull Resources resources, @XmlRes int resourceId) {
        final XmlResourceParser parser = resources.getXml(resourceId);
        final int bitmapRes;
        final float hotSpotX;
@@ -460,12 +460,7 @@ public final class PointerIcon implements Parcelable {
            throw new IllegalArgumentException("<pointer-icon> is missing bitmap attribute.");
        }

        Drawable drawable;
        if (context == null) {
            drawable = resources.getDrawable(bitmapRes);
        } else {
            drawable = context.getDrawable(bitmapRes);
        }
        Drawable drawable = resources.getDrawable(bitmapRes);
        if (drawable instanceof AnimationDrawable) {
            // Extract animation frame bitmaps.
            final AnimationDrawable animationDrawable = (AnimationDrawable) drawable;
+9 −14
Original line number Diff line number Diff line
@@ -24,7 +24,8 @@ import android.hardware.input.InputManager
import android.hardware.input.InputManagerGlobal
import android.os.test.TestLooper
import android.platform.test.annotations.Presubmit
import android.platform.test.flag.junit.SetFlagsRule
import android.platform.test.annotations.RequiresFlagsDisabled
import android.platform.test.flag.junit.DeviceFlagsValueProvider
import android.provider.Settings
import android.test.mock.MockContentResolver
import android.view.Display
@@ -74,7 +75,7 @@ class InputManagerServiceTests {
    val fakeSettingsProviderRule = FakeSettingsProvider.rule()!!

    @get:Rule
    val setFlagsRule = SetFlagsRule()
    val checkFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule()!!

    @Mock
    private lateinit var native: NativeInputManagerService
@@ -173,10 +174,9 @@ class InputManagerServiceTests {
        verify(wmCallbacks).notifyPointerDisplayIdChanged(displayId, x, y)
    }

    @RequiresFlagsDisabled(com.android.input.flags.Flags.FLAG_ENABLE_POINTER_CHOREOGRAPHER)
    @Test
    fun testSetVirtualMousePointerDisplayId() {
        setFlagsRule.disableFlags(com.android.input.flags.Flags.FLAG_ENABLE_POINTER_CHOREOGRAPHER)

        // Set the virtual mouse pointer displayId, and ensure that the calling thread is blocked
        // until the native callback happens.
        var countDownLatch = CountDownLatch(1)
@@ -226,10 +226,9 @@ class InputManagerServiceTests {
        verify(native).setPointerDisplayId(pointerDisplayId)
    }

    @RequiresFlagsDisabled(com.android.input.flags.Flags.FLAG_ENABLE_POINTER_CHOREOGRAPHER)
    @Test
    fun testSetVirtualMousePointerDisplayId_unsuccessfulUpdate() {
        setFlagsRule.disableFlags(com.android.input.flags.Flags.FLAG_ENABLE_POINTER_CHOREOGRAPHER)

        // Set the virtual mouse pointer displayId, and ensure that the calling thread is blocked
        // until the native callback happens.
        val countDownLatch = CountDownLatch(1)
@@ -253,10 +252,9 @@ class InputManagerServiceTests {
        verify(native).setPointerDisplayId(overrideDisplayId)
    }

    @RequiresFlagsDisabled(com.android.input.flags.Flags.FLAG_ENABLE_POINTER_CHOREOGRAPHER)
    @Test
    fun testSetVirtualMousePointerDisplayId_competingRequests() {
        setFlagsRule.disableFlags(com.android.input.flags.Flags.FLAG_ENABLE_POINTER_CHOREOGRAPHER)

        val firstRequestSyncLatch = CountDownLatch(1)
        doAnswer {
            firstRequestSyncLatch.countDown()
@@ -298,10 +296,9 @@ class InputManagerServiceTests {
        verify(native, times(2)).setPointerDisplayId(anyInt())
    }

    @RequiresFlagsDisabled(com.android.input.flags.Flags.FLAG_ENABLE_POINTER_CHOREOGRAPHER)
    @Test
    fun onDisplayRemoved_resetAllAdditionalInputProperties() {
        setFlagsRule.disableFlags(com.android.input.flags.Flags.FLAG_ENABLE_POINTER_CHOREOGRAPHER)

        setVirtualMousePointerDisplayIdAndVerify(10)

        localService.setPointerIconVisible(false, 10)
@@ -324,10 +321,9 @@ class InputManagerServiceTests {
        verifyNoMoreInteractions(native)
    }

    @RequiresFlagsDisabled(com.android.input.flags.Flags.FLAG_ENABLE_POINTER_CHOREOGRAPHER)
    @Test
    fun updateAdditionalInputPropertiesForOverrideDisplay() {
        setFlagsRule.disableFlags(com.android.input.flags.Flags.FLAG_ENABLE_POINTER_CHOREOGRAPHER)

        setVirtualMousePointerDisplayIdAndVerify(10)

        localService.setPointerIconVisible(false, 10)
@@ -354,10 +350,9 @@ class InputManagerServiceTests {
        verify(native).setPointerIconType(eq(PointerIcon.TYPE_NULL))
    }

    @RequiresFlagsDisabled(com.android.input.flags.Flags.FLAG_ENABLE_POINTER_CHOREOGRAPHER)
    @Test
    fun setAdditionalInputPropertiesBeforeOverride() {
        setFlagsRule.disableFlags(com.android.input.flags.Flags.FLAG_ENABLE_POINTER_CHOREOGRAPHER)

        localService.setPointerIconVisible(false, 10)
        localService.setMousePointerAccelerationEnabled(false, 10)