Loading core/java/android/hardware/camera2/CameraExtensionCharacteristics.java +10 −6 Original line number Diff line number Diff line Loading @@ -52,6 +52,7 @@ import android.util.Log; import android.util.Pair; import android.util.Range; import android.util.Size; import android.util.SparseArray; import com.android.internal.camera.flags.Flags; Loading Loading @@ -819,21 +820,24 @@ public final class CameraExtensionCharacteristics { */ public @NonNull List<Integer> getSupportedExtensions() { ArrayList<Integer> ret = new ArrayList<>(); final IBinder token = new Binder(TAG + "#getSupportedExtensions:" + mCameraId); IntArray extensionList = new IntArray(EXTENSION_LIST.length); extensionList.addAll(EXTENSION_LIST); SparseArray<IBinder> tokens = new SparseArray<>(); for (int extensionType : extensionList.toArray()) { try { for (int extensionType : extensionList.toArray()) { final IBinder token = new Binder(TAG + "#getSupportedExtensions:" + mCameraId); boolean success = registerClient(mContext, token, extensionType, mCameraId, mCharacteristicsMapNative); if (success && isExtensionSupported(mCameraId, extensionType, mCharacteristicsMapNative)) { ret.add(extensionType); tokens.put(extensionType, token); } } } finally { unregisterClient(mContext, token, extensionType); for (int i = 0; i < tokens.size(); i++) { unregisterClient(mContext, tokens.valueAt(i), tokens.keyAt(i)); } } Loading Loading
core/java/android/hardware/camera2/CameraExtensionCharacteristics.java +10 −6 Original line number Diff line number Diff line Loading @@ -52,6 +52,7 @@ import android.util.Log; import android.util.Pair; import android.util.Range; import android.util.Size; import android.util.SparseArray; import com.android.internal.camera.flags.Flags; Loading Loading @@ -819,21 +820,24 @@ public final class CameraExtensionCharacteristics { */ public @NonNull List<Integer> getSupportedExtensions() { ArrayList<Integer> ret = new ArrayList<>(); final IBinder token = new Binder(TAG + "#getSupportedExtensions:" + mCameraId); IntArray extensionList = new IntArray(EXTENSION_LIST.length); extensionList.addAll(EXTENSION_LIST); SparseArray<IBinder> tokens = new SparseArray<>(); for (int extensionType : extensionList.toArray()) { try { for (int extensionType : extensionList.toArray()) { final IBinder token = new Binder(TAG + "#getSupportedExtensions:" + mCameraId); boolean success = registerClient(mContext, token, extensionType, mCameraId, mCharacteristicsMapNative); if (success && isExtensionSupported(mCameraId, extensionType, mCharacteristicsMapNative)) { ret.add(extensionType); tokens.put(extensionType, token); } } } finally { unregisterClient(mContext, token, extensionType); for (int i = 0; i < tokens.size(); i++) { unregisterClient(mContext, tokens.valueAt(i), tokens.keyAt(i)); } } Loading