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

Commit fe96e08c authored by Victor Truong's avatar Victor Truong Committed by Automerger Merge Worker
Browse files

Merge "Add overlayfinishing state." into tm-qpr-dev am: 7c24fe78 am: b4079321

parents e66e4a36 b4079321
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -234,6 +234,7 @@ public class DreamService extends Service implements Window.Callback {
    private boolean mCanDoze;
    private boolean mDozing;
    private boolean mWindowless;
    private boolean mOverlayFinishing;
    private int mDozeScreenState = Display.STATE_UNKNOWN;
    private int mDozeScreenBrightness = PowerManager.BRIGHTNESS_DEFAULT;

@@ -1051,6 +1052,7 @@ public class DreamService extends Service implements Window.Callback {
        // We must unbind from any overlay connection if we are unbound before finishing.
        if (mOverlayConnection != null) {
            mOverlayConnection.unbind();
            mOverlayConnection = null;
        }

        return super.onUnbind(intent);
@@ -1067,7 +1069,9 @@ public class DreamService extends Service implements Window.Callback {
        // If there is an active overlay connection, signal that the dream is ending before
        // continuing. Note that the overlay cannot rely on the unbound state, since another dream
        // might have bound to it in the meantime.
        if (mOverlayConnection != null) {
        if (mOverlayConnection != null && !mOverlayFinishing) {
            // Set mOverlayFinish to true to only allow this consumer to be added once.
            mOverlayFinishing = true;
            mOverlayConnection.addConsumer(overlay -> {
                try {
                    overlay.endDream();