aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build.gradle8
-rw-r--r--src/main/java/com/google/android/mobly/snippet/bundled/AudioSnippet.java13
2 files changed, 18 insertions, 3 deletions
diff --git a/build.gradle b/build.gradle
index 0bb6af3..fe67314 100644
--- a/build.gradle
+++ b/build.gradle
@@ -21,6 +21,14 @@ repositories {
apply plugin: 'com.android.application'
apply plugin: 'me.tatarka.retrolambda'
+allprojects {
+ gradle.projectsEvaluated {
+ tasks.withType(JavaCompile) {
+ options.compilerArgs << "-Xlint:all"
+ }
+ }
+}
+
android {
compileSdkVersion 24
buildToolsVersion "24.0.3"
diff --git a/src/main/java/com/google/android/mobly/snippet/bundled/AudioSnippet.java b/src/main/java/com/google/android/mobly/snippet/bundled/AudioSnippet.java
index 44f2d69..9275fd1 100644
--- a/src/main/java/com/google/android/mobly/snippet/bundled/AudioSnippet.java
+++ b/src/main/java/com/google/android/mobly/snippet/bundled/AudioSnippet.java
@@ -21,6 +21,9 @@ import android.media.AudioManager;
import android.support.test.InstrumentationRegistry;
import com.google.android.mobly.snippet.Snippet;
import com.google.android.mobly.snippet.rpc.Rpc;
+import com.google.android.mobly.snippet.util.Log;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
/* Snippet class to control audio */
public class AudioSnippet implements Snippet {
@@ -72,9 +75,13 @@ public class AudioSnippet implements Snippet {
}
@Rpc(description = "Silences all audio streams.")
- public void muteAll() {
- // TODO: NUM_STREAMS is deprecated. Find a different solution.
- for (int i = 0; i < AudioManager.NUM_STREAMS; i++) {
+ public void muteAll() throws Exception {
+ /* Get numStreams from AudioSystem through reflection. If for some reason this fails,
+ calling muteAll will throw. */
+ Class<?> audioSystem = Class.forName("android.media.AudioSystem");
+ Method getNumStreamTypes = audioSystem.getDeclaredMethod("getNumStreamTypes");
+ int numStreams = (int) getNumStreamTypes.invoke(null);
+ for (int i = 0; i < numStreams; i++) {
mAudioManager.setStreamVolume(i /* audio stream */, 0 /* value */, 0 /* flags */);
}
}