aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorYoungsang Cho <youngsang@google.com>2014-08-05 13:37:21 +0900
committerYoungsang Cho <youngsang@google.com>2014-08-05 13:53:20 +0900
commit1ce1a6c6c175a3f0f31c04b76f9f71f400fdee33 (patch)
treee9173da006fbc8c68c1c7b18545f2b7333ef66a3 /src
parent7931fec967654d46d0312568936764cf86fa4e2d (diff)
downloadTV-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.java16
-rw-r--r--src/com/android/tv/ui/TunableTvView.java15
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);