diff options
11 files changed, 11 insertions, 167 deletions
diff --git a/core/java/android/view/IWindowSession.aidl b/core/java/android/view/IWindowSession.aidl index 7b13e84..d08ab46 100644 --- a/core/java/android/view/IWindowSession.aidl +++ b/core/java/android/view/IWindowSession.aidl @@ -188,9 +188,6 @@ interface IWindowSession { void wallpaperCommandComplete(IBinder window, in Bundle result); - void setUniverseTransform(IBinder window, float alpha, float offx, float offy, - float dsdx, float dtdx, float dsdy, float dtdy); - /** * Notifies that a rectangle on the screen has been requested. */ diff --git a/core/java/android/view/WindowManager.java b/core/java/android/view/WindowManager.java index 094a8a1..12b310f 100644 --- a/core/java/android/view/WindowManager.java +++ b/core/java/android/view/WindowManager.java @@ -501,13 +501,6 @@ public interface WindowManager extends ViewManager { public static final int TYPE_NAVIGATION_BAR_PANEL = FIRST_SYSTEM_WINDOW+24; /** - * Window type: Behind the universe of the real windows. - * In multiuser systems shows on all users' windows. - * @hide - */ - public static final int TYPE_UNIVERSE_BACKGROUND = FIRST_SYSTEM_WINDOW+25; - - /** * Window type: Display overlay window. Used to simulate secondary display devices. * In multiuser systems shows on all users' windows. * @hide diff --git a/core/java/android/view/WindowManagerPolicy.java b/core/java/android/view/WindowManagerPolicy.java index b8e94ee..ff1fde7 100644 --- a/core/java/android/view/WindowManagerPolicy.java +++ b/core/java/android/view/WindowManagerPolicy.java @@ -579,13 +579,6 @@ public interface WindowManagerPolicy { public int getMaxWallpaperLayer(); /** - * Return the window layer at which windows appear above the normal - * universe (that is no longer impacted by the universe background - * transform). - */ - public int getAboveUniverseLayer(); - - /** * Return the display width available after excluding any screen * decorations that can never be removed. That is, system bar or * button bar. diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java index 7124e5b..d4032cc 100644 --- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java +++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java @@ -1723,7 +1723,6 @@ public class PhoneWindowManager implements WindowManagerPolicy { case TYPE_STATUS_BAR_PANEL: case TYPE_STATUS_BAR_SUB_PANEL: case TYPE_SYSTEM_DIALOG: - case TYPE_UNIVERSE_BACKGROUND: case TYPE_VOLUME_OVERLAY: case TYPE_PRIVATE_PRESENTATION: break; @@ -1822,8 +1821,6 @@ public class PhoneWindowManager implements WindowManagerPolicy { return 2; } switch (type) { - case TYPE_UNIVERSE_BACKGROUND: - return 1; case TYPE_PRIVATE_PRESENTATION: return 2; case TYPE_WALLPAPER: @@ -1935,11 +1932,6 @@ public class PhoneWindowManager implements WindowManagerPolicy { } @Override - public int getAboveUniverseLayer() { - return windowTypeToLayerLw(TYPE_SYSTEM_ERROR); - } - - @Override public int getNonDecorDisplayWidth(int fullWidth, int fullHeight, int rotation) { if (mHasNavigationBar) { // For a basic navigation bar, when we are in landscape mode we place @@ -1997,7 +1989,6 @@ public class PhoneWindowManager implements WindowManagerPolicy { case TYPE_NAVIGATION_BAR: case TYPE_WALLPAPER: case TYPE_DREAM: - case TYPE_UNIVERSE_BACKGROUND: case TYPE_KEYGUARD_SCRIM: return false; default: @@ -3769,8 +3760,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { + mOverscanScreenWidth; pf.bottom = df.bottom = of.bottom = cf.bottom = mOverscanScreenTop + mOverscanScreenHeight; - } else if (attrs.type == TYPE_BOOT_PROGRESS - || attrs.type == TYPE_UNIVERSE_BACKGROUND) { + } else if (attrs.type == TYPE_BOOT_PROGRESS) { // Boot progress screen always covers entire display. pf.left = df.left = of.left = cf.left = mOverscanScreenLeft; pf.top = df.top = of.top = cf.top = mOverscanScreenTop; diff --git a/services/core/java/com/android/server/wm/AccessibilityController.java b/services/core/java/com/android/server/wm/AccessibilityController.java index 08754f9..f8b40d1 100644 --- a/services/core/java/com/android/server/wm/AccessibilityController.java +++ b/services/core/java/com/android/server/wm/AccessibilityController.java @@ -606,9 +606,8 @@ final class AccessibilityController { final int windowCount = windowList.size(); for (int i = 0; i < windowCount; i++) { WindowState windowState = windowList.get(i); - if ((windowState.isOnScreen() || windowState.mAttrs.type == WindowManager - .LayoutParams.TYPE_UNIVERSE_BACKGROUND) - && !windowState.mWinAnimator.mEnterAnimationPending) { + if (windowState.isOnScreen() && + !windowState.mWinAnimator.mEnterAnimationPending) { outWindows.put(windowState.mLayer, windowState); } } @@ -1237,7 +1236,6 @@ final class AccessibilityController { && windowType != WindowManager.LayoutParams.TYPE_DRAG && windowType != WindowManager.LayoutParams.TYPE_HIDDEN_NAV_CONSUMER && windowType != WindowManager.LayoutParams.TYPE_POINTER - && windowType != WindowManager.LayoutParams.TYPE_UNIVERSE_BACKGROUND && windowType != WindowManager.LayoutParams.TYPE_MAGNIFICATION_OVERLAY && windowType != WindowManager.LayoutParams.TYPE_APPLICATION_MEDIA_OVERLAY && windowType != WindowManager.LayoutParams.TYPE_SECURE_SYSTEM_OVERLAY diff --git a/services/core/java/com/android/server/wm/InputMonitor.java b/services/core/java/com/android/server/wm/InputMonitor.java index 27ac32a..55dd911 100644 --- a/services/core/java/com/android/server/wm/InputMonitor.java +++ b/services/core/java/com/android/server/wm/InputMonitor.java @@ -239,9 +239,6 @@ final class InputMonitor implements InputManagerService.WindowManagerCallbacks { // As an optimization, we could try to prune the list of windows but this turns // out to be difficult because only the native code knows for sure which window // currently has touch focus. - final WindowStateAnimator universeBackground = mService.mAnimator.mUniverseBackground; - final int aboveUniverseLayer = mService.mAnimator.mAboveUniverseLayer; - boolean addedUniverse = false; boolean disableWallpaperTouchEvents = false; // If there's a drag in flight, provide a pseudowindow to catch drag input @@ -299,20 +296,8 @@ final class InputMonitor implements InputManagerService.WindowManagerCallbacks { mService.mDragState.sendDragStartedIfNeededLw(child); } - if (universeBackground != null && !addedUniverse - && child.mBaseLayer < aboveUniverseLayer && onDefaultDisplay) { - final WindowState u = universeBackground.mWin; - if (u.mInputChannel != null && u.mInputWindowHandle != null) { - addInputWindowHandleLw(u.mInputWindowHandle, u, u.mAttrs.flags, - u.mAttrs.type, true, u == mInputFocus, false); - } - addedUniverse = true; - } - - if (child.mWinAnimator != universeBackground) { - addInputWindowHandleLw(inputWindowHandle, child, flags, type, isVisible, - hasFocus, hasWallpaper); - } + addInputWindowHandleLw(inputWindowHandle, child, flags, type, isVisible, hasFocus, + hasWallpaper); } } diff --git a/services/core/java/com/android/server/wm/Session.java b/services/core/java/com/android/server/wm/Session.java index a4dfd8a..d68c056 100644 --- a/services/core/java/com/android/server/wm/Session.java +++ b/services/core/java/com/android/server/wm/Session.java @@ -446,20 +446,6 @@ final class Session extends IWindowSession.Stub mService.wallpaperCommandComplete(window, result); } - public void setUniverseTransform(IBinder window, float alpha, float offx, float offy, - float dsdx, float dtdx, float dsdy, float dtdy) { - synchronized(mService.mWindowMap) { - long ident = Binder.clearCallingIdentity(); - try { - mService.setUniverseTransformLocked( - mService.windowForClientLocked(this, window, true), - alpha, offx, offy, dsdx, dtdx, dsdy, dtdy); - } finally { - Binder.restoreCallingIdentity(ident); - } - } - } - public void onRectangleOnScreenRequested(IBinder token, Rect rectangle) { synchronized(mService.mWindowMap) { final long identity = Binder.clearCallingIdentity(); diff --git a/services/core/java/com/android/server/wm/WindowAnimator.java b/services/core/java/com/android/server/wm/WindowAnimator.java index 7e1f061..3987132 100644 --- a/services/core/java/com/android/server/wm/WindowAnimator.java +++ b/services/core/java/com/android/server/wm/WindowAnimator.java @@ -79,9 +79,6 @@ public class WindowAnimator { * seen. If multiple windows satisfy this, use the lowest window. */ WindowState mWindowDetachedWallpaper = null; - WindowStateAnimator mUniverseBackground = null; - int mAboveUniverseLayer = 0; - int mBulkUpdateParams = 0; Object mLastWindowFreezeSource; @@ -814,10 +811,6 @@ public class WindowAnimator { pw.print(prefix); pw.print("mWindowDetachedWallpaper="); pw.println(mWindowDetachedWallpaper); } - if (mUniverseBackground != null) { - pw.print(prefix); pw.print("mUniverseBackground="); pw.print(mUniverseBackground); - pw.print(" mAboveUniverseLayer="); pw.println(mAboveUniverseLayer); - } } int getPendingLayoutChanges(final int displayId) { diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index a368b4e..66bef41 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -813,9 +813,6 @@ public class WindowManagerService extends IWindowManager.Stub WindowManagerPolicyThread.set(Thread.currentThread(), Looper.myLooper()); mPolicy.init(mContext, WindowManagerService.this, WindowManagerService.this); - mAnimator.mAboveUniverseLayer = mPolicy.getAboveUniverseLayer() - * TYPE_LAYER_MULTIPLIER - + TYPE_LAYER_OFFSET; } }, 0); } @@ -2947,37 +2944,6 @@ public class WindowManagerService extends IWindowManager.Stub return null; } - public void setUniverseTransformLocked(WindowState window, float alpha, - float offx, float offy, float dsdx, float dtdx, float dsdy, float dtdy) { - Transformation transform = window.mWinAnimator.mUniverseTransform; - transform.setAlpha(alpha); - Matrix matrix = transform.getMatrix(); - matrix.getValues(mTmpFloats); - mTmpFloats[Matrix.MTRANS_X] = offx; - mTmpFloats[Matrix.MTRANS_Y] = offy; - mTmpFloats[Matrix.MSCALE_X] = dsdx; - mTmpFloats[Matrix.MSKEW_Y] = dtdx; - mTmpFloats[Matrix.MSKEW_X] = dsdy; - mTmpFloats[Matrix.MSCALE_Y] = dtdy; - matrix.setValues(mTmpFloats); - final DisplayContent displayContent = window.getDisplayContent(); - if (displayContent == null) { - return; - } - - final DisplayInfo displayInfo = displayContent.getDisplayInfo(); - final RectF dispRect = new RectF(0, 0, - displayInfo.logicalWidth, displayInfo.logicalHeight); - matrix.mapRect(dispRect); - window.mGivenTouchableRegion.set(0, 0, - displayInfo.logicalWidth, displayInfo.logicalHeight); - window.mGivenTouchableRegion.op((int)dispRect.left, (int)dispRect.top, - (int)dispRect.right, (int)dispRect.bottom, Region.Op.DIFFERENCE); - window.mTouchableInsets = ViewTreeObserver.InternalInsetsInfo.TOUCHABLE_INSETS_REGION; - displayContent.layoutNeeded = true; - performLayoutAndPlaceSurfacesLocked(); - } - public void onRectangleOnScreenRequested(IBinder token, Rect rectangle) { synchronized (mWindowMap) { if (mAccessibilityController != null) { @@ -8481,7 +8447,7 @@ public class WindowManagerService extends IWindowManager.Stub numRemoved++; continue; } else if (lastBelow == i-1) { - if (w.mAttrs.type == TYPE_WALLPAPER || w.mAttrs.type == TYPE_UNIVERSE_BACKGROUND) { + if (w.mAttrs.type == TYPE_WALLPAPER) { lastBelow = i; } } @@ -8736,8 +8702,6 @@ public class WindowManagerService extends IWindowManager.Stub + displayContent.layoutNeeded + " dw=" + dw + " dh=" + dh); } - WindowStateAnimator universeBackground = null; - mPolicy.beginLayoutLw(isDefaultDisplay, dw, dh, mRotation); if (isDefaultDisplay) { // Not needed on non-default displays. @@ -8795,8 +8759,7 @@ public class WindowManagerService extends IWindowManager.Stub || ((win.isConfigChanged() || win.setInsetsChanged()) && ((win.mAttrs.privateFlags & PRIVATE_FLAG_KEYGUARD) != 0 || (win.mHasSurface && win.mAppToken != null && - win.mAppToken.layoutConfigChanges))) - || win.mAttrs.type == TYPE_UNIVERSE_BACKGROUND) { + win.mAppToken.layoutConfigChanges)))) { if (!win.mLayoutAttached) { if (initial) { //Slog.i(TAG, "Window " + this + " clearing mContentChanged - initial"); @@ -8820,16 +8783,6 @@ public class WindowManagerService extends IWindowManager.Stub if (topAttached < 0) topAttached = i; } } - if (win.mViewVisibility == View.VISIBLE - && win.mAttrs.type == TYPE_UNIVERSE_BACKGROUND - && universeBackground == null) { - universeBackground = win.mWinAnimator; - } - } - - if (mAnimator.mUniverseBackground != universeBackground) { - mFocusMayChange = true; - mAnimator.mUniverseBackground = universeBackground; } boolean attachedBehindDream = false; @@ -10372,11 +10325,6 @@ public class WindowManagerService extends IWindowManager.Stub } private WindowState computeFocusedWindowLocked() { - if (mAnimator.mUniverseBackground != null - && mAnimator.mUniverseBackground.mWin.canReceiveKeys()) { - return mAnimator.mUniverseBackground.mWin; - } - final int displayCount = mDisplayContents.size(); for (int i = 0; i < displayCount; i++) { final DisplayContent displayContent = mDisplayContents.valueAt(i); diff --git a/services/core/java/com/android/server/wm/WindowStateAnimator.java b/services/core/java/com/android/server/wm/WindowStateAnimator.java index c2d8004..8202880 100644 --- a/services/core/java/com/android/server/wm/WindowStateAnimator.java +++ b/services/core/java/com/android/server/wm/WindowStateAnimator.java @@ -85,10 +85,6 @@ class WindowStateAnimator { final Context mContext; final boolean mIsWallpaper; - // If this is a universe background window, this is the transformation - // it is applying to the rest of the universe. - final Transformation mUniverseTransform = new Transformation(); - // Currently running animation. boolean mAnimating; boolean mLocalAnimating; @@ -1096,9 +1092,6 @@ class WindowStateAnimator { if (appTransformation != null) { tmpMatrix.postConcat(appTransformation.getMatrix()); } - if (mAnimator.mUniverseBackground != null) { - tmpMatrix.postConcat(mAnimator.mUniverseBackground.mUniverseTransform.getMatrix()); - } if (screenAnimation) { tmpMatrix.postConcat(screenRotationAnimation.getEnterTransformation().getMatrix()); } @@ -1164,9 +1157,6 @@ class WindowStateAnimator { mHasClipRect = true; } } - if (mAnimator.mUniverseBackground != null) { - mShownAlpha *= mAnimator.mUniverseBackground.mUniverseTransform.getAlpha(); - } if (screenAnimation) { mShownAlpha *= screenRotationAnimation.getEnterTransformation().getAlpha(); } @@ -1192,15 +1182,12 @@ class WindowStateAnimator { TAG, "computeShownFrameLocked: " + this + " not attached, mAlpha=" + mAlpha); - final boolean applyUniverseTransformation = (mAnimator.mUniverseBackground != null - && mWin.mAttrs.type != WindowManager.LayoutParams.TYPE_UNIVERSE_BACKGROUND - && mWin.mBaseLayer < mAnimator.mAboveUniverseLayer); MagnificationSpec spec = null; //TODO (multidisplay): Magnification is supported only for the default display. if (mService.mAccessibilityController != null && displayId == Display.DEFAULT_DISPLAY) { spec = mService.mAccessibilityController.getMagnificationSpecForWindowLocked(mWin); } - if (applyUniverseTransformation || spec != null) { + if (spec != null) { final Rect frame = mWin.mFrame; final float tmpFloats[] = mService.mTmpFloats; final Matrix tmpMatrix = mWin.mTmpMatrix; @@ -1208,10 +1195,6 @@ class WindowStateAnimator { tmpMatrix.setScale(mWin.mGlobalScale, mWin.mGlobalScale); tmpMatrix.postTranslate(frame.left + mWin.mXOffset, frame.top + mWin.mYOffset); - if (applyUniverseTransformation) { - tmpMatrix.postConcat(mAnimator.mUniverseBackground.mUniverseTransform.getMatrix()); - } - if (spec != null && !spec.isNop()) { tmpMatrix.postScale(spec.scale, spec.scale); tmpMatrix.postTranslate(spec.offsetX, spec.offsetY); @@ -1231,9 +1214,6 @@ class WindowStateAnimator { mWin.mShownFrame.set(x, y, x + w, y + h); mShownAlpha = mAlpha; - if (applyUniverseTransformation) { - mShownAlpha *= mAnimator.mUniverseBackground.mUniverseTransform.getAlpha(); - } } else { mWin.mShownFrame.set(mWin.mFrame); if (mWin.mXOffset != 0 || mWin.mYOffset != 0) { @@ -1301,17 +1281,9 @@ class WindowStateAnimator { displayInfo.logicalHeight - w.mCompatFrame.top); } else if (w.mLayer >= mService.mSystemDecorLayer) { // Above the decor layer is easy, just use the entire window. - // Unless we have a universe background... in which case all the - // windows need to be cropped by the screen, so they don't cover - // the universe background. - if (mAnimator.mUniverseBackground == null) { - w.mSystemDecorRect.set(0, 0, w.mCompatFrame.width(), w.mCompatFrame.height()); - } else { - applyDecorRect(mService.mScreenRect); - } - } else if (w.mAttrs.type == WindowManager.LayoutParams.TYPE_UNIVERSE_BACKGROUND - || w.mDecorFrame.isEmpty()) { - // The universe background isn't cropped, nor windows without policy decor. + w.mSystemDecorRect.set(0, 0, w.mCompatFrame.width(), w.mCompatFrame.height()); + } else if (w.mDecorFrame.isEmpty()) { + // Windows without policy decor aren't cropped. w.mSystemDecorRect.set(0, 0, w.mCompatFrame.width(), w.mCompatFrame.height()); } else if (w.mAttrs.type == LayoutParams.TYPE_WALLPAPER && mAnimator.mAnimating) { // If we're animating, the wallpaper crop should only be updated at the end of the @@ -1932,11 +1904,6 @@ class WindowStateAnimator { pw.print(prefix); pw.print("mSurfaceResized="); pw.print(mSurfaceResized); pw.print(" mSurfaceDestroyDeferred="); pw.println(mSurfaceDestroyDeferred); } - if (mWin.mAttrs.type == WindowManager.LayoutParams.TYPE_UNIVERSE_BACKGROUND) { - pw.print(prefix); pw.print("mUniverseTransform="); - mUniverseTransform.printShortString(pw); - pw.println(); - } if (mShownAlpha != 1 || mAlpha != 1 || mLastAlpha != 1) { pw.print(prefix); pw.print("mShownAlpha="); pw.print(mShownAlpha); pw.print(" mAlpha="); pw.print(mAlpha); diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java index 0f51d00..62a03e1 100644 --- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java +++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java @@ -191,12 +191,6 @@ public final class BridgeWindowSession implements IWindowSession { } @Override - public void setUniverseTransform(IBinder window, float alpha, float offx, float offy, - float dsdx, float dtdx, float dsdy, float dtdy) { - // pass for now. - } - - @Override public IBinder asBinder() { // pass for now. return null; |