summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorMathias Agopian <mathias@google.com>2013-02-14 14:36:04 -0800
committerMathias Agopian <mathias@google.com>2013-02-15 12:47:40 -0800
commit29479ebe1007361222bf6ab4d5e2a27927d4b8e8 (patch)
tree704baab78634aac8fb8139e8a9ea212714d4d26d /services
parentc145317d0b19fbd1e7aff8519696146853367b89 (diff)
downloadframeworks_base-29479ebe1007361222bf6ab4d5e2a27927d4b8e8.zip
frameworks_base-29479ebe1007361222bf6ab4d5e2a27927d4b8e8.tar.gz
frameworks_base-29479ebe1007361222bf6ab4d5e2a27927d4b8e8.tar.bz2
clean-up following Surface split
Change-Id: I853a76d92d957ee38a36fcdd280d6407ec316987
Diffstat (limited to 'services')
-rw-r--r--services/java/com/android/server/power/ElectronBeam.java26
-rw-r--r--services/java/com/android/server/wm/AppWindowToken.java2
-rw-r--r--services/java/com/android/server/wm/BlackFrame.java24
-rw-r--r--services/java/com/android/server/wm/DisplayMagnifier.java6
-rw-r--r--services/java/com/android/server/wm/DragState.java14
-rw-r--r--services/java/com/android/server/wm/ScreenRotationAnimation.java50
-rw-r--r--services/java/com/android/server/wm/Session.java12
-rw-r--r--services/java/com/android/server/wm/WindowAnimator.java4
-rw-r--r--services/java/com/android/server/wm/WindowManagerService.java50
-rw-r--r--services/java/com/android/server/wm/WindowStateAnimator.java82
10 files changed, 134 insertions, 136 deletions
diff --git a/services/java/com/android/server/power/ElectronBeam.java b/services/java/com/android/server/power/ElectronBeam.java
index 2828e5e..e302e83 100644
--- a/services/java/com/android/server/power/ElectronBeam.java
+++ b/services/java/com/android/server/power/ElectronBeam.java
@@ -713,17 +713,17 @@ final class ElectronBeam {
*/
private static final class NaturalSurfaceLayout implements DisplayTransactionListener {
private final DisplayManagerService mDisplayManager;
- private SurfaceControl mSurface;
+ private SurfaceControl mSurfaceControl;
- public NaturalSurfaceLayout(DisplayManagerService displayManager, SurfaceControl surface) {
+ public NaturalSurfaceLayout(DisplayManagerService displayManager, SurfaceControl surfaceControl) {
mDisplayManager = displayManager;
- mSurface = surface;
+ mSurfaceControl = surfaceControl;
mDisplayManager.registerDisplayTransactionListener(this);
}
public void dispose() {
synchronized (this) {
- mSurface = null;
+ mSurfaceControl = null;
}
mDisplayManager.unregisterDisplayTransactionListener(this);
}
@@ -731,27 +731,27 @@ final class ElectronBeam {
@Override
public void onDisplayTransaction() {
synchronized (this) {
- if (mSurface == null) {
+ if (mSurfaceControl == null) {
return;
}
DisplayInfo displayInfo = mDisplayManager.getDisplayInfo(Display.DEFAULT_DISPLAY);
switch (displayInfo.rotation) {
case Surface.ROTATION_0:
- mSurface.setPosition(0, 0);
- mSurface.setMatrix(1, 0, 0, 1);
+ mSurfaceControl.setPosition(0, 0);
+ mSurfaceControl.setMatrix(1, 0, 0, 1);
break;
case Surface.ROTATION_90:
- mSurface.setPosition(0, displayInfo.logicalHeight);
- mSurface.setMatrix(0, -1, 1, 0);
+ mSurfaceControl.setPosition(0, displayInfo.logicalHeight);
+ mSurfaceControl.setMatrix(0, -1, 1, 0);
break;
case Surface.ROTATION_180:
- mSurface.setPosition(displayInfo.logicalWidth, displayInfo.logicalHeight);
- mSurface.setMatrix(-1, 0, 0, -1);
+ mSurfaceControl.setPosition(displayInfo.logicalWidth, displayInfo.logicalHeight);
+ mSurfaceControl.setMatrix(-1, 0, 0, -1);
break;
case Surface.ROTATION_270:
- mSurface.setPosition(displayInfo.logicalWidth, 0);
- mSurface.setMatrix(0, 1, -1, 0);
+ mSurfaceControl.setPosition(displayInfo.logicalWidth, 0);
+ mSurfaceControl.setMatrix(0, 1, -1, 0);
break;
}
}
diff --git a/services/java/com/android/server/wm/AppWindowToken.java b/services/java/com/android/server/wm/AppWindowToken.java
index 8fd5209..8cc1d02 100644
--- a/services/java/com/android/server/wm/AppWindowToken.java
+++ b/services/java/com/android/server/wm/AppWindowToken.java
@@ -157,7 +157,7 @@ class AppWindowToken extends WindowToken {
+ win.isDrawnLw()
+ ", isAnimating=" + win.mWinAnimator.isAnimating());
if (!win.isDrawnLw()) {
- Slog.v(WindowManagerService.TAG, "Not displayed: s=" + win.mWinAnimator.mSurface
+ Slog.v(WindowManagerService.TAG, "Not displayed: s=" + win.mWinAnimator.mSurfaceControl
+ " pv=" + win.mPolicyVisibility
+ " mDrawState=" + win.mWinAnimator.mDrawState
+ " ah=" + win.mAttachedHidden
diff --git a/services/java/com/android/server/wm/BlackFrame.java b/services/java/com/android/server/wm/BlackFrame.java
index a197840..774b165 100644
--- a/services/java/com/android/server/wm/BlackFrame.java
+++ b/services/java/com/android/server/wm/BlackFrame.java
@@ -37,24 +37,22 @@ public class BlackFrame {
final SurfaceControl surface;
BlackSurface(SurfaceSession session, int layer, int l, int t, int r, int b, int layerStack)
- throws Surface.OutOfResourcesException {
+ throws SurfaceControl.OutOfResourcesException {
left = l;
top = t;
this.layer = layer;
int w = r-l;
int h = b-t;
- try {
- if (WindowManagerService.DEBUG_SURFACE_TRACE) {
- surface = new WindowStateAnimator.SurfaceTrace(session, "BlackSurface("
- + l + ", " + t + ")",
- w, h, PixelFormat.OPAQUE, SurfaceControl.FX_SURFACE_DIM | SurfaceControl.HIDDEN);
- } else {
- surface = new SurfaceControl(session, "BlackSurface",
- w, h, PixelFormat.OPAQUE, SurfaceControl.FX_SURFACE_DIM | SurfaceControl.HIDDEN);
- }
- } catch (SurfaceControl.OutOfResourcesException e) {
- throw new Surface.OutOfResourcesException(e.getMessage());
+
+ if (WindowManagerService.DEBUG_SURFACE_TRACE) {
+ surface = new WindowStateAnimator.SurfaceTrace(session, "BlackSurface("
+ + l + ", " + t + ")",
+ w, h, PixelFormat.OPAQUE, SurfaceControl.FX_SURFACE_DIM | SurfaceControl.HIDDEN);
+ } else {
+ surface = new SurfaceControl(session, "BlackSurface",
+ w, h, PixelFormat.OPAQUE, SurfaceControl.FX_SURFACE_DIM | SurfaceControl.HIDDEN);
}
+
surface.setAlpha(1);
surface.setLayerStack(layerStack);
surface.setLayer(layer);
@@ -109,7 +107,7 @@ public class BlackFrame {
}
public BlackFrame(SurfaceSession session, Rect outer, Rect inner,
- int layer, final int layerStack) throws Surface.OutOfResourcesException {
+ int layer, final int layerStack) throws SurfaceControl.OutOfResourcesException {
boolean success = false;
mOuterRect = new Rect(outer);
diff --git a/services/java/com/android/server/wm/DisplayMagnifier.java b/services/java/com/android/server/wm/DisplayMagnifier.java
index 55c6fa6..0f51028 100644
--- a/services/java/com/android/server/wm/DisplayMagnifier.java
+++ b/services/java/com/android/server/wm/DisplayMagnifier.java
@@ -491,15 +491,15 @@ final class DisplayMagnifier {
private boolean mInvalidated;
public ViewportWindow(Context context) {
- SurfaceControl surface = null;
+ SurfaceControl surfaceControl = null;
try {
mWindowManager.getDefaultDisplay().getRealSize(mTempPoint);
- surface = new SurfaceControl(mWindowManagerService.mFxSession, SURFACE_TITLE,
+ surfaceControl = new SurfaceControl(mWindowManagerService.mFxSession, SURFACE_TITLE,
mTempPoint.x, mTempPoint.y, PixelFormat.TRANSLUCENT, SurfaceControl.HIDDEN);
} catch (SurfaceControl.OutOfResourcesException oore) {
/* ignore */
}
- mSurfaceControl = surface;
+ mSurfaceControl = surfaceControl;
mSurfaceControl.setLayerStack(mWindowManager.getDefaultDisplay().getLayerStack());
mSurfaceControl.setLayer(mWindowManagerService.mPolicy.windowTypeToLayerLw(
WindowManager.LayoutParams.TYPE_MAGNIFICATION_OVERLAY)
diff --git a/services/java/com/android/server/wm/DragState.java b/services/java/com/android/server/wm/DragState.java
index 63f306f..745b886 100644
--- a/services/java/com/android/server/wm/DragState.java
+++ b/services/java/com/android/server/wm/DragState.java
@@ -46,7 +46,7 @@ import java.util.ArrayList;
class DragState {
final WindowManagerService mService;
IBinder mToken;
- SurfaceControl mSurface;
+ SurfaceControl mSurfaceControl;
int mFlags;
IBinder mLocalWin;
ClipData mData;
@@ -69,17 +69,17 @@ class DragState {
int flags, IBinder localWin) {
mService = service;
mToken = token;
- mSurface = surface;
+ mSurfaceControl = surface;
mFlags = flags;
mLocalWin = localWin;
mNotifiedWindows = new ArrayList<WindowState>();
}
void reset() {
- if (mSurface != null) {
- mSurface.destroy();
+ if (mSurfaceControl != null) {
+ mSurfaceControl.destroy();
}
- mSurface = null;
+ mSurfaceControl = null;
mFlags = 0;
mLocalWin = null;
mToken = null;
@@ -296,9 +296,9 @@ class DragState {
WindowManagerService.TAG, ">>> OPEN TRANSACTION notifyMoveLw");
SurfaceControl.openTransaction();
try {
- mSurface.setPosition(x - mThumbOffsetX, y - mThumbOffsetY);
+ mSurfaceControl.setPosition(x - mThumbOffsetX, y - mThumbOffsetY);
if (WindowManagerService.SHOW_TRANSACTIONS) Slog.i(WindowManagerService.TAG, " DRAG "
- + mSurface + ": pos=(" +
+ + mSurfaceControl + ": pos=(" +
(int)(x - mThumbOffsetX) + "," + (int)(y - mThumbOffsetY) + ")");
} finally {
SurfaceControl.closeTransaction();
diff --git a/services/java/com/android/server/wm/ScreenRotationAnimation.java b/services/java/com/android/server/wm/ScreenRotationAnimation.java
index 05397ac..5d4ab56 100644
--- a/services/java/com/android/server/wm/ScreenRotationAnimation.java
+++ b/services/java/com/android/server/wm/ScreenRotationAnimation.java
@@ -44,7 +44,7 @@ class ScreenRotationAnimation {
final Context mContext;
final Display mDisplay;
- SurfaceControl mSurface;
+ SurfaceControl mSurfaceControl;
BlackFrame mCustomBlackFrame;
BlackFrame mExitingBlackFrame;
BlackFrame mEnteringBlackFrame;
@@ -128,7 +128,7 @@ class ScreenRotationAnimation {
long mHalfwayPoint;
public void printTo(String prefix, PrintWriter pw) {
- pw.print(prefix); pw.print("mSurface="); pw.print(mSurface);
+ pw.print(prefix); pw.print("mSurface="); pw.print(mSurfaceControl);
pw.print(" mWidth="); pw.print(mWidth);
pw.print(" mHeight="); pw.println(mHeight);
if (USE_CUSTOM_BLACK_FRAME) {
@@ -220,25 +220,25 @@ class ScreenRotationAnimation {
try {
try {
if (WindowManagerService.DEBUG_SURFACE_TRACE) {
- mSurface = new SurfaceTrace(session, "FreezeSurface",
+ mSurfaceControl = new SurfaceTrace(session, "FreezeSurface",
mWidth, mHeight,
PixelFormat.OPAQUE, SurfaceControl.FX_SURFACE_SCREENSHOT | SurfaceControl.HIDDEN);
} else {
- mSurface = new SurfaceControl(session, "FreezeSurface",
+ mSurfaceControl = new SurfaceControl(session, "FreezeSurface",
mWidth, mHeight,
PixelFormat.OPAQUE, SurfaceControl.FX_SURFACE_SCREENSHOT | SurfaceControl.HIDDEN);
}
- mSurface.setLayerStack(mDisplay.getLayerStack());
- mSurface.setLayer(FREEZE_LAYER + 1);
- mSurface.setAlpha(0);
- mSurface.show();
+ mSurfaceControl.setLayerStack(mDisplay.getLayerStack());
+ mSurfaceControl.setLayer(FREEZE_LAYER + 1);
+ mSurfaceControl.setAlpha(0);
+ mSurfaceControl.show();
} catch (SurfaceControl.OutOfResourcesException e) {
Slog.w(TAG, "Unable to allocate freeze surface", e);
}
if (WindowManagerService.SHOW_TRANSACTIONS ||
WindowManagerService.SHOW_SURFACE_ALLOC) Slog.i(WindowManagerService.TAG,
- " FREEZE " + mSurface + ": CREATE");
+ " FREEZE " + mSurfaceControl + ": CREATE");
setRotationInTransaction(originalRotation);
} finally {
@@ -251,7 +251,7 @@ class ScreenRotationAnimation {
}
boolean hasScreenshot() {
- return mSurface != null;
+ return mSurfaceControl != null;
}
static int deltaRotation(int oldRotation, int newRotation) {
@@ -261,13 +261,13 @@ class ScreenRotationAnimation {
}
private void setSnapshotTransformInTransaction(Matrix matrix, float alpha) {
- if (mSurface != null) {
+ if (mSurfaceControl != null) {
matrix.getValues(mTmpFloats);
- mSurface.setPosition(mTmpFloats[Matrix.MTRANS_X], mTmpFloats[Matrix.MTRANS_Y]);
- mSurface.setMatrix(
+ mSurfaceControl.setPosition(mTmpFloats[Matrix.MTRANS_X], mTmpFloats[Matrix.MTRANS_Y]);
+ mSurfaceControl.setMatrix(
mTmpFloats[Matrix.MSCALE_X], mTmpFloats[Matrix.MSKEW_Y],
mTmpFloats[Matrix.MSKEW_X], mTmpFloats[Matrix.MSCALE_Y]);
- mSurface.setAlpha(alpha);
+ mSurfaceControl.setAlpha(alpha);
if (DEBUG_TRANSFORMS) {
float[] srcPnts = new float[] { 0, 0, mWidth, mHeight };
float[] dstPnts = new float[4];
@@ -333,7 +333,7 @@ class ScreenRotationAnimation {
*/
private boolean startAnimation(SurfaceSession session, long maxAnimationDuration,
float animationScale, int finalWidth, int finalHeight, boolean dismissing) {
- if (mSurface == null) {
+ if (mSurfaceControl == null) {
// Can't do animation.
return false;
}
@@ -509,7 +509,7 @@ class ScreenRotationAnimation {
mCustomBlackFrame = new BlackFrame(session, outer, inner, FREEZE_LAYER + 3,
layerStack);
mCustomBlackFrame.setMatrix(mFrameInitialMatrix);
- } catch (Surface.OutOfResourcesException e) {
+ } catch (SurfaceControl.OutOfResourcesException e) {
Slog.w(TAG, "Unable to allocate black surface", e);
} finally {
SurfaceControl.closeTransaction();
@@ -539,7 +539,7 @@ class ScreenRotationAnimation {
mExitingBlackFrame = new BlackFrame(session, outer, inner, FREEZE_LAYER + 2,
layerStack);
mExitingBlackFrame.setMatrix(mFrameInitialMatrix);
- } catch (Surface.OutOfResourcesException e) {
+ } catch (SurfaceControl.OutOfResourcesException e) {
Slog.w(TAG, "Unable to allocate black surface", e);
} finally {
SurfaceControl.closeTransaction();
@@ -561,7 +561,7 @@ class ScreenRotationAnimation {
Rect inner = new Rect(0, 0, finalWidth, finalHeight);
mEnteringBlackFrame = new BlackFrame(session, outer, inner, FREEZE_LAYER,
layerStack);
- } catch (Surface.OutOfResourcesException e) {
+ } catch (SurfaceControl.OutOfResourcesException e) {
Slog.w(TAG, "Unable to allocate black surface", e);
} finally {
SurfaceControl.closeTransaction();
@@ -580,7 +580,7 @@ class ScreenRotationAnimation {
public boolean dismiss(SurfaceSession session, long maxAnimationDuration,
float animationScale, int finalWidth, int finalHeight) {
if (DEBUG_STATE) Slog.v(TAG, "Dismiss!");
- if (mSurface == null) {
+ if (mSurfaceControl == null) {
// Can't do animation.
return false;
}
@@ -598,12 +598,12 @@ class ScreenRotationAnimation {
public void kill() {
if (DEBUG_STATE) Slog.v(TAG, "Kill!");
- if (mSurface != null) {
+ if (mSurfaceControl != null) {
if (WindowManagerService.SHOW_TRANSACTIONS ||
WindowManagerService.SHOW_SURFACE_ALLOC) Slog.i(WindowManagerService.TAG,
- " FREEZE " + mSurface + ": DESTROY");
- mSurface.destroy();
- mSurface = null;
+ " FREEZE " + mSurfaceControl + ": DESTROY");
+ mSurfaceControl.destroy();
+ mSurfaceControl = null;
}
if (mCustomBlackFrame != null) {
mCustomBlackFrame.kill();
@@ -861,10 +861,10 @@ class ScreenRotationAnimation {
return;
}
- if (mSurface != null) {
+ if (mSurfaceControl != null) {
if (!mMoreStartExit && !mMoreFinishExit && !mMoreRotateExit) {
if (DEBUG_STATE) Slog.v(TAG, "Exit animations done, hiding screenshot surface");
- mSurface.hide();
+ mSurfaceControl.hide();
}
}
diff --git a/services/java/com/android/server/wm/Session.java b/services/java/com/android/server/wm/Session.java
index 7a0fa16..e82068c 100644
--- a/services/java/com/android/server/wm/Session.java
+++ b/services/java/com/android/server/wm/Session.java
@@ -314,17 +314,17 @@ final class Session extends IWindowSession.Stub
mService.mDragState.mThumbOffsetY = thumbCenterY;
// Make the surface visible at the proper location
- final SurfaceControl surface = mService.mDragState.mSurface;
+ final SurfaceControl surfaceControl = mService.mDragState.mSurfaceControl;
if (WindowManagerService.SHOW_LIGHT_TRANSACTIONS) Slog.i(
WindowManagerService.TAG, ">>> OPEN TRANSACTION performDrag");
SurfaceControl.openTransaction();
try {
- surface.setPosition(touchX - thumbCenterX,
+ surfaceControl.setPosition(touchX - thumbCenterX,
touchY - thumbCenterY);
- surface.setAlpha(.7071f);
- surface.setLayer(mService.mDragState.getDragLayerLw());
- surface.setLayerStack(display.getLayerStack());
- surface.show();
+ surfaceControl.setAlpha(.7071f);
+ surfaceControl.setLayer(mService.mDragState.getDragLayerLw());
+ surfaceControl.setLayerStack(display.getLayerStack());
+ surfaceControl.show();
} finally {
SurfaceControl.closeTransaction();
if (WindowManagerService.SHOW_LIGHT_TRANSACTIONS) Slog.i(
diff --git a/services/java/com/android/server/wm/WindowAnimator.java b/services/java/com/android/server/wm/WindowAnimator.java
index a2c44ef..67daf75 100644
--- a/services/java/com/android/server/wm/WindowAnimator.java
+++ b/services/java/com/android/server/wm/WindowAnimator.java
@@ -225,7 +225,7 @@ public class WindowAnimator {
WindowStateAnimator winAnimator = win.mWinAnimator;
final int flags = winAnimator.mAttrFlags;
- if (winAnimator.mSurface != null) {
+ if (winAnimator.mSurfaceControl != null) {
final boolean wasAnimating = winAnimator.mWasAnimating;
final boolean nowAnimating = winAnimator.stepAnimationLocked(mCurrentTime);
@@ -373,7 +373,7 @@ public class WindowAnimator {
for (int i = windows.size() - 1; i >= 0; i--) {
final WindowState win = windows.get(i);
WindowStateAnimator winAnimator = win.mWinAnimator;
- if (winAnimator.mSurface == null) {
+ if (winAnimator.mSurfaceControl == null) {
continue;
}
diff --git a/services/java/com/android/server/wm/WindowManagerService.java b/services/java/com/android/server/wm/WindowManagerService.java
index 7b83c24..d38273d 100644
--- a/services/java/com/android/server/wm/WindowManagerService.java
+++ b/services/java/com/android/server/wm/WindowManagerService.java
@@ -1112,7 +1112,7 @@ public class WindowManagerService extends IWindowManager.Stub
if (DEBUG_INPUT_METHOD) {
Slog.i(TAG, "isVisibleOrAdding " + w + ": " + w.isVisibleOrAdding());
if (!w.isVisibleOrAdding()) {
- Slog.i(TAG, " mSurface=" + w.mWinAnimator.mSurface
+ Slog.i(TAG, " mSurface=" + w.mWinAnimator.mSurfaceControl
+ " relayoutCalled=" + w.mRelayoutCalled + " viewVis=" + w.mViewVisibility
+ " policyVis=" + w.mPolicyVisibility
+ " policyVisAfterAnim=" + w.mPolicyVisibilityAfterAnim
@@ -2278,14 +2278,14 @@ public class WindowManagerService extends IWindowManager.Stub
TAG, "Remove " + win + " client="
+ Integer.toHexString(System.identityHashCode(
win.mClient.asBinder()))
- + ", surface=" + win.mWinAnimator.mSurface);
+ + ", surface=" + win.mWinAnimator.mSurfaceControl);
final long origId = Binder.clearCallingIdentity();
win.disposeInputChannel();
if (DEBUG_APP_TRANSITIONS) Slog.v(
- TAG, "Remove " + win + ": mSurface=" + win.mWinAnimator.mSurface
+ TAG, "Remove " + win + ": mSurface=" + win.mWinAnimator.mSurfaceControl
+ " mExiting=" + win.mExiting
+ " isAnimating=" + win.mWinAnimator.isAnimating()
+ " app-animation="
@@ -2775,9 +2775,9 @@ public class WindowManagerService extends IWindowManager.Stub
if (!win.mHasSurface) {
surfaceChanged = true;
}
- SurfaceControl surface = winAnimator.createSurfaceLocked();
- if (surface != null) {
- outSurface.copyFrom(surface);
+ SurfaceControl surfaceControl = winAnimator.createSurfaceLocked();
+ if (surfaceControl != null) {
+ outSurface.copyFrom(surfaceControl);
if (SHOW_TRANSACTIONS) Slog.i(TAG,
" OUT SURFACE " + outSurface + ": copied");
} else {
@@ -2817,7 +2817,7 @@ public class WindowManagerService extends IWindowManager.Stub
}
} else {
winAnimator.mEnterAnimationPending = false;
- if (winAnimator.mSurface != null) {
+ if (winAnimator.mSurfaceControl != null) {
if (DEBUG_VISIBILITY) Slog.i(TAG, "Relayout invis " + win
+ ": mExiting=" + win.mExiting);
// If we are not currently running the exit animation, we
@@ -7935,15 +7935,15 @@ public class WindowManagerService extends IWindowManager.Stub
// TODO(multi-display): support other displays
final DisplayContent displayContent = getDefaultDisplayContentLocked();
final Display display = displayContent.getDisplay();
- SurfaceControl surface = new SurfaceControl(mFxSession,
+ SurfaceControl surfaceControl = new SurfaceControl(mFxSession,
"thumbnail anim",
dirty.width(), dirty.height(),
PixelFormat.TRANSLUCENT, SurfaceControl.HIDDEN);
- surface.setLayerStack(display.getLayerStack());
- appAnimator.thumbnail = surface;
- if (SHOW_TRANSACTIONS) Slog.i(TAG, " THUMBNAIL " + surface + ": CREATE");
+ surfaceControl.setLayerStack(display.getLayerStack());
+ appAnimator.thumbnail = surfaceControl;
+ if (SHOW_TRANSACTIONS) Slog.i(TAG, " THUMBNAIL " + surfaceControl + ": CREATE");
Surface drawSurface = new Surface();
- drawSurface.copyFrom(surface);
+ drawSurface.copyFrom(surfaceControl);
Canvas c = drawSurface.lockCanvas(dirty);
c.drawBitmap(nextAppTransitionThumbnail, 0, 0, null);
drawSurface.unlockCanvasAndPost(c);
@@ -8064,7 +8064,7 @@ public class WindowManagerService extends IWindowManager.Stub
if (w.mOrientationChanging) {
if (DEBUG_SURFACE_TRACE || DEBUG_ANIM || DEBUG_ORIENTATION) Slog.v(TAG,
"Orientation start waiting for draw mDrawState=DRAW_PENDING in "
- + w + ", surface " + winAnimator.mSurface);
+ + w + ", surface " + winAnimator.mSurfaceControl);
winAnimator.mDrawState = WindowStateAnimator.DRAW_PENDING;
if (w.mAppToken != null) {
w.mAppToken.allDrawn = false;
@@ -8081,7 +8081,7 @@ public class WindowManagerService extends IWindowManager.Stub
if (w.isDrawnLw()) {
if (DEBUG_ORIENTATION) Slog.v(TAG,
"Orientation not waiting for draw in "
- + w + ", surface " + winAnimator.mSurface);
+ + w + ", surface " + winAnimator.mSurfaceControl);
w.mOrientationChanging = false;
}
}
@@ -8429,7 +8429,7 @@ public class WindowManagerService extends IWindowManager.Stub
Slog.v(TAG, "Eval win " + w + ": isDrawn=" + w.isDrawnLw()
+ ", isAnimating=" + winAnimator.isAnimating());
if (!w.isDrawnLw()) {
- Slog.v(TAG, "Not displayed: s=" + winAnimator.mSurface
+ Slog.v(TAG, "Not displayed: s=" + winAnimator.mSurfaceControl
+ " pv=" + w.mPolicyVisibility
+ " mDrawState=" + winAnimator.mDrawState
+ " ah=" + w.mAttachedHidden
@@ -8914,7 +8914,7 @@ public class WindowManagerService extends IWindowManager.Stub
boolean reclaimSomeSurfaceMemoryLocked(WindowStateAnimator winAnimator, String operation,
boolean secure) {
- final SurfaceControl surface = winAnimator.mSurface;
+ final SurfaceControl surface = winAnimator.mSurfaceControl;
boolean leakedSurface = false;
boolean killedApps = false;
@@ -8936,28 +8936,28 @@ public class WindowManagerService extends IWindowManager.Stub
while (mTmpWindowsIterator.hasNext()) {
WindowState ws = mTmpWindowsIterator.next();
WindowStateAnimator wsa = ws.mWinAnimator;
- if (wsa.mSurface != null) {
+ if (wsa.mSurfaceControl != null) {
if (!mSessions.contains(wsa.mSession)) {
Slog.w(TAG, "LEAKED SURFACE (session doesn't exist): "
- + ws + " surface=" + wsa.mSurface
+ + ws + " surface=" + wsa.mSurfaceControl
+ " token=" + ws.mToken
+ " pid=" + ws.mSession.mPid
+ " uid=" + ws.mSession.mUid);
if (SHOW_TRANSACTIONS) logSurface(ws, "LEAK DESTROY", null);
- wsa.mSurface.destroy();
+ wsa.mSurfaceControl.destroy();
wsa.mSurfaceShown = false;
- wsa.mSurface = null;
+ wsa.mSurfaceControl = null;
ws.mHasSurface = false;
mForceRemoves.add(ws);
leakedSurface = true;
} else if (ws.mAppToken != null && ws.mAppToken.clientHidden) {
Slog.w(TAG, "LEAKED SURFACE (app token hidden): "
- + ws + " surface=" + wsa.mSurface
+ + ws + " surface=" + wsa.mSurfaceControl
+ " token=" + ws.mAppToken);
if (SHOW_TRANSACTIONS) logSurface(ws, "LEAK DESTROY", null);
- wsa.mSurface.destroy();
+ wsa.mSurfaceControl.destroy();
wsa.mSurfaceShown = false;
- wsa.mSurface = null;
+ wsa.mSurfaceControl = null;
ws.mHasSurface = false;
leakedSurface = true;
}
@@ -8974,7 +8974,7 @@ public class WindowManagerService extends IWindowManager.Stub
continue;
}
WindowStateAnimator wsa = ws.mWinAnimator;
- if (wsa.mSurface != null) {
+ if (wsa.mSurfaceControl != null) {
pidCandidates.append(wsa.mSession.mPid, wsa.mSession.mPid);
}
}
@@ -9001,7 +9001,7 @@ public class WindowManagerService extends IWindowManager.Stub
"RECOVER DESTROY", null);
surface.destroy();
winAnimator.mSurfaceShown = false;
- winAnimator.mSurface = null;
+ winAnimator.mSurfaceControl = null;
winAnimator.mWin.mHasSurface = false;
}
diff --git a/services/java/com/android/server/wm/WindowStateAnimator.java b/services/java/com/android/server/wm/WindowStateAnimator.java
index 82e59a8..3a9f7cb 100644
--- a/services/java/com/android/server/wm/WindowStateAnimator.java
+++ b/services/java/com/android/server/wm/WindowStateAnimator.java
@@ -88,7 +88,7 @@ class WindowStateAnimator {
int mAnimLayer;
int mLastLayer;
- SurfaceControl mSurface;
+ SurfaceControl mSurfaceControl;
SurfaceControl mPendingDestroySurface;
/**
@@ -404,7 +404,7 @@ class WindowStateAnimator {
if (WindowManagerService.localLOGV) Slog.v(
TAG, "Exit animation finished in " + this
+ ": remove=" + mWin.mRemoveOnExit);
- if (mSurface != null) {
+ if (mSurfaceControl != null) {
mService.mDestroySurface.add(mWin);
mWin.mDestroying = true;
if (WindowState.SHOW_TRANSACTIONS) WindowManagerService.logSurface(
@@ -425,10 +425,10 @@ class WindowStateAnimator {
mLastHidden = true;
if (WindowManagerService.SHOW_TRANSACTIONS) WindowManagerService.logSurface(mWin,
"HIDE (performLayout)", null);
- if (mSurface != null) {
+ if (mSurfaceControl != null) {
mSurfaceShown = false;
try {
- mSurface.hide();
+ mSurfaceControl.hide();
} catch (RuntimeException e) {
Slog.w(TAG, "Exception hiding surface in " + mWin);
}
@@ -445,7 +445,7 @@ class WindowStateAnimator {
if (mDrawState == DRAW_PENDING) {
if (DEBUG_SURFACE_TRACE || DEBUG_ANIM || SHOW_TRANSACTIONS || DEBUG_ORIENTATION)
Slog.v(TAG, "finishDrawingLocked: mDrawState=COMMIT_DRAW_PENDING " + this + " in "
- + mSurface);
+ + mSurfaceControl);
if (DEBUG_STARTING_WINDOW &&
mWin.mAttrs.type == WindowManager.LayoutParams.TYPE_APPLICATION_STARTING) {
Slog.v(TAG, "Draw state now committed in " + mWin);
@@ -467,7 +467,7 @@ class WindowStateAnimator {
return false;
}
if (DEBUG_SURFACE_TRACE || DEBUG_ANIM) {
- Slog.i(TAG, "commitFinishDrawingLocked: mDrawState=READY_TO_SHOW " + mSurface);
+ Slog.i(TAG, "commitFinishDrawingLocked: mDrawState=READY_TO_SHOW " + mSurfaceControl);
}
mDrawState = READY_TO_SHOW;
final boolean starting = mWin.mAttrs.type == TYPE_APPLICATION_STARTING;
@@ -625,7 +625,7 @@ class WindowStateAnimator {
}
SurfaceControl createSurfaceLocked() {
- if (mSurface == null) {
+ if (mSurfaceControl == null) {
if (DEBUG_ANIM || DEBUG_ORIENTATION) Slog.i(TAG,
"createSurface " + this + ": mDrawState=DRAW_PENDING");
mDrawState = DRAW_PENDING;
@@ -685,12 +685,12 @@ class WindowStateAnimator {
flags |= SurfaceControl.OPAQUE;
}
if (DEBUG_SURFACE_TRACE) {
- mSurface = new SurfaceTrace(
+ mSurfaceControl = new SurfaceTrace(
mSession.mSurfaceSession,
attrs.getTitle().toString(),
w, h, format, flags);
} else {
- mSurface = new SurfaceControl(
+ mSurfaceControl = new SurfaceControl(
mSession.mSurfaceSession,
attrs.getTitle().toString(),
w, h, format, flags);
@@ -698,7 +698,7 @@ class WindowStateAnimator {
mWin.mHasSurface = true;
if (SHOW_TRANSACTIONS || SHOW_SURFACE_ALLOC) Slog.i(TAG,
" CREATE SURFACE "
- + mSurface + " IN SESSION "
+ + mSurfaceControl + " IN SESSION "
+ mSession.mSurfaceSession
+ ": pid=" + mSession.mPid + " format="
+ attrs.format + " flags=0x"
@@ -718,7 +718,7 @@ class WindowStateAnimator {
}
if (WindowManagerService.localLOGV) Slog.v(
- TAG, "Got surface: " + mSurface
+ TAG, "Got surface: " + mSurfaceControl
+ ", set left=" + mWin.mFrame.left + " top=" + mWin.mFrame.top
+ ", animLayer=" + mAnimLayer);
if (SHOW_LIGHT_TRANSACTIONS) {
@@ -733,11 +733,11 @@ class WindowStateAnimator {
try {
mSurfaceX = mWin.mFrame.left + mWin.mXOffset;
mSurfaceY = mWin.mFrame.top + mWin.mYOffset;
- mSurface.setPosition(mSurfaceX, mSurfaceY);
+ mSurfaceControl.setPosition(mSurfaceX, mSurfaceY);
mSurfaceLayer = mAnimLayer;
- mSurface.setLayerStack(mLayerStack);
- mSurface.setLayer(mAnimLayer);
- mSurface.setAlpha(0);
+ mSurfaceControl.setLayerStack(mLayerStack);
+ mSurfaceControl.setLayer(mAnimLayer);
+ mSurfaceControl.setAlpha(0);
mSurfaceShown = false;
} catch (RuntimeException e) {
Slog.w(TAG, "Error creating surface in " + w, e);
@@ -752,7 +752,7 @@ class WindowStateAnimator {
if (WindowManagerService.localLOGV) Slog.v(
TAG, "Created surface " + this);
}
- return mSurface;
+ return mSurfaceControl;
}
void destroySurfaceLocked() {
@@ -760,7 +760,7 @@ class WindowStateAnimator {
mWin.mAppToken.startingDisplayed = false;
}
- if (mSurface != null) {
+ if (mSurfaceControl != null) {
int i = mWin.mChildWindows.size();
while (i > 0) {
@@ -777,10 +777,10 @@ class WindowStateAnimator {
e.fillInStackTrace();
}
Slog.w(TAG, "Window " + this + " destroying surface "
- + mSurface + ", session " + mSession, e);
+ + mSurfaceControl + ", session " + mSession, e);
}
if (mSurfaceDestroyDeferred) {
- if (mSurface != null && mPendingDestroySurface != mSurface) {
+ if (mSurfaceControl != null && mPendingDestroySurface != mSurfaceControl) {
if (mPendingDestroySurface != null) {
if (SHOW_TRANSACTIONS || SHOW_SURFACE_ALLOC) {
RuntimeException e = null;
@@ -792,7 +792,7 @@ class WindowStateAnimator {
}
mPendingDestroySurface.destroy();
}
- mPendingDestroySurface = mSurface;
+ mPendingDestroySurface = mSurfaceControl;
}
} else {
if (SHOW_TRANSACTIONS || SHOW_SURFACE_ALLOC) {
@@ -803,17 +803,17 @@ class WindowStateAnimator {
}
WindowManagerService.logSurface(mWin, "DESTROY", e);
}
- mSurface.destroy();
+ mSurfaceControl.destroy();
}
mAnimator.hideWallpapersLocked(mWin);
} catch (RuntimeException e) {
Slog.w(TAG, "Exception thrown when destroying Window " + this
- + " surface " + mSurface + " session " + mSession
+ + " surface " + mSurfaceControl + " session " + mSession
+ ": " + e.toString());
}
mSurfaceShown = false;
- mSurface = null;
+ mSurfaceControl = null;
mWin.mHasSurface = false;
mDrawState = NO_SURFACE;
}
@@ -1120,7 +1120,7 @@ class WindowStateAnimator {
try {
if (WindowManagerService.SHOW_TRANSACTIONS) WindowManagerService.logSurface(w,
"CROP " + w.mSystemDecorRect.toShortString(), null);
- mSurface.setWindowCrop(w.mSystemDecorRect);
+ mSurfaceControl.setWindowCrop(w.mSystemDecorRect);
} catch (RuntimeException e) {
Slog.w(TAG, "Error setting crop surface of " + w
+ " crop=" + w.mSystemDecorRect.toShortString(), e);
@@ -1164,7 +1164,7 @@ class WindowStateAnimator {
"POS " + left + ", " + top, null);
mSurfaceX = left;
mSurfaceY = top;
- mSurface.setPosition(left, top);
+ mSurfaceControl.setPosition(left, top);
} catch (RuntimeException e) {
Slog.w(TAG, "Error positioning surface of " + w
+ " pos=(" + left
@@ -1180,7 +1180,7 @@ class WindowStateAnimator {
if (WindowManagerService.SHOW_TRANSACTIONS) WindowManagerService.logSurface(w,
"SIZE " + width + "x" + height, null);
mSurfaceResized = true;
- mSurface.setSize(width, height);
+ mSurfaceControl.setSize(width, height);
final int displayId = w.mDisplayContent.getDisplayId();
mAnimator.setPendingLayoutChanges(displayId,
WindowManagerPolicy.FINISH_LAYOUT_REDO_WALLPAPER);
@@ -1204,7 +1204,7 @@ class WindowStateAnimator {
public void prepareSurfaceLocked(final boolean recoveringMemory) {
final WindowState w = mWin;
- if (mSurface == null) {
+ if (mSurfaceControl == null) {
if (w.mOrientationChanging) {
if (DEBUG_ORIENTATION) {
Slog.v(TAG, "Orientation change skips hidden " + w);
@@ -1262,13 +1262,13 @@ class WindowStateAnimator {
+ "," + (mDtDx*w.mVScale)
+ "][" + (mDsDy*w.mHScale)
+ "," + (mDtDy*w.mVScale) + "]", null);
- if (mSurface != null) {
+ if (mSurfaceControl != null) {
try {
mSurfaceAlpha = mShownAlpha;
- mSurface.setAlpha(mShownAlpha);
+ mSurfaceControl.setAlpha(mShownAlpha);
mSurfaceLayer = mAnimLayer;
- mSurface.setLayer(mAnimLayer);
- mSurface.setMatrix(
+ mSurfaceControl.setLayer(mAnimLayer);
+ mSurfaceControl.setMatrix(
mDsDx*w.mHScale, mDtDx*w.mVScale,
mDsDy*w.mHScale, mDtDy*w.mVScale);
@@ -1286,7 +1286,7 @@ class WindowStateAnimator {
w.mOrientationChanging = false;
}
}
- if (mSurface != null) {
+ if (mSurfaceControl != null) {
w.mToken.hasVisible = true;
}
} catch (RuntimeException e) {
@@ -1319,7 +1319,7 @@ class WindowStateAnimator {
}
void setTransparentRegionHintLocked(final Region region) {
- if (mSurface == null) {
+ if (mSurfaceControl == null) {
Slog.w(TAG, "setTransparentRegionHint: null mSurface after mHasSurface true");
return;
}
@@ -1329,7 +1329,7 @@ class WindowStateAnimator {
try {
if (SHOW_TRANSACTIONS) WindowManagerService.logSurface(mWin,
"transparentRegionHint=" + region, null);
- mSurface.setTransparentRegionHint(region);
+ mSurfaceControl.setTransparentRegionHint(region);
} finally {
SurfaceControl.closeTransaction();
if (SHOW_LIGHT_TRANSACTIONS) Slog.i(TAG,
@@ -1356,7 +1356,7 @@ class WindowStateAnimator {
try {
if (WindowManagerService.SHOW_TRANSACTIONS) WindowManagerService.logSurface(mWin,
"POS " + left + ", " + top, null);
- mSurface.setPosition(mWin.mFrame.left + left, mWin.mFrame.top + top);
+ mSurfaceControl.setPosition(mWin.mFrame.left + left, mWin.mFrame.top + top);
updateSurfaceWindowCrop(false);
} catch (RuntimeException e) {
Slog.w(TAG, "Error positioning surface of " + mWin
@@ -1431,7 +1431,7 @@ class WindowStateAnimator {
WindowState c = mWin.mChildWindows.get(i);
if (c.mAttachedHidden) {
c.mAttachedHidden = false;
- if (c.mWinAnimator.mSurface != null) {
+ if (c.mWinAnimator.mSurfaceControl != null) {
c.mWinAnimator.performShowLocked();
// It hadn't been shown, which means layout not
// performed on it, so now we want to make sure to
@@ -1479,9 +1479,9 @@ class WindowStateAnimator {
*/
boolean showSurfaceRobustlyLocked() {
try {
- if (mSurface != null) {
+ if (mSurfaceControl != null) {
mSurfaceShown = true;
- mSurface.show();
+ mSurfaceControl.show();
if (mWin.mTurnOnScreen) {
if (DEBUG_VISIBILITY) Slog.v(TAG,
"Show surface turning screen on: " + mWin);
@@ -1491,7 +1491,7 @@ class WindowStateAnimator {
}
return true;
} catch (RuntimeException e) {
- Slog.w(TAG, "Failure showing surface " + mSurface + " in " + mWin, e);
+ Slog.w(TAG, "Failure showing surface " + mSurfaceControl + " in " + mWin, e);
}
mService.reclaimSomeSurfaceMemoryLocked(this, "show", true);
@@ -1600,9 +1600,9 @@ class WindowStateAnimator {
pw.print(" "); mTransformation.printShortString(pw);
pw.println();
}
- if (mSurface != null) {
+ if (mSurfaceControl != null) {
if (dumpAll) {
- pw.print(prefix); pw.print("mSurface="); pw.println(mSurface);
+ pw.print(prefix); pw.print("mSurface="); pw.println(mSurfaceControl);
pw.print(prefix); pw.print("mDrawState=");
pw.print(drawStateToString(mDrawState));
pw.print(" mLastHidden="); pw.println(mLastHidden);