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

Commit 6c3d8864 authored by Wei Wang's avatar Wei Wang Committed by Automerger Merge Worker
Browse files

Merge "Revert "Ignore wake up calls when lid closed"" into udc-dev am: d31105e0 am: 94231279

parents c1c69632 94231279
Loading
Loading
Loading
Loading
+0 −6
Original line number Original line Diff line number Diff line
@@ -6089,12 +6089,6 @@ public class PhoneWindowManager implements WindowManagerPolicy {
        mKeyguardDelegate.setSwitchingUser(switching);
        mKeyguardDelegate.setSwitchingUser(switching);
    }
    }


    @Override
    @WindowManagerFuncs.LidState
    public int getLidState() {
        return mDefaultDisplayPolicy.getLidState();
    }

    @Override
    @Override
    public void dumpDebug(ProtoOutputStream proto, long fieldId) {
    public void dumpDebug(ProtoOutputStream proto, long fieldId) {
        final long token = proto.start(fieldId);
        final long token = proto.start(fieldId);
+2 −18
Original line number Original line Diff line number Diff line
@@ -218,14 +218,6 @@ public interface WindowManagerPolicy extends WindowManagerPolicyConstants {
     * between it and the policy.
     * between it and the policy.
     */
     */
    public interface WindowManagerFuncs {
    public interface WindowManagerFuncs {
        @IntDef(prefix = { "LID_" }, value = {
                LID_ABSENT,
                LID_CLOSED,
                LID_OPEN,
        })
        @Retention(RetentionPolicy.SOURCE)
        @interface LidState{}

        public static final int LID_ABSENT = -1;
        public static final int LID_ABSENT = -1;
        public static final int LID_CLOSED = 0;
        public static final int LID_CLOSED = 0;
        public static final int LID_OPEN = 1;
        public static final int LID_OPEN = 1;
@@ -239,9 +231,8 @@ public interface WindowManagerPolicy extends WindowManagerPolicyConstants {
        public static final int CAMERA_LENS_COVERED = 1;
        public static final int CAMERA_LENS_COVERED = 1;


        /**
        /**
         * Returns a {@link LidState} that describes the current state of the lid switch.
         * Returns a code that describes the current state of the lid switch.
         */
         */
        @LidState
        public int getLidState();
        public int getLidState();


        /**
        /**
@@ -291,7 +282,7 @@ public interface WindowManagerPolicy extends WindowManagerPolicyConstants {
        /**
        /**
         * Convert the lid state to a human readable format.
         * Convert the lid state to a human readable format.
         */
         */
        static String lidStateToString(@LidState int lid) {
        static String lidStateToString(int lid) {
            switch (lid) {
            switch (lid) {
                case LID_ABSENT:
                case LID_ABSENT:
                    return "LID_ABSENT";
                    return "LID_ABSENT";
@@ -1250,11 +1241,4 @@ public interface WindowManagerPolicy extends WindowManagerPolicyConstants {
     * @return {@code true} if the key will be handled globally.
     * @return {@code true} if the key will be handled globally.
     */
     */
    boolean isGlobalKey(int keyCode);
    boolean isGlobalKey(int keyCode);

    /**
     * Returns a {@link WindowManagerFuncs.LidState} that describes the current state of
     * the lid switch.
     */
    @WindowManagerFuncs.LidState
    int getLidState();
}
}
+0 −6
Original line number Original line Diff line number Diff line
@@ -33,7 +33,6 @@ import static android.os.PowerManagerInternal.isInteractive;
import static android.os.PowerManagerInternal.wakefulnessToString;
import static android.os.PowerManagerInternal.wakefulnessToString;


import static com.android.internal.util.LatencyTracker.ACTION_TURN_ON_SCREEN;
import static com.android.internal.util.LatencyTracker.ACTION_TURN_ON_SCREEN;
import static com.android.server.policy.WindowManagerPolicy.WindowManagerFuncs.LID_CLOSED;


import android.annotation.IntDef;
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.NonNull;
@@ -5734,11 +5733,6 @@ public final class PowerManagerService extends SystemService
        @Override // Binder call
        @Override // Binder call
        public void wakeUp(long eventTime, @WakeReason int reason, String details,
        public void wakeUp(long eventTime, @WakeReason int reason, String details,
                String opPackageName) {
                String opPackageName) {
            if (mPolicy.getLidState() == LID_CLOSED) {
                Slog.d(TAG, "Ignoring wake up call due to the lid being closed");
                return;
            }

            final long now = mClock.uptimeMillis();
            final long now = mClock.uptimeMillis();
            if (eventTime > now) {
            if (eventTime > now) {
                Slog.e(TAG, "Event time " + eventTime + " cannot be newer than " + now);
                Slog.e(TAG, "Event time " + eventTime + " cannot be newer than " + now);
+1 −3
Original line number Original line Diff line number Diff line
@@ -225,7 +225,6 @@ public class DisplayPolicy {
    /** Currently it can only be non-null when physical display switch happens. */
    /** Currently it can only be non-null when physical display switch happens. */
    private DecorInsets.Cache mCachedDecorInsets;
    private DecorInsets.Cache mCachedDecorInsets;


    @WindowManagerFuncs.LidState
    private volatile int mLidState = LID_ABSENT;
    private volatile int mLidState = LID_ABSENT;
    private volatile int mDockMode = Intent.EXTRA_DOCK_STATE_UNDOCKED;
    private volatile int mDockMode = Intent.EXTRA_DOCK_STATE_UNDOCKED;
    private volatile boolean mHdmiPlugged;
    private volatile boolean mHdmiPlugged;
@@ -753,11 +752,10 @@ public class DisplayPolicy {
        return mNavigationBarCanMove;
        return mNavigationBarCanMove;
    }
    }


    public void setLidState(@WindowManagerFuncs.LidState int lidState) {
    public void setLidState(int lidState) {
        mLidState = lidState;
        mLidState = lidState;
    }
    }


    @WindowManagerFuncs.LidState
    public int getLidState() {
    public int getLidState() {
        return mLidState;
        return mLidState;
    }
    }
+0 −20
Original line number Original line Diff line number Diff line
@@ -26,9 +26,6 @@ import static android.os.PowerManagerInternal.WAKEFULNESS_AWAKE;
import static android.os.PowerManagerInternal.WAKEFULNESS_DOZING;
import static android.os.PowerManagerInternal.WAKEFULNESS_DOZING;
import static android.os.PowerManagerInternal.WAKEFULNESS_DREAMING;
import static android.os.PowerManagerInternal.WAKEFULNESS_DREAMING;


import static com.android.server.policy.WindowManagerPolicy.WindowManagerFuncs.LID_ABSENT;
import static com.android.server.policy.WindowManagerPolicy.WindowManagerFuncs.LID_CLOSED;

import static com.google.common.truth.Truth.assertThat;
import static com.google.common.truth.Truth.assertThat;


import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertFalse;
@@ -149,7 +146,6 @@ public class PowerManagerServiceTest {
    @Mock private ActivityManagerInternal mActivityManagerInternalMock;
    @Mock private ActivityManagerInternal mActivityManagerInternalMock;
    @Mock private AttentionManagerInternal mAttentionManagerInternalMock;
    @Mock private AttentionManagerInternal mAttentionManagerInternalMock;
    @Mock private DreamManagerInternal mDreamManagerInternalMock;
    @Mock private DreamManagerInternal mDreamManagerInternalMock;
    @Mock private WindowManagerPolicy mPolicyMock;
    @Mock private PowerManagerService.NativeWrapper mNativeWrapperMock;
    @Mock private PowerManagerService.NativeWrapper mNativeWrapperMock;
    @Mock private Notifier mNotifierMock;
    @Mock private Notifier mNotifierMock;
    @Mock private WirelessChargerDetector mWirelessChargerDetectorMock;
    @Mock private WirelessChargerDetector mWirelessChargerDetectorMock;
@@ -210,7 +206,6 @@ public class PowerManagerServiceTest {
                .thenReturn(true);
                .thenReturn(true);
        when(mSystemPropertiesMock.get(eq(SYSTEM_PROPERTY_QUIESCENT), anyString())).thenReturn("");
        when(mSystemPropertiesMock.get(eq(SYSTEM_PROPERTY_QUIESCENT), anyString())).thenReturn("");
        when(mAmbientDisplayConfigurationMock.ambientDisplayAvailable()).thenReturn(true);
        when(mAmbientDisplayConfigurationMock.ambientDisplayAvailable()).thenReturn(true);
        when(mPolicyMock.getLidState()).thenReturn(LID_ABSENT);


        addLocalServiceMock(LightsManager.class, mLightsManagerMock);
        addLocalServiceMock(LightsManager.class, mLightsManagerMock);
        addLocalServiceMock(DisplayManagerInternal.class, mDisplayManagerInternalMock);
        addLocalServiceMock(DisplayManagerInternal.class, mDisplayManagerInternalMock);
@@ -218,7 +213,6 @@ public class PowerManagerServiceTest {
        addLocalServiceMock(ActivityManagerInternal.class, mActivityManagerInternalMock);
        addLocalServiceMock(ActivityManagerInternal.class, mActivityManagerInternalMock);
        addLocalServiceMock(AttentionManagerInternal.class, mAttentionManagerInternalMock);
        addLocalServiceMock(AttentionManagerInternal.class, mAttentionManagerInternalMock);
        addLocalServiceMock(DreamManagerInternal.class, mDreamManagerInternalMock);
        addLocalServiceMock(DreamManagerInternal.class, mDreamManagerInternalMock);
        addLocalServiceMock(WindowManagerPolicy.class, mPolicyMock);


        mContextSpy = spy(new ContextWrapper(ApplicationProvider.getApplicationContext()));
        mContextSpy = spy(new ContextWrapper(ApplicationProvider.getApplicationContext()));
        mResourcesSpy = spy(mContextSpy.getResources());
        mResourcesSpy = spy(mContextSpy.getResources());
@@ -685,20 +679,6 @@ public class PowerManagerServiceTest {
        assertThat(mService.getGlobalWakefulnessLocked()).isEqualTo(WAKEFULNESS_AWAKE);
        assertThat(mService.getGlobalWakefulnessLocked()).isEqualTo(WAKEFULNESS_AWAKE);
    }
    }


    @Test
    public void testWakefulnessAwake_ShouldNotWakeUpWhenLidClosed() {
        when(mPolicyMock.getLidState()).thenReturn(LID_CLOSED);
        createService();
        startSystem();
        forceSleep();

        mService.getBinderServiceInstance().wakeUp(mClock.now(),
                PowerManager.WAKE_REASON_POWER_BUTTON,
                "testing IPowerManager.wakeUp()", "pkg.name");

        assertThat(mService.getGlobalWakefulnessLocked()).isEqualTo(WAKEFULNESS_ASLEEP);
    }

    /**
    /**
     * Tests a series of variants that control whether a device wakes-up when it is plugged in
     * Tests a series of variants that control whether a device wakes-up when it is plugged in
     * or docked.
     * or docked.
Loading