diff options
Diffstat (limited to 'v1/src/main/java/com/xtremelabs/robolectric/shadows/ShadowAudioManager.java')
-rw-r--r-- | v1/src/main/java/com/xtremelabs/robolectric/shadows/ShadowAudioManager.java | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/v1/src/main/java/com/xtremelabs/robolectric/shadows/ShadowAudioManager.java b/v1/src/main/java/com/xtremelabs/robolectric/shadows/ShadowAudioManager.java new file mode 100644 index 000000000..5f3de9221 --- /dev/null +++ b/v1/src/main/java/com/xtremelabs/robolectric/shadows/ShadowAudioManager.java @@ -0,0 +1,93 @@ +package com.xtremelabs.robolectric.shadows; + +import android.media.AudioManager; +import com.xtremelabs.robolectric.internal.Implementation; +import com.xtremelabs.robolectric.internal.Implements; + +@SuppressWarnings({"UnusedDeclaration"}) +@Implements(AudioManager.class) +public class ShadowAudioManager { + + private int streamMaxVolume = 15; + private int streamVolume = 7; + private int flags; + private AudioFocusRequest lastAudioFocusRequest; + private int nextResponseValue = AudioManager.AUDIOFOCUS_REQUEST_GRANTED; + private AudioManager.OnAudioFocusChangeListener lastAbandonedAudioFocusListener; + + @Implementation + public int getStreamMaxVolume(int streamType) { + return streamMaxVolume; + } + + @Implementation + public int getStreamVolume(int streamType) { + return streamVolume; + } + + @Implementation + public void setStreamVolume(int streamType, int index, int flags) { + this.streamVolume = index; + this.flags = flags; + } + + @Implementation + public int requestAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener l, int streamType, int durationHint) { + lastAudioFocusRequest = new AudioFocusRequest(l, streamType, durationHint); + return nextResponseValue; + } + + @Implementation + public int abandonAudioFocus(AudioManager.OnAudioFocusChangeListener l) { + lastAbandonedAudioFocusListener = l; + return nextResponseValue; + } + + public int getStreamMaxVolume() { + return streamMaxVolume; + } + + public void setStreamMaxVolume(int streamMaxVolume) { + this.streamMaxVolume = streamMaxVolume; + } + + public int getStreamVolume() { + return streamVolume; + } + + public void setStreamVolume(int streamVolume) { + this.streamVolume = streamVolume; + } + + public int getFlags() { + return flags; + } + + public void setFlags(int flags) { + this.flags = flags; + } + + public AudioFocusRequest getLastAudioFocusRequest() { + return lastAudioFocusRequest; + } + + public void setNextFocusRequestResponse(int nextResponseValue) { + this.nextResponseValue = nextResponseValue; + } + + public AudioManager.OnAudioFocusChangeListener getLastAbandonedAudioFocusListener() { + return lastAbandonedAudioFocusListener; + } + + public static class AudioFocusRequest { + public final AudioManager.OnAudioFocusChangeListener listener; + public final int streamType; + public final int durationHint; + + private AudioFocusRequest(AudioManager.OnAudioFocusChangeListener listener, int streamType, int durationHint) { + this.listener = listener; + this.streamType = streamType; + this.durationHint = durationHint; + } + } +} |