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

Commit 048114ad authored by Riddle Hsu's avatar Riddle Hsu Committed by Android (Google) Code Review
Browse files

Merge "Hold wm lock in ClearOptionsAnimation" into main

parents c3fd2835 7054a780
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -389,7 +389,11 @@ public interface ActivityInterceptorCallback {
            return mCheckedOptions;
        }

        /** Returns the {@link Runnable} object to clear options Animation. */
        /**
         * Returns the {@link Runnable} object to clear options Animation. Note that the runnable
         * should not be executed inside a lock because the implementation of runnable holds window
         * manager's lock.
         */
        @Nullable
        public Runnable getClearOptionsAnimationRunnable() {
            return mClearOptionsAnimation;
+5 −2
Original line number Diff line number Diff line
@@ -523,8 +523,11 @@ class ActivityStartInterceptor {
    void onActivityLaunched(TaskInfo taskInfo, ActivityRecord r) {
        final SparseArray<ActivityInterceptorCallback> callbacks =
                mService.getActivityInterceptorCallbacks();
        ActivityInterceptorCallback.ActivityInterceptorInfo info = getInterceptorInfo(
                r::clearOptionsAnimationForSiblings);
        final ActivityInterceptorCallback.ActivityInterceptorInfo info = getInterceptorInfo(() -> {
            synchronized (mService.mGlobalLock) {
                r.clearOptionsAnimationForSiblings();
            }
        });
        for (int i = 0; i < callbacks.size(); i++) {
            final ActivityInterceptorCallback callback = callbacks.valueAt(i);
            callback.onActivityLaunched(taskInfo, r.info, info);