aboutsummaryrefslogtreecommitdiff
path: root/src/com/android
diff options
context:
space:
mode:
authorLucas Gates <lucasgates@google.com>2022-08-03 20:51:40 +0000
committerLucas Gates <lucasgates@google.com>2022-08-15 09:52:13 +0000
commit710ce5a55205cbd242b90c30fa2f04c53874732e (patch)
tree406d8a13ce119084423b04a969aa08887ea45fec /src/com/android
parentdf79eb31f11576ad837843ee3efad9ec97e949c3 (diff)
downloadTV-710ce5a55205cbd242b90c30fa2f04c53874732e.tar.gz
LiveTv TIAS Integration Send AIT info to MainActivity
For our LiveTv integration, the TIAS is opened after our TIS receives an Application Information Table and calls notifyAitInfoUpdated(). This CL changes our TunableTvView to bring the aitInfoUpdated notification from our TIS to the LiveTv's MainActivity. Bug: 241110408 Test: Manually with Cuttlefish Change-Id: I1e41c5e5dc621a2d9c39f5220ea71744b48abbf2
Diffstat (limited to 'src/com/android')
-rw-r--r--src/com/android/tv/InputSessionManager.java7
-rw-r--r--src/com/android/tv/MainActivity.java8
-rw-r--r--src/com/android/tv/audiotvservice/AudioOnlyTvService.java7
-rw-r--r--src/com/android/tv/ui/TunableTvView.java24
4 files changed, 46 insertions, 0 deletions
diff --git a/src/com/android/tv/InputSessionManager.java b/src/com/android/tv/InputSessionManager.java
index ea17751b..57fc883e 100644
--- a/src/com/android/tv/InputSessionManager.java
+++ b/src/com/android/tv/InputSessionManager.java
@@ -18,6 +18,7 @@ package com.android.tv;
import android.annotation.TargetApi;
import android.content.Context;
+import android.media.tv.AitInfo;
import android.media.tv.TvContentRating;
import android.media.tv.TvInputInfo;
import android.media.tv.TvTrackInfo;
@@ -582,6 +583,12 @@ public class InputSessionManager {
public void onSignalStrength(String inputId, int value) {
mDelegate.onSignalStrength(inputId, value);
}
+
+ @TargetApi(Build.VERSION_CODES.TIRAMISU)
+ @Override
+ public void onAitInfoUpdated(String inputId, AitInfo aitInfo) {
+ mDelegate.onAitInfoUpdated(inputId, aitInfo);
+ }
}
/** Called when the {@link TvView} channel is changed. */
diff --git a/src/com/android/tv/MainActivity.java b/src/com/android/tv/MainActivity.java
index 4eb38c68..35a5550f 100644
--- a/src/com/android/tv/MainActivity.java
+++ b/src/com/android/tv/MainActivity.java
@@ -18,6 +18,7 @@ package com.android.tv;
import static com.android.tv.common.feature.SystemAppFeature.SYSTEM_APP_FEATURE;
+import android.annotation.TargetApi;
import android.app.Activity;
import android.app.PendingIntent;
import android.app.SearchManager;
@@ -32,6 +33,7 @@ import android.content.pm.PackageManager;
import android.content.res.Configuration;
import android.database.Cursor;
import android.hardware.display.DisplayManager;
+import android.media.tv.AitInfo;
import android.media.tv.TvContentRating;
import android.media.tv.TvContract;
import android.media.tv.TvContract.Channels;
@@ -2995,6 +2997,12 @@ public class MainActivity extends Activity
TvOverlayManager.UPDATE_CHANNEL_BANNER_REASON_UPDATE_SIGNAL_STRENGTH);
}
}
+
+ @TargetApi(Build.VERSION_CODES.TIRAMISU)
+ @Override
+ public void onAitInfoUpdated(String inputId, AitInfo aitInfo) {
+ // TODO: Begin the Interactive App
+ }
}
private class MySingletonsImpl implements MySingletons {
diff --git a/src/com/android/tv/audiotvservice/AudioOnlyTvService.java b/src/com/android/tv/audiotvservice/AudioOnlyTvService.java
index 5d0e9c82..59e2406f 100644
--- a/src/com/android/tv/audiotvservice/AudioOnlyTvService.java
+++ b/src/com/android/tv/audiotvservice/AudioOnlyTvService.java
@@ -15,11 +15,14 @@
*/
package com.android.tv.audiotvservice;
+import android.annotation.TargetApi;
import android.app.Notification;
import android.app.Service;
import android.content.Intent;
import android.media.session.MediaSession;
+import android.media.tv.AitInfo;
import android.net.Uri;
+import android.os.Build;
import android.os.IBinder;
import android.support.annotation.Nullable;
import android.util.Log;
@@ -99,4 +102,8 @@ public class AudioOnlyTvService extends Service implements OnTuneListener {
@Override
public void onChannelSignalStrength() {}
+
+ @TargetApi(Build.VERSION_CODES.TIRAMISU)
+ @Override
+ public void onAitInfoUpdated(String inputId, AitInfo aitInfo) {}
}
diff --git a/src/com/android/tv/ui/TunableTvView.java b/src/com/android/tv/ui/TunableTvView.java
index a736e79d..d402b205 100644
--- a/src/com/android/tv/ui/TunableTvView.java
+++ b/src/com/android/tv/ui/TunableTvView.java
@@ -19,6 +19,7 @@ package com.android.tv.ui;
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.TimeInterpolator;
+import android.annotation.TargetApi;
import android.app.Activity;
import android.content.Context;
import android.content.pm.PackageManager;
@@ -28,6 +29,7 @@ import android.graphics.PorterDuff;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.media.PlaybackParams;
+import android.media.tv.AitInfo;
import android.media.tv.TvContentRating;
import android.media.tv.TvInputInfo;
import android.media.tv.TvInputManager;
@@ -413,6 +415,25 @@ public class TunableTvView extends FrameLayout implements StreamInfo, TunableTvV
mOnTuneListener.onChannelSignalStrength();
}
}
+
+ @TargetApi(Build.VERSION_CODES.TIRAMISU)
+ @Override
+ public void onAitInfoUpdated(String inputId, AitInfo aitInfo) {
+ if (!TvFeatures.HAS_TIAF.isEnabled(getContext())) {
+ return;
+ }
+ if (DEBUG) {
+ Log.d(TAG,
+ "onAitInfoUpdated: {inputId="
+ + inputId
+ + ", AitInfo=("
+ + aitInfo
+ +")}");
+ }
+ if (mOnTuneListener != null) {
+ mOnTuneListener.onAitInfoUpdated(inputId, aitInfo);
+ }
+ }
};
public TunableTvView(Context context) {
@@ -773,6 +794,9 @@ public class TunableTvView extends FrameLayout implements StreamInfo, TunableTvV
void onContentAllowed();
void onChannelSignalStrength();
+
+ @TargetApi(Build.VERSION_CODES.TIRAMISU)
+ void onAitInfoUpdated(String inputId, AitInfo aitInfo);
}
public void unblockContent(TvContentRating rating) {