Revert "Fix the bug that camera can't open again after disconnected"
This reverts commit 03e6dacb31332de191a1190a6b6f7d948f6536ef.
Change-Id: I469085d6993a6005f3487a3a33327bdaac498993
diff --git a/camera2/portability/src/com/android/ex/camera2/portability/AndroidCameraAgentImpl.java b/camera2/portability/src/com/android/ex/camera2/portability/AndroidCameraAgentImpl.java
index a911168..1064d29 100644
--- a/camera2/portability/src/com/android/ex/camera2/portability/AndroidCameraAgentImpl.java
+++ b/camera2/portability/src/com/android/ex/camera2/portability/AndroidCameraAgentImpl.java
@@ -349,16 +349,13 @@
public void handleMessage(final Message msg) {
super.handleMessage(msg);
- int cameraAction = msg.what;
- // We allow OPEN_CAMERA action to proceed even if the camera may be in an invalid state.
- // Otherwise, previous failed camera actions with RuntimeException would cause the
- // camera can't be opened ever again.
- if (getCameraState().isInvalid() && cameraAction != CameraActions.OPEN_CAMERA) {
+ if (getCameraState().isInvalid()) {
Log.v(TAG, "Skip handleMessage - action = '" + CameraActions.stringify(msg.what) + "'");
return;
}
Log.v(TAG, "handleMessage - action = '" + CameraActions.stringify(msg.what) + "'");
+ int cameraAction = msg.what;
try {
switch (cameraAction) {
case CameraActions.OPEN_CAMERA: {
@@ -382,7 +379,6 @@
mCamera.setErrorCallback(this);
- mCameraState.setValid();
mCameraState.setState(AndroidCameraStateHolder.CAMERA_IDLE);
if (openCallback != null) {
CameraProxy cameraProxy = new AndroidCameraProxyImpl(
diff --git a/camera2/portability/src/com/android/ex/camera2/portability/CameraStateHolder.java b/camera2/portability/src/com/android/ex/camera2/portability/CameraStateHolder.java
index 65052e6..b758af2 100644
--- a/camera2/portability/src/com/android/ex/camera2/portability/CameraStateHolder.java
+++ b/camera2/portability/src/com/android/ex/camera2/portability/CameraStateHolder.java
@@ -59,20 +59,13 @@
}
/**
- * Change the state to be invalid.
+ * Change the state to be invalid. Once invalidated, the state will be invalid forever.
*/
public synchronized void invalidate() {
mInvalid = true;
}
/**
- * Change the state to be valid.
- */
- public synchronized void setValid() {
- mInvalid = false;
- }
-
- /**
* Whether the state is invalid.
*
* @return True if the state is invalid.