summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2021-05-25 06:05:01 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2021-05-25 06:05:01 +0000
commit5930b62e2f052a473642cc6f50ee35bdba24726b (patch)
treecb724436f80e75d397a9f88626bf72e1ec519f50
parentdf7fddd96e245acbbd5630708a6ebcdedd708c73 (diff)
parent5a9716fa45cf59338746bccb56a2e1e1ecf258b8 (diff)
downloadbase-5930b62e2f052a473642cc6f50ee35bdba24726b.tar.gz
Merge "Make Pip usage of FrameCallbackScheduler an actual class"
-rw-r--r--packages/SystemUI/src/com/android/systemui/pip/phone/PipMotionHelper.java13
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;
});