From 8a148a3b1de69a018867506a42774a47870f6f6c Mon Sep 17 00:00:00 2001 From: Bryce Lee Date: Fri, 7 Aug 2015 15:15:56 -0700 Subject: [PATCH] Make sure that changes to UI in SwipeDismissLayout are on UI thread. Bug: 23036658 Change-Id: I2f51f7275c24f32c5f291f58b0dd331e608d8beb --- .../internal/widget/SwipeDismissLayout.java | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/core/java/com/android/internal/widget/SwipeDismissLayout.java b/core/java/com/android/internal/widget/SwipeDismissLayout.java index 35ed63b7eb1d2..d88f4797cc1ca 100644 --- a/core/java/com/android/internal/widget/SwipeDismissLayout.java +++ b/core/java/com/android/internal/widget/SwipeDismissLayout.java @@ -89,14 +89,21 @@ public class SwipeDismissLayout extends FrameLayout { } }; private BroadcastReceiver mScreenOffReceiver = new BroadcastReceiver() { + private Runnable mRunnable = new Runnable() { + @Override + public void run() { + if (mDismissed) { + dismiss(); + } else { + cancel(); + } + resetMembers(); + } + }; + @Override public void onReceive(Context context, Intent intent) { - if (mDismissed) { - dismiss(); - } else { - cancel(); - } - resetMembers(); + post(mRunnable); } }; private IntentFilter mScreenOffFilter = new IntentFilter(Intent.ACTION_SCREEN_OFF);