Merge "Recording activity notification: return list of configuration" into nyc-dev am: c991879f29 am: f2c8fb8620

am: 740c0424f0

* commit '740c0424f0a817746c6071942a6563a603649697':
  Recording activity notification: return list of configuration

Change-Id: I3289964e2ceaeb999803abc1f5d485857a80894b
This commit is contained in:
Jean-Michel Trivi
2016-05-23 21:59:29 +00:00
committed by android-build-merger
11 changed files with 43 additions and 23 deletions

View File

@@ -19691,7 +19691,7 @@ package android.media {
method public void adjustVolume(int, int);
method public void dispatchMediaKeyEvent(android.view.KeyEvent);
method public int generateAudioSessionId();
method public android.media.AudioRecordingConfiguration[] getActiveRecordingConfigurations();
method public java.util.List<android.media.AudioRecordingConfiguration> getActiveRecordingConfigurations();
method public android.media.AudioDeviceInfo[] getDevices(int);
method public int getMode();
method public java.lang.String getParameters(java.lang.String);
@@ -19837,7 +19837,7 @@ package android.media {
public static abstract class AudioManager.AudioRecordingCallback {
ctor public AudioManager.AudioRecordingCallback();
method public void onRecordingConfigChanged(android.media.AudioRecordingConfiguration[]);
method public void onRecordingConfigChanged(java.util.List<android.media.AudioRecordingConfiguration>);
}
public static abstract interface AudioManager.OnAudioFocusChangeListener {

View File

@@ -196,6 +196,10 @@ package android.media {
ctor public AudioFormat();
}
public static abstract class AudioManager.AudioRecordingCallback {
method public deprecated void onRecordingConfigChanged(android.media.AudioRecordingConfiguration[]);
}
}
package android.media.tv {

View File

@@ -21198,7 +21198,7 @@ package android.media {
method public void adjustVolume(int, int);
method public void dispatchMediaKeyEvent(android.view.KeyEvent);
method public int generateAudioSessionId();
method public android.media.AudioRecordingConfiguration[] getActiveRecordingConfigurations();
method public java.util.List<android.media.AudioRecordingConfiguration> getActiveRecordingConfigurations();
method public android.media.AudioDeviceInfo[] getDevices(int);
method public int getMode();
method public java.lang.String getParameters(java.lang.String);
@@ -21352,7 +21352,7 @@ package android.media {
public static abstract class AudioManager.AudioRecordingCallback {
ctor public AudioManager.AudioRecordingCallback();
method public void onRecordingConfigChanged(android.media.AudioRecordingConfiguration[]);
method public void onRecordingConfigChanged(java.util.List<android.media.AudioRecordingConfiguration>);
}
public static abstract interface AudioManager.OnAudioFocusChangeListener {

View File

@@ -194,6 +194,10 @@ package android.media {
ctor public AudioFormat();
}
public static abstract class AudioManager.AudioRecordingCallback {
method public deprecated void onRecordingConfigChanged(android.media.AudioRecordingConfiguration[]);
}
}
package android.media.tv {

View File

@@ -19761,7 +19761,7 @@ package android.media {
method public void adjustVolume(int, int);
method public void dispatchMediaKeyEvent(android.view.KeyEvent);
method public int generateAudioSessionId();
method public android.media.AudioRecordingConfiguration[] getActiveRecordingConfigurations();
method public java.util.List<android.media.AudioRecordingConfiguration> getActiveRecordingConfigurations();
method public android.media.AudioDeviceInfo[] getDevices(int);
method public int getMode();
method public java.lang.String getParameters(java.lang.String);
@@ -19907,7 +19907,7 @@ package android.media {
public static abstract class AudioManager.AudioRecordingCallback {
ctor public AudioManager.AudioRecordingCallback();
method public void onRecordingConfigChanged(android.media.AudioRecordingConfiguration[]);
method public void onRecordingConfigChanged(java.util.List<android.media.AudioRecordingConfiguration>);
}
public static abstract interface AudioManager.OnAudioFocusChangeListener {

View File

@@ -196,6 +196,10 @@ package android.media {
ctor public AudioFormat();
}
public static abstract class AudioManager.AudioRecordingCallback {
method public deprecated void onRecordingConfigChanged(android.media.AudioRecordingConfiguration[]);
}
}
package android.media.tv {

View File

@@ -2746,12 +2746,19 @@ public class AudioManager {
* configuration.
*/
public static abstract class AudioRecordingCallback {
/**
* This method is deprecated, override {@link #onRecordingConfigChanged(List)} instead.
* @param configs
* @removed
*/
@Deprecated
public void onRecordingConfigChanged(AudioRecordingConfiguration[] configs) {}
/**
* Called whenever the device recording configuration has changed.
* @param configs array containing the results of
* @param configs list containing the results of
* {@link AudioManager#getActiveRecordingConfigurations()}.
*/
public void onRecordingConfigChanged(AudioRecordingConfiguration[] configs) {}
public void onRecordingConfigChanged(List<AudioRecordingConfiguration> configs) {}
}
private static class AudioRecordingCallbackInfo {
@@ -2765,10 +2772,10 @@ public class AudioManager {
private final static class RecordConfigChangeCallbackData {
final AudioRecordingCallback mCb;
final AudioRecordingConfiguration[] mConfigs;
final List<AudioRecordingConfiguration> mConfigs;
RecordConfigChangeCallbackData(AudioRecordingCallback cb,
AudioRecordingConfiguration[] configs) {
List<AudioRecordingConfiguration> configs) {
mCb = cb;
mConfigs = configs;
}
@@ -2848,10 +2855,10 @@ public class AudioManager {
/**
* Returns the current active audio recording configurations of the device.
* @return a non-null array of recording configurations. An array of length 0 indicates there is
* @return a non-null list of recording configurations. An empty list indicates there is
* no recording active when queried.
*/
public @NonNull AudioRecordingConfiguration[] getActiveRecordingConfigurations() {
public @NonNull List<AudioRecordingConfiguration> getActiveRecordingConfigurations() {
final IAudioService service = getService();
try {
return service.getActiveRecordingConfigurations();
@@ -2909,7 +2916,7 @@ public class AudioManager {
private final IRecordingConfigDispatcher mRecCb = new IRecordingConfigDispatcher.Stub() {
public void dispatchRecordingConfigChange(AudioRecordingConfiguration[] configs) {
public void dispatchRecordingConfigChange(List<AudioRecordingConfiguration> configs) {
synchronized(mRecordCallbackLock) {
if (mRecordCallbackList != null) {
for (int i=0 ; i < mRecordCallbackList.size() ; i++) {

View File

@@ -164,5 +164,5 @@ interface IAudioService {
oneway void unregisterRecordingCallback(in IRecordingConfigDispatcher rcdb);
AudioRecordingConfiguration[] getActiveRecordingConfigurations();
List<AudioRecordingConfiguration> getActiveRecordingConfigurations();
}

View File

@@ -25,6 +25,6 @@ import android.media.AudioRecordingConfiguration;
*/
oneway interface IRecordingConfigDispatcher {
void dispatchRecordingConfigChange(in AudioRecordingConfiguration[] configs);
void dispatchRecordingConfigChange(in List<AudioRecordingConfiguration> configs);
}

View File

@@ -6342,7 +6342,7 @@ public class AudioService extends IAudioService.Stub {
mRecordMonitor.unregisterRecordingCallback(rcdb);
}
public AudioRecordingConfiguration[] getActiveRecordingConfigurations() {
public List<AudioRecordingConfiguration> getActiveRecordingConfigurations() {
return mRecordMonitor.getActiveRecordingConfigurations();
}

View File

@@ -29,6 +29,7 @@ import android.util.Log;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
/**
* Class to receive and dispatch updates from AudioSystem about recording configurations.
@@ -54,7 +55,7 @@ public final class RecordingActivityMonitor implements AudioSystem.AudioRecordin
if (MediaRecorder.isSystemOnlyAudioSource(source)) {
return;
}
final AudioRecordingConfiguration[] configs =
final List<AudioRecordingConfiguration> configs =
updateSnapshot(event, session, source, recordingInfo);
if (configs != null){
synchronized(mClients) {
@@ -104,9 +105,9 @@ public final class RecordingActivityMonitor implements AudioSystem.AudioRecordin
}
}
AudioRecordingConfiguration[] getActiveRecordingConfigurations() {
List<AudioRecordingConfiguration> getActiveRecordingConfigurations() {
synchronized(mRecordConfigs) {
return mRecordConfigs.values().toArray(new AudioRecordingConfiguration[0]);
return new ArrayList<AudioRecordingConfiguration>(mRecordConfigs.values());
}
}
@@ -118,13 +119,13 @@ public final class RecordingActivityMonitor implements AudioSystem.AudioRecordin
* @param recordingFormat see
* {@link AudioSystem.AudioRecordingCallback#onRecordingConfigurationChanged(int, int, int, int[])}
* for the definition of the contents of the array
* @return null if the list of active recording sessions has not been modified, an array
* @return null if the list of active recording sessions has not been modified, a list
* with the current active configurations otherwise.
*/
private AudioRecordingConfiguration[] updateSnapshot(int event, int session, int source,
private List<AudioRecordingConfiguration> updateSnapshot(int event, int session, int source,
int[] recordingInfo) {
final boolean configChanged;
final AudioRecordingConfiguration[] configs;
final ArrayList<AudioRecordingConfiguration> configs;
synchronized(mRecordConfigs) {
switch (event) {
case AudioManager.RECORD_CONFIG_EVENT_STOP:
@@ -171,7 +172,7 @@ public final class RecordingActivityMonitor implements AudioSystem.AudioRecordin
configChanged = false;
}
if (configChanged) {
configs = mRecordConfigs.values().toArray(new AudioRecordingConfiguration[0]);
configs = new ArrayList<AudioRecordingConfiguration>(mRecordConfigs.values());
} else {
configs = null;
}