diff options
| author | 2021-01-07 15:45:27 -0800 | |
|---|---|---|
| committer | 2021-05-24 13:52:27 -0700 | |
| commit | 5a9716fa45cf59338746bccb56a2e1e1ecf258b8 (patch) | |
| tree | 73438523c24f07701eafae958be583c7bf1d957a | |
| parent | 9144eaf12f4163d0640acaa31a86be231699faed (diff) | |
Make Pip usage of FrameCallbackScheduler an actual class
Bug: 175330528
Test: Builds with new dynamic-animation library
Change-Id: I1632bd87a0f02940317a38a87b074d303f80b8c7
Merged-In: I1632bd87a0f02940317a38a87b074d303f80b8c7
(cherry picked from commit c6c603078b9a32f00b205b23919faea47343f54d)
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/pip/phone/PipMotionHelper.java | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/pip/phone/PipMotionHelper.java b/packages/SystemUI/src/com/android/systemui/pip/phone/PipMotionHelper.java index 9f0b1de21b52..e5da23ad0842 100644 --- a/packages/SystemUI/src/com/android/systemui/pip/phone/PipMotionHelper.java +++ b/packages/SystemUI/src/com/android/systemui/pip/phone/PipMotionHelper.java @@ -23,6 +23,7 @@ import android.content.Context; import android.graphics.PointF; import android.graphics.Rect; import android.os.Debug; +import android.os.Looper; import android.util.Log; import android.view.Choreographer; @@ -94,8 +95,18 @@ public class PipMotionHelper implements PipAppOpsListener.Callback, private ThreadLocal<AnimationHandler> mSfAnimationHandlerThreadLocal = ThreadLocal.withInitial(() -> { - FrameCallbackScheduler scheduler = runnable -> + final Looper initialLooper = Looper.myLooper(); + final FrameCallbackScheduler scheduler = new FrameCallbackScheduler() { + @Override + public void postFrameCallback(@androidx.annotation.NonNull Runnable runnable) { Choreographer.getSfInstance().postFrameCallback(t -> runnable.run()); + } + + @Override + public boolean isCurrentThread() { + return Looper.myLooper() == initialLooper; + } + }; AnimationHandler handler = new AnimationHandler(scheduler); return handler; }); |