diff options
author | Linux Build Service Account <lnxbuild@localhost> | 2019-03-19 05:50:07 -0700 |
---|---|---|
committer | Linux Build Service Account <lnxbuild@localhost> | 2019-03-19 05:50:07 -0700 |
commit | 757ed5be6b923de5d4d9370d985f652756bda241 (patch) | |
tree | 969040fddc53c58a3736451c1d03beee4503c9bd | |
parent | 95d07ddac7238906161f432f3b41019547021d80 (diff) | |
parent | fef611529a3685652002d63e7e760644768f4501 (diff) | |
download | android_packages_apps_Snap-757ed5be6b923de5d4d9370d985f652756bda241.tar.gz android_packages_apps_Snap-757ed5be6b923de5d4d9370d985f652756bda241.tar.bz2 android_packages_apps_Snap-757ed5be6b923de5d4d9370d985f652756bda241.zip |
Merge fef611529a3685652002d63e7e760644768f4501 on remote branch
Change-Id: I56b0bccf17e61363061f9d90697d762496374e69
-rw-r--r-- | AndroidManifest.xml | 2 | ||||
-rwxr-xr-x | src/com/android/camera/CaptureModule.java | 6 | ||||
-rwxr-xr-x | src/com/android/camera/SettingsActivity.java | 3 | ||||
-rwxr-xr-x | src/com/android/camera/SettingsManager.java | 31 | ||||
-rwxr-xr-x | version.mk | 2 |
5 files changed, 38 insertions, 6 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 062d50e2c..c4441c81f 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -5,7 +5,7 @@ <uses-sdk android:minSdkVersion="23" - android:targetSdkVersion="26" /> + android:targetSdkVersion="28" /> <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" /> <uses-permission android:name="android.permission.SET_ORIENTATION" /> diff --git a/src/com/android/camera/CaptureModule.java b/src/com/android/camera/CaptureModule.java index 7c7d0159d..213c44ce2 100755 --- a/src/com/android/camera/CaptureModule.java +++ b/src/com/android/camera/CaptureModule.java @@ -2244,7 +2244,7 @@ public class CaptureModule implements CameraModule, PhotoController, String value = mSettingsManager.getValue(SettingsManager.KEY_JPEG_QUALITY); int quality = getQualityNumber(value); int orientation = CameraUtil.getJpegRotation(id,mOrientation); - int imageCount = mLongshotActive? MAX_IMAGEREADERS*2 : 1; + int imageCount = mLongshotActive? MAX_IMAGEREADERS*4 : 1; HeifWriter writer = createHEIFEncoder(path,mPictureSize.getWidth(),mPictureSize.getHeight(), orientation,imageCount,quality); if (writer != null) { @@ -2427,7 +2427,7 @@ public class CaptureModule implements CameraModule, PhotoController, private void captureStillPictureForLongshot(CaptureRequest.Builder captureBuilder, int id) throws CameraAccessException{ List<CaptureRequest> burstList = new ArrayList<>(); boolean isBurstShotFpsEnable = PersistUtil.isBurstShotFpsEnabled(); - for (int i = 0; i < MAX_IMAGEREADERS*2; i++) { + for (int i = 0; i < MAX_IMAGEREADERS*4; i++) { if (isBurstShotFpsEnable) { mPreviewRequestBuilder[id].setTag("preview"); burstList.add(mPreviewRequestBuilder[id].build()); @@ -5301,6 +5301,8 @@ public class CaptureModule implements CameraModule, PhotoController, Log.d(TAG, "stopRecordingVideo call abortCaptures "); } catch (CameraAccessException e) { e.printStackTrace(); + } catch (IllegalStateException e) { + e.printStackTrace(); } } if (!mPaused) { diff --git a/src/com/android/camera/SettingsActivity.java b/src/com/android/camera/SettingsActivity.java index 2f3bfbf6d..fc4bb339a 100755 --- a/src/com/android/camera/SettingsActivity.java +++ b/src/com/android/camera/SettingsActivity.java @@ -140,8 +140,9 @@ public class SettingsActivity extends PreferenceActivity { if ( pref.getKey().equals(SettingsManager.KEY_QCFA) || pref.getKey().equals(SettingsManager.KEY_PICTURE_FORMAT) ) { - mSettingsManager.updateQcfaPictureSize(); + mSettingsManager.updatePictureAndVideoSize(); updatePreference(SettingsManager.KEY_PICTURE_SIZE); + updatePreference(SettingsManager.KEY_VIDEO_QUALITY); } if ( pref.getKey().equals(SettingsManager.KEY_VIDEO_HDR_VALUE) ) { diff --git a/src/com/android/camera/SettingsManager.java b/src/com/android/camera/SettingsManager.java index 53b0d7602..0856beb29 100755 --- a/src/com/android/camera/SettingsManager.java +++ b/src/com/android/camera/SettingsManager.java @@ -348,8 +348,9 @@ public class SettingsManager implements ListMenu.SettingsListener { notifyListeners(changed); } - public void updateQcfaPictureSize() { + public void updatePictureAndVideoSize() { ListPreference picturePref = mPreferenceGroup.findPreference(KEY_PICTURE_SIZE); + ListPreference videoQualityPref = mPreferenceGroup.findPreference(KEY_VIDEO_QUALITY); if (picturePref != null) { picturePref.setEntries(mContext.getResources().getStringArray( R.array.pref_camera2_picturesize_entries)); @@ -358,6 +359,14 @@ public class SettingsManager implements ListMenu.SettingsListener { filterUnsupportedOptions(picturePref, getSupportedPictureSize( getCurrentCameraId())); } + if (videoQualityPref != null) { + videoQualityPref.setEntries(mContext.getResources().getStringArray( + R.array.pref_camera2_video_quality_entries)); + videoQualityPref.setEntryValues(mContext.getResources().getStringArray( + R.array.pref_camera2_video_quality_entryvalues)); + filterUnsupportedOptions(videoQualityPref,getSupportedVideoSize( + getCurrentCameraId())); + } } public void init() { @@ -481,6 +490,7 @@ public class SettingsManager implements ListMenu.SettingsListener { initDependencyTable(); initializeValueMap(); filterChromaflashPictureSizeOptions(); + filterHeifSizeOptions(); } private Size parseSize(String value) { @@ -1072,6 +1082,8 @@ public class SettingsManager implements ListMenu.SettingsListener { filterChromaflashPictureSizeOptions(); } else if ( pref.getKey().equals(KEY_VIDEO_ENCODER) ) { filterVideoEncoderProfileOptions(); + } else if (pref.getKey().equals(KEY_PICTURE_FORMAT)) { + filterHeifSizeOptions(); } } @@ -1267,6 +1279,19 @@ public class SettingsManager implements ListMenu.SettingsListener { } } + private void filterHeifSizeOptions() { + ListPreference picturePref = mPreferenceGroup.findPreference(KEY_PICTURE_SIZE); + ListPreference videoQualityPref = mPreferenceGroup.findPreference(KEY_VIDEO_QUALITY); + if (filterUnsupportedOptions(picturePref, getSupportedPictureSize( + getCurrentCameraId()))) { + mFilteredKeys.add(picturePref.getKey()); + } + if (filterUnsupportedOptions(videoQualityPref, getSupportedVideoSize( + getCurrentCameraId()))) { + mFilteredKeys.add(videoQualityPref.getKey()); + } + } + private void filterHFROptions() { ListPreference hfrPref = mPreferenceGroup.findPreference(KEY_VIDEO_HIGH_FRAME_RATE); if (hfrPref != null) { @@ -1702,8 +1727,12 @@ public class SettingsManager implements ListMenu.SettingsListener { StreamConfigurationMap map = mCharacteristics.get(cameraId).get( CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP); Size[] sizes = map.getOutputSizes(MediaRecorder.class); + boolean isHeifEnabled = getSavePictureFormat() == HEIF_FORMAT; List<String> res = new ArrayList<>(); for (int i = 0; i < sizes.length; i++) { + if (isHeifEnabled && (Math.min(sizes[i].getWidth(),sizes[i].getHeight()) < 512)) { + continue; + } if (CameraSettings.VIDEO_QUALITY_TABLE.containsKey(sizes[i].toString())) { Integer profile = CameraSettings.VIDEO_QUALITY_TABLE.get(sizes[i].toString()); if (profile != null) { diff --git a/version.mk b/version.mk index 2d8b42703..26636680a 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 := 028 +base_version_build := 029 ##################################################### ##################################################### |