diff --git a/cameraview/src/main/java/com/otaliastudios/cameraview/engine/orchestrator/CameraOrchestrator.java b/cameraview/src/main/java/com/otaliastudios/cameraview/engine/orchestrator/CameraOrchestrator.java index a9afaaa3..df7dc8a8 100644 --- a/cameraview/src/main/java/com/otaliastudios/cameraview/engine/orchestrator/CameraOrchestrator.java +++ b/cameraview/src/main/java/com/otaliastudios/cameraview/engine/orchestrator/CameraOrchestrator.java @@ -59,7 +59,7 @@ public class CameraOrchestrator { protected final ArrayDeque mJobs = new ArrayDeque<>(); protected final Object mLock = new Object(); private final Map mDelayedJobs = new HashMap<>(); - private boolean released = false; + private boolean mIsReleased = false; public CameraOrchestrator(@NonNull Callback callback) { mCallback = callback; @@ -82,12 +82,13 @@ public class CameraOrchestrator { public void release(){ mJobs.clear(); mDelayedJobs.clear(); + reset(); - released = true; + mIsReleased = true; } public boolean isReleased(){ - return released; + return mIsReleased; } @SuppressWarnings("unchecked") @@ -99,7 +100,7 @@ public class CameraOrchestrator { final TaskCompletionSource source = new TaskCompletionSource<>(); final WorkerHandler handler = mCallback.getJobWorker(name); synchronized (mLock) { - if(released){ + if(isReleased()){ return source.getTask(); } @@ -152,7 +153,9 @@ public class CameraOrchestrator { public void scheduleDelayed(@NonNull final String name, long minDelay, @NonNull final Runnable runnable) { - if(released) return; + if(mIsReleased) { + return; + } Runnable wrapper = new Runnable() { @Override @@ -187,7 +190,7 @@ public class CameraOrchestrator { public void reset() { synchronized (mLock) { - released = false; + mIsReleased = false; List all = new ArrayList<>(); //noinspection CollectionAddAllCanBeReplacedWithConstructor all.addAll(mDelayedJobs.keySet());