mirror of
https://github.com/zxing/zxing.git
synced 2025-02-02 05:41:08 -08:00
Add defensive checks for bad setFPS API behavior
This commit is contained in:
parent
9e08da655e
commit
de6e9dbc52
|
@ -28,6 +28,7 @@ import android.view.WindowManager;
|
||||||
import com.google.zxing.client.android.PreferencesActivity;
|
import com.google.zxing.client.android.PreferencesActivity;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
|
@ -93,8 +94,14 @@ final class CameraConfigurationManager {
|
||||||
|
|
||||||
// Required for Glass compatibility; also improves battery/CPU performance a tad
|
// Required for Glass compatibility; also improves battery/CPU performance a tad
|
||||||
List<int[]> supportedPreviewFpsRanges = parameters.getSupportedPreviewFpsRange();
|
List<int[]> supportedPreviewFpsRanges = parameters.getSupportedPreviewFpsRange();
|
||||||
int[] minimumPreviewFpsRange = supportedPreviewFpsRanges.get(0);
|
if (supportedPreviewFpsRanges != null && !supportedPreviewFpsRanges.isEmpty()) {
|
||||||
parameters.setPreviewFpsRange(minimumPreviewFpsRange[0], minimumPreviewFpsRange[1]);
|
int[] currentFpsRange = new int[2];
|
||||||
|
parameters.getPreviewFpsRange(currentFpsRange);
|
||||||
|
int[] minimumPreviewFpsRange = supportedPreviewFpsRanges.get(0);
|
||||||
|
if (!Arrays.equals(currentFpsRange, minimumPreviewFpsRange)) {
|
||||||
|
parameters.setPreviewFpsRange(minimumPreviewFpsRange[0], minimumPreviewFpsRange[1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
String focusMode = null;
|
String focusMode = null;
|
||||||
if (prefs.getBoolean(PreferencesActivity.KEY_AUTO_FOCUS, true)) {
|
if (prefs.getBoolean(PreferencesActivity.KEY_AUTO_FOCUS, true)) {
|
||||||
|
|
Loading…
Reference in a new issue