aboutsummaryrefslogtreecommitdiff
path: root/en
diff options
context:
space:
mode:
authorClay Murphy <claym@google.com>2017-11-21 18:26:25 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-11-21 18:26:25 +0000
commitf7589848f0a87d4de2f076ecb1ba05600838602a (patch)
tree39231430651ca3210a79e1a8dbb2b14c41ed4a68 /en
parentbf32eb5d4814ca1ba17503c6da6a797c21bd1295 (diff)
parentf3e7e140eb98c82b182eb71d7190a6774b2a35f1 (diff)
downloadsource.android.com-f7589848f0a87d4de2f076ecb1ba05600838602a.tar.gz
Merge "Docs: Changes to source.android.com"
am: f3e7e140eb Change-Id: I4dfb1bb26bb34dca69f063d6eb22904bdce25f57
Diffstat (limited to 'en')
-rw-r--r--en/_book.yaml6
-rw-r--r--en/_index.yaml4
-rw-r--r--en/_translation.yaml2
-rw-r--r--en/compatibility/contact-us.html4
-rw-r--r--en/compatibility/cts/development.html7
-rw-r--r--en/compatibility/cts/downloads.html56
-rw-r--r--en/compatibility/cts/rotation-vector.html6
-rw-r--r--en/compatibility/cts/setup.html14
-rw-r--r--en/compatibility/cts/usb-audio.html6
-rw-r--r--en/compatibility/index.html2
-rw-r--r--en/devices/accessories/headset/usb-headset-spec.html5
-rw-r--r--en/devices/architecture/dto/implement.html4
-rw-r--r--en/devices/architecture/hidl/binder-ipc.html5
-rw-r--r--en/devices/architecture/hidl/fmq.html16
-rw-r--r--en/devices/architecture/hidl/interfaces.html112
-rw-r--r--en/devices/architecture/index.html2
-rw-r--r--en/devices/architecture/kernel/modular-kernels.html10
-rw-r--r--en/devices/architecture/kernel/network_tests.html6
-rw-r--r--en/devices/audio/latency_measurements.html2
-rw-r--r--en/devices/bluetooth/verifying_debugging.html9
-rw-r--r--en/devices/sensors/sensor-stack.html2
-rw-r--r--en/devices/tech/admin/testing-provision.html7
-rw-r--r--en/devices/tech/admin/testing-setup.html2
-rw-r--r--en/devices/tech/connect/images/ril-refactor-scenario-1-solution-1.pngbin79748 -> 51029 bytes
-rw-r--r--en/devices/tech/connect/images/ril-refactor-scenario-1-solution-2.pngbin55546 -> 31108 bytes
-rw-r--r--en/devices/tech/connect/images/ril-refactor-scenario-1.pngbin64610 -> 36302 bytes
-rw-r--r--en/devices/tech/connect/images/ril-refactor-scenario-2-solution.pngbin29752 -> 17084 bytes
-rw-r--r--en/devices/tech/connect/images/ril-refactor-scenario-2.pngbin36008 -> 18986 bytes
-rw-r--r--en/devices/tech/connect/ril.html344
-rw-r--r--en/devices/tech/dalvik/configure.html8
-rw-r--r--en/devices/tech/dalvik/index.html12
-rw-r--r--en/devices/tech/debug/index.html2
-rw-r--r--en/devices/tech/debug/kasan-kcov.html14
-rw-r--r--en/devices/tech/display/circular-icons.html2
-rw-r--r--en/devices/tech/ota/device_code.html2
-rw-r--r--en/devices/tech/power/mgmt.html76
-rw-r--r--en/devices/tech/test_infra/tradefed/full_example.html2
-rw-r--r--en/devices/tech/test_infra/tradefed/fundamentals/index.html2
-rw-r--r--en/devices/tech/test_infra/tradefed/fundamentals/machine_setup.html2
-rw-r--r--en/devices/tv/reference-tv-app.html5
-rw-r--r--en/legal.html4
-rw-r--r--en/security/bulletin/index.html15
-rw-r--r--en/security/bulletin/pixel/index.html4
-rw-r--r--en/security/index.html2
-rw-r--r--en/security/selinux/customize.html2
-rw-r--r--en/setup/64-bit-builds.html (renamed from en/source/64-bit-builds.html)0
-rw-r--r--en/setup/_toc.yaml (renamed from en/source/_toc.yaml)62
-rw-r--r--en/setup/_translation.yaml (renamed from en/source/_translation.yaml)4
-rw-r--r--en/setup/add-device.html (renamed from en/source/add-device.html)0
-rw-r--r--en/setup/assets/bg_fade.jpg (renamed from en/source/assets/bg_fade.jpg)bin300 -> 300 bytes
-rw-r--r--en/setup/assets/bg_images_sprite.png (renamed from en/source/assets/bg_images_sprite.png)bin2008 -> 2008 bytes
-rw-r--r--en/setup/assets/images/sac_logo.png (renamed from en/source/assets/images/sac_logo.png)bin2298 -> 2298 bytes
-rw-r--r--en/setup/assets/rebox-gradient.gif (renamed from en/source/assets/rebox-gradient.gif)bin848 -> 848 bytes
-rw-r--r--en/setup/brands.html (renamed from en/source/brands.html)6
-rw-r--r--en/setup/build-numbers.html (renamed from en/source/build-numbers.html)0
-rw-r--r--en/setup/building-kernels.html (renamed from en/source/building-kernels.html)2
-rw-r--r--en/setup/building.html (renamed from en/source/building.html)2
-rw-r--r--en/setup/code-lines.html (renamed from en/source/code-lines.html)0
-rw-r--r--en/setup/code-style.html (renamed from en/source/code-style.html)0
-rw-r--r--en/setup/community.html (renamed from en/source/community.html)2
-rw-r--r--en/setup/contributing.html (renamed from en/source/contributing.html)4
-rw-r--r--en/setup/developing.html (renamed from en/source/developing.html)4
-rw-r--r--en/setup/devices.html (renamed from en/source/devices.html)2
-rw-r--r--en/setup/downloading.html (renamed from en/source/downloading.html)0
-rw-r--r--en/setup/faqs.html (renamed from en/source/faqs.html)8
-rw-r--r--en/setup/git-resources.html (renamed from en/source/git-resources.html)0
-rw-r--r--en/setup/images/8100-TM-example.png (renamed from en/source/images/8100-TM-example.png)bin35583 -> 35583 bytes
-rw-r--r--en/setup/images/Android_Robot_100.png (renamed from en/source/images/Android_Robot_100.png)bin4075 -> 4075 bytes
-rw-r--r--en/setup/images/JB-TM-example.png (renamed from en/source/images/JB-TM-example.png)bin22776 -> 22776 bytes
-rw-r--r--en/setup/images/No_PeaceBot_200.jpg (renamed from en/source/images/No_PeaceBot_200.jpg)bin5773 -> 5773 bytes
-rw-r--r--en/setup/images/XBrand-TM-example.jpg (renamed from en/source/images/XBrand-TM-example.jpg)bin37074 -> 37074 bytes
-rw-r--r--en/setup/images/android_logo_new_crossed_out.png (renamed from en/source/images/android_logo_new_crossed_out.png)bin7721 -> 7721 bytes
-rw-r--r--en/setup/images/android_logo_old_crossed_out.png (renamed from en/source/images/android_logo_old_crossed_out.png)bin4027 -> 4027 bytes
-rw-r--r--en/setup/images/hikey-board.png (renamed from en/source/images/hikey-board.png)bin98708 -> 98708 bytes
-rw-r--r--en/setup/images/hikey620.png (renamed from en/source/images/hikey620.png)bin254778 -> 254778 bytes
-rw-r--r--en/setup/images/hikey960.png (renamed from en/source/images/hikey960.png)bin267973 -> 267973 bytes
-rw-r--r--en/setup/images/jack_jill.png (renamed from en/source/images/jack_jill.png)bin24908 -> 24908 bytes
-rw-r--r--en/setup/images/jack_library.png (renamed from en/source/images/jack_library.png)bin17629 -> 17629 bytes
-rw-r--r--en/setup/images/jack_overview.png (renamed from en/source/images/jack_overview.png)bin15210 -> 15210 bytes
-rw-r--r--en/setup/images/jack_predex.png (renamed from en/source/images/jack_predex.png)bin14835 -> 14835 bytes
-rw-r--r--en/setup/images/mobile-view.png (renamed from en/source/images/mobile-view.png)bin98399 -> 98399 bytes
-rw-r--r--en/setup/images/neonkey-sensorhub.png (renamed from en/source/images/neonkey-sensorhub.png)bin346473 -> 346473 bytes
-rw-r--r--en/setup/index.html (renamed from en/source/index.html)0
-rw-r--r--en/setup/initializing.html (renamed from en/source/initializing.html)0
-rw-r--r--en/setup/jack.html (renamed from en/source/jack.html)0
-rw-r--r--en/setup/known-issues.html (renamed from en/source/known-issues.html)0
-rw-r--r--en/setup/licenses.html (renamed from en/source/licenses.html)0
-rw-r--r--en/setup/life-of-a-bug.html (renamed from en/source/life-of-a-bug.html)0
-rw-r--r--en/setup/life-of-a-patch.html (renamed from en/source/life-of-a-patch.html)0
-rw-r--r--en/setup/read-bug-reports.html (renamed from en/source/read-bug-reports.html)0
-rw-r--r--en/setup/report-bugs.html (renamed from en/source/report-bugs.html)4
-rw-r--r--en/setup/requirements.html (renamed from en/source/requirements.html)2
-rw-r--r--en/setup/roles.html (renamed from en/source/roles.html)2
-rw-r--r--en/setup/running.html (renamed from en/source/running.html)6
-rw-r--r--en/setup/site-updates.html (renamed from en/source/site-updates.html)2
-rw-r--r--en/setup/submit-patches.html (renamed from en/source/submit-patches.html)14
-rw-r--r--en/setup/using-repo.html (renamed from en/source/using-repo.html)0
-rw-r--r--en/setup/view-patches.html (renamed from en/source/view-patches.html)5
98 files changed, 477 insertions, 441 deletions
diff --git a/en/_book.yaml b/en/_book.yaml
index b7d534d0..065b9fa4 100644
--- a/en/_book.yaml
+++ b/en/_book.yaml
@@ -1,10 +1,10 @@
upper_tabs:
-- name: Source
+- name: Setup
lower_tabs:
other:
- - name: Source
+ - name: Setup
contents:
- - include: /source/_toc.yaml
+ - include: /setup/_toc.yaml
- name: Security
lower_tabs:
other:
diff --git a/en/_index.yaml b/en/_index.yaml
index 9c226531..24c39733 100644
--- a/en/_index.yaml
+++ b/en/_index.yaml
@@ -4,7 +4,7 @@ landing_page:
header:
buttons:
- label: Get source
- path: /source/downloading
+ path: /setup/downloading
rows:
- items:
- heading: 8.0 interfaces and architecture
@@ -99,4 +99,4 @@ landing_page:
- buttons:
- classname: button button-primary
label: More Updates
- path: /source/site-updates
+ path: /setup/site-updates
diff --git a/en/_translation.yaml b/en/_translation.yaml
index cf395ffe..cf0d9878 100644
--- a/en/_translation.yaml
+++ b/en/_translation.yaml
@@ -4,7 +4,7 @@ ignore_paths:
- /images/...
- /reference/...
- /security/...
-- /source/...
+- /setup/...
enable_continuous_translation: True
title: Android Open Source Project
description: Translations for source.android.com
diff --git a/en/compatibility/contact-us.html b/en/compatibility/contact-us.html
index e0462c0e..29d58528 100644
--- a/en/compatibility/contact-us.html
+++ b/en/compatibility/contact-us.html
@@ -25,7 +25,7 @@
<p>This page describes the
contact methods for inquiries regarding the Android compatibility program,
including the Compatibility Definition Document (CDD) and Compatibility Test
-Suite (CTS). See the <a href="/source/community.html">Community</a>
+Suite (CTS). See the <a href="/setup/community.html">Community</a>
page for communication channels regarding other topics.</p>
<h2
@@ -44,7 +44,7 @@ href="mailto:android-compatibility+subscribe@googlegroups.com">android-compatibi
</ul>
<p>To make best use of this list, please first read <a
-href="/source/community.html#getting-the-most-from-our-lists">Getting
+href="/setup/community.html#getting-the-most-from-our-lists">Getting
the Most from Our Lists</a> on the Community page. Users looking for help with
Android devices should contact their carrier or manufacturer for help.</p>
diff --git a/en/compatibility/cts/development.html b/en/compatibility/cts/development.html
index 249f1539..1329c2cc 100644
--- a/en/compatibility/cts/development.html
+++ b/en/compatibility/cts/development.html
@@ -24,7 +24,7 @@
<h2 id="initializing-your-repo-client">Initializing your Repo client</h2>
-<p>Follow the <a href="/source/downloading.html">instructions</a>
+<p>Follow the <a href="/setup/downloading.html">instructions</a>
to get and build the Android source code but specify a particular CTS branch
name, for example<code>-b android-5.0_r2</code>, when issuing the <code>repo
init</code> command. This assures your CTS changes will be included in the
@@ -41,7 +41,7 @@ for <code>TARGET_PRODUCT</code> to build for different architectures:
<code class="devsite-terminal">cd <em>/path/to/android/root</em></code>
<code class="devsite-terminal">make cts -j32 TARGET_PRODUCT=aosp_arm64</code>
<code class="devsite-terminal">cts-tradefed</code>
-</code></pre>
+</pre>
<p>At the cts-tf console, enter e.g.:</p>
<pre class="devsite-click-to-copy">
@@ -232,7 +232,7 @@ include $(call all-makefiles-under,$(LOCAL_PATH))
remove tests annotated with "BrokenTest" or "KnownFailure."</p>
<h2 id="submitting-your-changes">Submitting your changes</h2>
-<p>Follow the <a href="/source/submit-patches.html">Submitting Patches workflow</a>
+<p>Follow the <a href="/setup/submit-patches.html">Submitting Patches workflow</a>
to contribute changes to CTS. A reviewer
will be assigned to your change, and your change should be reviewed shortly!</p>
@@ -244,6 +244,7 @@ will be assigned to your change, and your change should be reviewed shortly!</p>
updated from time to time as CTS for the given Android version matures.</p>
<table>
+<thead>
<tr>
<th>Version</th>
<th>Branch</th>
diff --git a/en/compatibility/cts/downloads.html b/en/compatibility/cts/downloads.html
index 0c022d44..d6741f03 100644
--- a/en/compatibility/cts/downloads.html
+++ b/en/compatibility/cts/downloads.html
@@ -29,60 +29,60 @@ updated, new versions are added to this page. CTS versions are denoted by
R&lt;number&gt; in the link name.</p>
<h2 id="android-80">Android 8.0</h2>
-<p>Android 8.0 is the release of the development milestone code-named Oreo.
+<p>Android 8.0 is the release of the development milestone code-named Oreo.
The source code for the following tests can be synced with the
-'android-cts-8.0_r3' tag in the open-source tree.</p>
+'android-cts-8.0_r4' tag in the open-source tree.</p>
<ul>
<li><a
-href="https://dl.google.com/dl/android/cts/android-cts-8.0_r3-linux_x86-arm.zip">Android
-8.0 R3 Compatibility Test Suite (CTS) - ARM</a></li>
+href="https://dl.google.com/dl/android/cts/android-cts-8.0_r4-linux_x86-arm.zip">Android
+8.0 R4 Compatibility Test Suite (CTS) - ARM</a></li>
<li><a
-href="https://dl.google.com/dl/android/cts/android-cts-8.0_r3-linux_x86-x86.zip">Android
-8.0 R3 Compatibility Test Suite (CTS) - x86</a></li>
+href="https://dl.google.com/dl/android/cts/android-cts-8.0_r4-linux_x86-x86.zip">Android
+8.0 R4 Compatibility Test Suite (CTS) - x86</a></li>
<li><a
-href="https://dl.google.com/dl/android/cts/android-cts-verifier-8.0_r3-linux_x86-arm.zip">Android
-8.0 R3 CTS Verifier - ARM</a></li>
+href="https://dl.google.com/dl/android/cts/android-cts-verifier-8.0_r4-linux_x86-arm.zip">Android
+8.0 R4 CTS Verifier - ARM</a></li>
<li><a
-href="https://dl.google.com/dl/android/cts/android-cts-verifier-8.0_r3-linux_x86-x86.zip">Android
-8.0 R3 CTS Verifier - x86</a></li>
+href="https://dl.google.com/dl/android/cts/android-cts-verifier-8.0_r4-linux_x86-x86.zip">Android
+8.0 R4 CTS Verifier - x86</a></li>
</ul>
<h2 id="android-71">Android 7.1</h2>
<p>Android 7.1 is the release of the development milestone code-named Nougat-MR1.
The source code for the following tests can be synced with the
-'android-cts-7.1_r11' tag in the open-source tree.</p>
+'android-cts-7.1_r12' tag in the open-source tree.</p>
<ul>
<li><a
-href="https://dl.google.com/dl/android/cts/android-cts-7.1_r11-linux_x86-arm.zip">Android
-7.1 R11 Compatibility Test Suite (CTS) - ARM</a></li>
+href="https://dl.google.com/dl/android/cts/android-cts-7.1_r12-linux_x86-arm.zip">Android
+7.1 R12 Compatibility Test Suite (CTS) - ARM</a></li>
<li><a
-href="https://dl.google.com/dl/android/cts/android-cts-7.1_r11-linux_x86-x86.zip">Android
-7.1 R11 Compatibility Test Suite (CTS) - x86</a></li>
+href="https://dl.google.com/dl/android/cts/android-cts-7.1_r12-linux_x86-x86.zip">Android
+7.1 R12 Compatibility Test Suite (CTS) - x86</a></li>
<li><a
-href="https://dl.google.com/dl/android/cts/android-cts-verifier-7.1_r11-linux_x86-arm.zip">Android
-7.1 R11 CTS Verifier - ARM</a></li>
+href="https://dl.google.com/dl/android/cts/android-cts-verifier-7.1_r12-linux_x86-arm.zip">Android
+7.1 R12 CTS Verifier - ARM</a></li>
<li><a
-href="https://dl.google.com/dl/android/cts/android-cts-verifier-7.1_r11-linux_x86-x86.zip">Android
-7.1 R11 CTS Verifier - x86</a></li>
+href="https://dl.google.com/dl/android/cts/android-cts-verifier-7.1_r12-linux_x86-x86.zip">Android
+7.1 R12 CTS Verifier - x86</a></li>
</ul>
<h2 id="android-70">Android 7.0</h2>
<p>Android 7.0 is the release of the development milestone code-named Nougat.
The source code for the following tests can be synced with the
-'android-cts-7.0_r15' tag in the open-source tree.</p>
+'android-cts-7.0_r16' tag in the open-source tree.</p>
<ul>
<li><a
-href="https://dl.google.com/dl/android/cts/android-cts-7.0_r15-linux_x86-arm.zip">Android
-7.0 R15 Compatibility Test Suite (CTS) - ARM</a></li>
+href="https://dl.google.com/dl/android/cts/android-cts-7.0_r16-linux_x86-arm.zip">Android
+7.0 R16 Compatibility Test Suite (CTS) - ARM</a></li>
<li><a
-href="https://dl.google.com/dl/android/cts/android-cts-7.0_r15-linux_x86-x86.zip">Android
-7.0 R15 Compatibility Test Suite (CTS) - x86</a></li>
+href="https://dl.google.com/dl/android/cts/android-cts-7.0_r16-linux_x86-x86.zip">Android
+7.0 R16 Compatibility Test Suite (CTS) - x86</a></li>
<li><a
-href="https://dl.google.com/dl/android/cts/android-cts-verifier-7.0_r15-linux_x86-arm.zip">Android
-7.0 R15 CTS Verifier - ARM</a></li>
+href="https://dl.google.com/dl/android/cts/android-cts-verifier-7.0_r16-linux_x86-arm.zip">Android
+7.0 R16 CTS Verifier - ARM</a></li>
<li><a
-href="https://dl.google.com/dl/android/cts/android-cts-verifier-7.0_r15-linux_x86-x86.zip">Android
-7.0 R15 CTS Verifier - x86</a></li>
+href="https://dl.google.com/dl/android/cts/android-cts-verifier-7.0_r16-linux_x86-x86.zip">Android
+7.0 R16 CTS Verifier - x86</a></li>
</ul>
<h2 id="android-60">Android 6.0</h2>
diff --git a/en/compatibility/cts/rotation-vector.html b/en/compatibility/cts/rotation-vector.html
index 9abff4eb..b10c4203 100644
--- a/en/compatibility/cts/rotation-vector.html
+++ b/en/compatibility/cts/rotation-vector.html
@@ -30,9 +30,9 @@ full-resolution image linked above.
</p>
</div>
<p>This page provides the steps to properly test the compatibility of your <a
-href="https://source.android.com/devices/sensors/sensor-types.html#rotation_vector">rotation
-vector sensor</a> implementation. This test should be run when the device declares
-the TYPE_ROTATION_VECTOR composite sensor feature. See this <a
+href="/devices/sensors/sensor-types.html#rotation_vector">rotation vector
+sensor</a> implementation. This test should be run when the device declares the
+TYPE_ROTATION_VECTOR composite sensor feature. See this <a
href="https://www.youtube.com/watch?v=MsDVmsH1PaI">video tutorial</a> for
additional details.</p>
diff --git a/en/compatibility/cts/setup.html b/en/compatibility/cts/setup.html
index 16cc43a0..cb235b63 100644
--- a/en/compatibility/cts/setup.html
+++ b/en/compatibility/cts/setup.html
@@ -40,6 +40,12 @@ be of any kind, ranging from a satellite simulator, to a GPS/GNSS repeater of
outdoor signals, simply to placement of the DUT close enough to a window such that
it can directly receive enough GPS/GNSS signal.</p>
+<aside class="caution">
+ <strong>Caution:</strong> For the GPS testing, the internet connection setup
+ must not block connections to supl.google.com port 7276. This port is used to
+ download GPS assistance data for testing position calculation on the local device.
+</aside>
+
<h3 id=wifi>Wi-Fi and IPv6</h3>
<p>CTS tests require a Wi-Fi network that supports IPv6, can treat the Device
Under Test (DUT) as an isolated client, and has an internet
@@ -56,7 +62,8 @@ href="http://en.wikipedia.org/wiki/List_of_IPv6_tunnel_brokers">list of IPv6
tunnel brokers</a>.</p>
<h2 id=desktop_setup>Desktop machine setup</h2>
-<p>CTS currently supports 64-bit Linux and Mac OS host machines.</p>
+<aside class="caution"><strong>Caution:</strong> CTS currently supports 64-bit
+Linux and Mac OS host machines. CTS will not work on Windows OS.</aside>
<h3 id=adb>ADB and AAPT</h3>
<p>Before running the CTS, make sure you have recent versions of both <a
@@ -94,8 +101,7 @@ directory name are correct.</p>
8u45 or newer</a>.</li>
</ul>
<p>
-For details, see the <a href="https://source.android.com/source/requirements.html#jdk">JDK
-requirements</a>.
+For details, see the <a href="/setup/requirements.html#jdk">JDK requirements</a>.
</p>
<h3 id=CTS_files>CTS files</h3>
@@ -121,7 +127,7 @@ file for Ubuntu Linux.</p>
<p>A compatible device is defined as a device with a user/release-key signed
build, so your device should be running a system image based on the known to be
compatible user build (Android 4.0 and later) from <a
-href="/source/build-numbers.html">Codenames, Tags, and Build
+href="/setup/build-numbers.html">Codenames, Tags, and Build
Numbers</a>.<br>
<p class="caution"><strong>Caution:</strong> When used to confirm Android
diff --git a/en/compatibility/cts/usb-audio.html b/en/compatibility/cts/usb-audio.html
index b81a8909..4ef581d6 100644
--- a/en/compatibility/cts/usb-audio.html
+++ b/en/compatibility/cts/usb-audio.html
@@ -23,9 +23,9 @@
<p>
Several <a href="/compatibility/cts/">Android Compatibility Test Suite (CTS)</a>
-tests for <a href="https://source.android.com/devices/audio/usb">Android USB audio</a>
-require human intervention and the physical connection of USB audio
-peripherals. For these, additional CTS Verifier tests have been implemented.
+tests for <a href="/devices/audio/usb">Android USB audio</a> require human
+intervention and the physical connection of USB audio peripherals. For these,
+additional CTS Verifier tests have been implemented.
The requirements and protocols for these tests are explained in this document.
</p>
diff --git a/en/compatibility/index.html b/en/compatibility/index.html
index d053a587..a9051705 100644
--- a/en/compatibility/index.html
+++ b/en/compatibility/index.html
@@ -70,7 +70,7 @@ free, and it's easy</h2>
<p>To build an Android-compatible mobile device, follow this three-step
process:</p>
<ol>
-<li><em>Obtain the <a href="/source/index.html">Android software source
+<li><em>Obtain the <a href="/setup/index.html">Android software source
code</a></em>. This is the source code for the Android platform that you port
to your hardware.</li>
<li><em>Comply with the Android Compatibility Definition Document (CDD)</em>
diff --git a/en/devices/accessories/headset/usb-headset-spec.html b/en/devices/accessories/headset/usb-headset-spec.html
index c83f7eac..3279eee1 100644
--- a/en/devices/accessories/headset/usb-headset-spec.html
+++ b/en/devices/accessories/headset/usb-headset-spec.html
@@ -28,9 +28,8 @@ This documentation specifies USB headset buttons behavior to function uniformly
across the Android ecosystem. Device manufacturers should also consult the
<a href="/devices/audio/usb.html">USB
Digital Audio</a> page for more information about USB implementation on Android
-and the <a href="http://source.android.com/compatibility/android-cdd.html">Android
-Compatibility Definition Document (CDD)</a> for requirements related to Android
-devices.
+and the <a href="/compatibility/android-cdd.html">Android Compatibility
+Definition Document (CDD)</a> for requirements related to Android devices.
</p>
<p>There are also specifications for
<a href="plug-headset-spec.html">3.5 mm headsets</a> for accessory manufacturers and
diff --git a/en/devices/architecture/dto/implement.html b/en/devices/architecture/dto/implement.html
index 5d10a92c..52906fc8 100644
--- a/en/devices/architecture/dto/implement.html
+++ b/en/devices/architecture/dto/implement.html
@@ -108,8 +108,8 @@ top of the main DT blob. Typically, 8 MB is more than enough and allows room to
grow in the future if required.</p>
<p>For devices that support
-<a href="https://source.android.com/devices/tech/ota/ab_updates.html">seamless
-(A/B) updates</a>, A/B the main DT and overlay DT partitions:</p>
+<a href="/devices/tech/ota/ab_updates.html">seamless (A/B) updates</a>, A/B the
+main DT and overlay DT partitions:</p>
<div style="width:75%">
<div class="attempt-left">
diff --git a/en/devices/architecture/hidl/binder-ipc.html b/en/devices/architecture/hidl/binder-ipc.html
index 811bc3b7..22c38a11 100644
--- a/en/devices/architecture/hidl/binder-ipc.html
+++ b/en/devices/architecture/hidl/binder-ipc.html
@@ -255,9 +255,8 @@ need renaming.</p>
<p>To fulfill requirement 4, you must make changes in the way service names,
service labels, and rules are handled.</p>
-<p>For details on SELinux, see
-<a href="https://source.android.com/security/selinux/">Security-Enhanced Linux
-in Android</a>. For details on SELinux in Android 8.0, see
+<p>For details on SELinux, see <a href="/security/selinux/">Security-Enhanced
+Linux in Android</a>. For details on SELinux in Android 8.0, see
<a href="/security/selinux/images/SELinux_Treble.pdf">SELinux for Android
8.0</a>.</p>
diff --git a/en/devices/architecture/hidl/fmq.html b/en/devices/architecture/hidl/fmq.html
index 13a79610..db4055b5 100644
--- a/en/devices/architecture/hidl/fmq.html
+++ b/en/devices/architecture/hidl/fmq.html
@@ -353,17 +353,17 @@ const MemRegion&amp; getSecondRegion(); // get a reference to the second MemRegi
<pre class="prettyprint">
MessageQueueSync::MemTransaction tx;
if (mQueue->beginRead(dataLen, &amp;tx)) {
-auto first = tx.getFirstRegion();
-auto second = tx.getSecondRegion();
+ auto first = tx.getFirstRegion();
+ auto second = tx.getSecondRegion();
-foo(first.getAddress(), first.getLength()); // method that performs the data write
-foo(second.getAddress(), second.getLength()); // method that performs the data write
+ foo(first.getAddress(), first.getLength()); // method that performs the data write
+ foo(second.getAddress(), second.getLength()); // method that performs the data write
-if(commitWrite(dataLen) == false) {
-//report error
-}
+ if(commitWrite(dataLen) == false) {
+ // report error
+ }
} else {
-//report error
+ // report error
}
</pre>
diff --git a/en/devices/architecture/hidl/interfaces.html b/en/devices/architecture/hidl/interfaces.html
index a044abde..6fc1cb1b 100644
--- a/en/devices/architecture/hidl/interfaces.html
+++ b/en/devices/architecture/hidl/interfaces.html
@@ -75,7 +75,7 @@ interface in the package.</p>
<h2 id=interface-def>Interface definition</h2>
<p>Aside from <code>types.hal</code>, every other <code>.hal</code> file defines
-an interface. For example, an interface is typically defined as follows:</p>
+an interface. An interface is typically defined as follows:</p>
<pre class="prettyprint">
interface IBar extends IFoo { // IFoo is another interface
@@ -101,7 +101,7 @@ include:</p>
<li><code>interfaceDescriptor</code></li>
<li><code>notifySyspropsChanged</code></li>
<li><code>linkToDeath</code></li>
-<li><code>unlinkToDeath</code></li
+<li><code>unlinkToDeath</code></li>
<li><code>setHALInstrumentation</code></li>
<li><code>getDebugInfo</code></li>
<li><code>debug</code></li>
@@ -136,13 +136,13 @@ For fully-qualified values, the following import cases are supported:</p>
<li><strong>Whole-package imports</strong>. If the value is a package name and a
version (syntax described below), then the entire package is imported into the
importing entity.</li>
-<li><strong>Partial imports</strong>.
+<li><strong>Partial imports</strong>. If the value is:
<ul>
-<li>If the value is an interface, the package's <code>types.hal</code> and that
-interface are imported into the importing entity.</li>
-<li>If the value is an UDT defined in <code>types.hal</code>, then only that UDT
-is imported into the importing entity (other types in <code>types.hal</code> are
-not imported).</li>
+<li>An interface, the package's <code>types.hal</code> and that interface are
+imported into the importing entity.</li>
+<li>A UDT defined in <code>types.hal</code>, then only that UDT is imported into
+the importing entity (other types in <code>types.hal</code> are not imported).
+</li>
</ul>
<li><strong>Types-only imports</strong>. If the value uses the syntax of a
partial import described above, but with the keyword <code>types</code> instead
@@ -208,7 +208,7 @@ be registered under the base HAL name and version, and under the extension's
Versions are expressed in two integers, <em>major</em>.<em>minor</em>.</p>
<ul>
<li><strong>Major</strong> versions are not backwards compatible. Incrementing
-the major version number resets the minor version to 0.</li>
+the major version number resets the minor version number to 0.</li>
<li><strong>Minor</strong> versions are backwards compatible. Incrementing the
minor number indicates the newer version is fully backward compatible with the
previous version. New data structures and methods can be added, but no existing
@@ -219,10 +219,98 @@ data structures or method signatures may be changed.</li>
can be present on a device simultaneously. While multiple minor versions can
also be present on a device, as minor versions are backwards compatible no
reason exists to support more than the latest minor version for each major
-version.</p>
-
-<p>For more details on versioning and vendor extensions, see
+version. For more details on versioning and vendor extensions, see
<a href="/devices/architecture/hidl/versioning">HIDL Versioning</a>.</p>
+<h2 id="interface-layout-summary">Interface layout summary</h2>
+<p>This section summarizes how to manage a HIDL interface package (such as
+<code>hardware/interfaces</code>) and consolidates information presented
+throughout the HIDL section. Before reading, ensure you are familiar with
+<a href="/devices/architecture/hidl/versioning">HIDL Versioning</a>, the hashing
+concepts in <a href="/devices/architecture/hidl/hashing#hidl-gen">Hashing with
+hidl-gen</a>, the details of <a href="/devices/architecture/hidl/">working with
+HIDL in general</a>, and the following definitions:</p>
+
+<table>
+<thead>
+<tr>
+<th width="30%">Term</th>
+<th>Definition</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>Application Binary Interface (ABI)</td>
+<td>Application programming interface + any binary linkages required.</td>
+</tr>
+<tr>
+<td>Fully-qualified name (fqName)</td>
+<td>Name to distinguish a hidl type. Example:
+<code>android.hardware.foo@1.0::IFoo</code>.</td>
+</tr>
+<tr>
+<td>Package</td>
+<td>Package containing a HIDL interface and types. Example:
+<code>android.hardware.foo@1.0</code>.</td>
+</tr>
+<tr>
+<td> Package root</td>
+<td>Root package that contains the HIDL interfaces. Example: the HIDL interface
+<code>android.hardware</code> is in the package root
+<code>android.hardware.foo@1.0</code>.</td>
+</tr>
+<tr>
+<td>Package root path</td>
+<td>Location in the Android source tree where a package root maps to.</td>
+</tr>
+</tbody>
+</table>
+
+<p>For more definitions, see HIDL
+<a href="/devices/architecture/hidl/#terms">Terminology</a>.
+</p>
+
+<h3 id="file-found">Every file can be found from the package root mapping and
+its fully-qualified name</h3>
+<p>Package roots are specified to <code>hidl-gen</code> as the argument
+<code>-r android.hardware:hardware/interfaces</code>. For example, if the
+package is <code>vendor.awesome.foo@1.0::IFoo</code> and <code>hidl-gen</code>
+is sent <code>-r vendor.awesome:some/device/independent/path/interfaces</code>,
+then the interface file should be located in
+<code>$ANDROID_BUILD_TOP/some/device/independent/path/interfaces/foo/1.0/IFoo.hal</code>.
+</p>
+<p>In practice, it is recommended for a vendor or OEM named <code>awesome</code>
+to put their standard interfaces in <code>vendor.awesome</code>. After a package
+path has been selected, it must not be changed as this is baked into the ABI of
+the interface.</p>
+
+<h3 id="package-path-mapping">Package path mapping should be unique</h3>
+<p>For example, if you have <code>-rsome.package:$PATH_A</code> and
+<code>-rsome.package:$PATH_B</code>, <code>$PATH_A</code> must be equal to
+<code>$PATH_B</code> for a consistent interface directory (this also makes
+<a href="/devices/architecture/hidl/versioning">versioning interfaces</a> much
+easier).</p>
+
+<h3 id="package-root-version">Package root must have a versioning file</h3>
+<p>If you create a package path such as
+<code>-r vendor.awesome:vendor/awesome/interfaces</code>, you should also
+create the file
+<code>$ANDROID_BUILD_TOP/vendor/awesome/interfaces/current.txt</code>, which
+should contain hashes of interfaces made using the <code>-Lhash</code> option in
+<code>hidl-gen</code> (this is discussed extensively in
+<a href="/devices/architecture/hidl/hashing#hidl-gen">Hashing with
+hidl-gen</a>).</p>
+
+<aside class="caution"><strong>Caution:</strong> Manage all changes carefully!
+The <a href="/devices/tech/vts/">Vendor Test Suite (VTS)</a> will fail if an
+interface is not frozen, and ABI-incompatible changes to an interface will cause
+framework-only OTAs to fail.</aside>
+
+<h3 id="interfaces-device-dependent">Interfaces go in device-independent
+locations</h3>
+<p>In practice, it is recommended to share interfaces between branches. This
+allows for maximum code re-usage and maximum testing of code across different
+devices and use cases.</p>
+
</body>
</html>
diff --git a/en/devices/architecture/index.html b/en/devices/architecture/index.html
index 38f494a7..592198ff 100644
--- a/en/devices/architecture/index.html
+++ b/en/devices/architecture/index.html
@@ -75,7 +75,7 @@ primarily for system functionality and do not affect driver development.</p>
<p>You can use any version of the kernel as long as it supports the required
features (such as the binder driver). However, we recommend using the latest
version of the Android kernel. For details, see
-<a href="/source/building-kernels.html">Building Kernels</a>.</p>
+<a href="/setup/building-kernels.html">Building Kernels</a>.</p>
</body>
</html>
diff --git a/en/devices/architecture/kernel/modular-kernels.html b/en/devices/architecture/kernel/modular-kernels.html
index 5c4b54c3..70debebe 100644
--- a/en/devices/architecture/kernel/modular-kernels.html
+++ b/en/devices/architecture/kernel/modular-kernels.html
@@ -181,8 +181,8 @@ mounted in Recovery mode.</li>
partitions are <strong>not</strong> mounted early. In Android 8.0, to make
module loading from these partitions possible, provisions have been made to
mount partitions early for both
-<a href="https://source.android.com/devices/tech/ota/ab_updates">non-A/B and A/B
-devices</a>. This also ensures the partitions are mounted in both Android and
+<a href="/devices/tech/ota/ab_updates">non-A/B and A/B devices</a>. This also
+ensures the partitions are mounted in both Android and
Charger modes.</p>
<h3 id="android-build-system-support">Android build system support</h3>
@@ -604,9 +604,9 @@ see <a href="/devices/architecture/dto/partitions.html">DTB/DTBO Partitions</a>.
The assumption is that bootloader already knows where and how to load the
SoC–specific DTB.</li>
<li>Overlay DT partition should be
-<a href="https://source.android.com/devices/tech/ota/ab_updates.html">A/B-ed</a>
-for A/B devices. For these devices, the recovery kernel is the same as Android
-kernel, but the partition must be A/B-ed as it can be updated via OTA.</li>
+<a href="/devices/tech/ota/ab_updates.html">A/B-ed</a> for A/B devices. For these
+devices, the recovery kernel is the same as Android kernel, but the partition
+must be A/B-ed as it can be updated via OTA.</li>
<li>Partition size is board–specific.
<ul>
<li>The DT overlay partition size depends on the device and the amount of
diff --git a/en/devices/architecture/kernel/network_tests.html b/en/devices/architecture/kernel/network_tests.html
index bc437ad2..39329d2b 100644
--- a/en/devices/architecture/kernel/network_tests.html
+++ b/en/devices/architecture/kernel/network_tests.html
@@ -45,9 +45,9 @@ Suite (CTS) tests.</p>
<h2 id=using>Using the tests</h2> <p>The tests use <a
href="http://user-mode-linux.sourceforge.net/">User-Mode Linux</a> to boot the
-kernel as a process on a Linux host machine. See <a
-href="https://source.android.com/source/initializing.html">Establishing a Build
-Environment</a> for suitable operating system versions. The unit test framework
+kernel as a process on a Linux host machine. See
+<a href="/setup/initializing.html">Establishing a Build Environment</a> for
+suitable operating system versions. The unit test framework
boots the kernel with an appropriate disk image and runs the tests from the
host file system. The tests are written in Python 2.x and use TAP interfaces to
exercise kernel behaviour and the socket API.</p>
diff --git a/en/devices/audio/latency_measurements.html b/en/devices/audio/latency_measurements.html
index d8483c0c..9ec6e256 100644
--- a/en/devices/audio/latency_measurements.html
+++ b/en/devices/audio/latency_measurements.html
@@ -97,7 +97,7 @@ and
<h2 id="measurements">Example measurements</h2>
<p>The measurements listed below are specific to a
-<a href="/source/build-numbers.html">build number</a>. Devices are listed in
+<a href="/setup/build-numbers.html">build number</a>. Devices are listed in
approximate order of initial release and by platform version; you can also
<a href="#chart">view latencies in a chart</a>. The test application uses the
Android native audio API based on OpenSL ES.</p>
diff --git a/en/devices/bluetooth/verifying_debugging.html b/en/devices/bluetooth/verifying_debugging.html
index 40fcfc34..691894b6 100644
--- a/en/devices/bluetooth/verifying_debugging.html
+++ b/en/devices/bluetooth/verifying_debugging.html
@@ -79,11 +79,12 @@
tools/test/connectivity/acts/tests/google/bt/pts</a></code>.</p>
<h3 id="cts-tests">CTS Tests</h3>
- <p>The <a href="https://source.android.com/compatibility/cts/">
- Compatibility Test Suite</a> (CTS) includes tests for the
- Bluetooth stack. These are located in <code><a
+ <p>
+ The <a href="/compatibility/cts/">Compatibility Test Suite</a> (CTS)
+ includes tests for the Bluetooth stack. These are located in <code><a
href="https://android.googlesource.com/platform/cts/+/master/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth/">
- cts/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth</a></code>.</p>
+ cts/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth</a></code>.
+ </p>
<h2 id="debugging-options">Debugging options</h2>
<p>AOSP provides different methods of debugging a device's
diff --git a/en/devices/sensors/sensor-stack.html b/en/devices/sensors/sensor-stack.html
index 2522f02f..00c19a86 100644
--- a/en/devices/sensors/sensor-stack.html
+++ b/en/devices/sensors/sensor-stack.html
@@ -157,7 +157,7 @@ href="batching.html">Batching</a> for more information.</p>
<p class="note"><strong>Note:</strong> To develop new ContextHub features that
use new sensors or LEDs, you can also use a
-<a href="/source/devices.html#neonkey">Neonkey SensorHub</a> connected to a
+<a href="/setup/devices.html#neonkey">Neonkey SensorHub</a> connected to a
Hikey or Hikey960 development board.</p>
<p>How the sensor hub is materialized depends on the architecture. It is sometimes
diff --git a/en/devices/tech/admin/testing-provision.html b/en/devices/tech/admin/testing-provision.html
index af303a01..0891ffa4 100644
--- a/en/devices/tech/admin/testing-provision.html
+++ b/en/devices/tech/admin/testing-provision.html
@@ -32,18 +32,17 @@ for Device Administration</a>.</p>
<p class=note><strong>Note:</strong> Building and running the AfW Test Harness
is similar to building and running the Android
-<a href="http://source.android.com/compatibility/cts/index.html">Compatibility
-Test Suite (CTS)</a>.</p>
+<a href="/compatibility/cts/index.html">Compatibility Test Suite (CTS)</a>.</p>
<h2 id=setup_env>Setting up a development environment</h2>
<p>The development environment for the AfW Test Harness is similar to Android
OS. Follow the steps in
-<a href="/source/requirements.html">Requirements</a> to set up a
+<a href="/setup/requirements.html">Requirements</a> to set up a
development machine.</p>
<h2 id=download_source>Downloading source code</h2>
<p>Download the AfW Test Harness source code using the steps in
-<a href="/source/downloading.html">Downloading the Source</a>. The AfW
+<a href="/setup/downloading.html">Downloading the Source</a>. The AfW
Test Harness source code is in the <code>./test/AfwTestHarness</code> project.
The branch name determines the version of AfW Test Harness to download (each
Android platform has a separate version of AfW Test Harness). For Android 7.0,
diff --git a/en/devices/tech/admin/testing-setup.html b/en/devices/tech/admin/testing-setup.html
index 131ade86..06e4dcc1 100644
--- a/en/devices/tech/admin/testing-setup.html
+++ b/en/devices/tech/admin/testing-setup.html
@@ -84,7 +84,7 @@ the bug report is collected, the user is prompted to give consent to send the
bug report data. Results are received by
<code>DeviceAdminReceiver.onBugreport[Failed|Shared|SharingDeclined]</code>. For
details on bug report contents, see
-<a href="/source/read-bug-reports.html">Reading Bug Reports</a>.</p>
+<a href="/setup/read-bug-reports.html">Reading Bug Reports</a>.</p>
<p>In addition, device owner DPCs can also collect logs related to actions a
user has taken on a managed device. Enterprise process logging is required for
diff --git a/en/devices/tech/connect/images/ril-refactor-scenario-1-solution-1.png b/en/devices/tech/connect/images/ril-refactor-scenario-1-solution-1.png
index c3b406f8..c252daad 100644
--- a/en/devices/tech/connect/images/ril-refactor-scenario-1-solution-1.png
+++ b/en/devices/tech/connect/images/ril-refactor-scenario-1-solution-1.png
Binary files differ
diff --git a/en/devices/tech/connect/images/ril-refactor-scenario-1-solution-2.png b/en/devices/tech/connect/images/ril-refactor-scenario-1-solution-2.png
index c144afcf..6871336e 100644
--- a/en/devices/tech/connect/images/ril-refactor-scenario-1-solution-2.png
+++ b/en/devices/tech/connect/images/ril-refactor-scenario-1-solution-2.png
Binary files differ
diff --git a/en/devices/tech/connect/images/ril-refactor-scenario-1.png b/en/devices/tech/connect/images/ril-refactor-scenario-1.png
index f35fec9d..2d4e4b06 100644
--- a/en/devices/tech/connect/images/ril-refactor-scenario-1.png
+++ b/en/devices/tech/connect/images/ril-refactor-scenario-1.png
Binary files differ
diff --git a/en/devices/tech/connect/images/ril-refactor-scenario-2-solution.png b/en/devices/tech/connect/images/ril-refactor-scenario-2-solution.png
index d25ace5c..565ac214 100644
--- a/en/devices/tech/connect/images/ril-refactor-scenario-2-solution.png
+++ b/en/devices/tech/connect/images/ril-refactor-scenario-2-solution.png
Binary files differ
diff --git a/en/devices/tech/connect/images/ril-refactor-scenario-2.png b/en/devices/tech/connect/images/ril-refactor-scenario-2.png
index d52c1746..85d44a51 100644
--- a/en/devices/tech/connect/images/ril-refactor-scenario-2.png
+++ b/en/devices/tech/connect/images/ril-refactor-scenario-2.png
Binary files differ
diff --git a/en/devices/tech/connect/ril.html b/en/devices/tech/connect/ril.html
index 6367fb1f..56e7f9b9 100644
--- a/en/devices/tech/connect/ril.html
+++ b/en/devices/tech/connect/ril.html
@@ -23,267 +23,209 @@
-<p>Android 7.0 included a refactoring of the Radio Interface Layer (RIL), using a set of
-subfeatures to improve RIL functionality. Partner code changes are required to implement these
-features, which are optional but encouraged. Refactoring changes are backward compatible, so prior
-implementations of the refactored features continue to work.</p>
+<p>Android 7.0 refactored the Radio Interface Layer (RIL) using a set of
+features to improve RIL functionality. Partner code changes are required to
+implement these features, which are optional but encouraged. Refactoring changes
+are backward compatible, so prior implementations of the refactored features
+continue to work.</p>
-<p>The following subfeatures are included in the RIL refactoring feature. You
-can implement any or all of the subfeatures:</p>
+<p>RIL refactoring includes the following improvements:</p>
<ul>
-<li>Enhanced RIL error codes: Code can return more specific error codes
-than the existing <code>GENERIC_FAILURE</code> code. This enhances error
-troubleshooting by providing more specific information about the cause
-of errors.</li>
-
-<li>Enhanced RIL versioning: The RIL versioning mechanism is enhanced to
-provide more accurate and easier to configure version information.</li>
-
-<li>Redesigned RIL communication using wakelocks: RIL communication using
-wakelocks is enhanced to improve device battery performance.</li>
+<li><strong>RIL error codes.</strong> Enables specific error codes
+in addition to the existing <code>GENERIC_FAILURE</code> code. This aids in
+error troubleshooting by providing more specific information about the cause of
+errors.</li>
+<li><strong>RIL versioning.</strong> Provides more accurate and easier
+to configure version information.</li>
+<li><strong>RIL communication using wakelocks.</strong> Improves
+device battery performance.</li>
</ul>
-<h2 id="examples">Examples and source</h2>
-
-<p>Documentation for RIL versioning is also in code comments in <a
-href="https://android.googlesource.com/platform/hardware/ril/+/master/include/telephony/ril.h"><code>https://android.googlesource.com/platform/hardware/ril/+/master/include/telephony/ril.h</code></a>.</p>
-
-<h2 id="implementation">Implementation</h2>
+<p>You can implement any or all of the above improvements. For more details,
+refer to code comments on RIL versioning in
+<a href="https://android.googlesource.com/platform/hardware/ril/+/master/include/telephony/ril.h"><code>https://android.googlesource.com/platform/hardware/ril/+/master/include/telephony/ril.h</code></a>.</p>
-<p>The following sections describe how to implement the subfeatures of the
-RIL refactoring feature.</p>
-
-<h3 id="errorcodes">Implementing enhanced RIL error codes</h3>
-
-<h4 id="errorcodes-problem">Problem</h4>
+<h2 id="errorcodes">Implementing enhanced RIL error codes</h2>
<p>Almost all RIL request calls can return the <code>GENERIC_FAILURE</code>
error code in response to an error. This is an issue with all solicited
-responses returned by the OEMs. It is difficult to debug an issue from
-the bug report if the same <code>GENERIC_FAILURE</code> error code is
+responses returned by the OEMs, which can make it difficult to debug an issue
+from the bug report if the same <code>GENERIC_FAILURE</code> error code is
returned by RIL calls for different reasons. It can take considerable time
for vendors to even identify what part of the code could have returned a
<code>GENERIC_FAILURE</code> code.</p>
-<h4 id="errorcodes-solution">Solution</h4>
-
-<p>OEMs should return a distinct error code value associated
-with each of the different errors that are currently categorized as
-<code>GENERIC_FAILURE</code>.</p>
-
-<p>If OEMs do not want to publicly reveal their custom error codes, they may
-return errors as a distinct set of integers (for example, from 1 to x) that
-are mapped as <code>OEM_ERROR_1</code> to <code>OEM_ERROR_X</code>. The
-vendor should make sure each such masked error code returned maps to a unique
-error reason in their code. The purpose of doing this is
-to speed up debugging RIL issues whenever generic errors are returned
-by the OEM. It can take too much time to identify what exactly caused
-<code>GENERIC_FAILURE</code>, and sometimes it's impossible to figure out.<p>
-
-<p>In <code>ril.h</code>, more error codes are
-added for enums <code>RIL_LastCallFailCause</code> and
-<code>RIL_DataCallFailCause</code> so that vendor code avoids returning
-generic errors like <code>CALL_FAIL_ERROR_UNSPECIFIED</code> and
+<p>In Android 7.x and higher, OEMs can return a distinct error code value
+associated with each different error that is currently categorized as
+<code>GENERIC_FAILURE</code>. OEMs that do not want to publicly reveal their
+custom error codes can return errors as a distinct set of integers (such as 1 to
+x) mapped as <code>OEM_ERROR_1</code> to <code>OEM_ERROR_X</code>. Vendors
+should ensure each such masked error code returned maps to a unique error reason
+in the code. Using specific error codes can speed up RIL debugging whenever
+generic errors are returned by the OEM, as it can often take too much time to
+identify the exact cause of a <code>GENERIC_FAILURE</code> error code (and
+sometimes it's impossible to figure out).<p>
+
+<p>In addition, <code>ril.h</code> adds more error codes for the enums
+<code>RIL_LastCallFailCause</code> and <code>RIL_DataCallFailCause</code> so
+vendor code can avoid returning generic errors such as
+<code>CALL_FAIL_ERROR_UNSPECIFIED</code> and
<code>PDP_FAIL_ERROR_UNSPECIFIED</code>.</p>
-<h3 id="version">Implementing enhanced RIL versioning</h3>
+<h3 id="validate-error">Validating enhanced RIL error codes</h3>
-<h4 id="version-problem">Problem</h4>
+<p>After adding new error codes to replace the <code>GENERIC_FAILURE</code>
+code, verify the new error codes are returned by the RIL call instead
+of <code>GENERIC_FAILURE</code>.</p>
-<p>RIL versioning is not accurate enough. The mechanism for vendors to
-report their RIL version is not clear, causing vendors to report an incorrect
-version. A workaround method of estimating the version is used, but it can
-be inaccurate.</p>
+<h2 id="version">Implementing enhanced RIL versioning</h2>
-<h4 id="version-solution">Solution</h4>
+<p>RIL versioning in older Android releases was problematic: the version itself
+was imprecise, the mechanism for reporting a RIL version was unclear (causing
+some vendors to report an incorrect version), and the workaround for estimating
+the version was prone to inaccuracy.</p>
-<p>There is a documented section in <code>ril.h</code> describing what a
-particular RIL version value corresponds to. Each
-RIL version is documented, including what changes correspond
-to that version. Vendors must update their version in code when making
-changes corresponding to that version, and return that version while doing
+<p>In Android 7.x and higher, <code>ril.h</code> documents all RIL version
+values, describes the corresponding RIL version, and lists all changes for that
+version. When making changes that correspond to a RIL version, vendors must
+update their version in code and return that version in
<code>RIL_REGISTER</code>.</p>
-<h3 id="wakelocks">Implementing redesigned RIL communication using
-wakelocks</h3>
-
-<h4 id="wakelocks-prob-sum">Problem summary</h4>
-
-<p>Timed wakelocks are used in RIL communication in an imprecise way,
-which negatively affects battery performance. RIL requests can be either
-solicited or unsolicited. Solicited requests should be classified as one of
-the following:</p>
+<h3 id="validate-version">Validating enhanced RIL versioning</h3>
-<ul>
-<li>synchronous: Those that do not take considerable time to respond back. For
-example, <code>RIL_REQUEST_GET_SIM_STATUS</code>.</li>
+<p>Verify that the RIL version corresponding to your RIL code is returned
+during <code>RIL_REGISTER</code> (rather than the <code>RIL_VERSION</code>
+defined in <code>ril.h</code>).</p>
-<li>asynchronous: Those that take considerable time to respond back. For
-example, <code>RIL_REQUEST_QUERY_AVAILABLE_NETWORKS</code>.</li>
-</ul>
+<h2 id="wakelocks">Implementing RIL communication using wakelocks</h2>
-<p>Follow these steps to implement redesigned wakelocks:</p>
+<p>Timed wakelocks are used in RIL communication in an imprecise way,
+which negatively affects battery performance. In Android 7.x and higher, you can
+improve performance by classifying RIL requests and updating code to handle
+wakelocks differently for different request types.</p>
-<ol>
-<li>
-Classify solicited RIL commands as either synchronous or asynchronous
-depending on how much time they take to respond.
-<p>Here are some things to consider while making
-that decision:</p>
+<h3 id="classifying">Classifying RIL requests</h3>
+<p>RIL requests can be either solicited or unsolicited. Vendors should further
+classify solicited requests as one of the following:</p>
<ul>
-<li>As explained in the solution of asynchronous solicited RIL requests,
-because the requests take considerable time, RIL Java releases the wakelock
-after receiving ack from vendor code. This might cause the application
-processor to go from idle to suspend state. When the response is available
-from vendor code, RIL Java (the application processor) will re-acquire the
-wakelock and process the response, and later go to idle state again. This
-process of moving from idle to suspend state and back to idle can consume
-a lot of power.</li>
-
-<li>If the response time isn't long enough then holding the wakelock and
-staying in idle state for the entire time it takes to respond can be more
-power efficient than going in suspend state by releasing the wakelock and
-then waking up when the response arrives. So vendors should use
-platform-specific power measurement to find out the threshold value of time 't' when
-power consumed by staying in idle state for the entire time 't' consumes
-more power than moving from idle to suspend and back to idle in same time
-'t'. When that time 't' is discovered, RIL commands that take more than time
-'t' can be classified as asynchronous, and the rest of the RIL commands can
-be classified as synchronous.</li>
-</ul>
+<li><strong>synchronous</strong>. Requests that do not take considerable time to
+respond back. For example, <code>RIL_REQUEST_GET_SIM_STATUS</code>.</li>
+ <li><strong>asynchronous</strong>. Requests that take considerable time to
+respond back. For example, <code>RIL_REQUEST_QUERY_AVAILABLE_NETWORKS</code>.
</li>
+</ul>
-<li>Understand the RIL communications scenarios described in the <a
-href="#ril-comm-scenarios">RIL communication scenarios</a> section.</li>
-
-<li>Follow the solutions in the scenarios by modifying your code to handle
-RIL solicited and unsolicited requests.</li>
-</ol>
-
-<h4 id="ril-comm-scenarios">RIL communication scenarios</h4>
-
-<p>For implementation details of the functions used in the
-following diagrams, see the source code of <code>ril.cpp</code>:
-<code>acquireWakeLock()</code>, <code>decrementWakeLock()</code>,
-<code>clearWakeLock(</code>)</p>
-
-<h5>Scenario 1: RIL request from Java APIs and solicited asynchronous response
-to that request</h5>
+<p>Asynchronous solicited RIL requests can take considerable time. After
+receiving an ack from vendor code, RIL Java releases the wakelock, which might
+cause the application processor to go from idle to suspend state. When the
+response is available from vendor code, RIL Java (the application processor)
+re-acquires the wakelock, processes the response, then returns to idle. Such
+moving from idle to suspend to idle can consume a lot of power.</p>
+
+<p>If the response time isn't long enough, holding the wakelock and staying in
+idle for the entire time it takes to respond can be more power efficient than
+going into suspend state by releasing the wakelock and waking when the response
+arrives. Vendors should use platform-specific power measurements to determine
+the threshold value of time <var>T</var> when the power consumed by
+staying in idle for the entire time <var>T</var> is greater than the power
+consumed by moving from idle to suspend and to idle in same time <var>T</var>.
+When time <var>T</var> is known, RIL commands that take more than time
+<var>T</var> can be classified as asynchronous and the remaining commands
+classified as synchronous.</p>
+
+<h3 id="ril-comm-scenarios">RIL communication scenarios</h3>
+<p>The following diagrams illustrate common RIL communication scenarios and
+provide solutions for modifying code to handle RIL solicited and unsolicited
+requests.</p>
+
+<p class="note"><strong>Note:</strong> For implementation details on functions
+used in the following diagrams, refer to the <code>acquireWakeLock()</code>,
+<code>decrementWakeLock()</code>, and <code>clearWakeLock(</code>) methods in
+<code>ril.cpp</code>.</p>
+
+<h4>Scenario: RIL request and solicited asynchronous response</h4>
+
+<p>In this scenario, if the RIL solicited response is expected to take
+considerable time (i.e. a response to
+<code>RIL_REQUEST_GET_AVAILABLE_NETWORKS</code>), the wakelock is held for a
+long time on the application processor side. Modem problems can also result in a
+long wait.</p>
<p><img src="images/ril-refactor-scenario-1.png"></p>
+<figcaption><strong>Figure 1.</strong> RIL solicited asynchronous
+response.</figcaption>
-<h6>Problem</h6>
-
-<p>If the RIL solicited response is expected to take considerable time (for
-example, <code>RIL_REQUEST_GET_AVAILABLE_NETWORKS</code>), then wakelock
-is held for a long time on the Application processor side, which is a
-problem. Also, modem problems result in a long wait.</p>
-
-<h6>Solution part 1</h6>
-
-<p>In this scenario, wakelock equivalent is held by Modem code (RIL request
-and asynchronous response back).</p>
+<p><strong>Solution 1:</strong> The modem holds the wakelock for the RIL request
+and asynchronous response.</p>
<p><img src="images/ril-refactor-scenario-1-solution-1.png"></p>
-
-<p>As shown in the above sequence diagram:</p>
+<figcaption><strong>Figure 2.</strong> Wakelock held by modem.</figcaption>
<ol>
-<li>RIL request is sent, and the modem needs to acquire wakelock to process
-the request.</li>
-
-<li>The modem code sends acknowledgement that causes the Java side to decrement
-the wakelock counter and release it if the wakelock counter value is 0.</li>
-
-<li>After the modem processes the request, it sends an interrupt to the
-vendor code that acquires wakelock and sends a response to ril.cpp. ril.cpp
-then acquires wakelock and sends a response to the Java side.</li>
-
-<li>When the response reaches the Java side, wakelock is acquired and response
-is sent back to caller.</li>
-
-<li>After that response is processed by all modules, acknowledgement is
-sent back to <code>ril.cpp</code> over a socket. <code>ril.cpp</code> then
-releases the wakelock that was acquired in step 3.</li>
+<li>RIL request is sent and the modem acquires wakelock to process that
+request.</li>
+<li>Modem sends acknowledgement that causes the Java side to decrement
+the wakelock counter and release it when the counter value is 0.
+<p class="note"><strong>Note:</strong> The wakelock timeout duration for the
+request-ack sequence would be smallerthan the currently used timeout duration
+because the ack should be received fairly quickly.</p>
+</li>
+<li>After processing the request, the modem sends an interrupt to the vendor
+code that acquires wakelock and sends a response to ril.cpp, which in turn
+acquires wakelock and sends a response to the Java side.</li>
+<li>When the response reaches the Java side, wakelock is acquired and a response
+is returned to the caller.</li>
+<li>After the response is processed by all modules, acknowledgement is
+sent (via socket) back to <code>ril.cpp</code>, which then releases the wakelock
+acquired in step 3.</li>
</ol>
-<p>Note that the wakelock timeout duration for the request-ack sequence
-would be smaller than the currently used timeout duration because the ack
-should be received back fairly quickly.</p>
-
-<h6>Solution part 2</h6>
-
-<p>In this scenario, wakelock is not held by modem and response is quick
-(synchronous RIL request and response).</p>
+<p><strong>Solution 2:</strong> The modem does not hold the wakelock and the
+response is quick (synchronous RIL request and response). The synchronous vs.
+asynchronous behavior is hardcoded for a specific RIL command and decided on a
+call-by-callbasis.</p>
<p><img src="images/ril-refactor-scenario-1-solution-2.png"></p>
-
-<p>As shown in the above sequence diagram:</p>
+<figcaption><strong>Figure 3.</strong> Wakelock not held by modem.</figcaption>
<ol>
<li>RIL request is sent by calling <code>acquireWakeLock()</code> on the
Java side.</li>
-
<li>Vendor code doesn't need to acquire wakelock and can process the request
and respond quickly.</li>
-
<li>When the response is received by the Java side,
<code>decrementWakeLock()</code> is called, which decreases wakelock counter
and releases wakelock if the counter value is 0.</li>
</ol>
-<p>Note that this synchronous vs. asynchronous behavior is hardcoded for a
-particular RIL command and decided on a call-by-call basis.</p>
-
-<h5>Scenario 2: RIL unsolicited response</h5>
+<h4>Scenario: RIL unsolicited response</h4>
+<p>In this scenario, RIL unsolicited responses have a wakelock type flag in the
+that indicates whether a wakelock needs to be acquired for the vendor response.
+If the flag is set, a timed wakelock is set and the response is sent over a
+socket to the Java side. When the timer expires, the wakelock is released. The
+timed wakelock could be too long or too short for different RIL unsolicited
+responses.</p>
<p><img src="images/ril-refactor-scenario-2.png"></p>
+<figcaption><strong>Figure 4.</strong> RIL unsolicited response.</figcaption>
-<p>As shown in the above diagram, RIL unsolicited responses have a wakelock
-type flag in the response that indicates whether a wakelock needs to be
-acquired or not for the particular response received from the vendor. If
-the flag is set, then a timed wakelock is set and response is sent over a
-socket to the Java side. When the timer expires, the wakelock is released.</p>
-
-<h6>Problem</h6>
-
-<p>The timed wakelock illustrated in Scenario 2 could be too long or too
-short for different RIL unsolicited responses.</p>
-
-<h6>Solution</h6>
+<p><strong>Solution:</strong> An acknowledgement is sent from the Java code to
+the native side (<code>ril.cpp</code>) instead of holding a timed wakelock on
+the native side while sending an unsolicited response.</p>
<p><img src="images/ril-refactor-scenario-2-solution.png"></p>
+<figcaption><strong>Figure 5.</strong> Using ack instead of timed wakelock.
+</figcaption>
-<p>As shown, the problem can be solved by sending an acknowledgement from
-the Java code to the native side (<code>ril.cpp</code>), instead of holding
-a timed wakelock on the native side while sending an unsolicited response.</p>
-
-<h2 id="validation">Validation</h2>
-
-<p>The following sections describe how to validate the implementation of
-the RIL refactoring feature's subfeatures.</p>
-
-<h3 id="validate-error">Validating enhanced RIL error codes</h3>
-
-<p>After adding new error codes to replace the <code>GENERIC_FAILURE</code>
-code, verify that the new error codes are returned by the RIL call instead
-of <code>GENERIC_FAILURE</code>.</p>
-
-<h3 id="validate-version">Validating enhanced RIL versioning</h3>
-
-<p>Verify that the RIL version corresponding to your RIL code is returned
-during <code>RIL_REGISTER</code> rather than the <code>RIL_VERSION</code>
-defined in <code>ril.h</code>.</p>
<h3 id="validate-wakelocks">Validating redesigned wakelocks</h3>
-<p>Verify that RIL calls are identified as synchronous or asynchronous.</p>
-
-<p>Because battery power consumption can be hardware/platform dependent,
-vendors should do some internal testing to find out if using the new wakelock
-semantics for asynchronous calls leads to battery power savings.</p>
+<p>Verify that RIL calls are identified as synchronous or asynchronous. Because
+battery power consumption can be hardware/platform dependent, vendors should do
+some internal testing to find out if using the new wakelock semantics for
+asynchronous calls leads to battery power savings.</p>
</body>
</html>
diff --git a/en/devices/tech/dalvik/configure.html b/en/devices/tech/dalvik/configure.html
index b7e80e18..6a5fa86e 100644
--- a/en/devices/tech/dalvik/configure.html
+++ b/en/devices/tech/dalvik/configure.html
@@ -27,11 +27,9 @@
include configuration of pre-compilation of the system image, dex2oat compilation options,
and how to trade off system partition space, data partition space, and performance.</p>
-<p>See <a href="http://source.android.com/devices/tech/dalvik/index.html">ART
-and Dalvik</a>, the <a
-href="http://source.android.com/devices/tech/dalvik/dex-format.html">Dalvik
-Executable format</a>, and the remaining pages on source.android.com to work
-with ART. See <a
+<p>See <a href="/devices/tech/dalvik/index.html">ART and Dalvik</a>, the <a
+href="/devices/tech/dalvik/dex-format.html">Dalvik Executable format</a>, and the
+remaining pages on source.android.com to work with ART. See <a
href="http://developer.android.com/guide/practices/verifying-apps-art.html">Verifying
App Behavior on the Android Runtime (ART)</a> to ensure your apps work
properly.</p>
diff --git a/en/devices/tech/dalvik/index.html b/en/devices/tech/dalvik/index.html
index 2c84a8e5..5604d6a6 100644
--- a/en/devices/tech/dalvik/index.html
+++ b/en/devices/tech/dalvik/index.html
@@ -46,11 +46,11 @@ performance. ART also has tighter install-time verification than Dalvik.</p>
<p>At install time, ART compiles apps using the on-device
<strong>dex2oat</strong> tool. This utility accepts <a
-href="http://source.android.com/devices/tech/dalvik/dex-format.html">DEX</a> files as input and
-generates a compiled app executable for the target device. The utility should be
-able to compile all valid DEX files without difficulty. However, some
-post-processing tools produce invalid files that may be tolerated by Dalvik but
-cannot be compiled by ART. For more information, see <a
+href="/devices/tech/dalvik/dex-format.html">DEX</a> files as input and generates
+a compiled app executable for the target device. The utility should be able to
+compile all valid DEX files without difficulty. However, some post-processing
+tools produce invalid files that may be tolerated by Dalvik but cannot be
+compiled by ART. For more information, see <a
href="http://developer.android.com/guide/practices/verifying-apps-art.html#GC_Migration">Addressing
Garbage Collection Issues</a>.</p>
@@ -144,7 +144,7 @@ by including both Java and native stack information. </p>
<h2 id="Reporting_Problems">Reporting Problems</h2>
<p>If you run into any issues that aren’t due to app JNI issues, please report
-them through the <a href="/source/report-bugs#platform">Android Open Source
+them through the <a href="/setup/report-bugs#platform">Android Open Source
Project Issue Tracker</a>. Include an <code>adb bugreport</code> and link to
the app in Google Play store if available. Otherwise, if possible, attach an
APK that reproduces the issue.</p>
diff --git a/en/devices/tech/debug/index.html b/en/devices/tech/debug/index.html
index 1c493637..90922b0b 100644
--- a/en/devices/tech/debug/index.html
+++ b/en/devices/tech/debug/index.html
@@ -159,7 +159,7 @@ directly without taking up anywhere near as much space as an unstripped version.
<p>You can also <code>stack</code> an entire tombstone. Example:</p>
<pre class="devsite-terminal devsite-click-to-copy">
-stack &lt; FS/data/tombstones/tombstone_05</code>
+stack &lt; FS/data/tombstones/tombstone_05
</pre>
<p>This is useful if you've just unzipped a bugreport in the current directory.
For more information about diagnosing native crashes and tombstones, see
diff --git a/en/devices/tech/debug/kasan-kcov.html b/en/devices/tech/debug/kasan-kcov.html
index 20ba7fce..438cd027 100644
--- a/en/devices/tech/debug/kasan-kcov.html
+++ b/en/devices/tech/debug/kasan-kcov.html
@@ -49,16 +49,16 @@ Pixel's kernel source to boot with KASAN and KCOV turned on.
environment</h2>
<p>
Follow the steps in the <a
-href="/source/requirements">Downloading and
+href="/setup/requirements">Downloading and
Building</a> section to set up your build environment.
</p>
<h2 id="building-aosp">Building AOSP</h2>
<p>
-Download the <a href="/source/downloading">Android source code</a>. For the
+Download the <a href="/setup/downloading">Android source code</a>. For the
purpose of building KASAN images, choose a stable build that is not in active
development. Often, the latest available release/stable branch is a good choice.
More information about build and branch can be found at <a
-href="/source/build-numbers#source-code-tags-and-builds">Source
+href="/setup/build-numbers#source-code-tags-and-builds">Source
Code Tags and Builds</a>.
</p>
@@ -72,13 +72,13 @@ downloaded tarballs, run the scripts they contain, and accept the licenses.
</p>
<aside class="note">
<strong>Tip</strong>: Double check that you have the <a
-href="/source/initializing#installing-the-jdk">right
+href="/setup/initializing#installing-the-jdk">right
version of JDK</a> installed on your system before proceeding further.
</aside>
<p>
Then clean up, set up your build environment, and choose your build target,
following the steps in
-<a href="/source/building#cleaning-up">Preparing to Build</a>.
+<a href="/setup/building#cleaning-up">Preparing to Build</a>.
</p>
<p>
@@ -255,7 +255,7 @@ kernel.
</p>
<h3 id="reconfiguring-the-kernel">Reconfiguring the kernel</h3>
<p>
-Set up your <a href="/source/building-kernels#building">build environment</a>.
+Set up your <a href="/setup/building-kernels#building">build environment</a>.
Build your modified <code>defconfig</code> and check if the newly added flags
are present in the produced <code>.config</code> file.
</p>
@@ -363,7 +363,7 @@ index 31533fb9..81caf05d 100644
If you do not wish to modify the <code>BoardConfig.mk</code>
file, you could instead create a new lunch target that contains the name
<code>marlin_kasan</code>. For more information about this process, see
-<a href="/source/add-device">Adding a New Device</a>.
+<a href="/setup/add-device">Adding a New Device</a>.
</p>
<h3 id="adjusting-the-kernel-target-in-the-local-makefile">Adjusting the kernel
diff --git a/en/devices/tech/display/circular-icons.html b/en/devices/tech/display/circular-icons.html
index eed152a9..9e9c71e5 100644
--- a/en/devices/tech/display/circular-icons.html
+++ b/en/devices/tech/display/circular-icons.html
@@ -28,7 +28,7 @@
icons</a> are supported in Android 7.1.1 and later. Circular launcher icons
are not enabled by default. To use circular icons in your device
implementation, you must edit the <a
- href="/source/add-device.html#use-resource-overlays">resource
+ href="/setup/add-device.html#use-resource-overlays">resource
overlay</a> on your device to enable them.</p>
<p>The resource file you are using an overlay on is at:
diff --git a/en/devices/tech/ota/device_code.html b/en/devices/tech/ota/device_code.html
index 98f37f0f..3b3d9d6c 100644
--- a/en/devices/tech/ota/device_code.html
+++ b/en/devices/tech/ota/device_code.html
@@ -121,7 +121,7 @@ format</a>.</p>
Things console to have the images included in the selected product.</p>
<p class="note"><strong>Note:</strong> These images must meet Android <a
-href="/source/brands">brand guidelines</a>.</p>
+href="/setup/brands">brand guidelines</a>.</p>
<h2 id="recovery-ui">Recovery UI</h2>
<p>To support devices with different available hardware (physical buttons,
diff --git a/en/devices/tech/power/mgmt.html b/en/devices/tech/power/mgmt.html
index 7dd0862b..c54821f0 100644
--- a/en/devices/tech/power/mgmt.html
+++ b/en/devices/tech/power/mgmt.html
@@ -35,8 +35,9 @@ access and deferring syncs and jobs for those applications.</li>
<li><a href="#doze">Doze</a>. The platform can enter a state of
deep sleep (periodically resuming normal operations) if users have not actively
used their device (screen off and stationary) for extended periods of time.
-Android 7.0 and later also enables Doze to trigger a lighter set of optimizations when
-users turn off the device screen yet continue to move around.</li>
+Android 7.0 and higher also enables Doze to trigger a lighter set of
+optimizations when users turn off the device screen yet continue to move around.
+</li>
<li><a href="#exempt-apps">Exemptions</a>. System apps and
cloud messaging services preloaded on a device are typically exempted from App
Standby and Doze by default (although app developers can intent their
@@ -95,7 +96,8 @@ a period of time.
</p>
<h3 id=testing_app_standby>Testing App Standby</h3>
-<p>You can manually test App Standby using the following <code>adb</code> commands:</p>
+<p>You can manually test App Standby using the following <code>adb</code>
+commands:</p>
<pre class="devsite-click-to-copy">
<code class="devsite-terminal">adb shell dumpsys battery unplug</code>
@@ -110,37 +112,39 @@ a period of time.
network activity when a device is unused for long periods.</p>
<p>Idle devices in Doze periodically enter a maintenance window, during which
-apps can complete pending activities (syncs, jobs, etc.). Doze then resumes sleep
-for a longer period of time, followed by another maintenance window. The
+apps can complete pending activities (syncs, jobs, etc.). Doze then resumes
+sleep for a longer period of time, followed by another maintenance window. The
platform continues the Doze sleep/maintenance sequence, increasing the length of
idle each time, until a maximum of a few hours of sleep time is reached. At all
times, a device in Doze remains aware of motion and immediately leaves Doze
if motion is detected.</p>
-<p>Android 7.0 and later extends Doze to trigger a lighter set of optimizations every time
-a user turns off the device screen, even when the user continues to move around,
-enabling longer lasting battery life.</p>
+<p>Android 7.0 and higher extends Doze to trigger a lighter set of optimizations
+every time a user turns off the device screen, even when the user continues to
+move around, enabling longer lasting battery life.</p>
<p>System services (such as telephony) may be preloaded and exempted from Doze
by default. Users can also exempt specific applications from Doze in the
-Settings menu. By default, Doze is <strong>disabled</strong> in AOSP; for details on
-enabling Doze, see <a href="#integrate-doze">Integrating Doze</a>.</p>
+Settings menu. By default, Doze is <strong>disabled</strong> in AOSP; for
+details on enabling Doze, see <a href="#integrate-doze">Integrating Doze</a>.
+</p>
<h3 id="doze-reqs">Doze requirements</h3>
<p>Doze support requires the device has a cloud messaging service, such as
-<a href="https://developers.google.com/cloud-messaging/">Google Cloud Messaging
-(GCM)</a>. This enables the device to know when to wake from Doze.</p>
+<a href="https://firebase.google.com/docs/cloud-messaging/">Firebase Cloud
+Messaging (FCM)</a>. This enables the device to know when to wake from Doze.</p>
+
<p>Full Doze support also requires a
<a href="/devices/sensors/sensor-types.html#significant_motion">Significant
Motion Detector (SMD)</a> on the device; however, the lightweight Doze mode in
-Android 7.0 and later does not require an SMD. If Doze is enabled on a device that:</p>
+Android 7.0 and higher does not require an SMD. If Doze is enabled on a device
+that:</p>
<ul>
<li>Has an SMD, full Doze optimizations occur (includes lightweight
optimizations).</li>
<li>Does not have an SMD, only the lightweight Doze optimizations occur.</li>
</ul>
-
<h3 id="doze-life">Doze lifecycle</h3>
<p>Doze begins when the platform detects the device is idle and
@@ -193,11 +197,12 @@ they can complete their processing.</li>
</tbody>
</table>
-<p>Android 7.0 and later extends Doze by enabling a lightweight sleep mode during screen
-off, before the device is idle.</p>
+<p>Android 7.0 and higher extends Doze by enabling a lightweight sleep mode
+during screen off, before the device is idle.</p>
+
<p><img src="/devices/tech/images/doze_lightweight.png"></p>
-<p class="img-caption">Figure 1. Doze modes for non-stationary and stationary
-devices.</p>
+<figcaption><strong>Figure 1.</strong> Doze modes for non-stationary and
+stationary devices.</figcaption>
<table>
<tbody>
@@ -218,14 +223,16 @@ devices.</p>
</tr>
<tr>
<td>Restrictions</td>
-<td>No network access, wake lock, or GPS/Wi-FI scan. Alarms and jobs/syncs deferred.</td>
-<td>No network access. Jobs/syncs deferred except during maintenance windows.</td>
+<td>No network access, wake lock, or GPS/Wi-FI scan. Alarms and jobs/syncs
+deferred.</td>
+<td>No network access. Jobs/syncs deferred except during maintenance windows.
+</td>
</tr>
<tr>
<td>Behavior</td>
<td>Only high-priority push notification messages received.</td>
-<td>All real-time messages (instant messages, calls, etc.) received. High-priority push
- notification message enables temporary network access.</td>
+<td>All real-time messages (instant messages, calls, etc.) received.
+High-priority push notification message enables temporary network access.</td>
</tr>
<tr>
<td>Exit</td>
@@ -279,14 +286,14 @@ optimizing applications</a>.
<h4 id="doze-tips">Tips</h4>
<ul>
-<li>If possible, use GCM for
-<a href="https://developers.google.com/cloud-messaging/downstream">downstream
+<li>If possible, use FCM for
+<a href="https://firebase.google.com/docs/cloud-messaging/http-server-ref#send-downstream">downstream
messaging</a>.</li>
<li>If your users must see a notification right away, use a
-<a href="https://developers.google.com/cloud-messaging/concept-options#setting-the-priority-of-a-message">GCM
+<a href="https://firebase.google.com/docs/cloud-messaging/concept-options#setting-the-priority-of-a-message">FCM
high priority message</a>.</li>
<li>Provide sufficient information within the initial
-<a href="https://developers.google.com/cloud-messaging/concept-options#payload">message
+<a href="https://firebase.google.com/docs/cloud-messaging/concept-options#notifications_and_data_messages">message
payload</a> (to avoid unnecessary subsequent network access).</li>
<li>Set critical alarms with
<a href="http://developer.android.com/reference/android/app/AlarmManager.html#setAndAllowWhileIdle(int,%20long,%20android.app.PendingIntent)">setAndAllowWhileIdle()</a>
@@ -309,9 +316,9 @@ mode.</p>
<p>You can exempt applications from being subject to Doze or App Standby.
Exemptions may be needed in the following use cases:</p>
<ul>
-<li>OEM using non-GCM Cloud Messaging platform</li>
-<li>Carrier using non-GCM Cloud Messaging platform</li>
-<li>Third-party application using non-GCM Cloud Messaging platform</li>
+<li>OEM using non-FCM Cloud Messaging platform</li>
+<li>Carrier using non-FCM Cloud Messaging platform</li>
+<li>Third-party application using non-FCM Cloud Messaging platform</li>
</ul>
<p class="warning"><strong>Warning</strong>: Do not exempt apps to avoid testing
@@ -325,14 +332,15 @@ these reasons, we strongly recommend that you do not exempt third-party
applications and instead exempt only cloud messaging services or apps with
similar functions.</p>
-<p>Apps exempted by default are listed in a single view in <em>Settings > Battery</em>.
-This list is used for exempting the app from both Doze and App
+<p>Apps exempted by default are listed in a single view in <em>Settings >
+Battery</em>. This list is used for exempting the app from both Doze and App
Standby modes. To provide transparency to the user, the Settings menu
<strong>MUST</strong> show all exempted applications.</p>
-<p>Users can manually exempt apps via <em>Settings > Battery > Battery optimization > All apps</em>
-and then selecting the app to turn off (or back on) optimization. However, users cannot unexempt
-any application or service that is exempted by default in the system image.</p>
+<p>Users can manually exempt apps via <em>Settings > Battery > Battery
+optimization > All apps</em> and then selecting the app to turn off (or back on)
+optimization. However, users cannot unexempt any application or service that is
+exempted by default in the system image.</p>
</body>
</html>
diff --git a/en/devices/tech/test_infra/tradefed/full_example.html b/en/devices/tech/test_infra/tradefed/full_example.html
index 0d3574e1..a6527aa0 100644
--- a/en/devices/tech/test_infra/tradefed/full_example.html
+++ b/en/devices/tech/test_infra/tradefed/full_example.html
@@ -507,7 +507,7 @@ tf&gt; run example/helloworld --log-level-display info
<a href="https://android.googlesource.com/platform/tools/tradefederation/+/master">Trade
Federation source code</a> has a lot of useful information that isn't exposed in
the documentation. If all else fails, try asking on the
-<a href="/source/community.html">android-platform</a> Google Group,
+<a href="/setup/community.html">android-platform</a> Google Group,
with "Trade Federation" in the message subject.</p>
</body>
diff --git a/en/devices/tech/test_infra/tradefed/fundamentals/index.html b/en/devices/tech/test_infra/tradefed/fundamentals/index.html
index f4d83f1b..c7958648 100644
--- a/en/devices/tech/test_infra/tradefed/fundamentals/index.html
+++ b/en/devices/tech/test_infra/tradefed/fundamentals/index.html
@@ -76,7 +76,7 @@ things that aren't directly discussed in the documentation.</p>
<p>If you've gotten through everything here and still have unanswered questions, first try taking
a look at the <a href="https://android.googlesource.com/platform/tools/tradefederation/+/master"
>Trade Federation source code</a>. Beyond that, feel free to try asking on the
-<a href="/source/community.html">android-platform</a> Google Group. For best results, make
+<a href="/setup/community.html">android-platform</a> Google Group. For best results, make
sure to mention "Trade Federation" (or "tradefed", or "TF") in the message subject.</p>
diff --git a/en/devices/tech/test_infra/tradefed/fundamentals/machine_setup.html b/en/devices/tech/test_infra/tradefed/fundamentals/machine_setup.html
index 47b99bde..a15c4333 100644
--- a/en/devices/tech/test_infra/tradefed/fundamentals/machine_setup.html
+++ b/en/devices/tech/test_infra/tradefed/fundamentals/machine_setup.html
@@ -23,7 +23,7 @@
<p>
Trade Federation is distributed with the AOSP and uses the Android build system
- to create its binary. Make sure you've <a href="/source/initializing.html"
+ to create its binary. Make sure you've <a href="/setup/initializing.html"
>established a build environment</a> to compile and run packages from the
Android source tree.
</p>
diff --git a/en/devices/tv/reference-tv-app.html b/en/devices/tv/reference-tv-app.html
index 7a35de56..a8a5105f 100644
--- a/en/devices/tv/reference-tv-app.html
+++ b/en/devices/tv/reference-tv-app.html
@@ -123,7 +123,10 @@ adb push $OUT/system/priv-app/LiveTv/LiveTv.apk /system/priv-app/LiveTv/
<p>Once Live TV is on your device, you should test that it is properly
-integrated. In addition to running the <a href="/compatibility/cts/index.html">Compatibility test suite</a> and the <a href="http://source.android.com/compatibility/cts/verifier.html">CTS Verifier tests</a> for the TV app, you can use these tests below:</p>
+integrated. In addition to running the <a
+href="/compatibility/cts/index.html">Compatibility test suite</a> and the <a
+href="/compatibility/cts/verifier.html">CTS Verifier tests</a> for the TV app,
+you can use these tests below:</p>
<h3 id=unit_tests>Unit tests</h3>
diff --git a/en/legal.html b/en/legal.html
index 71f688c2..733675e4 100644
--- a/en/legal.html
+++ b/en/legal.html
@@ -36,11 +36,11 @@
<h2 id="Brands">Android Brands</h2>
-<p>The "Android" name, the <img src="/source/assets/images/sac_logo.png" alt="Android"
+<p>The "Android" name, the <img src="/setup/assets/images/sac_logo.png" alt="Android"
style="margin:0;padding:0 2px;vertical-align:baseline" /> logo, and
<a href="http://www.google.com/permissions/">other trademarks</a> are property of Google Inc.</p>
-<p>See the <a href="/source/brands.html">Brand Guidelines</a> for additional details.</p>
+<p>See the <a href="/setup/brands.html">Brand Guidelines</a> for additional details.</p>
<h2 id="WebSite">Web Site Content</h2>
diff --git a/en/security/bulletin/index.html b/en/security/bulletin/index.html
index 1e337a14..987801e4 100644
--- a/en/security/bulletin/index.html
+++ b/en/security/bulletin/index.html
@@ -30,7 +30,8 @@ vulnerability details specific to their products, such as:</p>
<ul>
<li><a href="/security/bulletin/pixel/">Google</a></li>
<li><a href="https://lgsecurity.lge.com/security_updates.html">LG</a></li>
- <li><a href="https://motorola-global-portal.custhelp.com/app/software-upgrade-security/g_id/5593">Motorola</a></li>
+ <li><a href="https://motorola-global-portal.custhelp.com/app/software-upgrade-news/g_id/1949">
+ Motorola</a></li>
<li><a href="https://security.samsungmobile.com/securityUpdate.smsb">Samsung</a></li>
</ul>
@@ -85,15 +86,13 @@ Android Open Source Project (AOSP), the upstream Linux kernel, and system-on-chi
</tr>
<tr>
<td><a href="/security/bulletin/2017-10-01.html">October 2017</a></td>
- <td>Coming soon
- <!--
+ <td>
<a href="/security/bulletin/2017-10-01.html">English</a>&nbsp;/
<a href="/security/bulletin/2017-10-01.html?hl=ja">日本語</a>&nbsp;/
<a href="/security/bulletin/2017-10-01.html?hl=ko">한국어</a>&nbsp;/
<a href="/security/bulletin/2017-10-01.html?hl=ru">ру́сский</a>&nbsp;/
<a href="/security/bulletin/2017-10-01.html?hl=zh-cn">中文&nbsp;(中国)</a>&nbsp;/
<a href="/security/bulletin/2017-10-01.html?hl=zh-tw">中文&nbsp;(台灣)</a>
- -->
</td>
<td>October 2, 2017</td>
<td>2017-10-01<br>
@@ -101,15 +100,13 @@ Android Open Source Project (AOSP), the upstream Linux kernel, and system-on-chi
</tr>
<tr>
<td><a href="/security/bulletin/2017-09-01.html">September 2017</a></td>
- <td>Coming soon
- <!--
+ <td>
<a href="/security/bulletin/2017-09-01.html">English</a>&nbsp;/
<a href="/security/bulletin/2017-09-01.html?hl=ja">日本語</a>&nbsp;/
<a href="/security/bulletin/2017-09-01.html?hl=ko">한국어</a>&nbsp;/
<a href="/security/bulletin/2017-09-01.html?hl=ru">ру́сский</a>&nbsp;/
<a href="/security/bulletin/2017-09-01.html?hl=zh-cn">中文&nbsp;(中国)</a>&nbsp;/
<a href="/security/bulletin/2017-09-01.html?hl=zh-tw">中文&nbsp;(台灣)</a>
- -->
</td>
<td>September 5, 2017</td>
<td>2017-09-01<br>
@@ -117,15 +114,13 @@ Android Open Source Project (AOSP), the upstream Linux kernel, and system-on-chi
</tr>
<tr>
<td><a href="/security/bulletin/2017-08-01.html">August 2017</a></td>
- <td>Coming soon
- <!--
+ <td>
<a href="/security/bulletin/2017-08-01.html">English</a>&nbsp;/
<a href="/security/bulletin/2017-08-01.html?hl=ja">日本語</a>&nbsp;/
<a href="/security/bulletin/2017-08-01.html?hl=ko">한국어</a>&nbsp;/
<a href="/security/bulletin/2017-08-01.html?hl=ru">ру́сский</a>&nbsp;/
<a href="/security/bulletin/2017-08-01.html?hl=zh-cn">中文&nbsp;(中国)</a>&nbsp;/
<a href="/security/bulletin/2017-08-01.html?hl=zh-tw">中文&nbsp;(台灣)</a>
- -->
</td>
<td>August 7, 2017</td>
<td>2017-08-01<br>
diff --git a/en/security/bulletin/pixel/index.html b/en/security/bulletin/pixel/index.html
index 2df49896..4b18dd6e 100644
--- a/en/security/bulletin/pixel/index.html
+++ b/en/security/bulletin/pixel/index.html
@@ -75,15 +75,13 @@ AOSP 24&ndash;48 hours after the Pixel&hairsp;/&hairsp;Nexus bulletin is release
</tr>
<tr>
<td><a href="/security/bulletin/pixel/2017-10-01.html">October 2017</a></td>
- <td>Coming soon
- <!--
+ <td>
<a href="/security/bulletin/pixel/2017-10-01.html">English</a>&nbsp;/
<a href="/security/bulletin/pixel/2017-10-01.html?hl=ja">日本語</a>&nbsp;/
<a href="/security/bulletin/pixel/2017-10-01.html?hl=ko">한국어</a>&nbsp;/
<a href="/security/bulletin/pixel/2017-10-01.html?hl=ru">ру́сский</a>&nbsp;/
<a href="/security/bulletin/pixel/2017-10-01.html?hl=zh-cn">中文&nbsp;(中国)</a>&nbsp;/
<a href="/security/bulletin/pixel/2017-10-01.html?hl=zh-tw">中文&nbsp;(台灣)</a>
- -->
</td>
<td>October 2, 2017</td>
<td>2017-10-05</td>
diff --git a/en/security/index.html b/en/security/index.html
index 5d62e5d1..ca4e45e3 100644
--- a/en/security/index.html
+++ b/en/security/index.html
@@ -158,7 +158,7 @@ Android devices with <a href="https://www.android.com/gms/">Google Mobile
Services</a>. While these services are not part of the Android Open Source
Project, they are included on many Android devices. For more information on
some of these services, see Android Security’s
-<a href="/security/reports/Google_Android_Security_2015_Report_Final.pdf">2015
+<a href="/security/reports/Google_Android_Security_2016_Report_Final.pdf">2016
Year in Review</a>.
</p>
<p>
diff --git a/en/security/selinux/customize.html b/en/security/selinux/customize.html
index 98eafa4c..47f287a6 100644
--- a/en/security/selinux/customize.html
+++ b/en/security/selinux/customize.html
@@ -97,7 +97,7 @@ the OEM, before turning on enforcing mode.</p>
<p>To prevent unnecessary issues, it is better to be overbroad and over-compatible
than too restrictive and incompatible, which results in broken device
functions. Conversely, if a manufacturer's changes will benefit others, it
-should supply the modifications to the default SELinux policy as a <a href="/source/submit-patches.html">patch</a>. If the patch is applied to the default security policy, the manufacturer will no longer need to make this change with each new Android release.</p>
+should supply the modifications to the default SELinux policy as a <a href="/setup/submit-patches.html">patch</a>. If the patch is applied to the default security policy, the manufacturer will no longer need to make this change with each new Android release.</p>
<h2 id=example_policy_statements>Example policy statements</h2>
diff --git a/en/source/64-bit-builds.html b/en/setup/64-bit-builds.html
index 30b51d6f..30b51d6f 100644
--- a/en/source/64-bit-builds.html
+++ b/en/setup/64-bit-builds.html
diff --git a/en/source/_toc.yaml b/en/setup/_toc.yaml
index 8572b0ac..cccaa49e 100644
--- a/en/source/_toc.yaml
+++ b/en/setup/_toc.yaml
@@ -2,70 +2,70 @@ toc:
- title: Getting Started
section:
- title: Overview
- path: /source/
+ path: /setup/
- title: Codelines, Branches, and Releases
- path: /source/code-lines
+ path: /setup/code-lines
- title: Codenames, Tags, and Build Numbers
- path: /source/build-numbers
+ path: /setup/build-numbers
- title: Project Roles
- path: /source/roles
+ path: /setup/roles
- title: Brand Guidelines
- path: /source/brands
+ path: /setup/brands
- title: Licenses
- path: /source/licenses
+ path: /setup/licenses
- title: FAQ
- path: /source/faqs
+ path: /setup/faqs
- title: Site Updates
- path: /source/site-updates
+ path: /setup/site-updates
- title: Downloading and Building
section:
- title: Requirements
- path: /source/requirements
+ path: /setup/requirements
- title: Establishing a Build Environment
- path: /source/initializing
+ path: /setup/initializing
- title: Downloading the Source
- path: /source/downloading
+ path: /setup/downloading
- title: Preparing to Build
- path: /source/building
+ path: /setup/building
- title: Compiling with Jack
- path: /source/jack
+ path: /setup/jack
- title: Using Reference Boards
- path: /source/devices
+ path: /setup/devices
- title: Running Builds
- path: /source/running
+ path: /setup/running
- title: Building Kernels
- path: /source/building-kernels
+ path: /setup/building-kernels
- title: Known Issues
- path: /source/known-issues
+ path: /setup/known-issues
- title: Developing
section:
- title: Overview
- path: /source/developing
+ path: /setup/developing
- title: Using Repo
- path: /source/using-repo
+ path: /setup/using-repo
- title: Learning Git
- path: /source/git-resources
+ path: /setup/git-resources
- title: Adding a New Device
- path: /source/add-device
+ path: /setup/add-device
- title: Understanding 64-bit Builds
- path: /source/64-bit-builds
+ path: /setup/64-bit-builds
- title: Contributing
section:
- title: Overview
- path: /source/contributing
+ path: /setup/contributing
- title: Life of a Patch
- path: /source/life-of-a-patch
+ path: /setup/life-of-a-patch
- title: Submitting Patches
- path: /source/submit-patches
+ path: /setup/submit-patches
- title: View Patches
- path: /source/view-patches
+ path: /setup/view-patches
- title: Life of a Bug
- path: /source/life-of-a-bug
+ path: /setup/life-of-a-bug
- title: Reporting Bugs
- path: /source/report-bugs
+ path: /setup/report-bugs
- title: Reading Bug Reports
- path: /source/read-bug-reports
+ path: /setup/read-bug-reports
- title: Java Code Style Rules
- path: /source/code-style
+ path: /setup/code-style
- title: Community
- path: /source/community
+ path: /setup/community
diff --git a/en/source/_translation.yaml b/en/setup/_translation.yaml
index 33538a7a..de17f36f 100644
--- a/en/source/_translation.yaml
+++ b/en/setup/_translation.yaml
@@ -1,6 +1,6 @@
enable_continuous_translation: True
-title: Android Open Source Project Source tab
-description: Translations for SAC source tab
+title: Android Open Source Project Setup tab
+description: Translations for SAC Setup tab
language:
- zh-CN
cc:
diff --git a/en/source/add-device.html b/en/setup/add-device.html
index bd869f97..bd869f97 100644
--- a/en/source/add-device.html
+++ b/en/setup/add-device.html
diff --git a/en/source/assets/bg_fade.jpg b/en/setup/assets/bg_fade.jpg
index c6c70b6f..c6c70b6f 100644
--- a/en/source/assets/bg_fade.jpg
+++ b/en/setup/assets/bg_fade.jpg
Binary files differ
diff --git a/en/source/assets/bg_images_sprite.png b/en/setup/assets/bg_images_sprite.png
index 84437e79..84437e79 100644
--- a/en/source/assets/bg_images_sprite.png
+++ b/en/setup/assets/bg_images_sprite.png
Binary files differ
diff --git a/en/source/assets/images/sac_logo.png b/en/setup/assets/images/sac_logo.png
index 4ad113c4..4ad113c4 100644
--- a/en/source/assets/images/sac_logo.png
+++ b/en/setup/assets/images/sac_logo.png
Binary files differ
diff --git a/en/source/assets/rebox-gradient.gif b/en/setup/assets/rebox-gradient.gif
index 124e844c..124e844c 100644
--- a/en/source/assets/rebox-gradient.gif
+++ b/en/setup/assets/rebox-gradient.gif
Binary files differ
diff --git a/en/source/brands.html b/en/setup/brands.html
index 032c7e4a..17927169 100644
--- a/en/source/brands.html
+++ b/en/setup/brands.html
@@ -23,7 +23,7 @@
-<p>The "Android" name, the <img src="/source/assets/images/sac_logo.png"
+<p>The "Android" name, the <img src="/setup/assets/images/sac_logo.png"
alt="Android" style="margin:0;padding:0 2px;vertical-align:baseline" /> logo,
the "Google Play" brand, and other trademarks are property of Google Inc. and
not part of the assets available through the Android Open Source Project.</p>
@@ -95,7 +95,7 @@ logo and custom typeface may not be used (with or without the Android robot).</p
<div class="wrap">
<div class="col-4">
- <img alt="android-robot" style="float:left;margin-right:10px" src="/source/images/Android_Robot_100.png">
+ <img alt="android-robot" style="float:left;margin-right:10px" src="/setup/images/Android_Robot_100.png">
<p style="padding-top:20px">
<a href="https://developer.android.com/images/brand/Android_Robot_100.png">100x118</a><br>
<a href="https://developer.android.com/images/brand/Android_Robot_200.png">200x237</a><br>
@@ -130,7 +130,7 @@ used in partner marketing.</p>
<p>Use of the “Google Play” name and the Google Play Store icon on the
packaging of the hardware, marketing materials of the hardware, or the hardware
itself is allowed only on devices
-<a href="/source/faqs.html#if-my-device-is-compatible-does-it-automatically-have-access-to-google-play-and-branding">licensed
+<a href="/setup/faqs.html#if-my-device-is-compatible-does-it-automatically-have-access-to-google-play-and-branding">licensed
to access Google Play</a>. For a list of devices licensed to use Google Play,
refer to
<a href="https://support.google.com/googleplay/answer/1727131">Supported
diff --git a/en/source/build-numbers.html b/en/setup/build-numbers.html
index 1236ec35..1236ec35 100644
--- a/en/source/build-numbers.html
+++ b/en/setup/build-numbers.html
diff --git a/en/source/building-kernels.html b/en/setup/building-kernels.html
index 1ddfe4fa..527e1d4a 100644
--- a/en/source/building-kernels.html
+++ b/en/setup/building-kernels.html
@@ -29,7 +29,7 @@ skip the <code>git clone</code> steps except the step that downloads the kernel
sources.</p>
<p>All examples in this section use the
-<a href="/source/devices.html#hikey-boards">hikey</a> kernel.</p>
+<a href="/setup/devices.html#hikey-boards">hikey</a> kernel.</p>
<h2 id="figuring-out-which-kernel-to-build">Selecting a kernel</h2>
<p>This table lists the name and locations of the kernel sources and binaries:
diff --git a/en/source/building.html b/en/setup/building.html
index 4a4bf567..246d1460 100644
--- a/en/source/building.html
+++ b/en/setup/building.html
@@ -47,7 +47,7 @@ drivers</a>. These binaries add access to additional hardware capabilities
with non-open source code. To instead build the AOSP master branch, use the
<a href="https://developers.google.com/android/blobs-preview">Binaries
Preview</a>. When building the master branch for a device, use
-the binaries for the <a href="/source/build-numbers.html">most recent
+the binaries for the <a href="/setup/build-numbers.html">most recent
numbered release</a> or with the most recent date.</p>
<h3 id="extracting-proprietary-binaries">Extract proprietary binaries</h3>
diff --git a/en/source/code-lines.html b/en/setup/code-lines.html
index b4040abd..b4040abd 100644
--- a/en/source/code-lines.html
+++ b/en/setup/code-lines.html
diff --git a/en/source/code-style.html b/en/setup/code-style.html
index 5367bd68..5367bd68 100644
--- a/en/source/code-style.html
+++ b/en/setup/code-style.html
diff --git a/en/source/community.html b/en/setup/community.html
index 2e78a9c8..af0d17ec 100644
--- a/en/source/community.html
+++ b/en/setup/community.html
@@ -67,7 +67,7 @@ page. For other information about Android, refer to the following resources.</p>
<p></p>
<h5>Send feedback</h5>
-<a href="/source/report-bugs.html">Report AOSP bug</a><br>
+<a href="/setup/report-bugs.html">Report AOSP bug</a><br>
<p></p>
</td>
diff --git a/en/source/contributing.html b/en/setup/contributing.html
index 6221bfeb..ec212f99 100644
--- a/en/source/contributing.html
+++ b/en/setup/contributing.html
@@ -24,7 +24,7 @@
<p>Thanks for your interest in Android! Here are some ways you can get involved
and help us improve Android. For background on the Android project and our
-goals, check out the <a href="/source/index.html">Overview</a> page.</p>
+goals, check out the <a href="/setup/index.html">Overview</a> page.</p>
<h2 id="report-bugs">Report Bugs</h2>
<p>One of the easiest and most effective ways you can help improve Android is
@@ -52,7 +52,7 @@ review them.</p>
and by learning about <code>git</code>, <code>repo</code>, and other tools using the links to the left.
You can also view the activity on all contributions on our
<a href="https://android-review.googlesource.com/">Gerrit server</a>.
-If you need help along the way, you can join our <a href="/source/community.html">discussion groups</a>.</p>
+If you need help along the way, you can join our <a href="/setup/community.html">discussion groups</a>.</p>
</body>
</html>
diff --git a/en/source/developing.html b/en/setup/developing.html
index 0535776b..59565e75 100644
--- a/en/source/developing.html
+++ b/en/setup/developing.html
@@ -66,8 +66,8 @@ working directory.</p>
</ol>
<h2 id="task-reference">Task reference</h2>
<p>The task list below shows a summary of how to do common Repo and Git tasks.
-For information about using repo to download source, see <a href="/source/downloading.html">Downloading the Source</a> and
-<a href="/source/using-repo.html">Using Repo</a>.</p>
+For information about using repo to download source, see <a href="/setup/downloading.html">Downloading the Source</a> and
+<a href="/setup/using-repo.html">Using Repo</a>.</p>
<h2 id="synchronizing-your-client">Synchronizing your client</h2>
<p>To synchronize the files for all available projects: </p>
<pre class="devsite-terminal devsite-click-to-copy">
diff --git a/en/source/devices.html b/en/setup/devices.html
index a6fe0849..c8bbbe75 100644
--- a/en/source/devices.html
+++ b/en/setup/devices.html
@@ -25,7 +25,7 @@
<p>You can create builds for Nexus devices using Android Open Source Project
(AOSP) builds and the relevant hardware-specific binaries. For available
Android builds and targeted devices, see
-<a href="/source/build-numbers.html#source-code-tags-and-builds">Source Code,
+<a href="/setup/build-numbers.html#source-code-tags-and-builds">Source Code,
Tags, and Builds</a>.</p>
<p>You can also create builds for
diff --git a/en/source/downloading.html b/en/setup/downloading.html
index 7599338b..7599338b 100644
--- a/en/source/downloading.html
+++ b/en/setup/downloading.html
diff --git a/en/source/faqs.html b/en/setup/faqs.html
index ff301ea8..938f07c5 100644
--- a/en/source/faqs.html
+++ b/en/setup/faqs.html
@@ -53,7 +53,7 @@ the Android source code is licensed under the permissive Apache Software
License 2.0, rather than a "copyleft" license. The main reason for this is
because our most important goal is widespread adoption of the software, and
we believe that the ASL2.0 license best achieves that goal.</p>
-<p>You can find more information on this topic on our <a href="/source/licenses.html">Licenses</a> page.</p>
+<p>You can find more information on this topic on our <a href="/setup/licenses.html">Licenses</a> page.</p>
<h3 id="why-is-google-in-charge-of-android">Why is Google in charge of Android?</h3>
<p>Launching a software platform is complex. Openness is vital to the
long-term success of a platform, since openness is required to attract
@@ -94,7 +94,7 @@ stable branch from the experimental branch as appropriate.</p>
<p>Finally, Google works on the next version of the Android platform in tandem
with developing a flagship device. This branch pulls in changes from the
experimental and stable branches as appropriate.</p>
-<p>You can find more information on this topic at our <a href="/source/code-lines.html">Codelines,
+<p>You can find more information on this topic at our <a href="/setup/code-lines.html">Codelines,
Branches and Releases</a> page.</p>
<h3 id="why-are-parts-of-android-developed-in-private">Why are parts of Android developed in private?</h3>
<p>It typically takes more than a year to bring a device to market. And, of course,
@@ -171,9 +171,9 @@ decline that contribution, since Android encourages applications to be run
in the ART runtime. Similarly, we won't accept contributions such as GPL
or LGPL libraries that are incompatible with our licensing goals.</p>
<p>We encourage those interested in contributing source code to contact us
-via the channels listed on the <a href="/source/community.html">
+via the channels listed on the <a href="/setup/community.html">
Android Community</a> page prior to beginning any work. You can find more
-information on this topic from the <a href="/source/contributing.html">
+information on this topic from the <a href="/setup/contributing.html">
Contributing</a> page.</p>
<h3 id="how-do-i-become-an-android-committer">How do I become an Android committer?</h3>
<p>The Android Open Source Project doesn't really have a notion of a
diff --git a/en/source/git-resources.html b/en/setup/git-resources.html
index 4d5530d0..4d5530d0 100644
--- a/en/source/git-resources.html
+++ b/en/setup/git-resources.html
diff --git a/en/source/images/8100-TM-example.png b/en/setup/images/8100-TM-example.png
index b347e6cc..b347e6cc 100644
--- a/en/source/images/8100-TM-example.png
+++ b/en/setup/images/8100-TM-example.png
Binary files differ
diff --git a/en/source/images/Android_Robot_100.png b/en/setup/images/Android_Robot_100.png
index 946ee3ab..946ee3ab 100644
--- a/en/source/images/Android_Robot_100.png
+++ b/en/setup/images/Android_Robot_100.png
Binary files differ
diff --git a/en/source/images/JB-TM-example.png b/en/setup/images/JB-TM-example.png
index 0df3c6d0..0df3c6d0 100644
--- a/en/source/images/JB-TM-example.png
+++ b/en/setup/images/JB-TM-example.png
Binary files differ
diff --git a/en/source/images/No_PeaceBot_200.jpg b/en/setup/images/No_PeaceBot_200.jpg
index 739f9682..739f9682 100644
--- a/en/source/images/No_PeaceBot_200.jpg
+++ b/en/setup/images/No_PeaceBot_200.jpg
Binary files differ
diff --git a/en/source/images/XBrand-TM-example.jpg b/en/setup/images/XBrand-TM-example.jpg
index 8a3ab590..8a3ab590 100644
--- a/en/source/images/XBrand-TM-example.jpg
+++ b/en/setup/images/XBrand-TM-example.jpg
Binary files differ
diff --git a/en/source/images/android_logo_new_crossed_out.png b/en/setup/images/android_logo_new_crossed_out.png
index 646935ee..646935ee 100644
--- a/en/source/images/android_logo_new_crossed_out.png
+++ b/en/setup/images/android_logo_new_crossed_out.png
Binary files differ
diff --git a/en/source/images/android_logo_old_crossed_out.png b/en/setup/images/android_logo_old_crossed_out.png
index a256d938..a256d938 100644
--- a/en/source/images/android_logo_old_crossed_out.png
+++ b/en/setup/images/android_logo_old_crossed_out.png
Binary files differ
diff --git a/en/source/images/hikey-board.png b/en/setup/images/hikey-board.png
index be8d715d..be8d715d 100644
--- a/en/source/images/hikey-board.png
+++ b/en/setup/images/hikey-board.png
Binary files differ
diff --git a/en/source/images/hikey620.png b/en/setup/images/hikey620.png
index 1e98aeaa..1e98aeaa 100644
--- a/en/source/images/hikey620.png
+++ b/en/setup/images/hikey620.png
Binary files differ
diff --git a/en/source/images/hikey960.png b/en/setup/images/hikey960.png
index c69f8f45..c69f8f45 100644
--- a/en/source/images/hikey960.png
+++ b/en/setup/images/hikey960.png
Binary files differ
diff --git a/en/source/images/jack_jill.png b/en/setup/images/jack_jill.png
index 445edf4b..445edf4b 100644
--- a/en/source/images/jack_jill.png
+++ b/en/setup/images/jack_jill.png
Binary files differ
diff --git a/en/source/images/jack_library.png b/en/setup/images/jack_library.png
index bf0361b9..bf0361b9 100644
--- a/en/source/images/jack_library.png
+++ b/en/setup/images/jack_library.png
Binary files differ
diff --git a/en/source/images/jack_overview.png b/en/setup/images/jack_overview.png
index a315fc20..a315fc20 100644
--- a/en/source/images/jack_overview.png
+++ b/en/setup/images/jack_overview.png
Binary files differ
diff --git a/en/source/images/jack_predex.png b/en/setup/images/jack_predex.png
index 25638141..25638141 100644
--- a/en/source/images/jack_predex.png
+++ b/en/setup/images/jack_predex.png
Binary files differ
diff --git a/en/source/images/mobile-view.png b/en/setup/images/mobile-view.png
index 1b3ff7b8..1b3ff7b8 100644
--- a/en/source/images/mobile-view.png
+++ b/en/setup/images/mobile-view.png
Binary files differ
diff --git a/en/source/images/neonkey-sensorhub.png b/en/setup/images/neonkey-sensorhub.png
index 61f4e22b..61f4e22b 100644
--- a/en/source/images/neonkey-sensorhub.png
+++ b/en/setup/images/neonkey-sensorhub.png
Binary files differ
diff --git a/en/source/index.html b/en/setup/index.html
index 3728eb2f..3728eb2f 100644
--- a/en/source/index.html
+++ b/en/setup/index.html
diff --git a/en/source/initializing.html b/en/setup/initializing.html
index 662862be..662862be 100644
--- a/en/source/initializing.html
+++ b/en/setup/initializing.html
diff --git a/en/source/jack.html b/en/setup/jack.html
index 558eef73..558eef73 100644
--- a/en/source/jack.html
+++ b/en/setup/jack.html
diff --git a/en/source/known-issues.html b/en/setup/known-issues.html
index e72de555..e72de555 100644
--- a/en/source/known-issues.html
+++ b/en/setup/known-issues.html
diff --git a/en/source/licenses.html b/en/setup/licenses.html
index a2114a2b..a2114a2b 100644
--- a/en/source/licenses.html
+++ b/en/setup/licenses.html
diff --git a/en/source/life-of-a-bug.html b/en/setup/life-of-a-bug.html
index 571b7cd6..571b7cd6 100644
--- a/en/source/life-of-a-bug.html
+++ b/en/setup/life-of-a-bug.html
diff --git a/en/source/life-of-a-patch.html b/en/setup/life-of-a-patch.html
index 6f8d144a..6f8d144a 100644
--- a/en/source/life-of-a-patch.html
+++ b/en/setup/life-of-a-patch.html
diff --git a/en/source/read-bug-reports.html b/en/setup/read-bug-reports.html
index 63ff5cc0..63ff5cc0 100644
--- a/en/source/read-bug-reports.html
+++ b/en/setup/read-bug-reports.html
diff --git a/en/source/report-bugs.html b/en/setup/report-bugs.html
index 848a50d9..85ea2fd4 100644
--- a/en/source/report-bugs.html
+++ b/en/setup/report-bugs.html
@@ -43,12 +43,12 @@ Support for Google applications is through
<a href="http://support.google.com/">Google's support site</a>. Support for
third-party applications is provided by the application's developer, e.g.
through the contact information provided on Google Play. For a list of more
-Android support resources, see our <a href="/source/community">Community page</a>.
+Android support resources, see our <a href="/setup/community">Community page</a>.
</p>
<p>
There are no guarantees that any particular bug can be fixed in any particular
release. To see what happens to your bug once you report it, read
-<a href="/source/life-of-a-bug.html">Life of a Bug</a>.
+<a href="/setup/life-of-a-bug.html">Life of a Bug</a>.
</p>
<h2 id="filing-a-bug">Filing a bug</h2>
<ol>
diff --git a/en/source/requirements.html b/en/setup/requirements.html
index d8351e58..ced64cd3 100644
--- a/en/source/requirements.html
+++ b/en/setup/requirements.html
@@ -83,7 +83,7 @@ installation is required. Older versions require a separate install.</p>
<h3 id=binaries>Device binaries</h3>
<p>Download previews, factory images, drivers, over-the-air (OTA) updates, and
other blobs below. See <a
- href="/source/building.html#obtaining-proprietary-binaries">Obtaining
+ href="/setup/building.html#obtaining-proprietary-binaries">Obtaining
proprietary binaries</a> for additional details.</p>
<ul>
<li><a href="https://developers.google.com/android/blobs-preview">Preview
diff --git a/en/source/roles.html b/en/setup/roles.html
index 39f48794..03e2b826 100644
--- a/en/source/roles.html
+++ b/en/setup/roles.html
@@ -30,7 +30,7 @@ page describes the kinds of roles that interested parties can take on.</p>
<p>Anyone who is interested in exploring and contributing to Android can use the
Android Open Source Project resources. Anyone can join the mailing lists, ask
questions, contribute patches, report bugs, look at submitted patches, and use
-the tools. To get started with the Android code, see <a href="/source/contributing.html">Contributing</a>.</p>
+the tools. To get started with the Android code, see <a href="/setup/contributing.html">Contributing</a>.</p>
<h2 id="contributor">Contributor</h2>
<p>"Contributors" are those making contributions to the AOSP source code,
including both employees of Google or other companies, as well as individual
diff --git a/en/source/running.html b/en/setup/running.html
index c4314de3..e3d9f62d 100644
--- a/en/source/running.html
+++ b/en/setup/running.html
@@ -24,13 +24,13 @@
<p>This page provides details for running builds on specific devices and
-complements the information in <a href="/source/building.html">Building the
+complements the information in <a href="/setup/building.html">Building the
System</a>.</p>
<h2 id="building-fastboot-and-adb">Building fastboot and adb</h2>
<p>If you don't already have <code>fastboot</code> and <code>adb</code>, you can
build them with the regular build system. Use the instructions in
-<a href="/source/building.html">Building a System</a> and replace the
+<a href="/setup/building.html">Building a System</a> and replace the
main <code>make</code> command with:</p>
<pre class="devsite-click-to-copy devsite-terminal">make fastboot adb</pre>
@@ -283,7 +283,7 @@ following directories:</p>
<p>The recommended builds for devices are available from the <code>lunch</code>
menu, accessed when running the <code>lunch</code> command with no arguments.
You can download factory images and binaries for Nexus devices from
-developers.google.com. See <a href="/source/requirements#binaries">Device
+developers.google.com. See <a href="/setup/requirements#binaries">Device
binaries</a> for downloads. For details and additional resources, see <a
href="building.html#obtaining-proprietary-binaries">Obtaining proprietary
binaries</a>.
diff --git a/en/source/site-updates.html b/en/setup/site-updates.html
index 8142f137..0ebe54b1 100644
--- a/en/source/site-updates.html
+++ b/en/setup/site-updates.html
@@ -660,7 +660,7 @@ of the site for better exposure.</p>
<h3 id="security-forefront">Security at the forefront</h3>
<p>With an ever-increasing focus on security in Android, the <a
href="/security/">Security</a> tab has been moved forward (next to <a
-href="/source/">Source</a>) to reflect its importance.</p>
+href="/setup/">Source</a>) to reflect its importance.</p>
<h3 id="reference-materials">Better reference materials</h3>
<p><a href="/reference/hal/">Hardware Abstraction Layer</a> and <a
diff --git a/en/source/submit-patches.html b/en/setup/submit-patches.html
index c61fb2c7..c9b7b404 100644
--- a/en/source/submit-patches.html
+++ b/en/setup/submit-patches.html
@@ -30,24 +30,24 @@ href="https://android-review.googlesource.com/">Gerrit</a>.</p>
<ul>
<li>
<p>Before you follow the instructions on this page, you need to <a
-href="/source/initializing.html">
+href="/setup/initializing.html">
initialize your build environment</a>, <a
-href="/source/downloading.html">download the source</a>, <a
+href="/setup/downloading.html">download the source</a>, <a
href="https://android.googlesource.com/new-password">create a
password</a>, and follow the instructions on the password generator page.</p>
</li>
<li>
<p>For details about Repo and Git, see the <a
-href="/source/developing.html">Developing</a> section.</p>
+href="/setup/developing.html">Developing</a> section.</p>
</li>
<li>
<p>For information about the different roles you can play within the Android
-Open Source community, see <a href="/source/roles.html">Project
+Open Source community, see <a href="/setup/roles.html">Project
roles</a>.</p>
</li>
<li>
<p>If you plan to contribute code to the Android platform, be sure to read
-the <a href="/source/licenses.html">AOSP's licensing
+the <a href="/setup/licenses.html">AOSP's licensing
information</a>.</p>
</li>
<li>
@@ -64,7 +64,7 @@ href="#upstream-projects">Upstream Projects</a>.</p>
href="https://android.googlesource.com/new-password">establish a password</a>
that will identify you with the server. Follow the instructions on the password
generator page. You need to do this only once. See <a
-href="/source/downloading.html#using-authentication">Using
+href="/setup/downloading.html#using-authentication">Using
Authentication</a> for additional details.</p>
<h3 id="start-a-repo-branch">Start a repo branch</h3>
<p>For each change you intend to make, start a new branch within the relevant
@@ -172,7 +172,7 @@ their local client.</p>
<h2 id="upstream-projects">Upstream Projects</h2>
<p>Android makes use of a number of other open source projects, such as the
Linux kernel and WebKit, as described in
-<a href="/source/code-lines.html">Codelines, Branches, and
+<a href="/setup/code-lines.html">Codelines, Branches, and
Releases</a>. For most projects under <code>external/</code>, changes should
be made upstream and then the Android maintainers informed of the new upstream
release containing these changes. It may also be useful to upload patches
diff --git a/en/source/using-repo.html b/en/setup/using-repo.html
index b84d9d2f..b84d9d2f 100644
--- a/en/source/using-repo.html
+++ b/en/setup/using-repo.html
diff --git a/en/source/view-patches.html b/en/setup/view-patches.html
index 6b69f3cc..c14c3149 100644
--- a/en/source/view-patches.html
+++ b/en/setup/view-patches.html
@@ -89,8 +89,7 @@ repo download <var>TARGET CHANGE</var></pre>
which the change should be downloaded and
<code><var>CHANGE</var></code> is the change number as listed in
Gerrit. For more information, see the <a
- href="https://source.android.com/source/using-repo.html">Repo reference
- </a>.
+ href="/setup/using-repo.html">Repo reference</a>.
</p>
<h2 id="how-do-i-become-a-verifier-or-reviewer">How do I become a Verifier
@@ -100,7 +99,7 @@ repo download <var>TARGET CHANGE</var></pre>
In short, contribute high-quality code to one or more of the Android
projects. For details about the different roles in the Android Open
Source community and who plays them, see <a
- href="https://source.android.com/source/roles.html">Project Roles</a>.
+ href="/setup/roles.html">Project Roles</a>.
</p>
<h2 id="diffs-and-comments">Diffs and comments</h2>