summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2019-03-19 05:50:07 -0700
committerLinux Build Service Account <lnxbuild@localhost>2019-03-19 05:50:07 -0700
commit757ed5be6b923de5d4d9370d985f652756bda241 (patch)
tree969040fddc53c58a3736451c1d03beee4503c9bd
parent95d07ddac7238906161f432f3b41019547021d80 (diff)
parentfef611529a3685652002d63e7e760644768f4501 (diff)
downloadandroid_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.xml2
-rwxr-xr-xsrc/com/android/camera/CaptureModule.java6
-rwxr-xr-xsrc/com/android/camera/SettingsActivity.java3
-rwxr-xr-xsrc/com/android/camera/SettingsManager.java31
-rwxr-xr-xversion.mk2
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
#####################################################
#####################################################