diff options
author | Lucas Gates <lucasgates@google.com> | 2022-08-03 20:51:40 +0000 |
---|---|---|
committer | Lucas Gates <lucasgates@google.com> | 2022-08-15 09:52:13 +0000 |
commit | 710ce5a55205cbd242b90c30fa2f04c53874732e (patch) | |
tree | 406d8a13ce119084423b04a969aa08887ea45fec | |
parent | df79eb31f11576ad837843ee3efad9ec97e949c3 (diff) | |
download | TV-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
-rw-r--r-- | src/com/android/tv/InputSessionManager.java | 7 | ||||
-rw-r--r-- | src/com/android/tv/MainActivity.java | 8 | ||||
-rw-r--r-- | src/com/android/tv/audiotvservice/AudioOnlyTvService.java | 7 | ||||
-rw-r--r-- | src/com/android/tv/ui/TunableTvView.java | 24 |
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) { |