[LiveTv] Hide TvIAppView when blockScreenView is shown am: ec6cbc4cd4 am: 362b0f9daa

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/TV/+/22301811

Change-Id: I2f1646e2a74c7df6c90adbf19d657940646bc75d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/src/com/android/tv/MainActivity.java b/src/com/android/tv/MainActivity.java
index cb73126..a7d5903 100644
--- a/src/com/android/tv/MainActivity.java
+++ b/src/com/android/tv/MainActivity.java
@@ -42,6 +42,7 @@
 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 @@
             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 0ccaad3..3ac841c 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.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 @@
     private final InputSessionManager mInputSessionManager;
 
     private int mChannelSignalStrength;
+    private TvInteractiveAppView mTvIAppView;
 
     private final TvInputCallbackCompat mCallback =
             new TvInputCallbackCompat() {
@@ -497,18 +499,26 @@
                         });
         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 @@
                 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 @@
             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 03d6161..4774243 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 @@
 
     @Override
     public void onDestroy() {
+        super.onDestroy();
         if (mTuner != null) {
             mTuner.close();
             mTuner = null;