summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorcodeworkx <codeworkx@cyanogenmod.org>2016-01-05 23:35:42 +0100
committerArne Coucheron <arco68@gmail.com>2018-01-26 01:01:01 +0100
commitd81de0d9b5a3b34a5356dd9b980adbfecc7e8f29 (patch)
tree4768630ba29c8900a688bc53b72753ec97b15342 /src
parent021b55f760f74d0d3f2054574df5336e6194b35a (diff)
downloadandroid_packages_apps_Snap-d81de0d9b5a3b34a5356dd9b980adbfecc7e8f29.tar.gz
android_packages_apps_Snap-d81de0d9b5a3b34a5356dd9b980adbfecc7e8f29.tar.bz2
android_packages_apps_Snap-d81de0d9b5a3b34a5356dd9b980adbfecc7e8f29.zip
option to set manufacturer specific parameters on startup
Change-Id: If734a7f4c25465876e657926700763b9169d786e
Diffstat (limited to 'src')
-rw-r--r--src/com/android/camera/CameraHolder.java22
-rw-r--r--src/com/android/camera/app/CameraApp.java9
2 files changed, 31 insertions, 0 deletions
diff --git a/src/com/android/camera/CameraHolder.java b/src/com/android/camera/CameraHolder.java
index 0797fad44..086d211e2 100644
--- 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.
@@ -18,6 +19,7 @@ package com.android.camera;
import static com.android.camera.util.CameraUtil.Assert;
+import android.content.Context;
import android.hardware.Camera.CameraInfo;
import android.hardware.Camera.Parameters;
import android.os.Build;
@@ -26,6 +28,9 @@ import android.os.HandlerThread;
import android.os.Looper;
import android.os.Message;
import android.util.Log;
+import org.codeaurora.snapcam.R;
+
+import com.android.camera.app.CameraApp;
import com.android.camera.CameraManager.CameraProxy;
@@ -191,6 +196,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) {
@@ -223,6 +231,20 @@ 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.");
diff --git a/src/com/android/camera/app/CameraApp.java b/src/com/android/camera/app/CameraApp.java
index 837e22cd1..3a631ece1 100644
--- a/src/com/android/camera/app/CameraApp.java
+++ b/src/com/android/camera/app/CameraApp.java
@@ -18,6 +18,7 @@ package com.android.camera.app;
import android.app.ActivityManager;
import android.app.Application;
+import android.content.Context;
import com.android.camera.SDCard;
import com.android.camera.util.CameraUtil;
@@ -28,9 +29,12 @@ public class CameraApp extends Application {
private static long mMaxSystemMemory;
public static boolean mIsLowMemoryDevice = false;
private static final long LOW_MEMORY_DEVICE_THRESHOLD = 2L*1024*1024*1024;
+ private static Application mApp = null;
+
@Override
public void onCreate() {
super.onCreate();
+ mApp = this;
ActivityManager actManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
ActivityManager.MemoryInfo memInfo = new ActivityManager.MemoryInfo();
actManager.getMemoryInfo(memInfo);
@@ -43,5 +47,10 @@ public class CameraApp extends Application {
CameraUtil.initialize(this);
SDCard.initialize(this);
}
+
+ public static Context getContext()
+ {
+ return mApp.getApplicationContext();
+ }
}