summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/CameraHolder.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/camera/CameraHolder.java')
-rwxr-xr-xsrc/com/android/camera/CameraHolder.java24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/com/android/camera/CameraHolder.java b/src/com/android/camera/CameraHolder.java
index d5167af5b..6d5ef1ab8 100755
--- a/src/com/android/camera/CameraHolder.java
+++ b/src/com/android/camera/CameraHolder.java
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2009 The Android Open Source Project
+ * 2015 The CyanogenMod Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -30,8 +31,11 @@ import android.os.Looper;
import android.os.Message;
import android.util.Log;
+import com.android.camera.app.CameraApp;
import com.android.camera.CameraManager.CameraProxy;
+import org.codeaurora.snapcam.R;
+
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
@@ -233,6 +237,9 @@ public class CameraHolder {
public synchronized CameraProxy open(
Handler handler, int cameraId,
CameraManager.CameraOpenErrorCallback cb) {
+
+ Context context = CameraApp.getContext();
+
if (DEBUG_OPEN_RELEASE) {
collectState(cameraId, mCameraDevice);
if (mCameraOpened) {
@@ -265,6 +272,23 @@ public class CameraHolder {
}
mCameraId = cameraId;
mParameters = mCameraDevice.getCamera().getParameters();
+
+ // Manufacturer specific key values
+ String manufacturerKeyValues =
+ context.getResources().getString(R.string.manufacturer_key_values);
+ if (manufacturerKeyValues != null && !manufacturerKeyValues.isEmpty()) {
+ String[] keyValuesArray = manufacturerKeyValues.split(";");
+ for (String kvPair : keyValuesArray) {
+ String[] manufacturerParamPair = kvPair.split("=");
+ if (!manufacturerParamPair[0].isEmpty() &&
+ !manufacturerParamPair[1].isEmpty()) {
+ Log.d(TAG, "Set manufacturer specific parameter " +
+ manufacturerParamPair[0] + "=" + manufacturerParamPair[1]);
+ mParameters.set(manufacturerParamPair[0], manufacturerParamPair[1]);
+ }
+ }
+ mCameraDevice.setParameters(mParameters);
+ }
} else {
if (!mCameraDevice.reconnect(handler, cb)) {
Log.e(TAG, "fail to reconnect Camera:" + mCameraId + ", aborting.");