OSDN Git Service

Check if the activity translucency was converted before converted back.
authorMichael Kwan <mkwan@google.com>
Mon, 9 Jan 2017 21:43:52 +0000 (13:43 -0800)
committerMichael Kwan <mkwan@google.com>
Mon, 9 Jan 2017 21:43:52 +0000 (13:43 -0800)
Bug: 34084490
Change-Id: Ib04c76549a31c7e523649f9d284637d44d7477ae

core/java/com/android/internal/widget/SwipeDismissLayout.java

index e80d812..2a5957c 100644 (file)
@@ -79,6 +79,7 @@ public class SwipeDismissLayout extends FrameLayout {
     private VelocityTracker mVelocityTracker;
     private float mTranslationX;
     private boolean mBlockGesture = false;
+    private boolean mActivityTranslucencyConverted = false;
 
     private final DismissAnimator mDismissAnimator = new DismissAnimator();
 
@@ -277,8 +278,9 @@ public class SwipeDismissLayout extends FrameLayout {
     protected void cancel() {
         if (!mIsWindowNativelyTranslucent) {
             Activity activity = findActivity();
-            if (activity != null) {
+            if (activity != null && mActivityTranslucencyConverted) {
                 activity.convertFromTranslucent();
+                mActivityTranslucencyConverted = false;
             }
         }
         if (mProgressListener != null) {
@@ -319,7 +321,7 @@ public class SwipeDismissLayout extends FrameLayout {
             if (!mIsWindowNativelyTranslucent) {
                 Activity activity = findActivity();
                 if (activity != null) {
-                    activity.convertToTranslucent(null, null);
+                    mActivityTranslucencyConverted = activity.convertToTranslucent(null, null);
                 }
             }
         }