Merge Android10 QPR1 into AOSP master

Bug: 145570283
Change-Id: I0ee6537a166333d364a2fef61cbf08dfaf00cfb9
diff --git a/2_device-types/2_2_handheld-reqs.md b/2_device-types/2_2_handheld-reqs.md
index 48a5097..d97c587 100644
--- a/2_device-types/2_2_handheld-reqs.md
+++ b/2_device-types/2_2_handheld-reqs.md
@@ -57,7 +57,7 @@
 event of the Back function ([`KEYCODE_BACK`](
 http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BACK))
 to the foreground application. These events MUST NOT be consumed by the system
-and CAN be triggerred by outside of the Android device (e.g. external hardware
+and CAN be triggered by outside of the Android device (e.g. external hardware
 keyboard connected to the Android device).
 *   [[7.2](#7_2_input_devices).4/H-0-1] MUST support touchscreen input.
 *   [[7.2](#7_2_input_devices).4/H-SR] Are STRONGLY RECOMMENDED to launch the
@@ -481,7 +481,7 @@
 services.
 *  [[3.10](#3_10_accessibility)/H-SR] Are STRONGLY RECOMMENDED to preload
 accessibility services on the device comparable with or exceeding functionality
-of the Switch Access and TalkBack (for languages supported by the preloaded
+of the Switch Access and TalkBack (for languages supported by the preinstalled
 Text-to-speech engine) accessibility services as provided in the [talkback open
 source project](https://github.com/google/talkback).
 *   [[3.11](#3_11_text_to_speech)/H-0-1] MUST support installation of
@@ -494,7 +494,7 @@
 If Android handheld device implementations declare `FEATURE_BLUETOOTH` or
 `FEATURE_WIFI` support, they:
 
-*   [[3.15](#3_15_instant_apps)/H-1-1] MUST support the companion device pairing
+*   [[3.16](#3_16_companion_device_pairing)/H-1-1] MUST support the companion device pairing
 feature.
 
 If the navigation function is provided as an on-screen, gesture-based action:
diff --git a/2_device-types/2_3_television-reqs.md b/2_device-types/2_3_television-reqs.md
index 3bb595d..3009805 100644
--- a/2_device-types/2_3_television-reqs.md
+++ b/2_device-types/2_3_television-reqs.md
@@ -121,9 +121,9 @@
 Section 5.3.1, at standard video frame rates and resolutions up to and
 including:
 
-*   [[5.3.1](#5_3_video_decoding).4/T-1-1] HD 1080p at 59.94 frames per second
+*   [[5.3.1](#5_3_video_decoding)/T-1-1] HD 1080p at 59.94 frames per second
 with Main Profile High Level.
-*   [[5.3.1](#5_3_video_decoding).4/T-1-2] HD 1080i at 59.94 frames per second
+*   [[5.3.1](#5_3_video_decoding)/T-1-2] HD 1080i at 59.94 frames per second
 with Main Profile High Level. They MUST deinterlace interlaced MPEG-2 video to
 its progressive equivalent (e.g. from 1080i at 59.94 frames per second to 1080p
 at 29.97 frames per second) and make it available to third-party applications.
@@ -180,8 +180,8 @@
 except for compressed audio passthrough output (where no audio decoding is done
 on the device).
 
-Television device implementations which do not have a built in display,
-but instead support an external display connected via HDMI; they:
+If Television device implementations do not have a built in display,
+but instead support an external display connected via HDMI, they:
 
 *    [[5.8](#5_8_secure_media)/T-0-1] MUST set the HDMI output mode to
 select the maximum resolution that can be supported with either a 50Hz or 60Hz
@@ -192,13 +192,13 @@
 to either 50Hz or 60Hz, depending on the video refresh rate for the region the
 device is sold in.
 
-If Television device implementations  who do not have a built in display,
-but instead support an external display connected via HDMI; they:
+If Television device implementations do not have a built in display,
+but instead support an external display connected via HDMI, they:
 
 *    [[5.8](#5_8_secure_media)/T-1-1] MUST support HDCP 2.2.
 
-If Television device implementations which do not support UHD decoding but have
-but instead support an external display connected via HDMI; they:
+If Television device implementations do not support UHD decoding, but
+instead support an external display connected via HDMI, they:
 
 *    [[5.8](#5_8_secure_media)/T-2-1] MUST support HDCP 1.4
 
@@ -228,7 +228,7 @@
 *   [[3.10](#3_10_accessibility)/T-SR] Are STRONGLY RECOMMENDED to
     preload accessibility services on the device comparable with or exceeding
     functionality of the Switch Access and TalkBack (for languages supported by
-    the preloaded Text-to-speech engine) accessibility services as provided in
+    the preinstalled Text-to-speech engine) accessibility services as provided in
     the [talkback open source project](https://github.com/google/talkback).
 
 
@@ -344,7 +344,7 @@
 
 *    [[9.11](#9_11_permissions)/T-1-1] MUST allow the user to choose the Sleep
      timeout for transition from the unlocked to the locked state, with a
-     minimum allowable timout up to 15 seconds or less.
+     minimum allowable timeout up to 15 seconds or less.
 
 ### 2.3.6\. Developer Tools and Options Compatibility
 
diff --git a/2_device-types/2_4_watch-reqs.md b/2_device-types/2_4_watch-reqs.md
index afaeb18..6e92b8d 100644
--- a/2_device-types/2_4_watch-reqs.md
+++ b/2_device-types/2_4_watch-reqs.md
@@ -78,7 +78,7 @@
 services.
 *   [[3.10](#3_10_accessibility)/W-SR] Are STRONGLY RECOMMENDED to preload
 accessibility services on the device comparable with or exceeding functionality
-of the Switch Access and TalkBack (for languages supported by the preloaded
+of the Switch Access and TalkBack (for languages supported by the preinstalled
 Text-to-speech engine) accessibility services as provided in the
 [talkback open source project]( https://github.com/google/talkback).
 
diff --git a/2_device-types/2_5_automotive-reqs.md b/2_device-types/2_5_automotive-reqs.md
index ee2ddcc..fdebbde 100644
--- a/2_device-types/2_5_automotive-reqs.md
+++ b/2_device-types/2_5_automotive-reqs.md
@@ -100,7 +100,7 @@
 
 *   [[7.5](#7_5_cameras)/A-1-1] MUST NOT have exterior view cameras accessible
 via the [Android Camera APIs](
-https://developer.android.com/guide/topics/media/camera),unless they comply
+https://developer.android.com/guide/topics/media/camera), unless they comply
 with camera [core requirements](#7_5_cameras).
 *   [[7.5](#7_5_cameras)/A-SR] Are STRONGLY RECOMMENDED not to rotate or
 horizontally mirror the camera preview.
@@ -299,7 +299,7 @@
 activity](https://developer.android.com/reference/android/content/Intent.html#ACTION_APPLICATION_PREFERENCES),
 but MUST only enable it when Car UX Restrictions are not in effect.
 *   [[3.14](#3_14_media_ui)/A-0-5] MUST display
-[error messages](https://developer.android.com/reference/android/support/v4/media/session/PlaybackStateCompat.html#getErrorMessage(\))
+[error messages](https://developer.android.com/reference/android/support/v4/media/session/PlaybackStateCompat.html#getErrorMessage%28%29)
 set by Media Applications, and MUST support the optional extras
 [`ERROR_RESOLUTION_ACTION_LABEL`](https://developer.android.com/training/cars/media#require-sign-in)
 and [`ERROR_RESOLUTION_ACTION_INTENT`](https://developer.android.com/training/cars/media#require-sign-in).
diff --git a/3_software/3_10_accessibility.md b/3_software/3_10_accessibility.md
index 397c8b1..1f52271 100644
--- a/3_software/3_10_accessibility.md
+++ b/3_software/3_10_accessibility.md
@@ -18,7 +18,7 @@
     implementations as documented in the SDK.
 *   [C-1-3] MUST honor the `android.settings.ACCESSIBILITY_SETTINGS` intent to
     provide a user-accessible mechanism to enable and disable the third-party
-    accessibility services alongside the preloaded accessibility services.
+    accessibility services alongside the preinstalled accessibility services.
 *   [C-1-4] MUST add a button in the system's navigation bar allowing the user
     to control the accessibility service when the enabled accessibility services
     declare the [`AccessibilityServiceInfo.FLAG_REQUEST_ACCESSIBILITY_BUTTON`](
@@ -28,9 +28,9 @@
     user affordance to control these accessibility services.
 
 
-If device implementations include preloaded accessibility services, they:
+If device implementations include preinstalled accessibility services, they:
 
-*   [C-2-1] MUST implement these preloaded accessibility services as [Direct Boot Aware](
+*   [C-2-1] MUST implement these preinstalled accessibility services as [Direct Boot Aware](
     https://developer.android.com/reference/android/content/pm/ComponentInfo.html#directBootAware)
     apps when the data storage is encrypted with File Based Encryption (FBE).
 *   SHOULD provide a mechanism in the out-of-box setup flow for users to enable
diff --git a/3_software/3_2_soft-api-compatibility.md b/3_software/3_2_soft-api-compatibility.md
index 2846636..38c0358 100644
--- a/3_software/3_2_soft-api-compatibility.md
+++ b/3_software/3_2_soft-api-compatibility.md
@@ -372,7 +372,7 @@
 application.
      *    MUST use the user-selected default Phone app's UI for incoming and
      outgoing calls except for emergency calls, which would use the
-     preloaded Phone app.
+     preinstalled Phone app.
 
 *   [C-2-3] MUST honor the [android.telecom.action.CHANGE_PHONE_ACCOUNTS](
 https://developer.android.com/reference/android/telecom/TelecomManager.html#ACTION_CHANGE_PHONE_ACCOUNTS)
diff --git a/3_software/3_5_api-behavioral-compatibility.md b/3_software/3_5_api-behavioral-compatibility.md
index cb5ab46..70004ed 100644
--- a/3_software/3_5_api-behavioral-compatibility.md
+++ b/3_software/3_5_api-behavioral-compatibility.md
@@ -90,8 +90,8 @@
 system health behavior, but MAY apply the restrictions on apps upon detection
 of poor system health behavior like stuck wakelocks, long running services, and
 other criteria. The criteria MAY be determined by device implementers but MUST
-be related to the app’s impact on the system health. Other criteria that is not
-purely related to the system health, such as the app’s lack of popularity in
+be related to the app’s impact on the system health. Other criteria that are not
+purely related to the system health, such as the app’s lack of popularity in
 the market, MUST NOT be used as criteria.
 *    [C-1-4] MUST not automatically apply app restrictions for apps when a user
 has turned off app restrictions manually, and MAY suggest the user to apply
diff --git a/3_software/3_8_user-interface-compatibility.md b/3_software/3_8_user-interface-compatibility.md
index 2d32654..b7c9d98 100644
--- a/3_software/3_8_user-interface-compatibility.md
+++ b/3_software/3_8_user-interface-compatibility.md
@@ -11,7 +11,7 @@
 *   [C-1-1] MUST declare the platform feature `android.software.home_screen`.
 *   [C-1-2] MUST return the [`AdaptiveIconDrawable`](
     https://developer.android.com/reference/android/graphics/drawable/AdaptiveIconDrawable.html)
-    object when the third party application use `<adaptive-icon>` tag to provide
+    object when the third-party application use `<adaptive-icon>` tag to provide
     their icon, and the [`PackageManager`](
     https://developer.android.com/reference/android/content/pm/PackageManager.html)
     methods to retrieve icons are called.
@@ -113,7 +113,7 @@
 
 #### 3.8.3.1\. Presentation of Notifications
 
-If device implementations allow third party apps to [notify users of notable events](
+If device implementations allow third-party apps to [notify users of notable events](
 http://developer.android.com/guide/topics/ui/notifiers/notifications.html), they:
 
 *   [C-1-1] MUST support notifications that use hardware features, as described in
@@ -437,12 +437,12 @@
 
 ### 3.8.11\. Screen savers (previously Dreams)
 
-Android includes support for [interactivescreensavers](http://developer.android.com/reference/android/service/dreams/DreamService.html),
+Android includes support for [interactive screen savers](http://developer.android.com/reference/android/service/dreams/DreamService.html),
 previously referred to as Dreams. Screen savers allow users to interact with
 applications when a device connected to a power source is idle or docked in a
 desk dock.  Android Watch devices MAY implement screen savers, but other types
 of device implementations SHOULD include support for screen savers and provide
-a settings option for users toconfigure screen savers in response to the
+a settings option for users to configure screen savers in response to the
 `android.settings.DREAM_SETTINGS` intent.
 
 ### 3.8.12\. Location
diff --git a/3_software/3_9_device-administration.md b/3_software/3_9_device-administration.md
index c9fd8d5..714005f 100644
--- a/3_software/3_9_device-administration.md
+++ b/3_software/3_9_device-administration.md
@@ -118,7 +118,7 @@
     Device Policy Controller permits it.
 *   [C-1-9] MUST ensure that it satisfies all the security requirements
     applicable for a device with multiple users enabled
-    (see[section 9.5](#9_5_multi-user_support)), even though the managed profile
+    (see [section 9.5](#9_5_multi-user_support)), even though the managed profile
     is not counted as another user in addition to the primary user.
 *   [C-1-10] MUST support the ability to specify a separate lock screen meeting
     the following requirements to grant access to apps running in a managed
diff --git a/5_multimedia/5_1_media-codecs.md b/5_multimedia/5_1_media-codecs.md
index e1e9ba5..df800c3 100644
--- a/5_multimedia/5_1_media-codecs.md
+++ b/5_multimedia/5_1_media-codecs.md
@@ -374,10 +374,10 @@
 
 Unless the application specifies otherwise using the [`KEY_COLOR_FORMAT`](
 https://developer.android.com/reference/android/media/MediaFormat.html#KEY_COLOR_FORMAT)
-format key, video decoder implementations
+format key, video decoder implementations:
 
 *   [C-4-1] MUST default to the color format optimized for hardware display
-if configured using Surface output
+if configured using Surface output.
 *   [C-4-2] MUST default to a YUV420 8:8:8 color format optimized for CPU
 reading if configured to not use Surface output.
 
diff --git a/5_multimedia/5_4_audio-recording.md b/5_multimedia/5_4_audio-recording.md
index 7241d65..cb1dec2 100644
--- a/5_multimedia/5_4_audio-recording.md
+++ b/5_multimedia/5_4_audio-recording.md
@@ -38,7 +38,7 @@
 *   [C-1-4] MUST honor the [`MicrophoneInfo`](
     https://developer.android.com/reference/android/media/MicrophoneInfo) API
     and properly fill in information for the available microphones on device
-    accessible to the third party applications via the
+    accessible to the third-party applications via the
     [`AudioManager.getMicrophones()`](
     https://developer.android.com/reference/android/media/AudioManager#getMicrophones%28%29)
     API, and the currently active microphones which are accessible to the third
@@ -82,7 +82,7 @@
 If device implementations declare `android.hardware.microphone` and noise
 suppression (reduction) technologies tuned for speech recognition, they:
 
-*   [C-2-1] MUST allow this audio affect to be controllable with the
+*   [C-2-1] MUST allow this audio effect to be controllable with the
     `android.media.audiofx.NoiseSuppressor` API.
 *   [C-2-2] MUST uniquely identify each noise suppression technology
     implementation via the `AudioEffect.Descriptor.uuid` field.
diff --git a/6_dev-tools-and-options/6_1_developer_tools.md b/6_dev-tools-and-options/6_1_developer_tools.md
index 0cabcb9..802b984 100644
--- a/6_dev-tools-and-options/6_1_developer_tools.md
+++ b/6_dev-tools-and-options/6_1_developer_tools.md
@@ -9,7 +9,7 @@
         commands provided in the AOSP, which can be used by app developers,
         including [`dumpsys`](https://source.android.com/devices/input/diagnostics.html)
         `cmd stats`
-    *   [C-SR] Are STRONGLY RECOMENDED to support the shell command
+    *   [C-SR] Are STRONGLY RECOMMENDED to support the shell command
     `cmd testharness`.
     *   [C-0-3] MUST NOT alter the format or the contents of device system
         events (batterystats , diskstats, fingerprint, graphicsstats, netstats,
diff --git a/7_hardware-compatibility/7_2_input-devices.md b/7_hardware-compatibility/7_2_input-devices.md
index 8534275..f5c44fe 100644
--- a/7_hardware-compatibility/7_2_input-devices.md
+++ b/7_hardware-compatibility/7_2_input-devices.md
@@ -14,7 +14,7 @@
 *   [C-1-1] MUST declare the [`android.software.input_methods`](https://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_INPUT_METHODS)
 feature flag.
 *   [C-1-2] MUST implement fully [`Input Management Framework`](https://developer.android.com/reference/android/view/inputmethod/InputMethodManager.html)
-*   [C-1-3] MUST have a preloaded software keyboard.
+*   [C-1-3] MUST have a preinstalled software keyboard.
 
 Device implementations:
 *   [C-0-1] MUST NOT include a hardware keyboard that does not match one of the
diff --git a/7_hardware-compatibility/7_3_sensors.md b/7_hardware-compatibility/7_3_sensors.md
index 0409b6f..b52934d 100644
--- a/7_hardware-compatibility/7_3_sensors.md
+++ b/7_hardware-compatibility/7_3_sensors.md
@@ -568,7 +568,7 @@
     72 hours or less for devices upgrading from earlier Android version.
 *   [C-1-8] MUST challenge the user for the recommended primary
      authentication (eg: PIN, pattern, password) after one of the
-     follwing:
+     following:
      *    a 4-hour idle timeout period, OR
      *    3 failed biometric authentication attempts.
      *    The idle timeout period and the failed authentication count is reset
diff --git a/7_hardware-compatibility/7_4_data-connectivity.md b/7_hardware-compatibility/7_4_data-connectivity.md
index 044d7de..af33139 100644
--- a/7_hardware-compatibility/7_4_data-connectivity.md
+++ b/7_hardware-compatibility/7_4_data-connectivity.md
@@ -80,7 +80,7 @@
 
     The AOSP implementation meets these requirements by a heads-up notification
     which indicates to the user that answering an incoming call will cause the
-    the other call to be dropped.
+    other call to be dropped.
 
 *   [C-SR] Are STRONGLY RECOMMENDED to preload the default dialer app that
     shows a call log entry and the name of a third-party app in its call log
@@ -225,7 +225,7 @@
 *   [C-1-2] MUST declare the `android.hardware.wifi.aware` feature flag.
 *   [C-1-3] MUST support Wi-Fi and Wi-Fi Aware operations concurrently.
 *   [C-1-4] MUST randomize the Wi-Fi Aware management interface address at intervals
-    no longer then 30 minutes and whenever Wi-Fi Aware is enabled.
+    no longer than 30 minutes and whenever Wi-Fi Aware is enabled.
 
 If device implementations include support for Wi-Fi Aware and
 Wi-Fi Location as described in [Section 7.4.2.5](#7_4_2_5_Wi-Fi_Location) and
diff --git a/8_performance-and-power/8_3_power-saving-modes.md b/8_performance-and-power/8_3_power-saving-modes.md
index 1765d95..488d301 100644
--- a/8_performance-and-power/8_3_power-saving-modes.md
+++ b/8_performance-and-power/8_3_power-saving-modes.md
@@ -48,13 +48,13 @@
     Conversely, MUST exit from S3 state when third-party applications need the
     system resources, as described on this SDK.
 
-    For example, while the third party applications request to keep the screen
+    For example, while the third-party applications request to keep the screen
     on through `FLAG_KEEP_SCREEN_ON` or keep CPU running through
     `PARTIAL_WAKE_LOCK`, the device MUST NOT enter S3 state unless, as described
     in C-1-1, the user has taken explicit action to put the device in an
-    inactive state. Conversely, at a time when a task that third party apps
+    inactive state. Conversely, at a time when a task that third-party apps
     implement through JobScheduler is triggered or Firebase Cloud Messaging is
-    delivered to third party apps, the device MUST exit the S3 state unless the
+    delivered to third-party apps, the device MUST exit the S3 state unless the
     user has put the device in an inactive state. These are not comprehensive
     examples and AOSP implements extensive wake-up signals that trigger a wakeup
     from this state.
diff --git a/9_security-model/9_10_device-integrity.md b/9_security-model/9_10_device-integrity.md
index 4a0a214..cba1739 100644
--- a/9_security-model/9_10_device-integrity.md
+++ b/9_security-model/9_10_device-integrity.md
@@ -34,16 +34,16 @@
 unless the user consents to attempt booting anyway, in which case the data from
 any non-verified storage blocks MUST not be used.
 *    [C-1-7] MUST NOT allow verified partitions on the device to be modified
-unless the user has explicitly unlocked the boot loader.
+unless the user has explicitly unlocked the bootloader.
 *    [C-SR] If there are multiple discrete chips in the device (e.g. radio,
 specialized image processor), the boot process of each of those chips is
 STRONGLY RECOMMENDED to verify every stage upon booting.
 *    [C-1-8] MUST use tamper-evident storage: for storing whether the
-bootloader is unlocked. Tamper-evident storage means that the boot loader can
+bootloader is unlocked. Tamper-evident storage means that the bootloader can
 detect if the storage has been tampered with from inside Android.
 *    [C-1-9] MUST prompt the user, while using the device, and
-require physical confirmation before allowing a transition from boot loader
-locked mode to boot loader unlocked mode.
+require physical confirmation before allowing a transition from bootloader
+locked mode to bootloader unlocked mode.
 *    [C-1-10] MUST implement rollback protection for partitions used by Android
 (e.g. boot, system partitions) and use tamper-evident storage for storing the
 metadata used for determining the minimum allowable OS version.
@@ -65,7 +65,7 @@
 The upstream Android Open Source Project provides a preferred implementation of
 this feature in the [`external/avb/`](
 http://android.googlesource.com/platform/external/avb/)
-repository, which can be integrated into the boot loader used for loading
+repository, which can be integrated into the bootloader used for loading
 Android.
 
 Device implementations:
diff --git a/9_security-model/9_1_permissions.md b/9_security-model/9_1_permissions.md
index 75ccf99..ebb1927 100644
--- a/9_security-model/9_1_permissions.md
+++ b/9_security-model/9_1_permissions.md
@@ -14,7 +14,7 @@
 *   [C-0-2] Permissions with a `protectionLevel` of
 [`PROTECTION_FLAG_PRIVILEGED`](
 https://developer.android.com/reference/android/content/pm/PermissionInfo.html#PROTECTION&lowbar;FLAG&lowbar;PRIVILEGED)
-MUST only be granted to apps preloaded in the privileged path(s) of the system
+MUST only be granted to apps preinstalled in the privileged path(s) of the system
 image and within the subset of the explicitly whitelisted permissions for each
 app. The AOSP implementation meets this requirement by reading and honoring
 the whitelisted permissions for each app from the files in the
diff --git a/9_security-model/9_7_security-features.md b/9_security-model/9_7_security-features.md
index 4322158..83b03ed 100644
--- a/9_security-model/9_7_security-features.md
+++ b/9_security-model/9_7_security-features.md
@@ -97,7 +97,7 @@
 
 If device implementations use kernel other than Linux, they:
 
-*   [C-2-1] MUST use an mandatory access control system that is
+*   [C-2-1] MUST use a mandatory access control system that is
 equivalent to SELinux.
 
 Android contains multiple defense-in-depth features that are integral to device
diff --git a/9_security-model/9_8_privacy.md b/9_security-model/9_8_privacy.md
index 814fb4c..425290f 100644
--- a/9_security-model/9_8_privacy.md
+++ b/9_security-model/9_8_privacy.md
@@ -166,9 +166,9 @@
 as described as above, they:
 
 *    [C-1-1] MUST NOT allow users to replace the content capture service with a
-     user-installable application or service and MUST only allow the preloaded
-     service to capture such data.
-*    [C-1-2] MUST NOT allow any apps other than the preloaded content capture
+     user-installable application or service and MUST only allow the
+     preinstalled service to capture such data.
+*    [C-1-2] MUST NOT allow any apps other than the preinstalled content capture
      service mechanism to be able to capture such data.
 *    [C-1-3] MUST provide user affordance to disable the content capture
      service.
diff --git a/9_security-model/9_9_full-disk-encryption.md b/9_security-model/9_9_full-disk-encryption.md
index ea2837a..55d6f19 100644
--- a/9_security-model/9_9_full-disk-encryption.md
+++ b/9_security-model/9_9_full-disk-encryption.md
@@ -76,7 +76,7 @@
 file sizes, ownership, modes, and Extended attributes (xattrs), with a key
 cryptographically bound to the device's hardware root of trust.
 
-*    SHOULD make preloaded essential apps (e.g. Alarm, Phone, Messenger)
+*    SHOULD make preinstalled essential apps (e.g. Alarm, Phone, Messenger)
 Direct Boot aware.
 
 The upstream Android Open Source project provides a preferred implementation of
diff --git a/cdd_gen.sh b/cdd_gen.sh
index 5d9d7dd..86582eb 100755
--- a/cdd_gen.sh
+++ b/cdd_gen.sh
@@ -13,51 +13,66 @@
 #   pip install pytidylib
 #
 
-POSITIONAL=()
+positional=()
 while [[ $# -gt 0 ]]
 do
 key="$1"
 
 case $key in
     -v|--version)
-    VERSION="$2"
+    version="$2"
     shift # past argument
     shift # past value
     ;;
     -b|--branch)
-    BRANCH="$2"
+    branch="$2"
     shift # past argument
     shift # past value
     ;;
     --default)
-    DEFAULT=YES
+    default=YES
     shift # past argument
     ;;
     *)    # unknown option
-    POSITIONAL+=("$1") # save it in an array for later
+    positional+=("$1") # save it in an array for later
     shift # past argument
     ;;
 esac
 done
-set -- "${POSITIONAL[@]}" # restore positional parameters
+set -- "${positional[@]}" # restore positional parameters
 
-echo "VERSION = ${VERSION}"
-echo "BRANCH = ${BRANCH}"
-
-current_time=$(date "+%m.%d-%H.%M")
-echo "Current Time : $current_time"
-
-filename="android-${VERSION}-cdd-${current_time}"
-echo "$filename"
-
-if [ -z "${VERSION+x}" ] || [ -z "${BRANCH+x}" ];
+if  [ -z "${version}" ];
 then
-  echo "No variables!"
-  python make_cdd.py --output $filename;
-else
-  echo "Variables!"
-  python make_cdd.py --version $VERSION --branch $BRANCH --output $filename;
+  read -p "Version number: " version
 fi
 
-wkhtmltopdf -B 1in -T 1in -L .75in -R .75in page $filename.html --footer-html source/android-cdd-footer.html /tmp/$filename-body.pdf
-wkhtmltopdf -s letter -B 0in -T 0in -L 0in -R 0in cover source/android-cdd-cover.html /tmp/$filename-cover.pdf
+if  [ -z "${branch+x}" ];
+then
+  read -p "AOSP branch name for revision history: " branch
+fi
+
+echo "version = ${version}"
+echo "branch = ${branch}"
+
+current_date=$(date "+%m-%d")
+echo "Current Date : $current_date"
+
+filename="android-${version}-cdd-${current_date}"
+echo "$filename"
+
+
+python make_cdd.py --version $version --branch $branch --output $filename;
+
+mkdir -p /tmp/$filename
+
+wkhtmltopdf -B 1in -T 1in -L .75in -R .75in page $filename.html --footer-html source/android-cdd-footer.html /tmp/$filename/$filename-body.pdf
+wkhtmltopdf -s letter -B 0in -T 0in -L 0in -R 0in cover source/android-cdd-cover.html /tmp/$filename/$filename-cover.pdf
+
+
+mv $filename.html /tmp/$filename
+mv $filename-devsite.html /tmp/$filename
+
+echo ""
+echo "The generated files have been placed in the /tmp/$filename directory."
+echo "Please copy them to your Google Drive or another more permanent location."
+echo ""
diff --git a/make_cdd.py b/make_cdd.py
index f2e143c..c447cb3 100755
--- a/make_cdd.py
+++ b/make_cdd.py
@@ -24,7 +24,7 @@
 
 HEADERS_FOR_TOC = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'h7']
 global ANDROID_VERSION
-ANDROID_VERSION = "7.0, (N)"
+ANDROID_VERSION = "10"
 TOC_PER_COL = 34
 
 def get_section_info(my_path):
@@ -61,10 +61,10 @@
   return section_info
 
 
-def get_soup(section_info):
+def get_soup(section_info, version):
   html_body_text = u'''<!DOCTYPE html>
 <head>
-<title>Android ''' + ANDROID_VERSION + ''' Compatibility Definition</title>
+<title>Android ''' + version + ''' Compatibility Definition</title>
 <link rel="stylesheet" type="text/css" href="source/android-cdd.css"/>
 <meta charset="utf-8" />
 </head>
@@ -194,7 +194,7 @@
                }
 
   # Generate the HTML for PDF
-  soup = get_soup(section_info)
+  soup = get_soup(section_info, ANDROID_VERSION)
   add_id_to_section_headers(soup)
   add_toc(soup)
   html = soup.prettify(formatter='html')
diff --git a/source/android-cdd-cover.html b/source/android-cdd-cover.html
index 946cda0..45bad85 100644
--- a/source/android-cdd-cover.html
+++ b/source/android-cdd-cover.html
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <head>
-<title>Android 8.0 Compatibility Definition</title>
+<title>Android 10 Compatibility Definition</title>
 <link rel="stylesheet" type="text/css" href="android-cdd-cover.css"/>
 </head>
 
@@ -17,16 +17,16 @@
 
 <tr>
 <td>
-<img src="images/android-oreo-blue.png" alt="Oreo cover images"
+<img src="images/android-10.png" alt="Android 10 cover image"
 style="border-top: 5px solid orange; border-bottom: 5px solid orange"/>
 </td>
 </tr>
 
 <tr>
 <td>
-<p class="subtitle">Android 8.0</p>
-<p class="cover-text">Last updated: September 1, 2017</p>
-<p class="cover-text">Copyright &copy; 2017, Google Inc. All rights reserved.</p>
+<p class="subtitle">Android 10</p>
+<p class="cover-text">Last updated: September 3, 2019</p>
+<p class="cover-text">Copyright &copy; 2019, Google LLC All rights reserved.</p>
 </td>
 </tr>
 
diff --git a/source/images/android-10.png b/source/images/android-10.png
new file mode 100644
index 0000000..5e6e684
--- /dev/null
+++ b/source/images/android-10.png
Binary files differ
diff --git a/source/images/android-logo.png b/source/images/android-logo.png
index 4ad113c..d57652f 100644
--- a/source/images/android-logo.png
+++ b/source/images/android-logo.png
Binary files differ
diff --git a/source/images/old-android-logo.png b/source/images/old-android-logo.png
new file mode 100644
index 0000000..4ad113c
--- /dev/null
+++ b/source/images/old-android-logo.png
Binary files differ