diff options
author | Youngsang Cho <youngsang@google.com> | 2014-08-06 01:18:30 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-08-05 00:07:36 +0000 |
commit | 29f13c03f81753a4f06b93910cfe01b9be4a8bba (patch) | |
tree | 8f33778a7402fbf6e87e5ab3b0143a17a27fe047 | |
parent | 333d3ee2cde4eebf4cf86e841cd7e844ad0da94c (diff) | |
parent | 1ce1a6c6c175a3f0f31c04b76f9f71f400fdee33 (diff) | |
download | TV-29f13c03f81753a4f06b93910cfe01b9be4a8bba.tar.gz |
Merge "Use TvView.setZOrderOnTop for PIP" into lmp-dev
-rw-r--r-- | src/com/android/tv/TvActivity.java | 16 | ||||
-rw-r--r-- | src/com/android/tv/ui/TunableTvView.java | 15 |
2 files changed, 15 insertions, 16 deletions
diff --git a/src/com/android/tv/TvActivity.java b/src/com/android/tv/TvActivity.java index e5127afc..18e78db6 100644 --- a/src/com/android/tv/TvActivity.java +++ b/src/com/android/tv/TvActivity.java @@ -259,16 +259,28 @@ public class TvActivity extends Activity implements AudioManager.OnAudioFocusCha new Runnable() { @Override public void run() { - if (mPipEnabled && mActivityResumed) { + if (mPipEnabled && mActivityResumed + && getFragmentManager().getBackStackEntryCount() <= 0) { mPipView.setVisibility(View.VISIBLE); } } }); - mHideSideFragment = new HideRunnable(mSidePanelContainer, DURATION_SHOW_SIDE_FRAGMENT, null, + mHideSideFragment = new HideRunnable(mSidePanelContainer, DURATION_SHOW_SIDE_FRAGMENT, + new Runnable() { + @Override + public void run() { + if (mPipEnabled) { + mPipView.setVisibility(View.GONE); + } + } + }, new Runnable() { @Override public void run() { resetSideFragment(); + if (mPipEnabled && mActivityResumed && !mMainMenuView.isShown()) { + mPipView.setVisibility(View.VISIBLE); + } } }); diff --git a/src/com/android/tv/ui/TunableTvView.java b/src/com/android/tv/ui/TunableTvView.java index 141a340c..3f5978c1 100644 --- a/src/com/android/tv/ui/TunableTvView.java +++ b/src/com/android/tv/ui/TunableTvView.java @@ -14,7 +14,6 @@ import android.util.AttributeSet; import android.util.Log; import android.view.KeyEvent; import android.view.MotionEvent; -import android.view.SurfaceView; import android.view.ViewGroup; import android.widget.FrameLayout; @@ -37,7 +36,6 @@ public class TunableTvView extends FrameLayout implements StreamInfo { "android.permission.RECEIVE_INPUT_EVENT"; private final TvView mTvView; - private final SurfaceView mSurfaceView; private long mChannelId = Channel.INVALID_ID; private TvInputManagerHelper mInputManagerHelper; private boolean mStarted; @@ -184,7 +182,6 @@ public class TunableTvView extends FrameLayout implements StreamInfo { inflate(getContext(), R.layout.tunable_tv_view, this); mTvView = (TvView) findViewById(R.id.tv_view); - mSurfaceView = findSurfaceView(mTvView); } public void start(TvInputManagerHelper tvInputManagerHelper) { @@ -261,7 +258,7 @@ public class TunableTvView extends FrameLayout implements StreamInfo { } public void setPip(boolean isPip) { - mSurfaceView.setZOrderMediaOverlay(isPip); + mTvView.setZOrderOnTop(isPip); } public void setStreamVolume(float volume) { @@ -384,16 +381,6 @@ public class TunableTvView extends FrameLayout implements StreamInfo { mTvView.setStreamVolume(mVolume); } - private SurfaceView findSurfaceView(ViewGroup view) { - for (int i = 0; i < view.getChildCount(); ++i) { - if (view.getChildAt(i) instanceof SurfaceView) { - SurfaceView surfaceView = (SurfaceView) mTvView.getChildAt(i); - return surfaceView; - } - } - throw new RuntimeException("TvView does not have SurfaceView."); - } - private void hideBlock() { findViewById(R.id.block_reason_unknown).setVisibility(GONE); findViewById(R.id.block_reason_tune).setVisibility(GONE); |