diff options
| author | xianming wang <mingwax@codeaurora.org> | 2017-11-09 17:34:12 +0800 |
|---|---|---|
| committer | xianming wang <mingwax@codeaurora.org> | 2017-11-09 17:36:58 +0800 |
| commit | a76e01760ed7bc7d91b7831074c369cfeddd7f09 (patch) | |
| tree | 9cbd66779679c18cbb95a3ceec99c2b0aac6f9b3 /src/com/android/camera/CaptureModule.java | |
| parent | db126f27692565bba5f45f0523df6449e1654ba2 (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-x | src/com/android/camera/CaptureModule.java | 64 |
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 |
