diff options
11 files changed, 91 insertions, 31 deletions
diff --git a/core/java/android/content/RestrictionsManager.java b/core/java/android/content/RestrictionsManager.java index 1fac06e..a7744e7 100644 --- a/core/java/android/content/RestrictionsManager.java +++ b/core/java/android/content/RestrictionsManager.java @@ -677,7 +677,8 @@ public class RestrictionsManager { * <table> * <tr><th>RestrictionEntry</th><th>Bundle</th></tr> * <tr><td>{@link RestrictionEntry#TYPE_BOOLEAN}</td><td>{@link Bundle#putBoolean}</td></tr> - * <tr><td>{@link RestrictionEntry#TYPE_CHOICE}, {@link RestrictionEntry#TYPE_CHOICE}</td> + * <tr><td>{@link RestrictionEntry#TYPE_CHOICE}, + * {@link RestrictionEntry#TYPE_MULTI_SELECT}</td> * <td>{@link Bundle#putStringArray}</td></tr> * <tr><td>{@link RestrictionEntry#TYPE_INTEGER}</td><td>{@link Bundle#putInt}</td></tr> * <tr><td>{@link RestrictionEntry#TYPE_STRING}</td><td>{@link Bundle#putString}</td></tr> diff --git a/core/java/android/hardware/camera2/CameraCharacteristics.java b/core/java/android/hardware/camera2/CameraCharacteristics.java index 5583920..a2ef078 100644 --- a/core/java/android/hardware/camera2/CameraCharacteristics.java +++ b/core/java/android/hardware/camera2/CameraCharacteristics.java @@ -1003,13 +1003,13 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri /** * <p>The orientation of the camera relative to the sensor * coordinate system.</p> - * <p>The four coefficients that describe the quarternion + * <p>The four coefficients that describe the quaternion * rotation from the Android sensor coordinate system to a * camera-aligned coordinate system where the X-axis is * aligned with the long side of the image sensor, the Y-axis * is aligned with the short side of the image sensor, and * the Z-axis is aligned with the optical axis of the sensor.</p> - * <p>To convert from the quarternion coefficients <code>(x,y,z,w)</code> + * <p>To convert from the quaternion coefficients <code>(x,y,z,w)</code> * to the axis of rotation <code>(a_x, a_y, a_z)</code> and rotation * amount <code>theta</code>, the following formulas can be used:</p> * <pre><code> theta = 2 * acos(w) @@ -1018,7 +1018,7 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri * a_z = z / sin(theta/2) * </code></pre> * <p>To create a 3x3 rotation matrix that applies the rotation - * defined by this quarternion, the following matrix can be + * defined by this quaternion, the following matrix can be * used:</p> * <pre><code>R = [ 1 - 2y^2 - 2z^2, 2xy - 2zw, 2xz + 2yw, * 2xy + 2zw, 1 - 2x^2 - 2z^2, 2yz - 2xw, @@ -1030,7 +1030,7 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri * <p>where <code>p</code> is in the device sensor coordinate system, and * <code>p'</code> is in the camera-oriented coordinate system.</p> * <p><b>Units</b>: - * Quarternion coefficients</p> + * Quaternion coefficients</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p> */ @PublicKey @@ -1052,13 +1052,13 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri * user's perspective) will report <code>(0.03, 0, 0)</code>.</p> * <p>To transform a pixel coordinates between two cameras * facing the same direction, first the source camera - * android.lens.radialDistortion must be corrected for. Then - * the source camera android.lens.intrinsicCalibration needs + * {@link CameraCharacteristics#LENS_RADIAL_DISTORTION android.lens.radialDistortion} must be corrected for. Then + * the source camera {@link CameraCharacteristics#LENS_INTRINSIC_CALIBRATION android.lens.intrinsicCalibration} needs * to be applied, followed by the {@link CameraCharacteristics#LENS_POSE_ROTATION android.lens.poseRotation} * of the source camera, the translation of the source camera * relative to the destination camera, the * {@link CameraCharacteristics#LENS_POSE_ROTATION android.lens.poseRotation} of the destination camera, and - * finally the inverse of android.lens.intrinsicCalibration + * finally the inverse of {@link CameraCharacteristics#LENS_INTRINSIC_CALIBRATION android.lens.intrinsicCalibration} * of the destination camera. This obtains a * radial-distortion-free coordinate in the destination * camera pixel coordinates.</p> @@ -1069,7 +1069,9 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri * <p><b>Units</b>: Meters</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p> * + * @see CameraCharacteristics#LENS_INTRINSIC_CALIBRATION * @see CameraCharacteristics#LENS_POSE_ROTATION + * @see CameraCharacteristics#LENS_RADIAL_DISTORTION */ @PublicKey public static final Key<float[]> LENS_POSE_TRANSLATION = @@ -1115,7 +1117,7 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri * where <code>(0,0)</code> is the top-left of the * preCorrectionActiveArraySize rectangle. Once the pose and * intrinsic calibration transforms have been applied to a - * world point, then the android.lens.radialDistortion + * world point, then the {@link CameraCharacteristics#LENS_RADIAL_DISTORTION android.lens.radialDistortion} * transform needs to be applied, and the result adjusted to * be in the {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize} coordinate * system (where <code>(0, 0)</code> is the top-left of the @@ -1130,6 +1132,7 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri * * @see CameraCharacteristics#LENS_POSE_ROTATION * @see CameraCharacteristics#LENS_POSE_TRANSLATION + * @see CameraCharacteristics#LENS_RADIAL_DISTORTION * @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE * @see CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE */ @@ -1156,7 +1159,7 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri * </code></pre> * <p>The pixel coordinates are defined in a normalized * coordinate system related to the - * android.lens.intrinsicCalibration calibration fields. + * {@link CameraCharacteristics#LENS_INTRINSIC_CALIBRATION android.lens.intrinsicCalibration} calibration fields. * Both <code>[x_i, y_i]</code> and <code>[x_c, y_c]</code> have <code>(0,0)</code> at the * lens optical center <code>[c_x, c_y]</code>. The maximum magnitudes * of both x and y coordinates are normalized to be 1 at the @@ -1169,6 +1172,8 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri * <p><b>Units</b>: * Unitless coefficients.</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p> + * + * @see CameraCharacteristics#LENS_INTRINSIC_CALIBRATION */ @PublicKey public static final Key<float[]> LENS_RADIAL_DISTORTION = @@ -2262,7 +2267,7 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri * {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.</p> * <p>The currently supported fields that correct for geometric distortion are:</p> * <ol> - * <li>android.lens.radialDistortion.</li> + * <li>{@link CameraCharacteristics#LENS_RADIAL_DISTORTION android.lens.radialDistortion}.</li> * </ol> * <p>If all of the geometric distortion fields are no-ops, this rectangle will be the same * as the post-distortion-corrected rectangle given in @@ -2275,6 +2280,7 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri * <p><b>Units</b>: Pixel coordinates on the image sensor</p> * <p>This key is available on all devices.</p> * + * @see CameraCharacteristics#LENS_RADIAL_DISTORTION * @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE * @see CameraCharacteristics#SENSOR_INFO_PIXEL_ARRAY_SIZE * @see CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE diff --git a/core/java/android/hardware/camera2/CameraMetadata.java b/core/java/android/hardware/camera2/CameraMetadata.java index c580083..35a1d96 100644 --- a/core/java/android/hardware/camera2/CameraMetadata.java +++ b/core/java/android/hardware/camera2/CameraMetadata.java @@ -647,8 +647,8 @@ public abstract class CameraMetadata<TKey> { * {@link android.hardware.camera2.CaptureResult }:<ul> * <li>{@link CameraCharacteristics#LENS_POSE_TRANSLATION android.lens.poseTranslation}</li> * <li>{@link CameraCharacteristics#LENS_POSE_ROTATION android.lens.poseRotation}</li> - * <li>android.lens.intrinsicCalibration</li> - * <li>android.lens.radialDistortion</li> + * <li>{@link CameraCharacteristics#LENS_INTRINSIC_CALIBRATION android.lens.intrinsicCalibration}</li> + * <li>{@link CameraCharacteristics#LENS_RADIAL_DISTORTION android.lens.radialDistortion}</li> * </ul> * </li> * <li>The {@link CameraCharacteristics#DEPTH_DEPTH_IS_EXCLUSIVE android.depth.depthIsExclusive} entry is listed by this device.</li> @@ -667,8 +667,10 @@ public abstract class CameraMetadata<TKey> { * * @see CameraCharacteristics#DEPTH_DEPTH_IS_EXCLUSIVE * @see CameraCharacteristics#LENS_FACING + * @see CameraCharacteristics#LENS_INTRINSIC_CALIBRATION * @see CameraCharacteristics#LENS_POSE_ROTATION * @see CameraCharacteristics#LENS_POSE_TRANSLATION + * @see CameraCharacteristics#LENS_RADIAL_DISTORTION * @see CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES */ public static final int REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT = 8; diff --git a/core/java/android/hardware/camera2/CaptureResult.java b/core/java/android/hardware/camera2/CaptureResult.java index d5511c1..46eddb3 100644 --- a/core/java/android/hardware/camera2/CaptureResult.java +++ b/core/java/android/hardware/camera2/CaptureResult.java @@ -2602,13 +2602,13 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> { /** * <p>The orientation of the camera relative to the sensor * coordinate system.</p> - * <p>The four coefficients that describe the quarternion + * <p>The four coefficients that describe the quaternion * rotation from the Android sensor coordinate system to a * camera-aligned coordinate system where the X-axis is * aligned with the long side of the image sensor, the Y-axis * is aligned with the short side of the image sensor, and * the Z-axis is aligned with the optical axis of the sensor.</p> - * <p>To convert from the quarternion coefficients <code>(x,y,z,w)</code> + * <p>To convert from the quaternion coefficients <code>(x,y,z,w)</code> * to the axis of rotation <code>(a_x, a_y, a_z)</code> and rotation * amount <code>theta</code>, the following formulas can be used:</p> * <pre><code> theta = 2 * acos(w) @@ -2617,7 +2617,7 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> { * a_z = z / sin(theta/2) * </code></pre> * <p>To create a 3x3 rotation matrix that applies the rotation - * defined by this quarternion, the following matrix can be + * defined by this quaternion, the following matrix can be * used:</p> * <pre><code>R = [ 1 - 2y^2 - 2z^2, 2xy - 2zw, 2xz + 2yw, * 2xy + 2zw, 1 - 2x^2 - 2z^2, 2yz - 2xw, @@ -2629,7 +2629,7 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> { * <p>where <code>p</code> is in the device sensor coordinate system, and * <code>p'</code> is in the camera-oriented coordinate system.</p> * <p><b>Units</b>: - * Quarternion coefficients</p> + * Quaternion coefficients</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p> */ @PublicKey @@ -2651,13 +2651,13 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> { * user's perspective) will report <code>(0.03, 0, 0)</code>.</p> * <p>To transform a pixel coordinates between two cameras * facing the same direction, first the source camera - * android.lens.radialDistortion must be corrected for. Then - * the source camera android.lens.intrinsicCalibration needs + * {@link CameraCharacteristics#LENS_RADIAL_DISTORTION android.lens.radialDistortion} must be corrected for. Then + * the source camera {@link CameraCharacteristics#LENS_INTRINSIC_CALIBRATION android.lens.intrinsicCalibration} needs * to be applied, followed by the {@link CameraCharacteristics#LENS_POSE_ROTATION android.lens.poseRotation} * of the source camera, the translation of the source camera * relative to the destination camera, the * {@link CameraCharacteristics#LENS_POSE_ROTATION android.lens.poseRotation} of the destination camera, and - * finally the inverse of android.lens.intrinsicCalibration + * finally the inverse of {@link CameraCharacteristics#LENS_INTRINSIC_CALIBRATION android.lens.intrinsicCalibration} * of the destination camera. This obtains a * radial-distortion-free coordinate in the destination * camera pixel coordinates.</p> @@ -2668,7 +2668,9 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> { * <p><b>Units</b>: Meters</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p> * + * @see CameraCharacteristics#LENS_INTRINSIC_CALIBRATION * @see CameraCharacteristics#LENS_POSE_ROTATION + * @see CameraCharacteristics#LENS_RADIAL_DISTORTION */ @PublicKey public static final Key<float[]> LENS_POSE_TRANSLATION = @@ -2714,7 +2716,7 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> { * where <code>(0,0)</code> is the top-left of the * preCorrectionActiveArraySize rectangle. Once the pose and * intrinsic calibration transforms have been applied to a - * world point, then the android.lens.radialDistortion + * world point, then the {@link CameraCharacteristics#LENS_RADIAL_DISTORTION android.lens.radialDistortion} * transform needs to be applied, and the result adjusted to * be in the {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize} coordinate * system (where <code>(0, 0)</code> is the top-left of the @@ -2729,6 +2731,7 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> { * * @see CameraCharacteristics#LENS_POSE_ROTATION * @see CameraCharacteristics#LENS_POSE_TRANSLATION + * @see CameraCharacteristics#LENS_RADIAL_DISTORTION * @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE * @see CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE */ @@ -2755,7 +2758,7 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> { * </code></pre> * <p>The pixel coordinates are defined in a normalized * coordinate system related to the - * android.lens.intrinsicCalibration calibration fields. + * {@link CameraCharacteristics#LENS_INTRINSIC_CALIBRATION android.lens.intrinsicCalibration} calibration fields. * Both <code>[x_i, y_i]</code> and <code>[x_c, y_c]</code> have <code>(0,0)</code> at the * lens optical center <code>[c_x, c_y]</code>. The maximum magnitudes * of both x and y coordinates are normalized to be 1 at the @@ -2768,6 +2771,8 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> { * <p><b>Units</b>: * Unitless coefficients.</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p> + * + * @see CameraCharacteristics#LENS_INTRINSIC_CALIBRATION */ @PublicKey public static final Key<float[]> LENS_RADIAL_DISTORTION = diff --git a/core/java/android/hardware/camera2/legacy/LegacyCameraDevice.java b/core/java/android/hardware/camera2/legacy/LegacyCameraDevice.java index e786707..fddfbde 100644 --- a/core/java/android/hardware/camera2/legacy/LegacyCameraDevice.java +++ b/core/java/android/hardware/camera2/legacy/LegacyCameraDevice.java @@ -338,6 +338,8 @@ public class LegacyCameraDevice implements AutoCloseable { } else { sizedSurfaces.add(new Pair<>(output, s)); } + // Lock down the size before configuration + setSurfaceDimens(output, s.getWidth(), s.getHeight()); } catch (BufferQueueAbandonedException e) { Log.e(TAG, "Surface bufferqueue is abandoned, cannot configure as output: ", e); return BAD_VALUE; diff --git a/core/java/android/hardware/fingerprint/FingerprintManager.java b/core/java/android/hardware/fingerprint/FingerprintManager.java index ee37047..6e29989 100644 --- a/core/java/android/hardware/fingerprint/FingerprintManager.java +++ b/core/java/android/hardware/fingerprint/FingerprintManager.java @@ -395,7 +395,7 @@ public class FingerprintManager { * Request authentication of a crypto object. This call warms up the fingerprint hardware * and starts scanning for a fingerprint. It terminates when * {@link AuthenticationCallback#onAuthenticationError(int, CharSequence)} or - * {@link AuthenticationCallback#onAuthenticationSucceeded(AuthenticationResult) is called, at + * {@link AuthenticationCallback#onAuthenticationSucceeded(AuthenticationResult)} is called, at * which point the object is no longer valid. The operation can be canceled by using the * provided cancel object. * diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index 629d14b..99e55bf 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -786,6 +786,46 @@ android:protectionLevel="normal" android:permissionFlags="hidden"/> + <!-- @hide We need to keep this around for backwards compatibility --> + <permission android:name="android.permission.WRITE_SMS" + android:protectionLevel="normal" + android:permissionFlags="hidden"/> + + <!-- @hide We need to keep this around for backwards compatibility --> + <permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS" + android:protectionLevel="normal" + android:permissionFlags="hidden"/> + + <!-- @hide We need to keep this around for backwards compatibility --> + <permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS" + android:protectionLevel="normal" + android:permissionFlags="hidden"/> + + <!-- @hide We need to keep this around for backwards compatibility --> + <permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" + android:protectionLevel="normal" + android:permissionFlags="hidden"/> + + <!-- @hide We need to keep this around for backwards compatibility --> + <permission android:name="android.permission.MANAGE_ACCOUNTS" + android:protectionLevel="normal" + android:permissionFlags="hidden"/> + + <!-- @hide We need to keep this around for backwards compatibility --> + <permission android:name="android.permission.USE_CREDENTIALS" + android:protectionLevel="normal" + android:permissionFlags="hidden"/> + + <!-- @hide We need to keep this around for backwards compatibility --> + <permission android:name="android.permission.SUBSCRIBED_FEEDS_READ" + android:protectionLevel="normal" + android:permissionFlags="hidden"/> + + <!-- @hide We need to keep this around for backwards compatibility --> + <permission android:name="android.permission.SUBSCRIBED_FEEDS_WRITE" + android:protectionLevel="normal" + android:permissionFlags="hidden"/> + <!-- ====================================================================== --> <!-- INSTALL PERMISSIONS --> <!-- ====================================================================== --> diff --git a/docs/html/guide/topics/resources/providing-resources.jd b/docs/html/guide/topics/resources/providing-resources.jd index 63eee96..6f9545d 100644 --- a/docs/html/guide/topics/resources/providing-resources.jd +++ b/docs/html/guide/topics/resources/providing-resources.jd @@ -954,7 +954,7 @@ same way. For example, a color:</p> <?xml version="1.0" encoding="utf-8"?> <resources> <color name="yellow">#f00</color> - <color name="highlight">@color/red</color> + <color name="highlight">@color/yellow</color> </resources> </pre> diff --git a/docs/html/preview/features/runtime-permissions.jd b/docs/html/preview/features/runtime-permissions.jd index 8ab7619..62e49b9 100644 --- a/docs/html/preview/features/runtime-permissions.jd +++ b/docs/html/preview/features/runtime-permissions.jd @@ -916,8 +916,11 @@ $ adb pm revoke <package_name> <permission_name> </dt> <dd> - Returns <code>true</code> if the app has the specified permission, whether - or not the device is using the M Preview. + Returns {@link android.content.pm.PackageManager#PERMISSION_GRANTED + PERMISSION_GRANTED} if the app has the specified permission, whether + or not the device is using the M Preview. If the app does not have the + specified permission, returns {@link + android.content.pm.PackageManager#PERMISSION_DENIED PERMISSION_DENIED}. </dd> <dt> diff --git a/docs/html/sdk/index.jd b/docs/html/sdk/index.jd index c9c9c54..39822e5 100644 --- a/docs/html/sdk/index.jd +++ b/docs/html/sdk/index.jd @@ -289,7 +289,7 @@ width: 400px;text-align: center;">The official Android IDE</p> </ul> <a class="online landing-button green download-bundle-button" -href="#Other" >Download Android Studio</a> +href="#Other" >Download Android Studio<br/><span class='small'></span></a> <!-- this appears when viewing the offline docs --> <p class="offline"> diff --git a/media/java/android/media/midi/package.html b/media/java/android/media/midi/package.html index 7baa5bc..45fb579 100644 --- a/media/java/android/media/midi/package.html +++ b/media/java/android/media/midi/package.html @@ -202,11 +202,12 @@ MidiInputPort inputPort = device.openInputPort(index); <p>MIDI messages are sent as byte arrays. Here we encode a NoteOn message.</p> <pre class=prettyprint> -byte[] buffer = new buffer[64]; +byte[] buffer = new byte[32]; int numBytes = 0; -buffer[numBytes++] = 0x90 + channel; // note on -buffer[numBytes++] = pitch; -buffer[numBytes++] = velocity; +int channel = 3; // MIDI channels 1-16 are encoded as 0-15. +buffer[numBytes++] = (byte)(0x90 + (channel - 1)); // note on +buffer[numBytes++] = (byte)60; // pitch is middle C +buffer[numBytes++] = (byte)127; // max velocity int offset = 0; // post is non-blocking inputPort.send(buffer, offset, numBytes); |