summaryrefslogtreecommitdiffstats
path: root/core/java
diff options
context:
space:
mode:
authorRuben Brunk <rubenbrunk@google.com>2015-06-11 22:15:56 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-06-11 22:15:58 +0000
commitdcb9e169d7b37d62112c25c65da54c2b92651f9f (patch)
tree85c683a7bb5e60611c4d10a56e153486a53fc1f7 /core/java
parentaf7289dfa376f6dacedf5fa01ba85b4586310971 (diff)
parenta94c6033452b465a28d6bd76015d4a1de6b1bd29 (diff)
downloadframeworks_base-dcb9e169d7b37d62112c25c65da54c2b92651f9f.zip
frameworks_base-dcb9e169d7b37d62112c25c65da54c2b92651f9f.tar.gz
frameworks_base-dcb9e169d7b37d62112c25c65da54c2b92651f9f.tar.bz2
Merge "Set scaling mode for legacy device surfaces." into mnc-dev
Diffstat (limited to 'core/java')
-rw-r--r--core/java/android/hardware/camera2/legacy/LegacyCameraDevice.java12
-rw-r--r--core/java/android/hardware/camera2/legacy/RequestThreadManager.java2
2 files changed, 14 insertions, 0 deletions
diff --git a/core/java/android/hardware/camera2/legacy/LegacyCameraDevice.java b/core/java/android/hardware/camera2/legacy/LegacyCameraDevice.java
index a3a998e..cc95c0e 100644
--- a/core/java/android/hardware/camera2/legacy/LegacyCameraDevice.java
+++ b/core/java/android/hardware/camera2/legacy/LegacyCameraDevice.java
@@ -87,6 +87,9 @@ public class LegacyCameraDevice implements AutoCloseable {
public static final int MAX_DIMEN_FOR_ROUNDING = 1080; // maximum allowed width for rounding
+ // Keep up to date with values in system/core/include/system/window.h
+ public static final int NATIVE_WINDOW_SCALING_MODE_SCALE_TO_WINDOW = 1;
+
private CaptureResultExtras getExtrasFromRequest(RequestHolder holder) {
if (holder == null) {
return new CaptureResultExtras(ILLEGAL_VALUE, ILLEGAL_VALUE, ILLEGAL_VALUE,
@@ -690,6 +693,13 @@ public class LegacyCameraDevice implements AutoCloseable {
LegacyExceptionUtils.throwOnError(nativeSetNextTimestamp(surface, timestamp));
}
+ static void setScalingMode(Surface surface, int mode)
+ throws BufferQueueAbandonedException {
+ checkNotNull(surface);
+ LegacyExceptionUtils.throwOnError(nativeSetScalingMode(surface, mode));
+ }
+
+
private static native int nativeDetectSurfaceType(Surface surface);
private static native int nativeDetectSurfaceDimens(Surface surface,
@@ -717,5 +727,7 @@ public class LegacyCameraDevice implements AutoCloseable {
private static native int nativeDetectSurfaceUsageFlags(Surface surface);
+ private static native int nativeSetScalingMode(Surface surface, int scalingMode);
+
static native int nativeGetJpegFooterSize();
}
diff --git a/core/java/android/hardware/camera2/legacy/RequestThreadManager.java b/core/java/android/hardware/camera2/legacy/RequestThreadManager.java
index f80726f..348b14a 100644
--- a/core/java/android/hardware/camera2/legacy/RequestThreadManager.java
+++ b/core/java/android/hardware/camera2/legacy/RequestThreadManager.java
@@ -384,6 +384,8 @@ public class RequestThreadManager {
callbackOutputSizes.add(outSize);
break;
default:
+ LegacyCameraDevice.setScalingMode(s, LegacyCameraDevice.
+ NATIVE_WINDOW_SCALING_MODE_SCALE_TO_WINDOW);
mPreviewOutputs.add(s);
previewOutputSizes.add(outSize);
break;