diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2021-05-25 06:05:01 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2021-05-25 06:05:01 +0000 |
commit | 5930b62e2f052a473642cc6f50ee35bdba24726b (patch) | |
tree | cb724436f80e75d397a9f88626bf72e1ec519f50 | |
parent | df7fddd96e245acbbd5630708a6ebcdedd708c73 (diff) | |
parent | 5a9716fa45cf59338746bccb56a2e1e1ecf258b8 (diff) | |
download | base-5930b62e2f052a473642cc6f50ee35bdba24726b.tar.gz |
Merge "Make Pip usage of FrameCallbackScheduler an actual class"
-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; }); |