add integration test for setPlaySounds

pull/143/head
xp-vit 8 years ago
parent d765e3a561
commit 7896268e29
  1. 21
      cameraview/src/androidTest/java/com/otaliastudios/cameraview/IntegrationTest.java
  2. 1
      cameraview/src/main/java/com/otaliastudios/cameraview/CameraController.java
  3. 5
      cameraview/src/main/java/com/otaliastudios/cameraview/CameraView.java

@ -3,6 +3,8 @@ package com.otaliastudios.cameraview;
import android.graphics.Bitmap;
import android.graphics.PointF;
import android.hardware.Camera;
import android.os.Build;
import android.support.test.filters.MediumTest;
import android.support.test.rule.ActivityTestRule;
import android.support.test.runner.AndroidJUnit4;
@ -364,6 +366,25 @@ public class IntegrationTest extends BaseTest {
// This also ensures there are no crashes when attaching it to camera parameters.
}
@Test
public void testSetPlaySounds() {
controller.mPlaySoundsTask.listen();
boolean oldValue = camera.getPlaySounds();
boolean newValue = !oldValue;
camera.setPlaySounds(newValue);
controller.mPlaySoundsTask.await(300);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
Camera.CameraInfo info = new Camera.CameraInfo();
Camera.getCameraInfo(camera.getCameraId(), info);
if (info.canDisableShutterSound) {
assertEquals(newValue, camera.getPlaySounds());
}
} else {
assertEquals(oldValue, camera.getPlaySounds());
}
}
//endregion
//region testSetVideoQuality

@ -78,6 +78,7 @@ abstract class CameraController implements
Task<Void> mLocationTask = new Task<>();
Task<Void> mVideoQualityTask = new Task<>();
Task<Void> mStartVideoTask = new Task<>();
Task<Void> mPlaySoundsTask = new Task<>();
CameraController(CameraView.CameraCallbacks callback) {
mCameraCallbacks = callback;

@ -1706,5 +1706,10 @@ public class CameraView extends FrameLayout {
return mCameraController.getFlash();
}
/* for tests */int getCameraId(){
return mCameraController.mCameraId;
}
//endregion
}

Loading…
Cancel
Save