summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Emilian Peev <epeev@google.com> 2024-08-08 20:06:56 +0000
committer Emilian Peev <epeev@google.com> 2024-08-12 19:07:55 +0000
commit35efed6c2265eb91fd07477726484089b9c6aafc (patch)
tree53a5bfd90fc67b2fbcda41bd0696eb0a894db08e
parent30ff6173755e0658b23380a6a07622166ec60ad9 (diff)
CameraExtensionProxy: Cache vendor id map
Extensive camera characteristics queries can be expensive on some devices. The vendor ids are not likely to change once set by camera service so their values can be cached to speed up the extension proxy service initialization. FLAG: EXEMPT trivial optimization Bug: 356964467 Test: Manual using camera extension sample application, Camera CTS Change-Id: Ic450cc593d1afee7351f4ab00d059b58c3d30855
-rw-r--r--packages/services/CameraExtensionsProxy/src/com/android/cameraextensions/CameraExtensionsProxyService.java4
1 files changed, 2 insertions, 2 deletions
diff --git a/packages/services/CameraExtensionsProxy/src/com/android/cameraextensions/CameraExtensionsProxyService.java b/packages/services/CameraExtensionsProxy/src/com/android/cameraextensions/CameraExtensionsProxyService.java
index 2c4bc7cb0d47..aaa293628780 100644
--- a/packages/services/CameraExtensionsProxy/src/com/android/cameraextensions/CameraExtensionsProxyService.java
+++ b/packages/services/CameraExtensionsProxy/src/com/android/cameraextensions/CameraExtensionsProxyService.java
@@ -171,7 +171,7 @@ public class CameraExtensionsProxyService extends Service {
EXTENSIONS_VERSION.startsWith(LATENCY_VERSION_PREFIX) ||
EXTENSIONS_VERSION.startsWith(EFV_VERSION_PREFIX));
- private HashMap<String, Long> mMetadataVendorIdMap = new HashMap<>();
+ private static HashMap<String, Long> mMetadataVendorIdMap = new HashMap<>();
private CameraManager mCameraManager;
private static boolean checkForLatencyAPI() {
@@ -820,7 +820,7 @@ public class CameraExtensionsProxyService extends Service {
mCameraManager = getSystemService(CameraManager.class);
String [] cameraIds = mCameraManager.getCameraIdListNoLazy();
- if (cameraIds != null) {
+ if (cameraIds != null && mMetadataVendorIdMap.isEmpty()) {
for (String cameraId : cameraIds) {
CameraCharacteristics chars = mCameraManager.getCameraCharacteristics(cameraId);
Object thisClass = CameraCharacteristics.Key.class;