diff --git a/core/java/com/android/internal/widget/SwipeDismissLayout.java b/core/java/com/android/internal/widget/SwipeDismissLayout.java index 97b1634f99cc7..7a4b23ad6ecf3 100644 --- a/core/java/com/android/internal/widget/SwipeDismissLayout.java +++ b/core/java/com/android/internal/widget/SwipeDismissLayout.java @@ -17,6 +17,7 @@ package com.android.internal.widget; import android.animation.TimeInterpolator; +import android.app.Activity; import android.content.Context; import android.util.AttributeSet; import android.util.Log; @@ -102,6 +103,11 @@ public class SwipeDismissLayout extends FrameLayout { android.R.integer.config_shortAnimTime); mCancelInterpolator = new DecelerateInterpolator(1.5f); mDismissInterpolator = new AccelerateInterpolator(1.5f); + // SwipeDismissLayout assumes that the host Activity is translucent + // and temporarily disables translucency when it is fully visible. + // As soon as the user starts swiping, we will re-enable + // translucency. + ((Activity) context).convertFromTranslucent(); } public void setOnDismissedListener(OnDismissedListener listener) { @@ -197,6 +203,7 @@ public class SwipeDismissLayout extends FrameLayout { mLastX = ev.getRawX(); updateSwiping(ev); if (mSwiping) { + ((Activity) getContext()).convertToTranslucent(null, null); setProgress(ev.getRawX() - mDownX); break; } @@ -218,6 +225,7 @@ public class SwipeDismissLayout extends FrameLayout { } protected void cancel() { + ((Activity) getContext()).convertFromTranslucent(); if (mProgressListener != null) { mProgressListener.onSwipeCancelled(this); } diff --git a/core/res/res/values/themes_micro.xml b/core/res/res/values/themes_micro.xml index 7e0467b3989e5..f1bc5dadae8d3 100644 --- a/core/res/res/values/themes_micro.xml +++ b/core/res/res/values/themes_micro.xml @@ -24,6 +24,8 @@ @color/black @null false + true true @@ -38,6 +40,8 @@ @color/white @null false + true true