Merge "Docs: Add file-based encryption docs" into nyc-dev
diff --git a/src/devices/devices_toc.cs b/src/devices/devices_toc.cs
index 90070d0..862d6f5 100644
--- a/src/devices/devices_toc.cs
+++ b/src/devices/devices_toc.cs
@@ -331,6 +331,7 @@
         </div>
         <ul>
           <li><a href="<?cs var:toroot ?>devices/tech/connect/block-numbers.html">Block Phone Numbers</a></li>
+          <li><a href="<?cs var:toroot ?>devices/tech/connect/call-notification.html">Call Notifications</a></li>
           <li><a href="<?cs var:toroot ?>devices/tech/connect/data-saver.html">Data Saver Mode</a></li>
           <li><a href="<?cs var:toroot ?>devices/tech/connect/felica.html">Host Card Emulation of FeliCa</a></li>
           <li><a href="<?cs var:toroot ?>devices/tech/connect/ril.html">Radio Interface Layer (RIL)</a></li>
diff --git a/src/devices/tech/connect/call-notification.jd b/src/devices/tech/connect/call-notification.jd
new file mode 100644
index 0000000..e0365ec
--- /dev/null
+++ b/src/devices/tech/connect/call-notification.jd
@@ -0,0 +1,118 @@
+page.title=Call Notifications
+@jd:body
+
+<!--
+    Copyright 2016 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<div id="qv-wrapper">
+  <div id="qv">
+    <h2>In this document</h2>
+    <ol id="auto-toc">
+    </ol>
+  </div>
+</div>
+
+<p>Android 7.0 moves functionality related to call notifications from the
+Telecom system service in the Android platform to the Dialer application.
+Previously, the responsibility for displaying call-related notifications was
+split between Telecom and the default Dialer app, creating inconsistencies in
+behavior. In Android 7.0, the Dialer assumes all responsibility for handling
+call notifications.</p>
+
+<h2 id=android_6>Behavior in Android 6.x and earlier</h2>
+<p>In earlier Android releases, Telecom and Dialer split responsibilities as
+described below:</p>
+
+<table>
+<tr>
+<th>Functionality</th>
+<th>Done by Telecom</th>
+<th>Done by Dialer</th>
+</tr>
+
+<tr>
+<td>Incoming call notification</td>
+<td>Yes (ringing, vibrate)</td>
+<td>Yes (notification display, caller ID)</td>
+</tr>
+
+<tr>
+<td>Send to voicemail</td>
+<td>Yes</td>
+<td>No</td>
+</tr>
+
+<tr>
+<td>Custom ringtone</td>
+<td>Yes</td>
+<td>No</td>
+</tr>
+
+<tr>
+<td>Missed call notifications</td>
+<td>Yes</td>
+<td>No</td>
+</tr>
+
+<tr>
+<td>Message Waiting Indicator (call voicemail)</td>
+<td>Yes (telephony)</td>
+<td>No</td>
+</tr>
+
+<tr>
+<td>Visual voicemail notifications</td>
+<td>No</td>
+<td>Yes</td>
+</tr>
+
+</tbody>
+</table>
+
+<p>Examples of inconsistent behavior caused by this responsibility split
+included:</p>
+<ul>
+<li>Telecom was responsible for starting the ringer/vibrator, but the dialer was
+responsible for displaying the incoming call notification. If the dialer is slow
+to startup, this can result in ringing starting several seconds before the
+incoming call notification is displayed.</li>
+<li>Telecom was responsible for displaying missed call notifications. As
+proprietary features (such as Google caller ID) do not work on these
+notifications, this could result in inconsistencies between Telecom
+notifications and Dialer UI (such as the call log).</li>
+</ul>
+
+<h2 id=android_7>Behavior in Android 7.0 and later</h2>
+<p>The Android Open Source Project (AOSP) Dialer implements the new
+functionality. For details, refer to the following documentation:</p>
+<ul>
+<li>Missed call notifications<br>
+<a href="https://android.googlesource.com/platform/packages/services/Telecomm/+/nougat-release/src/com/android/server/telecom/ui/MissedCallNotifierImpl.java">Telecom/src/com/android/server/telecom/ui/MissedCallNotifierImpl.java</a><br>
+<a href="https://android.googlesource.com/platform/packages/apps/Dialer/+/nougat-release/src/com/android/dialer/calllog/MissedCallNotificationReceiver.java">Dialer/src/com/android/dialer/calllog/MissedCallNotificationReceiver.java</a><br>
+<a href="https://android.googlesource.com/platform/packages/apps/Dialer/+/nougat-release/src/com/android/dialer/calllog/MissedCallNotifier.java">Dialer/src/com/android/dialer/calllog/MissedCallNotifier.java</a></li>
+<li>Playing ringtones:<br>
+<a href="https://android.googlesource.com/platform/frameworks/base/+/nougat-release/telecomm/java/android/telecom/InCallService.java">frameworks/base/telecomm/java/android/telecom/InCallService.java</a><br>
+<a href="https://android.googlesource.com/platform/packages/services/Telecomm/+/nougat-release/src/com/android/server/telecom/InCallController.java">Telecom/src/com/android/server/telecom/InCallController.java</a><br>
+<a href="https://android.googlesource.com/platform/packages/apps/Dialer/+/nougat-release/InCallUI/src/com/android/incallui/ringtone/">Dialer/InCallUI/src/com/android/incallui/ringtone</a><br>
+<a href="https://android.googlesource.com/platform/packages/apps/Dialer/+/nougat-release/InCallUI/src/com/android/incallui/StatusBarNotifier.java">Dialer/InCallUI/src/com/android/incallui/StatusBarNotifier.java</a></li>
+<li>VVM notifications<br>
+<a href="https://android.googlesource.com/platform/frameworks/base/+/nougat-release/telephony/java/android/telephony/TelephonyManager.java">frameworks/base/telephony/java/android/telephony/TelephonyManager.java</a><br>
+<a href="https://android.googlesource.com/platform/packages/services/Telephony/+/nougat-release/src/com/android/phone/PhoneInterfaceManager.java">Telephony/src/com/android/phone/PhoneInterfaceManager.java</a><br>
+<a href="https://android.googlesource.com/platform/packages/apps/Dialer/+/nougat-release/src/com/android/dialer/calllog/DefaultVoicemailNotifier.java">Dialer/src/com/android/dialer/calllog/DefaultVoicemailNotifier.java</a></li>
+</ul>
+
+<h2 id=implement>Implementation</h2>
+<p>Partners may need to update Telecom/Telephony components that expose APIs
+available for use by by the default Dialer.</p>
diff --git a/src/devices/tech/display/index.jd b/src/devices/tech/display/index.jd
index 660392e..25d6938 100644
--- a/src/devices/tech/display/index.jd
+++ b/src/devices/tech/display/index.jd
@@ -16,12 +16,7 @@
     See the License for the specific language governing permissions and
     limitations under the License.
 -->
-<div id="qv-wrapper">
-  <div id="qv">
-    <h2>In this document</h2>
-    <ol id="auto-toc">
-    </ol>
-  </div>
-</div>
 
-<p>Overview coming soon!</p>
+<p>This section covers AOSP implementation of various Android display
+settings such as do not disturb (DND) configurations and multi-window
+(split-screen, free-form, and picture-in-picture) options.</p>
diff --git a/src/devices/tech/index.jd b/src/devices/tech/index.jd
index 022ba6c..13fcdf2 100644
--- a/src/devices/tech/index.jd
+++ b/src/devices/tech/index.jd
@@ -47,6 +47,14 @@
 <p><a href="{@docRoot}devices/tech/config/index.html">&raquo; Configuration
 Information</a></p>
 
+<h2 id="connect">Connectivity</h2>
+<p>This section covers Android support for NFC standards (such as Felica),
+provides details on the Radio Interface Layer (RIL), describes call notification
+behavior, and gives implementation instructions for user-facing features such as
+Data Saver and phone number blocking.</p>
+<p><a href="{@docRoot}devices/tech/connect/index.html">&raquo; Connectivity
+Information</a></p>
+
 <h2 id="data-usage-technical-information">Data Usage</h2>
 <p>Android's data usage features allow users to understand and control how
 their device uses network data. This section is designed for systems
@@ -68,6 +76,13 @@
 <p><a href="{@docRoot}devices/tech/admin/index.html">&raquo; Device
 administration information</a></p>
 
+<h2 id="display">Display Settings</h2>
+<p>This section covers AOSP implementation of various Android display settings
+such as do not disturb (DND) configurations and multi-window (split-screen,
+free-form, and picture-in-picture) options.</p>
+<p><a href="{@docRoot}devices/tech/display/index.html">&raquo; Display settings
+information</a></p>
+
 <h2 id="HAL-technical-information">HAL File Reference</h2>
 <p>Android's Hardware Abstraction Layer (HAL) provides the interface between
 software APIs and hardware drivers. This section contains the commented code
@@ -83,11 +98,13 @@
 </p>
 
 <h2 id="power-technical-information">Power</h2>
-<p>Battery usage statistics are tracked by the framework. This involves
-keeping track of time spent by different device components in different states.
-</p>
-<p><a href="{@docRoot}devices/tech/power/index.html">&raquo; Power Information</a>
-</p>
+<p>The framework provides battery usage statistics, keeping track of time spent
+by different device components in different states. This section covers power
+management features (such as Doze), gives instructions for accurately measuring
+device and component power (and how to determine power values), and details the
+<code>batterystats</code> command and output.</p>
+<p><a href="{@docRoot}devices/tech/power/index.html">&raquo; Power
+Information</a></p>
 
 <h2 id="tradefed-test-infrastructure">Trade Federation Testing Infrastructure
 </h2>
diff --git a/src/security/overview/app-security.jd b/src/security/overview/app-security.jd
index c7b7799..8b011fa 100644
--- a/src/security/overview/app-security.jd
+++ b/src/security/overview/app-security.jd
@@ -280,6 +280,32 @@
   time, the installer will prompt the user asking if the application can access
   the information. If the user does not grant access, the application will not be
   installed.</p>
+<h2 id="certificate-authorities">Certificate authorities</h2>
+<p>
+Android includes a set of installed system Certificate Authorities, which are
+trusted system-wide. Prior to Android 7.0, device manufacturers could modify the
+set of CAs shipped on their devices. However, devices running 7.0 and above will
+have a uniform set of system CAs as modification by device manufacturers is no
+longer permitted.
+</p>
+<p>
+To be added as a new public CA to the Android stock set, the CA must complete
+the <a href="https://wiki.mozilla.org/CA:How_to_apply">Mozilla CA Inclusion
+Process</a> and then file a feature request against Android (<a
+href="https://code.google.com/p/android/issues/entry">https://code.google.com/p/android/issues/entry</a>)
+to have the CA added to the stock Android CA set in the <a
+href="https://android.googlesource.com/">Android Open Source Project</a>
+(AOSP).
+</p>
+<p>
+There are still CAs that are device-specific and should not be included in the
+core set of AOSP CAs, like carriers’ private CAs that may be needed to securely
+access components of the carrier’s infrastructure, such as SMS/MMS gateways.
+Device manufacturers are encouraged to include the private CAs only in the
+components/apps that need to trust these CAs. See <a
+href="https://developer.android.com/preview/features/security-config.html">Network
+Security Configuration</a> for more details.
+</p>
 <h2 id="application-signing">Application Signing</h2>
 <p>Code signing allows developers to identify the author of the application and to
   update their application without creating complicated interfaces and