Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c86a420c authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Finish broadcast radio HAL 2.0 radio service."

parents 4dadff8b 3b4465e6
Loading
Loading
Loading
Loading
+14 −13
Original line number Diff line number Diff line
@@ -2074,21 +2074,21 @@ package android.hardware.radio {
    method public abstract int cancel();
    method public abstract void cancelAnnouncement();
    method public abstract void close();
    method public abstract int getConfiguration(android.hardware.radio.RadioManager.BandConfig[]);
    method public abstract deprecated int getConfiguration(android.hardware.radio.RadioManager.BandConfig[]);
    method public android.hardware.radio.ProgramList getDynamicProgramList(android.hardware.radio.ProgramList.Filter);
    method public abstract boolean getMute();
    method public java.util.Map<java.lang.String, java.lang.String> getParameters(java.util.List<java.lang.String>);
    method public abstract int getProgramInformation(android.hardware.radio.RadioManager.ProgramInfo[]);
    method public abstract deprecated int getProgramInformation(android.hardware.radio.RadioManager.ProgramInfo[]);
    method public abstract deprecated java.util.List<android.hardware.radio.RadioManager.ProgramInfo> getProgramList(java.util.Map<java.lang.String, java.lang.String>);
    method public abstract boolean hasControl();
    method public abstract deprecated boolean isAnalogForced();
    method public abstract boolean isAntennaConnected();
    method public abstract deprecated boolean isAntennaConnected();
    method public boolean isConfigFlagSet(int);
    method public boolean isConfigFlagSupported(int);
    method public abstract int scan(int, boolean);
    method public abstract deprecated void setAnalogForced(boolean);
    method public void setConfigFlag(int, boolean);
    method public abstract int setConfiguration(android.hardware.radio.RadioManager.BandConfig);
    method public abstract deprecated int setConfiguration(android.hardware.radio.RadioManager.BandConfig);
    method public abstract int setMute(boolean);
    method public java.util.Map<java.lang.String, java.lang.String> setParameters(java.util.Map<java.lang.String, java.lang.String>);
    method public abstract boolean startBackgroundScan();
@@ -2097,13 +2097,13 @@ package android.hardware.radio {
    method public abstract void tune(android.hardware.radio.ProgramSelector);
    field public static final int DIRECTION_DOWN = 1; // 0x1
    field public static final int DIRECTION_UP = 0; // 0x0
    field public static final int ERROR_BACKGROUND_SCAN_FAILED = 6; // 0x6
    field public static final int ERROR_BACKGROUND_SCAN_UNAVAILABLE = 5; // 0x5
    field public static final int ERROR_CANCELLED = 2; // 0x2
    field public static final int ERROR_CONFIG = 4; // 0x4
    field public static final int ERROR_HARDWARE_FAILURE = 0; // 0x0
    field public static final int ERROR_SCAN_TIMEOUT = 3; // 0x3
    field public static final int ERROR_SERVER_DIED = 1; // 0x1
    field public static final deprecated int ERROR_BACKGROUND_SCAN_FAILED = 6; // 0x6
    field public static final deprecated int ERROR_BACKGROUND_SCAN_UNAVAILABLE = 5; // 0x5
    field public static final deprecated int ERROR_CANCELLED = 2; // 0x2
    field public static final deprecated int ERROR_CONFIG = 4; // 0x4
    field public static final deprecated int ERROR_HARDWARE_FAILURE = 0; // 0x0
    field public static final deprecated int ERROR_SCAN_TIMEOUT = 3; // 0x3
    field public static final deprecated int ERROR_SERVER_DIED = 1; // 0x1
  }

  public static abstract class RadioTuner.Callback {
@@ -2111,15 +2111,16 @@ package android.hardware.radio {
    method public void onAntennaState(boolean);
    method public void onBackgroundScanAvailabilityChange(boolean);
    method public void onBackgroundScanComplete();
    method public void onConfigurationChanged(android.hardware.radio.RadioManager.BandConfig);
    method public deprecated void onConfigurationChanged(android.hardware.radio.RadioManager.BandConfig);
    method public void onControlChanged(boolean);
    method public void onEmergencyAnnouncement(boolean);
    method public void onError(int);
    method public deprecated void onError(int);
    method public deprecated void onMetadataChanged(android.hardware.radio.RadioMetadata);
    method public void onParametersUpdated(java.util.Map<java.lang.String, java.lang.String>);
    method public void onProgramInfoChanged(android.hardware.radio.RadioManager.ProgramInfo);
    method public void onProgramListChanged();
    method public void onTrafficAnnouncement(boolean);
    method public void onTuneFailed(int, android.hardware.radio.ProgramSelector);
  }

}
+0 −4
Original line number Diff line number Diff line
@@ -64,8 +64,6 @@ interface ITuner {

    void cancelAnnouncement();

    RadioManager.ProgramInfo getProgramInformation();

    Bitmap getImage(int id);

    /**
@@ -92,6 +90,4 @@ interface ITuner {
     * @return Vendor-specific key-value pairs, must be Map<String, String>
     */
    Map getParameters(in List<String> keys);

    boolean isAntennaConnected();
}
+2 −0
Original line number Diff line number Diff line
@@ -17,12 +17,14 @@
package android.hardware.radio;

import android.hardware.radio.ProgramList;
import android.hardware.radio.ProgramSelector;
import android.hardware.radio.RadioManager;
import android.hardware.radio.RadioMetadata;

/** {@hide} */
oneway interface ITunerCallback {
    void onError(int status);
    void onTuneFailed(int result, in ProgramSelector selector);
    void onConfigurationChanged(in RadioManager.BandConfig config);
    void onCurrentProgramInfoChanged(in RadioManager.ProgramInfo info);
    void onTrafficAnnouncement(boolean active);
+54 −7
Original line number Diff line number Diff line
@@ -64,7 +64,9 @@ public abstract class RadioTuner {
     *  <li>{@link RadioManager#STATUS_DEAD_OBJECT} if the binder transaction to the native
     *  service fails, </li>
     * </ul>
     * @deprecated Only applicable for HAL 1.x.
     */
    @Deprecated
    public abstract int setConfiguration(RadioManager.BandConfig config);

    /**
@@ -80,7 +82,10 @@ public abstract class RadioTuner {
     *  <li>{@link RadioManager#STATUS_DEAD_OBJECT} if the binder transaction to the native
     *  service fails, </li>
     * </ul>
     *
     * @deprecated Only applicable for HAL 1.x.
     */
    @Deprecated
    public abstract int getConfiguration(RadioManager.BandConfig[] config);


@@ -228,7 +233,9 @@ public abstract class RadioTuner {
     *  <li>{@link RadioManager#STATUS_DEAD_OBJECT} if the binder transaction to the native
     *  service fails, </li>
     * </ul>
     * @deprecated Use {@link onProgramInfoChanged} callback instead.
     */
    @Deprecated
    public abstract int getProgramInformation(RadioManager.ProgramInfo[] info);

    /**
@@ -427,7 +434,10 @@ public abstract class RadioTuner {
     * 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.
     *
     * @deprecated Use {@link onAntennaState} callback instead
     */
    @Deprecated
    public abstract boolean isAntennaConnected();

    /**
@@ -446,20 +456,41 @@ public abstract class RadioTuner {
    public abstract boolean hasControl();

    /** Indicates a failure of radio IC or driver.
     * The application must close and re open the tuner */
     * The application must close and re open the tuner
     * @deprecated See {@link onError} callback.
     */
    @Deprecated
    public static final int ERROR_HARDWARE_FAILURE = 0;
    /** Indicates a failure of the radio service.
     * The application must close and re open the tuner */
     * The application must close and re open the tuner
     * @deprecated See {@link onError} callback.
     */
    @Deprecated
    public static final  int ERROR_SERVER_DIED = 1;
    /** A pending seek or tune operation was cancelled */
    /** A pending seek or tune operation was cancelled
     * @deprecated See {@link onError} callback.
     */
    @Deprecated
    public static final  int ERROR_CANCELLED = 2;
    /** A pending seek or tune operation timed out */
    /** A pending seek or tune operation timed out
     * @deprecated See {@link onError} callback.
     */
    @Deprecated
    public static final  int ERROR_SCAN_TIMEOUT = 3;
    /** The requested configuration could not be applied */
    /** The requested configuration could not be applied
     * @deprecated See {@link onError} callback.
     */
    @Deprecated
    public static final  int ERROR_CONFIG = 4;
    /** Background scan was interrupted due to hardware becoming temporarily unavailable. */
    /** Background scan was interrupted due to hardware becoming temporarily unavailable.
     * @deprecated See {@link onError} callback.
     */
    @Deprecated
    public static final int ERROR_BACKGROUND_SCAN_UNAVAILABLE = 5;
    /** Background scan failed due to other error, ie. HW failure. */
    /** Background scan failed due to other error, ie. HW failure.
     * @deprecated See {@link onError} callback.
     */
    @Deprecated
    public static final int ERROR_BACKGROUND_SCAN_FAILED = 6;

    /**
@@ -473,13 +504,29 @@ public abstract class RadioTuner {
         * status is one of {@link #ERROR_HARDWARE_FAILURE}, {@link #ERROR_SERVER_DIED},
         * {@link #ERROR_CANCELLED}, {@link #ERROR_SCAN_TIMEOUT},
         * {@link #ERROR_CONFIG}
         *
         * @deprecated Use {@link onTuneFailed} for tune, scan and step;
         *             other use cases (configuration, background scan) are already deprecated.
         */
        public void onError(int status) {}

        /**
         * Called when tune, scan or step operation fails.
         *
         * @param result cause of the failure
         * @param selector ProgramSelector argument of tune that failed;
         *                 null for scan and step.
         */
        public void onTuneFailed(int result, @Nullable ProgramSelector selector) {}

        /**
         * onConfigurationChanged() is called upon successful completion of
         * {@link RadioManager#openTuner(int, RadioManager.BandConfig, boolean, Callback, Handler)}
         * or {@link RadioTuner#setConfiguration(RadioManager.BandConfig)}
         *
         * @deprecated Only applicable for HAL 1.x.
         */
        @Deprecated
        public void onConfigurationChanged(RadioManager.BandConfig config) {}

        /**
+20 −14
Original line number Diff line number Diff line
@@ -202,15 +202,17 @@ class TunerAdapter extends RadioTuner {
    @Override
    public int getProgramInformation(RadioManager.ProgramInfo[] info) {
        if (info == null || info.length != 1) {
            throw new IllegalArgumentException("The argument must be an array of length 1");
            Log.e(TAG, "The argument must be an array of length 1");
            return RadioManager.STATUS_BAD_VALUE;
        }
        try {
            info[0] = mTuner.getProgramInformation();
            return RadioManager.STATUS_OK;
        } catch (RemoteException e) {
            Log.e(TAG, "service died", e);
            return RadioManager.STATUS_DEAD_OBJECT;

        RadioManager.ProgramInfo current = mCallback.getCurrentProgramInformation();
        if (current == null) {
            Log.w(TAG, "Didn't get program info yet");
            return RadioManager.STATUS_INVALID_OPERATION;
        }
        info[0] = current;
        return RadioManager.STATUS_OK;
    }

    @Override
@@ -288,12 +290,20 @@ class TunerAdapter extends RadioTuner {

    @Override
    public boolean isAnalogForced() {
        try {
            return isConfigFlagSet(RadioManager.CONFIG_FORCE_ANALOG);
        } catch (UnsupportedOperationException ex) {
            throw new IllegalStateException(ex);
        }
    }

    @Override
    public void setAnalogForced(boolean isForced) {
        try {
            setConfigFlag(RadioManager.CONFIG_FORCE_ANALOG, isForced);
        } catch (UnsupportedOperationException ex) {
            throw new IllegalStateException(ex);
        }
    }

    @Override
@@ -343,11 +353,7 @@ class TunerAdapter extends RadioTuner {

    @Override
    public boolean isAntennaConnected() {
        try {
            return mTuner.isAntennaConnected();
        } catch (RemoteException e) {
            throw new RuntimeException("service died", e);
        }
        return mCallback.isAntennaConnected();
    }

    @Override
Loading