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

Commit e3865a7d authored by Sean Stout's avatar Sean Stout
Browse files

Pass Display ID when reporting user activity from Java

Display ID information will be used to implement per-DisplayGroup
timeouts.

Test: manual - ensure Display ID is passed
Bug: 175764389
Change-Id: Id6881e10408eef26458359e1bb0a7356a8d70e62
parent 2573939d
Loading
Loading
Loading
Loading
+1 −2
Original line number Original line Diff line number Diff line
@@ -42,8 +42,7 @@ interface IPowerManager
    void updateWakeLockWorkSource(IBinder lock, in WorkSource ws, String historyTag);
    void updateWakeLockWorkSource(IBinder lock, in WorkSource ws, String historyTag);
    boolean isWakeLockLevelSupported(int level);
    boolean isWakeLockLevelSupported(int level);


    @UnsupportedAppUsage
    void userActivity(int displayId, long time, int event, int flags);
    void userActivity(long time, int event, int flags);
    void wakeUp(long time, int reason, String details, String opPackageName);
    void wakeUp(long time, int reason, String details, String opPackageName);
    @UnsupportedAppUsage(maxTargetSdk = 30, trackingBug = 170729553)
    @UnsupportedAppUsage(maxTargetSdk = 30, trackingBug = 170729553)
    void goToSleep(long time, int reason, int flags);
    void goToSleep(long time, int reason, int flags);
+1 −1
Original line number Original line Diff line number Diff line
@@ -1277,7 +1277,7 @@ public final class PowerManager {
    })
    })
    public void userActivity(long when, int event, int flags) {
    public void userActivity(long when, int event, int flags) {
        try {
        try {
            mService.userActivity(when, event, flags);
            mService.userActivity(mContext.getDisplayId(), when, event, flags);
        } catch (RemoteException e) {
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
            throw e.rethrowFromSystemServer();
        }
        }
+1 −1
Original line number Original line Diff line number Diff line
@@ -5073,7 +5073,7 @@ public final class PowerManagerService extends SystemService
        }
        }


        @Override // Binder call
        @Override // Binder call
        public void userActivity(long eventTime, int event, int flags) {
        public void userActivity(int displayId, long eventTime, int event, int flags) {
            final long now = mClock.uptimeMillis();
            final long now = mClock.uptimeMillis();
            if (mContext.checkCallingOrSelfPermission(android.Manifest.permission.DEVICE_POWER)
            if (mContext.checkCallingOrSelfPermission(android.Manifest.permission.DEVICE_POWER)
                    != PackageManager.PERMISSION_GRANTED
                    != PackageManager.PERMISSION_GRANTED
+2 −1
Original line number Original line Diff line number Diff line
@@ -493,7 +493,8 @@ public class AbstractAccessibilityServiceConnectionTest {
        mServiceConnection.performAccessibilityAction(PIP_WINDOWID, ROOT_NODE_ID,
        mServiceConnection.performAccessibilityAction(PIP_WINDOWID, ROOT_NODE_ID,
                ACTION_ACCESSIBILITY_FOCUS, null, INTERACTION_ID, mMockCallback, TID);
                ACTION_ACCESSIBILITY_FOCUS, null, INTERACTION_ID, mMockCallback, TID);


        verify(mMockIPowerManager).userActivity(anyLong(), anyInt(), anyInt());
        verify(mMockIPowerManager).userActivity(eq(Display.DEFAULT_DISPLAY), anyLong(), anyInt(),
                anyInt());
        verify(mMockIA11yInteractionConnection).performAccessibilityAction(eq(ROOT_NODE_ID),
        verify(mMockIA11yInteractionConnection).performAccessibilityAction(eq(ROOT_NODE_ID),
                eq(ACTION_ACCESSIBILITY_FOCUS), any(), eq(INTERACTION_ID), eq(mMockCallback),
                eq(ACTION_ACCESSIBILITY_FOCUS), any(), eq(INTERACTION_ID), eq(mMockCallback),
                anyInt(), eq(PID), eq(TID));
                anyInt(), eq(PID), eq(TID));
+13 −12
Original line number Original line Diff line number Diff line
@@ -39,6 +39,7 @@ import android.os.Looper;
import android.os.Message;
import android.os.Message;
import android.os.PowerManager;
import android.os.PowerManager;
import android.os.RemoteException;
import android.os.RemoteException;
import android.view.Display;
import android.view.KeyEvent;
import android.view.KeyEvent;


import androidx.test.InstrumentationRegistry;
import androidx.test.InstrumentationRegistry;
@@ -172,8 +173,8 @@ public class KeyEventDispatcherTest {
                mFilter1SequenceCaptor.getValue());
                mFilter1SequenceCaptor.getValue());


        assertFalse(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
        assertFalse(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
        verify(mMockPowerManagerService, times(1)).userActivity(anyLong(),
        verify(mMockPowerManagerService, times(1)).userActivity(eq(Display.DEFAULT_DISPLAY),
                eq(PowerManager.USER_ACTIVITY_EVENT_ACCESSIBILITY), eq(0));
                anyLong(), eq(PowerManager.USER_ACTIVITY_EVENT_ACCESSIBILITY), eq(0));
        assertFalse(isTimeoutPending(mMessageCapturingHandler));
        assertFalse(isTimeoutPending(mMessageCapturingHandler));
    }
    }


@@ -204,8 +205,8 @@ public class KeyEventDispatcherTest {
                mFilter2SequenceCaptor.getValue());
                mFilter2SequenceCaptor.getValue());


        assertFalse(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
        assertFalse(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
        verify(mMockPowerManagerService, times(1)).userActivity(anyLong(),
        verify(mMockPowerManagerService, times(1)).userActivity(eq(Display.DEFAULT_DISPLAY),
                eq(PowerManager.USER_ACTIVITY_EVENT_ACCESSIBILITY), eq(0));
                anyLong(), eq(PowerManager.USER_ACTIVITY_EVENT_ACCESSIBILITY), eq(0));
        assertFalse(isTimeoutPending(mMessageCapturingHandler));
        assertFalse(isTimeoutPending(mMessageCapturingHandler));
    }
    }


@@ -221,8 +222,8 @@ public class KeyEventDispatcherTest {
                mFilter2SequenceCaptor.getValue());
                mFilter2SequenceCaptor.getValue());


        assertFalse(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
        assertFalse(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
        verify(mMockPowerManagerService, times(1)).userActivity(anyLong(),
        verify(mMockPowerManagerService, times(1)).userActivity(eq(Display.DEFAULT_DISPLAY),
                eq(PowerManager.USER_ACTIVITY_EVENT_ACCESSIBILITY), eq(0));
                anyLong(), eq(PowerManager.USER_ACTIVITY_EVENT_ACCESSIBILITY), eq(0));
        assertFalse(isTimeoutPending(mMessageCapturingHandler));
        assertFalse(isTimeoutPending(mMessageCapturingHandler));
    }
    }


@@ -238,8 +239,8 @@ public class KeyEventDispatcherTest {
                mFilter2SequenceCaptor.getValue());
                mFilter2SequenceCaptor.getValue());


        assertFalse(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
        assertFalse(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
        verify(mMockPowerManagerService, times(1)).userActivity(anyLong(),
        verify(mMockPowerManagerService, times(1)).userActivity(eq(Display.DEFAULT_DISPLAY),
                eq(PowerManager.USER_ACTIVITY_EVENT_ACCESSIBILITY), eq(0));
                anyLong(), eq(PowerManager.USER_ACTIVITY_EVENT_ACCESSIBILITY), eq(0));
        assertFalse(isTimeoutPending(mMessageCapturingHandler));
        assertFalse(isTimeoutPending(mMessageCapturingHandler));
    }
    }


@@ -308,8 +309,8 @@ public class KeyEventDispatcherTest {
        mKeyEventDispatcher.handleMessage(getTimedMessage(mMessageCapturingHandler, 0));
        mKeyEventDispatcher.handleMessage(getTimedMessage(mMessageCapturingHandler, 0));


        assertFalse(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
        assertFalse(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
        verify(mMockPowerManagerService, times(1)).userActivity(anyLong(),
        verify(mMockPowerManagerService, times(1)).userActivity(eq(Display.DEFAULT_DISPLAY),
                eq(PowerManager.USER_ACTIVITY_EVENT_ACCESSIBILITY), eq(0));
                anyLong(), eq(PowerManager.USER_ACTIVITY_EVENT_ACCESSIBILITY), eq(0));
    }
    }


    @Test
    @Test
@@ -357,8 +358,8 @@ public class KeyEventDispatcherTest {
        mKeyEventDispatcher.handleMessage(getTimedMessage(mMessageCapturingHandler, 0));
        mKeyEventDispatcher.handleMessage(getTimedMessage(mMessageCapturingHandler, 0));


        assertFalse(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
        assertFalse(mInputEventsHandler.hasMessages(SEND_FRAMEWORK_KEY_EVENT));
        verify(mMockPowerManagerService, times(1)).userActivity(anyLong(),
        verify(mMockPowerManagerService, times(1)).userActivity(eq(Display.DEFAULT_DISPLAY),
                eq(PowerManager.USER_ACTIVITY_EVENT_ACCESSIBILITY), eq(0));
                anyLong(), eq(PowerManager.USER_ACTIVITY_EVENT_ACCESSIBILITY), eq(0));
    }
    }


    /*
    /*
Loading