支持缩放变焦

This commit is contained in:
jenly1314
2018-11-20 16:30:46 +08:00
parent 14e7ca4738
commit f452c2018e
7 changed files with 73 additions and 35 deletions

View File

@@ -22,6 +22,7 @@ import android.os.AsyncTask;
import android.preference.PreferenceManager;
import android.util.Log;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.Collection;
import java.util.concurrent.RejectedExecutionException;
@@ -66,7 +67,7 @@ final class AutoFocusManager implements Camera.AutoFocusCallback {
private synchronized void autoFocusAgainLater() {
if (!stopped && outstandingTask == null) {
AutoFocusTask newTask = new AutoFocusTask();
AutoFocusTask newTask = new AutoFocusTask(this);
try {
newTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
outstandingTask = newTask;
@@ -116,7 +117,14 @@ final class AutoFocusManager implements Camera.AutoFocusCallback {
}
}
private final class AutoFocusTask extends AsyncTask<Object,Object,Object> {
private static class AutoFocusTask extends AsyncTask<Object,Object,Object> {
private WeakReference<AutoFocusManager> weakReference;
public AutoFocusTask(AutoFocusManager manager){
weakReference = new WeakReference<>(manager);
}
@Override
protected Object doInBackground(Object... voids) {
try {
@@ -124,7 +132,10 @@ final class AutoFocusManager implements Camera.AutoFocusCallback {
} catch (InterruptedException e) {
// continue
}
start();
AutoFocusManager manager = weakReference.get();
if(manager!=null){
manager.start();
}
return null;
}
}