diff options
author | shubang <shubang@google.com> | 2023-03-27 16:32:33 -0700 |
---|---|---|
committer | shubang <shubang@google.com> | 2023-03-27 16:32:33 -0700 |
commit | ec6cbc4cd40581006ddf350bc0d7e2299ae98fb0 (patch) | |
tree | 06a0f8493cf8525b02b94cfe3b73260ecbac5f6e | |
parent | a3bbde19a4fa9e3ee452f9ee905ecfbe2868574a (diff) | |
download | TV-ec6cbc4cd40581006ddf350bc0d7e2299ae98fb0.tar.gz |
[LiveTv] Hide TvIAppView when blockScreenView is shown
Bug: 267427725
Test: manual cuttlefish
Change-Id: Iafff9bc796307c05d4e078854a65146fa7d8a642
3 files changed, 23 insertions, 3 deletions
diff --git a/src/com/android/tv/MainActivity.java b/src/com/android/tv/MainActivity.java index cb731260..a7d59035 100644 --- a/src/com/android/tv/MainActivity.java +++ b/src/com/android/tv/MainActivity.java @@ -42,6 +42,7 @@ import android.media.tv.TvInputManager; import android.media.tv.TvInputManager.TvInputCallback; import android.media.tv.TvTrackInfo; import android.media.tv.TvView.OnUnhandledInputEventListener; +import android.media.tv.interactive.TvInteractiveAppView; import android.net.Uri; import android.os.Build; import android.os.Bundle; @@ -554,8 +555,10 @@ public class MainActivity extends Activity return; } setContentView(R.layout.activity_tv); + TvInteractiveAppView tvInteractiveAppView = findViewById(R.id.tv_app_view); mTvView = findViewById(R.id.main_tunable_tv_view); - mTvView.initialize(mProgramDataManager, mTvInputManagerHelper, mLegacyFlags); + mTvView.initialize( + mProgramDataManager, mTvInputManagerHelper, mLegacyFlags, tvInteractiveAppView); mTvView.setOnUnhandledInputEventListener( new OnUnhandledInputEventListener() { @Override diff --git a/src/com/android/tv/ui/TunableTvView.java b/src/com/android/tv/ui/TunableTvView.java index 0ccaad3a..3ac841c2 100644 --- a/src/com/android/tv/ui/TunableTvView.java +++ b/src/com/android/tv/ui/TunableTvView.java @@ -36,6 +36,7 @@ import android.media.tv.TvInputManager; import android.media.tv.TvTrackInfo; import android.media.tv.TvView; import android.media.tv.TvView.OnUnhandledInputEventListener; +import android.media.tv.interactive.TvInteractiveAppView; import android.net.ConnectivityManager; import android.net.Uri; import android.os.AsyncTask; @@ -196,6 +197,7 @@ public class TunableTvView extends FrameLayout implements StreamInfo, TunableTvV private final InputSessionManager mInputSessionManager; private int mChannelSignalStrength; + private TvInteractiveAppView mTvIAppView; private final TvInputCallbackCompat mCallback = new TvInputCallbackCompat() { @@ -497,18 +499,26 @@ public class TunableTvView extends FrameLayout implements StreamInfo, TunableTvV }); mAccessibilityManager = context.getSystemService(AccessibilityManager.class); } + public void initialize( + ProgramDataManager programDataManager, + TvInputManagerHelper tvInputManagerHelper, + LegacyFlags legacyFlags) { + initialize(programDataManager, tvInputManagerHelper, legacyFlags, null); + } public void initialize( ProgramDataManager programDataManager, TvInputManagerHelper tvInputManagerHelper, - LegacyFlags mLegacyFlags) { + LegacyFlags legacyFlags, + TvInteractiveAppView tvIAppView) { mTvView = findViewById(R.id.tv_view); - mTvView.setUseSecureSurface(!BuildConfig.ENG && !mLegacyFlags.enableDeveloperFeatures()); + mTvView.setUseSecureSurface(!BuildConfig.ENG && !legacyFlags.enableDeveloperFeatures()); mProgramDataManager = programDataManager; mInputManagerHelper = tvInputManagerHelper; mContentRatingsManager = tvInputManagerHelper.getContentRatingsManager(); mParentalControlSettings = tvInputManagerHelper.getParentalControlSettings(); + mTvIAppView = tvIAppView; if (mInputSessionManager != null) { mTvViewSession = mInputSessionManager.createTvViewSession(mTvView, this, mCallback); } else { @@ -1007,6 +1017,9 @@ public class TunableTvView extends FrameLayout implements StreamInfo, TunableTvV return; } mBlockScreenView.setVisibility(VISIBLE); + if (mTvIAppView != null) { + mTvIAppView.setVisibility(INVISIBLE); + } mBlockScreenView.setBackgroundImage(null); if (blockReason == VIDEO_UNAVAILABLE_REASON_SCREEN_BLOCKED) { mBlockScreenView.setIconVisibility(true); @@ -1038,6 +1051,9 @@ public class TunableTvView extends FrameLayout implements StreamInfo, TunableTvV if (mBlockScreenView.getVisibility() == VISIBLE) { mBlockScreenView.fadeOut(); } + if (mTvIAppView != null) { + mTvIAppView.setVisibility(VISIBLE); + } } } diff --git a/tuner/sampletunertvinput/src/com/android/tv/samples/sampletunertvinput/SampleTunerTvInputSetupActivity.java b/tuner/sampletunertvinput/src/com/android/tv/samples/sampletunertvinput/SampleTunerTvInputSetupActivity.java index 03d6161c..4774243e 100644 --- a/tuner/sampletunertvinput/src/com/android/tv/samples/sampletunertvinput/SampleTunerTvInputSetupActivity.java +++ b/tuner/sampletunertvinput/src/com/android/tv/samples/sampletunertvinput/SampleTunerTvInputSetupActivity.java @@ -46,6 +46,7 @@ public class SampleTunerTvInputSetupActivity extends Activity { @Override public void onDestroy() { + super.onDestroy(); if (mTuner != null) { mTuner.close(); mTuner = null; |