diff options
Diffstat (limited to 'src/com/android/tv/audiotvservice/AudioOnlyTvServiceUtil.java')
-rw-r--r-- | src/com/android/tv/audiotvservice/AudioOnlyTvServiceUtil.java | 31 |
1 files changed, 28 insertions, 3 deletions
diff --git a/src/com/android/tv/audiotvservice/AudioOnlyTvServiceUtil.java b/src/com/android/tv/audiotvservice/AudioOnlyTvServiceUtil.java index dc4f41dd..7ffe8833 100644 --- a/src/com/android/tv/audiotvservice/AudioOnlyTvServiceUtil.java +++ b/src/com/android/tv/audiotvservice/AudioOnlyTvServiceUtil.java @@ -19,16 +19,22 @@ import android.content.Context; import android.content.Intent; import android.os.Build; import android.support.annotation.MainThread; +import android.support.annotation.Nullable; import android.util.Log; /** Utility methods to start and stop audio only TV Player. */ -public class AudioOnlyTvServiceUtil { +public final class AudioOnlyTvServiceUtil { private static final String TAG = "AudioOnlyTvServiceUtil"; + private static final String EXTRA_INPUT_ID = "intputId"; @MainThread public static void startAudioOnlyInput(Context context, String tvInputId) { Log.i(TAG, "startAudioOnlyInput"); - Intent intent = new Intent(context, AudioOnlyTvService.class); + Intent intent = getIntent(context); + if (intent == null) { + return; + } + intent.putExtra(EXTRA_INPUT_ID, tvInputId); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { context.startForegroundService(intent); } else { @@ -36,8 +42,27 @@ public class AudioOnlyTvServiceUtil { } } + @Nullable + private static Intent getIntent(Context context) { + try { + return new Intent( + context, Class.forName("com.android.tv.audiotvservice.AudioOnlyTvService")); + } catch (ClassNotFoundException e) { + Log.wtf(TAG, e); + return null; + } + } + @MainThread - public static void stopAudioOnlyInput() { + public static void stopAudioOnlyInput(Context context) { Log.i(TAG, "stopForegroundService"); + context.stopService(getIntent(context)); } + + @Nullable + public static String getInputIdFromIntent(Intent intent) { + return intent.getStringExtra(EXTRA_INPUT_ID); + } + + private AudioOnlyTvServiceUtil() {} } |