Merge "Fixed API review comments on primitive types on assistant APIs" into tm-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
c3c0da4450
@@ -6108,7 +6108,7 @@ package android.media {
|
||||
|
||||
public class AudioManager {
|
||||
method @Deprecated public int abandonAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, android.media.AudioAttributes);
|
||||
method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void addAssistantServicesUids(@NonNull java.util.List<java.lang.Integer>);
|
||||
method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void addAssistantServicesUids(@NonNull int[]);
|
||||
method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void addOnPreferredDeviceForStrategyChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.OnPreferredDeviceForStrategyChangedListener) throws java.lang.SecurityException;
|
||||
method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void addOnPreferredDevicesForCapturePresetChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.OnPreferredDevicesForCapturePresetChangedListener) throws java.lang.SecurityException;
|
||||
method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void addOnPreferredDevicesForStrategyChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.OnPreferredDevicesForStrategyChangedListener) throws java.lang.SecurityException;
|
||||
@@ -6116,9 +6116,9 @@ package android.media {
|
||||
method public void clearAudioServerStateCallback();
|
||||
method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean clearPreferredDevicesForCapturePreset(int);
|
||||
method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int dispatchAudioFocusChange(@NonNull android.media.AudioFocusInfo, int, @NonNull android.media.audiopolicy.AudioPolicy);
|
||||
method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public java.util.List<java.lang.Integer> getActiveAssistantServicesUids();
|
||||
method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int[] getActiveAssistantServicesUids();
|
||||
method @IntRange(from=0) public long getAdditionalOutputDeviceDelay(@NonNull android.media.AudioDeviceInfo);
|
||||
method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public java.util.List<java.lang.Integer> getAssistantServicesUids();
|
||||
method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int[] getAssistantServicesUids();
|
||||
method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static java.util.List<android.media.audiopolicy.AudioProductStrategy> getAudioProductStrategies();
|
||||
method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static java.util.List<android.media.audiopolicy.AudioVolumeGroup> getAudioVolumeGroups();
|
||||
method @NonNull @RequiresPermission(android.Manifest.permission.CALL_AUDIO_INTERCEPTION) public android.media.AudioRecord getCallDownlinkExtractionAudioRecord(@NonNull android.media.AudioFormat);
|
||||
@@ -6143,7 +6143,7 @@ package android.media {
|
||||
method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int registerAudioPolicy(@NonNull android.media.audiopolicy.AudioPolicy);
|
||||
method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void registerMuteAwaitConnectionCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.MuteAwaitConnectionCallback);
|
||||
method public void registerVolumeGroupCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.VolumeGroupCallback);
|
||||
method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeAssistantServicesUids(@NonNull java.util.List<java.lang.Integer>);
|
||||
method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeAssistantServicesUids(@NonNull int[]);
|
||||
method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeOnPreferredDeviceForStrategyChangedListener(@NonNull android.media.AudioManager.OnPreferredDeviceForStrategyChangedListener);
|
||||
method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeOnPreferredDevicesForCapturePresetChangedListener(@NonNull android.media.AudioManager.OnPreferredDevicesForCapturePresetChangedListener);
|
||||
method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeOnPreferredDevicesForStrategyChangedListener(@NonNull android.media.AudioManager.OnPreferredDevicesForStrategyChangedListener);
|
||||
@@ -6151,7 +6151,7 @@ package android.media {
|
||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int requestAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, @NonNull android.media.AudioAttributes, int, int) throws java.lang.IllegalArgumentException;
|
||||
method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public int requestAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, @NonNull android.media.AudioAttributes, int, int, android.media.audiopolicy.AudioPolicy) throws java.lang.IllegalArgumentException;
|
||||
method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int requestAudioFocus(@NonNull android.media.AudioFocusRequest, @Nullable android.media.audiopolicy.AudioPolicy);
|
||||
method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setActiveAssistantServiceUids(@NonNull java.util.List<java.lang.Integer>);
|
||||
method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setActiveAssistantServiceUids(@NonNull int[]);
|
||||
method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setAdditionalOutputDeviceDelay(@NonNull android.media.AudioDeviceInfo, @IntRange(from=0) long);
|
||||
method public void setAudioServerStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.AudioServerStateCallback);
|
||||
method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setDeviceVolumeBehavior(@NonNull android.media.AudioDeviceAttributes, int);
|
||||
|
||||
@@ -91,7 +91,6 @@ import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.Executor;
|
||||
import java.util.concurrent.Executors;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* AudioManager provides access to volume and ringer mode control.
|
||||
@@ -8349,100 +8348,97 @@ public class AudioManager {
|
||||
}
|
||||
|
||||
/**
|
||||
* Add UID's that can be considered as assistant.
|
||||
* Add UIDs that can be considered as assistant.
|
||||
*
|
||||
* @param assistantUids UID's of the services that can be considered as assistant.
|
||||
* @param assistantUids UIDs of the services that can be considered as assistant.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING)
|
||||
public void addAssistantServicesUids(@NonNull List<Integer> assistantUids) {
|
||||
public void addAssistantServicesUids(@NonNull int[] assistantUids) {
|
||||
try {
|
||||
getService().addAssistantServicesUids(assistantUids.stream()
|
||||
.mapToInt(Integer::intValue).toArray());
|
||||
getService().addAssistantServicesUids(assistantUids);
|
||||
} catch (RemoteException e) {
|
||||
throw e.rethrowFromSystemServer();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove UID's that can be considered as assistant.
|
||||
* Remove UIDs that can be considered as assistant.
|
||||
*
|
||||
* @param assistantUids UID'S of the services that should be remove.
|
||||
* @param assistantUids UIDs of the services that should be remove.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING)
|
||||
public void removeAssistantServicesUids(@NonNull List<Integer> assistantUids) {
|
||||
public void removeAssistantServicesUids(@NonNull int[] assistantUids) {
|
||||
try {
|
||||
getService().removeAssistantServicesUids(assistantUids.stream()
|
||||
.mapToInt(Integer::intValue).toArray());
|
||||
getService().removeAssistantServicesUids(assistantUids);
|
||||
} catch (RemoteException e) {
|
||||
throw e.rethrowFromSystemServer();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the list of assistants UIDs that been added with the
|
||||
* {@link #addAssistantServicesUids(List)} (List)} and not yet removed with
|
||||
* {@link #removeAssistantServicesUids(List)}
|
||||
* Get the assistants UIDs that been added with the
|
||||
* {@link #addAssistantServicesUids(int[])} and not yet removed with
|
||||
* {@link #removeAssistantServicesUids(int[])}
|
||||
*
|
||||
* @return list of assistants UID's
|
||||
* @return array of assistants UIDs
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING)
|
||||
public @NonNull List<Integer> getAssistantServicesUids() {
|
||||
public @NonNull int[] getAssistantServicesUids() {
|
||||
try {
|
||||
int[] uids = getService().getAssistantServicesUids();
|
||||
return Arrays.stream(uids).boxed().collect(Collectors.toList());
|
||||
return Arrays.copyOf(uids, uids.length);
|
||||
} catch (RemoteException e) {
|
||||
throw e.rethrowFromSystemServer();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets UID's that can be considered as active assistant. Calling the API with a new list will
|
||||
* overwrite previous list. If the list of UIDs is empty then no UID will be considered active.
|
||||
* In this manner calling the API with an empty list will remove all UID's previously set.
|
||||
* Sets UIDs that can be considered as active assistant. Calling the API with a new array will
|
||||
* overwrite previous UIDs. If the array of UIDs is empty then no UID will be considered active.
|
||||
* In this manner calling the API with an empty array will remove all UIDs previously set.
|
||||
*
|
||||
* @param assistantUids UID'S of the services that can be considered active assistant. Can be
|
||||
* an empty list, for this no UID will be considered active.
|
||||
* @param assistantUids UIDs of the services that can be considered active assistant. Can be
|
||||
* an empty array, for this no UID will be considered active.
|
||||
*
|
||||
* <p> Note that during audio service crash reset and after boot up the list of active assistant
|
||||
* UID's will be reset to an empty list (i.e. no UID will be considered as an active assistant).
|
||||
* UIDs will be reset to an empty list (i.e. no UID will be considered as an active assistant).
|
||||
* Just after user switch the list of active assistant will also reset to empty.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING)
|
||||
public void setActiveAssistantServiceUids(@NonNull List<Integer> assistantUids) {
|
||||
public void setActiveAssistantServiceUids(@NonNull int[] assistantUids) {
|
||||
try {
|
||||
getService().setActiveAssistantServiceUids(assistantUids.stream()
|
||||
.mapToInt(Integer::intValue).toArray());
|
||||
getService().setActiveAssistantServiceUids(assistantUids);
|
||||
} catch (RemoteException e) {
|
||||
throw e.rethrowFromSystemServer();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the list of active assistant UIDs last set with the
|
||||
* {@link #setActiveAssistantServiceUids(List)}
|
||||
* Get active assistant UIDs last set with the
|
||||
* {@link #setActiveAssistantServiceUids(int[])}
|
||||
*
|
||||
* @return list of active assistants UID's
|
||||
* @return array of active assistants UIDs
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING)
|
||||
public @NonNull List<Integer> getActiveAssistantServicesUids() {
|
||||
public @NonNull int[] getActiveAssistantServicesUids() {
|
||||
try {
|
||||
int[] uids = getService().getActiveAssistantServiceUids();
|
||||
return Arrays.stream(uids).boxed().collect(Collectors.toList());
|
||||
return Arrays.copyOf(uids, uids.length);
|
||||
} catch (RemoteException e) {
|
||||
throw e.rethrowFromSystemServer();
|
||||
}
|
||||
|
||||
@@ -11279,6 +11279,7 @@ public class AudioService extends IAudioService.Stub
|
||||
@Override
|
||||
public void setActiveAssistantServiceUids(int [] activeAssistantUids) {
|
||||
enforceModifyAudioRoutingPermission();
|
||||
Objects.requireNonNull(activeAssistantUids);
|
||||
synchronized (mSettingsLock) {
|
||||
mActiveAssistantServiceUids = activeAssistantUids;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user