diff options
author | 2024-08-08 20:06:56 +0000 | |
---|---|---|
committer | 2024-08-12 19:07:55 +0000 | |
commit | 35efed6c2265eb91fd07477726484089b9c6aafc (patch) | |
tree | 53a5bfd90fc67b2fbcda41bd0696eb0a894db08e | |
parent | 30ff6173755e0658b23380a6a07622166ec60ad9 (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.java | 4 |
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; |