aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYoungsang Cho <youngsang@google.com>2014-08-06 01:18:30 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-08-05 00:07:36 +0000
commit29f13c03f81753a4f06b93910cfe01b9be4a8bba (patch)
tree8f33778a7402fbf6e87e5ab3b0143a17a27fe047
parent333d3ee2cde4eebf4cf86e841cd7e844ad0da94c (diff)
parent1ce1a6c6c175a3f0f31c04b76f9f71f400fdee33 (diff)
downloadTV-29f13c03f81753a4f06b93910cfe01b9be4a8bba.tar.gz
Merge "Use TvView.setZOrderOnTop for PIP" into lmp-dev
-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 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);