am bbe14a17: Merge change 24473 into eclair

Merge commit 'bbe14a1758a5b99689b7aa13a6d4f58e61705ebf' into eclair-plus-aosp

* commit 'bbe14a1758a5b99689b7aa13a6d4f58e61705ebf':
  fix [2074427] SurfaceView doesn't disappear on GONE
This commit is contained in:
Mathias Agopian
2009-09-09 19:25:49 -07:00
committed by Android Git Automerger

View File

@@ -124,6 +124,8 @@ public class SurfaceView extends View {
}; };
boolean mRequestedVisible = false; boolean mRequestedVisible = false;
boolean mWindowVisibility = false;
boolean mViewVisibility = false;
int mRequestedWidth = -1; int mRequestedWidth = -1;
int mRequestedHeight = -1; int mRequestedHeight = -1;
int mRequestedFormat = PixelFormat.OPAQUE; int mRequestedFormat = PixelFormat.OPAQUE;
@@ -176,12 +178,22 @@ public class SurfaceView extends View {
mSession = getWindowSession(); mSession = getWindowSession();
mLayout.token = getWindowToken(); mLayout.token = getWindowToken();
mLayout.setTitle("SurfaceView"); mLayout.setTitle("SurfaceView");
mViewVisibility = getVisibility() == VISIBLE;
} }
@Override @Override
protected void onWindowVisibilityChanged(int visibility) { protected void onWindowVisibilityChanged(int visibility) {
super.onWindowVisibilityChanged(visibility); super.onWindowVisibilityChanged(visibility);
mRequestedVisible = visibility == VISIBLE; mWindowVisibility = visibility == VISIBLE;
mRequestedVisible = mWindowVisibility && mViewVisibility;
updateWindow(false);
}
@Override
public void setVisibility(int visibility) {
super.setVisibility(visibility);
mViewVisibility = visibility == VISIBLE;
mRequestedVisible = mWindowVisibility && mViewVisibility;
updateWindow(false); updateWindow(false);
} }