From d44b2ea109d3039f2aeba237f86d0db51c3ba648 Mon Sep 17 00:00:00 2001 From: Tomasz Wasilczyk Date: Wed, 8 Mar 2017 10:01:04 -0800 Subject: Add getProgramList call to the broadcast radio API. Test: manual test of existing API, no tests for the new one. Bug: b/34054813 Change-Id: I7fd8c89d1eb9685856a72c9234df6569d20cc2d4 --- core/java/android/hardware/radio/RadioModule.java | 5 +++++ core/java/android/hardware/radio/RadioTuner.java | 17 +++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/core/java/android/hardware/radio/RadioModule.java b/core/java/android/hardware/radio/RadioModule.java index fc7d0d2afbd4..89648931fd53 100644 --- a/core/java/android/hardware/radio/RadioModule.java +++ b/core/java/android/hardware/radio/RadioModule.java @@ -16,6 +16,8 @@ package android.hardware.radio; +import android.annotation.NonNull; +import android.annotation.Nullable; import android.annotation.SystemApi; import android.content.Context; import android.content.Intent; @@ -23,6 +25,7 @@ import android.os.Handler; import android.os.Looper; import android.os.Message; import java.lang.ref.WeakReference; +import java.util.List; import java.util.UUID; /** @@ -76,6 +79,8 @@ public class RadioModule extends RadioTuner { public native int getProgramInformation(RadioManager.ProgramInfo[] info); + public native @NonNull List getProgramList(@Nullable String filter); + public native boolean isAntennaConnected(); public native boolean hasControl(); diff --git a/core/java/android/hardware/radio/RadioTuner.java b/core/java/android/hardware/radio/RadioTuner.java index 5c82555663de..c8034eb94992 100644 --- a/core/java/android/hardware/radio/RadioTuner.java +++ b/core/java/android/hardware/radio/RadioTuner.java @@ -16,6 +16,8 @@ package android.hardware.radio; +import android.annotation.NonNull; +import android.annotation.Nullable; import android.annotation.SystemApi; import android.content.Context; import android.content.Intent; @@ -23,6 +25,7 @@ import android.os.Handler; import android.os.Looper; import android.os.Message; import java.lang.ref.WeakReference; +import java.util.List; import java.util.UUID; /** @@ -208,6 +211,20 @@ public abstract class RadioTuner { */ public abstract int getProgramInformation(RadioManager.ProgramInfo[] info); + /** + * Get the list of discovered radio stations. + * + * To get the full list, set filter to null or empty string. Otherwise, client application + * must verify vendor product/name before setting this parameter to anything else. + * + * @param filter vendor-specific selector for radio stations. + * @return a list of radio stations. + * @throws IllegalStateException if the scan is in progress or has not been started. + * @throws IllegalArgumentException if the filter argument is not valid. + * @hide FutureFeature + */ + public abstract @NonNull List getProgramList(@Nullable String filter); + /** * Get current antenna connection state for current configuration. * Only valid if a configuration has been applied. -- cgit v1.2.3-59-g8ed1b