Improve javadocs in MediaController and VolumeProvider
Bug: 277877803 Test: N/A javadoc change only. Change-Id: I6fe9ec88f93057ea697310a461914146cd0cc7ad
This commit is contained in:
@@ -17,6 +17,7 @@ package android.media;
|
||||
|
||||
import android.annotation.IntDef;
|
||||
import android.annotation.Nullable;
|
||||
import android.media.MediaRouter2.RoutingController;
|
||||
import android.media.session.MediaSession;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
@@ -66,32 +67,28 @@ public abstract class VolumeProvider {
|
||||
private Callback mCallback;
|
||||
|
||||
/**
|
||||
* Create a new volume provider for handling volume events. You must specify
|
||||
* the type of volume control, the maximum volume that can be used, and the
|
||||
* current volume on the output.
|
||||
* Creates a new volume provider for handling volume events.
|
||||
*
|
||||
* @param volumeControl The method for controlling volume that is used by
|
||||
* this provider.
|
||||
* @param volumeControl See {@link #getVolumeControl()}.
|
||||
* @param maxVolume The maximum allowed volume.
|
||||
* @param currentVolume The current volume on the output.
|
||||
*/
|
||||
|
||||
public VolumeProvider(@ControlType int volumeControl, int maxVolume, int currentVolume) {
|
||||
this(volumeControl, maxVolume, currentVolume, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new volume provider for handling volume events. You must specify
|
||||
* the type of volume control, the maximum volume that can be used, and the
|
||||
* current volume on the output.
|
||||
* Creates a new volume provider for handling volume events.
|
||||
*
|
||||
* @param volumeControl The method for controlling volume that is used by
|
||||
* this provider.
|
||||
* @param volumeControl See {@link #getVolumeControl()}.
|
||||
* @param maxVolume The maximum allowed volume.
|
||||
* @param currentVolume The current volume on the output.
|
||||
* @param volumeControlId The volume control ID of this provider.
|
||||
* @param volumeControlId See {@link #getVolumeControlId()}.
|
||||
*/
|
||||
public VolumeProvider(@ControlType int volumeControl, int maxVolume, int currentVolume,
|
||||
public VolumeProvider(
|
||||
@ControlType int volumeControl,
|
||||
int maxVolume,
|
||||
int currentVolume,
|
||||
@Nullable String volumeControlId) {
|
||||
mControlType = volumeControl;
|
||||
mMaxVolume = maxVolume;
|
||||
@@ -100,7 +97,10 @@ public abstract class VolumeProvider {
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the volume control type that this volume provider uses.
|
||||
* Gets the volume control type that this volume provider uses.
|
||||
*
|
||||
* <p>One of {@link #VOLUME_CONTROL_FIXED}, {@link #VOLUME_CONTROL_ABSOLUTE}, or {@link
|
||||
* #VOLUME_CONTROL_RELATIVE}.
|
||||
*
|
||||
* @return The volume control type for this volume provider
|
||||
*/
|
||||
@@ -110,7 +110,7 @@ public abstract class VolumeProvider {
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the maximum volume this provider allows.
|
||||
* Gets the maximum volume this provider allows.
|
||||
*
|
||||
* @return The max allowed volume.
|
||||
*/
|
||||
@@ -129,8 +129,8 @@ public abstract class VolumeProvider {
|
||||
}
|
||||
|
||||
/**
|
||||
* Notify the system that the current volume has been changed. This must be
|
||||
* called every time the volume changes to ensure it is displayed properly.
|
||||
* Notifies the system that the current volume has been changed. This must be called every time
|
||||
* the volume changes to ensure it is displayed properly.
|
||||
*
|
||||
* @param currentVolume The current volume on the output.
|
||||
*/
|
||||
@@ -142,10 +142,11 @@ public abstract class VolumeProvider {
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the volume control ID. It can be used to identify which volume provider is
|
||||
* used by the session.
|
||||
* Gets the {@link RoutingController#getId() routing controller id} of the {@link
|
||||
* RoutingController} associated with this volume provider, or null if unset.
|
||||
*
|
||||
* @return the volume control ID or {@code null} if it isn't set.
|
||||
* <p>This id allows mapping this volume provider to a routing controller, which provides
|
||||
* information about the media route and allows controlling its volume.
|
||||
*/
|
||||
@Nullable
|
||||
public final String getVolumeControlId() {
|
||||
|
||||
@@ -29,7 +29,6 @@ import android.media.AudioAttributes;
|
||||
import android.media.AudioManager;
|
||||
import android.media.MediaMetadata;
|
||||
import android.media.Rating;
|
||||
import android.media.RoutingSessionInfo;
|
||||
import android.media.VolumeProvider;
|
||||
import android.media.VolumeProvider.ControlType;
|
||||
import android.media.session.MediaSession.QueueItem;
|
||||
@@ -993,26 +992,23 @@ public final class MediaController {
|
||||
/**
|
||||
* Creates a new playback info.
|
||||
*
|
||||
* @param playbackType The playback type. Should be {@link #PLAYBACK_TYPE_LOCAL} or
|
||||
* {@link #PLAYBACK_TYPE_REMOTE}
|
||||
* @param volumeControl The volume control. Should be one of:
|
||||
* {@link VolumeProvider#VOLUME_CONTROL_ABSOLUTE},
|
||||
* {@link VolumeProvider#VOLUME_CONTROL_RELATIVE}, and
|
||||
* {@link VolumeProvider#VOLUME_CONTROL_FIXED}.
|
||||
* @param playbackType The playback type. Should be {@link #PLAYBACK_TYPE_LOCAL} or {@link
|
||||
* #PLAYBACK_TYPE_REMOTE}
|
||||
* @param volumeControl See {@link #getVolumeControl()}.
|
||||
* @param maxVolume The max volume. Should be equal or greater than zero.
|
||||
* @param currentVolume The current volume. Should be in the interval [0, maxVolume].
|
||||
* @param audioAttrs The audio attributes for this playback. Should not be null.
|
||||
* @param volumeControlId The {@link RoutingSessionInfo#getId() routing session id} of the
|
||||
* {@link RoutingSessionInfo} associated with this controller, or null if not
|
||||
* applicable. This id allows mapping this controller to a routing session which, when
|
||||
* applicable, provides information about the remote device, and support for volume
|
||||
* adjustment.
|
||||
* @param volumeControlId See {@link #getVolumeControlId()}.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
|
||||
public PlaybackInfo(@PlaybackType int playbackType, @ControlType int volumeControl,
|
||||
@IntRange(from = 0) int maxVolume, @IntRange(from = 0) int currentVolume,
|
||||
@NonNull AudioAttributes audioAttrs, @Nullable String volumeControlId) {
|
||||
public PlaybackInfo(
|
||||
@PlaybackType int playbackType,
|
||||
@ControlType int volumeControl,
|
||||
@IntRange(from = 0) int maxVolume,
|
||||
@IntRange(from = 0) int currentVolume,
|
||||
@NonNull AudioAttributes audioAttrs,
|
||||
@Nullable String volumeControlId) {
|
||||
mPlaybackType = playbackType;
|
||||
mVolumeControl = volumeControl;
|
||||
mMaxVolume = maxVolume;
|
||||
@@ -1044,14 +1040,8 @@ public final class MediaController {
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the type of volume control that can be used. One of:
|
||||
* <ul>
|
||||
* <li>{@link VolumeProvider#VOLUME_CONTROL_ABSOLUTE}</li>
|
||||
* <li>{@link VolumeProvider#VOLUME_CONTROL_RELATIVE}</li>
|
||||
* <li>{@link VolumeProvider#VOLUME_CONTROL_FIXED}</li>
|
||||
* </ul>
|
||||
*
|
||||
* @return The type of volume control that may be used with this session.
|
||||
* Get the volume control type associated to the session, as indicated by {@link
|
||||
* VolumeProvider#getVolumeControl()}.
|
||||
*/
|
||||
public int getVolumeControl() {
|
||||
return mVolumeControl;
|
||||
@@ -1076,10 +1066,9 @@ public final class MediaController {
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the audio attributes for this session. The attributes will affect
|
||||
* volume handling for the session. When the volume type is
|
||||
* {@link PlaybackInfo#PLAYBACK_TYPE_REMOTE} these may be ignored by the
|
||||
* remote volume handler.
|
||||
* Get the audio attributes for this session. The attributes will affect volume handling for
|
||||
* the session. When the playback type is {@link PlaybackInfo#PLAYBACK_TYPE_REMOTE} these
|
||||
* may be ignored by the remote volume handler.
|
||||
*
|
||||
* @return The attributes for this session.
|
||||
*/
|
||||
@@ -1088,19 +1077,9 @@ public final class MediaController {
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the volume control ID for this session. It can be used to identify which
|
||||
* volume provider is used by the session.
|
||||
* <p>
|
||||
* When the session starts to use {@link #PLAYBACK_TYPE_REMOTE remote volume handling},
|
||||
* a volume provider should be set and it may set the volume control ID of the provider
|
||||
* if the session wants to inform which volume provider is used.
|
||||
* It can be {@code null} if the session didn't set the volume control ID or it uses
|
||||
* {@link #PLAYBACK_TYPE_LOCAL local playback}.
|
||||
* </p>
|
||||
*
|
||||
* @return the volume control ID for this session or {@code null} if it uses local playback
|
||||
* or not set.
|
||||
* @see VolumeProvider#getVolumeControlId()
|
||||
* Get the routing controller ID for this session, as indicated by {@link
|
||||
* VolumeProvider#getVolumeControlId()}. Returns null if unset, or if {@link
|
||||
* #getPlaybackType()} is {@link #PLAYBACK_TYPE_LOCAL}.
|
||||
*/
|
||||
@Nullable
|
||||
public String getVolumeControlId() {
|
||||
|
||||
Reference in New Issue
Block a user