diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-03-29 03:01:53 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-03-29 03:01:53 +0000 |
commit | 84f7a989776453c1b2a5e23ee2c5b58da478bc95 (patch) | |
tree | 06a0f8493cf8525b02b94cfe3b73260ecbac5f6e | |
parent | 989aa80a5c51735dbc235de00cb09b141af67b9f (diff) | |
parent | 99105010389a85af8e8d88d6f4a00d4a52ec8d45 (diff) | |
download | TV-84f7a989776453c1b2a5e23ee2c5b58da478bc95.tar.gz |
Snap for 9841731 from 99105010389a85af8e8d88d6f4a00d4a52ec8d45 to udc-d1-release
Change-Id: Id43f19d20810fed6105435cf9faa50a5a4a47192
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; |