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

Commit e743762d authored by Nick Chameyev's avatar Nick Chameyev Committed by Automerger Merge Worker
Browse files

Merge "Fix stuck screen from display change timeout" am: 24213321 am:...

Merge "Fix stuck screen from display change timeout" am: 24213321 am: a63a9cac am: 531490b7 am: 636be011

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2388832



Change-Id: I200dee4aee18f1434cd34a5aa9ff704833d087e3
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 536ce922 636be011
Loading
Loading
Loading
Loading
+8 −2
Original line number Original line Diff line number Diff line
@@ -114,10 +114,16 @@ public class RemoteDisplayChangeController {
        // timed-out, so run all continue callbacks and clear the list
        // timed-out, so run all continue callbacks and clear the list
        synchronized (mService.mGlobalLock) {
        synchronized (mService.mGlobalLock) {
            for (int i = 0; i < mCallbacks.size(); ++i) {
            for (int i = 0; i < mCallbacks.size(); ++i) {
                mCallbacks.get(i).onContinueRemoteDisplayChange(null /* transaction */);
                final ContinueRemoteDisplayChangeCallback callback = mCallbacks.get(i);
            }
                if (i == mCallbacks.size() - 1) {
                    // Clear all callbacks before calling the last one, so that if the callback
                    // itself calls {@link #isWaitingForRemoteDisplayChange()}, it will get
                    // {@code false}. After all, there is nothing pending after this one.
                    mCallbacks.clear();
                    mCallbacks.clear();
                }
                }
                callback.onContinueRemoteDisplayChange(null /* transaction */);
            }
        }
    }
    }


    private void continueDisplayChange(@NonNull ContinueRemoteDisplayChangeCallback callback,
    private void continueDisplayChange(@NonNull ContinueRemoteDisplayChangeCallback callback,