summaryrefslogtreecommitdiff
path: root/src/com/android/camera/CaptureModule.java
diff options
context:
space:
mode:
authorxianming wang <mingwax@codeaurora.org>2017-11-09 17:34:12 +0800
committerxianming wang <mingwax@codeaurora.org>2017-11-09 17:36:58 +0800
commita76e01760ed7bc7d91b7831074c369cfeddd7f09 (patch)
tree9cbd66779679c18cbb95a3ceec99c2b0aac6f9b3 /src/com/android/camera/CaptureModule.java
parentdb126f27692565bba5f45f0523df6449e1654ba2 (diff)
SnapdragonCamera: Add the text "HDR On" when enable AUTO HDR
Add the "HDR On" text on top of screen when enable AUTO HDR. CRs-Fixed: 2140801 Change-Id: I2ca5ae18fcc6b50eea72b880ed6a018c98e1e56e
Diffstat (limited to 'src/com/android/camera/CaptureModule.java')
-rwxr-xr-xsrc/com/android/camera/CaptureModule.java64
1 files changed, 64 insertions, 0 deletions
diff --git a/src/com/android/camera/CaptureModule.java b/src/com/android/camera/CaptureModule.java
index 5ec93ad1f..eeed50a19 100755
--- a/src/com/android/camera/CaptureModule.java
+++ b/src/com/android/camera/CaptureModule.java
@@ -271,6 +271,8 @@ public class CaptureModule implements CameraModule, PhotoController,
private int mOrientation = OrientationEventListener.ORIENTATION_UNKNOWN;
/*Histogram variables*/
private Camera2GraphView mGraphViewR,mGraphViewGB,mGraphViewB;
+ private DrawAutoHDR2 mDrawAutoHDR2;
+ public boolean mAutoHdrEnable;
/*HDR Test*/
private boolean mCaptureHDRTestEnable = false;
boolean mHiston = false;
@@ -907,6 +909,7 @@ public class CaptureModule implements CameraModule, PhotoController,
mGraphViewR = (Camera2GraphView) mRootView.findViewById(R.id.graph_view_r);
mGraphViewGB = (Camera2GraphView) mRootView.findViewById(R.id.graph_view_gb);
mGraphViewB = (Camera2GraphView) mRootView.findViewById(R.id.graph_view_b);
+ mDrawAutoHDR2 = (DrawAutoHDR2 )mRootView.findViewById(R.id.autohdr_view);
mGraphViewR.setDataSection(0,256);
mGraphViewGB.setDataSection(256,512);
mGraphViewB.setDataSection(512,768);
@@ -919,6 +922,9 @@ public class CaptureModule implements CameraModule, PhotoController,
if (mGraphViewB != null){
mGraphViewB.setCaptureModuleObject(this);
}
+ if (mDrawAutoHDR2 != null) {
+ mDrawAutoHDR2.setCaptureModuleObject(this);
+ }
mFirstTimeInitialized = true;
}
@@ -4195,12 +4201,30 @@ public class CaptureModule implements CameraModule, PhotoController,
String autoHdr = mSettingsManager.getValue(SettingsManager.KEY_AUTO_HDR);
if (value == null) return;
int mode = Integer.parseInt(value);
+ mAutoHdrEnable = false;
if (autoHdr != null && "enable".equals(autoHdr) && "0".equals(value)) {
if (mSettingsManager.isHdrScene(getMainCameraId())) {
+ mAutoHdrEnable = true;
request.set(CaptureRequest.CONTROL_SCENE_MODE, CaptureRequest.CONTROL_SCENE_MODE_HDR);
request.set(CaptureRequest.CONTROL_MODE, CaptureRequest.CONTROL_MODE_USE_SCENE_MODE);
+ mActivity.runOnUiThread(new Runnable() {
+ public void run() {
+ if (mDrawAutoHDR2 != null) {
+ mDrawAutoHDR2.setVisibility(View.VISIBLE);
+ mDrawAutoHDR2.AutoHDR();
+ }
+ }
+ });
}
return;
+ } else {
+ mActivity.runOnUiThread( new Runnable() {
+ public void run () {
+ if (mDrawAutoHDR2 != null) {
+ mDrawAutoHDR2.setVisibility (View.INVISIBLE);
+ }
+ }
+ });
}
if(getPostProcFilterId(mode) != PostProcessor.FILTER_NONE || mCaptureHDRTestEnable) {
request.set(CaptureRequest.CONTROL_MODE, CaptureRequest.CONTROL_MODE_USE_SCENE_MODE);
@@ -5197,3 +5221,43 @@ class Camera2GraphView extends View {
mCaptureModule = captureModule;
}
}
+
+class DrawAutoHDR2 extends View{
+
+ private static final String TAG = "AutoHdrView";
+ private CaptureModule mCaptureModule;
+
+ public DrawAutoHDR2 (Context context, AttributeSet attrs) {
+ super(context,attrs);
+ }
+
+ @Override
+ protected void onDraw (Canvas canvas) {
+ if (mCaptureModule == null)
+ return;
+ if (mCaptureModule.mAutoHdrEnable) {
+ Paint autoHDRPaint = new Paint();
+ autoHDRPaint.setColor(Color.WHITE);
+ autoHDRPaint.setAlpha (0);
+ canvas.drawPaint(autoHDRPaint);
+ autoHDRPaint.setStyle(Paint.Style.STROKE);
+ autoHDRPaint.setColor(Color.MAGENTA);
+ autoHDRPaint.setStrokeWidth(1);
+ autoHDRPaint.setTextSize(32);
+ autoHDRPaint.setAlpha (255);
+ canvas.drawText("HDR On",200,100,autoHDRPaint);
+ }
+ else {
+ super.onDraw(canvas);
+ return;
+ }
+ }
+
+ public void AutoHDR () {
+ invalidate();
+ }
+
+ public void setCaptureModuleObject (CaptureModule captureModule) {
+ mCaptureModule = captureModule;
+ }
+} \ No newline at end of file