diff options
Diffstat (limited to 'services')
-rw-r--r-- | services/core/java/com/android/server/wm/WindowState.java | 4 | ||||
-rw-r--r-- | services/core/java/com/android/server/wm/WindowStateAnimator.java | 5 |
2 files changed, 9 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index 05b81d4bfb67..d5c1721183fe 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -2997,6 +2997,10 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP return true; } + boolean isForceHiddenNonSystemOverlayWindow() { + return mForceHideNonSystemOverlayWindow; + } + void setForceHideNonSystemOverlayWindowIfNeeded(boolean forceHide) { final int baseType = getBaseType(); if (mSession.mCanAddInternalSystemWindow diff --git a/services/core/java/com/android/server/wm/WindowStateAnimator.java b/services/core/java/com/android/server/wm/WindowStateAnimator.java index 0d434f51e082..3fd0e2e30f62 100644 --- a/services/core/java/com/android/server/wm/WindowStateAnimator.java +++ b/services/core/java/com/android/server/wm/WindowStateAnimator.java @@ -62,6 +62,7 @@ import android.view.Surface.OutOfResourcesException; import android.view.SurfaceControl; import android.view.WindowManager; import android.view.WindowManager.LayoutParams; +import android.view.animation.AlphaAnimation; import android.view.animation.Animation; import android.view.animation.AnimationUtils; @@ -545,6 +546,10 @@ class WindowStateAnimator { a = AnimationUtils.loadAnimation(mContext, anim); Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER); } + } else if (!isEntrance && mWin.isForceHiddenNonSystemOverlayWindow()) { + a = new AlphaAnimation(1f, 0f); + a.setDuration(mContext.getResources().getInteger( + com.android.internal.R.integer.config_shortAnimTime)); } else { switch (transit) { case WindowManagerPolicy.TRANSIT_ENTER: |