Loading app/src/main/java/net/sourceforge/opencamera/cameracontroller/CameraController2.java +24 −2 Original line number Diff line number Diff line Loading @@ -871,12 +871,22 @@ public class CameraController2 extends CameraController { } private void setAutoExposureLock(CaptureRequest.Builder builder) { if( sessionType == SessionType.SESSIONTYPE_EXTENSION ) { // don't set for extensions } else { builder.set(CaptureRequest.CONTROL_AE_LOCK, ae_lock); } } private void setAutoWhiteBalanceLock(CaptureRequest.Builder builder) { if( sessionType == SessionType.SESSIONTYPE_EXTENSION ) { // don't set for extensions } else { builder.set(CaptureRequest.CONTROL_AWB_LOCK, wb_lock); } } private void setAFRegions(CaptureRequest.Builder builder) { if( af_regions != null && characteristics.get(CameraCharacteristics.CONTROL_MAX_REGIONS_AF) > 0 ) { Loading Loading @@ -4972,6 +4982,9 @@ public class CameraController2 extends CameraController { @Override public void setAutoExposureLock(boolean enabled) { if( enabled ) { BLOCK_FOR_EXTENSIONS(); } camera_settings.ae_lock = enabled; camera_settings.setAutoExposureLock(previewBuilder); try { Loading @@ -4996,6 +5009,9 @@ public class CameraController2 extends CameraController { @Override public void setAutoWhiteBalanceLock(boolean enabled) { if( enabled ) { BLOCK_FOR_EXTENSIONS(); } camera_settings.wb_lock = enabled; camera_settings.setAutoWhiteBalanceLock(previewBuilder); try { Loading Loading @@ -5493,6 +5509,12 @@ public class CameraController2 extends CameraController { else if( camera_settings.sensor_frame_duration > 0 ) { throw new RuntimeException("sensor_frame_duration not supported for extension session"); } else if( camera_settings.ae_lock ) { throw new RuntimeException("ae_lock not supported for extension session"); } else if( camera_settings.wb_lock ) { throw new RuntimeException("wb_lock not supported for extension session"); } } try { Loading app/src/main/java/net/sourceforge/opencamera/preview/Preview.java +4 −0 Original line number Diff line number Diff line Loading @@ -1912,6 +1912,10 @@ public class Preview implements SurfaceHolder.Callback, TextureView.SurfaceTextu } supported_flash_values = new_supported_flash_values; } // and disable ae and awb lock (as normally we don't set this when stopping/starting preview) camera_controller.setAutoExposureLock(false); camera_controller.setAutoWhiteBalanceLock(false); } else { camera_controller.setCameraExtension(false, 0); Loading app/src/main/java/net/sourceforge/opencamera/ui/MainUI.java +8 −0 Original line number Diff line number Diff line Loading @@ -1181,6 +1181,10 @@ public class MainUI { public boolean showExposureLockIcon() { if( !main_activity.getPreview().supportsExposureLock() ) return false; if( main_activity.getApplicationInterface().isCameraExtensionPref() ) { // not supported for camera extensions return false; } SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(main_activity); return sharedPreferences.getBoolean(PreferenceKeys.ShowExposureLockPreferenceKey, true); } Loading @@ -1188,6 +1192,10 @@ public class MainUI { public boolean showWhiteBalanceLockIcon() { if( !main_activity.getPreview().supportsWhiteBalanceLock() ) return false; if( main_activity.getApplicationInterface().isCameraExtensionPref() ) { // not supported for camera extensions return false; } SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(main_activity); return sharedPreferences.getBoolean(PreferenceKeys.ShowWhiteBalanceLockPreferenceKey, false); } Loading Loading
app/src/main/java/net/sourceforge/opencamera/cameracontroller/CameraController2.java +24 −2 Original line number Diff line number Diff line Loading @@ -871,12 +871,22 @@ public class CameraController2 extends CameraController { } private void setAutoExposureLock(CaptureRequest.Builder builder) { if( sessionType == SessionType.SESSIONTYPE_EXTENSION ) { // don't set for extensions } else { builder.set(CaptureRequest.CONTROL_AE_LOCK, ae_lock); } } private void setAutoWhiteBalanceLock(CaptureRequest.Builder builder) { if( sessionType == SessionType.SESSIONTYPE_EXTENSION ) { // don't set for extensions } else { builder.set(CaptureRequest.CONTROL_AWB_LOCK, wb_lock); } } private void setAFRegions(CaptureRequest.Builder builder) { if( af_regions != null && characteristics.get(CameraCharacteristics.CONTROL_MAX_REGIONS_AF) > 0 ) { Loading Loading @@ -4972,6 +4982,9 @@ public class CameraController2 extends CameraController { @Override public void setAutoExposureLock(boolean enabled) { if( enabled ) { BLOCK_FOR_EXTENSIONS(); } camera_settings.ae_lock = enabled; camera_settings.setAutoExposureLock(previewBuilder); try { Loading @@ -4996,6 +5009,9 @@ public class CameraController2 extends CameraController { @Override public void setAutoWhiteBalanceLock(boolean enabled) { if( enabled ) { BLOCK_FOR_EXTENSIONS(); } camera_settings.wb_lock = enabled; camera_settings.setAutoWhiteBalanceLock(previewBuilder); try { Loading Loading @@ -5493,6 +5509,12 @@ public class CameraController2 extends CameraController { else if( camera_settings.sensor_frame_duration > 0 ) { throw new RuntimeException("sensor_frame_duration not supported for extension session"); } else if( camera_settings.ae_lock ) { throw new RuntimeException("ae_lock not supported for extension session"); } else if( camera_settings.wb_lock ) { throw new RuntimeException("wb_lock not supported for extension session"); } } try { Loading
app/src/main/java/net/sourceforge/opencamera/preview/Preview.java +4 −0 Original line number Diff line number Diff line Loading @@ -1912,6 +1912,10 @@ public class Preview implements SurfaceHolder.Callback, TextureView.SurfaceTextu } supported_flash_values = new_supported_flash_values; } // and disable ae and awb lock (as normally we don't set this when stopping/starting preview) camera_controller.setAutoExposureLock(false); camera_controller.setAutoWhiteBalanceLock(false); } else { camera_controller.setCameraExtension(false, 0); Loading
app/src/main/java/net/sourceforge/opencamera/ui/MainUI.java +8 −0 Original line number Diff line number Diff line Loading @@ -1181,6 +1181,10 @@ public class MainUI { public boolean showExposureLockIcon() { if( !main_activity.getPreview().supportsExposureLock() ) return false; if( main_activity.getApplicationInterface().isCameraExtensionPref() ) { // not supported for camera extensions return false; } SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(main_activity); return sharedPreferences.getBoolean(PreferenceKeys.ShowExposureLockPreferenceKey, true); } Loading @@ -1188,6 +1192,10 @@ public class MainUI { public boolean showWhiteBalanceLockIcon() { if( !main_activity.getPreview().supportsWhiteBalanceLock() ) return false; if( main_activity.getApplicationInterface().isCameraExtensionPref() ) { // not supported for camera extensions return false; } SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(main_activity); return sharedPreferences.getBoolean(PreferenceKeys.ShowWhiteBalanceLockPreferenceKey, false); } Loading