diff options
author | Craig Mautner <cmautner@google.com> | 2014-02-22 07:33:24 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-02-22 07:33:24 +0000 |
commit | c004c9a87f0d4afa3a01f39922ad934def93c776 (patch) | |
tree | 34ba7e66a16907b192b392c5618f26c60315ec64 /core/java | |
parent | 5670ddea3bc16c43a2040a5a224ed5fda53d7072 (diff) | |
parent | ffda464851008f750246f343c939d8003071cd23 (diff) | |
download | frameworks_base-c004c9a87f0d4afa3a01f39922ad934def93c776.zip frameworks_base-c004c9a87f0d4afa3a01f39922ad934def93c776.tar.gz frameworks_base-c004c9a87f0d4afa3a01f39922ad934def93c776.tar.bz2 |
am ffda4648: Merge "Fixes for ActivityView on home activity" into klp-modular-dev
* commit 'ffda464851008f750246f343c939d8003071cd23':
Fixes for ActivityView on home activity
Diffstat (limited to 'core/java')
-rw-r--r-- | core/java/android/app/ActivityView.java | 35 |
1 files changed, 29 insertions, 6 deletions
diff --git a/core/java/android/app/ActivityView.java b/core/java/android/app/ActivityView.java index 48ec420..14f0829 100644 --- a/core/java/android/app/ActivityView.java +++ b/core/java/android/app/ActivityView.java @@ -39,6 +39,7 @@ import android.view.WindowManager; public class ActivityView extends ViewGroup { private final String TAG = "ActivityView"; + private final boolean DEBUG = false; private final TextureView mTextureView; private IActivityContainer mActivityContainer; @@ -76,6 +77,7 @@ public class ActivityView extends ViewGroup { mTextureView = new TextureView(context); mTextureView.setSurfaceTextureListener(new ActivityViewSurfaceTextureListener()); addView(mTextureView); + if (DEBUG) Log.v(TAG, "ctor()"); } @Override @@ -85,6 +87,8 @@ public class ActivityView extends ViewGroup { @Override protected void onAttachedToWindow() { + if (DEBUG) Log.v(TAG, "onAttachedToWindow()"); + super.onAttachedToWindow(); try { final IBinder token = mActivity.getActivityToken(); mActivityContainer = @@ -99,6 +103,8 @@ public class ActivityView extends ViewGroup { @Override protected void onDetachedFromWindow() { + if (DEBUG) Log.v(TAG, "onDetachedFromWindow(): mActivityContainer=" + mActivityContainer); + super.onDetachedFromWindow(); if (mActivityContainer != null) { detach(); mActivityContainer = null; @@ -107,11 +113,17 @@ public class ActivityView extends ViewGroup { @Override protected void onWindowVisibilityChanged(int visibility) { + if (DEBUG) Log.v(TAG, "onWindowVisibilityChanged(): visibility=" + visibility); super.onWindowVisibilityChanged(visibility); - if (visibility == View.VISIBLE) { - attachToSurfaceWhenReady(); - } else { - detach(); + switch (visibility) { + case View.VISIBLE: + attachToSurfaceWhenReady(); + break; + case View.INVISIBLE: + break; + case View.GONE: + detach(); + break; } } @@ -143,6 +155,8 @@ public class ActivityView extends ViewGroup { } public void startActivity(Intent intent) { + if (DEBUG) Log.v(TAG, "startActivity(): intent=" + intent + " " + + (isAttachedToDisplay() ? "" : "not") + " attached"); if (mSurface != null) { try { mActivityContainer.startActivity(intent); @@ -165,6 +179,8 @@ public class ActivityView extends ViewGroup { } public void startActivity(IntentSender intentSender) { + if (DEBUG) Log.v(TAG, "startActivityIntentSender(): intentSender=" + intentSender + " " + + (isAttachedToDisplay() ? "" : "not") + " attached"); final IIntentSender iIntentSender = intentSender.getTarget(); if (mSurface != null) { startActivityIntentSender(iIntentSender); @@ -175,6 +191,8 @@ public class ActivityView extends ViewGroup { } public void startActivity(PendingIntent pendingIntent) { + if (DEBUG) Log.v(TAG, "startActivityPendingIntent(): PendingIntent=" + pendingIntent + " " + + (isAttachedToDisplay() ? "" : "not") + " attached"); final IIntentSender iIntentSender = pendingIntent.getTarget(); if (mSurface != null) { startActivityIntentSender(iIntentSender); @@ -205,6 +223,8 @@ public class ActivityView extends ViewGroup { "ActivityView: Unable to create ActivityContainer. " + e); } + if (DEBUG) Log.v(TAG, "attachToSurfaceWhenReady: " + (mQueuedIntent != null || + mQueuedPendingIntent != null ? "" : "no") + " queued intent"); if (mQueuedIntent != null) { startActivity(mQueuedIntent); mQueuedIntent = null; @@ -215,6 +235,7 @@ public class ActivityView extends ViewGroup { } private void detach() { + if (DEBUG) Log.d(TAG, "detach: attached=" + isAttachedToDisplay()); if (mSurface != null) { try { mActivityContainer.detachFromDisplay(); @@ -229,6 +250,8 @@ public class ActivityView extends ViewGroup { @Override public void onSurfaceTextureAvailable(SurfaceTexture surfaceTexture, int width, int height) { + if (DEBUG) Log.d(TAG, "onSurfaceTextureAvailable: width=" + width + " height=" + + height); mWidth = width; mHeight = height; if (mActivityContainer != null) { @@ -239,12 +262,12 @@ public class ActivityView extends ViewGroup { @Override public void onSurfaceTextureSizeChanged(SurfaceTexture surfaceTexture, int width, int height) { - Log.d(TAG, "onSurfaceTextureSizeChanged: w=" + width + " h=" + height); + if (DEBUG) Log.d(TAG, "onSurfaceTextureSizeChanged: w=" + width + " h=" + height); } @Override public boolean onSurfaceTextureDestroyed(SurfaceTexture surfaceTexture) { - Log.d(TAG, "onSurfaceTextureDestroyed"); + if (DEBUG) Log.d(TAG, "onSurfaceTextureDestroyed"); detach(); return true; } |