1. CDD: Clarifications to Wi-Fi Aware Management interface address
    randomization requirements.
    
    Minor clarification of the requirement and updating it to match
    with the Wi-Fi Aware standard specification.
    
    Change-Id: I5f6d792ba267e1b1fffd2da3bcc571d286597395
    BUG:171723353
    (cherry picked from commit 32644bda8d1e4464d4bb5d71800d40e51d7cb428)
    
  2. CDD:Adding links to Android NDK SBIs
    
    Bug: 184073020
    
    Test: cdd-gen.sh script to build
    Change-Id: I40c4fddd84505a552a585dc1caab956081959877
    (cherry picked from commit 9a99b1d6a72b2971087ddd331f0873d18f5c5970)
    
  3. CDD: Remove .ota as MIDI file extension
    
    In Android 11 (R), the .ota file extension is no longer for MIDI,
    but is for its official MIME mapping, to support Android local
    system updates.
    
    This change matches the CDD with what the plaform code is already
    doing in Android 11, and what CTS is enforcing.
    
    See:
    https://android-review.googlesource.com/c/platform/libcore/+/999958
    for more detail on platform code change.
    
    Bug: 181140216
    Test: None
    Change-Id: I56abdb202516192710f9c62bf2a7e15efdd6002e
    
  4. CDD: Update reference to androidx-master-dev in CDD
    
    Bug: 175313425
    Change-Id: I0b0c104577b93cef0f8f2f2dcc9248972f8ea017
    Test: N/A
    
  5. Updated CDD for app-pairs split-screen model
    
    The requirement for products to pre-install a resizeable launcher isn't required moving forward since launcher isn't required to be in split-screen for app-pairs split-screen model.
    
    Bug: 169272025
    Bug: 162574267
    Change-Id: Id64ac106a89363a98e3ae432ed2da2025ced56a5
    Test: N/A
    
  6. CDD: Require writing LMK_KILL_OCCURRED_FIELD_NUMBER to the statsd log
     when an app is terminated by the Low Memory Killer.
    
    - This will enable reporting to developers if their apps are frequently
    killed by the Low Memory Killer.
    
    Bug: 148611927
    Change-Id: I8499925c9af9772c7bfc5478a4fed347274531a1
    Test: Manual
    
  7. CDD: Added in TextClassifier as part of ContentCapture
         requirements.
    
    This change has been introduced to ensure that TextClassifier
    Service does not exfiltrate data off the device.
    
    Bug: 149022430
    
    Change-Id: I77368a337d54e54e6261fa7338f135208e322126
    
  8. CDD: Requirements for IPV6 and Captive Portal.
    
    Adding requirements for captive portal handling to make sure
    that devices do not break interoperability. This also ensures
    that developers do not need to implement workarounds for
    captive portal networks, as the platform should be managing
    such networks for them.
    
    Also, IPV6 requirements have been tightened since the requirements
    have existed for multiple desert releases and now the ecosystem
    seems ready to provide IPV6 functionality to app developers on
    cellular, Wi-Fi and ethernet.
    
    
    Bug: 144673601
    Bug: 147156245
    Change-Id: I26bfe88963fe4854556daba72de539cb705ee7da
    
  9. CDD: Haptics requirements for Handheld devices.
    
    Update Haptics CDD requirements to provide informative guidelines
    about Android Haptics to solve existing fragmentation and device
    qualification problems on Handheld devices.
    
    Bug: 143966455
    Test: None
    Change-Id: I650cb83eb0b461d74efa9b184fadce0f31edb881
    
  10. CDD: Mandate metadata encryption
    
    Improvements in kernel support mean that we can now enable metadata
    encryption on all devices. Metadata encryption improves user privacy,
    and testing is more effective when we reduce ways for devices to vary.
    
    Bug: 147690095
    Test: n/a
    Change-Id: Id94f110ad64b39db55d43501e929b26431b7fc53
    
  11. CDD: Requirements for presentation of notifications
    
    Android 11 added in support for conversation notifications and
    added in requirements for grouping/display of conversation
    notification for a unified user experience.
    
    Test: make
    Fixes: 145622353
    Change-Id: I133daed3222716197d82d3984432f2cdfb5c16ee
    
  12. CDD: Strongly recommend kernel heap initialization
    
    The idea is to eliminate bugs related to using uninitialized heap
    variables in the kernel by force-initializing all the heap allocations
    (page alloc and kmalloc()). This includes potential stability bugs as well
    as information leaks as well as vulnerabilities related to control flow
    subversion. Together with stack initialization, this change is going to
    mitigate most of the bugs related to uninitialized memory in the kernel.
    
    Test: None
    Bug: 143931827
    
    Signed-off-by: Alexander Potapenko <[email protected]>
    Change-Id: I3af6f5d8a02fd3895b9c5e125a602e8672478488
    
  13. CDD: Intents Classification and Clarification
    
    Intents have been classified as application intents and
    broadcast intents.
    Application intents have been listed for each form factor.
    Removed the terminology of Core intents and called it common
    application intents to be more inline with the developer pages.
    
    Also renamed section "3.2.3.5 default app settings" to
    "conditional application intents" and moved in the conditional
    application intents in that section.
    
    The goal is to provide clarity to OEM's and developers on the
    list of intents to expect an activity/handler.
    
    Change-Id: I4416c2b06b7845581e701f8137e7d870d4749938
    BUG: 148181180
    
  14. CDD: Requirements for Blob Sharing Service.
    
    Blob Sharing is a new feature in R which allows
    apps to share data blobs with other apps by contributing
    the data to the system. The purpose of these new CDD requirements
    are to ensure data blobs belonging to apps are only shared as
    restricted by the originating application.
    
    Bug: 145299226
    Test: visual inspection in markdown editor
    Change-Id: I0b418af6b32a85b2fdff4ca50168b9eadbf0f03a
    
  15. CDD:  Require OTA Resume On Reboot feature.
    
    Update File-based encryption to included content related to Resume On Reboot requirements.
    
    Bug: b/145144304
    Change-Id: Ifd18665d28e26e9afa7ac63011e1484f2559d6cc
    
  16. CDD: Minimum display requirements for Handheld devices.
    
    Updated existing requirement of minimum display size
    (2.5+ inches in physical diagonal size) to 3.3 so that all
    apps will be able to run. Currently some functions are hard to
    touch on small displays.
    
    The new display size is derived from the accessibility/human factor
    guideline 5 icons placed side by side at 10mm each as per the
    human factors guidelines, become 50mm, or roughly 2 inches.
    
    Change-Id: I0422de8b647dc6824c0d8c7ae11a8e8e1d15a9b8
    BUG: 148973087
    
  17. CDD: Clarify escrow token policy for Automotive
    
    To ensure proper escrow token usage for
    trusted devices, clarify that the encryption
    keys must not be stored in any part of the
    vehicle even if they are outside of Android
    automotive head unit.
    
    Bug: 151435941
    Test: NA
    Change-Id: I7450d0c116e832fef549074852a463afabc10c98
    
  18. CDD: Added requirements of file-based on-access verification
    
    The new articles require device implementation to support on-access
    verification with trusted certificates, such that for an enabled file,
    if a part of the file is tampered with, a read from the tampered part
    will fail.
    
    As an example, fs-verity, which is an implementation in Linux kernel
    and is used to protect an APK if the APK is installed with a trusted
    signature.
    
    Test: check in an MD viewer
    Bug: 144365636
    Change-Id: Icae88a7cc3e4cdb61cf08cab98ab8adfa2931f77
    
  19. CDD: Requirements for Connectivity bug reports.
    
    This new type of bug report is well-defined starting with Android R, and
    is intended to capture information relevant to connectivity (telephony,
    wi-fi, and networking) debugging without including unnecessary PII.
    
    Bug: 145145343
    Change-Id: Ie6e320482aaf07ca0b739a14ce627d6545367aa3
    
  20. CDD: Update requirements for Android biometrics
    
    Update biometric section to clarify security requirements and enforce
    consistent biometric implementations. This ensures that biometric
    solutions are correctly implemented and surfaced via the biometrics APIs,
    and that their security is measured and tested appropriately.
    
    Bug: 145928315
    Test: make -j
    
    Change-Id: I633980e0f8993eb5814451e57601c216e03adaa8
    
  21. CDD: Changes related to Scoped Storage
    
    * Dropped references to WRITE_EXTERNAL_STORAGE and
      WRITE_MEDIA_STORAGE permissions as the permission
      WRITE_EXTERNAL_STORAGE is a no-op for apps targeting Android R.
      Also the privileged permission WRITE_MEDA_STORAGE is deprecated
      in Android R.
    * Scoped storage is enforced only by target SDK but the flag
      requestLegacyExternalStorage is not a way to opt out when targeting
      Android R.
    * We no longer need text to emphasize how apps can access SD cards,
      this is enforced in the SDK
    * Raw file path access now allowed as privacy rules are enforced 
      behind the scenes
    
    BUG: 144375132
    Change-Id: I292426ee55ecb395dcdbcc3f840d8c9bc5e7a6fc
    
  22. CDD: Clarify GPS requirements for
    Automotive with no connectivity
    
    For Automotive devices with no connectivity option, additional
    criteria are specified. This is to provide guidelines for low-end
    head units which might not support cellular connectivity.
    
    Bug: 152455048
    Test: NA
    Change-Id: Iae389ed4e660512f90e695d958d56b70cab64ef4
    
  23. CDD: Add section for app data migration
    
    Allow devices to offer a device-to-device application data migration
    capability that does not limit the application data it copies to what
    is configured by the application developer in the manifest and any
    backup include and exclude files, subject to certain security and
    privacy requirements.
    
    Bug: 143524713
    Change-Id: Iccf72a4b4e6959b63d0311cd50a2f09e83aa8562
    
  24. CDD: Intents visible to Instant Apps.
    
    An Android Instant App is a small version of your app
    that runs without installation. Since Instant Apps cannot see
    the other applications on the device and rely on pickers and
    other system-defined components to do work, the request is
    to expose certain intents and make them available to instant apps
    i.e an instant application can launch this intent and there will
    be a handler for it.
    
    Bug: 147893121
    Change-Id: Ied14e0e4753a3ddf2150b32387047b93ad9d23db
    
  25. CDD: Add requirement for Window Manager Jetpack for foldables.
    
    Require providing implementation of `sidecar` or `extensions`
    to be used by Window Manager Jetpack library and report
    state and configuration of a foldable device to app developers.
    This will help app developers to optimize their apps with a
    single support library which will work across all devices.
    
    Bug: 148290425
    Change-Id: I9c3a0cf49d49367984b740b07b2ab24c6e75f385
    
  26. CDD: Add section for contacts local account
    
    Standardize local account types in the ContactsProvider.
    
    There is no standard way for applications to refer to local contacts on
    Android. It is slightly different on devices from different
    manufacturers. So applications  (e.g. contacts backup/restore or
    device-to-device contact transfer applications) that want to operate on
    local contacts on any Android device must understand the idiosyncrasies
    of each manufacturer.
    
    Test: N/A
    
    Bug: 145120250
    Change-Id: Ic4818bc7a630a5ec603338c0eafbfcb851ad0584
    
  27. CDD: Handheld requirements for device controls.
    
    Add definitions to support Device Controls. Device
    Controls are an affordance within the Power Menu that allows users to
    remotely control their home devices such as lights and thermostats,
    as well as other IoT devices. SystemUI provides a default
    implementation of this feature for AOSP.
    
    The user experience for home control (IoT control) is fragmented
    and not integrated across multiple vendor-supplied applications.
    Adding in requirements to create a standard surface for the
    individual controls provided by app developers to show on.
    
    Bug: 145990227
    Test: go/marked
    Change-Id: Ic5cdb781683f3610f9600d40ea1f8fc568cb52ae
    
  28. CDD: Vehicle Property extension
    
    Ensure device implementors do not duplicate the public API
    VehiclePropertyIds by abusing the new Android custom option
    VehiclePropertyGroup:VENDOR and create fragmentation for 3rd
    party app developers.
    
    
    Bug: b/158230317
    Test: NA
    Change-Id: I788c4ed610ba5eefe11925bf8bac36244b75e561
    
  29. CDD: Remove sleep timeout configuration for Automotive
    
    Automotive devices have a different timeout.
    The screen goes to locked screen whenever
    the vehicle is turned off or the user
    profile is switched. The timeout configuration
    is not an applicable setting for automotive
    devices. Removing the requirement.
    
    Bug: 154351787
    Test: NA
    Change-Id: I339b85850adec12843bb8506b081912e6abb7659
    
  30. CDD: Clarify faketouch requirements for multi-displays
    
    - Moved 7.2.5/C-1-7 to under 7.2.4 as TOUCHSCREEN_NOTOUCH is that
     it *only* supports fake touch and not any of the
     android.hardware.touch.* features (e.g. a normal
     desktop computer without a touchscreen attached).
    - Clarified a case for multi-display devices, that may have different
    touch implementations per display.
    
    Change-Id: Id125d3b829e6c9b55cce3a64cbe8409f83820228
    bug:128322943
    
  31. CDD: Sensors updates for timestamps and more
    
    Change summary:
     - Timestamp synchronization is now mandatory with tightened guidance
     - Make +/- 16g accel guidance in hifi_sensors strongly recommended
     - Correct misleading wording in gyroscope and thermometer sections
    
    Bug: 145023264
    Test: view formatted markdown
    Change-Id: If62e8a931d76f04f147c6dc5aeeb5ee1afb5968e
    
  32. CDD: Update various requirements relating to sensors
    
    Updated sensor requirements for Android 11 relating to:
    - Magnetometer, accelerometer, and gyroscope placement in order to
      improve the ability to detect orientation of device.
    - Requiring non-zero resolution for all sensors to mitigate
      privacy attacks.
    - Recommend uncalibrated magnetometer be implemented when a
      magnetometer is present on a device
    - Hinge angle sensors to reduce developer fragmentation when
      using hinge sensor API's.
    
    
    Bug: 148824514
    Test: View in go/MarkEd
    Change-Id: I6f681e515f64ee1fb6e48a31af42a15328528bc3
    
  33. CDD: Emergency Location Bypass API for Automotive
    
    Clarify that automotive may use emergency
    location bypass in the case of detection
    of a crash/accident, satisfying eCall requirements
    
    Bug: 152455211
    Test: NA
    Change-Id: I5b27dabd76ecba393ba85f9b08775caf9614cbeb
    
  34. CDD: Add Identity Credential as STRONGLY RECOMMENDED
    
    The Identity Credential System allows app developers to store
    and retrieve user identity documents, device implementations are
    strongly recommended to implement Identity Credential in a secure area.
    
    Bug: 146022741
    Test: n/a
    Change-Id: I69bb11fdb1e9b7abcc73bf4ff23a447ca4a413de
    
  35. CDD: Make Test Harness Mode a MUST
    
    Test harness is a core Android feature, used by developers
    to automate the cleanup of devices. Bumping it from SR to
    MUST in CDD.
    
    Bug: 144375044
    Change-Id: Ida0b0ace52d0fa63f14d7e9bb46348fefe6b017a
    
  36. CDD: Camera: Disallow facial appearance alteration
    
    Altering facial appearance by default is problematic in many ways.
    Disallow it in the images provided by the Android Camera APIs.
    
    Test: None
    Bug: 145841721
    Change-Id: I3e547bf3f71bd5decc785bbbb51e3e3b88dfcf88
    
  37. CDD: Handheld: Require the report for GPU profiling
    
    Android has defined a GPU profiling data scheme to support GPU profiling
    across different GPUs. This patch adds GPU profiling as part of CDD for
    handheld devices so that when the handheld device implementations claim
    the GPU profiling support, we ensure the implementations follow the data
    scheme Android defines.
    
    BUG: b/144446776
    Test: atest CtsGpuProfilingDataTestCases
    Change-Id: I44bf999aab83116e8858bc331f9aaf544fb40aa9
    
  38. CDD: Clarify the condition for reqs under section 3.5.1 and 8.3 and
     the timing of user notification for 3.5.1/C-1-5
    
    - Updated 3.5.1/C-1-5 to specify the timing of user notification
    for better user experience.
    - Clarified the conditions for 3.5.1 and 8.3 that the former apply
     to proprietary app restrictions that are more restrictive than "rare"
     standby bucket.
    
    Bug: 145312968
    
    Change-Id: I5965e80b7d631da9ef4363a9a5dd090ba365b4cb
    
  39. CDD: Clarify Device Owner consent requirements
    
    Clarify device provisioning compatibility requirements for a fully managed device. This provisioning method is primarily used to provision a device that is owned by a company.
    
    Bug: 64556174
    
  40. CDD: mandate non-reversible FBE key derivation function
    
    The kernel portion of FBE originally used an AES-128-ECB based Key
    Derivation Function (KDF) to derive per-file keys.  While this met the
    original security requirements, it is not a standard KDF and it does not
    follow cryptographic best practices.  For example, it is reversible, so
    if a single file's key was compromised then all other files protected by
    the same FBE policy were too.  It is also inflexible, making it hard to
    add new features to FBE and encouraging poor practices like reusing the
    FBE master keys for both encryption and key derivation.
    
    Android R supports a new FBE policy version which uses HKDF-SHA512
    to derive all subkeys from the master key.  It can be enabled using an
    fstab option like "fileencryption=aes-256-xts:aes-256-cts:v2".  It is
    also the default setting when the shipping API level is >= R.  Kernel
    support is in android-4.14 and later, and in the upstream Linux kernel.
    
    So, start requiring that a strong KDF be used and that FBE keys are not
    used for different cryptographic purposes.  As with the other storage
    encryption format requirements, this only applies to new devices; this
    is covered by the paragraph at the beginning of section 9.9.
    
    This requirement does not require any special hardware support, and the
    new KDF performs as well or better than the old KDF.
    
    Bug: 144509061
    Change-Id: Ie8b8df0a19be21dcfb7aed18aa3ac7e9c7e2b893
    
  41. CDD: strongly recommend kernel stack initialization
    
    The idea is to eliminate bugs related to using uninitialized local
    variables in the kernel by force-initializing all the locals. This
    includes potential stability bugs as well as information leaks as well
    as vulnerabilities related to control flow subversion. Together with
    heap initialization, this change is going to mitigate most of the bugs
    related to uninitialized memory in the kernel.
    
    Test: None
    Bug: 143863382
    
    Signed-off-by: Alexander Potapenko <[email protected]>
    Change-Id: Ia0fe68df775a89c1d49b8d348fd105dcb41ff494
    
  42. CDD: Require to display the same consistent UI for
         ACTION_MANAGE_OVERLAY_PERMISSION intent.
    
    Without such requirement intent android.settings.action.MANAGE_OVERLAY_PERMISSION
    with data URI “package:<package>” can redirect the user
    to the app-specific screen to enable permission
    android.permission.SYSTEM_ALERT_WINDOW. This makes it too
    easy for malicious apps to fool the user into enabling it.
    
    Bug: 145286669
    Change-Id: I5fce6cc6bf21b93f953b53ce077c0272dc71bae2
    
  43. CDD: Update the wording on Android Extensions
    
    Added two requirements on the new extension version concept.
    
    We're adding a concept of "extensions" of a given dessert release,
    released independently of the dessert itself. Reporting a particular
    extension version implies a set of APIs must be present, and passing
    CTS.
    
    Bug: 145614901
    Test: ./cdd_gen.sh --version 11 --branch aosp-master
    Change-Id: Iebc4ca61f85aef437ccfd6e9216f4230017922f8
    
  44. CDD: Change for camera intent handling
    
    Specify that only preinstalled apps may handle the following
    intents :
    - MediaStore.ACTION_IMAGE_CAPTURE
    - MediaStore.ACTION_IMAGE_CAPTURE_SECURE
    - MediaStore.ACTION_VIDEO_CAPTURE
    
    Apps requesting image or video capture via ACTION_IMAGE_CAPTURE,
    ACTION_IMAGE_CAPTURE_SECURE, ACTION_VIDEO_CAPTURE and
    ACTION_VIDEO_CAPTURE_SECURE can optionally pass in a URI via
    an intent extra (EXTRA_OUTPUT) or by setting clip
    data (Intent#setClipData). Images or videos captured using this
    mechanism may contain location info their EXIF metadata depending
    on the implementation of the app handling these intents
    The intention behind this change is to prevent EXIF metadata
    being leaked to apps that don’t hold the location permission.
    Hence, restricting these intents in R to only pre-installed apps.
    
    Test: none
    Bug: 147582001
    Change-Id: I0b9cbcf478fcba063e9d42c0bf64f782d9b7bc0a
    
  45. CDD: Relax/Clarify Rounded Corner Req.
    
    - The additional language to clarify the ambiguity in case the shape of a rounded corner is not perfect circle (e.g. oval).
    - Rounded corners are utilized by most modern phones and end up cutting into app content (buttons, text, media, etc.). As the corners grow larger in size, they start completely hiding app content - we need to ensure that critical functions (e.g. ad or close buttons) are still visible to the user on screen by finding a balance between app UI and HW modernness.
    
    Bug: 155688050
    Change-Id: Id77295e37bc449de237aa30cfdfd02f47350d7c3
    
  46. CDD: Require Incremental File system and APK V4 signing scheme
    
    - This change corresponds to the introduction of the new APK v4 signing
    scheme for new devices.
    
    Bug: 145032924, 133434619, 154381850
    Test: ./cdd_gen.sh --version=<version> --branch=<branch>
    Change-Id: If1e7df0cc9db2ed3b39f6078734f4521ea45f9ea
    
  47. CDD: Requirement for default material theme font.
    
    The intent is to ensure that app developer's expectations are
    consistent with the default (e.g. without explicit user consent)
    on-device presentation of their apps, and the default sans-serif
    font is a highly-visible aspect of this presentation.
    
    
    Bug: 150033413
    Change-Id: Ib434bbd28d27e513d3813a07aaaa5b1ff42ee9c2
    
  48. CDD: Update managed profiles lockscreen CDD requirements
    
    Update CDD to allow managed profiles without lockscreen.
    Android TV does not support lockscreens and requires managed profiles
    for Unicorn (Kids) profiles.
    
    Test: None
    Bug: 152830725
    Change-Id: I520ecee3638b8cc960162c5f2c4c4aee861ccf3a
    
  49. CDD: Update Secure Element requirements
    
    Add requirements for OMAPI reader feature flags.
    Applications could know if the device has a valid OMAPI reader
    before applications are installed and executed.
    
    Bug: 147706053
    Bug: 146527692
    Test: NA
    Change-Id: I0feb26767a505f4141343638d8441c3ef04ef4bc
    
  50. CDD: Requirements for PIP window size
    
    To respect the activity's minWidth and minHeight when accounting
    for the minimal size for PIP.
    
    Applications other than video-based ones may prefer a much more
    condensed window when in PIP mode. Previously, the final size
    of a PIP window was calculated by the system without the application
    being involved.
    
    Summary:
    - Separate the requirement for TV from non-TV
    - Respect the minimum dimension declared by application as the PIP
    window size, if applicable
    
    Bug: 144849584
    Test: N/A
    Change-Id: Ic6d4793475ed227eaa1b5b1e394dfa4dd2a87250
    
  51. CDD: Relaxed Garage Mode requirements on Automotive.
    
    Relaxed the time requirement for automotive products for
    the Garage mode functionality as the android automotive ecosystem
    is not ready yet. The main Garage Mode goal is to make sure
    the platform and associated apps/services are up to date. We
    still encourage OEMs to continuously improve their power and
    connectivity architectures to better align with the Android
    platform needs.
    
    Bug: 155510364
    Test: NA
    Change-Id: I80dd3a83cdf69dcf29a9406678c96848d162f312
    
  52. CDD: Clarify definition for a Tablet
    
    Clarified the definition for tablet, so it is clear
    to device makers and there is no ambiguity.
    
    Bug: 156249412
    Change-Id: I84ab4fd1b3537c5c57a48d9a35b8fe73d10c72fc
    
  53. CDD: Add Adb Wi-Fi CDD documentation.
    
    To make it easier to debug with physical devices we are making it easy
    to use WiFi for ADB debugging by improving the app developer experience,
    improving device discovery via mDNS, and securing the connection between
    Android device and development machine.
    
    Bug: 145035407
    
    Test: N/A
    Change-Id: I992bba62799a27ce8d14407985fccfafcf57b8dd
    
  54. CDD: Update guidance for audio output on Android Watch devices
    
    The previous guidance that discouraged audio output is obsolete.
    This change is inline with developer expectation for Wear:
    https://developer.android.com/training/wearables/wearable-sounds
    
    Test: N/A
    Bug: 156074600
    Change-Id: I286446b1fb4e04e69559d65ed9aabc3823854822
    
  55. CDD: Enable perfetto traced daemon by default
    
    This change mandates enabling the perfetto traced by default.
    Doing so allows system to rely on perfetto tracing in order to
    monitor and handle performance optimizations.
    
    Bug: b/144858426
    Change-Id: I1edf88d1fcf71f95c3aebb76c1d762bd942525be
    
  56. CDD: Relaxing MIDI requirement for USB peripheral mode
    
    Relaxing this requirement because the MIDI over USB peripheral
    mode transport can be more difficult to implement on some devices,
    and it is less critical than the other transports.
    
    Bug: 79266014
    Test: N/A
    Change-Id: I283c035f21b1d68379ec703c1061d59d5a7cf7e9
    
  57. CDD: Explain Vulkan dEQP test requirements
    
    Device implementations that support Vulkan must provide a feature
    flag, android.software.vulkan.deqp.level, specifying the version of
    the Vulkan dEQP tests that the device claims to pass.  This allows for
    flexibility for device makers in the level of Vulkan dEQP tests that
    are supported, and allows apps to query the level of support that is
    provided.  This CDD change sets out the requirements related to this
    new feature flag.
    
    Bug: 148619801
    Change-Id: I59aec5fed4bca33473f184a362d34a7b7cb450b3
    
  58. CDD: Add a camera requirement for the automotive
    
    Extended View System, which provides APIs to implement the camera
    services on the automotive device implementations, needs Android
    Synchronization Framework support.
    
    Bug: 158075280
    Test: NA
    Change-Id: Ibb2f6855afda23e1af142548d31d7077497503bb
    
  59. CDD: MUST NOT expose app details to other apps
    
    Apps targeting Android 11 cannot see details about other installed apps
    by default, due to the package visibility change.
    
    Bug: 145293555
    Change-Id: Iba1d6facb57f492589c3f5d61c719d0369367d1c
    
  60. CDD: Bluetooth Privacy Updates.
    
    Tightened the Resolvable Private address requirement to protect
    user privacy and avoid timing attacks.
    
    BUG:148566806
    Change-Id: I7ee26f8389821b1a299d0de977e20dc5a7b737fd
    
  61. CDD: Update DisplayCutout requirements
    
    Broaden display cutout definition to allow for waterfall displays.
    
    Bug: 143907595
    Test: n/a
    Change-Id: I4f8bf0873621a6a9f259a850f2f1d3d7e692c15f
    
  62. CDD: Adjustments to system bar requirements in automotive
    
    The existing layout parameters are deprecated
    in Android R. Updating the system bar parameters.
    
    Bug: 154352678
    Test: NA
    Change-Id: If8fc6a677aa5fb4a5ec1aed1a604f144d103319b
    
  63. CDD: Change to Enable Notification Listener on the lowRam device
    
    - The notification listener is supported on all RAM tiers,
    not just normal.
    - This is a change that reflects that
    Notification Listener is enabled for low-ram flag
    devices (it had earlier been disabled).
    
    Bug: 151450994
    Test: Manual test
    Change-Id: Ibb3ce8f6fb950dc4103469ed1710da13a43d8d70
    
  64. CDD: Carve out gyro 250dps range for Automotive am: 29db8c2624 am: 0c38e67bb0 am: 3299790889 am: 0e6259a0f6 am: f552dc3750
    
    Bug: 147831815
    Test: N/A
    Change-Id: I2d40f0c688c35cd07e274f41db771cf694363dc9
    (cherry picked from commit 0e5da195af73c4647fde15fba915f24a94b37b31)
    
  65. CDD: Carve out gyro 250dps range for Automotive
    
    Carve out gyroscope measurement range to +/-250dps for
    automotive only and clarify that it's desired that the range not
    be larger either.
    
    Bug: 147831815
    Test: N/A
    Change-Id: I2b0b0ac8b0020bfd32945c069744c7956f14bd27
    (cherry picked from commit c86498b64e80790317ca33254621753be15008b8)
    
  66. Revise gamepad requirements
    
    Our gamepad requirements are currently incorrect. For example, we
    require all Android devices to handle gamepads, but in the requirements,
    it seems that only the devices with "android.hardware.gamepad" do this.
    
    Fix this by splitting a separate section for the gamepad shipped with
    the Android device.
    
    The purpose of the feature flag `android.hardware.gamepad` is to indicate
    to app developers that a given device was shipped with
    an Android-compatible controller in the box. The developer is then
    guaranteed that the user will have a gamepad they can use for their
    gamepad-only Android application. However, it is still expected that all
    Android devices (phone, car, TV, etc.) should have gamepad support,
    because a user may connect a supported gamepad to the device at any time.
    It's not the expectation that the only devices with gamepad support are
    the ones that claim the above feature flag.
    
    Bug: 112265413
    Bug: 145056738
    Test: visually reviewed the page that opened at http://localhost:8090/
    Change-Id: I715300c5c3178225be10f63bb6a493da035da833
    
  67. specify channels and sample rates for Opus Codecs
    
    Bug: 124525623
    Test: build
    
  68. audio recording: fix broken link
    
    Fix broken link to "Sharing audio input" developer guide in
    "Concurrent Capture" section.
    
    Test: make
    Change-Id: I93b6945a3c384432a68207ca8ba9379e9074e45d
    
  69. Docs: Almost final Cleanup CL.
    
    Bug: 140142603
    
    Test: ./cdd_gen.sh --version <version-number> --branch <branch-name>
    Change-Id: Ib0a8e55035eab94ff6ab28ad3c6aa6c7c1ae19d3
    
  70. Docs: CDD build scripts and graphics for 10.
    
    Bug: 140142603
    
    Test: ./cdd_gen.sh --version <version-number> --branch <branch-name>
    Change-Id: I6174c3bbc7f6c818cbf232e9c30b3ab636b4a373
    
  71. CDD build script and helper shell script.
    
    Bug: 140142603
    
    Test: ./cdd_gen.sh --version <version-number> --branch <branch-name>
    Change-Id: I1ff81769e210cda3cc5de2b3d871286bf020d8ce
    
  72. Adding content fixes from Android 9 errata.
    
    Bug: 140142603
    
    Test: N/A
    Change-Id: I19f776dba6fe6a9a0a3d626311d8a836f2c2192c
    
  73. Docs: Editorial Fixes for Section 9.8 and 5.2.5 (video codec table)
    
    bug: b/140142603
    test: NA
    
    Change-Id: Ie5047a8497c94c4cb4e9f0b2bbea51efab9f2eda
    
  74. CDD: Remove Android Beam related requirements
    
    - Android Beam has deprecated and thus removing the related
     requirements.
    
    Test: None
    Bug: 122551568
    Bug: 111689901
    Bug: 124001390
    Change-Id: Ifbc34e464fdf4fdf8c08eced8930960d74d813d6
    (cherry picked from commit efdadaef4db20edf215d1303c35d0e6b99142bd0)
    
  75. CDD: Revise power and batching target for Game Rotation Vector
    
        - The power target was unreasonable as the individual sensors that
          are used to create a Game Rotation Vector use more power than
          the previous target.
        - No practical application for batching of the GRV has been
          determined, therefore, the requirement is being removed.
    Bug: 123996403
    Test: None
    
    Change-Id: I3ab55f5beef03fe1044627197f52cdb0574cb349
    (cherry picked from commit f64b6c0823cfded4cdf6a5836180f39cf60c0487)
    
  76. Docs: Add title which was dropped on merge.
    
    Test: N/A
    
    Bug: 140252840
    Change-Id: Id7e7b3149e6af4b915e2447c89f5565d2b1028a3
    
  77. Revert "Docs: Add title which was dropped on merge."
    
    This reverts commit 222b842d7bfd7aacbebea18b55f0d754cb457772.
    
    Reason for revert: Worked from unsynced branch.
    
    Test: N/A
    
    Bug: 140252840
    
    
    Change-Id: I2b0e63c92ba5cfe528d9a543a21bb625bd3b83d6
    
  78. Docs: Add title which was dropped on merge.
    
    Test: N/A
    
    Bug: 140252840
    
    Change-Id: Ief074e4c785d06351fe5899e53de0beb4d1fda06
    
  79. Docs: added link to AMR-WB reference
    
    Bug: 71561064
    Test: N/A
    Change-Id: I6917396fdf73cd1274b45c78407d3494e2cbaa68
    
  80. Docs: Prefer American spelling
    
    per https://developers.google.com/style/spelling
    
    Bug: 140034464
    Test: N/A
    Change-Id: Ic2729c68596ec9a4967e7444214d2a6595d83147
    
  81. Docs: Whitespace at EOF
    
    Last line of file should end with a single newline.
    
    Bug: 140034464
    Test: N/A
    Change-Id: Icdaaf61f25a0448fdf866fee4295b0ee15348812
    
  82. Docs: Remove whitespace at end of line
    
    Bug: 140034464
    Test: N/A
    Change-Id: Ice72bae4111a657da940a77e81aa8f22b6887bfd
    
  83. Docs: Fix misspellings
    
    Bug: 140034464
    Test: N/A
    Change-Id: If526c0b31459c7f368c623a0d0e916bfc3fd344f
    
  84. Docs: Editorial fixes for the Android 10 release.
    
    Master CL for editorial fixes.
    
    Test: ./cdd_gen.sh --version <version-number> --branch <branch-name>
    
    Bug:129537662
    70503811
    72342052
    124383840
    129711581
    123095216
    127703043
    110493109
    
    Change-Id: Ife1a549aa79979532465c64d6cd2054ffa2d94b9
    
  85. CDD: Lockscreen and biometrics changes
    
    - Introducing new biomatrics tier model, adding
     the requirements and constraints for each tier.
    - Some editorial changes by reorganizing and folding some sections
    - Transferred ag/6940471 on master to qt-branch
    
    Bug: 126002559
    Bug: 120995257 (7.3.10/C-2-5)
    Bug: 124243324 (9.11.1/C-7-12)
    Bug: 124403616 (7.3.10 additional background)
    Bug: 123365828 (9.11.1/C-7-11)
    Test: NA
    
    Change-Id: Ib36d40935c77ec370a2494ddb1506b0a952fd525
    
  86. Declare ANDROID_VERSION global
    
    Bug: 140105936
    Test: print the rendered .html to PDF and see what filename it uses
    Change-Id: If19ff54761dd26e007ee0ff44e4ffc568d05db2d
    
  87. Doc: Update instructions for publication
    
    Bug: 140072674
    Test: N/A
    Change-Id: I36327e084f4266411ed224faa56522487098ed68
    
  88. resolve merge conflicts of d381e57aaeb412a8cc113c08db4e165283ec39e8 to master
    
    Test: I solemnly swear I tested this conflict resolution.
    Bug: None
    Change-Id: I7b8f0b05d8877d9d9eee78599e9daa7c26c20428
    
  89. Doc: fix duplicated concurrent capture section
    
    This was incorrectly introduced during one of the rebases.
    
    Test: N/A
    Bug: 140024016
    Change-Id: I6bda4d65583416a7aa618bc6678e9706b5433c56
    
  90. CDD: Compatibility coverage for Perfetto and Heap Profiler
    
    - Part of overall Telemetry stack compatibility coverage effort
    - Required for metrics from field and Topline sharing with Partners
    
    Bug: b/124501718
    Bug: b/124501308
    
    Test: N/A
    
    Change-Id: Id366b0657605df9d7b7d3156013c00d5fb9dfabe
    
  91. CDD: Updating location and corresponding privacy requirements
    
    - Some minor changes for reporting GNSS measurements
    - Bumping up from Should to SR for 3-axis accelerometer
    - Update privacy requirements related to the user's location to align
    with the updated privacy policy
    
    Bug: 124539379
    Bug: 124405285
    Bug: 124405354
    Bug: 123593924
    Bug: 124404671
    Bug: 124404696
    Test: N/A
    Change-Id: I6278b6af8f1f3f00fe455d66fa051d3d7f5a2dc7
    
  92. CDD: miscellaneous media updates
    
    Bug: 124525623
    Change-Id: I33b69f9b7bc8f4d7f4e8227e551c1cc7657acef4
    
  93. CDD: Digital Audio Ports
    
    Added in requirements to be compatible with the headsets
    and other audio accessories using USB-C connectors and
    implementing (USB audio class) across the Android ecosystem.
    
    Bug: 36515288
    Test: make
    Change-Id: I65bfe1049ab922db25d4748514c6e5fc5c53e09e
    
  94. CDD: Tighten keystore req
    
    - Tighten the security consistently for Android ecosystem.
    - Remove the condition of a secure lock screen for Keystore reqs for
    form-factors (i.e. Handheld, Auto, TV) that have adopted keystore reqs.
    
    Bug: 111748530
    
    Change-Id: If7682e1410b52390135627d3edc9724d779a265f
    
  95. CDD: Require user consent for screen casting and screen recording
    
    - Provide more transparency for users about casting/screen recording.
    
    Bug: 135560873
    Test: N/A
    
    Change-Id: I36c4f4e26e113bd24737bb0b5fc1476f6d378c83
    
  96. CDD: Update clipboard requirement
    
    - Updating the clipboard requirement to improve privacy.
    
    Test: N/A
    Fixes: 121159550
    Change-Id: Id1cd6237ee741acdf2a24c43a9c4f5f2ec09d0ee
    
  97. CDD: Add requirements for microphone gain levels
    
    This is to ensure a consistent user experience when using
    an Assistant with voice input across the Android ecosystem.
    
    Test: N/A
    Bug: 124334275
    Change-Id: I3820ea054d3681fa304d8757ee018441d5cbe192
    
  98. CDD: Camera: Clarify logical multi-camera requirements
    
    - Ensure CDD language for logical multi-camera matches the key
      priorities for Android applications.
    
    Test: None
    Bug: 120859606
    Change-Id: Iced34bfc0b90de8f2d2e6e9e709eb950fd921d48
    
  99. CDD: Requirements for microphone characteristics APIs.
    
    Device implementations MUST honor the microphoneInfo API's
    and provide accurate information to developers about the list
    of available & active microphones on the device.
    
    Test: N/A
    Bug: 124334060
    Change-Id: If83a8ce162aeb956919fe98fa4eb85fbfe1db111
    
  100. CDD: Update aspect ratio requirement for devices with UI_MODE_TYPE_NORMAL
    
    - Updating the requirement permissive for smaller or larger aspect ratio
     as long as the app's settings through the APIs are respected.
    - Adding C-0-4 based on the newly introduced API (minAspectRatio).
    
    Test: n/a
    Bug: 121048097, 120129697, 124494228
    Change-Id: I41716018b4039cb63e98001696687998ac961b02