summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/hardware/camera2/CameraExtensionCharacteristics.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/core/java/android/hardware/camera2/CameraExtensionCharacteristics.java b/core/java/android/hardware/camera2/CameraExtensionCharacteristics.java
index 8e3de616f07b..f0a96a7d481b 100644
--- a/core/java/android/hardware/camera2/CameraExtensionCharacteristics.java
+++ b/core/java/android/hardware/camera2/CameraExtensionCharacteristics.java
@@ -20,6 +20,7 @@ import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
+import android.content.pm.PackageManager;
import android.graphics.ImageFormat;
import android.hardware.camera2.extension.IAdvancedExtenderImpl;
import android.hardware.camera2.extension.ICameraExtensionsProxyService;
@@ -32,6 +33,7 @@ import android.hardware.camera2.params.StreamConfigurationMap;
import android.os.ConditionVariable;
import android.os.IBinder;
import android.os.RemoteException;
+import android.os.SystemProperties;
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.util.Log;
@@ -235,6 +237,19 @@ public final class CameraExtensionCharacteristics {
if (mConnection == null) {
Intent intent = new Intent();
intent.setClassName(PROXY_PACKAGE_NAME, PROXY_SERVICE_NAME);
+ String vendorProxyPackage = SystemProperties.get(
+ "ro.vendor.camera.extensions.package");
+ String vendorProxyService = SystemProperties.get(
+ "ro.vendor.camera.extensions.service");
+ if (!vendorProxyPackage.isEmpty() && !vendorProxyService.isEmpty()) {
+ Log.v(TAG,
+ "Choosing the vendor camera extensions proxy package: "
+ + vendorProxyPackage);
+ Log.v(TAG,
+ "Choosing the vendor camera extensions proxy service: "
+ + vendorProxyService);
+ intent.setClassName(vendorProxyPackage, vendorProxyService);
+ }
mInitFuture = new InitializerFuture();
mConnection = new ServiceConnection() {
@Override