diff options
author | Youngsang Cho <youngsang@google.com> | 2014-08-05 13:37:21 +0900 |
---|---|---|
committer | Youngsang Cho <youngsang@google.com> | 2014-08-05 13:53:20 +0900 |
commit | 1ce1a6c6c175a3f0f31c04b76f9f71f400fdee33 (patch) | |
tree | e9173da006fbc8c68c1c7b18545f2b7333ef66a3 /src | |
parent | 7931fec967654d46d0312568936764cf86fa4e2d (diff) | |
download | TV-1ce1a6c6c175a3f0f31c04b76f9f71f400fdee33.tar.gz |
Use TvView.setZOrderOnTop for PIP
Bug: 16723028
Change-Id: I611a4936102a64459b6605861a1cc9263c320415
Diffstat (limited to 'src')
-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 b41d8e8d..3d646f9c 100644 --- a/src/com/android/tv/TvActivity.java +++ b/src/com/android/tv/TvActivity.java @@ -253,16 +253,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 b0db3a1d..7bd5e09c 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; @@ -159,7 +157,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) { @@ -236,7 +233,7 @@ public class TunableTvView extends FrameLayout implements StreamInfo { } public void setPip(boolean isPip) { - mSurfaceView.setZOrderMediaOverlay(isPip); + mTvView.setZOrderOnTop(isPip); } public void setStreamVolume(float volume) { @@ -359,16 +356,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); |