Merge "CDD: Clarify relationship of managed profile and multiple users" into mnc-dev
diff --git a/src/compatibility/android-cdd.html b/src/compatibility/android-cdd.html
index 74e3709..69daf32 100644
--- a/src/compatibility/android-cdd.html
+++ b/src/compatibility/android-cdd.html
@@ -273,6 +273,8 @@
 
 <p class="toc_h3"><a href="#7_6_2_application_shared_storage">7.6.2. Application Shared Storage</a></p>
 
+<p class="toc_h3"><a href="#7_6_3_adoptable_storage">7.6.3. Adoptable Storage</a></p>
+
 <p class="toc_h2"><a href="#7_7_usb">7.7. USB</a></p>
 
 <p class="toc_h2"><a href="#7_8_audio">7.8. Audio</a></p>
@@ -767,6 +769,20 @@
 There are no requirements on the specific format of this field, except that it
 MUST NOT be null or the empty string ("").</td>
  </tr>
+ <tr>
+    <td>SECURITY_PATCH</td>
+    <td>An value indicating the security patch level of a build. It MUST signify that the
+build includes all security patches issued up through the designated Android Public
+Security Bulletin. It MUST be in the format, [YYYY-MM-DD], matching the Public Security
+Bulletin's broadcast date, for example [2015-10-01].</td>
+ </tr>
+ <tr>
+    <td>BASE_OS</td>
+    <td>An value representing the FINGERPRINT parameter of the build that is otherwise
+      identical to this build except for the patches provided in the Android Public
+      Security Bulletin. It MUST report the correct value and if such a build does not
+      exist, report an emtpy string ("").</td>
+ </tr>
 </table>
 
 
@@ -1443,6 +1459,20 @@
 applications are installed that make use of this functionality, the default
 behavior SHOULD be to display web search engine results and suggestions.</p>
 
+<p>Android device implementations SHOULD implement an assistant on the device
+to handle the Assist action [<a
+href="http://developer.android.com/reference/android/content/Intent.html#ACTION_ASSIST">Resources,
+69</a>].</p>
+
+<p>Android also includes the Assist APIs to allow applications to elect how much
+information of the current context are shared with the assistant on the device [<a
+href="https://developer.android.com/reference/android/app/assist/package-summary.html">Resources,
+XX</a>]. Device implementations supporting the Assist action MUST indicate clearly to
+the end user when the the context is shared by showing a white light that runs around
+the edges of the screen. To ensure clear visibility to the end user, the indication MUST
+be with a duration as long as, and a visibility as strong as, at least the Android Open
+Source Project implementation.</p>
+
 <h3 id="3_8_5_toasts">3.8.5. Toasts</h3>
 
 
@@ -2224,9 +2254,10 @@
 <p>Video codecs are optional for Android Watch device implementations.</p>
 </div>
 
-<p>Device implementations MUST support dynamic video resolution switching within
-the same stream for all VP8, VP9, H.264, and H.265 codecs exposed through the
-standard Android APIs.</p>
+<p>Device implementations MUST support dynamic video resolution and frame rate
+switching through the standard Android APIs within the same stream for all VP8,
+VP9, H.264, and H.265 codecs in real time and up to the maximum resolution
+supported on the device.</p>
 
 <p>Android device implementations with H.263 decoders, MUST support Baseline
 Profile Level 30.</p>
@@ -2235,7 +2266,7 @@
 Profile Level 3.</p>
 
 <p>Android device implementations with H.264 decoders, MUST support Main Profile
-Level 3 and the following SD video decoding profiles and SHOULD support the
+Level 3.1 and the following SD video decoding profiles and SHOULD support the
 HD decoding profiles. Android Television devices MUST support High Profile
 Level 4.2 and the HD 1080p decoding profile.</p>
 <table>
@@ -2270,10 +2301,10 @@
 </table>
 
 
-<p class="table_footnote">1 Required for Android Television device implementations, but for other device
-types only when supported by hardware.</p>
+<p class="table_footnote">1 REQUIRED for when the height as reported by the
+Display.getSupportedModes() method is not smaller than the video resolution.</p>
 
-<p class="table_footnote">2 Required for Android Television device implementations.</p>
+<p class="table_footnote">2 REQUIRED for Android Television device implementations.</p>
 
 <p>Android device implementations when supporting VP8 codec as described in <a href="#5_1_3_video_codecs">section 5.1.3</a>, MUST support the following SD decoding profiles and SHOULD support the HD
 decoding profiles. Android Television devices MUST support the HD 1080p
@@ -2309,11 +2340,10 @@
  </tr>
 </table>
 
+<p class="table_footnote">1 REQUIRED for when the height as reported by the
+Display.getSupportedModes() method is not smaller than the video resolution.</p>
 
-<p class="table_footnote">1 Required for Android Television device implementations, but for other type of
-devices only when supported by hardware.</p>
-
-<p class="table_footnote">2 Required for Android Television device implementations.</p>
+<p class="table_footnote">2 REQUIRED for Android Television device implementations.</p>
 
 <p>Android device implementations, when supporting VP9 codec as described in <a href="#5_1_3_video_codecs">section 5.1.3</a>, MUST support the following SD video decoding profiles and SHOULD support the
 HD decoding profiles. Android Television devices are STRONGLY RECOMMENDED to
@@ -3168,13 +3198,11 @@
 button, a software key, or gestures. This Menu function should be presented
 unless hidden together with other navigation functions.</p>
 
-<p>Android supports Assist action [<a href="http://developer.android.com/reference/android/content/Intent.html#ACTION_ASSIST">Resources, 69</a>]. Android device implementations except for Android Watch devices MUST make
-the Assist action available to the user at all times when running applications.
-The Assist action SHOULD be implemented as a long-press on the Home button or a
-swipe-up gesture on the software Home key. This function MAY be implemented via
-another physical button, software key, or gesture, but MUST be accessible with
-a single action (e.g. tap, double-click, or gesture) when other navigation keys
-are visible.</p>
+<p>Android device implementations with the support of the Assist action [<a
+href="http://developer.android.com/reference/android/content/Intent.html#ACTION_ASSIST">Resources,
+69</a>] MUST make this accessisble with a single action (e.g. tap, double-click,
+or gesture) when other navigation keys are visible, and are STRONGLY RECOMMENDED to
+use the long-press on the Home button or software key as the single action.</p>
 
 <p>Device implementations MAY use a distinct portion of the screen to display the
 navigation keys, but if so, MUST meet these requirements:</p>
@@ -3845,8 +3873,11 @@
   <li>MUST report the hardware feature flag android.hardware.wifi.</li>
   <li>MUST implement the multicast API as described in the SDK documentation [<a href="http://developer.android.com/reference/android/net/wifi/WifiManager.MulticastLock.html">Resources, 79</a>].</li>
   <li>MUST support multicast DNS (mDNS) and MUST NOT filter mDNS packets
-(224.0.0.251) at any time of operation including when the screen is not in an
-active state.</li>
+(224.0.0.251) at any time of operation including:
+    <ul>
+      <li>Even when the screen is not in an active state.</li>
+      <li>For Android Television device implementations, even when in standby power states.</li>
+    </ul>
 </ul>
 
 <h4 id="7_4_2_1_wi-fi_direct">7.4.2.1. Wi-Fi Direct</h4>
@@ -4376,6 +4407,21 @@
   <li>SHOULD report a USB interface name of 'MTP'.</li>
 </ul>
 
+<h3 id="7_6_3_adoptable_storage">7.6.3. Adoptable Storage</h3>
+
+<p>Device implementations are STRONGLY RECOMMENDED to implement adoptable
+storage if the removable storage device port is in a long-term stable location,
+such as within the battery compartment or other protective cover
+[<a
+href="http://source.android.com/devices/storage/adoptable.html">Resources,
+XX</a>].</p>
+
+<p>Device implementations such as a television, MAY enable adoption through USB
+ports as the device is expected to be static and not mobile. But for other
+device implementations that are mobile in nature, it is STRONGLY RECOMMENDED to
+implement the adoptable storage in a long-term stable location, since accidentally
+disconnecting them can cause data loss/corruption.</p>
+
 <h2 id="7_7_usb">7.7. USB</h2>