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

Commit 23fbeec4 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix the wrong logging for OVERRIDE_OUTCOME_CANCEL_CLIENT_DISCONNECT" into main

parents 2b2d30d0 e68eeb1f
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -35,6 +35,8 @@ import static com.android.internal.util.LatencyTracker.ACTION_TURN_ON_SCREEN;
import static com.android.server.deviceidle.Flags.disableWakelocksInLightIdle;
import static com.android.server.display.DisplayDeviceConfig.INVALID_BRIGHTNESS_IN_CONFIG;
import static com.android.server.display.brightness.BrightnessUtils.isValidBrightnessValue;
import static com.android.server.power.ScreenTimeoutOverridePolicy.RELEASE_REASON_UNKNOWN;
import static com.android.server.power.ScreenTimeoutOverridePolicy.RELEASE_REASON_WAKE_LOCK_DEATH;

import android.annotation.IntDef;
import android.annotation.NonNull;
@@ -1825,7 +1827,7 @@ public final class PowerManagerService extends SystemService
                return;
            }

            removeWakeLockLocked(wakeLock, index);
            removeWakeLockDeathLocked(wakeLock, index);
        }
    }

@@ -1856,6 +1858,12 @@ public final class PowerManagerService extends SystemService
        updatePowerStateLocked();
    }

    @GuardedBy("mLock")
    private void removeWakeLockDeathLocked(WakeLock wakeLock, int index) {
        removeWakeLockNoUpdateLocked(wakeLock, index, RELEASE_REASON_WAKE_LOCK_DEATH);
        updatePowerStateLocked();
    }

    @GuardedBy("mLock")
    private void applyWakeLockFlagsOnReleaseLocked(WakeLock wakeLock) {
        if ((wakeLock.mFlags & PowerManager.ON_AFTER_RELEASE) != 0
@@ -2011,7 +2019,7 @@ public final class PowerManagerService extends SystemService

    @GuardedBy("mLock")
    private void notifyWakeLockReleasedLocked(WakeLock wakeLock) {
        notifyWakeLockReleasedLocked(wakeLock, ScreenTimeoutOverridePolicy.RELEASE_REASON_UNKNOWN);
        notifyWakeLockReleasedLocked(wakeLock, RELEASE_REASON_UNKNOWN);
    }

    @GuardedBy("mLock")
+7 −1
Original line number Diff line number Diff line
@@ -82,6 +82,11 @@ final class ScreenTimeoutOverridePolicy {
     */
    public static final int RELEASE_REASON_USER_ACTIVITY_ACCESSIBILITY = 7;

    /**
     * Release reason code: Release because wakelock dies.
     */
    public static final int RELEASE_REASON_WAKE_LOCK_DEATH = 8;

    /**
     * @hide
     */
@@ -93,7 +98,8 @@ final class ScreenTimeoutOverridePolicy {
            RELEASE_REASON_USER_ACTIVITY_OTHER,
            RELEASE_REASON_USER_ACTIVITY_BUTTON,
            RELEASE_REASON_USER_ACTIVITY_TOUCH,
            RELEASE_REASON_USER_ACTIVITY_ACCESSIBILITY
            RELEASE_REASON_USER_ACTIVITY_ACCESSIBILITY,
            RELEASE_REASON_WAKE_LOCK_DEATH
    })
    @Retention(RetentionPolicy.SOURCE)
    public @interface ReleaseReason{}
+6 −2
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ import static com.android.server.power.ScreenTimeoutOverridePolicy.RELEASE_REASO
import static com.android.server.power.ScreenTimeoutOverridePolicy.RELEASE_REASON_USER_ACTIVITY_BUTTON;
import static com.android.server.power.ScreenTimeoutOverridePolicy.RELEASE_REASON_USER_ACTIVITY_OTHER;
import static com.android.server.power.ScreenTimeoutOverridePolicy.RELEASE_REASON_USER_ACTIVITY_TOUCH;
import static com.android.server.power.ScreenTimeoutOverridePolicy.RELEASE_REASON_WAKE_LOCK_DEATH;

import android.annotation.IntDef;
import android.app.ActivityManager;
@@ -574,10 +575,13 @@ public class WakefulnessSessionObserver {
                        case RELEASE_REASON_USER_ACTIVITY_ACCESSIBILITY:
                            outcome = OVERRIDE_OUTCOME_CANCEL_USER_INTERACTION;
                            break;
                        case RELEASE_REASON_SCREEN_LOCK:
                        case RELEASE_REASON_NON_INTERACTIVE:
                        case RELEASE_REASON_WAKE_LOCK_DEATH:
                            outcome = OVERRIDE_OUTCOME_CANCEL_CLIENT_DISCONNECT;
                            break;
                        case RELEASE_REASON_NON_INTERACTIVE:
                        case RELEASE_REASON_SCREEN_LOCK:
                            outcome = OVERRIDE_OUTCOME_CANCEL_OTHER;
                            break;
                        default:
                            outcome = OVERRIDE_OUTCOME_UNKNOWN;
                    }