aboutsummaryrefslogtreecommitdiff
path: root/car-lib/src/android/car/media
diff options
context:
space:
mode:
authorHongwei Wang <hwwang@google.com>2018-01-12 16:55:46 -0800
committerHongwei Wang <hwwang@google.com>2018-01-24 16:48:41 -0800
commita5a2b393e10feaa728ccad7fe3bb57a334152f7e (patch)
tree415e0a2d5367c5246045c0d95f7f3f9cc2401a89 /car-lib/src/android/car/media
parentd133205e6c58a20ad9e37838a3adf007a607cf02 (diff)
downloadCar-a5a2b393e10feaa728ccad7fe3bb57a334152f7e.tar.gz
Deprecates CAR_AUDIO_USAGE - part 1
Uses AudioAttributes.USAGE_ instead. Deprecates also the CarAudioAttributesUtil utility class. `make update-car-api` is used to update current.txt and proguard-release.flags What's next - Establish the static mapping from AA.USAGE to car audio context - Integrate with audio control HAL to map car audio context to physical bus address - Deprecate the audio_hw_variant BUG: 72046976 Test: lunch gcar_emu-x86 && m -j // Verify in Car Settings Change-Id: If152c4c3c3dc01f3595a1cf9ce8135996cd8cba6
Diffstat (limited to 'car-lib/src/android/car/media')
-rw-r--r--car-lib/src/android/car/media/CarAudioManager.java142
-rw-r--r--car-lib/src/android/car/media/ICarAudio.aidl10
2 files changed, 26 insertions, 126 deletions
diff --git a/car-lib/src/android/car/media/CarAudioManager.java b/car-lib/src/android/car/media/CarAudioManager.java
index e34bb82a78..fbe97023e7 100644
--- a/car-lib/src/android/car/media/CarAudioManager.java
+++ b/car-lib/src/android/car/media/CarAudioManager.java
@@ -15,7 +15,6 @@
*/
package android.car.media;
-import android.annotation.IntDef;
import android.annotation.SystemApi;
import android.car.CarLibLog;
import android.car.CarManagerBase;
@@ -28,132 +27,30 @@ import android.os.IBinder;
import android.os.RemoteException;
import android.util.Log;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
/**
* APIs for handling car specific audio stuff.
*/
public final class CarAudioManager implements CarManagerBase {
- /**
- * Audio usage for unspecified type.
- */
- public static final int CAR_AUDIO_USAGE_DEFAULT = 0;
- /**
- * Audio usage for playing music.
- */
- public static final int CAR_AUDIO_USAGE_MUSIC = 1;
- /**
- * Audio usage for H/W radio.
- */
- public static final int CAR_AUDIO_USAGE_RADIO = 2;
- /**
- * Audio usage for playing navigation guidance.
- */
- public static final int CAR_AUDIO_USAGE_NAVIGATION_GUIDANCE = 3;
- /**
- * Audio usage for voice call
- */
- public static final int CAR_AUDIO_USAGE_VOICE_CALL = 4;
- /**
- * Audio usage for voice search or voice command.
- */
- public static final int CAR_AUDIO_USAGE_VOICE_COMMAND = 5;
- /**
- * Audio usage for playing alarm.
- */
- public static final int CAR_AUDIO_USAGE_ALARM = 6;
- /**
- * Audio usage for notification sound.
- */
- public static final int CAR_AUDIO_USAGE_NOTIFICATION = 7;
- /**
- * Audio usage for system sound like UI feedback.
- */
- public static final int CAR_AUDIO_USAGE_SYSTEM_SOUND = 8;
- /**
- * Audio usage for playing safety alert.
- */
- public static final int CAR_AUDIO_USAGE_SYSTEM_SAFETY_ALERT = 9;
- /**
- * Audio usage for the ringing of a phone call.
- */
- public static final int CAR_AUDIO_USAGE_RINGTONE = 10;
- /**
- * Audio usage for external audio usage.
- * @hide
- */
- public static final int CAR_AUDIO_USAGE_EXTERNAL_AUDIO_SOURCE = 11;
-
- /** @hide */
- public static final int CAR_AUDIO_USAGE_MAX = CAR_AUDIO_USAGE_EXTERNAL_AUDIO_SOURCE;
-
- /** @hide */
- @IntDef({CAR_AUDIO_USAGE_DEFAULT, CAR_AUDIO_USAGE_MUSIC, CAR_AUDIO_USAGE_RADIO,
- CAR_AUDIO_USAGE_NAVIGATION_GUIDANCE, CAR_AUDIO_USAGE_VOICE_CALL,
- CAR_AUDIO_USAGE_VOICE_COMMAND, CAR_AUDIO_USAGE_ALARM, CAR_AUDIO_USAGE_NOTIFICATION,
- CAR_AUDIO_USAGE_SYSTEM_SOUND, CAR_AUDIO_USAGE_SYSTEM_SAFETY_ALERT,
- CAR_AUDIO_USAGE_EXTERNAL_AUDIO_SOURCE})
- @Retention(RetentionPolicy.SOURCE)
- public @interface CarAudioUsage {}
-
- /** @hide */
- public static final String CAR_RADIO_TYPE_AM_FM = "RADIO_AM_FM";
- /** @hide */
- public static final String CAR_RADIO_TYPE_AM_FM_HD = "RADIO_AM_FM_HD";
- /** @hide */
- public static final String CAR_RADIO_TYPE_DAB = "RADIO_DAB";
- /** @hide */
- public static final String CAR_RADIO_TYPE_SATELLITE = "RADIO_SATELLITE";
-
- /** @hide */
- public static final String CAR_EXTERNAL_SOURCE_TYPE_CD_DVD = "CD_DVD";
- /** @hide */
- public static final String CAR_EXTERNAL_SOURCE_TYPE_AUX_IN0 = "AUX_IN0";
- /** @hide */
- public static final String CAR_EXTERNAL_SOURCE_TYPE_AUX_IN1 = "AUX_IN1";
- /** @hide */
- public static final String CAR_EXTERNAL_SOURCE_TYPE_EXT_NAV_GUIDANCE = "EXT_NAV_GUIDANCE";
- /** @hide */
- public static final String CAR_EXTERNAL_SOURCE_TYPE_EXT_VOICE_CALL = "EXT_VOICE_CALL";
- /** @hide */
- public static final String CAR_EXTERNAL_SOURCE_TYPE_EXT_VOICE_COMMAND = "EXT_VOICE_COMMAND";
- /** @hide */
- public static final String CAR_EXTERNAL_SOURCE_TYPE_EXT_SAFETY_ALERT = "EXT_SAFETY_ALERT";
-
private final ICarAudio mService;
/**
- * Get {@link AudioAttributes} relevant for the given usage in car.
- * @param carUsage
- * @return
- */
- public AudioAttributes getAudioAttributesForCarUsage(@CarAudioUsage int carUsage)
- throws CarNotConnectedException {
- try {
- return mService.getAudioAttributesForCarUsage(carUsage);
- } catch (RemoteException e) {
- throw new CarNotConnectedException();
- }
- }
-
- /**
- * Sets the volume index for a particular usage.
+ * Sets the volume index for an {@link AudioAttributes} usage.
*
* Requires {@link android.car.Car#PERMISSION_CAR_CONTROL_AUDIO_VOLUME} permission.
*
- * @param carUsage The car audio usage whose volume index should be set.
+ * @param usage The {@link AudioAttributes} usage whose volume index should be set.
* @param index The volume index to set. See
* {@link #getUsageMaxVolume(int)} for the largest valid value.
* @param flags One or more flags (e.g., {@link android.media.AudioManager#FLAG_SHOW_UI},
* {@link android.media.AudioManager#FLAG_PLAY_SOUND})
*/
@SystemApi
- public void setUsageVolume(@CarAudioUsage int carUsage, int index, int flags)
+ public void setUsageVolume(
+ @AudioAttributes.AttributeUsage int usage, int index, int flags)
throws CarNotConnectedException {
try {
- mService.setUsageVolume(carUsage, index, flags);
+ mService.setUsageVolume(usage, index, flags);
} catch (RemoteException e) {
Log.e(CarLibLog.TAG_CAR, "setUsageVolume failed", e);
throw new CarNotConnectedException(e);
@@ -179,17 +76,19 @@ public final class CarAudioManager implements CarManagerBase {
}
/**
- * Returns the maximum volume index for a particular usage.
+ * Returns the maximum volume index for an {@link AudioAttributes} usage.
*
* Requires {@link android.car.Car#PERMISSION_CAR_CONTROL_AUDIO_VOLUME} permission.
*
- * @param carUsage The car audio usage whose maximum volume index is returned.
+ * @param usage The {@link AudioAttributes} usage
+ * whose maximum volume index is returned.
* @return The maximum valid volume index for the usage.
*/
@SystemApi
- public int getUsageMaxVolume(@CarAudioUsage int carUsage) throws CarNotConnectedException {
+ public int getUsageMaxVolume(@AudioAttributes.AttributeUsage int usage)
+ throws CarNotConnectedException {
try {
- return mService.getUsageMaxVolume(carUsage);
+ return mService.getUsageMaxVolume(usage);
} catch (RemoteException e) {
Log.e(CarLibLog.TAG_CAR, "getUsageMaxVolume failed", e);
throw new CarNotConnectedException(e);
@@ -197,17 +96,19 @@ public final class CarAudioManager implements CarManagerBase {
}
/**
- * Returns the minimum volume index for a particular usage.
+ * Returns the minimum volume index for an {@link AudioAttributes} usage.
*
* Requires {@link android.car.Car#PERMISSION_CAR_CONTROL_AUDIO_VOLUME} permission.
*
- * @param carUsage The car audio usage whose minimum volume index is returned.
+ * @param usage The {@link AudioAttributes} usage
+ * whose minimum volume index is returned.
* @return The minimum valid volume index for the usage.
*/
@SystemApi
- public int getUsageMinVolume(@CarAudioUsage int carUsage) throws CarNotConnectedException {
+ public int getUsageMinVolume(@AudioAttributes.AttributeUsage int usage)
+ throws CarNotConnectedException {
try {
- return mService.getUsageMinVolume(carUsage);
+ return mService.getUsageMinVolume(usage);
} catch (RemoteException e) {
Log.e(CarLibLog.TAG_CAR, "getUsageMinVolume failed", e);
throw new CarNotConnectedException(e);
@@ -215,20 +116,21 @@ public final class CarAudioManager implements CarManagerBase {
}
/**
- * Returns the current volume index for a particular usage.
+ * Returns the current volume index for an {@link AudioAttributes} usage.
*
* Requires {@link android.car.Car#PERMISSION_CAR_CONTROL_AUDIO_VOLUME} permission.
*
- * @param carUsage The car audio usage whose volume index is returned.
+ * @param usage The {@link AudioAttributes} usage whose volume index is returned.
* @return The current volume index for the usage.
*
* @see #getUsageMaxVolume(int)
* @see #setUsageVolume(int, int, int)
*/
@SystemApi
- public int getUsageVolume(@CarAudioUsage int carUsage) throws CarNotConnectedException {
+ public int getUsageVolume(@AudioAttributes.AttributeUsage int usage)
+ throws CarNotConnectedException {
try {
- return mService.getUsageVolume(carUsage);
+ return mService.getUsageVolume(usage);
} catch (RemoteException e) {
Log.e(CarLibLog.TAG_CAR, "getUsageVolume failed", e);
throw new CarNotConnectedException(e);
diff --git a/car-lib/src/android/car/media/ICarAudio.aidl b/car-lib/src/android/car/media/ICarAudio.aidl
index 2a952473d9..3116c1e781 100644
--- a/car-lib/src/android/car/media/ICarAudio.aidl
+++ b/car-lib/src/android/car/media/ICarAudio.aidl
@@ -27,13 +27,11 @@ import android.media.IVolumeController;
* @hide
*/
interface ICarAudio {
- AudioAttributes getAudioAttributesForCarUsage(int carUsage);
-
- void setUsageVolume(int carUsage, int index, int flags);
+ void setUsageVolume(int usage, int index, int flags);
void setVolumeController(IVolumeController controller);
- int getUsageMaxVolume(int carUsage);
- int getUsageMinVolume(int carUsage);
- int getUsageVolume(int carUsage);
+ int getUsageMaxVolume(int usage);
+ int getUsageMinVolume(int usage);
+ int getUsageVolume(int usage);
void setFadeTowardFront(float value);
void setBalanceTowardRight(float value);