summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/hardware/radio/RadioModule.java5
-rw-r--r--core/java/android/hardware/radio/RadioTuner.java17
2 files changed, 22 insertions, 0 deletions
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<RadioManager.ProgramInfo> 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;
/**
@@ -209,6 +212,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<RadioManager.ProgramInfo> getProgramList(@Nullable String filter);
+
+ /**
* Get current antenna connection state for current configuration.
* Only valid if a configuration has been applied.
* @return {@code true} if the antenna is connected, {@code false} otherwise.