From 49861b80ec34389e5e900024d33030819568f8e4 Mon Sep 17 00:00:00 2001 From: jiaoyuan Date: Wed, 9 Oct 2019 10:25:45 +0800 Subject: SnapdraongCamera: set mLongshoting false set mLongshoting false when long capture finish Change-Id: If64153b17976552917ef82f04ba9baab4aaf61ee --- src/com/android/camera/CaptureModule.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/com/android/camera/CaptureModule.java b/src/com/android/camera/CaptureModule.java index d4db0b771..f2c3b987b 100755 --- a/src/com/android/camera/CaptureModule.java +++ b/src/com/android/camera/CaptureModule.java @@ -2375,6 +2375,7 @@ public class CaptureModule implements CameraModule, PhotoController, } }); } + mLongshoting = false; } @Override @@ -2408,6 +2409,7 @@ public class CaptureModule implements CameraModule, PhotoController, } }); } + mLongshoting = false; } @Override -- cgit v1.2.3 From c4f44d9bf3531b02b57ca69a02e6f0c0d9175905 Mon Sep 17 00:00:00 2001 From: junjiez Date: Thu, 10 Oct 2019 15:18:51 +0800 Subject: SnapdraongCamera:Disable HEIF when SelfieMirror SelfieMirror need to use app-zsl,but app-zsl is not supported,so disable heif when SelfieMirror is enabled. Change-Id: I31a5e482a73716521dd3bacd637db4df119a508d CRs-Fixed: 2534960 --- src/com/android/camera/SettingsActivity.java | 30 ++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/com/android/camera/SettingsActivity.java b/src/com/android/camera/SettingsActivity.java index 3fef92493..ffdb1a5db 100755 --- a/src/com/android/camera/SettingsActivity.java +++ b/src/com/android/camera/SettingsActivity.java @@ -156,6 +156,12 @@ public class SettingsActivity extends PreferenceActivity { pref, "Off", "0"); } + if ((pref.getKey().equals(SettingsManager.KEY_ZSL) || + pref.getKey().equals(SettingsManager.KEY_PICTURE_FORMAT)) || + pref.getKey().equals(SettingsManager.KEY_SELFIEMIRROR)) { + updateFormatPreference(); + } + if ( (pref.getKey().equals(SettingsManager.KEY_MANUAL_WB)) ) { updateManualWBSettings(); } @@ -169,6 +175,7 @@ public class SettingsActivity extends PreferenceActivity { } }; + /** * This method is to enable or disable the option which is conflict with changed setting * @param conflictKey key you want to change after setting is changed @@ -188,6 +195,29 @@ public class SettingsActivity extends PreferenceActivity { } } + private void updateFormatPreference() { + ListPreference formatPref = (ListPreference)findPreference(SettingsManager.KEY_PICTURE_FORMAT); + ListPreference ZSLPref = (ListPreference) findPreference(SettingsManager.KEY_ZSL); + ListPreference mfnrPref = (ListPreference) findPreference(SettingsManager.KEY_CAPTURE_MFNR_VALUE); + SwitchPreference selfiePref = (SwitchPreference) findPreference(SettingsManager.KEY_SELFIEMIRROR); + if (formatPref == null) { + return; + } + if((ZSLPref != null && "app-zsl".equals(ZSLPref.getValue())) || + (selfiePref != null && selfiePref.isChecked())){ + formatPref.setValue("0"); + formatPref.setEnabled(false); + if (mfnrPref != null) { + mfnrPref.setEnabled(false); + } + } else { + formatPref.setEnabled(true); + if (mfnrPref != null) { + mfnrPref.setEnabled(true); + } + } + } + private void UpdateManualExposureSettings() { //dismiss all popups first, because we need to show edit dialog int cameraId = mSettingsManager.getCurrentCameraId(); -- cgit v1.2.3 From 6bb719c84f7bc359bae05905aaffc571bdf6f056 Mon Sep 17 00:00:00 2001 From: junjiez Date: Fri, 15 Nov 2019 09:54:42 +0800 Subject: SnapdraongCamera:Fix recording pause Catch IllegalStateException when fails to pause video recording. Change-Id: Id1c4978db58bd040dd695313bf246202fd7357c7 CRs-Fixed: 2565211 --- src/com/android/camera/CaptureModule.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/com/android/camera/CaptureModule.java b/src/com/android/camera/CaptureModule.java index d4db0b771..6f5c8c8e7 100755 --- a/src/com/android/camera/CaptureModule.java +++ b/src/com/android/camera/CaptureModule.java @@ -3118,7 +3118,7 @@ public class CaptureModule implements CameraModule, PhotoController, } catch (InterruptedException e) { mCameraOpenCloseLock.release(); throw new RuntimeException("Interrupted while trying to lock camera closing.", e); - } catch (CameraAccessException e) { + } catch (CameraAccessException | IllegalStateException e) { e.printStackTrace(); } finally { mCameraOpenCloseLock.release(); @@ -5180,7 +5180,13 @@ public class CaptureModule implements CameraModule, PhotoController, boolean noNeedEndOfStreamInHFR = mHighSpeedCapture && ((int)mHighSpeedFPSRange.getUpper() >= HIGH_SESSION_MAX_FPS); if (noNeedEndofStreamWhenPause || noNeedEndOfStreamInHFR) { - mMediaRecorder.pause(); + try{ + mMediaRecorder.pause(); + } catch (IllegalStateException e){ + e.printStackTrace(); + mMediaRecorderPausing = false; + } + } else { setEndOfStream(false, false); } -- cgit v1.2.3 From cb87d9529a0fcafbd5c86dc56ee88f212e8413a8 Mon Sep 17 00:00:00 2001 From: jiaoyuan Date: Fri, 15 Nov 2019 14:41:07 +0800 Subject: SnapdraongCamera: fix exception when onCaptureSequenceCompleted, surface is not ready, catch exception Change-Id: Ia58afe18210bdbebdaf372b52e6234652cd4db33 --- src/com/android/camera/CaptureModule.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/android/camera/CaptureModule.java b/src/com/android/camera/CaptureModule.java index d4db0b771..3ab3d926d 100755 --- a/src/com/android/camera/CaptureModule.java +++ b/src/com/android/camera/CaptureModule.java @@ -2938,7 +2938,7 @@ public class CaptureModule implements CameraModule, PhotoController, CaptureRequest.CONTROL_AF_MODE_OFF : afMode); mTakingPicture[id] = false; enableShutterAndVideoOnUiThread(id); - } catch (NullPointerException | IllegalStateException | CameraAccessException e) { + } catch (NullPointerException | IllegalStateException | CameraAccessException | IllegalArgumentException e) { Log.w(TAG, "Session is already closed"); } } -- cgit v1.2.3 From 67e42d72cb72fdf178a9bdda35cf7527f90871f4 Mon Sep 17 00:00:00 2001 From: xianming wang Date: Fri, 15 Nov 2019 16:34:34 +0800 Subject: SnapdragonCamera: Filter less 720P videoSize when EIS enable Filter less than 720P video quality when EIS enable. Change-Id: I9dbcccceb9e17927eb46afb3a6210621aaa8bb60 --- src/com/android/camera/SettingsActivity.java | 7 ++-- src/com/android/camera/SettingsManager.java | 48 +++++++++++++++++----------- 2 files changed, 33 insertions(+), 22 deletions(-) diff --git a/src/com/android/camera/SettingsActivity.java b/src/com/android/camera/SettingsActivity.java index 3fef92493..9001fd712 100755 --- a/src/com/android/camera/SettingsActivity.java +++ b/src/com/android/camera/SettingsActivity.java @@ -160,11 +160,12 @@ public class SettingsActivity extends PreferenceActivity { updateManualWBSettings(); } - if (pref.getKey().equals(SettingsManager.KEY_VIDEO_QUALITY) || - pref.getKey().equals(SettingsManager.KEY_DIS) || + if (pref.getKey().equals(SettingsManager.KEY_DIS) || pref.getKey().equals(SettingsManager.KEY_EIS_VALUE)) { - updatePreference(SettingsManager.KEY_VIDEO_ENCODER); + mSettingsManager.filterEISVideQualityOptions(); + updatePreference(SettingsManager.KEY_VIDEO_QUALITY); } + } } }; diff --git a/src/com/android/camera/SettingsManager.java b/src/com/android/camera/SettingsManager.java index 532eae8ec..8e554594a 100755 --- a/src/com/android/camera/SettingsManager.java +++ b/src/com/android/camera/SettingsManager.java @@ -1091,9 +1091,6 @@ public class SettingsManager implements ListMenu.SettingsListener { filterVideoEncoderProfileOptions(); } else if (pref.getKey().equals(KEY_PICTURE_FORMAT)) { filterHeifSizeOptions(); - } else if (pref.getKey().equals(KEY_DIS) || - pref.getKey().equals(KEY_EIS_VALUE)) { - filterVideoEncoderOptions(); } } @@ -1264,6 +1261,27 @@ public class SettingsManager implements ListMenu.SettingsListener { } } + private boolean getEISEnabled() { + boolean result = false; + ListPreference disPref = mPreferenceGroup.findPreference(KEY_DIS); + ListPreference eisPref = mPreferenceGroup.findPreference(KEY_EIS_VALUE); + if (disPref != null && eisPref != null) { + result = ("on".equals(disPref.getValue()) && + !("disable".equals(eisPref.getValue()))); + } + return result; + } + + public void filterEISVideQualityOptions() { + ListPreference videoQualityPref = mPreferenceGroup.findPreference(KEY_VIDEO_QUALITY); + if (videoQualityPref == null) return; + videoQualityPref.reloadInitialEntriesAndEntryValues(); + if (filterUnsupportedOptions(videoQualityPref, getSupportedVideoSize( + getCurrentCameraId()))) { + mFilteredKeys.add(videoQualityPref.getKey()); + } + } + private void filterChromaflashPictureSizeOptions() { String scene = getValue(SettingsManager.KEY_SCENE_MODE); ListPreference picturePref = mPreferenceGroup.findPreference(KEY_PICTURE_SIZE); @@ -1765,6 +1783,7 @@ public class SettingsManager implements ListMenu.SettingsListener { StreamConfigurationMap map = mCharacteristics.get(cameraId).get( CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP); Size[] sizes = map.getOutputSizes(MediaRecorder.class); + boolean eisEnabled = getEISEnabled(); boolean isHeifEnabled = getSavePictureFormat() == HEIF_FORMAT; VideoCapabilities heifCap = null; if (isHeifEnabled) { @@ -1786,6 +1805,13 @@ public class SettingsManager implements ListMenu.SettingsListener { continue; } } + if (eisEnabled) { + // eis didn`t support less than 720P + if (Math.min(sizes[i].getWidth(),sizes[i].getHeight()) < 720 || + Math.max(sizes[i].getWidth(),sizes[i].getHeight()) < 1280) { + continue; + } + } if (CameraSettings.VIDEO_QUALITY_TABLE.containsKey(sizes[i].toString())) { Integer profile = CameraSettings.VIDEO_QUALITY_TABLE.get(sizes[i].toString()); if (profile != null) { @@ -1988,22 +2014,6 @@ public class SettingsManager implements ListMenu.SettingsListener { } } - ListPreference videoQuality = mPreferenceGroup.findPreference(KEY_VIDEO_QUALITY); - String videoSize = videoQuality.getValue(); - int indexX = videoSize.indexOf('x'); - int width = Integer.parseInt(videoSize.substring(0, indexX)); - int height = Integer.parseInt(videoSize.substring(indexX + 1)); - // Video quality less than 720P - boolean isLess720P = width < 1280 && height < 720; - - ListPreference disPref = mPreferenceGroup.findPreference(KEY_DIS); - ListPreference eisPref = mPreferenceGroup.findPreference(KEY_EIS_VALUE); - if (isLess720P && - "on".equals(disPref.getValue()) && - !("disable".equals(eisPref.getValue()))) { - supported.remove("mpeg-4-sp"); - } - return supported; } -- cgit v1.2.3 From b1d05447afc30d1683980b42ae23aa2234e2b374 Mon Sep 17 00:00:00 2001 From: jiaoyuan Date: Tue, 19 Nov 2019 09:22:26 +0800 Subject: SnapdraongCamera: hide flash icon Flash icon should be hidden when SW MFNR enabled. Change-Id: I6dee92825d1b069f364a325457cf82ed9f649a68 --- src/com/android/camera/ui/FlashToggleButton.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/com/android/camera/ui/FlashToggleButton.java b/src/com/android/camera/ui/FlashToggleButton.java index fca76b7a1..abeedef21 100755 --- a/src/com/android/camera/ui/FlashToggleButton.java +++ b/src/com/android/camera/ui/FlashToggleButton.java @@ -72,6 +72,11 @@ public class FlashToggleButton extends RotateImageView { R.string.pref_camera_manual_exp_value_user_setting); String manualExposureMode = mSettingsManager.getValue(SettingsManager.KEY_MANUAL_EXPOSURE); String scene = mSettingsManager.getValue(SettingsManager.KEY_SCENE_MODE); + boolean mfnrEnable = false; + String mfnrValue = mSettingsManager.getValue(SettingsManager.KEY_CAPTURE_MFNR_VALUE); + if (mfnrValue != null) { + mfnrEnable = mfnrValue.equals("1"); + } boolean promode = false; if (scene != null) { int mode = Integer.parseInt(scene); @@ -80,7 +85,7 @@ public class FlashToggleButton extends RotateImageView { } } if (mIndex == -1 || (redeye != null && redeye.equals("on")) || - manualExposureMode.equals(userSetting) || promode) { + manualExposureMode.equals(userSetting) || promode || mfnrEnable) { setVisibility(GONE); return; } else { -- cgit v1.2.3 From 077ef297c8c8b379b2e8164afc2dd766e5659131 Mon Sep 17 00:00:00 2001 From: xianming wang Date: Wed, 20 Nov 2019 15:26:39 +0800 Subject: SnapdragonCamera: Add TextView for fix UI blured Add TextView for fix UI blured. CRs-Fixed: 2557406 Change-Id: I398d64129038367826569d615dac8df7c3ee6e1c --- res/layout/capture_module.xml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/res/layout/capture_module.xml b/res/layout/capture_module.xml index afc199547..2319b97c5 100755 --- a/res/layout/capture_module.xml +++ b/res/layout/capture_module.xml @@ -166,6 +166,19 @@ android:layout_width="match_parent" android:layout_height="match_parent" /> + Date: Thu, 21 Nov 2019 17:28:52 +0800 Subject: SnapdraongCamera:Add shutter logs Add logs for shutter button when click and release to indicate shot to shot latency Change-Id: Ie16c6341b396243164c03ecdf6f60a25023f5bef CRs-Fixed: 2515200 --- src/com/android/camera/CaptureModule.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/com/android/camera/CaptureModule.java b/src/com/android/camera/CaptureModule.java index d4db0b771..af96bfaea 100755 --- a/src/com/android/camera/CaptureModule.java +++ b/src/com/android/camera/CaptureModule.java @@ -2501,6 +2501,7 @@ public class CaptureModule implements CameraModule, PhotoController, } else { enableShutterAndVideoOnUiThread(id); } + Log.d(TAG,"onShutterButtonRelease"); if (mSettingsManager.getSavePictureFormat() == SettingsManager.HEIF_FORMAT) { if (mHeifImage != null) { try { @@ -5702,6 +5703,7 @@ public class CaptureModule implements CameraModule, PhotoController, + mActivity.getStorageSpaceBytes()); return; } + Log.d(TAG,"onShutterButtonClick"); if (mIsRecordingVideo) { if (mUI.isShutterEnabled()) { -- cgit v1.2.3 From 248f1bb18464895ccdb072f30d33172aef43473e Mon Sep 17 00:00:00 2001 From: jinwu Date: Fri, 22 Nov 2019 14:21:10 +0800 Subject: Update version number to 2.02.036 Change-Id: Ic07be9d88284b0c9e6a45c2f49c03eec158190ac --- version.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version.mk b/version.mk index 548001eaf..7ec39db9f 100755 --- a/version.mk +++ b/version.mk @@ -40,7 +40,7 @@ # base_version_build is 3 digits and auto-increment for fixing CR. base_version_major := 2 base_version_minor := 02 -base_version_build := 035 +base_version_build := 036 ##################################################### ##################################################### -- cgit v1.2.3 From 55bd73452687a0153240af4e7e02cf4fec6fd86e Mon Sep 17 00:00:00 2001 From: jiaoyuan Date: Tue, 3 Sep 2019 13:03:36 +0800 Subject: SnapdraongCamera: hide AEB after restore hide AEB after restore Change-Id: I5f9b6222e2f14eab7a41da04f90bb1f5b87faabe --- src/com/android/camera/CaptureModule.java | 2 ++ src/com/android/camera/SettingsActivity.java | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/com/android/camera/CaptureModule.java b/src/com/android/camera/CaptureModule.java index d4db0b771..1edbb70e2 100755 --- a/src/com/android/camera/CaptureModule.java +++ b/src/com/android/camera/CaptureModule.java @@ -833,6 +833,8 @@ public class CaptureModule implements CameraModule, PhotoController, SettingsManager.KEY_STATS_VISUALIZER_VALUE); if (stats_visualizer != null) { updateStatsView(stats_visualizer,result); + } else { + mUI.updateAWBInfoVisibility(View.GONE); } } }; diff --git a/src/com/android/camera/SettingsActivity.java b/src/com/android/camera/SettingsActivity.java index 3fef92493..0658248c8 100755 --- a/src/com/android/camera/SettingsActivity.java +++ b/src/com/android/camera/SettingsActivity.java @@ -804,14 +804,14 @@ public class SettingsActivity extends PreferenceActivity { pref.setEntries(mSettingsManager.getEntries(key)); pref.setEntryValues(mSettingsManager.getEntryValues(key)); String values = mSettingsManager.getValue(key); + Set valueSet = new HashSet(); if (values != null) { - Set valueSet = new HashSet(); String[] splitValues = values.split(";"); for (String str : splitValues) { valueSet.add(str); } - pref.setValues(valueSet); } + pref.setValues(valueSet); } } } -- cgit v1.2.3