Merge pi-dev-plus-aosp-without-vendor into stage-dr1-aosp-master
Bug: 111615259 Change-Id: If0ef925301b9ed139ad2e09c3bf5b97a97580e6b
This commit is contained in:
@@ -3136,12 +3136,26 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
|
||||
* the following code snippet can be used:</p>
|
||||
* <pre><code>// Returns true if the device supports the required hardware level, or better.
|
||||
* boolean isHardwareLevelSupported(CameraCharacteristics c, int requiredLevel) {
|
||||
* final int[] sortedHwLevels = {
|
||||
* CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY,
|
||||
* CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_EXTERNAL,
|
||||
* CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED,
|
||||
* CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_FULL,
|
||||
* CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_3
|
||||
* };
|
||||
* int deviceLevel = c.get(CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL);
|
||||
* if (deviceLevel == CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY) {
|
||||
* return requiredLevel == deviceLevel;
|
||||
* if (requiredLevel == deviceLevel) {
|
||||
* return true;
|
||||
* }
|
||||
* // deviceLevel is not LEGACY, can use numerical sort
|
||||
* return requiredLevel <= deviceLevel;
|
||||
*
|
||||
* for (int sortedlevel : sortedHwLevels) {
|
||||
* if (sortedlevel == requiredLevel) {
|
||||
* return true;
|
||||
* } else if (sortedlevel == deviceLevel) {
|
||||
* return false;
|
||||
* }
|
||||
* }
|
||||
* return false; // Should never reach here
|
||||
* }
|
||||
* </code></pre>
|
||||
* <p>At a high level, the levels are:</p>
|
||||
@@ -3155,6 +3169,8 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
|
||||
* post-processing settings, and image capture at a high rate.</li>
|
||||
* <li><code>LEVEL_3</code> devices additionally support YUV reprocessing and RAW image capture, along
|
||||
* with additional output stream configurations.</li>
|
||||
* <li><code>EXTERNAL</code> devices are similar to <code>LIMITED</code> devices with exceptions like some sensor or
|
||||
* lens information not reorted or less stable framerates.</li>
|
||||
* </ul>
|
||||
* <p>See the individual level enums for full descriptions of the supported capabilities. The
|
||||
* {@link CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES android.request.availableCapabilities} entry describes the device's capabilities at a
|
||||
|
||||
@@ -44,19 +44,27 @@ import java.lang.annotation.RetentionPolicy;
|
||||
* {@link android.Manifest.permission#CAMERA Camera} permission in its manifest
|
||||
* in order to access camera devices.</p>
|
||||
*
|
||||
* <p>A given camera device may provide support at one of two levels: limited or
|
||||
* full. If a device only supports the limited level, then Camera2 exposes a
|
||||
* feature set that is roughly equivalent to the older
|
||||
* <p>A given camera device may provide support at one of several levels defined
|
||||
* in {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL}.
|
||||
* If a device supports {@link CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY LEGACY} level,
|
||||
* the camera device is running in backward compatibility mode and has minimum camera2 API support.
|
||||
* If a device supports the {@link CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED LIMITED}
|
||||
* level, then Camera2 exposes a feature set that is roughly equivalent to the older
|
||||
* {@link android.hardware.Camera Camera} API, although with a cleaner and more
|
||||
* efficient interface. Devices that implement the full level of support
|
||||
* efficient interface.
|
||||
* If a device supports the {@link CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_EXTERNAL EXTERNAL}
|
||||
* level, then the device is a removable camera that provides similar but slightly less features
|
||||
* as the {@link CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED LIMITED} level.
|
||||
* Devices that implement the {@link CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_FULL FULL} or
|
||||
* {@link CameraMetadata#INFO_SUPPORTED_HARDWARE_LEVEL_3 LEVEL3} level of support
|
||||
* provide substantially improved capabilities over the older camera
|
||||
* API. Applications that target the limited level devices will run unchanged on
|
||||
* the full-level devices; if your application requires a full-level device for
|
||||
* API. If your application requires a full-level device for
|
||||
* proper operation, declare the "android.hardware.camera.level.full" feature in your
|
||||
* manifest.</p>
|
||||
*
|
||||
* @see CameraManager#openCamera
|
||||
* @see android.Manifest.permission#CAMERA
|
||||
* @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
|
||||
*/
|
||||
public abstract class CameraDevice implements AutoCloseable {
|
||||
|
||||
|
||||
@@ -88,16 +88,16 @@ public class RecentsOnboarding {
|
||||
// Show quick scrub tips after opening overview this number of times.
|
||||
private static final int QUICK_SCRUB_SHOW_ON_OVERVIEW_OPENED_COUNT = 10;
|
||||
// Maximum number of dismissals while still showing swipe-up tips.
|
||||
private static final int MAX_DISMISSAL_ON_SWIPE_UP_SHOW = 4;
|
||||
private static final int MAX_DISMISSAL_ON_SWIPE_UP_SHOW = 2;
|
||||
// Number of dismissals for swipe-up tips when exponential backoff starts.
|
||||
private static final int BACKOFF_DISMISSAL_COUNT_ON_SWIPE_UP_SHOW = 2;
|
||||
private static final int BACKOFF_DISMISSAL_COUNT_ON_SWIPE_UP_SHOW = 1;
|
||||
// After explicitly dismissing for <= BACKOFF_DISMISSAL_COUNT_ON_SWIPE_UP_SHOW times, show again
|
||||
// after launching this number of apps for swipe-up tips.
|
||||
private static final int SWIPE_UP_SHOW_ON_APP_LAUNCH_AFTER_DISMISS = 5;
|
||||
// After explicitly dismissing for > BACKOFF_DISMISSAL_COUNT_ON_SWIPE_UP_SHOW but
|
||||
// <= MAX_DISMISSAL_ON_SWIPE_UP_SHOW times, show again after launching this number of apps for
|
||||
// swipe-up tips.
|
||||
private static final int SWIPE_UP_SHOW_ON_APP_LAUNCH_AFTER_DISMISS_BACK_OFF = 10;
|
||||
private static final int SWIPE_UP_SHOW_ON_APP_LAUNCH_AFTER_DISMISS_BACK_OFF = 40;
|
||||
|
||||
private final Context mContext;
|
||||
private final WindowManager mWindowManager;
|
||||
|
||||
@@ -524,9 +524,12 @@ LEGACY_ANDROID_EMOJI = {
|
||||
0xFE837: (ord('0'), COMBINING_KEYCAP),
|
||||
}
|
||||
|
||||
# This is used to define the emoji that should have the same glyph.
|
||||
# i.e. previously we had gender based Kiss (0x1F48F), which had the same glyph
|
||||
# with Kiss: Woman, Man (0x1F469, 0x200D, 0x2764, 0x200D, 0x1F48B, 0x200D, 0x1F468)
|
||||
# in that case a valid row would be:
|
||||
# (0x1F469, 0x200D, 0x2764, 0x200D, 0x1F48B, 0x200D, 0x1F468): 0x1F48F,
|
||||
ZWJ_IDENTICALS = {
|
||||
# KISS
|
||||
(0x1F469, 0x200D, 0x2764, 0x200D, 0x1F48B, 0x200D, 0x1F468): 0x1F48F,
|
||||
}
|
||||
|
||||
SAME_FLAG_MAPPINGS = [
|
||||
|
||||
Reference in New Issue
Block a user