diff --git a/.gitignore b/.gitignore
index 77f75d7..89f9ac0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1 @@
 out/
-scratch/
diff --git a/Android.mk b/Android.mk
deleted file mode 100644
index f8761ef..0000000
--- a/Android.mk
+++ /dev/null
@@ -1,41 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-
-#===================== docs for the s.a.c site =======================
-include $(CLEAR_VARS)
-LOCAL_MODULE_CLASS:=JAVA_LIBRARIES
-LOCAL_DROIDDOC_HTML_DIR:=src
-LOCAL_ADDITIONAL_HTML_DIR:=src-intl intl/
-# Droiddoc needs java source to run. Just pointing to a dummy location
-# and deleting output later in delete-ref target
-LOCAL_ADDITIONAL_JAVA_DIR := frameworks/base/core/java/android/annotation
-# FIXME FIXME FIXME LOCAL_ADDITIONAL_DEPENDENCIES := tradefed-docs
-LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR := build/make/tools/droiddoc/templates-sac
-LOCAL_MODULE := online-sac
-LOCAL_DROIDDOC_OPTIONS:= \
-        -toroot / \
-        -hdf android.whichdoc online \
-        -hdf sac true
-
-include $(BUILD_DROIDDOC)
-
-# Sets up the Doxygen HAL reference docs and puts them in the right place
-# Need doxygen in your path (1.8.3 was used when this target was created)
-.PHONY: setup-hal-ref
-setup-hal-ref:
-	$(hide) doxygen docs/source.android.com/Doxyfile
-
-# Put HAL refs in PDK instead and strip nav to s.a.c.
-.PHONY: pdk-hal-ref
-pdk-hal-ref:
-	$(hide) doxygen vendor/pdk/data/google/Doxyfile
-
-# Run "make tradefed-docs" in "tradefed" branch before running this target
-# This sets up the tradefed javadocs for viewing in s.a.c.
-# Target assumes that you have a "tradefed" directory
-# that contains a sync'ed copy of the "tradefed" branch at the same level as the 
-# live docs branch.
-.PHONY: setup-tradefed-ref
-setup-tradefed-ref:
-	$(hide) rm -rf $(OUT_DOCS)/online-sac/reference
-	$(hide) cp -R $(OUT_DOCS)/tradefed/reference $(OUT_DOCS)/online-sac
-	$(hide) cp $(OUT_DOCS)/tradefed/navtree_data.js $(OUT_DOCS)/online-sac/navtree_data.js
diff --git a/CleanSpec.mk b/CleanSpec.mk
deleted file mode 100644
index b84e1b6..0000000
--- a/CleanSpec.mk
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright (C) 2007 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-# If you don't need to do a full clean build but would like to touch
-# a file or delete some intermediate files, add a clean step to the end
-# of the list.  These steps will only be run once, if they haven't been
-# run before.
-#
-# E.g.:
-#     $(call add-clean-step, touch -c external/sqlite/sqlite3.h)
-#     $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates)
-#
-# Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with
-# files that are missing or have been moved.
-#
-# Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory.
-# Use $(OUT_DIR) to refer to the "out" directory.
-#
-# If you need to re-do something that's already mentioned, just copy
-# the command and add it to the bottom of the list.  E.g., if a change
-# that you made last week required touching a file and a change you
-# made today requires touching the same file, just copy the old
-# touch step and add it to the end of the list.
-#
-# ************************************************
-# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
-# ************************************************
-
-# For example:
-#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/AndroidTests_intermediates)
-#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/core_intermediates)
-#$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f)
-#$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*)
-
-# ************************************************
-# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
-# ************************************************
diff --git a/Doxyfile b/Doxyfile
deleted file mode 100644
index 04f62f1..0000000
--- a/Doxyfile
+++ /dev/null
@@ -1,1904 +0,0 @@
-# Doxyfile 1.8.3.1
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project
-#
-# All text after a hash (#) is considered a comment and will be ignored
-# The format is:
-#       TAG = value [value, ...]
-# For lists items can also be appended using:
-#       TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (" ")
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-
-# This tag specifies the encoding used for all characters in the config file 
-# that follow. The default is UTF-8 which is also the encoding used for all 
-# text before the first occurrence of this tag. Doxygen uses libiconv (or the 
-# iconv built into libc) for the transcoding. See 
-# http://www.gnu.org/software/libiconv for the list of possible encodings.
-
-DOXYFILE_ENCODING      = UTF-8
-
-# The PROJECT_NAME tag is a single word (or sequence of words) that should 
-# identify the project. Note that if you do not use Doxywizard you need 
-# to put quotes around the project name if it contains spaces.
-
-PROJECT_NAME           = "Android Hardware Abstraction Layer"
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number. 
-# This could be handy for archiving the generated documentation or 
-# if some version control system is used.
-
-PROJECT_NUMBER         = 
-
-# Using the PROJECT_BRIEF tag one can provide an optional one line description 
-# for a project that appears at the top of each page and should give viewer 
-# a quick idea about the purpose of the project. Keep the description short.
-
-PROJECT_BRIEF          = 
-
-# With the PROJECT_LOGO tag one can specify an logo or icon that is 
-# included in the documentation. The maximum height of the logo should not 
-# exceed 55 pixels and the maximum width should not exceed 200 pixels. 
-# Doxygen will copy the logo to the output directory.
-
-PROJECT_LOGO           = 
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
-# base path where the generated documentation will be put. 
-# If a relative path is entered, it will be relative to the location 
-# where doxygen was started. If left blank the current directory will be used.
-
-OUTPUT_DIRECTORY       = ./out/target/common/docs/online-sac/devices
-
-# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 
-# 4096 sub-directories (in 2 levels) under the output directory of each output 
-# format and will distribute the generated files over these directories. 
-# Enabling this option can be useful when feeding doxygen a huge amount of 
-# source files, where putting all generated files in the same directory would 
-# otherwise cause performance problems for the file system.
-
-CREATE_SUBDIRS         = NO
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all 
-# documentation generated by doxygen is written. Doxygen will use this 
-# information to generate all constant output in the proper language. 
-# The default language is English, other supported languages are: 
-# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, 
-# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, 
-# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English 
-# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, 
-# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, 
-# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
-
-OUTPUT_LANGUAGE        = English
-
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
-# include brief member descriptions after the members that are listed in 
-# the file and class documentation (similar to JavaDoc). 
-# Set to NO to disable this.
-
-BRIEF_MEMBER_DESC      = YES
-
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
-# the brief description of a member or function before the detailed description. 
-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 
-# brief descriptions will be completely suppressed.
-
-REPEAT_BRIEF           = YES
-
-# This tag implements a quasi-intelligent brief description abbreviator 
-# that is used to form the text in various listings. Each string 
-# in this list, if found as the leading text of the brief description, will be 
-# stripped from the text and the result after processing the whole list, is 
-# used as the annotated text. Otherwise, the brief description is used as-is. 
-# If left blank, the following values are used ("$name" is automatically 
-# replaced with the name of the entity): "The $name class" "The $name widget" 
-# "The $name file" "is" "provides" "specifies" "contains" 
-# "represents" "a" "an" "the"
-
-ABBREVIATE_BRIEF       = "The $name class" \
-                         "The $name widget" \
-                         "The $name file" \
-                         is \
-                         provides \
-                         specifies \
-                         contains \
-                         represents \
-                         a \
-                         an \
-                         the
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 
-# Doxygen will generate a detailed section even if there is only a brief 
-# description.
-
-ALWAYS_DETAILED_SEC    = NO
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all 
-# inherited members of a class in the documentation of that class as if those 
-# members were ordinary class members. Constructors, destructors and assignment 
-# operators of the base classes will not be shown.
-
-INLINE_INHERITED_MEMB  = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full 
-# path before files name in the file list and in the header files. If set 
-# to NO the shortest path that makes the file name unique will be used.
-
-FULL_PATH_NAMES        = YES
-
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag 
-# can be used to strip a user-defined part of the path. Stripping is 
-# only done if one of the specified strings matches the left-hand part of 
-# the path. The tag can be used to show relative paths in the file list. 
-# If left blank the directory from which doxygen is run is used as the 
-# path to strip. Note that you specify absolute paths here, but also 
-# relative paths, which will be relative from the directory where doxygen is 
-# started.
-
-STRIP_FROM_PATH        = 
-
-# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of 
-# the path mentioned in the documentation of a class, which tells 
-# the reader which header file to include in order to use a class. 
-# If left blank only the name of the header file containing the class 
-# definition is used. Otherwise one should specify the include paths that 
-# are normally passed to the compiler using the -I flag.
-
-STRIP_FROM_INC_PATH    = 
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter 
-# (but less readable) file names. This can be useful if your file system 
-# doesn't support long names like on DOS, Mac, or CD-ROM.
-
-SHORT_NAMES            = NO
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen 
-# will interpret the first line (until the first dot) of a JavaDoc-style 
-# comment as the brief description. If set to NO, the JavaDoc 
-# comments will behave just like regular Qt-style comments 
-# (thus requiring an explicit @brief command for a brief description.)
-
-JAVADOC_AUTOBRIEF      = NO
-
-# If the QT_AUTOBRIEF tag is set to YES then Doxygen will 
-# interpret the first line (until the first dot) of a Qt-style 
-# comment as the brief description. If set to NO, the comments 
-# will behave just like regular Qt-style comments (thus requiring 
-# an explicit \brief command for a brief description.)
-
-QT_AUTOBRIEF           = NO
-
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen 
-# treat a multi-line C++ special comment block (i.e. a block of //! or /// 
-# comments) as a brief description. This used to be the default behaviour. 
-# The new default is to treat a multi-line C++ comment block as a detailed 
-# description. Set this tag to YES if you prefer the old behaviour instead.
-
-MULTILINE_CPP_IS_BRIEF = NO
-
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented 
-# member inherits the documentation from any documented member that it 
-# re-implements.
-
-INHERIT_DOCS           = YES
-
-# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce 
-# a new page for each member. If set to NO, the documentation of a member will 
-# be part of the file/class/namespace that contains it.
-
-SEPARATE_MEMBER_PAGES  = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab. 
-# Doxygen uses this value to replace tabs by spaces in code fragments.
-
-TAB_SIZE               = 4
-
-# This tag can be used to specify a number of aliases that acts 
-# as commands in the documentation. An alias has the form "name=value". 
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to 
-# put the command \sideeffect (or @sideeffect) in the documentation, which 
-# will result in a user-defined paragraph with heading "Side Effects:". 
-# You can put \n's in the value part of an alias to insert newlines.
-
-ALIASES                = 
-
-# This tag can be used to specify a number of word-keyword mappings (TCL only). 
-# A mapping has the form "name=value". For example adding 
-# "class=itcl::class" will allow you to use the command class in the 
-# itcl::class meaning.
-
-TCL_SUBST              = 
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C 
-# sources only. Doxygen will then generate output that is more tailored for C. 
-# For instance, some of the names that are used will be different. The list 
-# of all members will be omitted, etc.
-
-OPTIMIZE_OUTPUT_FOR_C  = YES
-
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java 
-# sources only. Doxygen will then generate output that is more tailored for 
-# Java. For instance, namespaces will be presented as packages, qualified 
-# scopes will look different, etc.
-
-OPTIMIZE_OUTPUT_JAVA   = NO
-
-# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran 
-# sources only. Doxygen will then generate output that is more tailored for 
-# Fortran.
-
-OPTIMIZE_FOR_FORTRAN   = NO
-
-# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL 
-# sources. Doxygen will then generate output that is tailored for 
-# VHDL.
-
-OPTIMIZE_OUTPUT_VHDL   = NO
-
-# Doxygen selects the parser to use depending on the extension of the files it 
-# parses. With this tag you can assign which parser to use for a given 
-# extension. Doxygen has a built-in mapping, but you can override or extend it 
-# using this tag. The format is ext=language, where ext is a file extension, 
-# and language is one of the parsers supported by doxygen: IDL, Java, 
-# Javascript, CSharp, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, 
-# C++. For instance to make doxygen treat .inc files as Fortran files (default 
-# is PHP), and .f files as C (default is Fortran), use: inc=Fortran f=C. Note 
-# that for custom extensions you also need to set FILE_PATTERNS otherwise the 
-# files are not read by doxygen.
-
-EXTENSION_MAPPING      = 
-
-# If MARKDOWN_SUPPORT is enabled (the default) then doxygen pre-processes all 
-# comments according to the Markdown format, which allows for more readable 
-# documentation. See http://daringfireball.net/projects/markdown/ for details. 
-# The output of markdown processing is further processed by doxygen, so you 
-# can mix doxygen, HTML, and XML commands with Markdown formatting. 
-# Disable only in case of backward compatibilities issues.
-
-MARKDOWN_SUPPORT       = YES
-
-# When enabled doxygen tries to link words that correspond to documented classes, 
-# or namespaces to their corresponding documentation. Such a link can be 
-# prevented in individual cases by by putting a % sign in front of the word or 
-# globally by setting AUTOLINK_SUPPORT to NO.
-
-AUTOLINK_SUPPORT       = YES
-
-# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want 
-# to include (a tag file for) the STL sources as input, then you should 
-# set this tag to YES in order to let doxygen match functions declarations and 
-# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. 
-# func(std::string) {}). This also makes the inheritance and collaboration 
-# diagrams that involve STL classes more complete and accurate.
-
-BUILTIN_STL_SUPPORT    = NO
-
-# If you use Microsoft's C++/CLI language, you should set this option to YES to 
-# enable parsing support.
-
-CPP_CLI_SUPPORT        = NO
-
-# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. 
-# Doxygen will parse them like normal C++ but will assume all classes use public 
-# instead of private inheritance when no explicit protection keyword is present.
-
-SIP_SUPPORT            = NO
-
-# For Microsoft's IDL there are propget and propput attributes to indicate 
-# getter and setter methods for a property. Setting this option to YES (the 
-# default) will make doxygen replace the get and set methods by a property in 
-# the documentation. This will only work if the methods are indeed getting or 
-# setting a simple type. If this is not the case, or you want to show the 
-# methods anyway, you should set this option to NO.
-
-IDL_PROPERTY_SUPPORT   = YES
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
-# tag is set to YES, then doxygen will reuse the documentation of the first 
-# member in the group (if any) for the other members of the group. By default 
-# all members of a group must be documented explicitly.
-
-DISTRIBUTE_GROUP_DOC   = NO
-
-# Set the SUBGROUPING tag to YES (the default) to allow class member groups of 
-# the same type (for instance a group of public functions) to be put as a 
-# subgroup of that type (e.g. under the Public Functions section). Set it to 
-# NO to prevent subgrouping. Alternatively, this can be done per class using 
-# the \nosubgrouping command.
-
-SUBGROUPING            = YES
-
-# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and 
-# unions are shown inside the group in which they are included (e.g. using 
-# @ingroup) instead of on a separate page (for HTML and Man pages) or 
-# section (for LaTeX and RTF).
-
-INLINE_GROUPED_CLASSES = NO
-
-# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and 
-# unions with only public data fields will be shown inline in the documentation 
-# of the scope in which they are defined (i.e. file, namespace, or group 
-# documentation), provided this scope is documented. If set to NO (the default), 
-# structs, classes, and unions are shown on a separate page (for HTML and Man 
-# pages) or section (for LaTeX and RTF).
-
-INLINE_SIMPLE_STRUCTS  = NO
-
-# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum 
-# is documented as struct, union, or enum with the name of the typedef. So 
-# typedef struct TypeS {} TypeT, will appear in the documentation as a struct 
-# with name TypeT. When disabled the typedef will appear as a member of a file, 
-# namespace, or class. And the struct will be named TypeS. This can typically 
-# be useful for C code in case the coding convention dictates that all compound 
-# types are typedef'ed and only the typedef is referenced, never the tag name.
-
-TYPEDEF_HIDES_STRUCT   = NO
-
-# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to 
-# determine which symbols to keep in memory and which to flush to disk. 
-# When the cache is full, less often used symbols will be written to disk. 
-# For small to medium size projects (<1000 input files) the default value is 
-# probably good enough. For larger projects a too small cache size can cause 
-# doxygen to be busy swapping symbols to and from disk most of the time 
-# causing a significant performance penalty. 
-# If the system has enough physical memory increasing the cache will improve the 
-# performance by keeping more symbols in memory. Note that the value works on 
-# a logarithmic scale so increasing the size by one will roughly double the 
-# memory usage. The cache size is given by this formula: 
-# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, 
-# corresponding to a cache size of 2^16 = 65536 symbols.
-
-SYMBOL_CACHE_SIZE      = 0
-
-# Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be 
-# set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given 
-# their name and scope. Since this can be an expensive process and often the 
-# same symbol appear multiple times in the code, doxygen keeps a cache of 
-# pre-resolved symbols. If the cache is too small doxygen will become slower. 
-# If the cache is too large, memory is wasted. The cache size is given by this 
-# formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0, 
-# corresponding to a cache size of 2^16 = 65536 symbols.
-
-LOOKUP_CACHE_SIZE      = 0
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
-# documentation are documented, even if no documentation was available. 
-# Private class members and static file members will be hidden unless 
-# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-
-EXTRACT_ALL            = YES
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class 
-# will be included in the documentation.
-
-EXTRACT_PRIVATE        = NO
-
-# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal 
-# scope will be included in the documentation.
-
-EXTRACT_PACKAGE        = NO
-
-# If the EXTRACT_STATIC tag is set to YES all static members of a file 
-# will be included in the documentation.
-
-EXTRACT_STATIC         = NO
-
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) 
-# defined locally in source files will be included in the documentation. 
-# If set to NO only classes defined in header files are included.
-
-EXTRACT_LOCAL_CLASSES  = YES
-
-# This flag is only useful for Objective-C code. When set to YES local 
-# methods, which are defined in the implementation section but not in 
-# the interface are included in the documentation. 
-# If set to NO (the default) only methods in the interface are included.
-
-EXTRACT_LOCAL_METHODS  = NO
-
-# If this flag is set to YES, the members of anonymous namespaces will be 
-# extracted and appear in the documentation as a namespace called 
-# 'anonymous_namespace{file}', where file will be replaced with the base 
-# name of the file that contains the anonymous namespace. By default 
-# anonymous namespaces are hidden.
-
-EXTRACT_ANON_NSPACES   = NO
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
-# undocumented members of documented classes, files or namespaces. 
-# If set to NO (the default) these members will be included in the 
-# various overviews, but no documentation section is generated. 
-# This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_MEMBERS     = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 
-# undocumented classes that are normally visible in the class hierarchy. 
-# If set to NO (the default) these classes will be included in the various 
-# overviews. This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_CLASSES     = NO
-
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all 
-# friend (class|struct|union) declarations. 
-# If set to NO (the default) these declarations will be included in the 
-# documentation.
-
-HIDE_FRIEND_COMPOUNDS  = NO
-
-# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any 
-# documentation blocks found inside the body of a function. 
-# If set to NO (the default) these blocks will be appended to the 
-# function's detailed documentation block.
-
-HIDE_IN_BODY_DOCS      = NO
-
-# The INTERNAL_DOCS tag determines if documentation 
-# that is typed after a \internal command is included. If the tag is set 
-# to NO (the default) then the documentation will be excluded. 
-# Set it to YES to include the internal documentation.
-
-INTERNAL_DOCS          = NO
-
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate 
-# file names in lower-case letters. If set to YES upper-case letters are also 
-# allowed. This is useful if you have classes or files whose names only differ 
-# in case and if your file system supports case sensitive file names. Windows 
-# and Mac users are advised to set this option to NO.
-
-CASE_SENSE_NAMES       = NO
-
-# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen 
-# will show members with their full class and namespace scopes in the 
-# documentation. If set to YES the scope will be hidden.
-
-HIDE_SCOPE_NAMES       = YES
-
-# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen 
-# will put a list of the files that are included by a file in the documentation 
-# of that file.
-
-SHOW_INCLUDE_FILES     = YES
-
-# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen 
-# will list include files with double quotes in the documentation 
-# rather than with sharp brackets.
-
-FORCE_LOCAL_INCLUDES   = NO
-
-# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] 
-# is inserted in the documentation for inline members.
-
-INLINE_INFO            = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen 
-# will sort the (detailed) documentation of file and class members 
-# alphabetically by member name. If set to NO the members will appear in 
-# declaration order.
-
-SORT_MEMBER_DOCS       = YES
-
-# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the 
-# brief documentation of file, namespace and class members alphabetically 
-# by member name. If set to NO (the default) the members will appear in 
-# declaration order.
-
-SORT_BRIEF_DOCS        = NO
-
-# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen 
-# will sort the (brief and detailed) documentation of class members so that 
-# constructors and destructors are listed first. If set to NO (the default) 
-# the constructors will appear in the respective orders defined by 
-# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. 
-# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO 
-# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
-
-SORT_MEMBERS_CTORS_1ST = NO
-
-# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the 
-# hierarchy of group names into alphabetical order. If set to NO (the default) 
-# the group names will appear in their defined order.
-
-SORT_GROUP_NAMES       = NO
-
-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be 
-# sorted by fully-qualified names, including namespaces. If set to 
-# NO (the default), the class list will be sorted only by class name, 
-# not including the namespace part. 
-# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. 
-# Note: This option applies only to the class list, not to the 
-# alphabetical list.
-
-SORT_BY_SCOPE_NAME     = NO
-
-# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to 
-# do proper type resolution of all parameters of a function it will reject a 
-# match between the prototype and the implementation of a member function even 
-# if there is only one candidate or it is obvious which candidate to choose 
-# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen 
-# will still accept a match between prototype and implementation in such cases.
-
-STRICT_PROTO_MATCHING  = NO
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or 
-# disable (NO) the todo list. This list is created by putting \todo 
-# commands in the documentation.
-
-GENERATE_TODOLIST      = YES
-
-# The GENERATE_TESTLIST tag can be used to enable (YES) or 
-# disable (NO) the test list. This list is created by putting \test 
-# commands in the documentation.
-
-GENERATE_TESTLIST      = YES
-
-# The GENERATE_BUGLIST tag can be used to enable (YES) or 
-# disable (NO) the bug list. This list is created by putting \bug 
-# commands in the documentation.
-
-GENERATE_BUGLIST       = YES
-
-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or 
-# disable (NO) the deprecated list. This list is created by putting 
-# \deprecated commands in the documentation.
-
-GENERATE_DEPRECATEDLIST= YES
-
-# The ENABLED_SECTIONS tag can be used to enable conditional 
-# documentation sections, marked by \if section-label ... \endif 
-# and \cond section-label ... \endcond blocks.
-
-ENABLED_SECTIONS       = 
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines 
-# the initial value of a variable or macro consists of for it to appear in 
-# the documentation. If the initializer consists of more lines than specified 
-# here it will be hidden. Use a value of 0 to hide initializers completely. 
-# The appearance of the initializer of individual variables and macros in the 
-# documentation can be controlled using \showinitializer or \hideinitializer 
-# command in the documentation regardless of this setting.
-
-MAX_INITIALIZER_LINES  = 26
-
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated 
-# at the bottom of the documentation of classes and structs. If set to YES the 
-# list will mention the files that were used to generate the documentation.
-
-SHOW_USED_FILES        = YES
-
-# Set the SHOW_FILES tag to NO to disable the generation of the Files page. 
-# This will remove the Files entry from the Quick Index and from the 
-# Folder Tree View (if specified). The default is YES.
-
-SHOW_FILES             = YES
-
-# Set the SHOW_NAMESPACES tag to NO to disable the generation of the 
-# Namespaces page.  This will remove the Namespaces entry from the Quick Index 
-# and from the Folder Tree View (if specified). The default is YES.
-
-SHOW_NAMESPACES        = YES
-
-# The FILE_VERSION_FILTER tag can be used to specify a program or script that 
-# doxygen should invoke to get the current version for each file (typically from 
-# the version control system). Doxygen will invoke the program by executing (via 
-# popen()) the command <command> <input-file>, where <command> is the value of 
-# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file 
-# provided by doxygen. Whatever the program writes to standard output 
-# is used as the file version. See the manual for examples.
-
-FILE_VERSION_FILTER    = 
-
-# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed 
-# by doxygen. The layout file controls the global structure of the generated 
-# output files in an output format independent way. To create the layout file 
-# that represents doxygen's defaults, run doxygen with the -l option. 
-# You can optionally specify a file name after the option, if omitted 
-# DoxygenLayout.xml will be used as the name of the layout file.
-
-LAYOUT_FILE            = ./docs/source.android.com/DoxygenLayout.xml
-
-# The CITE_BIB_FILES tag can be used to specify one or more bib files 
-# containing the references data. This must be a list of .bib files. The 
-# .bib extension is automatically appended if omitted. Using this command 
-# requires the bibtex tool to be installed. See also 
-# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style 
-# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this 
-# feature you need bibtex and perl available in the search path. Do not use 
-# file names with spaces, bibtex cannot handle them.
-
-CITE_BIB_FILES         = 
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# The QUIET tag can be used to turn on/off the messages that are generated 
-# by doxygen. Possible values are YES and NO. If left blank NO is used.
-
-QUIET                  = NO
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are 
-# generated by doxygen. Possible values are YES and NO. If left blank 
-# NO is used.
-
-WARNINGS               = YES
-
-# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings 
-# for undocumented members. If EXTRACT_ALL is set to YES then this flag will 
-# automatically be disabled.
-
-WARN_IF_UNDOCUMENTED   = YES
-
-# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for 
-# potential errors in the documentation, such as not documenting some 
-# parameters in a documented function, or documenting parameters that 
-# don't exist or using markup commands wrongly.
-
-WARN_IF_DOC_ERROR      = YES
-
-# The WARN_NO_PARAMDOC option can be enabled to get warnings for 
-# functions that are documented, but have no documentation for their parameters 
-# or return value. If set to NO (the default) doxygen will only warn about 
-# wrong or incomplete parameter documentation, but not about the absence of 
-# documentation.
-
-WARN_NO_PARAMDOC       = NO
-
-# The WARN_FORMAT tag determines the format of the warning messages that 
-# doxygen can produce. The string should contain the $file, $line, and $text 
-# tags, which will be replaced by the file and line number from which the 
-# warning originated and the warning text. Optionally the format may contain 
-# $version, which will be replaced by the version of the file (if it could 
-# be obtained via FILE_VERSION_FILTER)
-
-WARN_FORMAT            = "$file:$line: $text"
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning 
-# and error messages should be written. If left blank the output is written 
-# to stderr.
-
-WARN_LOGFILE           = 
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag can be used to specify the files and/or directories that contain 
-# documented source files. You may enter file names like "myfile.cpp" or 
-# directories like "/usr/src/myproject". Separate the files or directories 
-# with spaces.
-
-INPUT                  = hardware/libhardware/include/hardware \
-                         external/bluetooth/bluedroid/hci/include \
-                         external/libnfc-nci/src/include
-
-# This tag can be used to specify the character encoding of the source files 
-# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is 
-# also the default input encoding. Doxygen uses libiconv (or the iconv built 
-# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for 
-# the list of possible encodings.
-
-INPUT_ENCODING         = UTF-8
-
-# If the value of the INPUT tag contains directories, you can use the 
-# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
-# and *.h) to filter out the source-files in the directories. If left 
-# blank the following patterns are tested: 
-# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh 
-# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py 
-# *.f90 *.f *.for *.vhd *.vhdl
-
-FILE_PATTERNS          = *.c \
-                         *.cc \
-                         *.cxx \
-                         *.cpp \
-                         *.c++ \
-                         *.d \
-                         *.java \
-                         *.ii \
-                         *.ixx \
-                         *.ipp \
-                         *.i++ \
-                         *.inl \
-                         *.h \
-                         *.hh \
-                         *.hxx \
-                         *.hpp \
-                         *.h++ \
-                         *.idl \
-                         *.odl \
-                         *.cs \
-                         *.php \
-                         *.php3 \
-                         *.inc \
-                         *.m \
-                         *.markdown \
-                         *.md \
-                         *.mm \
-                         *.dox \
-                         *.py \
-                         *.f90 \
-                         *.f \
-                         *.for \
-                         *.vhd \
-                         *.vhdl
-
-# The RECURSIVE tag can be used to turn specify whether or not subdirectories 
-# should be searched for input files as well. Possible values are YES and NO. 
-# If left blank NO is used.
-
-RECURSIVE              = YES
-
-# The EXCLUDE tag can be used to specify files and/or directories that should be 
-# excluded from the INPUT source files. This way you can easily exclude a 
-# subdirectory from a directory tree whose root is specified with the INPUT tag. 
-# Note that relative paths are relative to the directory from which doxygen is 
-# run.
-
-EXCLUDE                = 
-
-# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or 
-# directories that are symbolic links (a Unix file system feature) are excluded 
-# from the input.
-
-EXCLUDE_SYMLINKS       = NO
-
-# If the value of the INPUT tag contains directories, you can use the 
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 
-# certain files from those directories. Note that the wildcards are matched 
-# against the file with absolute path, so to exclude all test directories 
-# for example use the pattern */test/*
-
-EXCLUDE_PATTERNS       = 
-
-# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names 
-# (namespaces, classes, functions, etc.) that should be excluded from the 
-# output. The symbol name can be a fully qualified name, a word, or if the 
-# wildcard * is used, a substring. Examples: ANamespace, AClass, 
-# AClass::ANamespace, ANamespace::*Test
-
-EXCLUDE_SYMBOLS        = 
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or 
-# directories that contain example code fragments that are included (see 
-# the \include command).
-
-EXAMPLE_PATH           = 
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the 
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
-# and *.h) to filter out the source-files in the directories. If left 
-# blank all files are included.
-
-EXAMPLE_PATTERNS       = *
-
-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be 
-# searched for input files to be used with the \include or \dontinclude 
-# commands irrespective of the value of the RECURSIVE tag. 
-# Possible values are YES and NO. If left blank NO is used.
-
-EXAMPLE_RECURSIVE      = NO
-
-# The IMAGE_PATH tag can be used to specify one or more files or 
-# directories that contain image that are included in the documentation (see 
-# the \image command).
-
-IMAGE_PATH             = 
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should 
-# invoke to filter for each input file. Doxygen will invoke the filter program 
-# by executing (via popen()) the command <filter> <input-file>, where <filter> 
-# is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
-# input file. Doxygen will then use the output that the filter program writes 
-# to standard output.  If FILTER_PATTERNS is specified, this tag will be 
-# ignored.
-
-INPUT_FILTER           = 
-
-# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern 
-# basis.  Doxygen will compare the file name with each pattern and apply the 
-# filter if there is a match.  The filters are a list of the form: 
-# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further 
-# info on how filters are used. If FILTER_PATTERNS is empty or if 
-# non of the patterns match the file name, INPUT_FILTER is applied.
-
-FILTER_PATTERNS        = 
-
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using 
-# INPUT_FILTER) will be used to filter the input files when producing source 
-# files to browse (i.e. when SOURCE_BROWSER is set to YES).
-
-FILTER_SOURCE_FILES    = NO
-
-# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file 
-# pattern. A pattern will override the setting for FILTER_PATTERN (if any) 
-# and it is also possible to disable source filtering for a specific pattern 
-# using *.ext= (so without naming a filter). This option only has effect when 
-# FILTER_SOURCE_FILES is enabled.
-
-FILTER_SOURCE_PATTERNS = 
-
-# If the USE_MD_FILE_AS_MAINPAGE tag refers to the name of a markdown file that 
-# is part of the input, its contents will be placed on the main page (index.html). 
-# This can be useful if you have a project on for instance GitHub and want reuse 
-# the introduction page also for the doxygen output.
-
-USE_MDFILE_AS_MAINPAGE = 
-
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will 
-# be generated. Documented entities will be cross-referenced with these sources. 
-# Note: To get rid of all source code in the generated output, make sure also 
-# VERBATIM_HEADERS is set to NO.
-
-SOURCE_BROWSER         = YES
-
-# Setting the INLINE_SOURCES tag to YES will include the body 
-# of functions and classes directly in the documentation.
-
-INLINE_SOURCES         = NO
-
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct 
-# doxygen to hide any special comment blocks from generated source code 
-# fragments. Normal C, C++ and Fortran comments will always remain visible.
-
-STRIP_CODE_COMMENTS    = NO
-
-# If the REFERENCED_BY_RELATION tag is set to YES 
-# then for each documented function all documented 
-# functions referencing it will be listed.
-
-REFERENCED_BY_RELATION = NO
-
-# If the REFERENCES_RELATION tag is set to YES 
-# then for each documented function all documented entities 
-# called/used by that function will be listed.
-
-REFERENCES_RELATION    = NO
-
-# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) 
-# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from 
-# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will 
-# link to the source code.  Otherwise they will link to the documentation.
-
-REFERENCES_LINK_SOURCE = YES
-
-# If the USE_HTAGS tag is set to YES then the references to source code 
-# will point to the HTML generated by the htags(1) tool instead of doxygen 
-# built-in source browser. The htags tool is part of GNU's global source 
-# tagging system (see http://www.gnu.org/software/global/global.html). You 
-# will need version 4.8.6 or higher.
-
-USE_HTAGS              = NO
-
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen 
-# will generate a verbatim copy of the header file for each class for 
-# which an include is specified. Set to NO to disable this.
-
-VERBATIM_HEADERS       = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index 
-# of all compounds will be generated. Enable this if the project 
-# contains a lot of classes, structs, unions or interfaces.
-
-ALPHABETICAL_INDEX     = YES
-
-# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then 
-# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns 
-# in which this list will be split (can be a number in the range [1..20])
-
-COLS_IN_ALPHA_INDEX    = 5
-
-# In case all classes in a project start with a common prefix, all 
-# classes will be put under the same header in the alphabetical index. 
-# The IGNORE_PREFIX tag can be used to specify one or more prefixes that 
-# should be ignored while generating the index headers.
-
-IGNORE_PREFIX          = 
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES (the default) Doxygen will 
-# generate HTML output.
-
-GENERATE_HTML          = YES
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `html' will be used as the default path.
-
-HTML_OUTPUT            = halref
-
-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for 
-# each generated HTML page (for example: .htm,.php,.asp). If it is left blank 
-# doxygen will generate files with .html extension.
-
-HTML_FILE_EXTENSION    = .html
-
-# The HTML_HEADER tag can be used to specify a personal HTML header for 
-# each generated HTML page. If it is left blank doxygen will generate a 
-# standard header. Note that when using a custom header you are responsible  
-# for the proper inclusion of any scripts and style sheets that doxygen 
-# needs, which is dependent on the configuration options used. 
-# It is advised to generate a default header using "doxygen -w html 
-# header.html footer.html stylesheet.css YourConfigFile" and then modify 
-# that header. Note that the header is subject to change so you typically 
-# have to redo this when upgrading to a newer version of doxygen or when 
-# changing the value of configuration settings such as GENERATE_TREEVIEW!
-
-HTML_HEADER            = ./docs/source.android.com/hal_header.html 
-
-# The HTML_FOOTER tag can be used to specify a personal HTML footer for 
-# each generated HTML page. If it is left blank doxygen will generate a 
-# standard footer.
-
-HTML_FOOTER            = ./docs/source.android.com/hal_footer.html 
-
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading 
-# style sheet that is used by each HTML page. It can be used to 
-# fine-tune the look of the HTML output. If left blank doxygen will 
-# generate a default style sheet. Note that it is recommended to use 
-# HTML_EXTRA_STYLESHEET instead of this one, as it is more robust and this 
-# tag will in the future become obsolete.
-
-HTML_STYLESHEET        = 
-
-# The HTML_EXTRA_STYLESHEET tag can be used to specify an additional 
-# user-defined cascading style sheet that is included after the standard 
-# style sheets created by doxygen. Using this option one can overrule 
-# certain style aspects. This is preferred over using HTML_STYLESHEET 
-# since it does not replace the standard style sheet and is therefor more 
-# robust against future updates. Doxygen will copy the style sheet file to 
-# the output directory.
-
-HTML_EXTRA_STYLESHEET  = ./docs/source.android.com/hal_doxygen.css
-
-# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or 
-# other source files which should be copied to the HTML output directory. Note 
-# that these files will be copied to the base HTML output directory. Use the 
-# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these 
-# files. In the HTML_STYLESHEET file, use the file name only. Also note that 
-# the files will be copied as-is; there are no commands or markers available.
-
-HTML_EXTRA_FILES       = 
-
-# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. 
-# Doxygen will adjust the colors in the style sheet and background images 
-# according to this color. Hue is specified as an angle on a colorwheel, 
-# see http://en.wikipedia.org/wiki/Hue for more information. 
-# For instance the value 0 represents red, 60 is yellow, 120 is green, 
-# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. 
-# The allowed range is 0 to 359.
-
-HTML_COLORSTYLE_HUE    = 220
-
-# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of 
-# the colors in the HTML output. For a value of 0 the output will use 
-# grayscales only. A value of 255 will produce the most vivid colors.
-
-HTML_COLORSTYLE_SAT    = 0
-
-# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to 
-# the luminance component of the colors in the HTML output. Values below 
-# 100 gradually make the output lighter, whereas values above 100 make 
-# the output darker. The value divided by 100 is the actual gamma applied, 
-# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, 
-# and 100 does not change the gamma.
-
-HTML_COLORSTYLE_GAMMA  = 80
-
-# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML 
-# page will contain the date and time when the page was generated. Setting 
-# this to NO can help when comparing the output of multiple runs.
-
-HTML_TIMESTAMP         = YES
-
-# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML 
-# documentation will contain sections that can be hidden and shown after the 
-# page has loaded.
-
-HTML_DYNAMIC_SECTIONS  = NO
-
-# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of 
-# entries shown in the various tree structured indices initially; the user 
-# can expand and collapse entries dynamically later on. Doxygen will expand 
-# the tree to such a level that at most the specified number of entries are 
-# visible (unless a fully collapsed tree already exceeds this amount). 
-# So setting the number of entries 1 will produce a full collapsed tree by 
-# default. 0 is a special value representing an infinite number of entries 
-# and will result in a full expanded tree by default.
-
-HTML_INDEX_NUM_ENTRIES = 100
-
-# If the GENERATE_DOCSET tag is set to YES, additional index files 
-# will be generated that can be used as input for Apple's Xcode 3 
-# integrated development environment, introduced with OSX 10.5 (Leopard). 
-# To create a documentation set, doxygen will generate a Makefile in the 
-# HTML output directory. Running make will produce the docset in that 
-# directory and running "make install" will install the docset in 
-# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find 
-# it at startup. 
-# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html 
-# for more information.
-
-GENERATE_DOCSET        = NO
-
-# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the 
-# feed. A documentation feed provides an umbrella under which multiple 
-# documentation sets from a single provider (such as a company or product suite) 
-# can be grouped.
-
-DOCSET_FEEDNAME        = "Doxygen generated docs"
-
-# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that 
-# should uniquely identify the documentation set bundle. This should be a 
-# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen 
-# will append .docset to the name.
-
-DOCSET_BUNDLE_ID       = org.doxygen.Project
-
-# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely 
-# identify the documentation publisher. This should be a reverse domain-name 
-# style string, e.g. com.mycompany.MyDocSet.documentation.
-
-DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
-
-# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
-
-DOCSET_PUBLISHER_NAME  = Publisher
-
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files 
-# will be generated that can be used as input for tools like the 
-# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) 
-# of the generated HTML documentation.
-
-GENERATE_HTMLHELP      = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can 
-# be used to specify the file name of the resulting .chm file. You 
-# can add a path in front of the file if the result should not be 
-# written to the html output directory.
-
-CHM_FILE               = 
-
-# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can 
-# be used to specify the location (absolute path including file name) of 
-# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run 
-# the HTML help compiler on the generated index.hhp.
-
-HHC_LOCATION           = 
-
-# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag 
-# controls if a separate .chi index file is generated (YES) or that 
-# it should be included in the master .chm file (NO).
-
-GENERATE_CHI           = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING 
-# is used to encode HtmlHelp index (hhk), content (hhc) and project file 
-# content.
-
-CHM_INDEX_ENCODING     = 
-
-# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag 
-# controls whether a binary table of contents is generated (YES) or a 
-# normal table of contents (NO) in the .chm file.
-
-BINARY_TOC             = NO
-
-# The TOC_EXPAND flag can be set to YES to add extra items for group members 
-# to the contents of the HTML help documentation and to the tree view.
-
-TOC_EXPAND             = NO
-
-# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and 
-# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated 
-# that can be used as input for Qt's qhelpgenerator to generate a 
-# Qt Compressed Help (.qch) of the generated HTML documentation.
-
-GENERATE_QHP           = NO
-
-# If the QHG_LOCATION tag is specified, the QCH_FILE tag can 
-# be used to specify the file name of the resulting .qch file. 
-# The path specified is relative to the HTML output folder.
-
-QCH_FILE               = 
-
-# The QHP_NAMESPACE tag specifies the namespace to use when generating 
-# Qt Help Project output. For more information please see 
-# http://doc.trolltech.com/qthelpproject.html#namespace
-
-QHP_NAMESPACE          = org.doxygen.Project
-
-# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating 
-# Qt Help Project output. For more information please see 
-# http://doc.trolltech.com/qthelpproject.html#virtual-folders
-
-QHP_VIRTUAL_FOLDER     = doc
-
-# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to 
-# add. For more information please see 
-# http://doc.trolltech.com/qthelpproject.html#custom-filters
-
-QHP_CUST_FILTER_NAME   = 
-
-# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the 
-# custom filter to add. For more information please see 
-# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters"> 
-# Qt Help Project / Custom Filters</a>.
-
-QHP_CUST_FILTER_ATTRS  = 
-
-# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this 
-# project's 
-# filter section matches. 
-# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes"> 
-# Qt Help Project / Filter Attributes</a>.
-
-QHP_SECT_FILTER_ATTRS  = 
-
-# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can 
-# be used to specify the location of Qt's qhelpgenerator. 
-# If non-empty doxygen will try to run qhelpgenerator on the generated 
-# .qhp file.
-
-QHG_LOCATION           = 
-
-# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files  
-# will be generated, which together with the HTML files, form an Eclipse help 
-# plugin. To install this plugin and make it available under the help contents 
-# menu in Eclipse, the contents of the directory containing the HTML and XML 
-# files needs to be copied into the plugins directory of eclipse. The name of 
-# the directory within the plugins directory should be the same as 
-# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before 
-# the help appears.
-
-GENERATE_ECLIPSEHELP   = NO
-
-# A unique identifier for the eclipse help plugin. When installing the plugin 
-# the directory name containing the HTML and XML files should also have 
-# this name.
-
-ECLIPSE_DOC_ID         = org.doxygen.Project
-
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) 
-# at top of each HTML page. The value NO (the default) enables the index and 
-# the value YES disables it. Since the tabs have the same information as the 
-# navigation tree you can set this option to NO if you already set 
-# GENERATE_TREEVIEW to YES.
-
-DISABLE_INDEX          = YES
-
-# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index 
-# structure should be generated to display hierarchical information. 
-# If the tag value is set to YES, a side panel will be generated 
-# containing a tree-like index structure (just like the one that 
-# is generated for HTML Help). For this to work a browser that supports 
-# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). 
-# Windows users are probably better off using the HTML help feature. 
-# Since the tree basically has the same information as the tab index you 
-# could consider to set DISABLE_INDEX to NO when enabling this option.
-
-GENERATE_TREEVIEW      = YES
-
-# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values 
-# (range [0,1..20]) that doxygen will group on one line in the generated HTML 
-# documentation. Note that a value of 0 will completely suppress the enum 
-# values from appearing in the overview section.
-
-ENUM_VALUES_PER_LINE   = 4
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be 
-# used to set the initial width (in pixels) of the frame in which the tree 
-# is shown.
-
-TREEVIEW_WIDTH         = 250
-
-# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open 
-# links to external symbols imported via tag files in a separate window.
-
-EXT_LINKS_IN_WINDOW    = NO
-
-# Use this tag to change the font size of Latex formulas included 
-# as images in the HTML documentation. The default is 10. Note that 
-# when you change the font size after a successful doxygen run you need 
-# to manually remove any form_*.png images from the HTML output directory 
-# to force them to be regenerated.
-
-FORMULA_FONTSIZE       = 10
-
-# Use the FORMULA_TRANPARENT tag to determine whether or not the images 
-# generated for formulas are transparent PNGs. Transparent PNGs are 
-# not supported properly for IE 6.0, but are supported on all modern browsers. 
-# Note that when changing this option you need to delete any form_*.png files 
-# in the HTML output before the changes have effect.
-
-FORMULA_TRANSPARENT    = YES
-
-# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax 
-# (see http://www.mathjax.org) which uses client side Javascript for the 
-# rendering instead of using prerendered bitmaps. Use this if you do not 
-# have LaTeX installed or if you want to formulas look prettier in the HTML 
-# output. When enabled you may also need to install MathJax separately and 
-# configure the path to it using the MATHJAX_RELPATH option.
-
-USE_MATHJAX            = NO
-
-# When MathJax is enabled you can set the default output format to be used for 
-# thA MathJax output. Supported types are HTML-CSS, NativeMML (i.e. MathML) and 
-# SVG. The default value is HTML-CSS, which is slower, but has the best 
-# compatibility.
-
-MATHJAX_FORMAT         = HTML-CSS
-
-# When MathJax is enabled you need to specify the location relative to the 
-# HTML output directory using the MATHJAX_RELPATH option. The destination 
-# directory should contain the MathJax.js script. For instance, if the mathjax 
-# directory is located at the same level as the HTML output directory, then 
-# MATHJAX_RELPATH should be ../mathjax. The default value points to 
-# the MathJax Content Delivery Network so you can quickly see the result without 
-# installing MathJax.  However, it is strongly recommended to install a local 
-# copy of MathJax from http://www.mathjax.org before deployment.
-
-MATHJAX_RELPATH        = http://cdn.mathjax.org/mathjax/latest
-
-# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension 
-# names that should be enabled during MathJax rendering.
-
-MATHJAX_EXTENSIONS     = 
-
-# When the SEARCHENGINE tag is enabled doxygen will generate a search box 
-# for the HTML output. The underlying search engine uses javascript 
-# and DHTML and should work on any modern browser. Note that when using 
-# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets 
-# (GENERATE_DOCSET) there is already a search function so this one should 
-# typically be disabled. For large projects the javascript based search engine 
-# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
-
-SEARCHENGINE           = NO
-
-# When the SERVER_BASED_SEARCH tag is enabled the search engine will be 
-# implemented using a web server instead of a web client using Javascript. 
-# There are two flavours of web server based search depending on the 
-# EXTERNAL_SEARCH setting. When disabled, doxygen will generate a PHP script for 
-# searching and an index file used by the script. When EXTERNAL_SEARCH is 
-# enabled the indexing and searching needs to be provided by external tools. 
-# See the manual for details.
-
-SERVER_BASED_SEARCH    = NO
-
-# When EXTERNAL_SEARCH is enabled doxygen will no longer generate the PHP 
-# script for searching. Instead the search results are written to an XML file 
-# which needs to be processed by an external indexer. Doxygen will invoke an 
-# external search engine pointed to by the SEARCHENGINE_URL option to obtain 
-# the search results. Doxygen ships with an example indexer (doxyindexer) and 
-# search engine (doxysearch.cgi) which are based on the open source search engine 
-# library Xapian. See the manual for configuration details.
-
-EXTERNAL_SEARCH        = NO
-
-# The SEARCHENGINE_URL should point to a search engine hosted by a web server 
-# which will returned the search results when EXTERNAL_SEARCH is enabled. 
-# Doxygen ships with an example search engine (doxysearch) which is based on 
-# the open source search engine library Xapian. See the manual for configuration 
-# details.
-
-SEARCHENGINE_URL       = 
-
-# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed 
-# search data is written to a file for indexing by an external tool. With the 
-# SEARCHDATA_FILE tag the name of this file can be specified.
-
-SEARCHDATA_FILE        = searchdata.xml
-
-# When SERVER_BASED_SEARCH AND EXTERNAL_SEARCH are both enabled the 
-# EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is 
-# useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple 
-# projects and redirect the results back to the right project.
-
-EXTERNAL_SEARCH_ID     = 
-
-# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen 
-# projects other than the one defined by this configuration file, but that are 
-# all added to the same external search index. Each project needs to have a 
-# unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id 
-# of to a relative location where the documentation can be found. 
-# The format is: EXTRA_SEARCH_MAPPINGS = id1=loc1 id2=loc2 ...
-
-EXTRA_SEARCH_MAPPINGS  = 
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
-# generate Latex output.
-
-GENERATE_LATEX         = NO
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `latex' will be used as the default path.
-
-LATEX_OUTPUT           = latex
-
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be 
-# invoked. If left blank `latex' will be used as the default command name. 
-# Note that when enabling USE_PDFLATEX this option is only used for 
-# generating bitmaps for formulas in the HTML output, but not in the 
-# Makefile that is written to the output directory.
-
-LATEX_CMD_NAME         = latex
-
-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to 
-# generate index for LaTeX. If left blank `makeindex' will be used as the 
-# default command name.
-
-MAKEINDEX_CMD_NAME     = makeindex
-
-# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact 
-# LaTeX documents. This may be useful for small projects and may help to 
-# save some trees in general.
-
-COMPACT_LATEX          = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used 
-# by the printer. Possible values are: a4, letter, legal and 
-# executive. If left blank a4wide will be used.
-
-PAPER_TYPE             = a4
-
-# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX 
-# packages that should be included in the LaTeX output.
-
-EXTRA_PACKAGES         = 
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for 
-# the generated latex document. The header should contain everything until 
-# the first chapter. If it is left blank doxygen will generate a 
-# standard header. Notice: only use this tag if you know what you are doing!
-
-LATEX_HEADER           = 
-
-# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for 
-# the generated latex document. The footer should contain everything after 
-# the last chapter. If it is left blank doxygen will generate a 
-# standard footer. Notice: only use this tag if you know what you are doing!
-
-LATEX_FOOTER           = 
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated 
-# is prepared for conversion to pdf (using ps2pdf). The pdf file will 
-# contain links (just like the HTML output) instead of page references 
-# This makes the output suitable for online browsing using a pdf viewer.
-
-PDF_HYPERLINKS         = YES
-
-# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of 
-# plain latex in the generated Makefile. Set this option to YES to get a 
-# higher quality PDF documentation.
-
-USE_PDFLATEX           = YES
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 
-# command to the generated LaTeX files. This will instruct LaTeX to keep 
-# running if errors occur, instead of asking the user for help. 
-# This option is also used when generating formulas in HTML.
-
-LATEX_BATCHMODE        = NO
-
-# If LATEX_HIDE_INDICES is set to YES then doxygen will not 
-# include the index chapters (such as File Index, Compound Index, etc.) 
-# in the output.
-
-LATEX_HIDE_INDICES     = NO
-
-# If LATEX_SOURCE_CODE is set to YES then doxygen will include 
-# source code with syntax highlighting in the LaTeX output. 
-# Note that which sources are shown also depends on other settings 
-# such as SOURCE_BROWSER.
-
-LATEX_SOURCE_CODE      = NO
-
-# The LATEX_BIB_STYLE tag can be used to specify the style to use for the 
-# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See 
-# http://en.wikipedia.org/wiki/BibTeX for more info.
-
-LATEX_BIB_STYLE        = plain
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output 
-# The RTF output is optimized for Word 97 and may not look very pretty with 
-# other RTF readers or editors.
-
-GENERATE_RTF           = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `rtf' will be used as the default path.
-
-RTF_OUTPUT             = rtf
-
-# If the COMPACT_RTF tag is set to YES Doxygen generates more compact 
-# RTF documents. This may be useful for small projects and may help to 
-# save some trees in general.
-
-COMPACT_RTF            = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated 
-# will contain hyperlink fields. The RTF file will 
-# contain links (just like the HTML output) instead of page references. 
-# This makes the output suitable for online browsing using WORD or other 
-# programs which support those fields. 
-# Note: wordpad (write) and others do not support links.
-
-RTF_HYPERLINKS         = NO
-
-# Load style sheet definitions from file. Syntax is similar to doxygen's 
-# config file, i.e. a series of assignments. You only have to provide 
-# replacements, missing definitions are set to their default value.
-
-RTF_STYLESHEET_FILE    = 
-
-# Set optional variables used in the generation of an rtf document. 
-# Syntax is similar to doxygen's config file.
-
-RTF_EXTENSIONS_FILE    = 
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will 
-# generate man pages
-
-GENERATE_MAN           = NO
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `man' will be used as the default path.
-
-MAN_OUTPUT             = man
-
-# The MAN_EXTENSION tag determines the extension that is added to 
-# the generated man pages (default is the subroutine's section .3)
-
-MAN_EXTENSION          = .3
-
-# If the MAN_LINKS tag is set to YES and Doxygen generates man output, 
-# then it will generate one additional man file for each entity 
-# documented in the real man page(s). These additional files 
-# only source the real man page, but without them the man command 
-# would be unable to find the correct page. The default is NO.
-
-MAN_LINKS              = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_XML tag is set to YES Doxygen will 
-# generate an XML file that captures the structure of 
-# the code including all documentation.
-
-GENERATE_XML           = NO
-
-# The XML_OUTPUT tag is used to specify where the XML pages will be put. 
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `xml' will be used as the default path.
-
-XML_OUTPUT             = xml
-
-# The XML_SCHEMA tag can be used to specify an XML schema, 
-# which can be used by a validating XML parser to check the 
-# syntax of the XML files.
-
-XML_SCHEMA             = 
-
-# The XML_DTD tag can be used to specify an XML DTD, 
-# which can be used by a validating XML parser to check the 
-# syntax of the XML files.
-
-XML_DTD                = 
-
-# If the XML_PROGRAMLISTING tag is set to YES Doxygen will 
-# dump the program listings (including syntax highlighting 
-# and cross-referencing information) to the XML output. Note that 
-# enabling this will significantly increase the size of the XML output.
-
-XML_PROGRAMLISTING     = YES
-
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will 
-# generate an AutoGen Definitions (see autogen.sf.net) file 
-# that captures the structure of the code including all 
-# documentation. Note that this feature is still experimental 
-# and incomplete at the moment.
-
-GENERATE_AUTOGEN_DEF   = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_PERLMOD tag is set to YES Doxygen will 
-# generate a Perl module file that captures the structure of 
-# the code including all documentation. Note that this 
-# feature is still experimental and incomplete at the 
-# moment.
-
-GENERATE_PERLMOD       = NO
-
-# If the PERLMOD_LATEX tag is set to YES Doxygen will generate 
-# the necessary Makefile rules, Perl scripts and LaTeX code to be able 
-# to generate PDF and DVI output from the Perl module output.
-
-PERLMOD_LATEX          = NO
-
-# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be 
-# nicely formatted so it can be parsed by a human reader.  This is useful 
-# if you want to understand what is going on.  On the other hand, if this 
-# tag is set to NO the size of the Perl module output will be much smaller 
-# and Perl will parse it just the same.
-
-PERLMOD_PRETTY         = YES
-
-# The names of the make variables in the generated doxyrules.make file 
-# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. 
-# This is useful so different doxyrules.make files included by the same 
-# Makefile don't overwrite each other's variables.
-
-PERLMOD_MAKEVAR_PREFIX = 
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will 
-# evaluate all C-preprocessor directives found in the sources and include 
-# files.
-
-ENABLE_PREPROCESSING   = YES
-
-# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro 
-# names in the source code. If set to NO (the default) only conditional 
-# compilation will be performed. Macro expansion can be done in a controlled 
-# way by setting EXPAND_ONLY_PREDEF to YES.
-
-MACRO_EXPANSION        = NO
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES 
-# then the macro expansion is limited to the macros specified with the 
-# PREDEFINED and EXPAND_AS_DEFINED tags.
-
-EXPAND_ONLY_PREDEF     = NO
-
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 
-# pointed to by INCLUDE_PATH will be searched when a #include is found.
-
-SEARCH_INCLUDES        = YES
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that 
-# contain include files that are not input files but should be processed by 
-# the preprocessor.
-
-INCLUDE_PATH           = 
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 
-# patterns (like *.h and *.hpp) to filter out the header-files in the 
-# directories. If left blank, the patterns specified with FILE_PATTERNS will 
-# be used.
-
-INCLUDE_FILE_PATTERNS  = 
-
-# The PREDEFINED tag can be used to specify one or more macro names that 
-# are defined before the preprocessor is started (similar to the -D option of 
-# gcc). The argument of the tag is a list of macros of the form: name 
-# or name=definition (no spaces). If the definition and the = are 
-# omitted =1 is assumed. To prevent a macro definition from being 
-# undefined via #undef or recursively expanded use the := operator 
-# instead of the = operator.
-
-PREDEFINED             = 
-
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then 
-# this tag can be used to specify a list of macro names that should be expanded. 
-# The macro definition that is found in the sources will be used. 
-# Use the PREDEFINED tag if you want to use a different macro definition that 
-# overrules the definition found in the source code.
-
-EXPAND_AS_DEFINED      = 
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then 
-# doxygen's preprocessor will remove all references to function-like macros 
-# that are alone on a line, have an all uppercase name, and do not end with a 
-# semicolon, because these will confuse the parser if not removed.
-
-SKIP_FUNCTION_MACROS   = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references
-#---------------------------------------------------------------------------
-
-# The TAGFILES option can be used to specify one or more tagfiles. For each 
-# tag file the location of the external documentation should be added. The 
-# format of a tag file without this location is as follows: 
-#   TAGFILES = file1 file2 ... 
-# Adding location for the tag files is done as follows: 
-#   TAGFILES = file1=loc1 "file2 = loc2" ... 
-# where "loc1" and "loc2" can be relative or absolute paths 
-# or URLs. Note that each tag file must have a unique name (where the name does 
-# NOT include the path). If a tag file is not located in the directory in which 
-# doxygen is run, you must also specify the path to the tagfile here.
-
-TAGFILES               = 
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create 
-# a tag file that is based on the input files it reads.
-
-GENERATE_TAGFILE       = 
-
-# If the ALLEXTERNALS tag is set to YES all external classes will be listed 
-# in the class index. If set to NO only the inherited external classes 
-# will be listed.
-
-ALLEXTERNALS           = NO
-
-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed 
-# in the modules index. If set to NO, only the current project's groups will 
-# be listed.
-
-EXTERNAL_GROUPS        = YES
-
-# The PERL_PATH should be the absolute path and name of the perl script 
-# interpreter (i.e. the result of `which perl').
-
-PERL_PATH              = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will 
-# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base 
-# or super classes. Setting the tag to NO turns the diagrams off. Note that 
-# this option also works with HAVE_DOT disabled, but it is recommended to 
-# install and use dot, since it yields more powerful graphs.
-
-CLASS_DIAGRAMS         = NO
-
-# You can define message sequence charts within doxygen comments using the \msc 
-# command. Doxygen will then run the mscgen tool (see 
-# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the 
-# documentation. The MSCGEN_PATH tag allows you to specify the directory where 
-# the mscgen tool resides. If left empty the tool is assumed to be found in the 
-# default search path.
-
-MSCGEN_PATH            = 
-
-# If set to YES, the inheritance and collaboration graphs will hide 
-# inheritance and usage relations if the target is undocumented 
-# or is not a class.
-
-HIDE_UNDOC_RELATIONS   = YES
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is 
-# available from the path. This tool is part of Graphviz, a graph visualization 
-# toolkit from AT&T and Lucent Bell Labs. The other options in this section 
-# have no effect if this option is set to NO (the default)
-
-HAVE_DOT               = NO
-
-# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is 
-# allowed to run in parallel. When set to 0 (the default) doxygen will 
-# base this on the number of processors available in the system. You can set it 
-# explicitly to a value larger than 0 to get control over the balance 
-# between CPU load and processing speed.
-
-DOT_NUM_THREADS        = 0
-
-# By default doxygen will use the Helvetica font for all dot files that 
-# doxygen generates. When you want a differently looking font you can specify 
-# the font name using DOT_FONTNAME. You need to make sure dot is able to find 
-# the font, which can be done by putting it in a standard location or by setting 
-# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the 
-# directory containing the font.
-
-DOT_FONTNAME           = Helvetica
-
-# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. 
-# The default size is 10pt.
-
-DOT_FONTSIZE           = 10
-
-# By default doxygen will tell dot to use the Helvetica font. 
-# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to 
-# set the path where dot can find it.
-
-DOT_FONTPATH           = 
-
-# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 
-# will generate a graph for each documented class showing the direct and 
-# indirect inheritance relations. Setting this tag to YES will force the 
-# CLASS_DIAGRAMS tag to NO.
-
-CLASS_GRAPH            = YES
-
-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen 
-# will generate a graph for each documented class showing the direct and 
-# indirect implementation dependencies (inheritance, containment, and 
-# class references variables) of the class with other documented classes.
-
-COLLABORATION_GRAPH    = YES
-
-# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen 
-# will generate a graph for groups, showing the direct groups dependencies
-
-GROUP_GRAPHS           = YES
-
-# If the UML_LOOK tag is set to YES doxygen will generate inheritance and 
-# collaboration diagrams in a style similar to the OMG's Unified Modeling 
-# Language.
-
-UML_LOOK               = NO
-
-# If the UML_LOOK tag is enabled, the fields and methods are shown inside 
-# the class node. If there are many fields or methods and many nodes the 
-# graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS 
-# threshold limits the number of items for each type to make the size more 
-# managable. Set this to 0 for no limit. Note that the threshold may be 
-# exceeded by 50% before the limit is enforced.
-
-UML_LIMIT_NUM_FIELDS   = 10
-
-# If set to YES, the inheritance and collaboration graphs will show the 
-# relations between templates and their instances.
-
-TEMPLATE_RELATIONS     = NO
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT 
-# tags are set to YES then doxygen will generate a graph for each documented 
-# file showing the direct and indirect include dependencies of the file with 
-# other documented files.
-
-INCLUDE_GRAPH          = YES
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and 
-# HAVE_DOT tags are set to YES then doxygen will generate a graph for each 
-# documented header file showing the documented files that directly or 
-# indirectly include this file.
-
-INCLUDED_BY_GRAPH      = YES
-
-# If the CALL_GRAPH and HAVE_DOT options are set to YES then 
-# doxygen will generate a call dependency graph for every global function 
-# or class method. Note that enabling this option will significantly increase 
-# the time of a run. So in most cases it will be better to enable call graphs 
-# for selected functions only using the \callgraph command.
-
-CALL_GRAPH             = NO
-
-# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then 
-# doxygen will generate a caller dependency graph for every global function 
-# or class method. Note that enabling this option will significantly increase 
-# the time of a run. So in most cases it will be better to enable caller 
-# graphs for selected functions only using the \callergraph command.
-
-CALLER_GRAPH           = NO
-
-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 
-# will generate a graphical hierarchy of all classes instead of a textual one.
-
-GRAPHICAL_HIERARCHY    = YES
-
-# If the DIRECTORY_GRAPH and HAVE_DOT tags are set to YES 
-# then doxygen will show the dependencies a directory has on other directories 
-# in a graphical way. The dependency relations are determined by the #include 
-# relations between the files in the directories.
-
-DIRECTORY_GRAPH        = YES
-
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images 
-# generated by dot. Possible values are svg, png, jpg, or gif. 
-# If left blank png will be used. If you choose svg you need to set 
-# HTML_FILE_EXTENSION to xhtml in order to make the SVG files 
-# visible in IE 9+ (other browsers do not have this requirement).
-
-DOT_IMAGE_FORMAT       = png
-
-# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to 
-# enable generation of interactive SVG images that allow zooming and panning. 
-# Note that this requires a modern browser other than Internet Explorer. 
-# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you 
-# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files 
-# visible. Older versions of IE do not have SVG support.
-
-INTERACTIVE_SVG        = NO
-
-# The tag DOT_PATH can be used to specify the path where the dot tool can be 
-# found. If left blank, it is assumed the dot tool can be found in the path.
-
-DOT_PATH               = 
-
-# The DOTFILE_DIRS tag can be used to specify one or more directories that 
-# contain dot files that are included in the documentation (see the 
-# \dotfile command).
-
-DOTFILE_DIRS           = 
-
-# The MSCFILE_DIRS tag can be used to specify one or more directories that 
-# contain msc files that are included in the documentation (see the 
-# \mscfile command).
-
-MSCFILE_DIRS           = 
-
-# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of 
-# nodes that will be shown in the graph. If the number of nodes in a graph 
-# becomes larger than this value, doxygen will truncate the graph, which is 
-# visualized by representing a node as a red box. Note that doxygen if the 
-# number of direct children of the root node in a graph is already larger than 
-# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note 
-# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
-
-DOT_GRAPH_MAX_NODES    = 50
-
-# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the 
-# graphs generated by dot. A depth value of 3 means that only nodes reachable 
-# from the root by following a path via at most 3 edges will be shown. Nodes 
-# that lay further from the root node will be omitted. Note that setting this 
-# option to 1 or 2 may greatly reduce the computation time needed for large 
-# code bases. Also note that the size of a graph can be further restricted by 
-# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
-
-MAX_DOT_GRAPH_DEPTH    = 0
-
-# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent 
-# background. This is disabled by default, because dot on Windows does not 
-# seem to support this out of the box. Warning: Depending on the platform used, 
-# enabling this option may lead to badly anti-aliased labels on the edges of 
-# a graph (i.e. they become hard to read).
-
-DOT_TRANSPARENT        = NO
-
-# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output 
-# files in one run (i.e. multiple -o and -T options on the command line). This 
-# makes dot run faster, but since only newer versions of dot (>1.8.10) 
-# support this, this feature is disabled by default.
-
-DOT_MULTI_TARGETS      = NO
-
-# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will 
-# generate a legend page explaining the meaning of the various boxes and 
-# arrows in the dot generated graphs.
-
-GENERATE_LEGEND        = YES
-
-# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will 
-# remove the intermediate dot files that are used to generate 
-# the various graphs.
-
-DOT_CLEANUP            = YES
diff --git a/DoxygenLayout.xml b/DoxygenLayout.xml
deleted file mode 100644
index 4b6ad40..0000000
--- a/DoxygenLayout.xml
+++ /dev/null
@@ -1,188 +0,0 @@
-<doxygenlayout version="1.0">
-  <!-- Generated by doxygen 1.8.3.1 -->
-  <!-- Navigation index tabs for HTML output -->
-  <navindex>
-    <tab type="mainpage" visible="yes" title="" intro=""/>
-    <tab type="pages" visible="yes" title="" intro=""/>
-    <tab type="modules" visible="yes" title="" intro=""/>
-    <tab type="namespaces" visible="yes" title="">
-      <tab type="namespacelist" visible="yes" title="" intro=""/>
-      <tab type="namespacemembers" visible="yes" title="" intro=""/>
-    </tab>
-    <tab type="classes" visible="yes" title="">
-      <tab type="classlist" visible="yes" title="" intro=""/>
-      <tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
-      <tab type="classmembers" visible="yes" title="" intro=""/>
-    </tab>
-    <tab type="files" visible="yes" title="">
-      <tab type="filelist" visible="yes" title="" intro=""/>
-      <tab type="globals" visible="yes" title="" intro=""/>
-    </tab>
-        <tab type="user" url="/devices/tech/index.html" title="Devices on source.android.com">
-    </tab>
-  </navindex>
-
-  <!-- Layout definition for a class page -->
-  <class>
-    <briefdescription visible="yes"/>
-    <includes visible="$SHOW_INCLUDE_FILES"/>
-    <inheritancegraph visible="$CLASS_GRAPH"/>
-    <collaborationgraph visible="$COLLABORATION_GRAPH"/>
-    <memberdecl>
-      <nestedclasses visible="yes" title=""/>
-      <publictypes title=""/>
-      <publicslots title=""/>
-      <signals title=""/>
-      <publicmethods title=""/>
-      <publicstaticmethods title=""/>
-      <publicattributes title=""/>
-      <publicstaticattributes title=""/>
-      <protectedtypes title=""/>
-      <protectedslots title=""/>
-      <protectedmethods title=""/>
-      <protectedstaticmethods title=""/>
-      <protectedattributes title=""/>
-      <protectedstaticattributes title=""/>
-      <packagetypes title=""/>
-      <packagemethods title=""/>
-      <packagestaticmethods title=""/>
-      <packageattributes title=""/>
-      <packagestaticattributes title=""/>
-      <properties title=""/>
-      <events title=""/>
-      <privatetypes title=""/>
-      <privateslots title=""/>
-      <privatemethods title=""/>
-      <privatestaticmethods title=""/>
-      <privateattributes title=""/>
-      <privatestaticattributes title=""/>
-      <friends title=""/>
-      <related title="" subtitle=""/>
-      <membergroups visible="yes"/>
-    </memberdecl>
-    <detaileddescription title=""/>
-    <memberdef>
-      <inlineclasses title=""/>
-      <typedefs title=""/>
-      <enums title=""/>
-      <constructors title=""/>
-      <functions title=""/>
-      <related title=""/>
-      <variables title=""/>
-      <properties title=""/>
-      <events title=""/>
-    </memberdef>
-    <allmemberslink visible="yes"/>
-    <usedfiles visible="$SHOW_USED_FILES"/>
-    <authorsection visible="yes"/>
-  </class>
-
-  <!-- Layout definition for a namespace page -->
-  <namespace>
-    <briefdescription visible="yes"/>
-    <memberdecl>
-      <nestednamespaces visible="yes" title=""/>
-      <classes visible="yes" title=""/>
-      <typedefs title=""/>
-      <enums title=""/>
-      <functions title=""/>
-      <variables title=""/>
-      <membergroups visible="yes"/>
-    </memberdecl>
-    <detaileddescription title=""/>
-    <memberdef>
-      <inlineclasses title=""/>
-      <typedefs title=""/>
-      <enums title=""/>
-      <functions title=""/>
-      <variables title=""/>
-    </memberdef>
-    <authorsection visible="yes"/>
-  </namespace>
-
-  <!-- Layout definition for a file page -->
-  <file>
-    <briefdescription visible="yes"/>
-    <includes visible="$SHOW_INCLUDE_FILES"/>
-    <includegraph visible="$INCLUDE_GRAPH"/>
-    <includedbygraph visible="$INCLUDED_BY_GRAPH"/>
-    <sourcelink visible="yes"/>
-    <memberdecl>
-      <classes visible="yes" title=""/>
-      <namespaces visible="yes" title=""/>
-      <defines title=""/>
-      <typedefs title=""/>
-      <enums title=""/>
-      <functions title=""/>
-      <variables title=""/>
-      <membergroups visible="yes"/>
-    </memberdecl>
-    <detaileddescription title=""/>
-    <memberdef>
-      <inlineclasses title=""/>
-      <defines title=""/>
-      <typedefs title=""/>
-      <enums title=""/>
-      <functions title=""/>
-      <variables title=""/>
-    </memberdef>
-    <authorsection/>
-  </file>
-
-  <!-- Layout definition for a group page -->
-  <group>
-    <briefdescription visible="yes"/>
-    <groupgraph visible="$GROUP_GRAPHS"/>
-    <memberdecl>
-      <nestedgroups visible="yes" title=""/>
-      <dirs visible="yes" title=""/>
-      <files visible="yes" title=""/>
-      <namespaces visible="yes" title=""/>
-      <classes visible="yes" title=""/>
-      <defines title=""/>
-      <typedefs title=""/>
-      <enums title=""/>
-      <enumvalues title=""/>
-      <functions title=""/>
-      <variables title=""/>
-      <signals title=""/>
-      <publicslots title=""/>
-      <protectedslots title=""/>
-      <privateslots title=""/>
-      <events title=""/>
-      <properties title=""/>
-      <friends title=""/>
-      <membergroups visible="yes"/>
-    </memberdecl>
-    <detaileddescription title=""/>
-    <memberdef>
-      <pagedocs/>
-      <inlineclasses title=""/>
-      <defines title=""/>
-      <typedefs title=""/>
-      <enums title=""/>
-      <enumvalues title=""/>
-      <functions title=""/>
-      <variables title=""/>
-      <signals title=""/>
-      <publicslots title=""/>
-      <protectedslots title=""/>
-      <privateslots title=""/>
-      <events title=""/>
-      <properties title=""/>
-      <friends title=""/>
-    </memberdef>
-    <authorsection visible="yes"/>
-  </group>
-
-  <!-- Layout definition for a directory page -->
-  <directory>
-    <briefdescription visible="yes"/>
-    <directorygraph visible="yes"/>
-    <memberdecl>
-      <dirs visible="yes"/>
-      <files visible="yes"/>
-    </memberdecl>
-    <detaileddescription title=""/>
-  </directory>
-</doxygenlayout>
diff --git a/README b/README.txt
similarity index 100%
rename from README
rename to README.txt
diff --git a/src/index.jd b/en/_index.yaml
similarity index 100%
rename from src/index.jd
rename to en/_index.yaml
diff --git a/src/compatibility/1.6/android-1.6-cdd.html b/en/compatibility/1.6/android-1.6-cdd.html
similarity index 100%
rename from src/compatibility/1.6/android-1.6-cdd.html
rename to en/compatibility/1.6/android-1.6-cdd.html
diff --git a/src/compatibility/1.6/android-1.6-cdd.pdf b/en/compatibility/1.6/android-1.6-cdd.pdf
similarity index 100%
rename from src/compatibility/1.6/android-1.6-cdd.pdf
rename to en/compatibility/1.6/android-1.6-cdd.pdf
Binary files differ
diff --git a/src/compatibility/2.1/android-2.1-cdd.xhtml b/en/compatibility/2.1/android-2.1-cdd.html
similarity index 100%
rename from src/compatibility/2.1/android-2.1-cdd.xhtml
rename to en/compatibility/2.1/android-2.1-cdd.html
diff --git a/src/compatibility/2.1/android-2.1-cdd.pdf b/en/compatibility/2.1/android-2.1-cdd.pdf
similarity index 100%
rename from src/compatibility/2.1/android-2.1-cdd.pdf
rename to en/compatibility/2.1/android-2.1-cdd.pdf
Binary files differ
diff --git a/src/compatibility/2.1/versions.jd b/en/compatibility/2.1/versions.html
similarity index 100%
rename from src/compatibility/2.1/versions.jd
rename to en/compatibility/2.1/versions.html
diff --git a/src/compatibility/2.2/android-2.2-cdd.xhtml b/en/compatibility/2.2/android-2.2-cdd.html
similarity index 100%
rename from src/compatibility/2.2/android-2.2-cdd.xhtml
rename to en/compatibility/2.2/android-2.2-cdd.html
diff --git a/src/compatibility/2.2/android-2.2-cdd.pdf b/en/compatibility/2.2/android-2.2-cdd.pdf
similarity index 100%
rename from src/compatibility/2.2/android-2.2-cdd.pdf
rename to en/compatibility/2.2/android-2.2-cdd.pdf
diff --git a/src/compatibility/2.2/versions.jd b/en/compatibility/2.2/versions.html
similarity index 100%
rename from src/compatibility/2.2/versions.jd
rename to en/compatibility/2.2/versions.html
diff --git a/src/compatibility/2.3/android-2.3-cdd.html b/en/compatibility/2.3/android-2.3-cdd.html
similarity index 100%
rename from src/compatibility/2.3/android-2.3-cdd.html
rename to en/compatibility/2.3/android-2.3-cdd.html
diff --git a/src/compatibility/2.3/android-2.3-cdd.pdf b/en/compatibility/2.3/android-2.3-cdd.pdf
similarity index 100%
rename from src/compatibility/2.3/android-2.3-cdd.pdf
rename to en/compatibility/2.3/android-2.3-cdd.pdf
diff --git a/src/compatibility/2.3/android-2.3.3-cdd.pdf b/en/compatibility/2.3/android-2.3.3-cdd.pdf
similarity index 100%
rename from src/compatibility/2.3/android-2.3.3-cdd.pdf
rename to en/compatibility/2.3/android-2.3.3-cdd.pdf
diff --git a/src/compatibility/2.3/versions.jd b/en/compatibility/2.3/versions.html
similarity index 100%
rename from src/compatibility/2.3/versions.jd
rename to en/compatibility/2.3/versions.html
diff --git a/src/compatibility/4.0/android-4.0-cdd.xhtml b/en/compatibility/4.0/android-4.0-cdd.html
similarity index 100%
rename from src/compatibility/4.0/android-4.0-cdd.xhtml
rename to en/compatibility/4.0/android-4.0-cdd.html
diff --git a/src/compatibility/4.0/android-4.0-cdd.pdf b/en/compatibility/4.0/android-4.0-cdd.pdf
similarity index 100%
rename from src/compatibility/4.0/android-4.0-cdd.pdf
rename to en/compatibility/4.0/android-4.0-cdd.pdf
Binary files differ
diff --git a/src/compatibility/4.0/versions.jd b/en/compatibility/4.0/versions.html
similarity index 100%
rename from src/compatibility/4.0/versions.jd
rename to en/compatibility/4.0/versions.html
diff --git a/src/compatibility/4.1/android-4.1-cdd.html b/en/compatibility/4.1/android-4.1-cdd.html
similarity index 100%
rename from src/compatibility/4.1/android-4.1-cdd.html
rename to en/compatibility/4.1/android-4.1-cdd.html
diff --git a/src/compatibility/4.1/android-4.1-cdd.pdf b/en/compatibility/4.1/android-4.1-cdd.pdf
similarity index 100%
rename from src/compatibility/4.1/android-4.1-cdd.pdf
rename to en/compatibility/4.1/android-4.1-cdd.pdf
Binary files differ
diff --git a/src/compatibility/4.1/versions.jd b/en/compatibility/4.1/versions.html
similarity index 100%
rename from src/compatibility/4.1/versions.jd
rename to en/compatibility/4.1/versions.html
diff --git a/src/compatibility/4.2/android-4.2-cdd.xhtml b/en/compatibility/4.2/android-4.2-cdd.html
similarity index 100%
rename from src/compatibility/4.2/android-4.2-cdd.xhtml
rename to en/compatibility/4.2/android-4.2-cdd.html
diff --git a/src/compatibility/4.2/android-4.2-cdd.pdf b/en/compatibility/4.2/android-4.2-cdd.pdf
similarity index 100%
rename from src/compatibility/4.2/android-4.2-cdd.pdf
rename to en/compatibility/4.2/android-4.2-cdd.pdf
Binary files differ
diff --git a/src/compatibility/4.2/versions.jd b/en/compatibility/4.2/versions.html
similarity index 100%
rename from src/compatibility/4.2/versions.jd
rename to en/compatibility/4.2/versions.html
diff --git a/src/compatibility/4.3/android-4.3-cdd.xhtml b/en/compatibility/4.3/android-4.3-cdd.html
similarity index 100%
rename from src/compatibility/4.3/android-4.3-cdd.xhtml
rename to en/compatibility/4.3/android-4.3-cdd.html
diff --git a/src/compatibility/4.3/android-4.3-cdd.pdf b/en/compatibility/4.3/android-4.3-cdd.pdf
similarity index 100%
rename from src/compatibility/4.3/android-4.3-cdd.pdf
rename to en/compatibility/4.3/android-4.3-cdd.pdf
Binary files differ
diff --git a/src/compatibility/4.3/versions.jd b/en/compatibility/4.3/versions.html
similarity index 100%
rename from src/compatibility/4.3/versions.jd
rename to en/compatibility/4.3/versions.html
diff --git a/src/compatibility/4.4/android-4.4-cdd.xhtml b/en/compatibility/4.4/android-4.4-cdd.html
similarity index 100%
rename from src/compatibility/4.4/android-4.4-cdd.xhtml
rename to en/compatibility/4.4/android-4.4-cdd.html
diff --git a/src/compatibility/4.4/android-4.4-cdd.pdf b/en/compatibility/4.4/android-4.4-cdd.pdf
similarity index 100%
rename from src/compatibility/4.4/android-4.4-cdd.pdf
rename to en/compatibility/4.4/android-4.4-cdd.pdf
Binary files differ
diff --git a/src/compatibility/4.4/versions.jd b/en/compatibility/4.4/versions.html
similarity index 100%
rename from src/compatibility/4.4/versions.jd
rename to en/compatibility/4.4/versions.html
diff --git a/src/compatibility/5.0/android-5.0-cdd.html b/en/compatibility/5.0/android-5.0-cdd.html
similarity index 100%
rename from src/compatibility/5.0/android-5.0-cdd.html
rename to en/compatibility/5.0/android-5.0-cdd.html
diff --git a/src/compatibility/5.0/android-5.0-cdd.pdf b/en/compatibility/5.0/android-5.0-cdd.pdf
similarity index 100%
rename from src/compatibility/5.0/android-5.0-cdd.pdf
rename to en/compatibility/5.0/android-5.0-cdd.pdf
Binary files differ
diff --git a/src/compatibility/5.0/android-cdd.css b/en/compatibility/5.0/android-cdd.css
similarity index 100%
rename from src/compatibility/5.0/android-cdd.css
rename to en/compatibility/5.0/android-cdd.css
diff --git a/src/compatibility/5.0/versions.jd b/en/compatibility/5.0/versions.html
similarity index 100%
rename from src/compatibility/5.0/versions.jd
rename to en/compatibility/5.0/versions.html
diff --git a/src/compatibility/5.1/CDD_README.txt b/en/compatibility/5.1/CDD_README.txt
similarity index 100%
rename from src/compatibility/5.1/CDD_README.txt
rename to en/compatibility/5.1/CDD_README.txt
diff --git a/src/compatibility/5.1/android-5.1-cdd.html b/en/compatibility/5.1/android-5.1-cdd.html
similarity index 100%
rename from src/compatibility/5.1/android-5.1-cdd.html
rename to en/compatibility/5.1/android-5.1-cdd.html
diff --git a/src/compatibility/5.1/android-5.1-cdd.pdf b/en/compatibility/5.1/android-5.1-cdd.pdf
similarity index 100%
rename from src/compatibility/5.1/android-5.1-cdd.pdf
rename to en/compatibility/5.1/android-5.1-cdd.pdf
Binary files differ
diff --git a/src/compatibility/5.1/android-cdd-body.pdf b/en/compatibility/5.1/android-cdd-body.pdf
similarity index 100%
rename from src/compatibility/5.1/android-cdd-body.pdf
rename to en/compatibility/5.1/android-cdd-body.pdf
Binary files differ
diff --git a/src/compatibility/5.1/android-cdd-cover.css b/en/compatibility/5.1/android-cdd-cover.css
similarity index 100%
rename from src/compatibility/5.1/android-cdd-cover.css
rename to en/compatibility/5.1/android-cdd-cover.css
diff --git a/src/compatibility/5.1/android-cdd-cover.pdf b/en/compatibility/5.1/android-cdd-cover.pdf
similarity index 100%
rename from src/compatibility/5.1/android-cdd-cover.pdf
rename to en/compatibility/5.1/android-cdd-cover.pdf
Binary files differ
diff --git a/src/compatibility/5.1/android-cdd-cover_5_1.html b/en/compatibility/5.1/android-cdd-cover_5_1.html
similarity index 100%
rename from src/compatibility/5.1/android-cdd-cover_5_1.html
rename to en/compatibility/5.1/android-cdd-cover_5_1.html
diff --git a/src/compatibility/5.1/android-cdd-footer.html b/en/compatibility/5.1/android-cdd-footer.html
similarity index 100%
rename from src/compatibility/5.1/android-cdd-footer.html
rename to en/compatibility/5.1/android-cdd-footer.html
diff --git a/src/compatibility/5.1/android-cdd.css b/en/compatibility/5.1/android-cdd.css
similarity index 100%
rename from src/compatibility/5.1/android-cdd.css
rename to en/compatibility/5.1/android-cdd.css
diff --git a/src/compatibility/5.1/versions.jd b/en/compatibility/5.1/versions.html
similarity index 100%
rename from src/compatibility/5.1/versions.jd
rename to en/compatibility/5.1/versions.html
diff --git a/src/compatibility/6.0/android-6.0-cdd.html b/en/compatibility/6.0/android-6.0-cdd.html
similarity index 100%
rename from src/compatibility/6.0/android-6.0-cdd.html
rename to en/compatibility/6.0/android-6.0-cdd.html
diff --git a/src/compatibility/6.0/android-6.0-cdd.pdf b/en/compatibility/6.0/android-6.0-cdd.pdf
similarity index 100%
rename from src/compatibility/6.0/android-6.0-cdd.pdf
rename to en/compatibility/6.0/android-6.0-cdd.pdf
Binary files differ
diff --git a/src/compatibility/6.0/versions.jd b/en/compatibility/6.0/versions.html
similarity index 100%
rename from src/compatibility/6.0/versions.jd
rename to en/compatibility/6.0/versions.html
diff --git a/src/compatibility/7.0/android-7.0-cdd.html b/en/compatibility/7.0/android-7.0-cdd.html
similarity index 100%
rename from src/compatibility/7.0/android-7.0-cdd.html
rename to en/compatibility/7.0/android-7.0-cdd.html
diff --git a/src/compatibility/7.0/android-7.0-cdd.pdf b/en/compatibility/7.0/android-7.0-cdd.pdf
similarity index 100%
rename from src/compatibility/7.0/android-7.0-cdd.pdf
rename to en/compatibility/7.0/android-7.0-cdd.pdf
Binary files differ
diff --git a/src/compatibility/7.0/source/android-cdd.css b/en/compatibility/7.0/source/android-cdd.css
similarity index 100%
rename from src/compatibility/7.0/source/android-cdd.css
rename to en/compatibility/7.0/source/android-cdd.css
diff --git a/src/compatibility/7.0/versions.jd b/en/compatibility/7.0/versions.html
similarity index 100%
rename from src/compatibility/7.0/versions.jd
rename to en/compatibility/7.0/versions.html
diff --git a/src/compatibility/7.1/android-7.1-cdd.html b/en/compatibility/7.1/android-7.1-cdd.html
similarity index 100%
rename from src/compatibility/7.1/android-7.1-cdd.html
rename to en/compatibility/7.1/android-7.1-cdd.html
diff --git a/src/compatibility/7.1/android-7.1-cdd.pdf b/en/compatibility/7.1/android-7.1-cdd.pdf
similarity index 100%
rename from src/compatibility/7.1/android-7.1-cdd.pdf
rename to en/compatibility/7.1/android-7.1-cdd.pdf
Binary files differ
diff --git a/src/compatibility/7.1/source/android-cdd.css b/en/compatibility/7.1/source/android-cdd.css
similarity index 100%
rename from src/compatibility/7.1/source/android-cdd.css
rename to en/compatibility/7.1/source/android-cdd.css
diff --git a/src/compatibility/7.1/versions.jd b/en/compatibility/7.1/versions.html
similarity index 100%
rename from src/compatibility/7.1/versions.jd
rename to en/compatibility/7.1/versions.html
diff --git a/src/compatibility/CDD_README.txt b/en/compatibility/CDD_README.txt
similarity index 100%
rename from src/compatibility/CDD_README.txt
rename to en/compatibility/CDD_README.txt
diff --git a/src/compatibility/compatibility_toc.cs b/en/compatibility/_toc-compatibility.yaml
similarity index 100%
rename from src/compatibility/compatibility_toc.cs
rename to en/compatibility/_toc-compatibility.yaml
diff --git a/src/compatibility/android-7.1-cdd.html b/en/compatibility/android-7.1-cdd.html
similarity index 100%
rename from src/compatibility/android-7.1-cdd.html
rename to en/compatibility/android-7.1-cdd.html
diff --git a/src/compatibility/5.0/android-cdd.css b/en/compatibility/android-cdd.css
similarity index 100%
copy from src/compatibility/5.0/android-cdd.css
copy to en/compatibility/android-cdd.css
diff --git a/src/compatibility/android-cdd.html b/en/compatibility/android-cdd.html
similarity index 100%
rename from src/compatibility/android-cdd.html
rename to en/compatibility/android-cdd.html
diff --git a/src/compatibility/android-cdd.pdf b/en/compatibility/android-cdd.pdf
similarity index 100%
rename from src/compatibility/android-cdd.pdf
rename to en/compatibility/android-cdd.pdf
Binary files differ
diff --git a/src/compatibility/calibration-pattern.pdf b/en/compatibility/calibration-pattern.pdf
similarity index 100%
rename from src/compatibility/calibration-pattern.pdf
rename to en/compatibility/calibration-pattern.pdf
Binary files differ
diff --git a/src/compatibility/cdd.jd b/en/compatibility/cdd.html
similarity index 100%
rename from src/compatibility/cdd.jd
rename to en/compatibility/cdd.html
diff --git a/src/compatibility/contact-us.jd b/en/compatibility/contact-us.html
similarity index 100%
rename from src/compatibility/contact-us.jd
rename to en/compatibility/contact-us.html
diff --git a/src/compatibility/cts/audio-framework.jd b/en/compatibility/cts/audio-framework.html
similarity index 100%
rename from src/compatibility/cts/audio-framework.jd
rename to en/compatibility/cts/audio-framework.html
diff --git a/src/compatibility/cts/camera-hal.jd b/en/compatibility/cts/camera-hal.html
similarity index 100%
rename from src/compatibility/cts/camera-hal.jd
rename to en/compatibility/cts/camera-hal.html
diff --git a/src/compatibility/cts/development.jd b/en/compatibility/cts/development.html
similarity index 100%
rename from src/compatibility/cts/development.jd
rename to en/compatibility/cts/development.html
diff --git a/src/compatibility/cts/downloads.jd b/en/compatibility/cts/downloads.html
similarity index 100%
rename from src/compatibility/cts/downloads.jd
rename to en/compatibility/cts/downloads.html
diff --git a/src/compatibility/cts/images/Near1.png b/en/compatibility/cts/images/Near1.png
similarity index 100%
rename from src/compatibility/cts/images/Near1.png
rename to en/compatibility/cts/images/Near1.png
Binary files differ
diff --git a/src/compatibility/cts/images/Near10.png b/en/compatibility/cts/images/Near10.png
similarity index 100%
rename from src/compatibility/cts/images/Near10.png
rename to en/compatibility/cts/images/Near10.png
Binary files differ
diff --git a/src/compatibility/cts/images/Near11.png b/en/compatibility/cts/images/Near11.png
similarity index 100%
rename from src/compatibility/cts/images/Near11.png
rename to en/compatibility/cts/images/Near11.png
Binary files differ
diff --git a/src/compatibility/cts/images/Near12.png b/en/compatibility/cts/images/Near12.png
similarity index 100%
rename from src/compatibility/cts/images/Near12.png
rename to en/compatibility/cts/images/Near12.png
Binary files differ
diff --git a/src/compatibility/cts/images/Near13.png b/en/compatibility/cts/images/Near13.png
similarity index 100%
rename from src/compatibility/cts/images/Near13.png
rename to en/compatibility/cts/images/Near13.png
Binary files differ
diff --git a/src/compatibility/cts/images/Near14.png b/en/compatibility/cts/images/Near14.png
similarity index 100%
rename from src/compatibility/cts/images/Near14.png
rename to en/compatibility/cts/images/Near14.png
Binary files differ
diff --git a/src/compatibility/cts/images/Near15.png b/en/compatibility/cts/images/Near15.png
similarity index 100%
rename from src/compatibility/cts/images/Near15.png
rename to en/compatibility/cts/images/Near15.png
Binary files differ
diff --git a/src/compatibility/cts/images/Near16.png b/en/compatibility/cts/images/Near16.png
similarity index 100%
rename from src/compatibility/cts/images/Near16.png
rename to en/compatibility/cts/images/Near16.png
Binary files differ
diff --git a/src/compatibility/cts/images/Near17.png b/en/compatibility/cts/images/Near17.png
similarity index 100%
rename from src/compatibility/cts/images/Near17.png
rename to en/compatibility/cts/images/Near17.png
Binary files differ
diff --git a/src/compatibility/cts/images/Near18.png b/en/compatibility/cts/images/Near18.png
similarity index 100%
rename from src/compatibility/cts/images/Near18.png
rename to en/compatibility/cts/images/Near18.png
Binary files differ
diff --git a/src/compatibility/cts/images/Near19.png b/en/compatibility/cts/images/Near19.png
similarity index 100%
rename from src/compatibility/cts/images/Near19.png
rename to en/compatibility/cts/images/Near19.png
Binary files differ
diff --git a/src/compatibility/cts/images/Near2.png b/en/compatibility/cts/images/Near2.png
similarity index 100%
rename from src/compatibility/cts/images/Near2.png
rename to en/compatibility/cts/images/Near2.png
Binary files differ
diff --git a/src/compatibility/cts/images/Near20.png b/en/compatibility/cts/images/Near20.png
similarity index 100%
rename from src/compatibility/cts/images/Near20.png
rename to en/compatibility/cts/images/Near20.png
Binary files differ
diff --git a/src/compatibility/cts/images/Near21.png b/en/compatibility/cts/images/Near21.png
similarity index 100%
rename from src/compatibility/cts/images/Near21.png
rename to en/compatibility/cts/images/Near21.png
Binary files differ
diff --git a/src/compatibility/cts/images/Near22.png b/en/compatibility/cts/images/Near22.png
similarity index 100%
rename from src/compatibility/cts/images/Near22.png
rename to en/compatibility/cts/images/Near22.png
Binary files differ
diff --git a/src/compatibility/cts/images/Near23.png b/en/compatibility/cts/images/Near23.png
similarity index 100%
rename from src/compatibility/cts/images/Near23.png
rename to en/compatibility/cts/images/Near23.png
Binary files differ
diff --git a/src/compatibility/cts/images/Near24.png b/en/compatibility/cts/images/Near24.png
similarity index 100%
rename from src/compatibility/cts/images/Near24.png
rename to en/compatibility/cts/images/Near24.png
Binary files differ
diff --git a/src/compatibility/cts/images/Near3.png b/en/compatibility/cts/images/Near3.png
similarity index 100%
rename from src/compatibility/cts/images/Near3.png
rename to en/compatibility/cts/images/Near3.png
Binary files differ
diff --git a/src/compatibility/cts/images/Near4.png b/en/compatibility/cts/images/Near4.png
similarity index 100%
rename from src/compatibility/cts/images/Near4.png
rename to en/compatibility/cts/images/Near4.png
Binary files differ
diff --git a/src/compatibility/cts/images/Near5.png b/en/compatibility/cts/images/Near5.png
similarity index 100%
rename from src/compatibility/cts/images/Near5.png
rename to en/compatibility/cts/images/Near5.png
Binary files differ
diff --git a/src/compatibility/cts/images/Near6.png b/en/compatibility/cts/images/Near6.png
similarity index 100%
rename from src/compatibility/cts/images/Near6.png
rename to en/compatibility/cts/images/Near6.png
Binary files differ
diff --git a/src/compatibility/cts/images/Near7.png b/en/compatibility/cts/images/Near7.png
similarity index 100%
rename from src/compatibility/cts/images/Near7.png
rename to en/compatibility/cts/images/Near7.png
Binary files differ
diff --git a/src/compatibility/cts/images/Near8.png b/en/compatibility/cts/images/Near8.png
similarity index 100%
rename from src/compatibility/cts/images/Near8.png
rename to en/compatibility/cts/images/Near8.png
Binary files differ
diff --git a/src/compatibility/cts/images/Near9.png b/en/compatibility/cts/images/Near9.png
similarity index 100%
rename from src/compatibility/cts/images/Near9.png
rename to en/compatibility/cts/images/Near9.png
Binary files differ
diff --git a/src/compatibility/cts/images/RVCVXCheck_down.png b/en/compatibility/cts/images/RVCVXCheck_down.png
similarity index 100%
rename from src/compatibility/cts/images/RVCVXCheck_down.png
rename to en/compatibility/cts/images/RVCVXCheck_down.png
Binary files differ
diff --git a/src/compatibility/cts/images/RVCVXCheck_flow.png b/en/compatibility/cts/images/RVCVXCheck_flow.png
similarity index 100%
rename from src/compatibility/cts/images/RVCVXCheck_flow.png
rename to en/compatibility/cts/images/RVCVXCheck_flow.png
Binary files differ
diff --git a/src/compatibility/cts/images/RVCVXCheck_next.png b/en/compatibility/cts/images/RVCVXCheck_next.png
similarity index 100%
rename from src/compatibility/cts/images/RVCVXCheck_next.png
rename to en/compatibility/cts/images/RVCVXCheck_next.png
Binary files differ
diff --git a/src/compatibility/cts/images/RVCVXCheck_pass.png b/en/compatibility/cts/images/RVCVXCheck_pass.png
similarity index 100%
rename from src/compatibility/cts/images/RVCVXCheck_pass.png
rename to en/compatibility/cts/images/RVCVXCheck_pass.png
Binary files differ
diff --git a/src/compatibility/cts/images/RVCVXCheck_start.png b/en/compatibility/cts/images/RVCVXCheck_start.png
similarity index 100%
rename from src/compatibility/cts/images/RVCVXCheck_start.png
rename to en/compatibility/cts/images/RVCVXCheck_start.png
Binary files differ
diff --git a/src/compatibility/cts/images/acircles_pattern.pdf b/en/compatibility/cts/images/acircles_pattern.pdf
similarity index 100%
rename from src/compatibility/cts/images/acircles_pattern.pdf
rename to en/compatibility/cts/images/acircles_pattern.pdf
Binary files differ
diff --git a/src/compatibility/cts/images/acircles_pattern_reduced.png b/en/compatibility/cts/images/acircles_pattern_reduced.png
similarity index 100%
rename from src/compatibility/cts/images/acircles_pattern_reduced.png
rename to en/compatibility/cts/images/acircles_pattern_reduced.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework-line-port.png b/en/compatibility/cts/images/audio-framework-line-port.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework-line-port.png
rename to en/compatibility/cts/images/audio-framework-line-port.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework-mic-port.png b/en/compatibility/cts/images/audio-framework-mic-port.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework-mic-port.png
rename to en/compatibility/cts/images/audio-framework-mic-port.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework-pass.png b/en/compatibility/cts/images/audio-framework-pass.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework-pass.png
rename to en/compatibility/cts/images/audio-framework-pass.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework-port.png b/en/compatibility/cts/images/audio-framework-port.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework-port.png
rename to en/compatibility/cts/images/audio-framework-port.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework0.png b/en/compatibility/cts/images/audio-framework0.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework0.png
rename to en/compatibility/cts/images/audio-framework0.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework1.png b/en/compatibility/cts/images/audio-framework1.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework1.png
rename to en/compatibility/cts/images/audio-framework1.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework10.png b/en/compatibility/cts/images/audio-framework10.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework10.png
rename to en/compatibility/cts/images/audio-framework10.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework11.png b/en/compatibility/cts/images/audio-framework11.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework11.png
rename to en/compatibility/cts/images/audio-framework11.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework12.png b/en/compatibility/cts/images/audio-framework12.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework12.png
rename to en/compatibility/cts/images/audio-framework12.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework13.png b/en/compatibility/cts/images/audio-framework13.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework13.png
rename to en/compatibility/cts/images/audio-framework13.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework14.png b/en/compatibility/cts/images/audio-framework14.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework14.png
rename to en/compatibility/cts/images/audio-framework14.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework15.png b/en/compatibility/cts/images/audio-framework15.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework15.png
rename to en/compatibility/cts/images/audio-framework15.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework16.png b/en/compatibility/cts/images/audio-framework16.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework16.png
rename to en/compatibility/cts/images/audio-framework16.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework17.png b/en/compatibility/cts/images/audio-framework17.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework17.png
rename to en/compatibility/cts/images/audio-framework17.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework18.png b/en/compatibility/cts/images/audio-framework18.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework18.png
rename to en/compatibility/cts/images/audio-framework18.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework19.png b/en/compatibility/cts/images/audio-framework19.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework19.png
rename to en/compatibility/cts/images/audio-framework19.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework2.png b/en/compatibility/cts/images/audio-framework2.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework2.png
rename to en/compatibility/cts/images/audio-framework2.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework20.png b/en/compatibility/cts/images/audio-framework20.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework20.png
rename to en/compatibility/cts/images/audio-framework20.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework21.png b/en/compatibility/cts/images/audio-framework21.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework21.png
rename to en/compatibility/cts/images/audio-framework21.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework22.png b/en/compatibility/cts/images/audio-framework22.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework22.png
rename to en/compatibility/cts/images/audio-framework22.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework23.png b/en/compatibility/cts/images/audio-framework23.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework23.png
rename to en/compatibility/cts/images/audio-framework23.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework24.png b/en/compatibility/cts/images/audio-framework24.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework24.png
rename to en/compatibility/cts/images/audio-framework24.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework25.png b/en/compatibility/cts/images/audio-framework25.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework25.png
rename to en/compatibility/cts/images/audio-framework25.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework26.png b/en/compatibility/cts/images/audio-framework26.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework26.png
rename to en/compatibility/cts/images/audio-framework26.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework27.png b/en/compatibility/cts/images/audio-framework27.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework27.png
rename to en/compatibility/cts/images/audio-framework27.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework28.png b/en/compatibility/cts/images/audio-framework28.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework28.png
rename to en/compatibility/cts/images/audio-framework28.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework29.png b/en/compatibility/cts/images/audio-framework29.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework29.png
rename to en/compatibility/cts/images/audio-framework29.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework3.png b/en/compatibility/cts/images/audio-framework3.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework3.png
rename to en/compatibility/cts/images/audio-framework3.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework30.png b/en/compatibility/cts/images/audio-framework30.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework30.png
rename to en/compatibility/cts/images/audio-framework30.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework31.png b/en/compatibility/cts/images/audio-framework31.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework31.png
rename to en/compatibility/cts/images/audio-framework31.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework32.png b/en/compatibility/cts/images/audio-framework32.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework32.png
rename to en/compatibility/cts/images/audio-framework32.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework33.png b/en/compatibility/cts/images/audio-framework33.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework33.png
rename to en/compatibility/cts/images/audio-framework33.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework34.jpg b/en/compatibility/cts/images/audio-framework34.jpg
similarity index 100%
rename from src/compatibility/cts/images/audio-framework34.jpg
rename to en/compatibility/cts/images/audio-framework34.jpg
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework35.png b/en/compatibility/cts/images/audio-framework35.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework35.png
rename to en/compatibility/cts/images/audio-framework35.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework36.png b/en/compatibility/cts/images/audio-framework36.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework36.png
rename to en/compatibility/cts/images/audio-framework36.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework37.png b/en/compatibility/cts/images/audio-framework37.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework37.png
rename to en/compatibility/cts/images/audio-framework37.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework38.png b/en/compatibility/cts/images/audio-framework38.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework38.png
rename to en/compatibility/cts/images/audio-framework38.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework39.png b/en/compatibility/cts/images/audio-framework39.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework39.png
rename to en/compatibility/cts/images/audio-framework39.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework4.png b/en/compatibility/cts/images/audio-framework4.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework4.png
rename to en/compatibility/cts/images/audio-framework4.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework40.png b/en/compatibility/cts/images/audio-framework40.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework40.png
rename to en/compatibility/cts/images/audio-framework40.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework5.png b/en/compatibility/cts/images/audio-framework5.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework5.png
rename to en/compatibility/cts/images/audio-framework5.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework6.png b/en/compatibility/cts/images/audio-framework6.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework6.png
rename to en/compatibility/cts/images/audio-framework6.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework7.png b/en/compatibility/cts/images/audio-framework7.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework7.png
rename to en/compatibility/cts/images/audio-framework7.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework8.png b/en/compatibility/cts/images/audio-framework8.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework8.png
rename to en/compatibility/cts/images/audio-framework8.png
Binary files differ
diff --git a/src/compatibility/cts/images/audio-framework9.png b/en/compatibility/cts/images/audio-framework9.png
similarity index 100%
rename from src/compatibility/cts/images/audio-framework9.png
rename to en/compatibility/cts/images/audio-framework9.png
Binary files differ
diff --git a/src/compatibility/cts/images/camera-printed-target.png b/en/compatibility/cts/images/camera-printed-target.png
similarity index 100%
rename from src/compatibility/cts/images/camera-printed-target.png
rename to en/compatibility/cts/images/camera-printed-target.png
Binary files differ
diff --git a/src/compatibility/cts/images/cts-0.png b/en/compatibility/cts/images/cts-0.png
similarity index 100%
rename from src/compatibility/cts/images/cts-0.png
rename to en/compatibility/cts/images/cts-0.png
Binary files differ
diff --git a/src/compatibility/cts/images/cts-test-report.png b/en/compatibility/cts/images/cts-test-report.png
similarity index 100%
rename from src/compatibility/cts/images/cts-test-report.png
rename to en/compatibility/cts/images/cts-test-report.png
Binary files differ
diff --git a/src/compatibility/cts/images/cts-test-summary.png b/en/compatibility/cts/images/cts-test-summary.png
similarity index 100%
rename from src/compatibility/cts/images/cts-test-summary.png
rename to en/compatibility/cts/images/cts-test-summary.png
Binary files differ
diff --git a/src/compatibility/cts/images/cts-v2-test-report.png b/en/compatibility/cts/images/cts-v2-test-report.png
similarity index 100%
rename from src/compatibility/cts/images/cts-v2-test-report.png
rename to en/compatibility/cts/images/cts-v2-test-report.png
Binary files differ
diff --git a/src/compatibility/cts/images/cts-v2-test-summary.png b/en/compatibility/cts/images/cts-v2-test-summary.png
similarity index 100%
rename from src/compatibility/cts/images/cts-v2-test-summary.png
rename to en/compatibility/cts/images/cts-v2-test-summary.png
Binary files differ
diff --git a/src/compatibility/cts/images/cts-verifier-icon.png b/en/compatibility/cts/images/cts-verifier-icon.png
similarity index 100%
rename from src/compatibility/cts/images/cts-verifier-icon.png
rename to en/compatibility/cts/images/cts-verifier-icon.png
Binary files differ
diff --git a/src/compatibility/cts/images/cts-verifier-menu.png b/en/compatibility/cts/images/cts-verifier-menu.png
similarity index 100%
rename from src/compatibility/cts/images/cts-verifier-menu.png
rename to en/compatibility/cts/images/cts-verifier-menu.png
Binary files differ
diff --git a/src/compatibility/cts/images/openvc-play.png b/en/compatibility/cts/images/openvc-play.png
similarity index 100%
rename from src/compatibility/cts/images/openvc-play.png
rename to en/compatibility/cts/images/openvc-play.png
Binary files differ
diff --git a/src/compatibility/cts/images/path-saved-report.png b/en/compatibility/cts/images/path-saved-report.png
similarity index 100%
rename from src/compatibility/cts/images/path-saved-report.png
rename to en/compatibility/cts/images/path-saved-report.png
Binary files differ
diff --git a/src/compatibility/cts/images/screen-lock-test.png b/en/compatibility/cts/images/screen-lock-test.png
similarity index 100%
rename from src/compatibility/cts/images/screen-lock-test.png
rename to en/compatibility/cts/images/screen-lock-test.png
Binary files differ
diff --git a/src/compatibility/cts/images/verifier-preview-icon.png b/en/compatibility/cts/images/verifier-preview-icon.png
similarity index 100%
rename from src/compatibility/cts/images/verifier-preview-icon.png
rename to en/compatibility/cts/images/verifier-preview-icon.png
Binary files differ
diff --git a/src/compatibility/cts/images/verifier-save-icon.png b/en/compatibility/cts/images/verifier-save-icon.png
similarity index 100%
rename from src/compatibility/cts/images/verifier-save-icon.png
rename to en/compatibility/cts/images/verifier-save-icon.png
Binary files differ
diff --git a/src/compatibility/cts/images/video-verifier.png b/en/compatibility/cts/images/video-verifier.png
similarity index 100%
rename from src/compatibility/cts/images/video-verifier.png
rename to en/compatibility/cts/images/video-verifier.png
Binary files differ
diff --git a/src/compatibility/cts/index.jd b/en/compatibility/cts/index.html
similarity index 100%
rename from src/compatibility/cts/index.jd
rename to en/compatibility/cts/index.html
diff --git a/src/compatibility/cts/interpret.jd b/en/compatibility/cts/interpret.html
similarity index 100%
rename from src/compatibility/cts/interpret.jd
rename to en/compatibility/cts/interpret.html
diff --git a/src/compatibility/cts/near-ultrasound.jd b/en/compatibility/cts/near-ultrasound.html
similarity index 100%
rename from src/compatibility/cts/near-ultrasound.jd
rename to en/compatibility/cts/near-ultrasound.html
diff --git a/src/compatibility/cts/rotation-vector.jd b/en/compatibility/cts/rotation-vector.html
similarity index 100%
rename from src/compatibility/cts/rotation-vector.jd
rename to en/compatibility/cts/rotation-vector.html
diff --git a/src/compatibility/cts/run.jd b/en/compatibility/cts/run.html
similarity index 100%
rename from src/compatibility/cts/run.jd
rename to en/compatibility/cts/run.html
diff --git a/src/compatibility/cts/setup.jd b/en/compatibility/cts/setup.html
similarity index 100%
rename from src/compatibility/cts/setup.jd
rename to en/compatibility/cts/setup.html
diff --git a/src/compatibility/cts/verifier.jd b/en/compatibility/cts/verifier.html
similarity index 100%
rename from src/compatibility/cts/verifier.jd
rename to en/compatibility/cts/verifier.html
diff --git a/src/compatibility/images/compat-ecosystem.png b/en/compatibility/images/compat-ecosystem.png
similarity index 100%
rename from src/compatibility/images/compat-ecosystem.png
rename to en/compatibility/images/compat-ecosystem.png
Binary files differ
diff --git a/src/compatibility/index.jd b/en/compatibility/index.html
similarity index 100%
rename from src/compatibility/index.jd
rename to en/compatibility/index.html
diff --git a/src/compatibility/ndef-push-protocol.pdf b/en/compatibility/ndef-push-protocol.pdf
similarity index 100%
rename from src/compatibility/ndef-push-protocol.pdf
rename to en/compatibility/ndef-push-protocol.pdf
diff --git a/src/compatibility/overview.jd b/en/compatibility/overview.html
similarity index 100%
rename from src/compatibility/overview.jd
rename to en/compatibility/overview.html
diff --git a/src/compatibility/source/android-cdd-cover.css b/en/compatibility/source/android-cdd-cover.css
similarity index 100%
rename from src/compatibility/source/android-cdd-cover.css
rename to en/compatibility/source/android-cdd-cover.css
diff --git a/src/compatibility/source/android-cdd-cover.html b/en/compatibility/source/android-cdd-cover.html
similarity index 100%
rename from src/compatibility/source/android-cdd-cover.html
rename to en/compatibility/source/android-cdd-cover.html
diff --git a/src/compatibility/source/android-cdd-footer.html b/en/compatibility/source/android-cdd-footer.html
similarity index 100%
rename from src/compatibility/source/android-cdd-footer.html
rename to en/compatibility/source/android-cdd-footer.html
diff --git a/src/compatibility/source/android-cdd.css b/en/compatibility/source/android-cdd.css
similarity index 100%
rename from src/compatibility/source/android-cdd.css
rename to en/compatibility/source/android-cdd.css
diff --git a/src/compatibility/source/images/android-logo.png b/en/compatibility/source/images/android-logo.png
similarity index 100%
rename from src/compatibility/source/images/android-logo.png
rename to en/compatibility/source/images/android-logo.png
Binary files differ
diff --git a/src/compatibility/source/images/android-lollipop-mr1.jpg b/en/compatibility/source/images/android-lollipop-mr1.jpg
similarity index 100%
rename from src/compatibility/source/images/android-lollipop-mr1.jpg
rename to en/compatibility/source/images/android-lollipop-mr1.jpg
Binary files differ
diff --git a/src/compatibility/source/images/android-lollipop.jpg b/en/compatibility/source/images/android-lollipop.jpg
similarity index 100%
rename from src/compatibility/source/images/android-lollipop.jpg
rename to en/compatibility/source/images/android-lollipop.jpg
Binary files differ
diff --git a/src/compatibility/source/images/android-marshmallow-1.png b/en/compatibility/source/images/android-marshmallow-1.png
similarity index 100%
rename from src/compatibility/source/images/android-marshmallow-1.png
rename to en/compatibility/source/images/android-marshmallow-1.png
Binary files differ
diff --git a/src/compatibility/source/images/android-marshmallow.png b/en/compatibility/source/images/android-marshmallow.png
similarity index 100%
rename from src/compatibility/source/images/android-marshmallow.png
rename to en/compatibility/source/images/android-marshmallow.png
Binary files differ
diff --git a/src/compatibility/source/images/android-nougat-dark.png b/en/compatibility/source/images/android-nougat-dark.png
similarity index 100%
rename from src/compatibility/source/images/android-nougat-dark.png
rename to en/compatibility/source/images/android-nougat-dark.png
Binary files differ
diff --git a/src/compatibility/source/images/android-nougat-light.png b/en/compatibility/source/images/android-nougat-light.png
similarity index 100%
rename from src/compatibility/source/images/android-nougat-light.png
rename to en/compatibility/source/images/android-nougat-light.png
Binary files differ
diff --git a/src/devices/Android-5.0-Bluetooth-HCI-Reqs.pdf b/en/devices/Android-5.0-Bluetooth-HCI-Reqs.pdf
similarity index 100%
rename from src/devices/Android-5.0-Bluetooth-HCI-Reqs.pdf
rename to en/devices/Android-5.0-Bluetooth-HCI-Reqs.pdf
Binary files differ
diff --git a/src/devices/Android-6.0-Bluetooth-HCI-Reqs.pdf b/en/devices/Android-6.0-Bluetooth-HCI-Reqs.pdf
similarity index 100%
rename from src/devices/Android-6.0-Bluetooth-HCI-Reqs.pdf
rename to en/devices/Android-6.0-Bluetooth-HCI-Reqs.pdf
Binary files differ
diff --git a/src/devices/devices_toc.cs b/en/devices/_toc-interfaces.yaml
similarity index 100%
rename from src/devices/devices_toc.cs
rename to en/devices/_toc-interfaces.yaml
diff --git a/src/devices/accessories/aoa.jd b/en/devices/accessories/aoa.html
similarity index 100%
rename from src/devices/accessories/aoa.jd
rename to en/devices/accessories/aoa.html
diff --git a/src/devices/accessories/aoa2.jd b/en/devices/accessories/aoa2.html
similarity index 100%
rename from src/devices/accessories/aoa2.jd
rename to en/devices/accessories/aoa2.html
diff --git a/src/devices/accessories/audio.jd b/en/devices/accessories/audio.html
similarity index 100%
rename from src/devices/accessories/audio.jd
rename to en/devices/accessories/audio.html
diff --git a/src/devices/accessories/custom.jd b/en/devices/accessories/custom.html
similarity index 100%
rename from src/devices/accessories/custom.jd
rename to en/devices/accessories/custom.html
diff --git a/src/devices/accessories/headset/expected-behavior.jd b/en/devices/accessories/headset/expected-behavior.html
similarity index 100%
rename from src/devices/accessories/headset/expected-behavior.jd
rename to en/devices/accessories/headset/expected-behavior.html
diff --git a/src/devices/accessories/headset/images/button_configuration.png b/en/devices/accessories/headset/images/button_configuration.png
similarity index 100%
rename from src/devices/accessories/headset/images/button_configuration.png
rename to en/devices/accessories/headset/images/button_configuration.png
Binary files differ
diff --git a/src/devices/accessories/headset/images/button_icons.png b/en/devices/accessories/headset/images/button_icons.png
similarity index 100%
rename from src/devices/accessories/headset/images/button_icons.png
rename to en/devices/accessories/headset/images/button_icons.png
Binary files differ
diff --git a/src/devices/accessories/headset/images/button_spacing.png b/en/devices/accessories/headset/images/button_spacing.png
similarity index 100%
rename from src/devices/accessories/headset/images/button_spacing.png
rename to en/devices/accessories/headset/images/button_spacing.png
Binary files differ
diff --git a/src/devices/accessories/headset/images/headset-circuit1.png b/en/devices/accessories/headset/images/headset-circuit1.png
similarity index 100%
rename from src/devices/accessories/headset/images/headset-circuit1.png
rename to en/devices/accessories/headset/images/headset-circuit1.png
Binary files differ
diff --git a/src/devices/accessories/headset/images/headset-circuit2.png b/en/devices/accessories/headset/images/headset-circuit2.png
similarity index 100%
rename from src/devices/accessories/headset/images/headset-circuit2.png
rename to en/devices/accessories/headset/images/headset-circuit2.png
Binary files differ
diff --git a/src/devices/accessories/headset/images/icon_sizing.png b/en/devices/accessories/headset/images/icon_sizing.png
similarity index 100%
rename from src/devices/accessories/headset/images/icon_sizing.png
rename to en/devices/accessories/headset/images/icon_sizing.png
Binary files differ
diff --git a/src/devices/accessories/headset/images/media_four.png b/en/devices/accessories/headset/images/media_four.png
similarity index 100%
rename from src/devices/accessories/headset/images/media_four.png
rename to en/devices/accessories/headset/images/media_four.png
Binary files differ
diff --git a/src/devices/accessories/headset/images/media_one.png b/en/devices/accessories/headset/images/media_one.png
similarity index 100%
rename from src/devices/accessories/headset/images/media_one.png
rename to en/devices/accessories/headset/images/media_one.png
Binary files differ
diff --git a/src/devices/accessories/headset/images/media_three.png b/en/devices/accessories/headset/images/media_three.png
similarity index 100%
rename from src/devices/accessories/headset/images/media_three.png
rename to en/devices/accessories/headset/images/media_three.png
Binary files differ
diff --git a/src/devices/accessories/headset/images/media_two.png b/en/devices/accessories/headset/images/media_two.png
similarity index 100%
rename from src/devices/accessories/headset/images/media_two.png
rename to en/devices/accessories/headset/images/media_two.png
Binary files differ
diff --git a/src/devices/accessories/headset/images/microphone.png b/en/devices/accessories/headset/images/microphone.png
similarity index 100%
rename from src/devices/accessories/headset/images/microphone.png
rename to en/devices/accessories/headset/images/microphone.png
Binary files differ
diff --git a/src/devices/accessories/headset/images/telephony_four.png b/en/devices/accessories/headset/images/telephony_four.png
similarity index 100%
rename from src/devices/accessories/headset/images/telephony_four.png
rename to en/devices/accessories/headset/images/telephony_four.png
Binary files differ
diff --git a/src/devices/accessories/headset/images/telephony_one.png b/en/devices/accessories/headset/images/telephony_one.png
similarity index 100%
rename from src/devices/accessories/headset/images/telephony_one.png
rename to en/devices/accessories/headset/images/telephony_one.png
Binary files differ
diff --git a/src/devices/accessories/headset/images/telephony_three.png b/en/devices/accessories/headset/images/telephony_three.png
similarity index 100%
rename from src/devices/accessories/headset/images/telephony_three.png
rename to en/devices/accessories/headset/images/telephony_three.png
Binary files differ
diff --git a/src/devices/accessories/headset/images/telephony_two.png b/en/devices/accessories/headset/images/telephony_two.png
similarity index 100%
rename from src/devices/accessories/headset/images/telephony_two.png
rename to en/devices/accessories/headset/images/telephony_two.png
Binary files differ
diff --git a/src/devices/accessories/headset/index.jd b/en/devices/accessories/headset/index.html
similarity index 100%
rename from src/devices/accessories/headset/index.jd
rename to en/devices/accessories/headset/index.html
diff --git a/src/devices/accessories/headset/jack-headset-spec.jd b/en/devices/accessories/headset/jack-headset-spec.html
similarity index 100%
rename from src/devices/accessories/headset/jack-headset-spec.jd
rename to en/devices/accessories/headset/jack-headset-spec.html
diff --git a/src/devices/accessories/headset/plug-headset-spec.jd b/en/devices/accessories/headset/plug-headset-spec.html
similarity index 100%
rename from src/devices/accessories/headset/plug-headset-spec.jd
rename to en/devices/accessories/headset/plug-headset-spec.html
diff --git a/src/devices/accessories/headset/testing.jd b/en/devices/accessories/headset/testing.html
similarity index 100%
rename from src/devices/accessories/headset/testing.jd
rename to en/devices/accessories/headset/testing.html
diff --git a/src/devices/accessories/headset/usb-headset-spec.jd b/en/devices/accessories/headset/usb-headset-spec.html
similarity index 100%
rename from src/devices/accessories/headset/usb-headset-spec.jd
rename to en/devices/accessories/headset/usb-headset-spec.html
diff --git a/src/devices/accessories/index.jd b/en/devices/accessories/index.html
similarity index 100%
rename from src/devices/accessories/index.jd
rename to en/devices/accessories/index.html
diff --git a/src/devices/accessories/protocol.jd b/en/devices/accessories/protocol.html
similarity index 100%
rename from src/devices/accessories/protocol.jd
rename to en/devices/accessories/protocol.html
diff --git a/src/devices/accessories/stylus.jd b/en/devices/accessories/stylus.html
similarity index 100%
rename from src/devices/accessories/stylus.jd
rename to en/devices/accessories/stylus.html
diff --git a/src/devices/audio/attributes.jd b/en/devices/audio/attributes.html
similarity index 100%
rename from src/devices/audio/attributes.jd
rename to en/devices/audio/attributes.html
diff --git a/src/devices/audio/avoiding_pi.jd b/en/devices/audio/avoiding_pi.html
similarity index 100%
rename from src/devices/audio/avoiding_pi.jd
rename to en/devices/audio/avoiding_pi.html
diff --git a/src/devices/audio/data_formats.jd b/en/devices/audio/data_formats.html
similarity index 100%
rename from src/devices/audio/data_formats.jd
rename to en/devices/audio/data_formats.html
diff --git a/src/devices/audio/debugging.jd b/en/devices/audio/debugging.html
similarity index 100%
rename from src/devices/audio/debugging.jd
rename to en/devices/audio/debugging.html
diff --git a/src/devices/audio/images/ape_audio_tv_hdmi_tuner.png b/en/devices/audio/images/ape_audio_tv_hdmi_tuner.png
similarity index 100%
rename from src/devices/audio/images/ape_audio_tv_hdmi_tuner.png
rename to en/devices/audio/images/ape_audio_tv_hdmi_tuner.png
Binary files differ
diff --git a/src/devices/audio/images/ape_audio_tv_tif.png b/en/devices/audio/images/ape_audio_tv_tif.png
similarity index 100%
rename from src/devices/audio/images/ape_audio_tv_tif.png
rename to en/devices/audio/images/ape_audio_tv_tif.png
Binary files differ
diff --git a/src/devices/audio/images/ape_audio_tv_tuner.png b/en/devices/audio/images/ape_audio_tv_tuner.png
similarity index 100%
rename from src/devices/audio/images/ape_audio_tv_tuner.png
rename to en/devices/audio/images/ape_audio_tv_tuner.png
Binary files differ
diff --git a/src/devices/audio/images/ape_fwk_audio.png b/en/devices/audio/images/ape_fwk_audio.png
similarity index 100%
rename from src/devices/audio/images/ape_fwk_audio.png
rename to en/devices/audio/images/ape_fwk_audio.png
Binary files differ
diff --git a/src/devices/audio/images/ape_fwk_hal_audio.png b/en/devices/audio/images/ape_fwk_hal_audio.png
similarity index 100%
rename from src/devices/audio/images/ape_fwk_hal_audio.png
rename to en/devices/audio/images/ape_fwk_hal_audio.png
Binary files differ
diff --git a/src/devices/audio/images/audio_hal.png b/en/devices/audio/images/audio_hal.png
similarity index 100%
rename from src/devices/audio/images/audio_hal.png
rename to en/devices/audio/images/audio_hal.png
Binary files differ
diff --git a/src/devices/audio/images/breadboard.jpg b/en/devices/audio/images/breadboard.jpg
similarity index 100%
rename from src/devices/audio/images/breadboard.jpg
rename to en/devices/audio/images/breadboard.jpg
Binary files differ
diff --git a/src/devices/audio/images/dac.png b/en/devices/audio/images/dac.png
similarity index 100%
rename from src/devices/audio/images/dac.png
rename to en/devices/audio/images/dac.png
Binary files differ
diff --git a/src/devices/audio/images/display.jpg b/en/devices/audio/images/display.jpg
similarity index 100%
rename from src/devices/audio/images/display.jpg
rename to en/devices/audio/images/display.jpg
Binary files differ
diff --git a/src/devices/audio/images/hub.jpg b/en/devices/audio/images/hub.jpg
similarity index 100%
rename from src/devices/audio/images/hub.jpg
rename to en/devices/audio/images/hub.jpg
Binary files differ
diff --git a/src/devices/audio/images/loopback_assembled.jpg b/en/devices/audio/images/loopback_assembled.jpg
similarity index 100%
rename from src/devices/audio/images/loopback_assembled.jpg
rename to en/devices/audio/images/loopback_assembled.jpg
Binary files differ
diff --git a/src/devices/audio/images/loopback_circuit.png b/en/devices/audio/images/loopback_circuit.png
similarity index 100%
rename from src/devices/audio/images/loopback_circuit.png
rename to en/devices/audio/images/loopback_circuit.png
Binary files differ
diff --git a/src/devices/audio/images/medialog_after.png b/en/devices/audio/images/medialog_after.png
similarity index 100%
rename from src/devices/audio/images/medialog_after.png
rename to en/devices/audio/images/medialog_after.png
Binary files differ
diff --git a/src/devices/audio/images/medialog_before.png b/en/devices/audio/images/medialog_before.png
similarity index 100%
rename from src/devices/audio/images/medialog_before.png
rename to en/devices/audio/images/medialog_before.png
Binary files differ
diff --git a/src/devices/audio/images/otg.jpg b/en/devices/audio/images/otg.jpg
similarity index 100%
rename from src/devices/audio/images/otg.jpg
rename to en/devices/audio/images/otg.jpg
Binary files differ
diff --git a/src/devices/audio/images/pcb.jpg b/en/devices/audio/images/pcb.jpg
similarity index 100%
rename from src/devices/audio/images/pcb.jpg
rename to en/devices/audio/images/pcb.jpg
Binary files differ
diff --git a/src/devices/audio/images/round_trip.png b/en/devices/audio/images/round_trip.png
similarity index 100%
rename from src/devices/audio/images/round_trip.png
rename to en/devices/audio/images/round_trip.png
Binary files differ
diff --git a/src/devices/audio/images/round_trip_bar_graph.png b/en/devices/audio/images/round_trip_bar_graph.png
similarity index 100%
rename from src/devices/audio/images/round_trip_bar_graph.png
rename to en/devices/audio/images/round_trip_bar_graph.png
Binary files differ
diff --git a/src/devices/audio/images/round_trip_on_device.png b/en/devices/audio/images/round_trip_on_device.png
similarity index 100%
rename from src/devices/audio/images/round_trip_on_device.png
rename to en/devices/audio/images/round_trip_on_device.png
Binary files differ
diff --git a/src/devices/audio/images/round_trip_via_headset_connector.png b/en/devices/audio/images/round_trip_via_headset_connector.png
similarity index 100%
rename from src/devices/audio/images/round_trip_via_headset_connector.png
rename to en/devices/audio/images/round_trip_via_headset_connector.png
Binary files differ
diff --git a/src/devices/audio/images/venn.png b/en/devices/audio/images/venn.png
similarity index 100%
rename from src/devices/audio/images/venn.png
rename to en/devices/audio/images/venn.png
Binary files differ
diff --git a/src/devices/audio/implement-policy.jd b/en/devices/audio/implement-policy.html
similarity index 100%
rename from src/devices/audio/implement-policy.jd
rename to en/devices/audio/implement-policy.html
diff --git a/src/devices/audio/implement-pre-processing.jd b/en/devices/audio/implement-pre-processing.html
similarity index 100%
rename from src/devices/audio/implement-pre-processing.jd
rename to en/devices/audio/implement-pre-processing.html
diff --git a/src/devices/audio/implement-shared-library.jd b/en/devices/audio/implement-shared-library.html
similarity index 100%
rename from src/devices/audio/implement-shared-library.jd
rename to en/devices/audio/implement-shared-library.html
diff --git a/src/devices/audio/implement.jd b/en/devices/audio/implement.html
similarity index 100%
rename from src/devices/audio/implement.jd
rename to en/devices/audio/implement.html
diff --git a/src/devices/audio/index.jd b/en/devices/audio/index.html
similarity index 100%
rename from src/devices/audio/index.jd
rename to en/devices/audio/index.html
diff --git a/src/devices/audio/latency.jd b/en/devices/audio/latency.html
similarity index 100%
rename from src/devices/audio/latency.jd
rename to en/devices/audio/latency.html
diff --git a/src/devices/audio/latency_app.jd b/en/devices/audio/latency_app.html
similarity index 100%
rename from src/devices/audio/latency_app.jd
rename to en/devices/audio/latency_app.html
diff --git a/src/devices/audio/latency_contrib.jd b/en/devices/audio/latency_contrib.html
similarity index 100%
rename from src/devices/audio/latency_contrib.jd
rename to en/devices/audio/latency_contrib.html
diff --git a/src/devices/audio/latency_design.jd b/en/devices/audio/latency_design.html
similarity index 100%
rename from src/devices/audio/latency_design.jd
rename to en/devices/audio/latency_design.html
diff --git a/src/devices/audio/latency_measure.jd b/en/devices/audio/latency_measure.html
similarity index 100%
rename from src/devices/audio/latency_measure.jd
rename to en/devices/audio/latency_measure.html
diff --git a/src/devices/audio/latency_measurements.jd b/en/devices/audio/latency_measurements.html
similarity index 100%
rename from src/devices/audio/latency_measurements.jd
rename to en/devices/audio/latency_measurements.html
diff --git a/src/devices/audio/loopback.jd b/en/devices/audio/loopback.html
similarity index 100%
rename from src/devices/audio/loopback.jd
rename to en/devices/audio/loopback.html
diff --git a/src/devices/audio/midi.jd b/en/devices/audio/midi.html
similarity index 100%
rename from src/devices/audio/midi.jd
rename to en/devices/audio/midi.html
diff --git a/src/devices/audio/midi_arch.jd b/en/devices/audio/midi_arch.html
similarity index 100%
rename from src/devices/audio/midi_arch.jd
rename to en/devices/audio/midi_arch.html
diff --git a/src/devices/audio/midi_test.jd b/en/devices/audio/midi_test.html
similarity index 100%
rename from src/devices/audio/midi_test.jd
rename to en/devices/audio/midi_test.html
diff --git a/src/devices/audio/src.jd b/en/devices/audio/src.html
similarity index 100%
rename from src/devices/audio/src.jd
rename to en/devices/audio/src.html
diff --git a/src/devices/audio/terminology.jd b/en/devices/audio/terminology.html
similarity index 100%
rename from src/devices/audio/terminology.jd
rename to en/devices/audio/terminology.html
diff --git a/src/devices/audio/testing_circuit.jd b/en/devices/audio/testing_circuit.html
similarity index 100%
rename from src/devices/audio/testing_circuit.jd
rename to en/devices/audio/testing_circuit.html
diff --git a/src/devices/audio/tv.jd b/en/devices/audio/tv.html
similarity index 100%
rename from src/devices/audio/tv.jd
rename to en/devices/audio/tv.html
diff --git a/src/devices/audio/usb.jd b/en/devices/audio/usb.html
similarity index 100%
rename from src/devices/audio/usb.jd
rename to en/devices/audio/usb.html
diff --git a/src/devices/audio/warmup.jd b/en/devices/audio/warmup.html
similarity index 100%
rename from src/devices/audio/warmup.jd
rename to en/devices/audio/warmup.html
diff --git a/src/devices/automotive.jd b/en/devices/automotive.html
similarity index 100%
rename from src/devices/automotive.jd
rename to en/devices/automotive.html
diff --git a/src/devices/bluetooth.jd b/en/devices/bluetooth.html
similarity index 100%
rename from src/devices/bluetooth.jd
rename to en/devices/bluetooth.html
diff --git a/src/devices/camera/camera3.jd b/en/devices/camera/camera3.html
similarity index 100%
rename from src/devices/camera/camera3.jd
rename to en/devices/camera/camera3.html
diff --git a/src/devices/camera/camera3_3Amodes.jd b/en/devices/camera/camera3_3Amodes.html
similarity index 100%
rename from src/devices/camera/camera3_3Amodes.jd
rename to en/devices/camera/camera3_3Amodes.html
diff --git a/src/devices/camera/camera3_crop_reprocess.jd b/en/devices/camera/camera3_crop_reprocess.html
similarity index 100%
rename from src/devices/camera/camera3_crop_reprocess.jd
rename to en/devices/camera/camera3_crop_reprocess.html
diff --git a/src/devices/camera/camera3_error_stream.jd b/en/devices/camera/camera3_error_stream.html
similarity index 100%
rename from src/devices/camera/camera3_error_stream.jd
rename to en/devices/camera/camera3_error_stream.html
diff --git a/src/devices/camera/camera3_metadata.jd b/en/devices/camera/camera3_metadata.html
similarity index 100%
rename from src/devices/camera/camera3_metadata.jd
rename to en/devices/camera/camera3_metadata.html
diff --git a/src/devices/camera/camera3_requests_hal.jd b/en/devices/camera/camera3_requests_hal.html
similarity index 100%
rename from src/devices/camera/camera3_requests_hal.jd
rename to en/devices/camera/camera3_requests_hal.html
diff --git a/src/devices/camera/camera3_requests_methods.jd b/en/devices/camera/camera3_requests_methods.html
similarity index 100%
rename from src/devices/camera/camera3_requests_methods.jd
rename to en/devices/camera/camera3_requests_methods.html
diff --git a/src/devices/camera/images/ape_camera_n_api1_hal1.png b/en/devices/camera/images/ape_camera_n_api1_hal1.png
similarity index 100%
rename from src/devices/camera/images/ape_camera_n_api1_hal1.png
rename to en/devices/camera/images/ape_camera_n_api1_hal1.png
Binary files differ
diff --git a/src/devices/camera/images/ape_camera_n_api1_hal3.png b/en/devices/camera/images/ape_camera_n_api1_hal3.png
similarity index 100%
rename from src/devices/camera/images/ape_camera_n_api1_hal3.png
rename to en/devices/camera/images/ape_camera_n_api1_hal3.png
Binary files differ
diff --git a/src/devices/camera/images/ape_camera_n_api2_hal3.png b/en/devices/camera/images/ape_camera_n_api2_hal3.png
similarity index 100%
rename from src/devices/camera/images/ape_camera_n_api2_hal3.png
rename to en/devices/camera/images/ape_camera_n_api2_hal3.png
Binary files differ
diff --git a/src/devices/camera/images/ape_fwk_camera.png b/en/devices/camera/images/ape_fwk_camera.png
similarity index 100%
rename from src/devices/camera/images/ape_fwk_camera.png
rename to en/devices/camera/images/ape_fwk_camera.png
Binary files differ
diff --git a/src/devices/camera/images/ape_fwk_hal_camera.png b/en/devices/camera/images/ape_fwk_hal_camera.png
similarity index 100%
rename from src/devices/camera/images/ape_fwk_hal_camera.png
rename to en/devices/camera/images/ape_fwk_hal_camera.png
Binary files differ
diff --git a/src/devices/camera/images/camera-hal-overview.png b/en/devices/camera/images/camera-hal-overview.png
similarity index 100%
rename from src/devices/camera/images/camera-hal-overview.png
rename to en/devices/camera/images/camera-hal-overview.png
Binary files differ
diff --git a/src/devices/camera/images/camera-ops-flow.png b/en/devices/camera/images/camera-ops-flow.png
similarity index 100%
rename from src/devices/camera/images/camera-ops-flow.png
rename to en/devices/camera/images/camera-ops-flow.png
Binary files differ
diff --git a/src/devices/camera/images/camera2_block.png b/en/devices/camera/images/camera2_block.png
similarity index 100%
rename from src/devices/camera/images/camera2_block.png
rename to en/devices/camera/images/camera2_block.png
Binary files differ
diff --git a/src/devices/camera/images/camera2_hal.png b/en/devices/camera/images/camera2_hal.png
similarity index 100%
rename from src/devices/camera/images/camera2_hal.png
rename to en/devices/camera/images/camera2_hal.png
Binary files differ
diff --git a/src/devices/camera/images/camera_block.png b/en/devices/camera/images/camera_block.png
similarity index 100%
rename from src/devices/camera/images/camera_block.png
rename to en/devices/camera/images/camera_block.png
Binary files differ
diff --git a/src/devices/camera/images/camera_hal.png b/en/devices/camera/images/camera_hal.png
similarity index 100%
rename from src/devices/camera/images/camera_hal.png
rename to en/devices/camera/images/camera_hal.png
Binary files differ
diff --git a/src/devices/camera/images/camera_model.png b/en/devices/camera/images/camera_model.png
similarity index 100%
rename from src/devices/camera/images/camera_model.png
rename to en/devices/camera/images/camera_model.png
Binary files differ
diff --git a/src/devices/camera/images/camera_simple_model.png b/en/devices/camera/images/camera_simple_model.png
similarity index 100%
rename from src/devices/camera/images/camera_simple_model.png
rename to en/devices/camera/images/camera_simple_model.png
Binary files differ
diff --git a/src/devices/camera/images/crop-region-11-ratio.png b/en/devices/camera/images/crop-region-11-ratio.png
similarity index 100%
rename from src/devices/camera/images/crop-region-11-ratio.png
rename to en/devices/camera/images/crop-region-11-ratio.png
Binary files differ
diff --git a/src/devices/camera/images/crop-region-169-ratio.png b/en/devices/camera/images/crop-region-169-ratio.png
similarity index 100%
rename from src/devices/camera/images/crop-region-169-ratio.png
rename to en/devices/camera/images/crop-region-169-ratio.png
Binary files differ
diff --git a/src/devices/camera/images/crop-region-43-ratio.png b/en/devices/camera/images/crop-region-43-ratio.png
similarity index 100%
rename from src/devices/camera/images/crop-region-43-ratio.png
rename to en/devices/camera/images/crop-region-43-ratio.png
Binary files differ
diff --git a/src/devices/camera/images/crop-region-43-square-ratio.png b/en/devices/camera/images/crop-region-43-square-ratio.png
similarity index 100%
rename from src/devices/camera/images/crop-region-43-square-ratio.png
rename to en/devices/camera/images/crop-region-43-square-ratio.png
Binary files differ
diff --git a/src/devices/camera/index.jd b/en/devices/camera/index.html
similarity index 100%
rename from src/devices/camera/index.jd
rename to en/devices/camera/index.html
diff --git a/src/devices/camera/versioning.jd b/en/devices/camera/versioning.html
similarity index 100%
rename from src/devices/camera/versioning.jd
rename to en/devices/camera/versioning.html
diff --git a/src/devices/drm.jd b/en/devices/drm.html
similarity index 100%
rename from src/devices/drm.jd
rename to en/devices/drm.html
diff --git a/src/devices/graphics/arch-bq-gralloc.jd b/en/devices/graphics/arch-bq-gralloc.html
similarity index 100%
rename from src/devices/graphics/arch-bq-gralloc.jd
rename to en/devices/graphics/arch-bq-gralloc.html
diff --git a/src/devices/graphics/arch-egl-opengl.jd b/en/devices/graphics/arch-egl-opengl.html
similarity index 100%
rename from src/devices/graphics/arch-egl-opengl.jd
rename to en/devices/graphics/arch-egl-opengl.html
diff --git a/src/devices/graphics/arch-gameloops.jd b/en/devices/graphics/arch-gameloops.html
similarity index 100%
rename from src/devices/graphics/arch-gameloops.jd
rename to en/devices/graphics/arch-gameloops.html
diff --git a/src/devices/graphics/arch-sf-hwc.jd b/en/devices/graphics/arch-sf-hwc.html
similarity index 100%
rename from src/devices/graphics/arch-sf-hwc.jd
rename to en/devices/graphics/arch-sf-hwc.html
diff --git a/src/devices/graphics/arch-sh.jd b/en/devices/graphics/arch-sh.html
similarity index 100%
rename from src/devices/graphics/arch-sh.jd
rename to en/devices/graphics/arch-sh.html
diff --git a/src/devices/graphics/arch-st.jd b/en/devices/graphics/arch-st.html
similarity index 100%
rename from src/devices/graphics/arch-st.jd
rename to en/devices/graphics/arch-st.html
diff --git a/src/devices/graphics/arch-sv-glsv.jd b/en/devices/graphics/arch-sv-glsv.html
similarity index 100%
rename from src/devices/graphics/arch-sv-glsv.jd
rename to en/devices/graphics/arch-sv-glsv.html
diff --git a/src/devices/graphics/arch-tv.jd b/en/devices/graphics/arch-tv.html
similarity index 100%
rename from src/devices/graphics/arch-tv.jd
rename to en/devices/graphics/arch-tv.html
diff --git a/src/devices/graphics/arch-vulkan.jd b/en/devices/graphics/arch-vulkan.html
similarity index 100%
rename from src/devices/graphics/arch-vulkan.jd
rename to en/devices/graphics/arch-vulkan.html
diff --git a/src/devices/graphics/architecture.jd b/en/devices/graphics/architecture.html
similarity index 100%
rename from src/devices/graphics/architecture.jd
rename to en/devices/graphics/architecture.html
diff --git a/src/devices/graphics/automate-tests.jd b/en/devices/graphics/automate-tests.html
similarity index 100%
rename from src/devices/graphics/automate-tests.jd
rename to en/devices/graphics/automate-tests.html
diff --git a/src/devices/graphics/build-tests.jd b/en/devices/graphics/build-tests.html
similarity index 100%
rename from src/devices/graphics/build-tests.jd
rename to en/devices/graphics/build-tests.html
diff --git a/src/devices/graphics/cts-integration.jd b/en/devices/graphics/cts-integration.html
similarity index 100%
rename from src/devices/graphics/cts-integration.jd
rename to en/devices/graphics/cts-integration.html
diff --git a/src/devices/graphics/images/ape_fwk_graphics.png b/en/devices/graphics/images/ape_fwk_graphics.png
similarity index 100%
rename from src/devices/graphics/images/ape_fwk_graphics.png
rename to en/devices/graphics/images/ape_fwk_graphics.png
Binary files differ
diff --git a/src/devices/graphics/images/ape_fwk_hal_graphics.png b/en/devices/graphics/images/ape_fwk_hal_graphics.png
similarity index 100%
rename from src/devices/graphics/images/ape_fwk_hal_graphics.png
rename to en/devices/graphics/images/ape_fwk_hal_graphics.png
Binary files differ
diff --git a/src/devices/graphics/images/ape_graphics_vulkan.png b/en/devices/graphics/images/ape_graphics_vulkan.png
similarity index 100%
rename from src/devices/graphics/images/ape_graphics_vulkan.png
rename to en/devices/graphics/images/ape_graphics_vulkan.png
Binary files differ
diff --git a/src/devices/graphics/images/bufferqueue.png b/en/devices/graphics/images/bufferqueue.png
similarity index 100%
rename from src/devices/graphics/images/bufferqueue.png
rename to en/devices/graphics/images/bufferqueue.png
Binary files differ
diff --git a/src/devices/graphics/images/continuous_capture_activity.png b/en/devices/graphics/images/continuous_capture_activity.png
similarity index 100%
rename from src/devices/graphics/images/continuous_capture_activity.png
rename to en/devices/graphics/images/continuous_capture_activity.png
Binary files differ
diff --git a/src/devices/graphics/images/dispsync.png b/en/devices/graphics/images/dispsync.png
similarity index 100%
rename from src/devices/graphics/images/dispsync.png
rename to en/devices/graphics/images/dispsync.png
Binary files differ
diff --git a/src/devices/graphics/images/graphics_pipeline.png b/en/devices/graphics/images/graphics_pipeline.png
similarity index 100%
rename from src/devices/graphics/images/graphics_pipeline.png
rename to en/devices/graphics/images/graphics_pipeline.png
Binary files differ
diff --git a/src/devices/graphics/images/graphics_secure_texture_playback.png b/en/devices/graphics/images/graphics_secure_texture_playback.png
similarity index 100%
rename from src/devices/graphics/images/graphics_secure_texture_playback.png
rename to en/devices/graphics/images/graphics_secure_texture_playback.png
Binary files differ
diff --git a/src/devices/graphics/images/graphics_surface.png b/en/devices/graphics/images/graphics_surface.png
similarity index 100%
rename from src/devices/graphics/images/graphics_surface.png
rename to en/devices/graphics/images/graphics_surface.png
Binary files differ
diff --git a/src/devices/graphics/images/surfaceflinger_bufferqueue.png b/en/devices/graphics/images/surfaceflinger_bufferqueue.png
similarity index 100%
rename from src/devices/graphics/images/surfaceflinger_bufferqueue.png
rename to en/devices/graphics/images/surfaceflinger_bufferqueue.png
Binary files differ
diff --git a/src/devices/graphics/implement-hwc.jd b/en/devices/graphics/implement-hwc.html
similarity index 100%
rename from src/devices/graphics/implement-hwc.jd
rename to en/devices/graphics/implement-hwc.html
diff --git a/src/devices/graphics/implement-vdisplays.jd b/en/devices/graphics/implement-vdisplays.html
similarity index 100%
rename from src/devices/graphics/implement-vdisplays.jd
rename to en/devices/graphics/implement-vdisplays.html
diff --git a/src/devices/graphics/implement-vsync.jd b/en/devices/graphics/implement-vsync.html
similarity index 100%
rename from src/devices/graphics/implement-vsync.jd
rename to en/devices/graphics/implement-vsync.html
diff --git a/src/devices/graphics/implement-vulkan.jd b/en/devices/graphics/implement-vulkan.html
similarity index 100%
rename from src/devices/graphics/implement-vulkan.jd
rename to en/devices/graphics/implement-vulkan.html
diff --git a/src/devices/graphics/implement.jd b/en/devices/graphics/implement.html
similarity index 100%
rename from src/devices/graphics/implement.jd
rename to en/devices/graphics/implement.html
diff --git a/src/devices/graphics/index.jd b/en/devices/graphics/index.html
similarity index 100%
rename from src/devices/graphics/index.jd
rename to en/devices/graphics/index.html
diff --git a/src/devices/graphics/port-tests.jd b/en/devices/graphics/port-tests.html
similarity index 100%
rename from src/devices/graphics/port-tests.jd
rename to en/devices/graphics/port-tests.html
diff --git a/src/devices/graphics/run-tests.jd b/en/devices/graphics/run-tests.html
similarity index 100%
rename from src/devices/graphics/run-tests.jd
rename to en/devices/graphics/run-tests.html
diff --git a/src/devices/graphics/test-groups.jd b/en/devices/graphics/test-groups.html
similarity index 100%
rename from src/devices/graphics/test-groups.jd
rename to en/devices/graphics/test-groups.html
diff --git a/src/devices/graphics/testing.jd b/en/devices/graphics/testing.html
similarity index 100%
rename from src/devices/graphics/testing.jd
rename to en/devices/graphics/testing.html
diff --git a/src/devices/images/ape_fwk.png b/en/devices/images/ape_fwk.png
similarity index 100%
rename from src/devices/images/ape_fwk.png
rename to en/devices/images/ape_fwk.png
Binary files differ
diff --git a/src/devices/images/ape_fwk_all.png b/en/devices/images/ape_fwk_all.png
similarity index 100%
rename from src/devices/images/ape_fwk_all.png
rename to en/devices/images/ape_fwk_all.png
Binary files differ
diff --git a/src/devices/images/ape_fwk_bluetooth.png b/en/devices/images/ape_fwk_bluetooth.png
similarity index 100%
rename from src/devices/images/ape_fwk_bluetooth.png
rename to en/devices/images/ape_fwk_bluetooth.png
Binary files differ
diff --git a/src/devices/images/ape_fwk_drm.png b/en/devices/images/ape_fwk_drm.png
similarity index 100%
rename from src/devices/images/ape_fwk_drm.png
rename to en/devices/images/ape_fwk_drm.png
Binary files differ
diff --git a/src/devices/images/ape_fwk_drm_2.png b/en/devices/images/ape_fwk_drm_2.png
similarity index 100%
rename from src/devices/images/ape_fwk_drm_2.png
rename to en/devices/images/ape_fwk_drm_2.png
Binary files differ
diff --git a/src/devices/images/ape_fwk_drm_plugins.png b/en/devices/images/ape_fwk_drm_plugins.png
similarity index 100%
rename from src/devices/images/ape_fwk_drm_plugins.png
rename to en/devices/images/ape_fwk_drm_plugins.png
Binary files differ
diff --git a/src/devices/images/ape_fwk_drm_plugins_life.png b/en/devices/images/ape_fwk_drm_plugins_life.png
similarity index 100%
rename from src/devices/images/ape_fwk_drm_plugins_life.png
rename to en/devices/images/ape_fwk_drm_plugins_life.png
Binary files differ
diff --git a/src/devices/images/ape_fwk_drm_retrieve_license.png b/en/devices/images/ape_fwk_drm_retrieve_license.png
similarity index 100%
rename from src/devices/images/ape_fwk_drm_retrieve_license.png
rename to en/devices/images/ape_fwk_drm_retrieve_license.png
Binary files differ
diff --git a/src/devices/images/ape_fwk_hal.png b/en/devices/images/ape_fwk_hal.png
similarity index 100%
rename from src/devices/images/ape_fwk_hal.png
rename to en/devices/images/ape_fwk_hal.png
Binary files differ
diff --git a/src/devices/images/ape_fwk_hal_bluetooth.png b/en/devices/images/ape_fwk_hal_bluetooth.png
similarity index 100%
rename from src/devices/images/ape_fwk_hal_bluetooth.png
rename to en/devices/images/ape_fwk_hal_bluetooth.png
Binary files differ
diff --git a/src/devices/images/ape_fwk_hal_drm.png b/en/devices/images/ape_fwk_hal_drm.png
similarity index 100%
rename from src/devices/images/ape_fwk_hal_drm.png
rename to en/devices/images/ape_fwk_hal_drm.png
Binary files differ
diff --git a/src/devices/images/ape_fwk_hal_vehicle.png b/en/devices/images/ape_fwk_hal_vehicle.png
similarity index 100%
rename from src/devices/images/ape_fwk_hal_vehicle.png
rename to en/devices/images/ape_fwk_hal_vehicle.png
Binary files differ
diff --git a/src/devices/images/bt.png b/en/devices/images/bt.png
similarity index 100%
rename from src/devices/images/bt.png
rename to en/devices/images/bt.png
Binary files differ
diff --git a/src/devices/images/drm_framework.png b/en/devices/images/drm_framework.png
similarity index 100%
rename from src/devices/images/drm_framework.png
rename to en/devices/images/drm_framework.png
Binary files differ
diff --git a/src/devices/images/drm_hal.png b/en/devices/images/drm_hal.png
similarity index 100%
rename from src/devices/images/drm_hal.png
rename to en/devices/images/drm_hal.png
Binary files differ
diff --git a/src/devices/images/drm_license_metadata.png b/en/devices/images/drm_license_metadata.png
similarity index 100%
rename from src/devices/images/drm_license_metadata.png
rename to en/devices/images/drm_license_metadata.png
Binary files differ
diff --git a/src/devices/images/drm_plugin.png b/en/devices/images/drm_plugin.png
similarity index 100%
rename from src/devices/images/drm_plugin.png
rename to en/devices/images/drm_plugin.png
Binary files differ
diff --git a/src/devices/images/drm_plugin_lifecycle.png b/en/devices/images/drm_plugin_lifecycle.png
similarity index 100%
rename from src/devices/images/drm_plugin_lifecycle.png
rename to en/devices/images/drm_plugin_lifecycle.png
Binary files differ
diff --git a/src/devices/images/graphics_arch.png b/en/devices/images/graphics_arch.png
similarity index 100%
rename from src/devices/images/graphics_arch.png
rename to en/devices/images/graphics_arch.png
Binary files differ
diff --git a/src/devices/images/ihv_req.png b/en/devices/images/ihv_req.png
similarity index 100%
rename from src/devices/images/ihv_req.png
rename to en/devices/images/ihv_req.png
Binary files differ
diff --git a/src/devices/images/overview.png b/en/devices/images/overview.png
similarity index 100%
rename from src/devices/images/overview.png
rename to en/devices/images/overview.png
Binary files differ
diff --git a/src/devices/images/system-architecture.png b/en/devices/images/system-architecture.png
similarity index 100%
rename from src/devices/images/system-architecture.png
rename to en/devices/images/system-architecture.png
Binary files differ
diff --git a/src/devices/images/system_architecture.png b/en/devices/images/system_architecture.png
similarity index 100%
rename from src/devices/images/system_architecture.png
rename to en/devices/images/system_architecture.png
Binary files differ
diff --git a/src/devices/images/vehicle_hal_arch.png b/en/devices/images/vehicle_hal_arch.png
similarity index 100%
rename from src/devices/images/vehicle_hal_arch.png
rename to en/devices/images/vehicle_hal_arch.png
Binary files differ
diff --git a/src/devices/images/vehicle_hvac_get.png b/en/devices/images/vehicle_hvac_get.png
similarity index 100%
rename from src/devices/images/vehicle_hvac_get.png
rename to en/devices/images/vehicle_hvac_get.png
Binary files differ
diff --git a/src/devices/images/vehicle_hvac_set.png b/en/devices/images/vehicle_hvac_set.png
similarity index 100%
rename from src/devices/images/vehicle_hvac_set.png
rename to en/devices/images/vehicle_hvac_set.png
Binary files differ
diff --git a/src/devices/index.jd b/en/devices/index.html
similarity index 100%
rename from src/devices/index.jd
rename to en/devices/index.html
diff --git a/src/devices/input/diagnostics.jd b/en/devices/input/diagnostics.html
similarity index 100%
rename from src/devices/input/diagnostics.jd
rename to en/devices/input/diagnostics.html
diff --git a/src/devices/input/getevent.jd b/en/devices/input/getevent.html
similarity index 100%
rename from src/devices/input/getevent.jd
rename to en/devices/input/getevent.html
diff --git a/src/devices/input/images/ape_fwk_hal_input.png b/en/devices/input/images/ape_fwk_hal_input.png
similarity index 100%
rename from src/devices/input/images/ape_fwk_hal_input.png
rename to en/devices/input/images/ape_fwk_hal_input.png
Binary files differ
diff --git a/src/devices/input/index.jd b/en/devices/input/index.html
similarity index 100%
rename from src/devices/input/index.jd
rename to en/devices/input/index.html
diff --git a/src/devices/input/input-device-configuration-files.jd b/en/devices/input/input-device-configuration-files.html
similarity index 100%
rename from src/devices/input/input-device-configuration-files.jd
rename to en/devices/input/input-device-configuration-files.html
diff --git a/src/devices/input/key-character-map-files.jd b/en/devices/input/key-character-map-files.html
similarity index 100%
rename from src/devices/input/key-character-map-files.jd
rename to en/devices/input/key-character-map-files.html
diff --git a/src/devices/input/key-layout-files.jd b/en/devices/input/key-layout-files.html
similarity index 100%
rename from src/devices/input/key-layout-files.jd
rename to en/devices/input/key-layout-files.html
diff --git a/src/devices/input/keyboard-devices.jd b/en/devices/input/keyboard-devices.html
similarity index 100%
rename from src/devices/input/keyboard-devices.jd
rename to en/devices/input/keyboard-devices.html
diff --git a/src/devices/input/migration-guide.jd b/en/devices/input/migration-guide.html
similarity index 100%
rename from src/devices/input/migration-guide.jd
rename to en/devices/input/migration-guide.html
diff --git a/src/devices/input/overview.jd b/en/devices/input/overview.html
similarity index 100%
rename from src/devices/input/overview.jd
rename to en/devices/input/overview.html
diff --git a/src/devices/input/touch-devices.jd b/en/devices/input/touch-devices.html
similarity index 100%
rename from src/devices/input/touch-devices.jd
rename to en/devices/input/touch-devices.html
diff --git a/src/devices/input/validate-keymaps.jd b/en/devices/input/validate-keymaps.html
similarity index 100%
rename from src/devices/input/validate-keymaps.jd
rename to en/devices/input/validate-keymaps.html
diff --git a/src/devices/media/framework-hardening.jd b/en/devices/media/framework-hardening.html
similarity index 100%
rename from src/devices/media/framework-hardening.jd
rename to en/devices/media/framework-hardening.html
diff --git a/src/devices/media/images/ape_fwk_hal_media.png b/en/devices/media/images/ape_fwk_hal_media.png
similarity index 100%
rename from src/devices/media/images/ape_fwk_hal_media.png
rename to en/devices/media/images/ape_fwk_hal_media.png
Binary files differ
diff --git a/src/devices/media/images/ape_fwk_media.png b/en/devices/media/images/ape_fwk_media.png
similarity index 100%
rename from src/devices/media/images/ape_fwk_media.png
rename to en/devices/media/images/ape_fwk_media.png
Binary files differ
diff --git a/src/devices/media/images/ape_media_buffer_alloc_n.png b/en/devices/media/images/ape_media_buffer_alloc_n.png
similarity index 100%
rename from src/devices/media/images/ape_media_buffer_alloc_n.png
rename to en/devices/media/images/ape_media_buffer_alloc_n.png
Binary files differ
diff --git a/src/devices/media/images/ape_media_buffer_alloc_pren.png b/en/devices/media/images/ape_media_buffer_alloc_pren.png
similarity index 100%
rename from src/devices/media/images/ape_media_buffer_alloc_pren.png
rename to en/devices/media/images/ape_media_buffer_alloc_pren.png
Binary files differ
diff --git a/src/devices/media/images/ape_media_split.png b/en/devices/media/images/ape_media_split.png
similarity index 100%
rename from src/devices/media/images/ape_media_split.png
rename to en/devices/media/images/ape_media_split.png
Binary files differ
diff --git a/src/devices/media/index.jd b/en/devices/media/index.html
similarity index 100%
rename from src/devices/media/index.jd
rename to en/devices/media/index.html
diff --git a/src/devices/media/oem.jd b/en/devices/media/oem.html
similarity index 100%
rename from src/devices/media/oem.jd
rename to en/devices/media/oem.html
diff --git a/src/devices/media/soc.jd b/en/devices/media/soc.html
similarity index 100%
rename from src/devices/media/soc.jd
rename to en/devices/media/soc.html
diff --git a/src/devices/sensors/batching.jd b/en/devices/sensors/batching.html
similarity index 100%
rename from src/devices/sensors/batching.jd
rename to en/devices/sensors/batching.html
diff --git a/src/devices/sensors/hal-interface.jd b/en/devices/sensors/hal-interface.html
similarity index 100%
rename from src/devices/sensors/hal-interface.jd
rename to en/devices/sensors/hal-interface.html
diff --git a/src/devices/sensors/images/ape_fwk_hal_sensors.png b/en/devices/sensors/images/ape_fwk_hal_sensors.png
similarity index 100%
rename from src/devices/sensors/images/ape_fwk_hal_sensors.png
rename to en/devices/sensors/images/ape_fwk_hal_sensors.png
Binary files differ
diff --git a/src/devices/sensors/images/ape_fwk_sensors.png b/en/devices/sensors/images/ape_fwk_sensors.png
similarity index 100%
rename from src/devices/sensors/images/ape_fwk_sensors.png
rename to en/devices/sensors/images/ape_fwk_sensors.png
Binary files differ
diff --git a/src/devices/sensors/images/axis_auto.png b/en/devices/sensors/images/axis_auto.png
similarity index 100%
rename from src/devices/sensors/images/axis_auto.png
rename to en/devices/sensors/images/axis_auto.png
Binary files differ
diff --git a/src/devices/sensors/images/axis_positive_roll.png b/en/devices/sensors/images/axis_positive_roll.png
similarity index 100%
rename from src/devices/sensors/images/axis_positive_roll.png
rename to en/devices/sensors/images/axis_positive_roll.png
Binary files differ
diff --git a/src/devices/sensors/images/battery_icon.png b/en/devices/sensors/images/battery_icon.png
similarity index 100%
rename from src/devices/sensors/images/battery_icon.png
rename to en/devices/sensors/images/battery_icon.png
Binary files differ
diff --git a/src/devices/sensors/images/sensor_layers.png b/en/devices/sensors/images/sensor_layers.png
similarity index 100%
rename from src/devices/sensors/images/sensor_layers.png
rename to en/devices/sensors/images/sensor_layers.png
Binary files differ
diff --git a/src/devices/sensors/index.jd b/en/devices/sensors/index.html
similarity index 100%
rename from src/devices/sensors/index.jd
rename to en/devices/sensors/index.html
diff --git a/src/devices/sensors/interaction.jd b/en/devices/sensors/interaction.html
similarity index 100%
rename from src/devices/sensors/interaction.jd
rename to en/devices/sensors/interaction.html
diff --git a/src/devices/sensors/power-use.jd b/en/devices/sensors/power-use.html
similarity index 100%
rename from src/devices/sensors/power-use.jd
rename to en/devices/sensors/power-use.html
diff --git a/src/devices/sensors/report-modes.jd b/en/devices/sensors/report-modes.html
similarity index 100%
rename from src/devices/sensors/report-modes.jd
rename to en/devices/sensors/report-modes.html
diff --git a/src/devices/sensors/sensor-stack.jd b/en/devices/sensors/sensor-stack.html
similarity index 100%
rename from src/devices/sensors/sensor-stack.jd
rename to en/devices/sensors/sensor-stack.html
diff --git a/src/devices/sensors/sensor-types.jd b/en/devices/sensors/sensor-types.html
similarity index 100%
rename from src/devices/sensors/sensor-types.jd
rename to en/devices/sensors/sensor-types.html
diff --git a/src/devices/sensors/suspend-mode.jd b/en/devices/sensors/suspend-mode.html
similarity index 100%
rename from src/devices/sensors/suspend-mode.jd
rename to en/devices/sensors/suspend-mode.html
diff --git a/src/devices/sensors/versioning.jd b/en/devices/sensors/versioning.html
similarity index 100%
rename from src/devices/sensors/versioning.jd
rename to en/devices/sensors/versioning.html
diff --git a/src/devices/storage/adoptable.jd b/en/devices/storage/adoptable.html
similarity index 100%
rename from src/devices/storage/adoptable.jd
rename to en/devices/storage/adoptable.html
diff --git a/src/devices/storage/config-example.jd b/en/devices/storage/config-example.html
similarity index 100%
rename from src/devices/storage/config-example.jd
rename to en/devices/storage/config-example.html
diff --git a/src/devices/storage/config.jd b/en/devices/storage/config.html
similarity index 100%
rename from src/devices/storage/config.jd
rename to en/devices/storage/config.html
diff --git a/src/devices/storage/images/ape_fwk_hal_extstor.png b/en/devices/storage/images/ape_fwk_hal_extstor.png
similarity index 100%
rename from src/devices/storage/images/ape_fwk_hal_extstor.png
rename to en/devices/storage/images/ape_fwk_hal_extstor.png
Binary files differ
diff --git a/src/devices/storage/index.jd b/en/devices/storage/index.html
similarity index 100%
rename from src/devices/storage/index.jd
rename to en/devices/storage/index.html
diff --git a/src/devices/storage/traditional.jd b/en/devices/storage/traditional.html
similarity index 100%
rename from src/devices/storage/traditional.jd
rename to en/devices/storage/traditional.html
diff --git a/src/devices/tech/admin/enterprise-telephony.jd b/en/devices/tech/admin/enterprise-telephony.html
similarity index 100%
rename from src/devices/tech/admin/enterprise-telephony.jd
rename to en/devices/tech/admin/enterprise-telephony.html
diff --git a/src/devices/tech/admin/images/multi-user-perms.png b/en/devices/tech/admin/images/multi-user-perms.png
similarity index 100%
rename from src/devices/tech/admin/images/multi-user-perms.png
rename to en/devices/tech/admin/images/multi-user-perms.png
Binary files differ
diff --git a/src/devices/tech/admin/implement.jd b/en/devices/tech/admin/implement.html
similarity index 100%
rename from src/devices/tech/admin/implement.jd
rename to en/devices/tech/admin/implement.html
diff --git a/src/devices/tech/admin/index.jd b/en/devices/tech/admin/index.html
similarity index 100%
rename from src/devices/tech/admin/index.jd
rename to en/devices/tech/admin/index.html
diff --git a/src/devices/tech/admin/managed-profiles.jd b/en/devices/tech/admin/managed-profiles.html
similarity index 100%
rename from src/devices/tech/admin/managed-profiles.jd
rename to en/devices/tech/admin/managed-profiles.html
diff --git a/src/devices/tech/admin/multi-user.jd b/en/devices/tech/admin/multi-user.html
similarity index 100%
rename from src/devices/tech/admin/multi-user.jd
rename to en/devices/tech/admin/multi-user.html
diff --git a/src/devices/tech/admin/multiuser-apps.jd b/en/devices/tech/admin/multiuser-apps.html
similarity index 100%
rename from src/devices/tech/admin/multiuser-apps.jd
rename to en/devices/tech/admin/multiuser-apps.html
diff --git a/src/devices/tech/admin/provision.jd b/en/devices/tech/admin/provision.html
similarity index 100%
rename from src/devices/tech/admin/provision.jd
rename to en/devices/tech/admin/provision.html
diff --git a/src/devices/tech/admin/testing-provision.jd b/en/devices/tech/admin/testing-provision.html
similarity index 100%
rename from src/devices/tech/admin/testing-provision.jd
rename to en/devices/tech/admin/testing-provision.html
diff --git a/src/devices/tech/admin/testing-setup.jd b/en/devices/tech/admin/testing-setup.html
similarity index 100%
rename from src/devices/tech/admin/testing-setup.jd
rename to en/devices/tech/admin/testing-setup.html
diff --git a/src/devices/tech/config/carrier.jd b/en/devices/tech/config/carrier.html
similarity index 100%
rename from src/devices/tech/config/carrier.jd
rename to en/devices/tech/config/carrier.html
diff --git a/src/devices/tech/config/connect_tests.jd b/en/devices/tech/config/connect_tests.html
similarity index 100%
rename from src/devices/tech/config/connect_tests.jd
rename to en/devices/tech/config/connect_tests.html
diff --git a/src/devices/tech/config/filesystem.jd b/en/devices/tech/config/filesystem.html
similarity index 100%
rename from src/devices/tech/config/filesystem.jd
rename to en/devices/tech/config/filesystem.html
diff --git a/src/devices/tech/config/images/namespace-libraries.png b/en/devices/tech/config/images/namespace-libraries.png
similarity index 100%
rename from src/devices/tech/config/images/namespace-libraries.png
rename to en/devices/tech/config/images/namespace-libraries.png
Binary files differ
diff --git a/src/devices/tech/config/index.jd b/en/devices/tech/config/index.html
similarity index 100%
rename from src/devices/tech/config/index.jd
rename to en/devices/tech/config/index.html
diff --git a/src/devices/tech/config/kernel.jd b/en/devices/tech/config/kernel.html
similarity index 100%
rename from src/devices/tech/config/kernel.jd
rename to en/devices/tech/config/kernel.html
diff --git a/src/devices/tech/config/kernel_network_tests.jd b/en/devices/tech/config/kernel_network_tests.html
similarity index 100%
rename from src/devices/tech/config/kernel_network_tests.jd
rename to en/devices/tech/config/kernel_network_tests.html
diff --git a/src/devices/tech/config/low-ram.jd b/en/devices/tech/config/low-ram.html
similarity index 100%
rename from src/devices/tech/config/low-ram.jd
rename to en/devices/tech/config/low-ram.html
diff --git a/src/devices/tech/config/namespaces_libraries.jd b/en/devices/tech/config/namespaces_libraries.html
similarity index 100%
rename from src/devices/tech/config/namespaces_libraries.jd
rename to en/devices/tech/config/namespaces_libraries.html
diff --git a/src/devices/tech/config/renderer.jd b/en/devices/tech/config/renderer.html
similarity index 100%
rename from src/devices/tech/config/renderer.jd
rename to en/devices/tech/config/renderer.html
diff --git a/src/devices/tech/config/runtime_perms.jd b/en/devices/tech/config/runtime_perms.html
similarity index 100%
rename from src/devices/tech/config/runtime_perms.jd
rename to en/devices/tech/config/runtime_perms.html
diff --git a/src/devices/tech/config/uicc.jd b/en/devices/tech/config/uicc.html
similarity index 100%
rename from src/devices/tech/config/uicc.jd
rename to en/devices/tech/config/uicc.html
diff --git a/src/devices/tech/config/voicemail.jd b/en/devices/tech/config/voicemail.html
similarity index 100%
rename from src/devices/tech/config/voicemail.jd
rename to en/devices/tech/config/voicemail.html
diff --git a/src/devices/tech/connect/block-numbers.jd b/en/devices/tech/connect/block-numbers.html
similarity index 100%
rename from src/devices/tech/connect/block-numbers.jd
rename to en/devices/tech/connect/block-numbers.html
diff --git a/src/devices/tech/connect/call-notification.jd b/en/devices/tech/connect/call-notification.html
similarity index 100%
rename from src/devices/tech/connect/call-notification.jd
rename to en/devices/tech/connect/call-notification.html
diff --git a/src/devices/tech/connect/data-saver.jd b/en/devices/tech/connect/data-saver.html
similarity index 100%
rename from src/devices/tech/connect/data-saver.jd
rename to en/devices/tech/connect/data-saver.html
diff --git a/src/devices/tech/connect/emergency-affordance.jd b/en/devices/tech/connect/emergency-affordance.html
similarity index 100%
rename from src/devices/tech/connect/emergency-affordance.jd
rename to en/devices/tech/connect/emergency-affordance.html
diff --git a/src/devices/tech/connect/felica.jd b/en/devices/tech/connect/felica.html
similarity index 100%
rename from src/devices/tech/connect/felica.jd
rename to en/devices/tech/connect/felica.html
diff --git a/src/devices/tech/connect/images/block-numbers-flow.png b/en/devices/tech/connect/images/block-numbers-flow.png
similarity index 100%
rename from src/devices/tech/connect/images/block-numbers-flow.png
rename to en/devices/tech/connect/images/block-numbers-flow.png
Binary files differ
diff --git a/src/devices/tech/connect/images/block-numbers-ui.png b/en/devices/tech/connect/images/block-numbers-ui.png
similarity index 100%
rename from src/devices/tech/connect/images/block-numbers-ui.png
rename to en/devices/tech/connect/images/block-numbers-ui.png
Binary files differ
diff --git a/src/devices/tech/connect/images/data-battery-saver.png b/en/devices/tech/connect/images/data-battery-saver.png
similarity index 100%
rename from src/devices/tech/connect/images/data-battery-saver.png
rename to en/devices/tech/connect/images/data-battery-saver.png
Binary files differ
diff --git a/src/devices/tech/connect/images/data-saver-app.png b/en/devices/tech/connect/images/data-saver-app.png
similarity index 100%
rename from src/devices/tech/connect/images/data-saver-app.png
rename to en/devices/tech/connect/images/data-saver-app.png
Binary files differ
diff --git a/src/devices/tech/connect/images/data-saver-quick-settings.png b/en/devices/tech/connect/images/data-saver-quick-settings.png
similarity index 100%
rename from src/devices/tech/connect/images/data-saver-quick-settings.png
rename to en/devices/tech/connect/images/data-saver-quick-settings.png
Binary files differ
diff --git a/src/devices/tech/connect/images/data-saver-use.png b/en/devices/tech/connect/images/data-saver-use.png
similarity index 100%
rename from src/devices/tech/connect/images/data-saver-use.png
rename to en/devices/tech/connect/images/data-saver-use.png
Binary files differ
diff --git a/src/devices/tech/connect/images/emergency-button.png b/en/devices/tech/connect/images/emergency-button.png
similarity index 100%
rename from src/devices/tech/connect/images/emergency-button.png
rename to en/devices/tech/connect/images/emergency-button.png
Binary files differ
diff --git a/src/devices/tech/connect/images/emergency-option.png b/en/devices/tech/connect/images/emergency-option.png
similarity index 100%
rename from src/devices/tech/connect/images/emergency-option.png
rename to en/devices/tech/connect/images/emergency-option.png
Binary files differ
diff --git a/src/devices/tech/connect/images/host_card.png b/en/devices/tech/connect/images/host_card.png
similarity index 100%
rename from src/devices/tech/connect/images/host_card.png
rename to en/devices/tech/connect/images/host_card.png
Binary files differ
diff --git a/src/devices/tech/connect/images/ril-refactor-scenario-1-solution-1.png b/en/devices/tech/connect/images/ril-refactor-scenario-1-solution-1.png
similarity index 100%
rename from src/devices/tech/connect/images/ril-refactor-scenario-1-solution-1.png
rename to en/devices/tech/connect/images/ril-refactor-scenario-1-solution-1.png
Binary files differ
diff --git a/src/devices/tech/connect/images/ril-refactor-scenario-1-solution-2.png b/en/devices/tech/connect/images/ril-refactor-scenario-1-solution-2.png
similarity index 100%
rename from src/devices/tech/connect/images/ril-refactor-scenario-1-solution-2.png
rename to en/devices/tech/connect/images/ril-refactor-scenario-1-solution-2.png
Binary files differ
diff --git a/src/devices/tech/connect/images/ril-refactor-scenario-1.png b/en/devices/tech/connect/images/ril-refactor-scenario-1.png
similarity index 100%
rename from src/devices/tech/connect/images/ril-refactor-scenario-1.png
rename to en/devices/tech/connect/images/ril-refactor-scenario-1.png
Binary files differ
diff --git a/src/devices/tech/connect/images/ril-refactor-scenario-2-solution.png b/en/devices/tech/connect/images/ril-refactor-scenario-2-solution.png
similarity index 100%
rename from src/devices/tech/connect/images/ril-refactor-scenario-2-solution.png
rename to en/devices/tech/connect/images/ril-refactor-scenario-2-solution.png
Binary files differ
diff --git a/src/devices/tech/connect/images/ril-refactor-scenario-2.png b/en/devices/tech/connect/images/ril-refactor-scenario-2.png
similarity index 100%
rename from src/devices/tech/connect/images/ril-refactor-scenario-2.png
rename to en/devices/tech/connect/images/ril-refactor-scenario-2.png
Binary files differ
diff --git a/src/devices/tech/connect/index.jd b/en/devices/tech/connect/index.html
similarity index 100%
rename from src/devices/tech/connect/index.jd
rename to en/devices/tech/connect/index.html
diff --git a/src/devices/tech/connect/ril.jd b/en/devices/tech/connect/ril.html
similarity index 100%
rename from src/devices/tech/connect/ril.jd
rename to en/devices/tech/connect/ril.html
diff --git a/src/devices/tech/dalvik/configure.jd b/en/devices/tech/dalvik/configure.html
similarity index 100%
rename from src/devices/tech/dalvik/configure.jd
rename to en/devices/tech/dalvik/configure.html
diff --git a/src/devices/tech/dalvik/constraints.jd b/en/devices/tech/dalvik/constraints.html
similarity index 100%
rename from src/devices/tech/dalvik/constraints.jd
rename to en/devices/tech/dalvik/constraints.html
diff --git a/src/devices/tech/dalvik/dalvik-bytecode.css b/en/devices/tech/dalvik/dalvik-bytecode.css
similarity index 100%
rename from src/devices/tech/dalvik/dalvik-bytecode.css
rename to en/devices/tech/dalvik/dalvik-bytecode.css
diff --git a/src/devices/tech/dalvik/dalvik-bytecode.jd b/en/devices/tech/dalvik/dalvik-bytecode.html
similarity index 100%
rename from src/devices/tech/dalvik/dalvik-bytecode.jd
rename to en/devices/tech/dalvik/dalvik-bytecode.html
diff --git a/src/devices/tech/dalvik/dex-format.css b/en/devices/tech/dalvik/dex-format.css
similarity index 100%
rename from src/devices/tech/dalvik/dex-format.css
rename to en/devices/tech/dalvik/dex-format.css
diff --git a/src/devices/tech/dalvik/dex-format.jd b/en/devices/tech/dalvik/dex-format.html
similarity index 100%
rename from src/devices/tech/dalvik/dex-format.jd
rename to en/devices/tech/dalvik/dex-format.html
diff --git a/src/devices/tech/dalvik/gc-debug.jd b/en/devices/tech/dalvik/gc-debug.html
similarity index 100%
rename from src/devices/tech/dalvik/gc-debug.jd
rename to en/devices/tech/dalvik/gc-debug.html
diff --git a/src/devices/tech/dalvik/images/jit-arch.png b/en/devices/tech/dalvik/images/jit-arch.png
similarity index 100%
rename from src/devices/tech/dalvik/images/jit-arch.png
rename to en/devices/tech/dalvik/images/jit-arch.png
Binary files differ
diff --git a/src/devices/tech/dalvik/images/jit-daemon.png b/en/devices/tech/dalvik/images/jit-daemon.png
similarity index 100%
rename from src/devices/tech/dalvik/images/jit-daemon.png
rename to en/devices/tech/dalvik/images/jit-daemon.png
Binary files differ
diff --git a/src/devices/tech/dalvik/images/jit-profile-comp.png b/en/devices/tech/dalvik/images/jit-profile-comp.png
similarity index 100%
rename from src/devices/tech/dalvik/images/jit-profile-comp.png
rename to en/devices/tech/dalvik/images/jit-profile-comp.png
Binary files differ
diff --git a/src/devices/tech/dalvik/images/jit-workflow.png b/en/devices/tech/dalvik/images/jit-workflow.png
similarity index 100%
rename from src/devices/tech/dalvik/images/jit-workflow.png
rename to en/devices/tech/dalvik/images/jit-workflow.png
Binary files differ
diff --git a/src/devices/tech/dalvik/index.jd b/en/devices/tech/dalvik/index.html
similarity index 100%
rename from src/devices/tech/dalvik/index.jd
rename to en/devices/tech/dalvik/index.html
diff --git a/src/devices/tech/dalvik/instruction-formats.css b/en/devices/tech/dalvik/instruction-formats.css
similarity index 100%
rename from src/devices/tech/dalvik/instruction-formats.css
rename to en/devices/tech/dalvik/instruction-formats.css
diff --git a/src/devices/tech/dalvik/instruction-formats.jd b/en/devices/tech/dalvik/instruction-formats.html
similarity index 100%
rename from src/devices/tech/dalvik/instruction-formats.jd
rename to en/devices/tech/dalvik/instruction-formats.html
diff --git a/src/devices/tech/dalvik/jit-compiler.jd b/en/devices/tech/dalvik/jit-compiler.html
similarity index 100%
rename from src/devices/tech/dalvik/jit-compiler.jd
rename to en/devices/tech/dalvik/jit-compiler.html
diff --git a/src/devices/tech/datausage/excluding-network-types.jd b/en/devices/tech/datausage/excluding-network-types.html
similarity index 100%
rename from src/devices/tech/datausage/excluding-network-types.jd
rename to en/devices/tech/datausage/excluding-network-types.html
diff --git a/src/devices/tech/datausage/iface-overview.jd b/en/devices/tech/datausage/iface-overview.html
similarity index 100%
rename from src/devices/tech/datausage/iface-overview.jd
rename to en/devices/tech/datausage/iface-overview.html
diff --git a/src/devices/tech/datausage/index.jd b/en/devices/tech/datausage/index.html
similarity index 100%
rename from src/devices/tech/datausage/index.jd
rename to en/devices/tech/datausage/index.html
diff --git a/src/devices/tech/datausage/kernel-changes.jd b/en/devices/tech/datausage/kernel-changes.html
similarity index 100%
rename from src/devices/tech/datausage/kernel-changes.jd
rename to en/devices/tech/datausage/kernel-changes.html
diff --git a/src/devices/tech/datausage/kernel-overview.jd b/en/devices/tech/datausage/kernel-overview.html
similarity index 100%
rename from src/devices/tech/datausage/kernel-overview.jd
rename to en/devices/tech/datausage/kernel-overview.html
diff --git a/src/devices/tech/datausage/tags-explained.jd b/en/devices/tech/datausage/tags-explained.html
similarity index 100%
rename from src/devices/tech/datausage/tags-explained.jd
rename to en/devices/tech/datausage/tags-explained.html
diff --git a/src/devices/tech/datausage/tethering-data.jd b/en/devices/tech/datausage/tethering-data.html
similarity index 100%
rename from src/devices/tech/datausage/tethering-data.jd
rename to en/devices/tech/datausage/tethering-data.html
diff --git a/src/devices/tech/datausage/usage-cycle-resets-dates.jd b/en/devices/tech/datausage/usage-cycle-resets-dates.html
similarity index 100%
rename from src/devices/tech/datausage/usage-cycle-resets-dates.jd
rename to en/devices/tech/datausage/usage-cycle-resets-dates.html
diff --git a/src/devices/tech/debug/asan.jd b/en/devices/tech/debug/asan.html
similarity index 100%
rename from src/devices/tech/debug/asan.jd
rename to en/devices/tech/debug/asan.html
diff --git a/src/devices/tech/debug/dumpsys.jd b/en/devices/tech/debug/dumpsys.html
similarity index 100%
rename from src/devices/tech/debug/dumpsys.jd
rename to en/devices/tech/debug/dumpsys.html
diff --git a/src/devices/tech/debug/index.jd b/en/devices/tech/debug/index.html
similarity index 100%
rename from src/devices/tech/debug/index.jd
rename to en/devices/tech/debug/index.html
diff --git a/src/devices/tech/debug/native-crash.jd b/en/devices/tech/debug/native-crash.html
similarity index 100%
rename from src/devices/tech/debug/native-crash.jd
rename to en/devices/tech/debug/native-crash.html
diff --git a/src/devices/tech/debug/native-memory.jd b/en/devices/tech/debug/native-memory.html
similarity index 100%
rename from src/devices/tech/debug/native-memory.jd
rename to en/devices/tech/debug/native-memory.html
diff --git a/src/devices/tech/debug/netstats.jd b/en/devices/tech/debug/netstats.html
similarity index 100%
rename from src/devices/tech/debug/netstats.jd
rename to en/devices/tech/debug/netstats.html
diff --git a/src/devices/tech/debug/procstats.jd b/en/devices/tech/debug/procstats.html
similarity index 100%
rename from src/devices/tech/debug/procstats.jd
rename to en/devices/tech/debug/procstats.html
diff --git a/src/devices/tech/display/app-shortcuts.jd b/en/devices/tech/display/app-shortcuts.html
similarity index 100%
rename from src/devices/tech/display/app-shortcuts.jd
rename to en/devices/tech/display/app-shortcuts.html
diff --git a/src/devices/tech/display/circular-icons.jd b/en/devices/tech/display/circular-icons.html
similarity index 100%
rename from src/devices/tech/display/circular-icons.jd
rename to en/devices/tech/display/circular-icons.html
diff --git a/src/devices/tech/display/dnd.jd b/en/devices/tech/display/dnd.html
similarity index 100%
rename from src/devices/tech/display/dnd.jd
rename to en/devices/tech/display/dnd.html
diff --git a/src/devices/tech/display/hdr.jd b/en/devices/tech/display/hdr.html
similarity index 100%
rename from src/devices/tech/display/hdr.jd
rename to en/devices/tech/display/hdr.html
diff --git a/src/devices/tech/display/images/retail-demo-flow.png b/en/devices/tech/display/images/retail-demo-flow.png
similarity index 100%
rename from src/devices/tech/display/images/retail-demo-flow.png
rename to en/devices/tech/display/images/retail-demo-flow.png
Binary files differ
diff --git a/src/devices/tech/display/images/retail-demo-wizard.png b/en/devices/tech/display/images/retail-demo-wizard.png
similarity index 100%
rename from src/devices/tech/display/images/retail-demo-wizard.png
rename to en/devices/tech/display/images/retail-demo-wizard.png
Binary files differ
diff --git a/src/devices/tech/display/index.jd b/en/devices/tech/display/index.html
similarity index 100%
rename from src/devices/tech/display/index.jd
rename to en/devices/tech/display/index.html
diff --git a/src/devices/tech/display/multi-window.jd b/en/devices/tech/display/multi-window.html
similarity index 100%
rename from src/devices/tech/display/multi-window.jd
rename to en/devices/tech/display/multi-window.html
diff --git a/src/devices/tech/display/night-light.jd b/en/devices/tech/display/night-light.html
similarity index 100%
rename from src/devices/tech/display/night-light.jd
rename to en/devices/tech/display/night-light.html
diff --git a/src/devices/tech/display/retail-mode.jd b/en/devices/tech/display/retail-mode.html
similarity index 100%
rename from src/devices/tech/display/retail-mode.jd
rename to en/devices/tech/display/retail-mode.html
diff --git a/src/devices/tech/images/composite01.png b/en/devices/tech/images/composite01.png
similarity index 100%
rename from src/devices/tech/images/composite01.png
rename to en/devices/tech/images/composite01.png
Binary files differ
diff --git a/src/devices/tech/images/composite07.png b/en/devices/tech/images/composite07.png
similarity index 100%
rename from src/devices/tech/images/composite07.png
rename to en/devices/tech/images/composite07.png
Binary files differ
diff --git a/src/devices/tech/images/dolby_vision_decoder_pipleline.png b/en/devices/tech/images/dolby_vision_decoder_pipleline.png
similarity index 100%
rename from src/devices/tech/images/dolby_vision_decoder_pipleline.png
rename to en/devices/tech/images/dolby_vision_decoder_pipleline.png
Binary files differ
diff --git a/src/devices/tech/images/doze_lightweight.png b/en/devices/tech/images/doze_lightweight.png
similarity index 100%
rename from src/devices/tech/images/doze_lightweight.png
rename to en/devices/tech/images/doze_lightweight.png
Binary files differ
diff --git a/src/devices/tech/images/hdr10_decoder_pipeline.png b/en/devices/tech/images/hdr10_decoder_pipeline.png
similarity index 100%
rename from src/devices/tech/images/hdr10_decoder_pipeline.png
rename to en/devices/tech/images/hdr10_decoder_pipeline.png
Binary files differ
diff --git a/src/devices/tech/images/icon_error.png b/en/devices/tech/images/icon_error.png
similarity index 100%
rename from src/devices/tech/images/icon_error.png
rename to en/devices/tech/images/icon_error.png
Binary files differ
diff --git a/src/devices/tech/images/icon_installing.png b/en/devices/tech/images/icon_installing.png
similarity index 100%
rename from src/devices/tech/images/icon_installing.png
rename to en/devices/tech/images/icon_installing.png
Binary files differ
diff --git a/src/devices/tech/images/icon_installing_5x.png b/en/devices/tech/images/icon_installing_5x.png
similarity index 100%
rename from src/devices/tech/images/icon_installing_5x.png
rename to en/devices/tech/images/icon_installing_5x.png
Binary files differ
diff --git a/src/devices/tech/images/icon_installing_overlay01.png b/en/devices/tech/images/icon_installing_overlay01.png
similarity index 100%
rename from src/devices/tech/images/icon_installing_overlay01.png
rename to en/devices/tech/images/icon_installing_overlay01.png
Binary files differ
diff --git a/src/devices/tech/images/icon_installing_overlay07.png b/en/devices/tech/images/icon_installing_overlay07.png
similarity index 100%
rename from src/devices/tech/images/icon_installing_overlay07.png
rename to en/devices/tech/images/icon_installing_overlay07.png
Binary files differ
diff --git a/src/devices/tech/images/installing_text.png b/en/devices/tech/images/installing_text.png
similarity index 100%
rename from src/devices/tech/images/installing_text.png
rename to en/devices/tech/images/installing_text.png
Binary files differ
diff --git a/src/devices/tech/images/ota_size_comparison.png b/en/devices/tech/images/ota_size_comparison.png
similarity index 100%
rename from src/devices/tech/images/ota_size_comparison.png
rename to en/devices/tech/images/ota_size_comparison.png
Binary files differ
diff --git a/src/devices/tech/images/power_sustained_perf.png b/en/devices/tech/images/power_sustained_perf.png
similarity index 100%
rename from src/devices/tech/images/power_sustained_perf.png
rename to en/devices/tech/images/power_sustained_perf.png
Binary files differ
diff --git a/src/devices/tech/images/progress_1.png b/en/devices/tech/images/progress_1.png
similarity index 100%
rename from src/devices/tech/images/progress_1.png
rename to en/devices/tech/images/progress_1.png
Binary files differ
diff --git a/src/devices/tech/images/progress_10.png b/en/devices/tech/images/progress_10.png
similarity index 100%
rename from src/devices/tech/images/progress_10.png
rename to en/devices/tech/images/progress_10.png
Binary files differ
diff --git a/src/devices/tech/images/progress_50.png b/en/devices/tech/images/progress_50.png
similarity index 100%
rename from src/devices/tech/images/progress_50.png
rename to en/devices/tech/images/progress_50.png
Binary files differ
diff --git a/src/devices/tech/images/progress_empty.png b/en/devices/tech/images/progress_empty.png
similarity index 100%
rename from src/devices/tech/images/progress_empty.png
rename to en/devices/tech/images/progress_empty.png
Binary files differ
diff --git a/src/devices/tech/images/progress_fill.png b/en/devices/tech/images/progress_fill.png
similarity index 100%
rename from src/devices/tech/images/progress_fill.png
rename to en/devices/tech/images/progress_fill.png
Binary files differ
diff --git a/src/devices/tech/images/vp9-pq_decoder_pipleline.png b/en/devices/tech/images/vp9-pq_decoder_pipleline.png
similarity index 100%
rename from src/devices/tech/images/vp9-pq_decoder_pipleline.png
rename to en/devices/tech/images/vp9-pq_decoder_pipleline.png
Binary files differ
diff --git a/src/devices/tech/index.jd b/en/devices/tech/index.html
similarity index 100%
rename from src/devices/tech/index.jd
rename to en/devices/tech/index.html
diff --git a/src/devices/tech/ota/ab_updates.jd b/en/devices/tech/ota/ab_updates.html
similarity index 100%
rename from src/devices/tech/ota/ab_updates.jd
rename to en/devices/tech/ota/ab_updates.html
diff --git a/src/devices/tech/ota/block.jd b/en/devices/tech/ota/block.html
similarity index 100%
rename from src/devices/tech/ota/block.jd
rename to en/devices/tech/ota/block.html
diff --git a/src/devices/tech/ota/device_code.jd b/en/devices/tech/ota/device_code.html
similarity index 100%
rename from src/devices/tech/ota/device_code.jd
rename to en/devices/tech/ota/device_code.html
diff --git a/src/devices/tech/ota/images/ab-updates-state-machine.png b/en/devices/tech/ota/images/ab-updates-state-machine.png
similarity index 100%
rename from src/devices/tech/ota/images/ab-updates-state-machine.png
rename to en/devices/tech/ota/images/ab-updates-state-machine.png
Binary files differ
diff --git a/src/devices/tech/ota/index.jd b/en/devices/tech/ota/index.html
similarity index 100%
rename from src/devices/tech/ota/index.jd
rename to en/devices/tech/ota/index.html
diff --git a/src/devices/tech/ota/inside_packages.jd b/en/devices/tech/ota/inside_packages.html
similarity index 100%
rename from src/devices/tech/ota/inside_packages.jd
rename to en/devices/tech/ota/inside_packages.html
diff --git a/src/devices/tech/ota/reduce_size.jd b/en/devices/tech/ota/reduce_size.html
similarity index 100%
rename from src/devices/tech/ota/reduce_size.jd
rename to en/devices/tech/ota/reduce_size.html
diff --git a/src/devices/tech/ota/sign_builds.jd b/en/devices/tech/ota/sign_builds.html
similarity index 100%
rename from src/devices/tech/ota/sign_builds.jd
rename to en/devices/tech/ota/sign_builds.html
diff --git a/src/devices/tech/ota/tools.jd b/en/devices/tech/ota/tools.html
similarity index 100%
rename from src/devices/tech/ota/tools.jd
rename to en/devices/tech/ota/tools.html
diff --git a/src/devices/tech/power/batterystats.jd b/en/devices/tech/power/batterystats.html
similarity index 100%
rename from src/devices/tech/power/batterystats.jd
rename to en/devices/tech/power/batterystats.html
diff --git a/src/devices/tech/power/component.jd b/en/devices/tech/power/component.html
similarity index 100%
rename from src/devices/tech/power/component.jd
rename to en/devices/tech/power/component.html
diff --git a/src/devices/tech/power/device.jd b/en/devices/tech/power/device.html
similarity index 100%
rename from src/devices/tech/power/device.jd
rename to en/devices/tech/power/device.html
diff --git a/src/devices/tech/power/index.jd b/en/devices/tech/power/index.html
similarity index 100%
rename from src/devices/tech/power/index.jd
rename to en/devices/tech/power/index.html
diff --git a/src/devices/tech/power/mgmt.jd b/en/devices/tech/power/mgmt.html
similarity index 100%
rename from src/devices/tech/power/mgmt.jd
rename to en/devices/tech/power/mgmt.html
diff --git a/src/devices/tech/power/performance.jd b/en/devices/tech/power/performance.html
similarity index 100%
rename from src/devices/tech/power/performance.jd
rename to en/devices/tech/power/performance.html
diff --git a/src/devices/tech/power/values.jd b/en/devices/tech/power/values.html
similarity index 100%
rename from src/devices/tech/power/values.jd
rename to en/devices/tech/power/values.html
diff --git a/src/devices/tech/test_infra/tradefed/full_example.jd b/en/devices/tech/test_infra/tradefed/full_example.html
similarity index 100%
rename from src/devices/tech/test_infra/tradefed/full_example.jd
rename to en/devices/tech/test_infra/tradefed/full_example.html
diff --git a/src/devices/tech/test_infra/tradefed/fundamentals/devices.jd b/en/devices/tech/test_infra/tradefed/fundamentals/devices.html
similarity index 100%
rename from src/devices/tech/test_infra/tradefed/fundamentals/devices.jd
rename to en/devices/tech/test_infra/tradefed/fundamentals/devices.html
diff --git a/src/devices/tech/test_infra/tradefed/fundamentals/index.jd b/en/devices/tech/test_infra/tradefed/fundamentals/index.html
similarity index 100%
rename from src/devices/tech/test_infra/tradefed/fundamentals/index.jd
rename to en/devices/tech/test_infra/tradefed/fundamentals/index.html
diff --git a/src/devices/tech/test_infra/tradefed/fundamentals/lifecycle.jd b/en/devices/tech/test_infra/tradefed/fundamentals/lifecycle.html
similarity index 100%
rename from src/devices/tech/test_infra/tradefed/fundamentals/lifecycle.jd
rename to en/devices/tech/test_infra/tradefed/fundamentals/lifecycle.html
diff --git a/src/devices/tech/test_infra/tradefed/fundamentals/machine_setup.jd b/en/devices/tech/test_infra/tradefed/fundamentals/machine_setup.html
similarity index 100%
rename from src/devices/tech/test_infra/tradefed/fundamentals/machine_setup.jd
rename to en/devices/tech/test_infra/tradefed/fundamentals/machine_setup.html
diff --git a/src/devices/tech/test_infra/tradefed/fundamentals/options.jd b/en/devices/tech/test_infra/tradefed/fundamentals/options.html
similarity index 100%
rename from src/devices/tech/test_infra/tradefed/fundamentals/options.jd
rename to en/devices/tech/test_infra/tradefed/fundamentals/options.html
diff --git a/src/devices/tech/test_infra/tradefed/fundamentals/vts.jd b/en/devices/tech/test_infra/tradefed/fundamentals/vts.html
similarity index 100%
rename from src/devices/tech/test_infra/tradefed/fundamentals/vts.jd
rename to en/devices/tech/test_infra/tradefed/fundamentals/vts.html
diff --git a/src/devices/tech/test_infra/tradefed/index.jd b/en/devices/tech/test_infra/tradefed/index.html
similarity index 100%
rename from src/devices/tech/test_infra/tradefed/index.jd
rename to en/devices/tech/test_infra/tradefed/index.html
diff --git a/src/devices/tech/test_infra/tradefed/template.jd b/en/devices/tech/test_infra/tradefed/template.html
similarity index 100%
rename from src/devices/tech/test_infra/tradefed/template.jd
rename to en/devices/tech/test_infra/tradefed/template.html
diff --git a/src/devices/tv/HDMI-CEC.jd b/en/devices/tv/hdmi-cec.html
similarity index 100%
rename from src/devices/tv/HDMI-CEC.jd
rename to en/devices/tv/hdmi-cec.html
diff --git a/src/devices/tv/images/Built-in_Tuner_TV_Input.png b/en/devices/tv/images/Built-in_Tuner_TV_Input.png
similarity index 100%
rename from src/devices/tv/images/Built-in_Tuner_TV_Input.png
rename to en/devices/tv/images/Built-in_Tuner_TV_Input.png
Binary files differ
diff --git a/src/devices/tv/images/HDMI_Control_Service.png b/en/devices/tv/images/HDMI_Control_Service.png
similarity index 100%
rename from src/devices/tv/images/HDMI_Control_Service.png
rename to en/devices/tv/images/HDMI_Control_Service.png
Binary files differ
diff --git a/src/devices/tv/images/HDMI_Control_Service_Flow.png b/en/devices/tv/images/HDMI_Control_Service_Flow.png
similarity index 100%
rename from src/devices/tv/images/HDMI_Control_Service_Flow.png
rename to en/devices/tv/images/HDMI_Control_Service_Flow.png
Binary files differ
diff --git a/src/devices/tv/images/LiveChannels_Add_channel.png b/en/devices/tv/images/LiveChannels_Add_channel.png
similarity index 100%
rename from src/devices/tv/images/LiveChannels_Add_channel.png
rename to en/devices/tv/images/LiveChannels_Add_channel.png
Binary files differ
diff --git a/src/devices/tv/images/LiveChannels_channel_list.png b/en/devices/tv/images/LiveChannels_channel_list.png
similarity index 100%
rename from src/devices/tv/images/LiveChannels_channel_list.png
rename to en/devices/tv/images/LiveChannels_channel_list.png
Binary files differ
diff --git a/src/devices/tv/images/LiveChannels_channel_sources.png b/en/devices/tv/images/LiveChannels_channel_sources.png
similarity index 100%
rename from src/devices/tv/images/LiveChannels_channel_sources.png
rename to en/devices/tv/images/LiveChannels_channel_sources.png
Binary files differ
diff --git a/src/devices/tv/images/LiveChannels_customize_channel-list.png b/en/devices/tv/images/LiveChannels_customize_channel-list.png
similarity index 100%
rename from src/devices/tv/images/LiveChannels_customize_channel-list.png
rename to en/devices/tv/images/LiveChannels_customize_channel-list.png
Binary files differ
diff --git a/src/devices/tv/images/LiveChannels_set_up_sources.png b/en/devices/tv/images/LiveChannels_set_up_sources.png
similarity index 100%
rename from src/devices/tv/images/LiveChannels_set_up_sources.png
rename to en/devices/tv/images/LiveChannels_set_up_sources.png
Binary files differ
diff --git a/src/devices/tv/images/LiveChannels_settings.png b/en/devices/tv/images/LiveChannels_settings.png
similarity index 100%
rename from src/devices/tv/images/LiveChannels_settings.png
rename to en/devices/tv/images/LiveChannels_settings.png
Binary files differ
diff --git a/src/devices/tv/images/LiveChannels_sources.png b/en/devices/tv/images/LiveChannels_sources.png
similarity index 100%
rename from src/devices/tv/images/LiveChannels_sources.png
rename to en/devices/tv/images/LiveChannels_sources.png
Binary files differ
diff --git a/src/devices/tv/images/TIF_HDMI_TV_Input.png b/en/devices/tv/images/TIF_HDMI_TV_Input.png
similarity index 100%
rename from src/devices/tv/images/TIF_HDMI_TV_Input.png
rename to en/devices/tv/images/TIF_HDMI_TV_Input.png
Binary files differ
diff --git a/src/devices/tv/images/TIF_MHEG5_app.png b/en/devices/tv/images/TIF_MHEG5_app.png
similarity index 100%
rename from src/devices/tv/images/TIF_MHEG5_app.png
rename to en/devices/tv/images/TIF_MHEG5_app.png
Binary files differ
diff --git a/src/devices/tv/images/TIF_Overview.png b/en/devices/tv/images/TIF_Overview.png
similarity index 100%
rename from src/devices/tv/images/TIF_Overview.png
rename to en/devices/tv/images/TIF_Overview.png
Binary files differ
diff --git a/src/devices/tv/images/TIF_PIP-PAP.png b/en/devices/tv/images/TIF_PIP-PAP.png
similarity index 100%
rename from src/devices/tv/images/TIF_PIP-PAP.png
rename to en/devices/tv/images/TIF_PIP-PAP.png
Binary files differ
diff --git a/src/devices/tv/images/TIF_TV_Provider.png b/en/devices/tv/images/TIF_TV_Provider.png
similarity index 100%
rename from src/devices/tv/images/TIF_TV_Provider.png
rename to en/devices/tv/images/TIF_TV_Provider.png
Binary files differ
diff --git a/src/devices/tv/images/TIF_timeshift.png b/en/devices/tv/images/TIF_timeshift.png
similarity index 100%
rename from src/devices/tv/images/TIF_timeshift.png
rename to en/devices/tv/images/TIF_timeshift.png
Binary files differ
diff --git a/src/devices/tv/images/TV_App_CEC_integration.png b/en/devices/tv/images/TV_App_CEC_integration.png
similarity index 100%
rename from src/devices/tv/images/TV_App_CEC_integration.png
rename to en/devices/tv/images/TV_App_CEC_integration.png
Binary files differ
diff --git a/src/devices/tv/images/TV_Input_DVR.png b/en/devices/tv/images/TV_Input_DVR.png
similarity index 100%
rename from src/devices/tv/images/TV_Input_DVR.png
rename to en/devices/tv/images/TV_Input_DVR.png
Binary files differ
diff --git a/src/devices/tv/images/Third-party_Input_HDMI.png b/en/devices/tv/images/Third-party_Input_HDMI.png
similarity index 100%
rename from src/devices/tv/images/Third-party_Input_HDMI.png
rename to en/devices/tv/images/Third-party_Input_HDMI.png
Binary files differ
diff --git a/src/devices/tv/images/ape_fwk_hal_tv.png b/en/devices/tv/images/ape_fwk_hal_tv.png
similarity index 100%
rename from src/devices/tv/images/ape_fwk_hal_tv.png
rename to en/devices/tv/images/ape_fwk_hal_tv.png
Binary files differ
diff --git a/src/devices/tv/index.jd b/en/devices/tv/index.html
similarity index 100%
rename from src/devices/tv/index.jd
rename to en/devices/tv/index.html
diff --git a/src/devices/tv/reference-tv-app.jd b/en/devices/tv/reference-tv-app.html
similarity index 100%
rename from src/devices/tv/reference-tv-app.jd
rename to en/devices/tv/reference-tv-app.html
diff --git a/src/favicon.ico b/en/favicon.ico
similarity index 100%
rename from src/favicon.ico
rename to en/favicon.ico
Binary files differ
diff --git a/src/images/androidBluetooth.gif b/en/images/androidBluetooth.gif
similarity index 100%
rename from src/images/androidBluetooth.gif
rename to en/images/androidBluetooth.gif
Binary files differ
diff --git a/src/images/androidBluetoothProcessDiagram.jpg b/en/images/androidBluetoothProcessDiagram.jpg
similarity index 100%
rename from src/images/androidBluetoothProcessDiagram.jpg
rename to en/images/androidBluetoothProcessDiagram.jpg
Binary files differ
diff --git a/src/images/androidPMArchitecture.gif b/en/images/androidPMArchitecture.gif
similarity index 100%
rename from src/images/androidPMArchitecture.gif
rename to en/images/androidPMArchitecture.gif
Binary files differ
diff --git a/src/images/android_audio_architecture.gif b/en/images/android_audio_architecture.gif
similarity index 100%
rename from src/images/android_audio_architecture.gif
rename to en/images/android_audio_architecture.gif
Binary files differ
diff --git a/src/images/android_framework_details.png b/en/images/android_framework_details.png
similarity index 100%
rename from src/images/android_framework_details.png
rename to en/images/android_framework_details.png
Binary files differ
diff --git a/src/images/android_framework_small.png b/en/images/android_framework_small.png
similarity index 100%
rename from src/images/android_framework_small.png
rename to en/images/android_framework_small.png
Binary files differ
diff --git a/src/images/cameraPreview.jpg b/en/images/cameraPreview.jpg
similarity index 100%
rename from src/images/cameraPreview.jpg
rename to en/images/cameraPreview.jpg
Binary files differ
diff --git a/src/images/cameraTakePicture.jpg b/en/images/cameraTakePicture.jpg
similarity index 100%
rename from src/images/cameraTakePicture.jpg
rename to en/images/cameraTakePicture.jpg
Binary files differ
diff --git a/src/images/camera_video2.gif b/en/images/camera_video2.gif
similarity index 100%
rename from src/images/camera_video2.gif
rename to en/images/camera_video2.gif
Binary files differ
diff --git a/src/images/code-lines.png b/en/images/code-lines.png
similarity index 100%
rename from src/images/code-lines.png
rename to en/images/code-lines.png
Binary files differ
diff --git a/src/images/external-link.png b/en/images/external-link.png
similarity index 100%
rename from src/images/external-link.png
rename to en/images/external-link.png
Binary files differ
diff --git a/src/images/git-repo-1.png b/en/images/git-repo-1.png
similarity index 100%
rename from src/images/git-repo-1.png
rename to en/images/git-repo-1.png
Binary files differ
diff --git a/src/images/home-bugdroid.png b/en/images/home-bugdroid.png
similarity index 100%
rename from src/images/home-bugdroid.png
rename to en/images/home-bugdroid.png
Binary files differ
diff --git a/src/images/jack-library-file.png b/en/images/jack-library-file.png
similarity index 100%
rename from src/images/jack-library-file.png
rename to en/images/jack-library-file.png
Binary files differ
diff --git a/src/images/jack-overview.png b/en/images/jack-overview.png
similarity index 100%
rename from src/images/jack-overview.png
rename to en/images/jack-overview.png
Binary files differ
diff --git a/src/images/jill.png b/en/images/jill.png
similarity index 100%
rename from src/images/jill.png
rename to en/images/jill.png
Binary files differ
diff --git a/src/images/lil-wrench.png b/en/images/lil-wrench.png
similarity index 100%
rename from src/images/lil-wrench.png
rename to en/images/lil-wrench.png
Binary files differ
diff --git a/src/images/open_source.png b/en/images/open_source.png
similarity index 100%
rename from src/images/open_source.png
rename to en/images/open_source.png
Binary files differ
diff --git a/src/images/pre-dex.png b/en/images/pre-dex.png
similarity index 100%
rename from src/images/pre-dex.png
rename to en/images/pre-dex.png
Binary files differ
diff --git a/src/images/stk.gif b/en/images/stk.gif
similarity index 100%
rename from src/images/stk.gif
rename to en/images/stk.gif
Binary files differ
diff --git a/src/images/stk_display_text.gif b/en/images/stk_display_text.gif
similarity index 100%
rename from src/images/stk_display_text.gif
rename to en/images/stk_display_text.gif
Binary files differ
diff --git a/src/images/stk_refresh_init.gif b/en/images/stk_refresh_init.gif
similarity index 100%
rename from src/images/stk_refresh_init.gif
rename to en/images/stk_refresh_init.gif
Binary files differ
diff --git a/src/images/stk_refresh_reset.gif b/en/images/stk_refresh_reset.gif
similarity index 100%
rename from src/images/stk_refresh_reset.gif
rename to en/images/stk_refresh_reset.gif
Binary files differ
diff --git a/src/images/stk_refresh_update.gif b/en/images/stk_refresh_update.gif
similarity index 100%
rename from src/images/stk_refresh_update.gif
rename to en/images/stk_refresh_update.gif
Binary files differ
diff --git a/src/images/stk_send_SMS.gif b/en/images/stk_send_SMS.gif
similarity index 100%
rename from src/images/stk_send_SMS.gif
rename to en/images/stk_send_SMS.gif
Binary files differ
diff --git a/src/images/submit-patches-0.png b/en/images/submit-patches-0.png
similarity index 100%
rename from src/images/submit-patches-0.png
rename to en/images/submit-patches-0.png
Binary files differ
diff --git a/src/images/telephony.gif b/en/images/telephony.gif
similarity index 100%
rename from src/images/telephony.gif
rename to en/images/telephony.gif
Binary files differ
diff --git a/src/images/telephony_solicted_example.gif b/en/images/telephony_solicted_example.gif
similarity index 100%
rename from src/images/telephony_solicted_example.gif
rename to en/images/telephony_solicted_example.gif
Binary files differ
diff --git a/src/images/telephony_unsolicted_example.gif b/en/images/telephony_unsolicted_example.gif
similarity index 100%
rename from src/images/telephony_unsolicted_example.gif
rename to en/images/telephony_unsolicted_example.gif
Binary files differ
diff --git a/src/images/workflow-0.png b/en/images/workflow-0.png
similarity index 100%
rename from src/images/workflow-0.png
rename to en/images/workflow-0.png
Binary files differ
diff --git a/src/legal.jd b/en/legal.html
similarity index 100%
rename from src/legal.jd
rename to en/legal.html
diff --git a/src/license.jd b/en/license.html
similarity index 100%
rename from src/license.jd
rename to en/license.html
diff --git a/src/security/security_toc.cs b/en/security/_toc.yaml
similarity index 100%
rename from src/security/security_toc.cs
rename to en/security/_toc.yaml
diff --git a/src/security/advisory/2016-03-18.jd b/en/security/advisory/2016-03-18.html
similarity index 100%
rename from src/security/advisory/2016-03-18.jd
rename to en/security/advisory/2016-03-18.html
diff --git a/src/security/advisory/index.jd b/en/security/advisory/index.html
similarity index 100%
rename from src/security/advisory/index.jd
rename to en/security/advisory/index.html
diff --git a/src/security/apksigning/index.jd b/en/security/apksigning/index.html
similarity index 100%
rename from src/security/apksigning/index.jd
rename to en/security/apksigning/index.html
diff --git a/src/security/apksigning/v2.jd b/en/security/apksigning/v2.html
similarity index 100%
rename from src/security/apksigning/v2.jd
rename to en/security/apksigning/v2.html
diff --git a/src/security/authentication/fingerprint-hal.jd b/en/security/authentication/fingerprint-hal.html
similarity index 100%
rename from src/security/authentication/fingerprint-hal.jd
rename to en/security/authentication/fingerprint-hal.html
diff --git a/src/security/authentication/gatekeeper.jd b/en/security/authentication/gatekeeper.html
similarity index 100%
rename from src/security/authentication/gatekeeper.jd
rename to en/security/authentication/gatekeeper.html
diff --git a/src/security/authentication/index.jd b/en/security/authentication/index.html
similarity index 100%
rename from src/security/authentication/index.jd
rename to en/security/authentication/index.html
diff --git a/src/security/bulletin/2015-08-01.jd b/en/security/bulletin/2015-08-01.html
similarity index 100%
rename from src/security/bulletin/2015-08-01.jd
rename to en/security/bulletin/2015-08-01.html
diff --git a/src/security/bulletin/2015-09-01.jd b/en/security/bulletin/2015-09-01.html
similarity index 100%
rename from src/security/bulletin/2015-09-01.jd
rename to en/security/bulletin/2015-09-01.html
diff --git a/src/security/bulletin/2015-10-01.jd b/en/security/bulletin/2015-10-01.html
similarity index 100%
rename from src/security/bulletin/2015-10-01.jd
rename to en/security/bulletin/2015-10-01.html
diff --git a/src/security/bulletin/2015-11-01.jd b/en/security/bulletin/2015-11-01.html
similarity index 100%
rename from src/security/bulletin/2015-11-01.jd
rename to en/security/bulletin/2015-11-01.html
diff --git a/src/security/bulletin/2015-12-01.jd b/en/security/bulletin/2015-12-01.html
similarity index 100%
rename from src/security/bulletin/2015-12-01.jd
rename to en/security/bulletin/2015-12-01.html
diff --git a/src/security/bulletin/2015.jd b/en/security/bulletin/2015.html
similarity index 100%
rename from src/security/bulletin/2015.jd
rename to en/security/bulletin/2015.html
diff --git a/src/security/bulletin/2016-01-01.jd b/en/security/bulletin/2016-01-01.html
similarity index 100%
rename from src/security/bulletin/2016-01-01.jd
rename to en/security/bulletin/2016-01-01.html
diff --git a/src/security/bulletin/2016-02-01.jd b/en/security/bulletin/2016-02-01.html
similarity index 100%
rename from src/security/bulletin/2016-02-01.jd
rename to en/security/bulletin/2016-02-01.html
diff --git a/src/security/bulletin/2016-03-01.jd b/en/security/bulletin/2016-03-01.html
similarity index 100%
rename from src/security/bulletin/2016-03-01.jd
rename to en/security/bulletin/2016-03-01.html
diff --git a/src/security/bulletin/2016-04-02.jd b/en/security/bulletin/2016-04-02.html
similarity index 100%
rename from src/security/bulletin/2016-04-02.jd
rename to en/security/bulletin/2016-04-02.html
diff --git a/src/security/bulletin/2016-05-01.jd b/en/security/bulletin/2016-05-01.html
similarity index 100%
rename from src/security/bulletin/2016-05-01.jd
rename to en/security/bulletin/2016-05-01.html
diff --git a/src/security/bulletin/2016-06-01.jd b/en/security/bulletin/2016-06-01.html
similarity index 100%
rename from src/security/bulletin/2016-06-01.jd
rename to en/security/bulletin/2016-06-01.html
diff --git a/src/security/bulletin/2016-07-01.jd b/en/security/bulletin/2016-07-01.html
similarity index 100%
rename from src/security/bulletin/2016-07-01.jd
rename to en/security/bulletin/2016-07-01.html
diff --git a/src/security/bulletin/2016-08-01.jd b/en/security/bulletin/2016-08-01.html
similarity index 100%
rename from src/security/bulletin/2016-08-01.jd
rename to en/security/bulletin/2016-08-01.html
diff --git a/src/security/bulletin/2016-09-01.jd b/en/security/bulletin/2016-09-01.html
similarity index 100%
rename from src/security/bulletin/2016-09-01.jd
rename to en/security/bulletin/2016-09-01.html
diff --git a/src/security/bulletin/2016-10-01.jd b/en/security/bulletin/2016-10-01.html
similarity index 100%
rename from src/security/bulletin/2016-10-01.jd
rename to en/security/bulletin/2016-10-01.html
diff --git a/src/security/bulletin/2016-11-01.jd b/en/security/bulletin/2016-11-01.html
similarity index 100%
rename from src/security/bulletin/2016-11-01.jd
rename to en/security/bulletin/2016-11-01.html
diff --git a/src/security/bulletin/2016-12-01.jd b/en/security/bulletin/2016-12-01.html
similarity index 100%
rename from src/security/bulletin/2016-12-01.jd
rename to en/security/bulletin/2016-12-01.html
diff --git a/src/security/bulletin/2016.jd b/en/security/bulletin/2016.html
similarity index 100%
rename from src/security/bulletin/2016.jd
rename to en/security/bulletin/2016.html
diff --git a/src/security/bulletin/2017-01-01.jd b/en/security/bulletin/2017-01-01.html
similarity index 100%
rename from src/security/bulletin/2017-01-01.jd
rename to en/security/bulletin/2017-01-01.html
diff --git a/src/security/bulletin/2017-02-01.jd b/en/security/bulletin/2017-02-01.html
similarity index 100%
rename from src/security/bulletin/2017-02-01.jd
rename to en/security/bulletin/2017-02-01.html
diff --git a/src/security/bulletin/2017-03-01.jd b/en/security/bulletin/2017-03-01.html
similarity index 100%
rename from src/security/bulletin/2017-03-01.jd
rename to en/security/bulletin/2017-03-01.html
diff --git a/src/security/bulletin/index.jd b/en/security/bulletin/index.html
similarity index 100%
rename from src/security/bulletin/index.jd
rename to en/security/bulletin/index.html
diff --git a/src/security/encryption/file-based.jd b/en/security/encryption/file-based.html
similarity index 100%
rename from src/security/encryption/file-based.jd
rename to en/security/encryption/file-based.html
diff --git a/src/security/encryption/full-disk.jd b/en/security/encryption/full-disk.html
similarity index 100%
rename from src/security/encryption/full-disk.jd
rename to en/security/encryption/full-disk.html
diff --git a/src/security/encryption/index.jd b/en/security/encryption/index.html
similarity index 100%
rename from src/security/encryption/index.jd
rename to en/security/encryption/index.html
diff --git a/src/security/enhancements/enhancements41.jd b/en/security/enhancements/enhancements41.html
similarity index 100%
rename from src/security/enhancements/enhancements41.jd
rename to en/security/enhancements/enhancements41.html
diff --git a/src/security/enhancements/enhancements42.jd b/en/security/enhancements/enhancements42.html
similarity index 100%
rename from src/security/enhancements/enhancements42.jd
rename to en/security/enhancements/enhancements42.html
diff --git a/src/security/enhancements/enhancements43.jd b/en/security/enhancements/enhancements43.html
similarity index 100%
rename from src/security/enhancements/enhancements43.jd
rename to en/security/enhancements/enhancements43.html
diff --git a/src/security/enhancements/enhancements44.jd b/en/security/enhancements/enhancements44.html
similarity index 100%
rename from src/security/enhancements/enhancements44.jd
rename to en/security/enhancements/enhancements44.html
diff --git a/src/security/enhancements/enhancements50.jd b/en/security/enhancements/enhancements50.html
similarity index 100%
rename from src/security/enhancements/enhancements50.jd
rename to en/security/enhancements/enhancements50.html
diff --git a/src/security/enhancements/enhancements60.jd b/en/security/enhancements/enhancements60.html
similarity index 100%
rename from src/security/enhancements/enhancements60.jd
rename to en/security/enhancements/enhancements60.html
diff --git a/src/security/enhancements/enhancements70.jd b/en/security/enhancements/enhancements70.html
similarity index 100%
rename from src/security/enhancements/enhancements70.jd
rename to en/security/enhancements/enhancements70.html
diff --git a/src/security/enhancements/index.jd b/en/security/enhancements/index.html
similarity index 100%
rename from src/security/enhancements/index.jd
rename to en/security/enhancements/index.html
diff --git a/src/security/images/access-to-keymaster.png b/en/security/images/access-to-keymaster.png
similarity index 100%
rename from src/security/images/access-to-keymaster.png
rename to en/security/images/access-to-keymaster.png
Binary files differ
diff --git a/src/security/images/android_software_stack.png b/en/security/images/android_software_stack.png
similarity index 100%
rename from src/security/images/android_software_stack.png
rename to en/security/images/android_software_stack.png
Binary files differ
diff --git a/src/security/images/apk-before-after-signing.png b/en/security/images/apk-before-after-signing.png
similarity index 100%
rename from src/security/images/apk-before-after-signing.png
rename to en/security/images/apk-before-after-signing.png
Binary files differ
diff --git a/src/security/images/apk-integrity-protection.png b/en/security/images/apk-integrity-protection.png
similarity index 100%
rename from src/security/images/apk-integrity-protection.png
rename to en/security/images/apk-integrity-protection.png
Binary files differ
diff --git a/src/security/images/apk-sections.png b/en/security/images/apk-sections.png
similarity index 100%
rename from src/security/images/apk-sections.png
rename to en/security/images/apk-sections.png
Binary files differ
diff --git a/src/security/images/apk-validation-process.png b/en/security/images/apk-validation-process.png
similarity index 100%
rename from src/security/images/apk-validation-process.png
rename to en/security/images/apk-validation-process.png
Binary files differ
diff --git a/src/security/images/authentication-flow.png b/en/security/images/authentication-flow.png
similarity index 100%
rename from src/security/images/authentication-flow.png
rename to en/security/images/authentication-flow.png
Binary files differ
diff --git a/src/security/images/boot_orange.png b/en/security/images/boot_orange.png
similarity index 100%
rename from src/security/images/boot_orange.png
rename to en/security/images/boot_orange.png
Binary files differ
diff --git a/src/security/images/boot_red1.png b/en/security/images/boot_red1.png
similarity index 100%
rename from src/security/images/boot_red1.png
rename to en/security/images/boot_red1.png
Binary files differ
diff --git a/src/security/images/boot_red2.png b/en/security/images/boot_red2.png
similarity index 100%
rename from src/security/images/boot_red2.png
rename to en/security/images/boot_red2.png
Binary files differ
diff --git a/src/security/images/boot_yellow1.png b/en/security/images/boot_yellow1.png
similarity index 100%
rename from src/security/images/boot_yellow1.png
rename to en/security/images/boot_yellow1.png
Binary files differ
diff --git a/src/security/images/boot_yellow2.png b/en/security/images/boot_yellow2.png
similarity index 100%
rename from src/security/images/boot_yellow2.png
rename to en/security/images/boot_yellow2.png
Binary files differ
diff --git a/src/security/images/dm-verity-hash-table.png b/en/security/images/dm-verity-hash-table.png
similarity index 100%
rename from src/security/images/dm-verity-hash-table.png
rename to en/security/images/dm-verity-hash-table.png
Binary files differ
diff --git a/src/security/images/dm-verity_mgmt.png b/en/security/images/dm-verity_mgmt.png
similarity index 100%
rename from src/security/images/dm-verity_mgmt.png
rename to en/security/images/dm-verity_mgmt.png
Binary files differ
diff --git a/src/security/images/fingerprint-daemon.png b/en/security/images/fingerprint-daemon.png
similarity index 100%
rename from src/security/images/fingerprint-daemon.png
rename to en/security/images/fingerprint-daemon.png
Binary files differ
diff --git a/src/security/images/fingerprint-data-flow.png b/en/security/images/fingerprint-data-flow.png
similarity index 100%
rename from src/security/images/fingerprint-data-flow.png
rename to en/security/images/fingerprint-data-flow.png
Binary files differ
diff --git a/src/security/images/gatekeeper-flow.png b/en/security/images/gatekeeper-flow.png
similarity index 100%
rename from src/security/images/gatekeeper-flow.png
rename to en/security/images/gatekeeper-flow.png
Binary files differ
diff --git a/src/security/images/image00.png b/en/security/images/image00.png
similarity index 100%
rename from src/security/images/image00.png
rename to en/security/images/image00.png
Binary files differ
diff --git a/src/security/images/image02.png b/en/security/images/image02.png
similarity index 100%
rename from src/security/images/image02.png
rename to en/security/images/image02.png
Binary files differ
diff --git a/src/security/images/image03.png b/en/security/images/image03.png
similarity index 100%
rename from src/security/images/image03.png
rename to en/security/images/image03.png
Binary files differ
diff --git a/src/security/images/image_gmail_installed.png b/en/security/images/image_gmail_installed.png
similarity index 100%
rename from src/security/images/image_gmail_installed.png
rename to en/security/images/image_gmail_installed.png
Binary files differ
diff --git a/src/security/images/image_install.png b/en/security/images/image_install.png
similarity index 100%
rename from src/security/images/image_install.png
rename to en/security/images/image_install.png
Binary files differ
diff --git a/src/security/images/patchreward.png b/en/security/images/patchreward.png
similarity index 100%
rename from src/security/images/patchreward.png
rename to en/security/images/patchreward.png
Binary files differ
diff --git a/src/security/images/permissions_check.png b/en/security/images/permissions_check.png
similarity index 100%
rename from src/security/images/permissions_check.png
rename to en/security/images/permissions_check.png
Binary files differ
diff --git a/src/security/images/tiny-robot.png b/en/security/images/tiny-robot.png
similarity index 100%
rename from src/security/images/tiny-robot.png
rename to en/security/images/tiny-robot.png
Binary files differ
diff --git a/src/security/images/verified_boot.png b/en/security/images/verified_boot.png
similarity index 100%
rename from src/security/images/verified_boot.png
rename to en/security/images/verified_boot.png
Binary files differ
diff --git a/src/security/index.jd b/en/security/index.html
similarity index 100%
rename from src/security/index.jd
rename to en/security/index.html
diff --git a/src/security/keystore/features.jd b/en/security/keystore/features.html
similarity index 100%
rename from src/security/keystore/features.jd
rename to en/security/keystore/features.html
diff --git a/src/security/keystore/implementer-ref.jd b/en/security/keystore/implementer-ref.html
similarity index 100%
rename from src/security/keystore/implementer-ref.jd
rename to en/security/keystore/implementer-ref.html
diff --git a/src/security/keystore/index.jd b/en/security/keystore/index.html
similarity index 100%
rename from src/security/keystore/index.jd
rename to en/security/keystore/index.html
diff --git a/src/security/overview/acknowledgements.jd b/en/security/overview/acknowledgements.html
similarity index 100%
rename from src/security/overview/acknowledgements.jd
rename to en/security/overview/acknowledgements.html
diff --git a/src/security/overview/app-security.jd b/en/security/overview/app-security.html
similarity index 100%
rename from src/security/overview/app-security.jd
rename to en/security/overview/app-security.html
diff --git a/src/security/overview/implement.jd b/en/security/overview/implement.html
similarity index 100%
rename from src/security/overview/implement.jd
rename to en/security/overview/implement.html
diff --git a/src/security/overview/kernel-security.jd b/en/security/overview/kernel-security.html
similarity index 100%
rename from src/security/overview/kernel-security.jd
rename to en/security/overview/kernel-security.html
diff --git a/src/security/overview/updates-resources.jd b/en/security/overview/updates-resources.html
similarity index 100%
rename from src/security/overview/updates-resources.jd
rename to en/security/overview/updates-resources.html
diff --git a/src/security/selinux/concepts.jd b/en/security/selinux/concepts.html
similarity index 100%
rename from src/security/selinux/concepts.jd
rename to en/security/selinux/concepts.html
diff --git a/src/security/selinux/customize.jd b/en/security/selinux/customize.html
similarity index 100%
rename from src/security/selinux/customize.jd
rename to en/security/selinux/customize.html
diff --git a/src/security/selinux/device-policy.jd b/en/security/selinux/device-policy.html
similarity index 100%
rename from src/security/selinux/device-policy.jd
rename to en/security/selinux/device-policy.html
diff --git a/src/security/selinux/images/selinux_device_policy_reduction.png b/en/security/selinux/images/selinux_device_policy_reduction.png
similarity index 100%
rename from src/security/selinux/images/selinux_device_policy_reduction.png
rename to en/security/selinux/images/selinux_device_policy_reduction.png
Binary files differ
diff --git a/src/security/selinux/implement.jd b/en/security/selinux/implement.html
similarity index 100%
rename from src/security/selinux/implement.jd
rename to en/security/selinux/implement.html
diff --git a/src/security/selinux/index.jd b/en/security/selinux/index.html
similarity index 100%
rename from src/security/selinux/index.jd
rename to en/security/selinux/index.html
diff --git a/src/security/selinux/validate.jd b/en/security/selinux/validate.html
similarity index 100%
rename from src/security/selinux/validate.jd
rename to en/security/selinux/validate.html
diff --git a/src/security/trusty/index.jd b/en/security/trusty/index.html
similarity index 100%
rename from src/security/trusty/index.jd
rename to en/security/trusty/index.html
diff --git a/src/security/trusty/trusty-ref.jd b/en/security/trusty/trusty-ref.html
similarity index 100%
rename from src/security/trusty/trusty-ref.jd
rename to en/security/trusty/trusty-ref.html
diff --git a/src/security/verifiedboot/dm-verity.jd b/en/security/verifiedboot/dm-verity.html
similarity index 100%
rename from src/security/verifiedboot/dm-verity.jd
rename to en/security/verifiedboot/dm-verity.html
diff --git a/src/security/verifiedboot/index.jd b/en/security/verifiedboot/index.html
similarity index 100%
rename from src/security/verifiedboot/index.jd
rename to en/security/verifiedboot/index.html
diff --git a/src/security/verifiedboot/verified-boot.jd b/en/security/verifiedboot/verified-boot.html
similarity index 100%
rename from src/security/verifiedboot/verified-boot.jd
rename to en/security/verifiedboot/verified-boot.html
diff --git a/src/source/51-android.rules b/en/source/51-android.txt
similarity index 100%
rename from src/source/51-android.rules
rename to en/source/51-android.txt
diff --git a/src/source/64-bit-builds.jd b/en/source/64-bit-builds.html
similarity index 100%
rename from src/source/64-bit-builds.jd
rename to en/source/64-bit-builds.html
diff --git a/src/source/source_toc.cs b/en/source/_toc.yaml
similarity index 100%
rename from src/source/source_toc.cs
rename to en/source/_toc.yaml
diff --git a/src/source/add-device.jd b/en/source/add-device.html
similarity index 100%
rename from src/source/add-device.jd
rename to en/source/add-device.html
diff --git a/src/source/assets/bg_fade.jpg b/en/source/assets/bg_fade.jpg
similarity index 100%
rename from src/source/assets/bg_fade.jpg
rename to en/source/assets/bg_fade.jpg
Binary files differ
diff --git a/src/source/assets/bg_images_sprite.png b/en/source/assets/bg_images_sprite.png
similarity index 100%
rename from src/source/assets/bg_images_sprite.png
rename to en/source/assets/bg_images_sprite.png
Binary files differ
diff --git a/src/source/assets/main.css b/en/source/assets/main.css
similarity index 100%
rename from src/source/assets/main.css
rename to en/source/assets/main.css
diff --git a/src/source/assets/rebox-gradient.gif b/en/source/assets/rebox-gradient.gif
similarity index 100%
rename from src/source/assets/rebox-gradient.gif
rename to en/source/assets/rebox-gradient.gif
Binary files differ
diff --git a/src/source/brands.jd b/en/source/brands.html
similarity index 100%
rename from src/source/brands.jd
rename to en/source/brands.html
diff --git a/src/source/build-numbers.jd b/en/source/build-numbers.html
similarity index 100%
rename from src/source/build-numbers.jd
rename to en/source/build-numbers.html
diff --git a/src/source/building-kernels.jd b/en/source/building-kernels.html
similarity index 100%
rename from src/source/building-kernels.jd
rename to en/source/building-kernels.html
diff --git a/src/source/building.jd b/en/source/building.html
similarity index 100%
rename from src/source/building.jd
rename to en/source/building.html
diff --git a/src/source/code-lines.jd b/en/source/code-lines.html
similarity index 100%
rename from src/source/code-lines.jd
rename to en/source/code-lines.html
diff --git a/src/source/code-style.jd b/en/source/code-style.html
similarity index 100%
rename from src/source/code-style.jd
rename to en/source/code-style.html
diff --git a/src/source/community.jd b/en/source/community.html
similarity index 100%
rename from src/source/community.jd
rename to en/source/community.html
diff --git a/src/source/contributing.jd b/en/source/contributing.html
similarity index 100%
rename from src/source/contributing.jd
rename to en/source/contributing.html
diff --git a/src/source/developing.jd b/en/source/developing.html
similarity index 100%
rename from src/source/developing.jd
rename to en/source/developing.html
diff --git a/src/source/devices.jd b/en/source/devices.html
similarity index 100%
rename from src/source/devices.jd
rename to en/source/devices.html
diff --git a/src/source/downloading.jd b/en/source/downloading.html
similarity index 100%
rename from src/source/downloading.jd
rename to en/source/downloading.html
diff --git a/src/source/faqs.jd b/en/source/faqs.html
similarity index 100%
rename from src/source/faqs.jd
rename to en/source/faqs.html
diff --git a/src/source/git-resources.jd b/en/source/git-resources.html
similarity index 100%
rename from src/source/git-resources.jd
rename to en/source/git-resources.html
diff --git a/src/source/images/8100-TM-example.png b/en/source/images/8100-TM-example.png
similarity index 100%
rename from src/source/images/8100-TM-example.png
rename to en/source/images/8100-TM-example.png
Binary files differ
diff --git a/src/source/images/Android_Robot_100.png b/en/source/images/Android_Robot_100.png
similarity index 100%
rename from src/source/images/Android_Robot_100.png
rename to en/source/images/Android_Robot_100.png
Binary files differ
diff --git a/src/source/images/JB-TM-example.png b/en/source/images/JB-TM-example.png
similarity index 100%
rename from src/source/images/JB-TM-example.png
rename to en/source/images/JB-TM-example.png
Binary files differ
diff --git a/src/source/images/No_PeaceBot_200.jpg b/en/source/images/No_PeaceBot_200.jpg
similarity index 100%
rename from src/source/images/No_PeaceBot_200.jpg
rename to en/source/images/No_PeaceBot_200.jpg
Binary files differ
diff --git a/src/source/images/XBrand-TM-example.jpg b/en/source/images/XBrand-TM-example.jpg
similarity index 100%
rename from src/source/images/XBrand-TM-example.jpg
rename to en/source/images/XBrand-TM-example.jpg
Binary files differ
diff --git a/src/source/images/android_logo_new_crossed_out.png b/en/source/images/android_logo_new_crossed_out.png
similarity index 100%
rename from src/source/images/android_logo_new_crossed_out.png
rename to en/source/images/android_logo_new_crossed_out.png
Binary files differ
diff --git a/src/source/images/android_logo_old_crossed_out.png b/en/source/images/android_logo_old_crossed_out.png
similarity index 100%
rename from src/source/images/android_logo_old_crossed_out.png
rename to en/source/images/android_logo_old_crossed_out.png
Binary files differ
diff --git a/src/source/images/hikey-board.png b/en/source/images/hikey-board.png
similarity index 100%
rename from src/source/images/hikey-board.png
rename to en/source/images/hikey-board.png
Binary files differ
diff --git a/src/source/index.jd b/en/source/index.html
similarity index 100%
rename from src/source/index.jd
rename to en/source/index.html
diff --git a/src/source/initializing.jd b/en/source/initializing.html
similarity index 100%
rename from src/source/initializing.jd
rename to en/source/initializing.html
diff --git a/src/source/jack.jd b/en/source/jack.html
similarity index 100%
rename from src/source/jack.jd
rename to en/source/jack.html
diff --git a/src/source/known-issues.jd b/en/source/known-issues.html
similarity index 100%
rename from src/source/known-issues.jd
rename to en/source/known-issues.html
diff --git a/src/source/licenses.jd b/en/source/licenses.html
similarity index 100%
rename from src/source/licenses.jd
rename to en/source/licenses.html
diff --git a/src/source/life-of-a-bug.jd b/en/source/life-of-a-bug.html
similarity index 100%
rename from src/source/life-of-a-bug.jd
rename to en/source/life-of-a-bug.html
diff --git a/src/source/life-of-a-patch.jd b/en/source/life-of-a-patch.html
similarity index 100%
rename from src/source/life-of-a-patch.jd
rename to en/source/life-of-a-patch.html
diff --git a/src/source/read-bug-reports.jd b/en/source/read-bug-reports.html
similarity index 100%
rename from src/source/read-bug-reports.jd
rename to en/source/read-bug-reports.html
diff --git a/src/source/report-bugs.jd b/en/source/report-bugs.html
similarity index 100%
rename from src/source/report-bugs.jd
rename to en/source/report-bugs.html
diff --git a/src/source/requirements.jd b/en/source/requirements.html
similarity index 100%
rename from src/source/requirements.jd
rename to en/source/requirements.html
diff --git a/src/source/roles.jd b/en/source/roles.html
similarity index 100%
rename from src/source/roles.jd
rename to en/source/roles.html
diff --git a/src/source/running.jd b/en/source/running.html
similarity index 100%
rename from src/source/running.jd
rename to en/source/running.html
diff --git a/src/source/submit-patches.jd b/en/source/submit-patches.html
similarity index 100%
rename from src/source/submit-patches.jd
rename to en/source/submit-patches.html
diff --git a/src/source/using-repo.jd b/en/source/using-repo.html
similarity index 100%
rename from src/source/using-repo.jd
rename to en/source/using-repo.html
diff --git a/hal_doxygen.css b/hal_doxygen.css
deleted file mode 100644
index a3e7d9c..0000000
--- a/hal_doxygen.css
+++ /dev/null
@@ -1,43 +0,0 @@
-.title {
-    color:#333;
-    font-size: 34px;
-    margin: 36px 0 27px;
-    padding:0 0 10px;
-    font-weight:300;
-}
-
-#header {
-  padding: 1.2em 0 0.2em 0;
-  margin: 10px 120px;
-}
-
-a:hover,
-acronym:hover {
-  color: #7aa1b0 !important; }
-
-a:link, a:visited {
-  color: #258aaf;
-  text-decoration: none;
-}
-
-a:focus, a:hover, a:active {
-  color: #33b5e5;
-  text-decoration: none;
-}
-
-a.toptab {
-  color: #333;
-  font-size: 16px;
-}
-
-a.devices {
-  color: #F80;
-  font-size: 16px;
-}
-
-hr.light {
-    border: 0;
-    height: 0;
-    border-top: 1px solid rgba(0, 0, 0, 0.1);
-    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
-}
diff --git a/hal_footer.html b/hal_footer.html
deleted file mode 100644
index dcbd05b..0000000
--- a/hal_footer.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!-- HTML footer for doxygen 1.8.4-->
-<!-- start footer part -->
-<!--BEGIN GENERATE_TREEVIEW-->
-<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
-  <ul>
-    $navpath
-    <li class="footer">$generatedby
-    <a href="/index.html">
-    <img class="footer" src="/source/images/Android_Robot_100.png" alt="Android"/></a> $doxygenversion </li>
-  </ul>
-</div>
-<!--END GENERATE_TREEVIEW-->
-<!--BEGIN !GENERATE_TREEVIEW-->
-<hr class="footer"/><address class="footer"><small>
-$generatedby &#160;<a href="/index.html">
-<img class="footer"
-src="/source/images/Android_Robot_100.png" alt="Android"/>
-</a> $doxygenversion
-</small></address>
-<!--END !GENERATE_TREEVIEW-->
-</body>
-</html>
diff --git a/hal_header.html b/hal_header.html
deleted file mode 100644
index 895a68f..0000000
--- a/hal_header.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<!-- HTML header for doxygen 1.8.4-->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen $doxygenversion"/>
-<!--BEGIN PROJECT_NAME--><title>$projectname: $title</title><!--END PROJECT_NAME-->
-<!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME-->
-<link href="$relpath^tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="//www.gstatic.com/external_hosted/source_android_com/sac_doxygen_jquery.js"></script>
-<script type="text/javascript" src="$relpath^dynsections.js"></script>
-$treeview
-$search
-$mathjax
-<link href="$relpath^$stylesheet" rel="stylesheet" type="text/css" />
-$extrastylesheet
-<script type="text/javascript">
-  var _gaq = _gaq || [];
-  _gaq.push(['_setAccount', 'UA-45455297-1']);
-  _gaq.push(['_trackPageview']);
-
-  (function() {
-    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
-    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
-  })();
-</script>
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-
-    <div id="header">
-            <table width=80%>
-              <tr>
-                <td><a href="/index.html"><img src="/assets/images/sac_logo.png" width="123" height="25" alt="Android Developers" /></td>
-                <td><a class=toptab href="/source/index.html">Source</a></td>
-                <td><a class=devices href="/devices/index.html">Devices</a></td>
-                <td><a class=toptab href="/security/index.html">Security</a></td>
-                <td><a class=toptab href="/compatibility/index.html">Compatibility</a></td>
-                <td width=20%>$searchbox</td>
-              </tr>
-            </table>
-  </div>
-<hr class=light>
-<!-- end header part -->
diff --git a/src-intl/ja_ALL/security/advisory/2016-03-18.jd b/ja/security/advisory/2016-03-18.html
similarity index 100%
rename from src-intl/ja_ALL/security/advisory/2016-03-18.jd
rename to ja/security/advisory/2016-03-18.html
diff --git a/src-intl/ja_ALL/security/bulletin/2015-08-01.jd b/ja/security/bulletin/2015-08-01.html
similarity index 100%
rename from src-intl/ja_ALL/security/bulletin/2015-08-01.jd
rename to ja/security/bulletin/2015-08-01.html
diff --git a/src-intl/ja_ALL/security/bulletin/2015-09-01.jd b/ja/security/bulletin/2015-09-01.html
similarity index 100%
rename from src-intl/ja_ALL/security/bulletin/2015-09-01.jd
rename to ja/security/bulletin/2015-09-01.html
diff --git a/src-intl/ja_ALL/security/bulletin/2015-10-01.jd b/ja/security/bulletin/2015-10-01.html
similarity index 100%
rename from src-intl/ja_ALL/security/bulletin/2015-10-01.jd
rename to ja/security/bulletin/2015-10-01.html
diff --git a/src-intl/ja_ALL/security/bulletin/2015-11-01.jd b/ja/security/bulletin/2015-11-01.html
similarity index 100%
rename from src-intl/ja_ALL/security/bulletin/2015-11-01.jd
rename to ja/security/bulletin/2015-11-01.html
diff --git a/src-intl/ja_ALL/security/bulletin/2015-12-01.jd b/ja/security/bulletin/2015-12-01.html
similarity index 100%
rename from src-intl/ja_ALL/security/bulletin/2015-12-01.jd
rename to ja/security/bulletin/2015-12-01.html
diff --git a/src-intl/ja_ALL/security/bulletin/2016-01-01.jd b/ja/security/bulletin/2016-01-01.html
similarity index 100%
rename from src-intl/ja_ALL/security/bulletin/2016-01-01.jd
rename to ja/security/bulletin/2016-01-01.html
diff --git a/src-intl/ja_ALL/security/bulletin/2016-02-01.jd b/ja/security/bulletin/2016-02-01.html
similarity index 100%
rename from src-intl/ja_ALL/security/bulletin/2016-02-01.jd
rename to ja/security/bulletin/2016-02-01.html
diff --git a/src-intl/ja_ALL/security/bulletin/2016-03-01.jd b/ja/security/bulletin/2016-03-01.html
similarity index 100%
rename from src-intl/ja_ALL/security/bulletin/2016-03-01.jd
rename to ja/security/bulletin/2016-03-01.html
diff --git a/src-intl/ja_ALL/security/bulletin/2016-04-02.jd b/ja/security/bulletin/2016-04-02.html
similarity index 100%
rename from src-intl/ja_ALL/security/bulletin/2016-04-02.jd
rename to ja/security/bulletin/2016-04-02.html
diff --git a/src-intl/ja_ALL/security/bulletin/2016-05-01.jd b/ja/security/bulletin/2016-05-01.html
similarity index 100%
rename from src-intl/ja_ALL/security/bulletin/2016-05-01.jd
rename to ja/security/bulletin/2016-05-01.html
diff --git a/src-intl/ja_ALL/security/bulletin/2016-06-01.jd b/ja/security/bulletin/2016-06-01.html
similarity index 100%
rename from src-intl/ja_ALL/security/bulletin/2016-06-01.jd
rename to ja/security/bulletin/2016-06-01.html
diff --git a/src-intl/ja_ALL/security/bulletin/2016-07-01.jd b/ja/security/bulletin/2016-07-01.html
similarity index 100%
rename from src-intl/ja_ALL/security/bulletin/2016-07-01.jd
rename to ja/security/bulletin/2016-07-01.html
diff --git a/src-intl/ja_ALL/security/bulletin/2016-08-01.jd b/ja/security/bulletin/2016-08-01.html
similarity index 100%
rename from src-intl/ja_ALL/security/bulletin/2016-08-01.jd
rename to ja/security/bulletin/2016-08-01.html
diff --git a/src-intl/ja_ALL/security/bulletin/2016-09-01.jd b/ja/security/bulletin/2016-09-01.html
similarity index 100%
rename from src-intl/ja_ALL/security/bulletin/2016-09-01.jd
rename to ja/security/bulletin/2016-09-01.html
diff --git a/src-intl/ja_ALL/security/bulletin/2016-10-01.jd b/ja/security/bulletin/2016-10-01.html
similarity index 100%
rename from src-intl/ja_ALL/security/bulletin/2016-10-01.jd
rename to ja/security/bulletin/2016-10-01.html
diff --git a/src-intl/ja_ALL/security/bulletin/2016-11-01.jd b/ja/security/bulletin/2016-11-01.html
similarity index 100%
rename from src-intl/ja_ALL/security/bulletin/2016-11-01.jd
rename to ja/security/bulletin/2016-11-01.html
diff --git a/src-intl/ja_ALL/security/bulletin/2016-12-01.jd b/ja/security/bulletin/2016-12-01.html
similarity index 100%
rename from src-intl/ja_ALL/security/bulletin/2016-12-01.jd
rename to ja/security/bulletin/2016-12-01.html
diff --git a/src-intl/ja_ALL/security/bulletin/2017-01-01.jd b/ja/security/bulletin/2017-01-01.html
similarity index 100%
rename from src-intl/ja_ALL/security/bulletin/2017-01-01.jd
rename to ja/security/bulletin/2017-01-01.html
diff --git a/src-intl/ja_ALL/security/bulletin/2017-02-01.jd b/ja/security/bulletin/2017-02-01.html
similarity index 100%
rename from src-intl/ja_ALL/security/bulletin/2017-02-01.jd
rename to ja/security/bulletin/2017-02-01.html
diff --git a/src-intl/ko_ALL/security/advisory/2016-03-18.jd b/ko/security/advisory/2016-03-18.html
similarity index 100%
rename from src-intl/ko_ALL/security/advisory/2016-03-18.jd
rename to ko/security/advisory/2016-03-18.html
diff --git a/src-intl/ko_ALL/security/bulletin/2015-08-01.jd b/ko/security/bulletin/2015-08-01.html
similarity index 100%
rename from src-intl/ko_ALL/security/bulletin/2015-08-01.jd
rename to ko/security/bulletin/2015-08-01.html
diff --git a/src-intl/ko_ALL/security/bulletin/2015-09-01.jd b/ko/security/bulletin/2015-09-01.html
similarity index 100%
rename from src-intl/ko_ALL/security/bulletin/2015-09-01.jd
rename to ko/security/bulletin/2015-09-01.html
diff --git a/src-intl/ko_ALL/security/bulletin/2015-10-01.jd b/ko/security/bulletin/2015-10-01.html
similarity index 100%
rename from src-intl/ko_ALL/security/bulletin/2015-10-01.jd
rename to ko/security/bulletin/2015-10-01.html
diff --git a/src-intl/ko_ALL/security/bulletin/2015-11-01.jd b/ko/security/bulletin/2015-11-01.html
similarity index 100%
rename from src-intl/ko_ALL/security/bulletin/2015-11-01.jd
rename to ko/security/bulletin/2015-11-01.html
diff --git a/src-intl/ko_ALL/security/bulletin/2015-12-01.jd b/ko/security/bulletin/2015-12-01.html
similarity index 100%
rename from src-intl/ko_ALL/security/bulletin/2015-12-01.jd
rename to ko/security/bulletin/2015-12-01.html
diff --git a/src-intl/ko_ALL/security/bulletin/2016-01-01.jd b/ko/security/bulletin/2016-01-01.html
similarity index 100%
rename from src-intl/ko_ALL/security/bulletin/2016-01-01.jd
rename to ko/security/bulletin/2016-01-01.html
diff --git a/src-intl/ko_ALL/security/bulletin/2016-02-01.jd b/ko/security/bulletin/2016-02-01.html
similarity index 100%
rename from src-intl/ko_ALL/security/bulletin/2016-02-01.jd
rename to ko/security/bulletin/2016-02-01.html
diff --git a/src-intl/ko_ALL/security/bulletin/2016-03-01.jd b/ko/security/bulletin/2016-03-01.html
similarity index 100%
rename from src-intl/ko_ALL/security/bulletin/2016-03-01.jd
rename to ko/security/bulletin/2016-03-01.html
diff --git a/src-intl/ko_ALL/security/bulletin/2016-04-02.jd b/ko/security/bulletin/2016-04-02.html
similarity index 100%
rename from src-intl/ko_ALL/security/bulletin/2016-04-02.jd
rename to ko/security/bulletin/2016-04-02.html
diff --git a/src-intl/ko_ALL/security/bulletin/2016-05-01.jd b/ko/security/bulletin/2016-05-01.html
similarity index 100%
rename from src-intl/ko_ALL/security/bulletin/2016-05-01.jd
rename to ko/security/bulletin/2016-05-01.html
diff --git a/src-intl/ko_ALL/security/bulletin/2016-06-01.jd b/ko/security/bulletin/2016-06-01.html
similarity index 100%
rename from src-intl/ko_ALL/security/bulletin/2016-06-01.jd
rename to ko/security/bulletin/2016-06-01.html
diff --git a/src-intl/ko_ALL/security/bulletin/2016-07-01.jd b/ko/security/bulletin/2016-07-01.html
similarity index 100%
rename from src-intl/ko_ALL/security/bulletin/2016-07-01.jd
rename to ko/security/bulletin/2016-07-01.html
diff --git a/src-intl/ko_ALL/security/bulletin/2016-08-01.jd b/ko/security/bulletin/2016-08-01.html
similarity index 100%
rename from src-intl/ko_ALL/security/bulletin/2016-08-01.jd
rename to ko/security/bulletin/2016-08-01.html
diff --git a/src-intl/ko_ALL/security/bulletin/2016-09-01.jd b/ko/security/bulletin/2016-09-01.html
similarity index 100%
rename from src-intl/ko_ALL/security/bulletin/2016-09-01.jd
rename to ko/security/bulletin/2016-09-01.html
diff --git a/src-intl/ko_ALL/security/bulletin/2016-10-01.jd b/ko/security/bulletin/2016-10-01.html
similarity index 100%
rename from src-intl/ko_ALL/security/bulletin/2016-10-01.jd
rename to ko/security/bulletin/2016-10-01.html
diff --git a/src-intl/ko_ALL/security/bulletin/2016-11-01.jd b/ko/security/bulletin/2016-11-01.html
similarity index 100%
rename from src-intl/ko_ALL/security/bulletin/2016-11-01.jd
rename to ko/security/bulletin/2016-11-01.html
diff --git a/src-intl/ko_ALL/security/bulletin/2016-12-01.jd b/ko/security/bulletin/2016-12-01.html
similarity index 100%
rename from src-intl/ko_ALL/security/bulletin/2016-12-01.jd
rename to ko/security/bulletin/2016-12-01.html
diff --git a/src-intl/ko_ALL/security/bulletin/2017-01-01.jd b/ko/security/bulletin/2017-01-01.html
similarity index 100%
rename from src-intl/ko_ALL/security/bulletin/2017-01-01.jd
rename to ko/security/bulletin/2017-01-01.html
diff --git a/src-intl/ko_ALL/security/bulletin/2017-02-01.jd b/ko/security/bulletin/2017-02-01.html
similarity index 100%
rename from src-intl/ko_ALL/security/bulletin/2017-02-01.jd
rename to ko/security/bulletin/2017-02-01.html
diff --git a/src-intl/ru_ALL/security/advisory/2016-03-18.jd b/ru/security/advisory/2016-03-18.html
similarity index 100%
rename from src-intl/ru_ALL/security/advisory/2016-03-18.jd
rename to ru/security/advisory/2016-03-18.html
diff --git a/src-intl/ru_ALL/security/bulletin/2015-08-01.jd b/ru/security/bulletin/2015-08-01.html
similarity index 100%
rename from src-intl/ru_ALL/security/bulletin/2015-08-01.jd
rename to ru/security/bulletin/2015-08-01.html
diff --git a/src-intl/ru_ALL/security/bulletin/2015-09-01.jd b/ru/security/bulletin/2015-09-01.html
similarity index 100%
rename from src-intl/ru_ALL/security/bulletin/2015-09-01.jd
rename to ru/security/bulletin/2015-09-01.html
diff --git a/src-intl/ru_ALL/security/bulletin/2015-10-01.jd b/ru/security/bulletin/2015-10-01.html
similarity index 100%
rename from src-intl/ru_ALL/security/bulletin/2015-10-01.jd
rename to ru/security/bulletin/2015-10-01.html
diff --git a/src-intl/ru_ALL/security/bulletin/2015-11-01.jd b/ru/security/bulletin/2015-11-01.html
similarity index 100%
rename from src-intl/ru_ALL/security/bulletin/2015-11-01.jd
rename to ru/security/bulletin/2015-11-01.html
diff --git a/src-intl/ru_ALL/security/bulletin/2015-12-01.jd b/ru/security/bulletin/2015-12-01.html
similarity index 100%
rename from src-intl/ru_ALL/security/bulletin/2015-12-01.jd
rename to ru/security/bulletin/2015-12-01.html
diff --git a/src-intl/ru_ALL/security/bulletin/2016-01-01.jd b/ru/security/bulletin/2016-01-01.html
similarity index 100%
rename from src-intl/ru_ALL/security/bulletin/2016-01-01.jd
rename to ru/security/bulletin/2016-01-01.html
diff --git a/src-intl/ru_ALL/security/bulletin/2016-02-01.jd b/ru/security/bulletin/2016-02-01.html
similarity index 100%
rename from src-intl/ru_ALL/security/bulletin/2016-02-01.jd
rename to ru/security/bulletin/2016-02-01.html
diff --git a/src-intl/ru_ALL/security/bulletin/2016-03-01.jd b/ru/security/bulletin/2016-03-01.html
similarity index 100%
rename from src-intl/ru_ALL/security/bulletin/2016-03-01.jd
rename to ru/security/bulletin/2016-03-01.html
diff --git a/src-intl/ru_ALL/security/bulletin/2016-04-02.jd b/ru/security/bulletin/2016-04-02.html
similarity index 100%
rename from src-intl/ru_ALL/security/bulletin/2016-04-02.jd
rename to ru/security/bulletin/2016-04-02.html
diff --git a/src-intl/ru_ALL/security/bulletin/2016-05-01.jd b/ru/security/bulletin/2016-05-01.html
similarity index 100%
rename from src-intl/ru_ALL/security/bulletin/2016-05-01.jd
rename to ru/security/bulletin/2016-05-01.html
diff --git a/src-intl/ru_ALL/security/bulletin/2016-06-01.jd b/ru/security/bulletin/2016-06-01.html
similarity index 100%
rename from src-intl/ru_ALL/security/bulletin/2016-06-01.jd
rename to ru/security/bulletin/2016-06-01.html
diff --git a/src-intl/ru_ALL/security/bulletin/2016-07-01.jd b/ru/security/bulletin/2016-07-01.html
similarity index 100%
rename from src-intl/ru_ALL/security/bulletin/2016-07-01.jd
rename to ru/security/bulletin/2016-07-01.html
diff --git a/src-intl/ru_ALL/security/bulletin/2016-08-01.jd b/ru/security/bulletin/2016-08-01.html
similarity index 100%
rename from src-intl/ru_ALL/security/bulletin/2016-08-01.jd
rename to ru/security/bulletin/2016-08-01.html
diff --git a/src-intl/ru_ALL/security/bulletin/2016-09-01.jd b/ru/security/bulletin/2016-09-01.html
similarity index 100%
rename from src-intl/ru_ALL/security/bulletin/2016-09-01.jd
rename to ru/security/bulletin/2016-09-01.html
diff --git a/src-intl/ru_ALL/security/bulletin/2016-10-01.jd b/ru/security/bulletin/2016-10-01.html
similarity index 100%
rename from src-intl/ru_ALL/security/bulletin/2016-10-01.jd
rename to ru/security/bulletin/2016-10-01.html
diff --git a/src-intl/ru_ALL/security/bulletin/2016-11-01.jd b/ru/security/bulletin/2016-11-01.html
similarity index 100%
rename from src-intl/ru_ALL/security/bulletin/2016-11-01.jd
rename to ru/security/bulletin/2016-11-01.html
diff --git a/src-intl/ru_ALL/security/bulletin/2016-12-01.jd b/ru/security/bulletin/2016-12-01.html
similarity index 100%
rename from src-intl/ru_ALL/security/bulletin/2016-12-01.jd
rename to ru/security/bulletin/2016-12-01.html
diff --git a/src-intl/ru_ALL/security/bulletin/2017-01-01.jd b/ru/security/bulletin/2017-01-01.html
similarity index 100%
rename from src-intl/ru_ALL/security/bulletin/2017-01-01.jd
rename to ru/security/bulletin/2017-01-01.html
diff --git a/src-intl/ru_ALL/security/bulletin/2017-02-01.jd b/ru/security/bulletin/2017-02-01.html
similarity index 100%
rename from src-intl/ru_ALL/security/bulletin/2017-02-01.jd
rename to ru/security/bulletin/2017-02-01.html
diff --git a/scripts/build.py b/scripts/build.py
deleted file mode 100755
index 33a1e33..0000000
--- a/scripts/build.py
+++ /dev/null
@@ -1,124 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (C) 2011 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-import codecs
-import glob
-import markdown
-import os
-import shutil
-import string
-import subprocess
-
-
-# read just the title (first heading) from a source page
-def get_title(raw_file):
-  for line in open(raw_file, 'r'):
-    if '#' in line:
-      return line.strip(' #\n')
-  return ''
-
-
-# directory to compile the site to (will be clobbered during build!)
-HTML_DIR = 'out'
-# directory to look in for markdown source files
-SRC_DIR = 'src'
-# directory to look in for html templates
-TEMPLATE_DIR = 'templates'
-
-# filenames of templates to load, in order
-TEMPLATE_LIST = ['includes', 'header', 'sidebar', 'main', 'footer']
-
-# Step 1, concatenate the template pieces into a single template string
-t = ''
-for f in TEMPLATE_LIST:
-  t += open(os.path.join(TEMPLATE_DIR, f), 'r').read()
-template = string.Template(t)
-
-# Step 2, rm -rf HTML_DIR if it exists, and then re-create it
-if os.path.exists(HTML_DIR):
-  shutil.rmtree(HTML_DIR)
-
-os.mkdir(HTML_DIR)
-
-# Step 3, recursively mirror SRC_DIR to HTML_DIR, directory by directory, translating *.md
-category = 'home'
-parents = {}
-for curdir, subdirs, files in os.walk(SRC_DIR):
-  def md(path):
-    text = codecs.open(path, encoding='utf8').read()
-    extensions = ['tables', 'def_list', 'toc(title=In This Document)']
-    return markdown.markdown(text, extensions)
-
-  print 'Processing %s...'  % (curdir,),
-  # Step A: split path, and update cached category name if needed
-  curdir = os.path.normpath(curdir)
-  outdir = curdir.split(os.path.sep)
-  outdir[0] = HTML_DIR
-  if len(outdir) == 2:
-    category = outdir[-1]
-  outdir = os.path.join(*outdir)
-
-  # Step B: mirror the hierarchy of immediate subdirectories
-  for subdir in subdirs:
-    os.mkdir(os.path.join(outdir, subdir))
-
-  # Step C: cache the translated sidebars, keyed by parent dir, so we can do sidebar inheritance
-  # FIXME: make this depth-agnostic, perhaps by caching all sidebars and moving the resolution
-  # FIXME: complexity out of the datastructure and into the resolution algorithm.
-  parentdir = os.path.dirname(curdir)
-  if parentdir in parents:
-    parent = parents[parentdir]
-  else:
-    parent = ('', '', '')
-
-  if 'sidebar.md' in files:
-    sidebar = md(os.path.join(curdir, 'sidebar.md'))
-    del files[files.index('sidebar.md')]
-  else:
-    sidebar = parent[0]
-
-  if 'sidebar2.md' in files:
-    sidebar2 = md(os.path.join(curdir, 'sidebar2.md'))
-    del files[files.index('sidebar2.md')]
-  else:
-    sidebar2 = parent[1]
-
-  if 'sidebar3.md' in files:
-    sidebar3 = md(os.path.join(curdir, 'sidebar3.md'))
-    del files[files.index('sidebar3.md')]
-  else:
-    sidebar3 = parent[2]
-
-  parents[curdir] = (sidebar, sidebar2, sidebar3)
-
-  # Step D: mirror all non-*.md files, and translate (file).md files into (file).html
-  for f in files:
-    print ' .',
-    # Note that this "absolute" filename has a root at SRC_DIR, not "/"
-    absfilename = os.path.join(curdir, f)
-
-    if f.endswith('.md'):
-      main = md(absfilename)
-      final = template.safe_substitute(main=main, sidebar=sidebar, sidebar2=sidebar2, \
-          sidebar3=sidebar3, category=category, title=get_title(absfilename))
-
-      html = codecs.open(os.path.join(outdir, f.replace('.md', '.html')), 'w', encoding="utf8")
-      html.write(final)
-    else:
-      shutil.copy(absfilename, os.path.join(outdir, f))
-  print
-
-print 'Done.'
diff --git a/scripts/build2stage.sh b/scripts/build2stage.sh
deleted file mode 100755
index 1b95706..0000000
--- a/scripts/build2stage.sh
+++ /dev/null
@@ -1,269 +0,0 @@
-#!/usr/bin/env bash
-set -e
-##
-## Copyright (C) 2016 The Android Open Source Project
-##
-## Licensed under the Apache License, Version 2.0 (the "License");
-## you may not use this file except in compliance with the License.
-## You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-## Unless required by applicable law or agreed to in writing, software
-## distributed under the License is distributed on an "AS IS" BASIS,
-## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-## See the License for the specific language governing permissions and
-## limitations under the License.
-##
-##
-## Build and stage the source.android.com website.
-##
-## Usage:
-## From the repo's root directory (croot):
-##   $ ./docs/source.android.com/scripts/build2stage.sh [options] server-number
-##
-## To build/stage from anywhere, add an alias or scripts/ to PATH.
-##
-## Examples:
-## Build and stage on staging instance 13:
-##   $ build2stage.sh 13
-## Build and generate reference docs, stage on instance 13:
-##   $ build2stage.sh -r 13
-## Build only (outputs to out/target/common/docs/online-sac):
-##   $ build2stage.sh -b
-## Stage only (using existing build):
-##   $ build2stage.sh -s 13
-##
-## The script uses some environmental variables that can be set locally or
-## in /etc/profile.d/build2stage-conf.sh, or passed via the command-line:
-##
-## Change output directory used for generated files:
-##   $ OUT_DIR=/path/to/dir build2stage.sh -b
-## Change build target:
-##   $ BUILD_TARGET=aosp_x86_64 build2stage.sh -b
-## Location of staging tool and output directory:
-##   $ AE_STAGING=/path/to/ae_staging OUT_DIR=/path/to/dir build2stage 13
-##
-## This script attempts to determine if called from within a gitc client and
-## set the output directory accordingly. If it's not building correctly, you can
-## try setting the REPO_ROOT and OUT_DIR variables in your environment.
-
-usage() {
-  echo "Usage: $(basename $0) [options] server-number"
-  echo "Options:"
-  echo " -r    Generate reference docs (HAL, TradeFed)"
-  echo " -b    Build docs without staging"
-  echo " -s    Stage only using an existing build"
-  echo " -h    Print this help and exit"
-}
-
-# Arguments required
-if [ $# -eq 0 ]; then
-  usage
-  exit 1
-fi
-
-##
-## VARS
-##
-
-# Sourced for env vars
-: ${AE_STAGING_CONF:="/etc/profile.d/build2stage-conf.sh"}
-
-# Retrieve App Engine staging config 'AE_STAGING' (and other vars if there)
-if [ -e "$AE_STAGING_CONF" ]; then
-  source "$AE_STAGING_CONF"
-fi
-
-LOG_PREFIX="[$(basename $0)]"
-# Lunch build config
-: ${BUILD_TARGET:="aosp_arm-eng"}
-
-# gitc clients should output to a different directory.
-# Test if using gitc by checking user's current dir or this script's location
-GITC_CLIENT_PREFIX="/gitc/manifest-rw"
-GITC_CONF="/gitc/.config"
-if [ -f "$GITC_CONF" ]; then
-  GITC_OUT_PREFIX=$(grep 'gitc_dir' "$GITC_CONF" 2>/dev/null | cut -d '=' -f2)
-fi
-
-## SET REPO ROOT
-
-# If user is currently within a gitc client dir, use that project as repo root
-if [[ -z "$REPO_ROOT" && "$(pwd -P)" == "${GITC_CLIENT_PREFIX}/"* ]]; then
-  gitc_client_name=$(echo "$(pwd -P)" | cut -d '/' -f4) #get 3rd dir name
-  REPO_ROOT="${GITC_CLIENT_PREFIX}/${gitc_client_name}"
-fi
-
-# If not set, determine repo root relative to location of this script itself
-: ${REPO_ROOT:="$(cd $(dirname $0)/../../..; pwd -P)"}
-
-## SET OUTPUT DIR
-
-# If repo root within gitc client, set gitc output directory
-if [[ -z "$OUT_DIR" && "$REPO_ROOT" == "${GITC_CLIENT_PREFIX}/"* ]]; then
-  gitc_client_name=$(echo "$REPO_ROOT" | cut -d '/' -f4) #get 3rd dir name
-  OUT_DIR="${GITC_OUT_PREFIX}/${gitc_client_name}/out"
-fi
-
-# Directory for output files
-: ${OUT_DIR:="${REPO_ROOT}/out"}
-# Docs output directory and where to stage from
-OUT_DIR_SAC="${OUT_DIR}/target/common/docs/online-sac"
-
-## PARSE OPTIONS
-
-while getopts "bsrh" opt; do
-  case $opt in
-    b) BUILD_ONLY_FLAG=1;;
-    s) STAGE_ONLY_FLAG=1;;
-    r) BUILD_REF_HAL=1; BUILD_REF_TRADEFED=1;;
-    h | *)
-      usage
-      exit 0
-      ;;
-  esac
-done
-
-##
-## CHECK ARGS
-##
-
-# Get final command-line arg
-for last; do true; done
-STAGING_NUM="$last"
-
-if [ -z "$BUILD_ONLY_FLAG" ]; then
-  # Must be a number
-  if ! [[ "$STAGING_NUM" =~ ^[0-9]+$ ]] ; then
-    echo "${LOG_PREFIX} Error: Argument for server instance must be a number" 1>&2
-    usage
-    exit 1
-  fi
-fi
-
-if [ -n "$STAGE_ONLY_FLAG" ] && [ ! -d "$OUT_DIR_SAC" ]; then
-  echo "${LOG_PREFIX} Error: Unable to stage without a build" 1>&2
-  exit 1
-fi
-
-# If staging, require staging config
-if [ -z "$BUILD_ONLY_FLAG" ] && [ -z "$AE_STAGING" ]; then
-  echo "${LOG_PREFIX} Error: No value for AE_STAGING" 1>&2
-  echo "Set in local environment or ${AE_STAGING_CONF}" 1>&2
-  exit 1
-fi
-
-if [ ! -d "$REPO_ROOT" ]; then
-  echo "${LOG_PREFIX} Error: Repo directory doesn't exist: ${REPO_ROOT}" 1>&2
-  exit 1
-fi
-
-if [ ! -d "$(dirname $OUT_DIR)" ]; then
-  echo "${LOG_PREFIX} Error: Output root dir doesn't exist: $(dirname $OUT_DIR)" 1>&2
-  exit 1
-fi
-
-##
-## BUILD DOCS
-##
-
-echo "${LOG_PREFIX} Using repo: ${REPO_ROOT}"
-echo "${LOG_PREFIX} Output dir: ${OUT_DIR}"
-
-if [ -n "$STAGE_ONLY_FLAG" ]; then
-  echo "${LOG_PREFIX} Not building"
-
-else
-  cd "$REPO_ROOT"
-
-  # Delete old output
-  if [ -d "$OUT_DIR_SAC" ]; then
-    echo "${LOG_PREFIX} Removing old build: ${OUT_DIR_SAC}"
-    rm -rf "$OUT_DIR_SAC"*
-  fi
-
-  # Initialize the build environment
-  source build/make/envsetup.sh
-
-  # Select a target and finish setting up the environment
-  lunch "$BUILD_TARGET"
-
-  # Build the docs and output to: out/target/common/docs/online-sac
-  make online-sac-docs
-
-  # Reference dir used for tradefed
-  rm -rf "${OUT_DIR_SAC}/reference"
-  rm "${OUT_DIR_SAC}/navtree_data.js"
-
-  if [ -n "$BUILD_REF_HAL" ]; then
-    # HAL reference
-    if command -v doxygen >/dev/null 2>&1; then
-      #run doxygen
-      make setup-hal-ref #docs/source.android.com/Android.mk
-
-      #will use central js files instead
-      rm "${OUT_DIR_SAC}/devices/halref/jquery.js"
-      rm "${OUT_DIR_SAC}/devices/halref/functions_~.html"
-    else
-      echo "${LOG_PREFIX} Error: Requires doxygen to build HAL reference" 1>&2
-      exit 1
-    fi
-  fi
-
-  if [ -n "$BUILD_REF_TRADEFED" ]; then
-    # Trade Federation reference
-    make tradefed-docs
-    make setup-tradefed-ref #docs/source.android.com/Android.mk
-  fi
-fi
-
-##
-## STAGE DOCS
-##
-
-if [ -n "$BUILD_ONLY_FLAG" ]; then
-  echo "${LOG_PREFIX} Not staging"
-
-else
-  # Make sure there's something to stage
-  if [ ! -d "$OUT_DIR_SAC" ]; then
-    echo "${LOG_PREFIX} Error: Unable to stage without a build directory" 1>&2
-    exit 1
-  fi
-
-  ## Set staging server
-
-  # Parse current value for yaml key 'application'
-  STAGING_SERVER=$(cat "${OUT_DIR_SAC}/app.yaml" | grep "^application:" | \
-                     cut -d ':' -f2- | tr -d ' ')
-  # Remove any trailing numbers in case it's already been set
-  STAGING_SERVER=$(echo "$STAGING_SERVER" | sed 's/[0-9]\{1,10\}$//')
-
-  # Set new staging server
-  STAGING_SERVER="${STAGING_SERVER}${STAGING_NUM}"
-
-  tmpfile=$(mktemp /tmp/app.yaml.XXXX)
-
-  # Replace application key in tmp app.yaml with specified staging server
-  sed "s/^application:.*/application: ${STAGING_SERVER}/" \
-      "${OUT_DIR_SAC}/app.yaml" > "$tmpfile"
-
-  # Copy in new app.yaml content
-  cp "$tmpfile" "${OUT_DIR_SAC}/app.yaml"
-  rm "$tmpfile"
-
-  echo "${LOG_PREFIX} Configured stage for ${STAGING_SERVER}"
-
-  ## Stage
-  ##
-  echo "${LOG_PREFIX} Start staging ..."
-
-  # Stage to specified server
-  if $AE_STAGING update "$OUT_DIR_SAC"; then
-    echo "${LOG_PREFIX} Content now available at staging instance ${STAGING_NUM}"
-  else
-    echo "${LOG_PREFIX} Error: Unable to stage to ${STAGING_SERVER}" 1>&2
-    exit 1
-  fi
-fi
diff --git a/scripts/cleanup.sh b/scripts/cleanup.sh
deleted file mode 100755
index b1bbba1..0000000
--- a/scripts/cleanup.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-
-for img in *.png *.gif *.jpg
-do
-  FOUND=`grep -R $img ../site_src`
-  if [ -z "$FOUND" ]
-  then
-    mv $img useless/
-  fi
-done
diff --git a/scripts/micro-httpd.py b/scripts/micro-httpd.py
deleted file mode 100755
index b1de97b..0000000
--- a/scripts/micro-httpd.py
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright (C) 2010,2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# Usage:
-#  Serve the docs build directory on localhost:8080 (default):
-#  $ ./docs/source.android.com/scripts/micro-httpd.py
-#  Serve a different output directory (appends target/common/docs/online-sac):
-#  $ OUT_DIR=/path/to/out ./docs/source.android.com/scripts/micro-httpd.py
-#  Serve using a different port on localhost:
-#  $ HTTP_PORT=9090 ./docs/source.android.com/scripts/micro-httpd.py
-
-import SimpleHTTPServer
-import SocketServer
-import os
-import sys
-import socket
-
-PORT = int(os.environ.get('HTTP_PORT', 8080))
-OUT_DIR = os.environ.get('OUT_DIR', os.path.join(os.path.dirname(__file__),
-                                                 '../../../out'))
-
-out_dir_sac = os.path.abspath(os.path.join(OUT_DIR,
-                                           'target/common/docs/online-sac'))
-
-if not os.path.isdir(out_dir_sac):
-    sys.exit("Error: Docs build directory doesn't exist: {0}".format(out_dir_sac))
-
-Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
-
-try:
-    httpd = SocketServer.TCPServer(('0.0.0.0', PORT), Handler)
-    httpd.allow_reuse_address = True
-except socket.error as sockerr:
-    sys.exit("Error: Address already in use. Kill blocking process (or wait a moment)")
-
-print("Serving directory: {0}".format(out_dir_sac))
-print("Web server address: http://{0}:{1}".format(socket.gethostname(), PORT))
-
-os.chdir(out_dir_sac)
-httpd.serve_forever()
diff --git a/src-intl/zh-TW_ALL/security/security_toc.cs b/src-intl/zh-TW_ALL/security/security_toc.cs
deleted file mode 100644
index 4c8f4f6..0000000
--- a/src-intl/zh-TW_ALL/security/security_toc.cs
+++ /dev/null
@@ -1,125 +0,0 @@
-<!--
-    Copyright 2015 The Android Open Source Project
-
-    Licensed under the Apache License, Version 2.0 (the "License");
-    you may not use this file except in compliance with the License.
-    You may obtain a copy of the License at
-
-        http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
--->
-<?cs # Table of contents for security?>
-<ul id="nav">
-  <li class="nav-section">
-    <div class="nav-section-header">
-        <a href="<?cs var:toroot ?>security/index.html">
-          <span class="en">Overview</span>
-        </a>
-    </div>
-    <ul>
-      <li><a href="<?cs var:toroot ?>security/overview/kernel-security.html">Kernel Security</a></li>
-      <li><a href="<?cs var:toroot ?>security/overview/app-security.html">App Security</a></li>
-      <li><a href="<?cs var:toroot ?>security/overview/updates-resources.html">Updates and Resources</a></li>
-      <li class="nav-section">
-        <div class="nav-section-header">
-          <a href="<?cs var:toroot ?>security/enhancements/index.html">
-            <span class="en">Enhancements</span>
-          </a>
-        </div>
-        <ul>
-          <li><a href="<?cs var:toroot ?>security/enhancements/enhancements60.html">Android 6.0</a></li>
-          <li><a href="<?cs var:toroot ?>security/enhancements/enhancements50.html">Android 5.0</a></li>
-          <li><a href="<?cs var:toroot ?>security/enhancements/enhancements44.html">Android 4.4</a></li>
-          <li><a href="<?cs var:toroot ?>security/enhancements/enhancements43.html">Android 4.3</a></li>
-          <li><a href="<?cs var:toroot ?>security/enhancements/enhancements42.html">Android 4.2</a></li>
-          <li><a href="<?cs var:toroot ?>security/enhancements/enhancements41.html">Android 4.1</a></li>
-        </ul>
-      </li>
-      <li><a href="<?cs var:toroot ?>security/overview/acknowledgements.html">Acknowledgements</a></li>
-    </ul>
-  </li>
-  <li class="nav-section">
-    <div class="nav-section-header">
-      <a href="<?cs var:toroot ?>security/bulletin/index.html">
-        <span class="en">Bulletins</span>
-      </a>
-    </div>
-    <ul>
-      <li><a href="<?cs var:toroot ?>security/bulletin/2016-02-01.html">February 2016</a></li>
-      <li><a href="<?cs var:toroot ?>security/bulletin/2016-01-01.html">January 2016</a></li>
-      <li><a href="<?cs var:toroot ?>security/bulletin/2015-12-01.html">December 2015</a></li>
-      <li><a href="<?cs var:toroot ?>security/bulletin/2015-11-01.html">November 2015</a></li>
-      <li><a href="<?cs var:toroot ?>security/bulletin/2015-10-01.html">October 2015</a></li>
-      <li><a href="<?cs var:toroot ?>security/bulletin/2015-09-01.html">September 2015</a></li>
-      <li><a href="<?cs var:toroot ?>security/bulletin/2015-08-01.html">August 2015</a></li>
-    </ul>
-  </li>
-  <li class="nav-section">
-    <div class="nav-section-header">
-      <a href="<?cs var:toroot ?>security/authentication/index.html">
-        <span class="en">Authentication</span>
-      </a>
-    </div>
-    <ul>
-      <li><a href="<?cs var:toroot ?>security/authentication/fingerprint-hal.html">Fingerprint HAL</a></li>
-      <li><a href="<?cs var:toroot ?>security/authentication/gatekeeper.html">Gatekeeper</a></li>
-    </ul>
-  </li>
-  <li class="nav-section">
-    <div class="nav-section-header">
-      <a href="<?cs var:toroot ?>security/keystore/index.html">
-        <span class="en">Keystore</span>
-      </a>
-    </div>
-    <ul>
-      <li><a href="<?cs var:toroot ?>security/keystore/features.html">Features</a></li>
-      <li><a href="<?cs var:toroot ?>security/keystore/implementer-ref.html">Implementer's Reference</a></li>
-    </ul>
-  </li>
-  <li class="nav-section">
-    <div class="nav-section-header">
-      <a href="<?cs var:toroot ?>security/trusty/index.html">
-        <span class="en">Trusty TEE</span>
-      </a>
-    </div>
-    <ul>
-      <li><a href="<?cs var:toroot ?>security/trusty/trusty-ref.html">Trusty API Reference</a></li>
-    </ul>
-  </li>
-  <li class="nav-section">
-    <div class="nav-section-header">
-      <a href="<?cs var:toroot ?>security/encryption/index.html">
-        <span class="en">Full Disk Encryption</span>
-      </a>
-    </div>
-  </li>
-  <li class="nav-section">
-    <div class="nav-section-header">
-      <a href="<?cs var:toroot ?>security/selinux/index.html">
-        <span class="en">SELinux</span>
-      </a>
-    </div>
-    <ul>
-      <li><a href="<?cs var:toroot ?>security/selinux/concepts.html">Concepts</a></li>
-      <li><a href="<?cs var:toroot ?>security/selinux/implement.html">Implementation</a></li>
-      <li><a href="<?cs var:toroot ?>security/selinux/customize.html">Customization</a></li>
-      <li><a href="<?cs var:toroot ?>security/selinux/validate.html">Validation</a></li>
-    </ul>
-  </li>
-  <li class="nav-section">
-    <div class="nav-section-header">
-      <a href="<?cs var:toroot ?>security/verifiedboot/index.html">
-        <span class="en">Verified Boot</span>
-      </a>
-    </div>
-    <ul>
-      <li><a href="<?cs var:toroot ?>security/verifiedboot/verified-boot.html">Verifying Boot</a></li>
-      <li><a href="<?cs var:toroot ?>security/verifiedboot/dm-verity.html">Implementing dm-verity</a></li>
-    </ul>
-  </li>
-</ul>
diff --git a/src/app.yaml b/src/app.yaml
deleted file mode 100644
index 1fdcdda..0000000
--- a/src/app.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-application: google.com:sourceandroid-staging
-version: 1
-runtime: python27
-api_version: 1
-threadsafe: true
-
-handlers:
-# re-direct to index.html if no path is given
-- url: /
-  static_files: index.html
-  upload: index.html
-
-# access the static resources in the root directory
-- url: /(.*)
-  static_files: \1
-  upload: (.*)
diff --git a/src/compatibility/2.3/android-2.3-cdd.xhtml b/src/compatibility/2.3/android-2.3-cdd.xhtml
deleted file mode 100644
index 74d2f40..0000000
--- a/src/compatibility/2.3/android-2.3-cdd.xhtml
+++ /dev/null
@@ -1,1864 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<title>Android 2.3 Compatibility Definition</title>
-<link rel="stylesheet" type="text/css" href="cdd.css"/>
-</head>
-<body>
-<h1>Android 2.3 Compatibility Definition</h1>
-<!-- <span style="color: red; font-weight: bold;"><h2>DRAFT</h2></span> -->
-<p>Copyright &copy; 2010, Google Inc. All rights reserved.<br/>
-<a href="mailto:compatibility@android.com">compatibility@android.com</a>
-</p>
-
-<h2> Table of Contents</h2>
-<div style="margin-left: 2em;">
-  <a href="#section-1">1. Introduction</a><br/>
-  <a href="#section-2">2. Resources</a><br/>
-  <a href="#section-3">3. Software</a><br/>
-  <div style="margin-left: 2em;">
-    <a href="#section-3.1">3.1. Managed API Compatibility</a><br/>
-    <a href="#section-3.2">3.2. Soft API Compatibility</a><br/>
-    <div style="margin-left: 2em;">
-      <a href="#section-3.2.1">3.2.1. Permissions</a><br/>
-      <a href="#section-3.2.3">3.2.2. Build Parameters</a><br/>
-      <a href="#section-3.2.3">3.2.3. Intent Compatibility</a><br/>
-      <div style="margin-left: 2em;">
-        <a href="#section-3.2.3.1">3.2.3.1. Core Application Intents</a><br/>
-        <a href="#section-3.2.3.2">3.2.3.2. Intent Overrides</a><br/>
-        <a href="#section-3.2.3.3">3.2.3.3. Intent Namespaces</a><br/>
-        <a href="#section-3.2.3.4">3.2.3.4. Broadcast Intents</a><br/>
-      </div>
-    </div>
-    <a href="#section-3.3">3.3. Native API Compatibility</a><br/>
-    <a href="#section-3.4">3.4. Web Compatibility</a><br/>
-    <div style="margin-left: 2em;">
-      <a href="#section-3.4.1">3.4.1. WebView Compatibility</a><br/>
-      <a href="#section-3.4.2">3.4.2. Browser Compatibility</a><br/>
-    </div>
-    <a href="#section-3.5">3.5. API Behavioral Compatibility</a><br/>
-    <a href="#section-3.6">3.6. API Namespaces</a><br/>
-    <a href="#section-3.7">3.7. Virtual Machine Compatibility</a><br/>
-    <a href="#section-3.8">3.8. User Interface Compatibility</a><br/>
-    <div style="margin-left: 2em;">
-      <a href="#section-3.8.1">3.8.1. Widgets</a><br/>
-      <a href="#section-3.8.2">3.8.2. Notifications</a><br/>
-      <a href="#section-3.8.3">3.8.3. Search</a><br/>
-      <a href="#section-3.8.4">3.8.4. Toasts</a><br/>
-      <a href="#section-3.8.5">3.8.5. Live Wallpapers</a><br/>
-    </div>
-  </div>
-  <a href="#section-4">4. Application Packaging Compatibility</a><br/>
-  <a href="#section-5">5. Multimedia Compatibility</a><br/>
-    <div style="margin-left: 2em;">
-      <a href="#section-5.1">5.1. Media Codecs</a><br/>
-      <a href="#section-5.1.1">5.1.1. Media Decoders</a><br/>
-      <a href="#section-5.1.2">5.1.2. Media Encoders</a><br/>
-      <a href="#section-5.2">5.2. Audio Recording</a><br/>
-      <a href="#section-5.3">5.3. Audio Latency</a><br/>
-    </div>
-  <a href="#section-6">6. Developer Tool Compatibility</a><br/>
-  <a href="#section-7">7. Hardware Compatibility</a><br/>
-  <div style="margin-left: 2em;">
-    <a href="#section-7.1">7.1. Display and Graphics</a><br/>
-    <div style="margin-left: 2em;">
-      <a href="#section-7.1.1">7.1.1. Screen Configurations</a><br/>
-      <a href="#section-7.1.2">7.1.2. Display Metrics</a><br/>
-      <a href="#section-7.1.3">7.1.3. Declared Screen Support</a><br/>
-      <a href="#section-7.1.4">7.1.4. Screen Orientation</a><br/>
-      <a href="#section-7.1.5">7.1.5. 3D Graphics Accleration</a><br/>
-    </div>
-    <a href="#section-7.2">7.2. Input Devices</a><br/>
-    <div style="margin-left: 2em;">
-      <a href="#section-7.2.1">7.2.1. Keyboard</a><br/>
-      <a href="#section-7.2.2">7.2.2. Non-touch Navigation</a><br/>
-      <a href="#section-7.2.3">7.2.3. Navigation keys</a><br/>
-      <a href="#section-7.2.4">7.2.4. Touchscreen input</a><br/>
-    </div>
-    <a href="#section-7.3">7.3. Sensors</a><br/>
-    <div style="margin-left: 2em;">
-      <a href="#section-7.3.1">7.3.1. Accelerometer</a><br/>
-      <a href="#section-7.3.2">7.3.2. Magnetometer</a><br/>
-      <a href="#section-7.3.3">7.3.3. GPS</a><br/>
-      <a href="#section-7.3.4">7.3.4. Gyroscope</a><br/>
-      <a href="#section-7.3.5">7.3.5. Barometer</a><br/>
-      <a href="#section-7.3.6">7.3.6. Thermometer</a><br/>
-      <a href="#section-7.3.7">7.3.7. Photometer</a><br/>
-      <a href="#section-7.3.8">7.3.8. Proximity Sensor</a><br/>
-    </div>
-    <a href="#section-7.4">7.4. Data Connectivity</a><br/>
-    <div style="margin-left: 2em;">
-      <a href="#section-7.4.1">7.4.1. Telephony</a><br/>
-      <a href="#section-7.4.2">7.4.2. IEEE 802.11 (WiFi)</a><br/>
-      <a href="#section-7.4.3">7.4.3. Bluetooth</a><br/>
-      <a href="#section-7.4.4">7.4.4. Near-Field Communications</a><br/>
-      <a href="#section-7.4.5">7.4.5. Minimum Network Capability</a><br/>
-    </div>
-    <a href="#section-7.5">7.5. Cameras</a><br/>
-    <div style="margin-left: 2em;">
-      <a href="#section-7.5.1">7.5.1. Rear-Facing Camera</a><br/>
-      <a href="#section-7.5.2">7.5.2. Front-Facing Camera</a><br/>
-      <a href="#section-7.5.3">7.5.3. Camera API Behavior</a><br/>
-      <a href="#section-7.5.4">7.5.4. Camera Orientation</a><br/>
-    </div>
-    <a href="#section-7.6">7.6. Memory and Storage</a><br/>
-    <div style="margin-left: 2em;">
-      <a href="#section-7.6.1">7.6.1. Minimum Memory and Storage</a><br/>
-      <a href="#section-7.6.2">7.6.2. Application Shared Storage</a><br/>
-    </div>
-    <a href="#section-7.7">7.7. USB</a><br/>
-  </div>
-  <a href="#section-8">8. Performance Compatibility</a><br/>
-  <a href="#section-9">9. Security Model Compatibility</a><br/>
-  <div style="margin-left: 2em;">
-    <a href="#section-9.1">9.1. Permissions</a><br/>
-    <a href="#section-9.2">9.2. UID and Process Isolation</a><br/>
-    <a href="#section-9.3">9.3. Filesystem Permissions</a><br/>
-    <a href="#section-9.4">9.4. Alternate Execution Environments</a><br/>
-  </div>
-  <a href="#section-10">10. Software Compatibility Testing</a><br/>
-  <div style="margin-left: 2em;">
-    <a href="#section-10.1">10.1. Compatibility Test Suite</a><br/>
-    <a href="#section-10.2">10.2. CTS Verifier</a><br/>
-    <a href="#section-10.3">10.3. Reference Applications</a><br/>
-  </div>
-  <a href="#section-11">11. Updatable Software</a><br/>
-  <a href="#section-12">12. Contact Us</a><br/>
-  <a href="#appendix-A">Appendix A - Bluetooth Test Procedure</a><br/>
-</div>
-
-<div style="page-break-before: always;"></div>
-
-<a name="section-1"></a><h2>1. Introduction</h2>
-<p>This document enumerates the requirements that must be met in order for
-mobile phones to be compatible with Android 2.3.</p>
-<p>The use of "must", "must not", "required", "shall", "shall not", "should",
-"should not", "recommended", "may" and "optional" is per the IETF standard
-defined in RFC2119 [<a href="#resources01">Resources, 1</a>].</p>
-<p>As used in this document, a "device implementer" or "implementer" is a
-person or organization developing a hardware/software solution running Android
-2.3. A "device implementation" or "implementation" is the hardware/software
-solution so developed.</p>
-<p>To be considered compatible with Android 2.3, device implementations
-MUST meet the requirements presented in this Compatibility Definition,
-including any documents incorporated via reference.</p>
-<p>Where this definition or the software tests described in <a
-href="#section-10">Section 10</a> is silent, ambiguous, or incomplete, it is
-the responsibility of the device implementer to ensure compatibility with
-existing implementations. For this reason, the Android Open Source Project [<a
-href="#resources03">Resources, 3</a>] is both the reference and preferred
-implementation of Android. Device implementers are strongly encouraged to base
-their implementations to the greatest extent possible on the "upstream" source
-code available from the Android Open Source Project. While some components can
-hypothetically be replaced with alternate implementations this practice is
-strongly discouraged, as passing the software tests will become substantially
-more difficult. It is the implementer's responsibility to ensure full
-behavioral compatibility with the standard Android implementation, including
-and beyond the Compatibility Test Suite. Finally, note that certain component
-substitutions and modifications are explicitly forbidden by this document.</p> 
-<p>Please note that this Compatibility Definition is issued to correspond with
-the 2.3.3 update to Android, which is API level 10. This Definition obsoletes
-and replaces the Compatibility Definition for Android 2.3 versions prior to
-2.3.3. (That is, versions 2.3.1 and 2.3.2 are obsolete.) Future
-Android-compatible devices running Android 2.3 MUST ship with version 2.3.3 or
-later.</p>
-<a name="section-2"></a><h2>2. Resources</h2>
-<ol>
-<a name="resources01"></a><li>IETF RFC2119 Requirement Levels: <a href="http://www.ietf.org/rfc/rfc2119.txt">http://www.ietf.org/rfc/rfc2119.txt</a></li>
-<a name="resources02"></a><li>Android Compatibility Program Overview: <a href="http://source.android.com/compatibility/index.html">http://source.android.com/compatibility/index.html</a></li>
-<a name="resources03"></a><li>Android Open Source Project: <a href="http://source.android.com/">http://source.android.com/</a></li>
-<a name="resources04"></a><li>API definitions and documentation: <a href="http://developer.android.com/reference/packages.html">http://developer.android.com/reference/packages.html</a></li>
-<a name="resources05"></a><li>Android Permissions reference: <a href="http://developer.android.com/reference/android/Manifest.permission.html">http://developer.android.com/reference/android/Manifest.permission.html</a></li>
-<a name="resources06"></a><li>android.os.Build reference: <a href="http://developer.android.com/reference/android/os/Build.html">http://developer.android.com/reference/android/os/Build.html</a></li>
-<a name="resources07"></a><li>Android 2.3 allowed version strings: <a href="http://source.android.com/compatibility/2.3/versions.html">http://source.android.com/compatibility/2.3/versions.html</a></li>
-<a name="resources08"></a><li>android.webkit.WebView class: <a href="http://developer.android.com/reference/android/webkit/WebView.html">http://developer.android.com/reference/android/webkit/WebView.html</a></li>
-<a name="resources09"></a><li>HTML5: <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/">http://www.whatwg.org/specs/web-apps/current-work/multipage/</a></li>
-<a name="resources10"></a><li>HTML5 offline capabilities: <a href="http://dev.w3.org/html5/spec/Overview.html#offline">http://dev.w3.org/html5/spec/Overview.html#offline</a></li>
-<a name="resources11"></a><li>HTML5 video tag: <a href="http://dev.w3.org/html5/spec/Overview.html#video">http://dev.w3.org/html5/spec/Overview.html#video</a></li>
-<a name="resources12"></a><li>HTML5/W3C geolocation API: <a href="http://www.w3.org/TR/geolocation-API/">http://www.w3.org/TR/geolocation-API/</a></li>
-<a name="resources13"></a><li>HTML5/W3C webdatabase API: <a href="http://www.w3.org/TR/webdatabase/">http://www.w3.org/TR/webdatabase/</a></li>
-<a name="resources14"></a><li>HTML5/W3C IndexedDB API: <a href="http://www.w3.org/TR/IndexedDB/">http://www.w3.org/TR/IndexedDB/</a></li>
-<a name="resources15"></a><li>Dalvik Virtual Machine specification: available in the Android source code, at dalvik/docs</li>
-<a name="resources16"></a><li>AppWidgets: <a href="http://developer.android.com/guide/practices/ui_guidelines/widget_design.html">http://developer.android.com/guide/practices/ui_guidelines/widget_design.html</a></li>
-<a name="resources17"></a><li>Notifications: <a href="http://developer.android.com/guide/topics/ui/notifiers/notifications.html">http://developer.android.com/guide/topics/ui/notifiers/notifications.html</a></li>
-<a name="resources18"></a><li>Application Resources: <a href="http://code.google.com/android/reference/available-resources.html">http://code.google.com/android/reference/available-resources.html</a></li>
-<a name="resources19"></a><li>Status Bar icon style guide: <a href="http://developer.android.com/guide/practices/ui_guidelines/icon_design.html#statusbarstructure">http://developer.android.com/guide/practices/ui_guideline /icon_design.html#statusbarstructure</a></li>
-<a name="resources20"></a><li>Search Manager: <a href="http://developer.android.com/reference/android/app/SearchManager.html">http://developer.android.com/reference/android/app/SearchManager.html</a></li>
-<a name="resources21"></a><li>Toasts: <a href="http://developer.android.com/reference/android/widget/Toast.html">http://developer.android.com/reference/android/widget/Toast.html</a></li>
-<a name="resources22"></a><li>Live Wallpapers: <a href="http://developer.android.com/resources/articles/live-wallpapers.html">http://developer.android.com/resources/articles/live-wallpapers.html</a></li>
-<a name="resources23"></a><li>Reference tool documentation (for adb, aapt, ddms): <a href="http://developer.android.com/guide/developing/tools/index.html">http://developer.android.com/guide/developing/tools/index.html</a></li>
-<a name="resources24"></a><li>Android apk file description: <a href="http://developer.android.com/guide/topics/fundamentals.html">http://developer.android.com/guide/topics/fundamentals.html</a></li>
-<a name="resources25"></a><li>Manifest files: <a href="http://developer.android.com/guide/topics/manifest/manifest-intro.html">http://developer.android.com/guide/topics/manifest/manifest-intro.html</a></li>
-<a name="resources26"></a><li>Monkey testing tool: <a href="http://developer.android.com/guide/developing/tools/monkey.html">http://developer.android.com/guide/developing/tools/monkey.html</a></li>
-<a name="resources27"></a><li>Android Hardware Features List: <a href="http://developer.android.com/reference/android/content/pm/PackageManager.html">http://developer.android.com/reference/android/content/pm/PackageManager.html</a></li>
-<a name="resources28"></a><li>Supporting Multiple Screens: <a href="http://developer.android.com/guide/practices/screens_support.html">http://developer.android.com/guide/practices/screens_support.html</a></li>
-<a name="resources29"></a><li>android.util.DisplayMetrics: <a href="http://developer.android.com/reference/android/util/DisplayMetrics.html">http://developer.android.com/reference/android/util/DisplayMetrics.html</a></li>
-<a name="resources30"></a><li>android.content.res.Configuration: <a href="http://developer.android.com/reference/android/content/res/Configuration.html">http://developer.android.com/reference/android/content/res/Configuration.html</a></li>
-<a name="resources31"></a><li>Sensor coordinate space: <a href="http://developer.android.com/reference/android/hardware/SensorEvent.html">http://developer.android.com/reference/android/hardware/SensorEvent.html</a></li>
-<a name="resources32"></a><li>Bluetooth API: <a href="http://developer.android.com/reference/android/bluetooth/package-summary.html">http://developer.android.com/reference/android/bluetooth/package-summary.html</a></li>
-<a name="resources33"></a><li>NDEF Push Protocol: <a href="http://source.android.com/compatibility/ndef-push-protocol.pdf">http://source.android.com/compatibility/ndef-push-protocol.pdf</a></li>
-<a name="resources34"></a><li>MIFARE MF1S503X: <a href="http://www.nxp.com/documents/data_sheet/MF1S503x.pdf">http://www.nxp.com/documents/data_sheet/MF1S503x.pdf</a></li>
-<a name="resources35"></a><li>MIFARE MF1S703X: <a href="http://www.nxp.com/documents/data_sheet/MF1S703x.pdf">http://www.nxp.com/documents/data_sheet/MF1S703x.pdf</a></li>
-<a name="resources36"></a><li>MIFARE MF0ICU1: <a href="http://www.nxp.com/documents/data_sheet/MF0ICU1.pdf">http://www.nxp.com/documents/data_sheet/MF0ICU1.pdf</a></li>
-<a name="resources37"></a><li>MIFARE MF0ICU2: <a href="http://www.nxp.com/documents/short_data_sheet/MF0ICU2_SDS.pdf">http://www.nxp.com/documents/short_data_sheet/MF0ICU2_SDS.pdf</a></li>
-<a name="resources38"></a><li>MIFARE AN130511: <a href="http://www.nxp.com/documents/application_note/AN130511.pdf">http://www.nxp.com/documents/application_note/AN130511.pdf</a></li>
-<a name="resources39"></a><li>MIFARE AN130411: <a href="http://www.nxp.com/documents/application_note/AN130411.pdf">http://www.nxp.com/documents/application_note/AN130411.pdf</a></li>
-<a name="resources40"></a><li>Camera orientation API: <a href="http://developer.android.com/reference/android/hardware/Camera.html#setDisplayOrientation(int)">http://developer.android.com/reference/android/hardware/Camera.html#setDisplayOrientation(int)</a></li>
-<a name="resources41"></a><li>android.hardware.Camera: <a href="http://developer.android.com/reference/android/hardware/Camera.html">http://developer.android.com/reference/android/hardware/Camera.html</a></li>
-<a name="resources42"></a><li>Android Security and Permissions reference: <a href="http://developer.android.com/guide/topics/security/security.html">http://developer.android.com/guide/topics/security/security.html</a></li>
-<a name="resources43"></a><li>Apps for Android: <a href="http://code.google.com/p/apps-for-android">http://code.google.com/p/apps-for-android</a></li>
-</ol>
-<p>Many of these resources are derived directly or indirectly from the Android
-2.3 SDK, and will be functionally identical to the information in that SDK's
-documentation. In any cases where this Compatibility Definition or the
-Compatibility Test Suite disagrees with the SDK documentation, the SDK
-documentation is considered authoritative. Any technical details provided in
-the references included above are considered by inclusion to be part of this
-Compatibility Definition.</p>
-
-<a name="section-3"></a><h2>3. Software</h2>
-<p>The Android platform includes a set of managed APIs, a set of native APIs,
-and a body of so-called "soft" APIs such as the Intent system and
-web-application APIs. This section details the hard and soft APIs that are
-integral to compatibility, as well as certain other relevant technical and
-user interface behaviors. Device implementations MUST comply with all the
-requirements in this section.</p>
-
-<a name="section-3.1"></a><h3>3.1. Managed API Compatibility</h3>
-<p>The managed (Dalvik-based) execution environment is the primary vehicle for
-Android applications. The Android application programming interface (API) is
-the set of Android platform interfaces exposed to applications running in the
-managed VM environment. Device implementations MUST provide complete
-implementations, including all documented behaviors, of any documented API
-exposed by the Android 2.3 SDK [<a href="#resources04">Resources, 4</a>].</p>
-<p>Device implementations MUST NOT omit any managed APIs, alter API interfaces
-or signatures, deviate from the documented behavior, or include no-ops, except
-where specifically allowed by this Compatibility Definition.</p>
-<p>This Compatibility Definition permits some types of hardware for which
-Android includes APIs to be omitted by device implementations. In such cases,
-the APIs MUST still be present and behave in a reasonable way. See Section 7
-for specific requirements for this scenario.</p>
-
-<a name="section-3.2"></a><h3>3.2. Soft API Compatibility</h3>
-<p>In addition to the managed APIs from Section 3.1, Android also includes a
-significant runtime-only "soft" API, in the form of such things such as
-Intents, permissions, and similar aspects of Android applications that cannot
-be enforced at application compile time. This section details the "soft" APIs
-and system behaviors required for compatibility with Android 2.3. Device
-implementations MUST meet all the requirements presented in this section.</p>
-<a name="section-3.2.1"></a><h4>3.2.1. Permissions</h4>
-<p>Device implementers MUST support and enforce all permission constants as
-documented by the Permission reference page [<a
-href="#resources05">Resources, 5</a>]. Note that Section 10 lists additional
-requirements related to the Android security model.</p>
-<a name="section-3.2.3"></a><h4>3.2.2. Build Parameters</h4>
-<p>The Android APIs include a number of constants on the <code>android.os.Build</code>
-class [<a href="#resources06">Resources, 6</a>] that are intended to describe
-the current device. To provide consistent, meaningful values across device
-implementations, the table below includes additional restrictions on the
-formats of these values to which device implementations MUST conform.</p>
-<table>
-<tbody>
-<tr>
-<td><b>Parameter</b></td>
-<td><b>Comments</b></td>
-</tr>
-<tr>
-<td>android.os.Build.VERSION.RELEASE</td>
-<td>The version of the currently-executing Android system, in human-readable
-format. This field MUST have one of the string values defined in [<a
-href="#resources07">Resources, 7</a>].</td>
-</tr>
-<tr>
-<td>android.os.Build.VERSION.SDK</td>
-<td>The version of the currently-executing Android system, in a format
-accessible to third-party application code. For Android 2.3, this field MUST have
-the integer value 9.</td>
-</tr>
-<tr>
-<td>android.os.Build.VERSION.INCREMENTAL</td>
-<td>A value chosen by the device implementer designating the specific build of
-the currently-executing Android system, in human-readable format. This value
-MUST NOT be re-used for different builds made available to end users. A typical use
-of this field is to indicate which build number or source-control change
-identifier was used to generate the build. There are no requirements on the
-specific format of this field, except that it MUST NOT be null or the empty
-string ("").</td>
-</tr>
-<tr>
-<td>android.os.Build.BOARD</td>
-<td>A value chosen by the device implementer identifying the specific internal
-hardware used by the device, in human-readable format. A possible use of this
-field is to indicate the specific revision of the board powering the device.
-The value of this field MUST be encodable as 7-bit ASCII and match the regular expression
-<code>"^[a-zA-Z0-9.,_-]+$"</code>.</td>
-</tr>
-<tr>
-<td>android.os.Build.BRAND</td>
-<td>A value chosen by the device implementer identifying the name of the
-company, organization, individual, etc. who produced the device, in
-human-readable format. A possible use of this field is to indicate the OEM
-and/or carrier who sold the device. The value of this field MUST be
-encodable as 7-bit ASCII and match the regular expression
-<code>"^[a-zA-Z0-9.,_-]+$"</code>.
-</td>
-</tr>
-<tr>
-<td>android.os.Build.DEVICE</td>
-<td>A value chosen by the device implementer identifying the specific
-configuration or revision of the body (sometimes called "industrial design")
-of the device. The value of this field MUST be encodable as 7-bit ASCII and
-match the regular expression <code>"^[a-zA-Z0-9.,_-]+$"</code>.</td>
-</tr>
-<tr>
-<td>android.os.Build.FINGERPRINT</td>
-<td>A string that uniquely identifies this build. It SHOULD be reasonably
-human-readable. It MUST follow this template:
-<br/><code>$(BRAND)/$(PRODUCT)/$(DEVICE):$(VERSION.RELEASE)/$(ID)/$(VERSION.INCREMENTAL):$(TYPE)/$(TAGS)</code><br/>
-For example:
-<br/><code>acme/mydevice/generic/generic:2.3/ERC77/3359:userdebug/test-keys</code><br/>
-The fingerprint MUST NOT include whitespace characters. If other fields included in the
-template above have whitespace characters, they MUST be replaced in the build
-fingerprint with another character, such as the underscore ("_") character.
-The value of this field MUST be encodable as 7-bit ASCII.</td>
-</tr>
-<tr>
-<td>android.os.Build.HOST</td>
-<td>A string that uniquely identifies the host the build was built on, in
-human readable format. There are no requirements on the specific format of
-this field, except that it MUST NOT be null or the empty string ("").</td>
-</tr>
-<tr>
-<td>android.os.Build.ID</td>
-<td>An identifier chosen by the device implementer to refer to a specific
-release, in human readable format. This field can be the same as
-android.os.Build.VERSION.INCREMENTAL, but SHOULD be a value sufficiently
-meaningful for end users to distinguish between software builds. The value of
-this field MUST be encodable as 7-bit ASCII and match the regular expression
-<code>"^[a-zA-Z0-9.,_-]+$"</code>.
-</td>
-</tr>
-<tr>
-<td>android.os.Build.MODEL</td>
-<td>A value chosen by the device implementer containing the name of the device
-as known to the end user. This SHOULD be the same name under which the device
-is marketed and sold to end users. There are no requirements on the specific
-format of this field, except that it MUST NOT be null or the empty string
-("").</td>
-</tr>
-<tr>
-<td>android.os.Build.PRODUCT</td>
-<td>A value chosen by the device implementer containing the development name
-or code name of the device. MUST be human-readable, but is not necessarily
-intended for view by end users. The value of this field MUST be
-encodable as 7-bit ASCII and match the regular expression
-<code>"^[a-zA-Z0-9.,_-]+$"</code>.</td>
-</tr>
-<tr>
-<td>android.os.Build.TAGS</td>
-<td>A comma-separated list of tags chosen by the device implementer that
-further distinguish the build. For example, "unsigned,debug". The value of
-this field MUST be encodable as 7-bit ASCII and match the regular expression
-<code>"^[a-zA-Z0-9.,_-]+$"</code>.</td>
-</tr>
-<tr>
-<td>android.os.Build.TIME</td>
-<td>A value representing the timestamp of when the build occurred.</td>
-</tr>
-<tr>
-<td>android.os.Build.TYPE</td>
-<td>A value chosen by the device implementer specifying the runtime
-configuration of the build. This field SHOULD have one of the values
-corresponding to the three typical Android runtime configurations: "user",
-"userdebug", or "eng". The value of this field MUST be
-encodable as 7-bit ASCII and match the regular expression
-<code>"^[a-zA-Z0-9.,_-]+$"</code>.</td>
-</tr>
-<tr>
-<td>android.os.Build.USER</td>
-<td>A name or user ID of the user (or automated user) that generated the
-build. There are no requirements on the specific format of this field, except
-that it MUST NOT be null or the empty string ("").</td>
-</tr>
-</tbody>
-</table>
-<a name="section-3.2.3"></a><h4>3.2.3. Intent Compatibility</h4>
-<p>Android uses Intents to achieve loosely-coupled integration between
-applications. This section describes requirements related to the Intent
-patterns that MUST be honored by device implementations. By "honored", it is
-meant that the device implementer MUST provide an Android Activity or Service
-that specifies a matching Intent filter and binds to and implements correct
-behavior for each specified Intent pattern.</p>
-<a name="section-3.2.3.1"></a><h4>3.2.3.1. Core Application Intents</h4>
-<p>The Android upstream project defines a number of core applications, such as
-a phone dialer, calendar, contacts book, music player, and so on. Device
-implementers MAY replace these applications with alternative versions.</p>
-<p>However, any such alternative versions MUST honor the same Intent patterns
-provided by the upstream project. For example, if a device contains an
-alternative music player, it must still honor the Intent pattern issued by
-third-party applications to pick a song.</p>
-<p>The following applications are considered core Android system
-applications:</p>
-<ul>
-<li>Desk Clock</li>
-<li>Browser</li>
-<li>Calendar</li>
-<li>Calculator</li>
-<!-- <li>Camera</li> -->
-<li>Contacts</li>
-<li>Email</li>
-<li>Gallery</li>
-<li>GlobalSearch</li>
-<li>Launcher</li>
-<!-- <li>LivePicker (that is, the Live Wallpaper picker application; MAY be omitted
-if the device does not support Live Wallpapers, per Section 3.8.5.)</li> -->
-<!-- <li>Messaging (AKA "Mms")</li> -->
-<li>Music</li>
-<!-- <li>Phone</li> -->
-<li>Settings</li>
-<!-- <li>SoundRecorder</li> -->
-</ul>
-<p>The core Android system applications include various Activity, or Service
-components that are considered "public".  That is, the attribute
-"android:exported" may be absent, or may have the value "true".</p>
-<p>For every Activity or Service defined
-in one of the core Android system apps that is not marked as non-public via an
-android:exported attribute with the value "false", device implementations MUST
-include a compontent of the same type implementing the same Intent filter
-patterns as the core Android system app.</p>
-<p>In other words, a device implementation MAY replace core Android system
-apps; however, if it does, the device implementation MUST support all Intent
-patterns defined by each core Android system app being replaced.</p>
-<a name="section-3.2.3.2"></a><h4>3.2.3.2. Intent Overrides</h4>
-<p>As Android is an extensible platform, device implementers MUST allow each
-Intent pattern referenced in Section 3.2.3.1 to be overridden by third-party
-applications. The upstream Android open source project allows this by default;
-device implementers MUST NOT attach special privileges to system applications'
-use of these Intent patterns, or prevent third-party applications from binding
-to and assuming control of these patterns. This prohibition specifically
-includes but is not limited to disabling the "Chooser" user interface which
-allows the user to select between multiple applications which all handle the
-same Intent pattern.</p>
-<a name="section-3.2.3.3"></a><h4>3.2.3.3. Intent Namespaces</h4>
-<p>Device implementers MUST NOT include any Android component that honors any
-new Intent or Broadcast Intent patterns using an ACTION, CATEGORY, or other
-key string in the android.* namespace.  Device implementers MUST NOT include
-any Android components that honor any new Intent or Broadcast Intent patterns
-using an ACTION, CATEGORY, or other key string in a package space belonging to
-another organization. Device implementers MUST NOT alter or extend any of the
-Intent patterns used by the core apps listed in Section 3.2.3.1.</p>
-<p>This prohibition is analogous to that specified for Java language classes
-in Section 3.6.</p>
-<a name="section-3.2.3.4"></a><h4>3.2.3.4. Broadcast Intents</h4>
-<p>Third-party applications rely on the platform to broadcast certain Intents
-to notify them of changes in the hardware or software environment.
-Android-compatible devices MUST broadcast the public broadcast Intents in
-response to appropriate system events. Broadcast Intents are described in the
-SDK documentation.</p>
-
-<a name="section-3.3"></a><h3>3.3. Native API Compatibility</h3>
-<p>Managed code running in Dalvik can call into native code provided in the
-application .apk file as an ELF .so file compiled for the appropriate device
-hardware architecture. As native code is highly dependent on the underlying
-processor technology, Android defines a number of Application Binary
-Interfaces (ABIs) in the Android NDK, in the file
-<code>docs/CPU-ARCH-ABIS.txt</code>. If a device implementation is compatible
-with one or more defined ABIs, it SHOULD implement compatibility with the
-Android NDK, as below.</p>
-<p>If a device implementation includes support for an Android ABI, it:</p>
-<ul>
-<li>MUST include support for code running in the managed environment to call
-into native code, using the standard Java Native Interface (JNI)
-semantics.</li>
-<li>MUST be source-compatible (i.e. header compatible) and binary-compatible
-(for the ABI) with each required library in the list below</li>
-<li>MUST accurately report the native Application Binary Interface (ABI)
-supported by the device, via the <code>android.os.Build.CPU_ABI</code>
-API</li>
-<li>MUST report only those ABIs documented in the latest version of the
-Android NDK, in the file <code>docs/CPU-ARCH-ABIS.txt</code></li>
-<li>SHOULD be built using the source code and header files available in the
-upstream Android open-source project</li>
-</ul>
-<p>The following native code APIs MUST be available to apps that include
-native code:</p>
-<ul>
-<li>libc (C library)</li>
-<li>libm (math library)</li>
-<li>Minimal support for C++</li>
-<li>JNI interface</li>
-<li>liblog (Android logging)</li>
-<li>libz (Zlib compression)</li>
-<li>libdl (dynamic linker)</li>
-<li>libGLESv1_CM.so (OpenGL ES 1.0)</li>
-<li>libGLESv2.so (OpenGL ES 2.0)</li>
-<li>libEGL.so (native OpenGL surface management)</li>
-<li>libjnigraphics.so</li>
-<li>libOpenSLES.so (Open Sound Library audio support)</li>
-<li>libandroid.so (native Android activity support)</li>
-<li>Support for OpenGL, as described below</li>
-</ul>
-<p>Note that future releases of the Android NDK may introduce support for
-additional ABIs. If a device implementation is not compatible with an existing
-predefined ABI, it MUST NOT report support for any ABI at all.</p>
-<p>Native code compatibility is challenging. For this reason, it should be
-repeated that device implementers are VERY strongly encouraged to use the
-upstream implementations of the libraries listed above to help ensure
-compatibility.</p>
-
-<a name="section-3.4"></a><h3>3.4. Web Compatibility</h3>
-<p>Many developers and applications rely on the behavior of the
-<code>android.webkit.WebView</code> class [<a
-href="#resources08">Resources, 8</a>]
-for their user interfaces, so the WebView implementation must be
-compatible across Android implementations. Similarly, a complete, modern web
-broswer is central to the Android user experience. Device implementations MUST
-include a version of <code>android.webkit.WebView</code> consistent with the
-upstream Android software, and MUST include a modern HTML5-capable browser, as
-described below.</p>
-<a name="section-3.4.1"></a><h4>3.4.1. WebView Compatibility</h4>
-<p>The Android Open Source implementation uses the WebKit rendering engine to
-implement the <code>android.webkit.WebView</code>. Because it is not feasible
-to develop a comprehensive test suite for a web rendering system, device
-implementers MUST use the specific upstream build of WebKit in the WebView
-implementation.  Specifically:</p>
-<ul>
-<li>Device implementations' <code>android.webkit.WebView</code>
-implementations MUST be based on the 533.1 WebKit build from the upstream
-Android Open Source tree for Android 2.3. This build includes a specific set
-of functionality and security fixes for the WebView. Device implementers MAY
-include customizations to the WebKit implementation; however, any such
-customizations MUST NOT alter the behavior of the WebView, including rendering
-behavior.</li>
-<li>The user agent string reported by the WebView MUST be in this format:<br/>
-    <code>Mozilla/5.0 (Linux; U; Android $(VERSION); $(LOCALE); $(MODEL) Build/$(BUILD)) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1</code>
-  <ul>
-  <li>The value of the $(VERSION) string MUST be the same as the value for <code>android.os.Build.VERSION.RELEASE</code></li>
-  <li>The value of the $(LOCALE) string SHOULD follow the ISO conventions for country code and language, and SHOULD refer to the current configured locale of the device</li>
-  <li>The value of the $(MODEL) string MUST be the same as the value for <code>android.os.Build.MODEL</code></li>
-  <li>The value of the $(BUILD) string MUST be the same as the value for <code>android.os.Build.ID</code></li>
-  </ul></li>
-</ul>
-<p>The WebView component SHOULD include support for as much of HTML5 [<a
-href="#resources09">Resources, 9</a>] as possible.
-Minimally, device implementations MUST support each of these APIs associated
-with HTML5 in the WebView:</p>
-<ul>
-<li>application cache/offline operation [<a href="#resources10">Resources, 10</a>]</li>
-<li>the &lt;video&gt; tag [<a href="#resources11">Resources, 11</a>]</li>
-<li>geolocation [<a href="#resources12">Resources, 12</a>]</li>
-</ul>
-<p>Additionally, device implementations MUST support the HTML5/W3C webstorage
-API [<a href="#resources13">Resources, 13</a>], and SHOULD support the
-HTML5/W3C IndexedDB API [<a href="#resources14">Resources, 14</a>]. <i>Note
-that as the web development standards bodies are transitioning to favor
-IndexedDB over webstorage, IndexedDB is expected to become a required
-component in a future version of Android.</i></p>
-<p>HTML5 APIs, like all JavaScript APIs, MUST be disabled by default in a
-WebView, unless the developer explicitly enables them via the usual Android
-APIs.</p>
-
-<a name="section-3.4.2"></a><h4>3.4.2. Browser Compatibility</h4>
-<p>Device implementations MUST include a standalone Browser application for
-general user web browsing. The standalone Browser MAY be based on a
-browser technology other than WebKit. However, even if an alternate Browser
-application is used, the <code>android.webkit.WebView</code> component
-provided to third-party applications MUST be based on WebKit, as described in
-Section 3.4.1.</p>
-<p>Implementations MAY ship a custom user agent string in the standalone
-Browser application.</p>
-<p>The standalone Browser application (whether based on the upstream
-WebKit Browser application or a third-party replacement) SHOULD include support
-for as much of HTML5 [<a href="#resources09">Resources, 9</a>] as possible.
-Minimally, device implementations MUST support each of these APIs associated
-with HTML5:</p>
-<ul>
-<li>application cache/offline operation [<a href="#resources10">Resources, 10</a>]</li>
-<li>the &lt;video&gt; tag [<a href="#resources11">Resources, 11</a>]</li>
-<li>geolocation [<a href="#resources12">Resources, 12</a>]</li>
-</ul>
-<p>Additionally, device implementations MUST support the HTML5/W3C webstorage
-API [<a href="#resources13">Resources, 13</a>], and SHOULD support the
-HTML5/W3C IndexedDB API [<a href="#resources14">Resources, 14</a>]. <i>Note
-that as the web development standards bodies are transitioning to favor
-IndexedDB over webstorage, IndexedDB is expected to become a required
-component in a future version of Android.</i></p>
-
-<a name="section-3.5"></a><h3>3.5. API Behavioral Compatibility</h3>
-<p>The behaviors of each of the API types (managed, soft, native, and web)
-must be consistent with the preferred implementation of the upstream Android
-open-source project [<a href="#resources03">Resources, 3</a>]. Some specific areas
-of compatibility are:</p>
-<ul>
-<li>Devices MUST NOT change the behavior or semantics of a standard Intent</li>
-<li>Devices MUST NOT alter the lifecycle or lifecycle semantics of a
-    particular type of system component (such as Service, Activity,
-    ContentProvider, etc.)</li>
-<li>Devices MUST NOT change the semantics of a standard permission</li>
-</ul>
-<p>The above list is not comprehensive. The Compatibility Test Suite (CTS)
-tests significant portions of the platform for behavioral compatibility, but
-not all. It is the responsibility of the implementer to ensure behavioral
-compatibility with the Android Open Source Project.  For this reason, device
-implementers SHOULD use the source code available via the Android Open Source
-Project where possible, rather than re-implement significant parts of the
-system.</p>
-
-
-<a name="section-3.6"></a><h3>3.6. API Namespaces</h3>
-<p>Android follows the package and class namespace conventions defined by the
-Java programming language. To ensure compatibility with third-party
-applications, device implementers MUST NOT make any prohibited modifications
-(see below) to these package namespaces:</p>
-<ul>
-<li>java.*</li>
-<li>javax.*</li>
-<li>sun.*</li>
-<li>android.*</li>
-<li>com.android.*</li>
-</ul>
-<p>Prohibited modifications include:</p>
-<ul>
-<li>Device implementations MUST NOT modify the publicly exposed APIs on the
-Android platform by changing any method or class signatures, or by removing
-classes or class fields.</li>
-<li>Device implementers MAY modify the underlying implementation of the APIs,
-but such modifications MUST NOT impact the stated behavior and Java-language
-signature of any publicly exposed APIs.</li>
-<li>Device implementers MUST NOT add any publicly exposed elements (such as
-classes or interfaces, or fields or methods to existing classes or interfaces)
-to the APIs above.</li>
-</ul>
-<p>A "publicly exposed element" is any construct which is not decorated with
-the "@hide" marker as used in the upstream Android source code. In other
-words, device implementers MUST NOT expose new APIs or alter existing APIs in
-the namespaces noted above. Device implementers MAY make internal-only
-modifications, but those modifications MUST NOT be advertised or otherwise
-exposed to developers.</p>
-<p>Device implementers MAY add custom APIs, but any such APIs MUST NOT be in a
-namespace owned by or referring to another organization. For instance, device
-implementers MUST NOT add APIs to the com.google.* or similar namespace; only
-Google may do so. Similarly, Google MUST NOT add APIs to other companies'
-namespaces. Additionally, if a device implementation includes custom APIs
-outside the standard Android namespace, those APIs MUST be packaged in an
-Android shared library so that only apps that explicitly use them (via the
-<code>&lt;uses-library&gt;</code> mechanism) are affected by the increased
-memory usage of such APIs.</p>
-<p>If a device implementer proposes to improve one of the package namespaces
-above (such as by adding useful new functionality to an existing API, or
-adding a new API), the implementer SHOULD visit source.android.com and begin
-the process for contributing changes and code, according to the information on
-that site.</p>
-<p>Note that the restrictions above correspond to standard conventions for
-naming APIs in the Java programming language; this section simply aims to
-reinforce those conventions and make them binding through inclusion in this
-compatibility definition.</p>
-
-<a name="section-3.7"></a><h3>3.7. Virtual Machine Compatibility</h3>
-<p>Device implementations MUST support the full Dalvik Executable (DEX)
-bytecode specification and Dalvik Virtual Machine semantics [<a
-href="#resources15">Resources, 15</a>].</p>
-<p>Device implementations with screens classified as medium- or low-density
-MUST configure Dalvik to allocate at least 16MB of memory to each application.
-Device implementations with screens classified as high-density or
-extra-high-density MUST configure Dalvik to allocate at least 24MB of memory
-to each application. Note that device implementations MAY allocate more memory
-than these figures.</p>
-
-<a name="section-3.8"></a><h3>3.8. User Interface Compatibility</h3>
-<p>The Android platform includes some developer APIs that allow developers to
-hook into the system user interface. Device implementations MUST incorporate
-these standard UI APIs into custom user interfaces they develop, as explained
-below.</p>
-<a name="section-3.8.1"></a><h4>3.8.1. Widgets</h4>
-<p>Android defines a component type and corresponding API and lifecycle that
-allows applications to expose an "AppWidget" to the end user [<a
-href="#resources16">Resources, 16</a>].
-The Android Open Source reference release includes a Launcher application that
-includes user interface elements allowing the user to add, view, and remove
-AppWidgets from the home screen.</p>
-<p>Device implementers MAY substitute an alternative to the reference Launcher
-(i.e. home screen).  Alternative Launchers SHOULD include built-in support for
-AppWidgets, and expose user interface elements to add, configure, view, and remove
-AppWidgets directly within the Launcher. Alternative Launchers MAY omit these
-user interface elements; however, if they are omitted, the device implementer
-MUST provide a separate application accessible from the Launcher that allows
-users to add, configure, view, and remove AppWidgets.</p>
-<a name="section-3.8.2"></a><h4>3.8.2. Notifications</h4>
-<p>Android includes APIs that allow developers to notify users of notable
-events [<a href="#resources17">Resources, 17</a>]. Device implementers MUST provide support for each
-class of notification so defined; specifically: sounds, vibration, light and
-status bar.</p>
-<p>Additionally, the implementation MUST correctly render all resources
-(icons, sound files, etc.) provided for in the APIs [<a
-href="#resources18">Resources, 18</a>], or in the
-Status Bar icon style guide [<a href="#resources19">Resources, 19</a>]. Device implementers MAY provide
-an alternative user experience for notifications than that provided by the
-reference Android Open Source implementation; however, such alternative
-notification systems MUST support existing notification resources, as
-above.</p>
-<a name="section-3.8.3"></a><h4>3.8.3. Search</h4>
-<p>Android includes APIs [<a href="#resources20">Resources, 20</a>] that allow developers to incorporate
-search into their applications, and expose their application's data into the
-global system search. Generally speaking, this functionality consists of a
-single, system-wide user interface that allows users to enter queries,
-displays suggestions as users type, and displays results. The Android APIs
-allow developers to reuse this interface to provide search within their own
-apps, and allow developers to supply results to the common global search user
-interface.</p>
-<p>Device implementations MUST include a single, shared, system-wide search
-user interface capable of real-time suggestions in response to user input.
-Device implementations MUST implement the APIs that allow developers to reuse
-this user interface to provide search within their own applications.  Device
-implementations MUST implement the APIs that allow third-party applications to
-add suggestions to the search box when it is run in global search mode. If no
-third-party applications are installed that make use of this functionality,
-the default behavior SHOULD be to display web search engine results and
-suggestions.</p>
-<p>Device implementations MAY ship alternate search user interfaces, but
-SHOULD include a hard or soft dedicated search button, that can be used at any
-time within any app to invoke the search framework, with the behavior provided
-for in the API documentation.</p>
-<a name="section-3.8.4"></a><h4>3.8.4. Toasts</h4>
-<p>Applications can use the "Toast" API (defined in [<a
-href="#resources21">Resources, 21</a>]) to
-display short non-modal strings to the end user, that disappear after a brief
-period of time. Device implementations MUST display Toasts from applications
-to end users in some high-visibility manner.</p>
-<a name="section-3.8.5"></a><h4>3.8.5. Live Wallpapers</h4>
-<p>Android defines a component type and corresponding API and lifecycle that
-allows applications to expose one or more "Live Wallpapers" to the end user
-[<a href="#resources22">Resources, 22</a>]. Live Wallpapers are animations,
-patterns, or similar images with limited input capabilities that display as a
-wallpaper, behind other applications.</p>
-<p>Hardware is considered capable of reliably running live wallpapers if it
-can run all live wallpapers, with no limitations on functionality, at a
-reasonable framerate with no adverse affects on other applications. If
-limitations in the hardware cause wallpapers and/or applications to crash,
-malfunction, consume excessive CPU or battery power, or run at unacceptably
-low frame rates, the hardware is considered incapable of running live
-wallpaper. As an example, some live wallpapers may use an Open GL 1.0 or 2.0
-context to render their content. Live wallpaper will not run reliably on
-hardware that does not support multiple OpenGL contexts because the live
-wallpaper use of an OpenGL context may conflict with other applications that
-also use an OpenGL context.</p>
-<p>Device implementations capable of running live wallpapers reliably as
-described above SHOULD implement live wallpapers. Device implementations
-determined to not run live wallpapers reliably as described above MUST NOT
-implement live wallpapers.</p>
-
-<a name="section-4"></a><h2>4. Application Packaging Compatibility</h2>
-<p>Device implementations MUST install and run Android ".apk" files as
-generated by the "aapt" tool included in the official Android SDK [<a
-href="#resources23">Resources, 23</a>].</p>
-<p>Devices implementations MUST NOT extend either the .apk [<a
-href="#resources24">Resources, 24</a>], Android Manifest [<a
-href="#resources25">Resources, 25</a>],
-or Dalvik bytecode [<a href="#resources15">Resources, 15</a>] formats in such
-a way that would prevent those files from
-installing and running correctly on other compatible devices. Device
-implementers SHOULD use the reference upstream implementation of Dalvik, and
-the reference implementation's package management system.</p>
-
-<a name="section-5"></a><h2>5. Multimedia Compatibility</h2>
-<p>Device implementations MUST fully implement all multimedia APIs. Device
-implementations MUST include support for all multimedia codecs described
-below, and SHOULD meet the sound processing guidelines described below. Device
-implementations MUST include at least one form of audio output, such as
-speakers, headphone jack, external speaker connection, etc.</p>
-<a name="section-5.1"></a><h3>5.1. Media Codecs</h3>
-<p>Device implementations MUST support the multimedia codecs as detailed in
-the following sections. All of these codecs are provided as software
-implementations in the preferred Android implementation from the Android
-Open-Source Project.</p>
-<p>Please note that neither Google nor the Open Handset Alliance make any
-representation that these codecs are unencumbered by third-party patents.
-Those intending to use this source code in hardware or software products are
-advised that implementations of this code, including in open source software
-or shareware, may require patent licenses from the relevant patent
-holders.</p>
-<p>The tables below do not list specific bitrate requirements for
-most video codecs. The reason for this is that in practice, current device
-hardware does not necessarily support bitrates that map exactly to the
-required bitrates specified by the relevant standards. Instead, device
-implementations SHOULD support the highest bitrate practical on the hardware,
-up to the limits defined by the specifications.</p>
-<a name="section-5.1.1"></a><h3>5.1.1. Media Decoders</h3>
-<p>Device implementations MUST include an implementation of an decoder for
-each codec and format described in the table below. Note that decoders for
-each of these media types are provided by the upstream Android Open-Source
-Project.</p>
-<table><tbody>
-<tr>
-<td rowspan="11"><b>Audio</b></td>
-</tr>
-<tr>
-<td><b>Name</b></td>
-<td><b>Details</b></td>
-<td><b>File/Container Format</b></td>
-</tr>
-<tr>
-<td>AAC LC/LTP</td>
-<td rowspan="3">Mono/Stereo content in any combination of standard bit rates up to 160 kbps and sampling rates between 8 to 48kHz</td>
-<td rowspan="3">3GPP (.3gp) and MPEG-4 (.mp4, .m4a). No support for raw AAC (.aac)</td>
-</tr>
-<tr>
-<td>HE-AACv1 (AAC+)</td>
-</tr>
-<tr>
-<td>HE-AACv2 (enhanced AAC+)</td>
-</tr>
-<tr>
-<td>AMR-NB</td>
-<td>4.75 to 12.2 kbps sampled @ 8kHz</td>
-<td>3GPP (.3gp)</td>
-</tr>
-<tr>
-<td>AMR-WB</td>
-<td>9 rates from 6.60 kbit/s to 23.85 kbit/s sampled @ 16kHz</td>
-<td>3GPP (.3gp)</td>
-</tr>
-<tr>
-<td>MP3</td>
-<td>Mono/Stereo 8-320Kbps constant (CBR) or variable bit-rate (VBR)</td>
-<td>MP3 (.mp3)</td>
-</tr>
-<tr>
-<td>MIDI</td>
-<td>MIDI Type 0 and 1. DLS Version 1 and 2. XMF and Mobile XMF. Support for ringtone formats RTTTL/RTX, OTA, and iMelody</td>
-<td>Type 0 and 1 (.mid, .xmf, .mxmf). Also RTTTL/RTX (.rtttl, .rtx), OTA (.ota), and iMelody (.imy)</td>
-</tr>
-<tr>
-<td>Ogg Vorbis</td>
-<td>&nbsp;</td>
-<td>Ogg (.ogg)</td>
-</tr>
-<tr>
-<td>PCM</td>
-<td>8- and 16-bit linear PCM (rates up to limit of hardware)</td>
-<td>WAVE (.wav)</td>
-</tr>
-<tr>
-<td rowspan="5"><b>Image</b></td>
-</tr>
-<tr>
-<td>JPEG</td>
-<td>base+progressive</td>
-<td>&nbsp;</td>
-</tr>
-<tr>
-<td>GIF</td>
-<td>&nbsp;</td>
-<td>&nbsp;</td>
-</tr>
-<tr>
-<td>PNG</td>
-<td>&nbsp;</td>
-<td>&nbsp;</td>
-</tr>
-<tr>
-<td>BMP</td>
-<td>&nbsp;</td>
-<td>&nbsp;</td>
-</tr>
-<tr>
-<td rowspan="4"><b>Video</b></td>
-</tr>
-<tr>
-<td>H.263</td>
-<td>&nbsp;</td>
-<td>3GPP (.3gp) files</td>
-</tr>
-<tr>
-<td>H.264</td>
-<td>&nbsp;</td>
-<td>3GPP (.3gp) and MPEG-4 (.mp4) files</td>
-</tr>
-<tr>
-<td>MPEG4 Simple Profile</td>
-<td>&nbsp;</td>
-<td>3GPP (.3gp) file</td>
-</tr>
-</tbody>
-</table>
-
-<a name="section-5.1.2"></a><h3>5.1.2. Media Encoders</h3>
-<p>Device implementations SHOULD include encoders for as many of the media
-formats listed in Section 5.1.1. as possible. However, some encoders do not
-make sense for devices that lack certain optional hardware; for instance,
-an encoder for the H.263 video does not make sense, if the device lacks any
-cameras. Device implementations MUST therefore implement media encoders
-according to the conditions described in the table below.</p>
-<p>See Section 7 for details on the conditions under which hardware may be
-omitted by device implementations.</p>
-<table><tbody>
-<tr>
-<td rowspan="5"><b>Audio</b></td>
-</tr>
-<tr>
-<td><b>Name</b></td>
-<td><b>Details</b></td>
-<td><b>File/Container Format</b></td>
-<td><b>Conditions</b></td>
-</tr>
-<tr>
-<td>AMR-NB</td>
-<td>4.75 to 12.2 kbps sampled @ 8kHz</td>
-<td>3GPP (.3gp)</td>
-<td rowspan="3">Device implementations that include microphone hardware and define
-<code>android.hardware.microphone</code> MUST include encoders for these audio
-formats.</td>
-</tr>
-<tr>
-<td>AMR-WB</td>
-<td>9 rates from 6.60 kbit/s to 23.85 kbit/s sampled @ 16kHz</td>
-<td>3GPP (.3gp)</td>
-</tr>
-<tr>
-<td>AAC LC/LTP</td>
-<td rowspan="1">Mono/Stereo content in any combination of standard bit rates up to 160 kbps and sampling rates between 8 to 48kHz</td>
-<td rowspan="1">3GPP (.3gp) and MPEG-4 (.mp4, .m4a).</td>
-</tr>
-<tr>
-<td rowspan="2"><b>Image</b></td>
-<td>JPEG</td>
-<td>base+progressive</td>
-<td>&nbsp;</td>
-<td rowspan="2">All device implementations MUST include encoders for these
-image formats, as Android 2.3 includes APIs that applications can use to
-programmatically generate files of these types.</td>
-</tr>
-<tr>
-<td>PNG</td>
-<td>&nbsp;</td>
-<td>&nbsp;</td>
-</tr>
-<tr>
-<td><b>Video</b></td>
-<td>H.263</td>
-<td>&nbsp;</td>
-<td>3GPP (.3gp) files</td>
-<td>Device implementations that include camera hardware and define
-either <code>android.hardware.camera</code> or
-<code>android.hardware.camera.front</code> MUST include encoders for these
-video formats.</td>
-</tr>
-</tbody>
-</table>
-<p>In addition to the encoders listed above, device implementations SHOULD include an H.264
-encoder. Note that the Compatibility Definition for a future version is planned
-to change this requirement to "MUST". That is, H.264 encoding is optional in Android
-2.3 but <b>will be required</b> by a future version. Existing and new devices 
-that run Android 2.3 are <b>very strongly encouraged to meet
-this requirement in Android 2.3</b>, or they will not be able to attain
-Android compatibility when upgraded to the future version.</p>
-
-<a name="section-5.2"></a><h3>5.2. Audio Recording</h3>
-<p>When an application has used the <code>android.media.AudioRecord</code> API to
-start recording an audio stream, device implementations SHOULD sample and
-record audio with each of these behaviors:</p>
-<ul>
-<li>Noise reduction processing, if present, SHOULD be disabled.</li>
-<li>Automatic gain control, if present, SHOULD be disabled.</li>
-<li>The device SHOULD exhibit approximately flat amplitude versus frequency
-    characteristics; specifically, &plusmn;3 dB, from 100 Hz to 4000 Hz</li>
-<li>Audio input sensitivity SHOULD be set such that a 90 dB sound power level
-    (SPL) source at 1000 Hz yields RMS of 5000 for 16-bit samples.</li>
-<li>PCM amplitude levels SHOULD linearly track input SPL changes over at least
-    a 30 dB range from -18 dB to +12 dB re 90 dB SPL at the microphone.</li>
-<li>Total harmonic distortion SHOULD be less than 1% from 100 Hz to 4000 Hz at
-    90 dB SPL input level.</li>
-</ul>
-<p><b>Note:</b> while the requirements outlined above are stated as "SHOULD"
-for Android 2.3, the Compatibility Definition for a future version is planned
-to change these to "MUST". That is, these requirements are optional in Android
-2.3 but <b>will be required</b> by a future version. Existing and new devices 
-that run Android 2.3 are <b>very strongly encouraged to meet
-these requirements in Android 2.3</b>, or they will not be able to attain
-Android compatibility when upgraded to the future version.</p>
-
-<a name="section-5.3"></a><h3>5.3. Audio Latency</h3>
-<p>Audio latency is broadly defined as the interval between when an
-application requests an audio playback or record operation, and when the
-device implementation actually begins the operation. Many classes of
-applications rely on short latencies, to achieve real-time effects such sound
-effects or VOIP communication. Device implementations that include microphone
-hardware and declare <code>android.hardware.microphone</code> SHOULD meet all
-audio latency requirements outlined in this section.  See Section 7 for
-details on the conditions under which microphone hardware may be omitted by
-device implementations.</p>
-<p>For the purposes of this section:</p>
-<ul>
-<li>"cold output latency" is defined to be the interval between when an
-    application requests audio playback and when sound begins playing, when
-    the audio system has been idle and powered down prior to the request</li>
-<li>"warm output latency" is defined to be the interval between when an
-    application requests audio playback and when sound begins playing, when
-    the audio system has been recently used but is currently idle (that is,
-    silent)</li>
-<li>"continuous output latency" is defined to be the interval between when an
-    application issues a sample to be played and when the speaker physically
-    plays the corresponding sound, while the device is currently playing back
-    audio</li>
-<li>"cold input latency" is defined to be the interval between when an
-    application requests audio recording and when the first sample is
-    delivered to the application via its callback, when the audio system and
-    microphone has been idle and powered down prior to the request</li>
-<li>"continuous input latency" is defined to be when an ambient sound occurs
-    and when the sample corresponding to that sound is delivered to a
-    recording application via its callback, while the device is in recording
-    mode</li>
-</ul>
-<p>Using the above definitions, device implementations SHOULD exhibit each of
-these properties:</p>
-<ul>
-<li>cold output latency of 100 milliseconds or less</li>
-<li>warm output latency of 10 milliseconds or less</li>
-<li>continuous output latency of 45 milliseconds or less</li>
-<li>cold input latency of 100 milliseconds or less</li>
-<li>continuous input latency of 50 milliseconds or less</li>
-</ul>
-<p><b>Note:</b> while the requirements outlined above are stated as "SHOULD"
-for Android 2.3, the Compatibility Definition for a future version is planned
-to change these to "MUST". That is, these requirements are optional in Android
-2.3 but <b>will be required</b> by a future version. Existing and new devices 
-that run Android 2.3 are <b>very strongly encouraged to meet
-these requirements in Android 2.3</b>, or they will not be able to attain
-Android compatibility when upgraded to the future version.</p>
-<p>If a device implementation meets the requirements of this section, it MAY
-report support for low-latency audio, by reporting the feature
-"android.hardware.audio.low-latency" via the
-<code>android.content.pm.PackageManager</code> class. [<a
-href="#resources27">Resources, 27</a>] Conversely, if the device
-implementation does not meet these requirements it MUST NOT report support for
-low-latency audio.</p>
-
-<a name="section-6"></a><h2>6. Developer Tool Compatibility</h2>
-<p>Device implementations MUST support the Android Developer Tools provided in
-the Android SDK. Specifically, Android-compatible devices MUST be compatible
-with:</p>
-<ul>
-<li><b>Android Debug Bridge (known as adb)</b> [<a href="#resources23">Resources, 23</a>]<br/>
-Device implementations MUST support all <code>adb</code> functions as
-documented in the Android SDK. The device-side <code>adb</code> daemon SHOULD
-be inactive by default, but there MUST be a user-accessible mechanism to turn
-on the Android Debug Bridge.</li>
-<li><b>Dalvik Debug Monitor Service (known as ddms)</b> [<a href="#resources23">Resources, 23</a>]<br/>
-Device implementations MUST support all <code>ddms</code> features as documented in the
-Android SDK. As <code>ddms</code> uses <code>adb</code>, support for
-<code>ddms</code> SHOULD be inactive by default,
-but MUST be supported whenever the user has activated the Android Debug
-Bridge, as above.</li>
-<li><b>Monkey</b> [<a href="#resources26">Resources, 26</a>]<br/>
-Device implementations MUST include the Monkey framework, and make it
-available for applications to use.</li>
-</ul>
-<p>Most Linux-based systems and Apple Macintosh systems recognize Android
-devices using the standard Android SDK tools, without additional support;
-however Microsoft Windows systems typically require a driver for new Android
-devices. (For instance, new vendor IDs and sometimes new device IDs require
-custom USB drivers for Windows systems.) If a device implementation is
-unrecognized by the <code>adb</code> tool as provided in the standard Android
-SDK, device implementers MUST provide Windows drivers allowing developers to
-connect to the device using the <code>adb</code> protocol. These drivers MUST
-be provided for Windows XP, Windows Vista, and Windows 7, in both 32-bit and
-64-bit versions.</p>
-
-<a name="section-7"></a><h2>7. Hardware Compatibility</h2>
-<p>Android is intended to enable device implementers to create innovative form 
-factors and configurations. At the same time Android developers write
-innovative applications that rely on the various hardware and features
-available through the Android APIs. The requirements in this section strike a
-balance between innovations available to device implementers, and the needs of
-developers to ensure their apps are only available to devices where they will
-run properly.</p>
-<p>If a device includes a particular hardware component that has a 
-corresponding API for third-party developers, the device implementation MUST
-implement that API as described in the Android SDK documentation. If an API in
-the SDK interacts with a hardware component that is stated to be optional and the device
-implementation does not possess that component:</p>
-<ul>
-<li>complete class definitions (as documented by the SDK) for the component's APIs MUST still be present</li>
-<li>the API's behaviors MUST be implemented as no-ops in some reasonable fashion</li>
-<li>API methods MUST return null values where permitted by the SDK documentation</li>
-<li>API methods MUST return no-op implementations of classes where null values are not permitted by the SDK documentation</li>
-<li>API methods MUST NOT throw exceptions not documented by the SDK documentation</li>
-</ul>
-<p>A typical example of a scenario where these requirements apply is the
-telephony API: even on non-phone devices, these APIs must be implemented as
-reasonable no-ops.</p>
-<p>Device implementations MUST accurately report accurate hardware configuration
-information via the <code>getSystemAvailableFeatures()</code> and
-<code>hasSystemFeature(String)</code> methods on the
-<code>android.content.pm.PackageManager</code> class. [<a
-href="#resources27">Resources, 27</a>]</p>
-
-<a name="section-7.1"></a><h3>7.1. Display and Graphics</h3>
-<p>Android 2.3 includes facilities that automatically adjust application
-assets and UI layouts appropriately for the device, to ensure that third-party
-applications run well on a variety of hardware configurations [<a
-href="#resources28">Resources, 28</a>]. Devices MUST properly implement these
-APIs and behaviors, as detailed in this section.</p>
-<a name="section-7.1.1"></a><h4>7.1.1. Screen Configurations</h4>
-<p>Device implementations MAY use screens of any pixel dimensions, provided
-that they meet the following requirements:</p>
-<ul>
-<li>screens MUST be at least 2.5 inches in physical diagonal size</li>
-<li>density MUST be at least 100 dpi</li>
-<li>the aspect ratio MUST be between 1.333 (4:3) and 1.779 (16:9)</li>
-<li>the display technology used consists of square pixels</li>
-</ul>
-<p>Device implementations with a screen meeting the requirements above are
-considered compatible, and no additional action is necessary.  The Android
-framework implementation automatically computes display characteristics such
-as screen size bucket and density bucket. In the majority of cases, the
-framework decisions are the correct ones. If the default framework
-computations are used, no additional action is necessary.  Device implementers
-wishing to change the defaults, or use a screen that does not meet the
-requirements above MUST contact the Android Compatibility Team for guidance,
-as provided for in Section 12.</p>
-<p>The units used by the requirements above are defined as follows:</p>
-<ul>
-<li>"Physical diagonal size" is the distance in inches between two opposing
-corners of the illuminated portion of the display.</li>
-<li>"dpi" (meaning "dots per inch") is the number of pixels encompassed by a
-linear horizontal or vertical span of 1". Where dpi values are listed, both
-horizontal and vertical dpi must fall within the range.</li>
-<li>"Aspect ratio" is the ratio of the longer dimension of the screen to the
-shorter dimension. For example, a display of 480x854 pixels would be 854 / 480
-= 1.779, or roughly "16:9".</li>
-</ul>
-<p>Device implementations MUST use only displays with a single static
-configuration. That is, device implementations MUST NOT enable multiple
-screen configurations. For instance, since a typical television supports
-multiple resolutions such as 1080p, 720p, and so on, this configuration is not
-compatible with Android 2.3. (However, support for such configurations is
-under investigation and planned for a future version of Android.)</p>
-<a name="section-7.1.2"></a><h4>7.1.2. Display Metrics</h4>
-<p>Device implementations MUST report correct values for all display metrics
-defined in <code>android.util.DisplayMetrics</code> [<a
-href="#resources29">Resources, 29</a>].</p>
-<a name="section-7.1.3"></a><h4>7.1.3. Declared Screen Support</h4>
-<p>Applications optionally indicate which screen sizes they support via the
-<code>&lt;supports-screens&gt;</code> attribute in the AndroidManifest.xml
-file. Device implementations MUST correctly honor applications' stated support
-for small, medium, and large screens, as described in the Android
-SDK documentation.</p>
-<a name="section-7.1.4"></a><h4>7.1.4. Screen Orientation</h4>
-<p>Compatible devices MUST support dynamic orientation by applications to
-either portrait or landscape screen orientation. That is, the device must
-respect the application's request for a specific screen orientation. Device
-implementations MAY select either portrait or landscape orientation as the
-default. Devices that cannot be physically rotated MAY meet this requirement
-by "letterboxing" applications that request portrait mode, using only a
-portion of the available display.</p>
-<p>Devices MUST report the correct value for the device's current orientation,
-whenever queried via the android.content.res.Configuration.orientation,
-android.view.Display.getOrientation(), or other APIs.</p>
-<a name="section-7.1.5"></a><h4>7.1.5. 3D Graphics Acceleration</h4>
-<p>Device implementations MUST support OpenGL ES 1.0, as required by the
-Android 2.3 APIs. For devices that lack 3D acceleration hardware, a software
-implementation of OpenGL ES 1.0 is provided by the upstream Android
-Open-Source Project. Device implementations SHOULD support OpenGL ES 2.0.</p>
-<p>Implementations MAY omit Open GL ES 2.0 support; however if support is
-ommitted, device implementations MUST NOT report as supporting OpenGL ES 2.0.
-Specifically, if a device implementations lacks OpenGL ES 2.0 support:</p>
-<ul>
-<li>the managed APIs (such as via the <code>GLES10.getString()</code> method)
-MUST NOT report support for OpenGL ES 2.0</li>
-<li>the native C/C++ OpenGL APIs (that is, those available to apps via
-libGLES_v1CM.so, libGLES_v2.so, or libEGL.so) MUST NOT report support for
-OpenGL ES 2.0.</li>
-</ul>
-<p>Conversely, if a device implementation <i>does</i> support OpenGL ES 2.0,
-it MUST accurately report that support via the routes just listed.</p>
-<p>Note that Android 2.3 includes support for applications to optionally
-specify that they require specific OpenGL texture compression formats. These
-formats are typically vendor-specific. Device implementations are not required
-by Android 2.3 to implement any specific texture compression format. However,
-they SHOULD accurately report any texture compression formats that they do
-support, via the <code>getString()</code> method in the OpenGL API.</p>
-
-<a name="section-7.2"></a><h3>7.2. Input Devices</h3>
-<p>Android 2.3 supports a number of modalities for user input. Device
-implementations MUST support user input devices as provided for in this
-section.</p>
-<a name="section-7.2.1"></a><h4>7.2.1. Keyboard</h4>
-<p>Device implementations:</p>
-<ul>
-<li>MUST include support for the Input Management Framework (which allows third party developers to create Input Management Engines -- i.e. soft keyboard) as detailed at developer.android.com</li>
-<li>MUST provide at least one soft keyboard implementation (regardless of whether a hard keyboard is present)</li>
-<li>MAY include additional soft keyboard implementations</li>
-<li>MAY include a hardware keyboard</li>
-<li>MUST NOT include a hardware keyboard that does not match one of the
-formats specified in <code>android.content.res.Configuration.keyboard</code>
-[<a href="#resources30">Resources, 30</a>] (that is, QWERTY, or 12-key)</li>
-</ul>
-<a name="section-7.2.2"></a><h4>7.2.2. Non-touch Navigation</h4>
-<p>Device implementations:</p>
-<ul>
-<li>MAY omit a non-touch navigation option (that is, may omit a trackball, d-pad, or wheel)</li>
-<li>MUST report the correct value for
-<code>android.content.res.Configuration.navigation</code> [<a href="#resources30">Resources, 30</a>]</li>
-<li>MUST provide a reasonable alternative user interface mechanism for the
-selection and editing of text, compatible with Input Management Engines. The
-upstream Android Open-Source code includes a selection mechanism suitable for
-use with devices that lack non-touch navigation inputs.</li>
-</ul>
-<a name="section-7.2.3"></a><h4>7.2.3. Navigation keys</h4>
-<p>The Home, Menu and Back functions are essential to the Android navigation
-paradigm. Device implementations MUST make these functions available to the
-user at all times, regardless of application state. These functions SHOULD be
-implemented via dedicated buttons. They MAY be implemented using software,
-gestures, touch panel, etc., but if so they MUST be always accessible and not
-obscure or interfere with the available application display area.</p>
-<p>Device implementers SHOULD also provide a dedicated search key. Device
-implementers MAY also provide send and end keys for phone calls.</p>
-<a name="section-7.2.4"></a><h4>7.2.4. Touchscreen input</h4>
-<p>Device implementations:</p>
-<ul>
-<li>MUST have a touchscreen</li>
-<li>MAY have either capacitive or resistive touchscreen</li>
-<li>MUST report the value of <code>android.content.res.Configuration</code>
-[<a href="#resources30">Resources, 30</a>]
-reflecting corresponding to the type of the specific touchscreen on the
-device</li>
-<li>SHOULD support fully independently tracked pointers, if the touchscreen supports multiple pointers</li>
-</ul>
-
-<a name="section-7.3"></a><h3>7.3. Sensors</h3>
-<p>Android 2.3 includes APIs for accessing a variety of sensor types. Devices
-implementations generally MAY omit these sensors, as provided for in the
-following subsections. If a device includes a particular sensor type that has a 
-corresponding API for third-party developers, the device implementation MUST
-implement that API as described in the Android SDK documentation. For example,
-device implementations:</p>
-<ul>
-<li>MUST accurately report the presence or absence of sensors per the
-<code>android.content.pm.PackageManager</code> class. [<a
-href="#resources27">Resources, 27</a>]</li>
-<li>MUST return an accurate list of supported sensors via the
-<code>SensorManager.getSensorList()</code> and similar methods</li>
-<li>MUST behave reasonably for all other sensor APIs (for example, by
-returning true or false as appropriate when applications attempt to register
-listeners, not calling sensor listeners when the corresponding sensors are not
-present; etc.)</li>
-</ul>
-<p>The list above is not comprehensive; the documented behavior of the Android
-SDK is to be considered authoritative.</p>
-<p>Some sensor types are synthetic, meaning they can be derived from data
-provided by one or more other sensors. (Examples include the orientation
-sensor, and the linear acceleration sensor.) Device implementations SHOULD
-implement these sensor types, when they include the prerequisite physical
-sensors.</p>
-<p>The Android 2.3 APIs introduce a notion of a "streaming" sensor, which is
-one that returns data continuously, rather than only when the data changes.
-Device implementations MUST continuously provide periodic data samples for any
-API indicated by the Android 2.3 SDK documentation to be a streaming
-sensor.</p>
-<a name="section-7.3.1"></a><h4>7.3.1. Accelerometer</h4>
-<p>Device implementations SHOULD include a 3-axis accelerometer. If a device
-implementation does include a 3-axis accelerometer, it:</p>
-<ul>
-<li>MUST be able to deliver events at 50 Hz or greater</li>
-<li>MUST comply with the Android sensor coordinate system as detailed
-in the Android APIs (see [<a href="#resources31">Resources, 31</a>])</li>
-<li>MUST be capable of measuring from freefall up to twice gravity (2g) or
-more on any three-dimensional vector</li>
-<li>MUST have 8-bits of accuracy or more</li>
-<li>MUST have a standard deviation no greater than 0.05 m/s^2</li>
-</ul>
-<a name="section-7.3.2"></a><h4>7.3.2. Magnetometer</h4>
-<p>Device implementations SHOULD include a 3-axis magnetometer (i.e. compass.)
-If a device does include a 3-axis magnetometer, it:</p>
-<ul>
-<li>MUST be able to deliver events at 10 Hz or greater</li>
-<li>MUST comply with the Android sensor coordinate system as detailed
-in the Android APIs (see [<a href="#resources31">Resources, 31</a>]).</li>
-<li>MUST be capable of sampling a range of field strengths adequate to cover the geomagnetic field</li>
-<li>MUST have 8-bits of accuracy or more</li>
-<li>MUST have a standard deviation no greater than 0.5 &micro;T</li>
-</ul>
-<a name="section-7.3.3"></a><h4>7.3.3. GPS</h4>
-<p>Device implementations SHOULD include a GPS receiver. If a device
-implementation does include a GPS receiver, it SHOULD include
-some form of "assisted GPS" technique to minimize GPS lock-on time.</p>
-<a name="section-7.3.4"></a><h4>7.3.4. Gyroscope</h4>
-<p>Device implementations SHOULD include a gyroscope (i.e. angular change
-sensor.) Devices SHOULD NOT include a gyroscope sensor unless a 3-axis
-accelerometer is also included. If a device implementation includes a
-gyroscope, it:</p>
-<ul>
-<li>MUST be capable of measuring orientation changes up to 5.5*Pi
-radians/second (that is, approximately 1,000 degrees per second)</li>
-<li>MUST be able to deliver events at 100 Hz or greater</li>
-<li>MUST have 8-bits of accuracy or more</li>
-</ul>
-<a name="section-7.3.5"></a><h4>7.3.5. Barometer</h4>
-<p>Device implementations MAY include a barometer (i.e. ambient air pressure
-sensor.) If a device implementation includes a barometer, it:</p>
-<ul>
-<li>MUST be able to deliver events at 5 Hz or greater</li>
-<li>MUST have adequate precision to enable estimating altitude</li>
-</ul>
-<a name="section-7.3.6"></a><h4>7.3.7. Thermometer</h4>
-<p>Device implementations MAY but SHOULD NOT include a thermometer (i.e.
-temperature sensor.) If a device implementation does include a thermometer, it
-MUST measure the temperature of the device CPU. It MUST NOT measure any other
-temperature. (Note that this sensor type is deprecated in the Android 2.3
-APIs.)</p>
-<a name="section-7.3.7"></a><h4>7.3.7. Photometer</h4>
-<p>Device implementations MAY include a photometer (i.e. ambient light
-sensor.)</p>
-<a name="section-7.3.8"></a><h4>7.3.8. Proximity Sensor</h4>
-<p>Device implementations MAY include a proximity sensor.  If a device
-implementation does include a proximity sensor, it MUST measure the proximity
-of an object in the same direction as the screen. That is, the proximity
-sensor MUST be oriented to detect objects close to the screen, as the
-primary intent of this sensor type is to detect a phone in use by the
-user. If a device implementation includes a proximity sensor with any other
-orientation, it MUST NOT be accessible through this API. If a device
-implementation has a proximity sensor, it MUST be have 1-bit of accuracy or
-more.</p>
-
-<a name="section-7.4"></a><h3>7.4. Data Connectivity</h3>
-<p>Network connectivity and access to the Internet are vital features of
-Android. Meanwhile, device-to-device interaction adds significant value to
-Android devices and applications. Device implementations MUST meet the
-data connectivity requirements in this section.</p>
-<a name="section-7.4.1"></a><h4>7.4.1. Telephony</h4>
-<p>"Telephony" as used by the Android 2.3 APIs and this document refers
-specifically to hardware related to placing voice calls and sending SMS
-messages via a GSM or CDMA network. While these voice calls may or may not be
-packet-switched, they are for the purposes of Android 2.3 considered
-independent of any data connectivity that may be implemented using the same
-network. In other words, the Android "telephony" functionality and APIs refer
-specifically to voice calls and SMS; for instance, device implementations that
-cannot place calls or send/receive SMS messages MUST NOT report the
-"android.hardware.telephony" feature or any sub-features, regardless of
-whether they use a cellular network for data connectivity.</p>
-<p>Android 2.3 MAY be used on devices that do not include telephony hardware.
-That is, Android 2.3 is compatible with devices that are not phones.
-However, if a device implementation does include GSM or CDMA telephony, it
-MUST implement full support for the API for that technology. Device
-implementations that do not include telephony hardware MUST implement the full
-APIs as no-ops.</p>
-<a name="section-7.4.2"></a><h4>7.4.2. IEEE 802.11 (WiFi)</h4>
-<p>Android 2.3 device implementations SHOULD include support for one or more
-forms of 802.11 (b/g/a/n, etc.) If a device implementation does include
-support for 802.11, it MUST implement the corresponding Android API.</p>
-<a name="section-7.4.3"></a><h4>7.4.3. Bluetooth</h4>
-<p>Device implementations SHOULD include a Bluetooth transceiver. Device
-implementations that do include a Bluetooth transceiver MUST enable the
-RFCOMM-based Bluetooth API as described in the SDK documentation [<a
-href="#resources32">Resources, 32</a>]. Device implementations SHOULD
-implement relevant Bluetooth profiles, such as A2DP, AVRCP, OBEX, etc. as
-appropriate for the device.</p>
-<p>The Compatibility Test Suite includes cases that cover basic operation of
-the Android RFCOMM Bluetooth API. However, since Bluetooth is a communications
-protocol between devices, it cannot be fully tested by unit tests running on a
-single device. Consequently, device implementations MUST also pass the
-human-driven Bluetooth test procedure described in Appendix A.</p>
-<a name="section-7.4.4"></a><h4>7.4.4. Near-Field Communications</h4>
-<p>Device implementations SHOULD include a transceiver and related hardware
-for Near-Field Communications (NFC). If a device implementation does include
-NFC hardware, then it:</p>
-<ul>
-<li>MUST report the android.hardware.nfc feature from the
-<code>android.content.pm.PackageManager.hasSystemFeature()</code> method. [<a href="#resources27">Resources, 27</a>]</li>
-<li>MUST be capable of reading and writing NDEF messages via the following NFC
-standards:<ul>
-<li>MUST be capable of acting as an NFC Forum reader/writer
-(as defined by the NFC Forum technical specification
-NFCForum-TS-DigitalProtocol-1.0) via the following NFC standards:<ul>
-  <li>NfcA (ISO14443-3A)</li>
-  <li>NfcB (ISO14443-3B) </li>
-  <li>NfcF (JIS 6319-4)</li>
-  <li>NfcV (ISO 15693)</li>
-  <li>IsoDep (ISO 14443-4)</li>
-  <li>NFC Forum Tag Types 1, 2, 3, 4 (defined by the NFC Forum)</li>
-</ul></li>
-<li>MUST be capable of transmitting and receiving data via the following
-peer-to-peer standards and protocols:<ul>
-  <li>ISO 18092</li>
-  <li>LLCP 1.0 (defined by the NFC Forum)</li>
-  <li>SDP 1.0 (defined by the NFC Forum)</li>
-  <li>NDEF Push Protocol [<a href="#resources33">Resources, 33</a>]</li>
-</ul></li>
-<li>MUST scan for all supported technologies while in NFC discovery mode.</li>
-<li>SHOULD be in NFC discovery mode while the device is awake with the screen active.</li>
-</ul>
-<p>(Note that publicly available links are not available for the JIS, ISO, and
-NFC Forum specifications cited above.)</p>
-<p>Additionally, device implementations SHOULD support the following
-widely-deployed MIFARE technologies.</p>
-<ul>
-  <li>MIFARE Classic (NXP MF1S503x [<a href="#resources34">Resources, 34</a>], MF1S703x [<a href="#resources35">Resources, 35</a>])</li>
-  <li>MIFARE Ultralight (NXP MF0ICU1 [<a href="#resources36">Resources, 36</a>], MF0ICU2 [<a href="#resources37">Resources, 37</a>])</li>
-  <li>NDEF on MIFARE Classic (NXP AN130511 [<a href="#resources38">Resources, 38</a>], AN130411 [<a href="#resources39">Resources, 39</a>])</li>
-</ul>
-<p>Note that Android 2.3.3 includes APIs for these MIFARE types. If a
-device implementation supports MIFARE, it:</p>
-<ul>
-  <li>MUST implement the corresponding Android APIs as documented by the
-  Android SDK</li>
-  <li>MUST report the feature com.nxp.mifare from the
-  <code>android.content.pm.PackageManager.hasSystemFeature()</code> method.
-  [<a href="#resources27">Resources, 27</a>] Note that this is not a standard
-  Android feature, and as such does not appear as a constant on the
-  <code>PackageManager</code> class.</li>
-  <li>MUST NOT implement the corresponding Android APIs nor report the
-  com.nxp.mifare feature unless it also implements general NFC support as
-  described in this section</li>
-</ul>
-<p>If a device implementation does not include NFC hardware, it MUST NOT
-declare the android.hardware.nfc feature from the 
-<code>android.content.pm.PackageManager.hasSystemFeature()</code> method [<a
-href="#resources27">Resources, 27</a>], and MUST implement the Android 2.3 NFC
-API as a no-op.</p>
-<p>As the classes <code>android.nfc.NdefMessage</code> and
-<code>android.nfc.NdefRecord</code> represent a protocol-independent data
-representation format, device implementations MUST implement these APIs even
-if they do not include support for NFC or declare the android.hardware.nfc
-feature.</p>
-<a name="section-7.4.5"></a><h4>7.4.5. Minimum Network Capability</h4>
-<p>Device implementations MUST include support for one or more forms of data
-networking. Specifically, device implementations MUST include support for at
-least one data standard capable of 200Kbit/sec or greater. Examples of
-technologies that satisfy this requirement include EDGE, HSPA, EV-DO, 802.11g,
-Ethernet, etc.</p>
-<p>Device implementations where a physical networking standard (such as
-Ethernet) is the primary data connection SHOULD also include support for at
-least one common wireless data standard, such as 802.11 (WiFi).</p>
-<p>Devices MAY implement more than one form of data connectivity.</p>
-
-
-<a name="section-7.5"></a><h3>7.5. Cameras</h3>
-<p>Device implementations SHOULD include a rear-facing camera, and MAY include
-a front-facing camera. A rear-facing camera is a camera located on the side of
-the device opposite the display; that is, it images scenes on the far side of
-the device, like a traditional camera. A front-facing camera is a camera
-located on the same side of the device as the display; that is, a camera
-typically used to image the user, such as for video conferencing and similar
-applications.</p>
-<a name="section-7.5.1"></a><h4>7.5.1. Rear-Facing Camera</h4>
-<p>Device implementations SHOULD include a rear-facing camera. If a device
-implementation includes a rear-facing camera, it:</p>
-<ul>
-<li>MUST have a resolution of at least 2 megapixels</li>
-<li>SHOULD have either hardware auto-focus, or software auto-focus implemented
-in the camera driver (transparent to application software)</li>
-<li>MAY have fixed-focus or EDOF (extended depth of field) hardware</li>
-<li>MAY include a flash. If the Camera includes a flash, the flash lamp MUST
-NOT be lit while an android.hardware.Camera.PreviewCallback instance has been
-registered on a Camera preview surface, unless the application has explicitly
-enabled the flash by enabling the <code>FLASH_MODE_AUTO</code> or
-<code>FLASH_MODE_ON</code> attributes of a <code>Camera.Parameters</code>
-object. Note that this constraint does not apply to the device's built-in
-system camera application, but only to third-party applications using
-<code>Camera.PreviewCallback</code>.</li>
-</ul>
-<a name="section-7.5.2"></a><h4>7.5.2. Front-Facing Camera</h4>
-<p>Device implementations MAY include a front-facing camera. If a device
-implementation includes a front-facing camera, it:</p>
-<ul>
-<li>MUST have a resolution of at least VGA (that is, 640x480 pixels)</li>
-<li>MUST NOT use a front-facing camera as the default for the Camera API.
-That is, the camera API in Android 2.3 has specific support for front-facing
-cameras, and device implementations MUST NOT configure the API to to treat a
-front-facing camera as the default rear-facing camera, even if it is the only
-camera on the device.</li>
-<li>MAY include features (such as auto-focus, flash, etc.)
-available to rear-facing cameras as described in Section 7.5.1.</li>
-<li>MUST horizontally reflect (i.e. mirror) the stream displayed by an app in a
-CameraPreview, as follows:</li>
-<ul>
-<li>If the device implementation is capable of being rotated by user (such as
-automatically via an accelerometer or manually via user input), the camera
-preview MUST be mirrored horizontally relative to the device's current
-orientation.</li>
-<li>If the current application has explicitly requested that the Camera
-display be rotated via a call to the
-<code>android.hardware.Camera.setDisplayOrientation()</code> [<a
-href="#resources40">Resources, 40</a>] method, the camera preview MUST be
-mirrored horizontally relative to the orientation specified by the
-application.</li>
-<li>Otherwise, the preview MUST be mirrored along the device's default horizontal axis.</li>
-</ul>
-<li>MUST mirror the image data returned to any "postview" camera callback
-handlers, in the same manner as the camera preview image stream. (If the device
-implementation does not support postview callbacks, this requirement obviously
-does not apply.)</li>
-<li>MUST NOT mirror the final captured still image or video streams returned
-to application callbacks or committed to media storage</li>
-</ul>
-<a name="section-7.5.3"></a><h4>7.5.3. Camera API Behavior</h4>
-<p>Device implementations MUST implement the following behaviors for the
-camera-related APIs, for both front- and rear-facing cameras:</p>
-<ol>
-<li>If an application has never called
-android.hardware.Camera.Parameters.setPreviewFormat(int), then the device MUST
-use android.hardware.PixelFormat.YCbCr_420_SP for preview data provided to
-application callbacks.</li>
-<li>If an application registers an android.hardware.Camera.PreviewCallback
-instance and the system calls the onPreviewFrame() method when the preview
-format is YCbCr_420_SP, the data in the byte[] passed into onPreviewFrame()
-must further be in the NV21 encoding format. That is, NV21 MUST be the default.</li>
-<li>Device implementations SHOULD support the YV12 format (as denoted by the
-<code>android.graphics.ImageFormat.YV12</code> constant) for camera previews
-for both front- and rear-facing cameras. Note that the Compatibility
-Definition for a future version is planned to change this requirement to
-"MUST". That is, YV12 support is optional in Android 2.3 but <b>will be
-required</b> by a future version. Existing and new devices that run Android
-2.3 are <b>very strongly encouraged to meet this requirement in Android
-2.3</b>, or they will not be able to attain Android compatibility when
-upgraded to the future version.</li>
-</ol>
-<p>Device implementations MUST implement the full Camera API included in the
-Android 2.3 SDK documentation [<a href="#resources41">Resources, 41</a>]),
-regardless of whether the device includes hardware autofocus or other
-capabilities. For instance, cameras that lack autofocus MUST still call any
-registered <code>android.hardware.Camera.AutoFocusCallback</code> instances (even though
-this has no relevance to a non-autofocus camera.) Note that this does apply
-to front-facing cameras; for instance, even though most front-facing cameras
-do not support autofocus, the API callbacks must still be "faked" as
-described.</p>
-<p>Device implementations MUST recognize and honor each parameter name defined
-as a constant on the <code>android.hardware.Camera.Parameters</code> class, if the
-underlying hardware supports the feature. If the device hardware does not
-support a feature, the API must behave as documented. Conversely, Device
-implementations MUST NOT honor or recognize string constants passed
-to the <code>android.hardware.Camera.setParameters()</code> method other than
-those documented as constants on the
-<code>android.hardware.Camera.Parameters</code>.  That is,
-device implementations MUST support all standard Camera parameters if the
-hardware allows, and MUST NOT support custom Camera parameter types.</p>
-<a name="section-7.5.4"></a><h4>7.5.4. Camera Orientation</h4>
-<p>Both front- and rear-facing cameras, if present, MUST be oriented so that
-the long dimension of the camera aligns with the screen's long dimention. That
-is, when the device is held in the landscape orientation, a cameras MUST
-capture images in the landscape orientation. This applies regardless of the
-device's natural orientation; that is, it applies to landscape-primary devices
-as well as portrait-primary devices.</p>
-
-
-<a name="section-7.6"></a><h3>7.6. Memory and Storage</h3>
-<p>The fundamental function of Android 2.3 is to run applications. Device
-implementations MUST the requirements of this section, to ensure adequate
-storage and memory for applications to run properly.</p>
-<a name="section-7.6.1"></a><h4>7.6.1. Minimum Memory and Storage</h4>
-<p>Device implementations MUST have at least 128MB of memory available to the
-kernel and userspace. The 128MB MUST be in addition to any memory dedicated to
-hardware components such as radio, memory, and so on that is not under the
-kernel's control.</p>
-<p>Device implementations MUST have at least 150MB of non-volatile storage
-available for user data. That is, the <code>/data</code> partition MUST be at
-least 150MB.</p>
-<p>Beyond the requirements above, device implementations SHOULD have at least
-1GB of non-volatile storage available for user data. Note that this higher
-requirement is planned to become a hard minimum in a future version of
-Android. Device implementations are strongly encouraged to meet these
-requirements now, or else they may not be eligible for compatibility for a
-future version of Android.</p>
-<p>The Android APIs include a Download Manager that applications may use to
-download data files. The Download Manager implementation MUST be capable of
-downloading individual files 55MB in size, or larger. The Download Manager
-implementation SHOULD be capable of downloading files 100MB in size, or
-larger.</p>
-<a name="section-7.6.2"></a><h4>7.6.2. Application Shared Storage</h4>
-<p>Device implementations MUST offer shared storage for applications. The
-shared storage provided MUST be at least 1GB in size.</p>
-<p>Device implementations MUST be configured with shared storage mounted by
-default, "out of the box". If the shared storage is not mounted on the Linux
-path <code>/sdcard</code>, then the device MUST include a Linux symbolic link
-from <code>/sdcard</code> to the actual mount point.</p>
-<p>Device implementations MUST enforce as documented the
-<code>android.permission.WRITE_EXTERNAL_STORAGE</code> permission on this
-shared storage. Shared storage MUST otherwise be writable by any application
-that obtains that permission.</p>
-<p>Device implementations MAY have hardware for user-accessible removable
-storage, such as a Secure Digital card. Alternatively, device implementations
-MAY allocate internal (non-removable) storage as shared storage for apps.</p>
-<p>Regardless of the form of shared storage used, device implementations MUST
-provide some mechanism to access the contents of shared storage from a host
-computer, such as USB mass storage or Media Transfer Protocol.</p>
-<p>It is illustrative to consider two common examples. If a device
-implementation includes an SD card slot to satisfy the shared storage
-requirement, a FAT-formatted SD card 1GB in size or larger MUST be included
-with the device as sold to users, and MUST be mounted by default.
-Alternatively, if a device implementation uses internal fixed storage to
-satisfy this requirement, that storage MUST be 1GB in size or larger
-and mounted on <code>/sdcard</code> (or <code>/sdcard</code>
-MUST be a symbolic link to the physical location if it is mounted elsewhere.)</p>
-<p>Device implementations that include multiple shared storage paths (such as
-both an SD card slot and shared internal storage) SHOULD modify the core
-applications such as the media scanner and ContentProvider to transparently
-support files placed in both locations.</p>
-
-<a name="section-7.7"></a><h3>7.7. USB</h3>
-<p>Device implementations:</p>
-<ul>
-<li>MUST implement a USB client, connectable to a USB host with a standard
-USB-A port</li>
-<li>MUST implement the Android Debug Bridge over USB (as described in Section
-7)</li>
-<li>MUST implement the USB mass storage specification, to allow a host
-connected to the device to access the contents of the /sdcard volume </li>
-<li>SHOULD use the micro USB form factor on the device side</li>
-<li>MAY include a non-standard port on the device side, but if so MUST ship
-with a cable capable of connecting the custom pinout to standard USB-A
-port</li>
-</ul>
-
-
-<a name="section-8"></a><h2>8. Performance Compatibility</h2>
-<p>Compatible implementations must ensure not only that applications simply
-run correctly on the device, but that they do so with reasonable performance
-and overall good user experience.  Device implementations MUST meet the key
-performance metrics of an Android 2.3 compatible device defined in the table
-below:</p>
-<table><tbody><tr>
-<td><b>Metric</b></td>
-<td><b>Performance Threshold</b></td>
-<td><b>Comments</b></td>
-</tr>
-<tr>
-<td>Application Launch Time</td>
-<td>The following applications should launch within the specified time.<ul>
-<li>Browser: less than 1300ms</li>
-<li>MMS/SMS: less than 700ms</li>
-<li>AlarmClock: less than 650ms</li>
-</ul></td>
-<td>The launch time is measured as the total time to
-complete loading the default activity for the application, including the time
-it takes to start the Linux process, load the Android package into the Dalvik
-VM, and call onCreate.</td>
-</tr>
-<tr>
-<td>Simultaneous Applications</td>
-<td>When multiple applications have been launched, re-launching an
-already-running application after it has been launched must take less than the
-original launch time.</td>
-<td>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-
-<a name="section-9"></a><h2>9. Security Model Compatibility</h2>
-<p>Device implementations MUST implement a security model consistent with the
-Android platform security model as defined in Security and Permissions
-reference document in the APIs [<a href="#resources42">Resources, 42</a>] in the
-Android developer documentation. Device implementations MUST support
-installation of self-signed applications without requiring any additional
-permissions/certificates from any third parties/authorities.  Specifically,
-compatible devices MUST support the security mechanisms described in the
-follow sub-sections.</p>
-<a name="section-9.1"></a><h3>9.1. Permissions</h3>
-<p>Device implementations MUST support the Android permissions model as
-defined in the Android developer documentation [<a
-href="#resources42">Resources, 42</a>]. Specifically,
-implementations MUST enforce each permission defined as described in the SDK
-documentation; no permissions may be omitted, altered, or ignored.
-Implementations MAY add additional permissions, provided the new permission ID
-strings are not in the android.* namespace.</p>
-<a name="section-9.2"></a><h3>9.2. UID and Process Isolation</h3>
-<p>Device implementations MUST support the Android application sandbox model,
-in which each application runs as a unique Unix-style UID and in a separate
-process.  Device implementations MUST support running multiple applications as
-the same Linux user ID, provided that the applications are properly signed and
-constructed, as defined in the Security and Permissions reference [<a
-href="#resources42">Resources, 42</a>].</p>
-<a name="section-9.3"></a><h3>9.3. Filesystem Permissions</h3>
-<p>Device implementations MUST support the Android file access permissions
-model as defined in as defined in the Security and Permissions reference [<a
-href="#resources42">Resources, 42</a>].</p>
-<a name="section-9.4"></a><h3>9.4. Alternate Execution Environments</h3>
-<p>Device implementations MAY include runtime environments that execute
-applications using some other software or technology than the Dalvik virtual
-machine or native code. However, such alternate execution environments MUST
-NOT compromise the Android security model or the security of installed Android
-applications, as described in this section.</p>
-<p>Alternate runtimes MUST themselves be Android applications, and abide by
-   the standard Android security model, as described elsewhere in Section 9.</p>
-<p>Alternate runtimes MUST NOT be granted access to resources protected by
-   permissions not requested in the runtime's AndroidManifest.xml file via the
-   <code>&lt;uses-permission&gt;</code> mechanism.</p>
-<p>Alternate runtimes MUST NOT permit applications to make use of features
-   protected by Android permissions restricted to system applications.</p>
-<p>Alternate runtimes MUST abide by the Android sandbox model.  Specifically:</p>
-<ul>
-<li>Alternate runtimes SHOULD install apps via the PackageManager into
-    separate Android sandboxes (that is, Linux user IDs, etc.)</li>
-<li>Alternate runtimes MAY provide a single Android sandbox shared by all
-    applications using the alternate runtime.</li>
-<li>Alternate runtimes and installed applications using an alternate runtime
-    MUST NOT reuse the sandbox of any other app installed on the device, except
-    through the standard Android mechanisms of shared user ID and signing
-    certificate</li>
-<li>Alternate runtimes MUST NOT launch with, grant, or be granted access to
-    the sandboxes corresponding to other Android applications.</li>
-</ul>
-<p>Alternate runtimes MUST NOT be launched with, be granted, or grant to other
-   applications any privileges of the superuser (root), or of any other user ID.</p>
-<p>The .apk files of alternate runtimes MAY be included in the system image of
-   a device implementation, but MUST be signed with a key distinct
-   from the key used to sign other applications included with the device
-   implementation.</p>
-<p>When installing applications, alternate runtimes MUST obtain user consent
-   for the Android permissions used by the application. That is, if an
-   application needs to make use of a device resource for which there is a
-   corresponding Android permission (such as Camera, GPS, etc.), the alternate
-   runtime MUST inform the user that the application will be able to access
-   that resource. If the runtime environment does not record application
-   capabilities in this manner, the runtime environment MUST list all
-   permissions held by the runtime itself when installing any application
-   using that runtime.</p>
-
-<a name="section-10"></a><h2>10. Software Compatibility Testing</h2>
-<p>The Android Open-Source Project includes various testing tools to verify
-that device implementations are compatible. Device implementations MUST pass
-all tests described in this section.</p>
-<p>However, note that no software test package is fully comprehensive. For
-this reason, device implementers are very strongly encouraged to make the
-minimum number of changes as possible to the reference and preferred
-implementation of Android 2.3 available from the Android Open-Source Project.
-This will minimize the risk of introducing bugs that create incompatibilities
-requiring rework and potential device updates.</p>
-<a name="section-10.1"></a><h3>10.1. Compatibility Test Suite</h3>
-<p>Device implementations MUST pass the Android Compatibility Test Suite (CTS)
-[<a href="#resources02">Resources, 2</a>] available from the Android Open Source
-Project, using the final shipping software on the device. Additionally, device
-implementers SHOULD use the reference implementation in the Android Open
-Source tree as much as possible, and MUST ensure compatibility in cases of
-ambiguity in CTS and for any reimplementations of parts of the reference
-source code.</p>
-<p>The CTS is designed to be run on an actual device. Like any software, the
-CTS may itself contain bugs.  The CTS will be versioned independently of this
-Compatibility Definition, and multiple revisions of the CTS may be released
-for Android 2.3. Device implementations MUST pass the latest CTS version
-available at the time the device software is completed.</p>
-<p>MUST pass the most recent version of the Android Compatibility Test Suite
-(CTS) available at the time of the device implementation's software is
-completed. (The CTS is available as part of the Android Open Source Project [<a
-href="#resources02">Resources, 2</a>].) The CTS tests many, but not all, of the
-components outlined in this document.</p>
-<a name="section-10.2"></a><h3>10.2. CTS Verifier</h3>
-<p>Device implementations MUST correctly execute all applicable cases in the
-CTS Verifier. The CTS Verifier is included with the Compatibility Test Suite,
-and is intended to be run by a human operator to test functionality that
-cannot be tested by an automated system, such as correct functioning of a
-camera and sensors.</p>
-<p>The CTS Verifier has tests for many kinds of hardware, including some
-hardware that is optional. Device implementations MUST pass all tests for
-hardware which they possess; for instance, if a device possesses an
-accelerometer, it MUST correctly execute the Accelerometer test case in the
-CTS Verifier. Test cases for features noted as optional by this Compatibility
-Definition Document MAY be skipped or omitted.</p>
-<p>Every device and every build MUST correctly run the CTS Verifier, as noted
-above. However, since many builds are very similar, device implementers are
-not expected to explicitly run the CTS Verifier on builds that differ only in
-trivial ways. Specifically, device implementations that differ from an
-implementation that has passed the CTS Verfier only by the set of included
-locales, branding, etc. MAY omit the CTS Verifier test.</p>
-<a name="section-10.3"></a><h3>10.3. Reference Applications</h3>
-<p>Device implementers MUST test implementation compatibility using the
-following open-source applications:</p>
-<ul>
-<li>The "Apps for Android" applications [<a href="#resources43">Resources, 43</a>].</li>
-<li>Replica Island (available in Android Market; only required for device
-    implementations that support with OpenGL ES 2.0)</li>
-</ul>
-<p>Each app above MUST launch and behave correctly on the implementation, for
-the implementation to be considered compatible.</p>
-
-
-<a name="section-11"></a><h2>11. Updatable Software</h2>
-<p>Device implementations MUST include a mechanism to replace the entirety of
-the system software. The mechanism need not perform "live" upgrades -- that
-is, a device restart MAY be required.</p>
-<p>Any method can be used, provided that it can replace the entirety of the
-software preinstalled on the device. For instance, any of the following
-approaches will satisfy this requirement:</p>
-<ul>
-<li>Over-the-air (OTA) downloads with offline update via reboot</li>
-<li>"Tethered" updates over USB from a host PC</li>
-<li>"Offline" updates via a reboot and update from a file on removable
-storage</li>
-</ul>
-<p>The update mechanism used MUST support updates without wiping user data.
-Note that the upstream Android software includes an update mechanism that
-satisfies this requirement.</p>
-<p>If an error is found in a device implementation after it has been released
-but within its reasonable product lifetime that is determined in consultation
-with the Android Compatibility Team to affect the compatibility of third-party
-applications, the device implementer MUST correct the error via a software
-update available that can be applied per the mechanism just described.</p>
-
-<a name="section-12"></a><h2>12. Contact Us</h2>
-<p>You can contact the document authors at <a
-href="mailto:compatibility@android.com">compatibility@android.com</a> for
-clarifications and to bring up any issues that you think the document does not
-cover.</p>
-
-<div style="page-break-before: always;"></div>
-
-<a name="appendix-A"></a><h2>Appendix A - Bluetooth Test Procedure</h2>
-<p>The Compatibility Test Suite includes cases that cover basic operation of
-the Android RFCOMM Bluetooth API. However, since Bluetooth is a communications
-protocol between devices, it cannot be fully tested by unit tests running on a
-single device. Consequently, device implementations MUST also pass the
-human-operated Bluetooth test procedure described below.</p>
-<p>The test procedure is based on the BluetoothChat sample app included in the
-Android open-source project tree. The procedure requires two devices:</p>
-<ul>
-<li>a candidate device implementation running the software build to be tested</li>
-<li>a separate device implementation already known to be compatible, and of a
-    model from the device implementation being tested -- that is, a "known
-    good" device implementation</li>
-</ul>
-<p>The test procedure below refers to these devices as the "candidate" and "known
-good" devices, respectively.</p>
-<h3>Setup and Installation</h3>
-<ol>
-<li>Build BluetoothChat.apk via 'make samples' from an Android source code tree.</li>
-<li>Install BluetoothChat.apk on the known-good device.</li>
-<li>Install BluetoothChat.apk on the candidate device.</li>
-</ol>
-<h3>Test Bluetooth Control by Apps</h3>
-<ol>
-<li>Launch BluetoothChat on the candidate device, while Bluetooth is disabled.</li>
-<li>Verify that the candidate device either turns on Bluetooth, or prompts the user with a dialog to turn on Bluetooth.</li>
-</ol>
-<h3>Test Pairing and Communication</h3>
-<ol>
-<li>Launch the Bluetooth Chat app on both devices.</li>
-<li>Make the known-good device discoverable from within BluetoothChat (using the Menu).</li>
-<li>On the candidate device, scan for Bluetooth devices from within BluetoothChat (using the Menu) and pair with the known-good device.</li>
-<li>Send 10 or more messages from each device, and verify that the other device receives them correctly.</li>
-<li>Close the BluetoothChat app on both devices by pressing <b>Home</b>.</li>
-<li>Unpair each device from the other, using the device Settings app.</li>
-</ol>
-<h3>Test Pairing and Communication in the Reverse Direction</h3>
-<ol>
-<li>Launch the Bluetooth Chat app on both devices.</li>
-<li>Make the candidate device discoverable from within BluetoothChat (using the Menu).</li>
-<li>On the known-good device, scan for Bluetooth devices from within BluetoothChat (using the Menu) and pair with the candidate device.</li>
-<li>Send 10 or messages from each device, and verify that the other device receives them correctly.</li>
-<li>Close the Bluetooth Chat app on both devices by pressing Back repeatedly to get to the Launcher.</li>
-</ol>
-<h3>Test Re-Launches</h3>
-<ol>
-<li>Re-launch the Bluetooth Chat app on both devices.</li>
-<li>Send 10 or messages from each device, and verify that the other device receives them correctly.</li>
-</ol>
-<p>Note: the above tests have some cases which end a test section by using
-Home, and some using Back. These tests are not redundant and are not optional:
-the objective is to verify that the Bluetooth API and stack works correctly
-both when Activities are explicitly terminated (via the user pressing Back,
-which calls finish()), and implicitly sent to background (via the user
-pressing Home.) Each test sequence MUST be performed as described.</p>
-<div id="footerContent">
-</div>
-</body>
-</html>
diff --git a/src/compatibility/6.0/android-cdd.css b/src/compatibility/6.0/android-cdd.css
deleted file mode 100644
index cef5969..0000000
--- a/src/compatibility/6.0/android-cdd.css
+++ /dev/null
@@ -1,370 +0,0 @@
-/**
-* Link Styles
-*/
-
-
-a:link {
-    color: #09C;
-    text-decoration: underline;
-}
-
-a:visited {
-    color: #639;
-}
-
-a:hover,
-a:focus,
-a:active {
-    color: #09C;
-}
-
-/**
-* Cover Styles
-*/
-
-
-#cover {
-    width: 10.5in;
-    height: 13.25in;
-    background-color: orange;
-}
-
-#cover-top {
-    background-color: black;
-    width: 100%;
-    height: 3in;
-    padding-top: 70px;
-    margin-bottom: 10px;
-}
-
-#cover-image {
-    background-color: black;
-    width: 100%;
-    height: 5in;
-    padding: 0px;
-    margin: 20px 0px 8px 0px;
-}
-
-#cover-bottom {
-    background-color: black;
-    width: 100%;
-    height: 3.7in;
-    padding: 40px 0px 40px 0px;
-    margin-top: 8px;
-}
-
-#cover a:link,
-#cover a:visited,
-#cover a:hover {
- text-decoration: none;
-}
-
-#main {
-    width: 950px;
-    overflow: visible;
-    page-break-before: always;
-}
-
-#footer {
-    width: 8.5in;
-    height: .75in;
-    margin-top: .25in;
-    color: #333;
-    font: 10pt/14pt Roboto, Arial, Helvetica, sans-serif;
-}
-
-
-.title {
-    color: white;
-    font: 84px/90px Roboto, Arial, Helvetica, sans-serif;
-    padding: 40pt 20pt 15pt 50pt;
-    text-align: left;
-}
-
-.subtitle {
-    color: white;
-    font: 60px/70px Roboto, Arial, Helvetica, sans-serif;
-    padding: 40pt 5pt 40pt 60pt;
-    text-align: left;
-}
-
-.right {
-    text-align: right;
-}
-
-.white {
-    color: white;
-}
-
-.padding {
-    padding: 20pt 20pt 0pt 60pt;
-}
-
-.cover-text {
-    font: 20px/25px Roboto, Arial, Helvetica, sans-serif;
-    color: white;
-    padding: 5pt 5pt 5pt 60pt;
-    text-align: left;
-}
-
-.small {
-    font-size: 65%;
-    font-weight: 700;
-}
-
-/**
-* Heading Styles
-*/
-
-h1 {
-    color: #333;
-    font: 22pt/24pt Roboto, Arial, Helvetica, sans-serif;
-    padding: 10pt 0pt 0pt 0pt;
-    text-align: left;
-}
-
-h2 {
-    color: #693;
-    font: 20pt/22pt Roboto, Arial, Helvetica, sans-serif;
-    padding: 8pt 0pt 0pt 0pt;
-    text-align: left;
-    page-break-after: avoid;
-}
-
-h3 {
-    color: #333;
-    font: bold 18pt/20pt Roboto, Arial, Helvetica, sans-serif;
-    padding: 4pt 0pt 0pt 0pt;
-    text-align: left;
-    page-break-after: avoid;
-}
-
-h4 {
-    color: #607D8B;
-    font: bold 16pt/18pt Roboto, Arial, Helvetica, sans-serif;
-    padding: 4pt 0pt 0pt 0pt;
-    text-align: left;
-    page-break-after: avoid;
-}
-
-
-h5 {
-    color: #333;
-    font: italic 16pt/18pt Roboto, Arial, Helvetica, sans-serif;
-    padding: 0pt 0pt 0pt 0pt;
-    text-align: left;
-    page-break-after: avoid;
-}
-
-
-/**
-* Use h6 ONLY for table of contents
-*/
-
-h6 {
-    color: #333;
-    font: bold 16pt/18pt Roboto, Arial, Helvetica, sans-serif;
-    padding: 10pt 0pt 0pt 0pt;
-    text-align: left;
-    page-break-before: always;
-}
-
-/**
-* Body Styles
-*/
-
-body {
-    color: #333;
-    font: 16pt/20pt Roboto, Arial, Helvetica, sans-serif;
-    margin: 0;
-    padding: 5pt 5pt 5pt 10pt;
-}
-
-p {
-    color: #333;
-    font: 16pt/20pt Roboto, Arial, Helvetica, sans-serif;
-    margin: 0;
-    padding: 5pt 0pt 1pt 0pt;
-}
-
-li {
-    color: #333;
-    font: 16pt/20pt Roboto, Arial, Helvetica, sans-serif;
-    margin: 0;
-    padding: 2pt 50pt 2pt 0pt;
-}
-
-sup {
-    font-weight: 800;
-    font-size: 10pt;
-}
-
-/**
-* Table Styles
-*/
-
-
-table {
-    border: 1px solid gray;
-    border-collapse: collapse;
-    margin: 10px 0px 10px 0px;
-    width: 100%;
-    overflow: visible;
-}
-
-td {
-    border: 1px solid gray;
-    color: #333;
-    font: 16pt/20pt Roboto, Arial, Helvetica, sans-serif;
-    padding: 5pt;
-    overflow: visible;
-}
-
-th {
-    background-color: #CCC;
-    border: 1px solid gray;
-    color: #333;
-    font: bold 16pt/20pt Roboto, Arial, Helvetica, sans-serif;
-    padding: 5pt;
-    overflow: visible;
-}
-
-p.table_footnote {
-    color: #333;
-    font: 14pt/16pt Roboto, Arial, Helvetica, sans-serif;
-    margin: 0;
-    padding: 5pt 5pt 5pt 5pt;
-}
-
-li.table_list {
-    color: #333;
-    font: 16pt/20t Roboto, Arial, Helvetica, sans-serif;
-    margin-left: -10pt;
-    padding: 2pt 0pt 2pt 0pt;
-}
-
-
-/**
-* Used in the footer
-*/
-
-table.noborder {
-    border: 0px;
-    margin: 10px 0px 10px 0px;
-    width: 100%;
-}
-
-td.noborder {
-    border: 0px;
-    color: #333;
-    font: 10pt/12pt Roboto, Arial, Helvetica, sans-serif;
-    padding: 10px 0px 5px 0px;
-}
-
-
-
-/**
-* TOC Styles
-*/
-
-#toc a:link,
-#toc a:visited,
-#toc a:hover {
- color: black;
- text-decoration: none;
-}
-
-#toc p.toc_h1 a:link,
-#toc p.toc_h1 a:visited,
-#toc p.toc_h1 a:hover {
- color: #99CC00;
-}
-
-#toc {
-    width: 950px;
-}
-
-#toc_left {
-    float: left;
-    padding-top:15px;
-    padding-bottom:15px;
-    width: 470px;
-}
-
-#toc_right {
-    float: right;
-    padding-top:15px;
-    padding-bottom:15px;
-    width: 470px;
-}
-
-p.toc_h1 {
-    color: #99CC00;
-    font: 20pt/22pt Roboto, Arial, Helvetica, sans-serif;
-    padding: 15px 0px 0px 0px;
-}
-
-p.toc_h2 {
-    color: black;
-    font: 18pt/20pt Roboto, Arial, Helvetica, sans-serif;
-    margin-left: 20px;
-    padding: 15px 0px 0px 0px;
-}
-
-p.toc_h3 {
-    color: black;
-    font: 16pt/18pt Roboto, Arial, Helvetica, sans-serif;
-    margin-left: 45px;
-    padding: 10px 0px 0px 0px;
-}
-
-p.toc_h4 {
-    color: black;
-    font: 14pt/16pt Roboto, Arial, Helvetica, sans-serif;
-    margin-left: 85px;
-    padding: 10px 0px 0px 0px;
-}
-
-p.toc_h5 {
-    color: black;
-    font: 14pt/16pt Roboto, Arial, Helvetica, sans-serif;
-    margin-left: 105px;
-}
-
-/**
-* Note Styles
-*/
-
-
-div.note 
-    {
-        border-left: 20px solid #0099cc;
-        padding-left: 10px;
-        margin: 5px 40px 5px 5px;
-    }
-
-div.tip 
-    {
-        border-left: 4px solid #93c47d;
-        padding-left: 10px;
-        margin: 5px 40px 5px 5px;
-    }
-
-div.warning 
-    {
-        border-left: 4px solid red;
-        padding-left: 10px;
-        margin: 5px 40px 5px 5px;
-    }
-
-/**
-* Media Styles
-*/
-
-@media print {
-
-    @page {
-        margin: 1in;
-    }
-
- }
\ No newline at end of file
diff --git a/src/compatibility/android-cdd.jd b/src/compatibility/android-cdd.jd
deleted file mode 100644
index 0053fd6..0000000
--- a/src/compatibility/android-cdd.jd
+++ /dev/null
@@ -1,6486 +0,0 @@
-page.title=Android 7.1 Compatibility Definition
-fullpage=true
-@jd:body
-
-<!--
-    Copyright 2017 The Android Open Source Project
-
-    Licensed under the Apache License, Version 2.0 (the "License");
-    you may not use this file except in compliance with the License.
-    You may obtain a copy of the License at
-
-        http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
--->
-<div id="qv-wrapper">
-  <div id="qv">
-    <h2>In this document</h2>
-    <ol id="auto-toc">
-    </ol>
-  </div>
-</div>
-  <h1>Android 7.1 Compatibility Definition Document</h1>
-      <h2 id="1_introduction">
-        1. Introduction
-      </h2>
-      <p>
-        This document enumerates the requirements that must be met in order for devices to be compatible with Android 7.1.
-      </p>
-      <p>
-        The use of “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” is per the IETF standard defined in <a href="http://www.ietf.org/rfc/rfc2119.txt">RFC2119</a> .
-      </p>
-      <p>
-        As used in this document, a “device implementer” or “implementer” is a person or organization developing a hardware/software solution running Android 7.1. A “device implementation” or “implementation is the hardware/software solution so developed.
-      </p>
-      <p>
-        To be considered compatible with Android 7.1, device implementations MUST meet the requirements presented in this Compatibility Definition, including any documents incorporated via reference.
-      </p>
-      <p>
-        Where this definition or the software tests described in <a href="#10_software_compatibility_testing">section 10</a> is silent, ambiguous, or incomplete, it is the responsibility of the device implementer to ensure compatibility with existing implementations.
-      </p>
-      <p>
-        For this reason, the <a href="http://source.android.com/">Android Open Source Project</a> is both the reference and preferred implementation of Android. Device implementers are STRONGLY RECOMMENDED to base their implementations to the greatest extent possible on the “upstream” source code available from the Android Open Source Project. While some components can hypothetically be replaced with alternate implementations, it is STRONGLY RECOMMENDED to not follow this practice, as passing the software tests will become substantially more difficult. It is the implementer’s responsibility to ensure full behavioral compatibility with the standard Android implementation, including and beyond the Compatibility Test Suite. Finally, note that certain component substitutions and modifications are explicitly forbidden by this document.
-      </p>
-      <p>
-        Many of the resources linked to in this document are derived directly or indirectly from the Android SDK and will be functionally identical to the information in that SDK’s documentation. In any cases where this Compatibility Definition or the Compatibility Test Suite disagrees with the SDK documentation, the SDK documentation is considered authoritative. Any technical details provided in the linked resources throughout this document are considered by inclusion to be part of this Compatibility Definition.
-      </p>
-      <h2 id="2_device_types">
-        2. Device Types
-      </h2>
-      <p>
-        While the Android Open Source Project has been used in the implementation of a variety of device types and form factors, many aspects of the architecture and compatibility requirements were optimized for handheld devices. Starting from Android 5.0, the Android Open Source Project aims to embrace a wider variety of device types as described in this section.
-      </p>
-      <p>
-        <strong>Android Handheld device</strong> refers to an Android device implementation that is typically used by holding it in the hand, such as mp3 players, phones, and tablets. Android Handheld device implementations:
-      </p>
-      <ul>
-        <li>MUST have a touchscreen embedded in the device.
-        </li>
-        <li>MUST have a power source that provides mobility, such as a battery.
-        </li>
-      </ul>
-      <p>
-        <strong>Android Television device</strong> refers to an Android device implementation that is an entertainment interface for consuming digital media, movies, games, apps, and/or live TV for users sitting about ten feet away (a “lean back” or “10-foot user interface”). Android Television devices:
-      </p>
-      <ul>
-        <li>MUST have an embedded screen OR include a video output port, such as VGA, HDMI, or a wireless port for display.
-        </li>
-        <li>MUST declare the features <a href="http://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_LEANBACK">android.software.leanback</a> and android.hardware.type.television.
-        </li>
-      </ul>
-      <p>
-        <strong>Android Watch device</strong> refers to an Android device implementation intended to be worn on the body, perhaps on the wrist, and:
-      </p>
-      <ul>
-        <li>MUST have a screen with the physical diagonal length in the range from 1.1 to 2.5 inches.
-        </li>
-        <li>MUST declare the feature android.hardware.type.watch.
-        </li>
-        <li>MUST support uiMode = <a href="http://developer.android.com/reference/android/content/res/Configuration.html#UI_MODE_TYPE_WATCH">UI_MODE_TYPE_WATCH</a> .
-        </li>
-      </ul>
-      <p>
-        <strong>Android Automotive implementation</strong> refers to a vehicle head unit running Android as an operating system for part or all of the system and/or infotainment functionality. Android Automotive implementations:
-      </p>
-      <ul>
-        <li>MUST have a screen with the physical diagonal length equal to or greater than 6 inches.
-        </li>
-        <li>MUST declare the feature android.hardware.type.automotive.
-        </li>
-        <li>MUST support uiMode = <a href="http://developer.android.com/reference/android/content/res/Configuration.html#UI_MODE_TYPE_CAR">UI_MODE_TYPE_CAR</a> .
-        </li>
-        <li>Android Automotive implementations MUST support all public APIs in the <code>android.car.*</code> namespace.
-        </li>
-      </ul>
-      <p>
-        All Android device implementations that do not fit into any of the above device types still MUST meet all requirements in this document to be Android 7.1 compatible, unless the requirement is explicitly described to be only applicable to a specific Android device type from above.
-      </p>
-      <h3 id="2_1_device_configurations">
-        2.1 Device Configurations
-      </h3>
-      <p>
-        This is a summary of major differences in hardware configuration by device type. (Empty cells denote a “MAY”). Not all configurations are covered in this table; see relevant hardware sections for more detail.
-      </p>
-      <table>
-        <tr>
-          <th>
-            Category
-          </th>
-          <th>
-            Feature
-          </th>
-          <th>
-            Section
-          </th>
-          <th>
-            Handheld
-          </th>
-          <th>
-            Television
-          </th>
-          <th>
-            Watch
-          </th>
-          <th>
-            Automotive
-          </th>
-          <th>
-            Other
-          </th>
-        </tr>
-        <tr>
-          <td rowspan="3">
-            Input
-          </td>
-          <td>
-            D-pad
-          </td>
-          <td>
-            <a href="#7_2_2_non-touch-navigation">7.2.2. Non-touch Navigation</a>
-          </td>
-          <td></td>
-          <td>
-            MUST
-          </td>
-          <td></td>
-          <td></td>
-          <td></td>
-        </tr>
-        <tr>
-          <td>
-            Touchscreen
-          </td>
-          <td>
-            <a href="#7_2_4_touchscreen_input">7.2.4. Touchscreen input</a>
-          </td>
-          <td>
-            MUST
-          </td>
-          <td></td>
-          <td>
-            MUST
-          </td>
-          <td></td>
-          <td>
-            SHOULD
-          </td>
-        </tr>
-        <tr>
-          <td>
-            Microphone
-          </td>
-          <td>
-            <a href="#7_8_1_microphone">7.8.1. Microphone</a>
-          </td>
-          <td>
-            MUST
-          </td>
-          <td>
-            SHOULD
-          </td>
-          <td>
-            MUST
-          </td>
-          <td>
-            MUST
-          </td>
-          <td>
-            SHOULD
-          </td>
-        </tr>
-        <tr>
-          <td rowspan="2">
-            Sensors
-          </td>
-          <td>
-            Accelerometer
-          </td>
-          <td>
-            <a href="#7_3_1_accelerometer">7.3.1 Accelerometer</a>
-          </td>
-          <td>
-            SHOULD
-          </td>
-          <td></td>
-          <td>
-            SHOULD
-          </td>
-          <td></td>
-          <td>
-            SHOULD
-          </td>
-        </tr>
-        <tr>
-          <td>
-            GPS
-          </td>
-          <td>
-            <a href="#7_3_3_gps">7.3.3. GPS</a>
-          </td>
-          <td>
-            SHOULD
-          </td>
-          <td></td>
-          <td></td>
-          <td>
-            SHOULD
-          </td>
-          <td></td>
-        </tr>
-        <tr>
-          <td rowspan="6">
-            Connectivity
-          </td>
-          <td>
-            Wi-Fi
-          </td>
-          <td>
-            <a href="#7_4_2_ieee_802.11">7.4.2. IEEE 802.11</a>
-          </td>
-          <td>
-            SHOULD
-          </td>
-          <td>
-            SHOULD
-          </td>
-          <td></td>
-          <td>
-            SHOULD
-          </td>
-          <td>
-            SHOULD
-          </td>
-        </tr>
-        <tr>
-          <td>
-            Wi-Fi Direct
-          </td>
-          <td>
-            <a href="#7_4_2_1_wi-fi-direct">7.4.2.1. Wi-Fi Direct</a>
-          </td>
-          <td>
-            SHOULD
-          </td>
-          <td>
-            SHOULD
-          </td>
-          <td></td>
-          <td></td>
-          <td>
-            SHOULD
-          </td>
-        </tr>
-        <tr>
-          <td>
-            Bluetooth
-          </td>
-          <td>
-            <a href="#7_4_3_bluetooth">7.4.3. Bluetooth</a>
-          </td>
-          <td>
-            SHOULD
-          </td>
-          <td>
-            MUST
-          </td>
-          <td>
-            MUST
-          </td>
-          <td>
-            MUST
-          </td>
-          <td>
-            SHOULD
-          </td>
-        </tr>
-        <tr>
-          <td>
-            Bluetooth Low Energy
-          </td>
-          <td>
-            <a href="#7_4_3_bluetooth">7.4.3. Bluetooth</a>
-          </td>
-          <td>
-            SHOULD
-          </td>
-          <td>
-            MUST
-          </td>
-          <td>
-            SHOULD
-          </td>
-          <td>
-            SHOULD
-          </td>
-          <td>
-            SHOULD
-          </td>
-        </tr>
-        <tr>
-          <td>
-            Cellular radio
-          </td>
-          <td>
-            <a href="#7_4_5_minimum_network_capability">7.4.5. Minimum Network Capability</a>
-          </td>
-          <td></td>
-          <td></td>
-          <td></td>
-          <td>
-            SHOULD
-          </td>
-          <td></td>
-        </tr>
-        <tr>
-          <td>
-            USB peripheral/host mode
-          </td>
-          <td>
-            <a href="#7_7_usb">7.7. USB</a>
-          </td>
-          <td>
-            SHOULD
-          </td>
-          <td></td>
-          <td></td>
-          <td>
-            SHOULD
-          </td>
-          <td>
-            SHOULD
-          </td>
-        </tr>
-        <tr>
-          <td>
-            Output
-          </td>
-          <td>
-            Speaker and/or Audio output ports
-          </td>
-          <td>
-            <a href="#7_8_2_audio_output">7.8.2. Audio Output</a>
-          </td>
-          <td>
-            MUST
-          </td>
-          <td>
-            MUST
-          </td>
-          <td></td>
-          <td>
-            MUST
-          </td>
-          <td>
-            MUST
-          </td>
-        </tr>
-      </table>
-      <h2 id="3_software">
-        3. Software
-      </h2>
-      <h3 id="3_1_managed_api_compatibility">
-        3.1. Managed API Compatibility
-      </h3>
-      <p>
-        The managed Dalvik bytecode execution environment is the primary vehicle for Android applications. The Android application programming interface (API) is the set of Android platform interfaces exposed to applications running in the managed runtime environment. Device implementations MUST provide complete implementations, including all documented behaviors, of any documented API exposed by the <a href="http://developer.android.com/reference/packages.html">Android SDK</a> or any API decorated with the “@SystemApi” marker in the upstream Android source code.
-      </p>
-      <p>
-        Device implementations MUST support/preserve all classes, methods, and associated elements marked by the TestApi annotation (@TestApi).
-      </p>
-      <p>
-        Device implementations MUST NOT omit any managed APIs, alter API interfaces or signatures, deviate from the documented behavior, or include no-ops, except where specifically allowed by this Compatibility Definition.
-      </p>
-      <p>
-        This Compatibility Definition permits some types of hardware for which Android includes APIs to be omitted by device implementations. In such cases, the APIs MUST still be present and behave in a reasonable way. See <a href="#7_hardware_compatibility">section 7</a> for specific requirements for this scenario.
-      </p>
-      <h3 id="3_1_1_android_extensions">
-        3.1.1. Android Extensions
-      </h3>
-      <p>
-        Android includes the support of extending the managed APIs while keeping the same API level version. Android device implementations MUST preload the AOSP implementation of both the shared library <code>ExtShared</code> and services <code>ExtServices</code> with versions higher than or equal to the minimum versions allowed per each API level. For example, Android 7.0 device implementations, running API level 24 MUST include at least version 1.
-      </p>
-      <h3 id="3_2_soft_api_compatibility">
-        3.2. Soft API Compatibility
-      </h3>
-      <p>
-        In addition to the managed APIs from <a href="#3_1_managed_api_compatibility">section 3.1</a> , Android also includes a significant runtime-only “soft” API, in the form of such things as intents, permissions, and similar aspects of Android applications that cannot be enforced at application compile time.
-      </p>
-      <h4 id="3_2_1_permissions">
-        3.2.1. Permissions
-      </h4>
-      <p>
-        Device implementers MUST support and enforce all permission constants as documented by the <a href="http://developer.android.com/reference/android/Manifest.permission.html">Permission reference page</a> . Note that <a href="#9_security_model_compatibility">section 9</a> lists additional requirements related to the Android security model.
-      </p>
-      <h4 id="3_2_2_build_parameters">
-        3.2.2. Build Parameters
-      </h4>
-      <p>
-        The Android APIs include a number of constants on the <a href="http://developer.android.com/reference/android/os/Build.html">android.os.Build class</a> that are intended to describe the current device. To provide consistent, meaningful values across device implementations, the table below includes additional restrictions on the formats of these values to which device implementations MUST conform.
-      </p>
-      <table>
-        <tr>
-          <th>
-            Parameter
-          </th>
-          <th>
-            Details
-          </th>
-        </tr>
-        <tr>
-          <td>
-            VERSION.RELEASE
-          </td>
-          <td>
-            The version of the currently-executing Android system, in human-readable format. This field MUST have one of the string values defined in <a href="http://source.android.com/compatibility/7.1/versions.html">7.1</a> .
-          </td>
-        </tr>
-        <tr>
-          <td>
-            VERSION.SDK
-          </td>
-          <td>
-            The version of the currently-executing Android system, in a format accessible to third-party application code. For Android 7.1, this field MUST have the integer value 7.1_INT.
-          </td>
-        </tr>
-        <tr>
-          <td>
-            VERSION.SDK_INT
-          </td>
-          <td>
-            The version of the currently-executing Android system, in a format accessible to third-party application code. For Android 7.1, this field MUST have the integer value 7.1_INT.
-          </td>
-        </tr>
-        <tr>
-          <td>
-            VERSION.INCREMENTAL
-          </td>
-          <td>
-            A value chosen by the device implementer designating the specific build of the currently-executing Android system, in human-readable format. This value MUST NOT be reused for different builds made available to end users. A typical use of this field is to indicate which build number or source-control change identifier was used to generate the build. There are no requirements on the specific format of this field, except that it MUST NOT be null or the empty string ("").
-          </td>
-        </tr>
-        <tr>
-          <td>
-            BOARD
-          </td>
-          <td>
-            A value chosen by the device implementer identifying the specific internal hardware used by the device, in human-readable format. A possible use of this field is to indicate the specific revision of the board powering the device. The value of this field MUST be encodable as 7-bit ASCII and match the regular expression “^[a-zA-Z0-9_-]+$”.
-          </td>
-        </tr>
-        <tr>
-          <td>
-            BRAND
-          </td>
-          <td>
-            A value reflecting the brand name associated with the device as known to the end users. MUST be in human-readable format and SHOULD represent the manufacturer of the device or the company brand under which the device is marketed. The value of this field MUST be encodable as 7-bit ASCII and match the regular expression “^[a-zA-Z0-9_-]+$”.
-          </td>
-        </tr>
-        <tr>
-          <td>
-            SUPPORTED_ABIS
-          </td>
-          <td>
-            The name of the instruction set (CPU type + ABI convention) of native code. See <a href="#3_3_native_api_compatibility">section 3.3. Native API Compatibility</a> .
-          </td>
-        </tr>
-        <tr>
-          <td>
-            SUPPORTED_32_BIT_ABIS
-          </td>
-          <td>
-            The name of the instruction set (CPU type + ABI convention) of native code. See <a href="#3_3_native_api_compatibility">section 3.3. Native API Compatibility</a> .
-          </td>
-        </tr>
-        <tr>
-          <td>
-            SUPPORTED_64_BIT_ABIS
-          </td>
-          <td>
-            The name of the second instruction set (CPU type + ABI convention) of native code. See <a href="#3_3_native_api_compatibility">section 3.3. Native API Compatibility</a> .
-          </td>
-        </tr>
-        <tr>
-          <td>
-            CPU_ABI
-          </td>
-          <td>
-            The name of the instruction set (CPU type + ABI convention) of native code. See <a href="#3_3_native_api_compatibility">section 3.3. Native API Compatibility</a> .
-          </td>
-        </tr>
-        <tr>
-          <td>
-            CPU_ABI2
-          </td>
-          <td>
-            The name of the second instruction set (CPU type + ABI convention) of native code. See <a href="#3_3_native_api_compatibility">section 3.3. Native API Compatibility</a> .
-          </td>
-        </tr>
-        <tr>
-          <td>
-            DEVICE
-          </td>
-          <td>
-            A value chosen by the device implementer containing the development name or code name identifying the configuration of the hardware features and industrial design of the device. The value of this field MUST be encodable as 7-bit ASCII and match the regular expression “^[a-zA-Z0-9_-]+$”. This device name MUST NOT change during the lifetime of the product.
-          </td>
-        </tr>
-        <tr>
-          <td>
-            FINGERPRINT
-          </td>
-          <td>
-            A string that uniquely identifies this build. It SHOULD be reasonably human-readable. It MUST follow this template:
-            <p class="small">
-              $(BRAND)/$(PRODUCT)/<br />
-              &nbsp;&nbsp;&nbsp;&nbsp;$(DEVICE):$(VERSION.RELEASE)/$(ID)/$(VERSION.INCREMENTAL):$(TYPE)/$(TAGS)
-            </p>
-            <p>
-              For example:
-            </p>
-            <p class="small">
-              acme/myproduct/<br />
-              &nbsp;&nbsp;&nbsp;&nbsp;mydevice:7.1/LMYXX/3359:userdebug/test-keys
-            </p>
-            <p>
-              The fingerprint MUST NOT include whitespace characters. If other fields included in the template above have whitespace characters, they MUST be replaced in the build fingerprint with another character, such as the underscore ("_") character. The value of this field MUST be encodable as 7-bit ASCII.
-            </p>
-          </td>
-        </tr>
-        <tr>
-          <td>
-            HARDWARE
-          </td>
-          <td>
-            The name of the hardware (from the kernel command line or /proc). It SHOULD be reasonably human-readable. The value of this field MUST be encodable as 7-bit ASCII and match the regular expression “^[a-zA-Z0-9_-]+$”.
-          </td>
-        </tr>
-        <tr>
-          <td>
-            HOST
-          </td>
-          <td>
-            A string that uniquely identifies the host the build was built on, in human-readable format. There are no requirements on the specific format of this field, except that it MUST NOT be null or the empty string ("").
-          </td>
-        </tr>
-        <tr>
-          <td>
-            ID
-          </td>
-          <td>
-            An identifier chosen by the device implementer to refer to a specific release, in human-readable format. This field can be the same as android.os.Build.VERSION.INCREMENTAL, but SHOULD be a value sufficiently meaningful for end users to distinguish between software builds. The value of this field MUST be encodable as 7-bit ASCII and match the regular expression “^[a-zA-Z0-9._-]+$”.
-          </td>
-        </tr>
-        <tr>
-          <td>
-            MANUFACTURER
-          </td>
-          <td>
-            The trade name of the Original Equipment Manufacturer (OEM) of the product. There are no requirements on the specific format of this field, except that it MUST NOT be null or the empty string ("").
-          </td>
-        </tr>
-        <tr>
-          <td>
-            MODEL
-          </td>
-          <td>
-            A value chosen by the device implementer containing the name of the device as known to the end user. This SHOULD be the same name under which the device is marketed and sold to end users. There are no requirements on the specific format of this field, except that it MUST NOT be null or the empty string ("").
-          </td>
-        </tr>
-        <tr>
-          <td>
-            PRODUCT
-          </td>
-          <td>
-            A value chosen by the device implementer containing the development name or code name of the specific product (SKU) that MUST be unique within the same brand. MUST be human-readable, but is not necessarily intended for view by end users. The value of this field MUST be encodable as 7-bit ASCII and match the regular expression “^[a-zA-Z0-9_-]+$”. This product name MUST NOT change during the lifetime of the product.
-          </td>
-        </tr>
-        <tr>
-          <td>
-            SERIAL
-          </td>
-          <td>
-            A hardware serial number, which MUST be available and unique across devices with the same MODEL and MANUFACTURER. The value of this field MUST be encodable as 7-bit ASCII and match the regular expression “^([a-zA-Z0-9]{6,20})$”.
-          </td>
-        </tr>
-        <tr>
-          <td>
-            TAGS
-          </td>
-          <td>
-            A comma-separated list of tags chosen by the device implementer that further distinguishes the build. This field MUST have one of the values corresponding to the three typical Android platform signing configurations: release-keys, dev-keys, test-keys.
-          </td>
-        </tr>
-        <tr>
-          <td>
-            TIME
-          </td>
-          <td>
-            A value representing the timestamp of when the build occurred.
-          </td>
-        </tr>
-        <tr>
-          <td>
-            TYPE
-          </td>
-          <td>
-            A value chosen by the device implementer specifying the runtime configuration of the build. This field MUST have one of the values corresponding to the three typical Android runtime configurations: user, userdebug, or eng.
-          </td>
-        </tr>
-        <tr>
-          <td>
-            USER
-          </td>
-          <td>
-            A name or user ID of the user (or automated user) that generated the build. There are no requirements on the specific format of this field, except that it MUST NOT be null or the empty string ("").
-          </td>
-        </tr>
-        <tr>
-          <td>
-            SECURITY_PATCH
-          </td>
-          <td>
-            A value indicating the security patch level of a build. It MUST signify that the build includes all security patches issued up through the designated Android Public Security Bulletin. It MUST be in the format [YYYY-MM-DD], matching one of the Android Security Patch Level strings of the <a href="source.android.com/security/bulletin">Public Security Bulletins</a> , for example "2015-11-01".
-          </td>
-        </tr>
-        <tr>
-          <td>
-            BASE_OS
-          </td>
-          <td>
-            A value representing the FINGERPRINT parameter of the build that is otherwise identical to this build except for the patches provided in the Android Public Security Bulletin. It MUST report the correct value and if such a build does not exist, report an empty string ("").
-          </td>
-        </tr>
-      </table>
-      <h4 id="3_2_3_intent_compatibility">
-        3.2.3. Intent Compatibility
-      </h4>
-      <h5 id="3_2_3_1_core_application_intents">
-        3.2.3.1. Core Application Intents
-      </h5>
-      <p>
-        Android intents allow application components to request functionality from other Android components. The Android upstream project includes a list of applications considered core Android applications, which implements several intent patterns to perform common actions. The core Android applications are:
-      </p>
-      <ul>
-        <li>Desk Clock
-        </li>
-        <li>Browser
-        </li>
-        <li>Calendar
-        </li>
-        <li>Contacts
-        </li>
-        <li>Gallery
-        </li>
-        <li>GlobalSearch
-        </li>
-        <li>Launcher
-        </li>
-        <li>Music
-        </li>
-        <li>Settings
-        </li>
-      </ul>
-      <p>
-        Device implementations MUST include the core Android applications as appropriate or a component implementing the same intent patterns defined by all the Activity or Service components of these core Android applications exposed to other applications, implicitly or explicitly, through the <code>android:exported</code> attribute.
-      </p>
-      <h5 id="3_2_3_2_intent_resolution">
-        3.2.3.2. Intent Resolution
-      </h5>
-      <p>
-        As Android is an extensible platform, device implementations MUST allow each intent pattern referenced in <a href="#3_2_3_1_core_application_intents">section 3.2.3.1</a> to be overridden by third-party applications. The upstream Android open source implementation allows this by default; device implementers MUST NOT attach special privileges to system applications' use of these intent patterns, or prevent third-party applications from binding to and assuming control of these patterns. This prohibition specifically includes but is not limited to disabling the “Chooser” user interface that allows the user to select between multiple applications that all handle the same intent pattern.
-      </p>
-      <p>
-        Device implementations MUST provide a user interface for users to modify the default activity for intents.
-      </p>
-      <p>
-        However, device implementations MAY provide default activities for specific URI patterns (e.g. http://play.google.com) when the default activity provides a more specific attribute for the data URI. For example, an intent filter pattern specifying the data URI “http://www.android.com” is more specific than the browser's core intent pattern for “http://”.
-      </p>
-      <p>
-        Android also includes a mechanism for third-party apps to declare an authoritative default <a href="https://developer.android.com/training/app-links">app linking behavior</a> for certain types of web URI intents. When such authoritative declarations are defined in an app's intent filter patterns, device implementations:
-      </p>
-      <ul>
-        <li>MUST attempt to validate any intent filters by performing the validation steps defined in the <a href="https://developers.google.com/digital-asset-links">Digital Asset Links specification</a> as implemented by the Package Manager in the upstream Android Open Source Project.
-        </li>
-        <li>MUST attempt validation of the intent filters during the installation of the application and set all successfully validated UIR intent filters as default app handlers for their UIRs.
-        </li>
-        <li>MAY set specific URI intent filters as default app handlers for their URIs, if they are successfully verified but other candidate URI filters fail verification. If a device implementation does this, it MUST provide the user appropriate per-URI pattern overrides in the settings menu.
-        </li>
-        <li>MUST provide the user with per-app App Links controls in Settings as follows:
-          <ul>
-            <li>The user MUST be able to override holistically the default app links behavior for an app to be: always open, always ask, or never open, which must apply to all candidate URI intent filters equally.
-            </li>
-            <li>The user MUST be able to see a list of the candidate URI intent filters.
-            </li>
-            <li>The device implementation MAY provide the user with the ability to override specific candidate URI intent filters that were successfully verified, on a per-intent filter basis.
-            </li>
-            <li>The device implementation MUST provide users with the ability to view and override specific candidate URI intent filters if the device implementation lets some candidate URI intent filters succeed verification while some others can fail.
-            </li>
-          </ul>
-        </li>
-      </ul>
-      <h5 id="3_2_3_3_intent_namespaces">
-        3.2.3.3. Intent Namespaces
-      </h5>
-      <p>
-        Device implementations MUST NOT include any Android component that honors any new intent or broadcast intent patterns using an ACTION, CATEGORY, or other key string in the android. <em>or com.android.</em> namespace. Device implementers MUST NOT include any Android components that honor any new intent or broadcast intent patterns using an ACTION, CATEGORY, or other key string in a package space belonging to another organization. Device implementers MUST NOT alter or extend any of the intent patterns used by the core apps listed in <a href="#3_2_3_1_core_application_intents">section 3.2.3.1</a> . Device implementations MAY include intent patterns using namespaces clearly and obviously associated with their own organization. This prohibition is analogous to that specified for Java language classes in <a href="#3_6_api_namespaces">section 3.6</a> .
-      </p>
-      <h5 id="3_2_3_4_broadcast_intents">
-        3.2.3.4. Broadcast Intents
-      </h5>
-      <p>
-        Third-party applications rely on the platform to broadcast certain intents to notify them of changes in the hardware or software environment. Android-compatible devices MUST broadcast the public broadcast intents in response to appropriate system events. Broadcast intents are described in the SDK documentation.
-      </p>
-      <h5 id="3_2_3_5_default_app_settings">
-        3.2.3.5. Default App Settings
-      </h5>
-      <p>
-        Android includes settings that provide users an easy way to select their default applications, for example for Home screen or SMS. Where it makes sense, device implementations MUST provide a similar settings menu and be compatible with the intent filter pattern and API methods described in the SDK documentation as below.
-      </p>
-      <p>
-        Device implementations:
-      </p>
-      <ul>
-        <li>MUST honor the <a href="http://developer.android.com/reference/android/provider/Settings.html#ACTION_HOME_SETTINGS">android.settings.HOME_SETTINGS</a> intent to show a default app settings menu for Home Screen, if the device implementation reports android.software.home_screen.
-        </li>
-        <li>MUST provide a settings menu that will call the <a href="http://developer.android.com/reference/android/provider/Telephony.Sms.Intents.html">android.provider.Telephony.ACTION_CHANGE_DEFAULT</a> intent to show a dialog to change the default SMS application, if the device implementation reports android.hardware.telephony.
-        </li>
-        <li>MUST honor the <a href="http://developer.android.com/reference/android/provider/Settings.html#ACTION_NFC_PAYMENT_SETTINGS">android.settings.NFC_PAYMENT_SETTINGS</a> intent to show a default app settings menu for Tap and Pay, if the device implementation reports android.hardware.nfc.hce.
-        </li>
-        <li>MUST honor the <a href="https://developer.android.com/reference/android/telecom/TelecomManager.html#ACTION_CHANGE_DEFAULT_DIALER">android.telecom.action.CHANGE_DEFAULT_DIALER</a> intent to show a dialog to allow the user to change the default Phone application, if the device implementation reports <code>android.hardware.telephony</code> .
-        </li>
-        <li>MUST honor the <a href="https://developer.android.com/reference/android/provider/Settings.html#ACTION_VOICE_INPUT_SETTINGS">android.settings.ACTION_VOICE_INPUT_SETTINGS</a> intent when the device supports the VoiceInteractionService and show a default app settings menu for voice input and assist.
-        </li>
-      </ul>
-      <h3 id="3_3_native_api_compatibility">
-        3.3. Native API Compatibility
-      </h3>
-      <p>
-        Native code compatibility is challenging. For this reason, device implementers are <strong>STRONGLY RECOMMENDED</strong> to use the implementations of the libraries listed below from the upstream Android Open Source Project.
-      </p>
-      <h4 id="3_3_1_application_binary_interfaces">
-        3.3.1. Application Binary Interfaces
-      </h4>
-      <p>
-        Managed Dalvik bytecode can call into native code provided in the application .apk file as an ELF .so file compiled for the appropriate device hardware architecture. As native code is highly dependent on the underlying processor technology, Android defines a number of Application Binary Interfaces (ABIs) in the Android NDK. Device implementations MUST be compatible with one or more defined ABIs, and MUST implement compatibility with the Android NDK, as below.
-      </p>
-      <p>
-        If a device implementation includes support for an Android ABI, it:
-      </p>
-      <ul>
-        <li>MUST include support for code running in the managed environment to call into native code, using the standard Java Native Interface (JNI) semantics.
-        </li>
-        <li>MUST be source-compatible (i.e. header compatible) and binary-compatible (for the ABI) with each required library in the list below.
-        </li>
-        <li>MUST support the equivalent 32-bit ABI if any 64-bit ABI is supported.
-        </li>
-        <li>MUST accurately report the native Application Binary Interface (ABI) supported by the device, via the android.os.Build.SUPPORTED_ABIS, android.os.Build.SUPPORTED_32_BIT_ABIS, and android.os.Build.SUPPORTED_64_BIT_ABIS parameters, each a comma separated list of ABIs ordered from the most to the least preferred one.
-        </li>
-        <li>MUST report, via the above parameters, only those ABIs documented and described in the latest version of the <a href="https://developer.android.com/ndk/guides/abis.html">Android NDK ABI Management documentation</a> , and MUST include support for the <a href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0388f/Beijfcja.html">Advanced SIMD</a> (a.k.a. NEON) extension.
-        </li>
-        <li>SHOULD be built using the source code and header files available in the upstream Android Open Source Project
-        </li>
-      </ul>
-      <p>
-        Note that future releases of the Android NDK may introduce support for additional ABIs. If a device implementation is not compatible with an existing predefined ABI, it MUST NOT report support for any ABIs at all.
-      </p>
-      <p>
-        The following native code APIs MUST be available to apps that include native code:
-      </p>
-      <ul>
-        <li>libandroid.so (native Android activity support)
-        </li>
-        <li>libc (C library)
-        </li>
-        <li>libcamera2ndk.so
-        </li>
-        <li>libdl (dynamic linker)
-        </li>
-        <li>libEGL.so (native OpenGL surface management)
-        </li>
-        <li>libGLESv1_CM.so (OpenGL ES 1.x)
-        </li>
-        <li>libGLESv2.so (OpenGL ES 2.0)
-        </li>
-        <li>libGLESv3.so (OpenGL ES 3.x)
-        </li>
-        <li>libicui18n.so
-        </li>
-        <li>libicuuc.so
-        </li>
-        <li>libjnigraphics.so
-        </li>
-        <li>liblog (Android logging)
-        </li>
-        <li>libmediandk.so (native media APIs support)
-        </li>
-        <li>libm (math library)
-        </li>
-        <li>libOpenMAXAL.so (OpenMAX AL 1.0.1 support)
-        </li>
-        <li>libOpenSLES.so (OpenSL ES 1.0.1 audio support)
-        </li>
-        <li>libRS.so
-        </li>
-        <li>libstdc++ (Minimal support for C++)
-        </li>
-        <li>libvulkan.so (Vulkan)
-        </li>
-        <li>libz (Zlib compression)
-        </li>
-        <li>JNI interface
-        </li>
-        <li>Support for OpenGL, as described below
-        </li>
-      </ul>
-      <p>
-        For the native libraries listed above, the device implementation MUST NOT add or remove the public functions.
-      </p>
-      <p>
-        Native libraries not listed above but implemented and provided in AOSP as system libraries are reserved and MUST NOT be exposed to third-party apps targeting API level 24 or higher.
-      </p>
-      <p>
-        Device implementations MAY add non-AOSP libraries and expose them directly as an API to third-party apps but the additional libraries SHOULD be in <code>/vendor/lib</code> or <code>/vendor/lib64</code> and MUST be listed in <code>/vendor/etc/public.libraries.txt</code> .
-      </p>
-      <p>
-        Note that device implementations MUST include libGLESv3.so and in turn, MUST export all the OpenGL ES 3.1 and <a href="http://developer.android.com/guide/topics/graphics/opengl.html#aep">Android Extension Pack</a> function symbols as defined in the NDK release android-24. Although all the symbols must be present, only the corresponding functions for OpenGL ES versions and extensions actually supported by the device must be fully implemented.
-      </p>
-      <h5 id="3_3_1_1_graphic_libraries">
-        3.3.1.1. Graphic Libraries
-      </h5>
-      <p>
-        <a href="https://www.khronos.org/registry/vulkan/specs/1.0-wsi_extensions/xhtml/vkspec.html">Vulkan</a> is a low-overhead, cross-platform API for high-performance 3D graphics. Device implementations, even if not including support of the Vulkan APIs, MUST satisfy the following requirements:
-      </p>
-      <ul>
-        <li>It MUST always provide a native library named <code>libvulkan.so</code> which exports function symbols for the core Vulkan 1.0 API as well as the <code>VK_KHR_surface</code> , <code>VK_KHR_android_surface</code> , and <code>VK_KHR_swapchain</code> extensions.
-        </li>
-      </ul>
-      <p>
-        Device implementations, if including support of the Vulkan APIs:
-      </p>
-      <ul>
-        <li>MUST report, one or more <code>VkPhysicalDevices</code> through the <code>vkEnumeratePhysicalDevices</code> call.
-        </li>
-        <li>Each enumerated <code>VkPhysicalDevices</code> MUST fully implement the Vulkan 1.0 API.
-        </li>
-        <li>MUST report the correct <a href="https://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_VULKAN_HARDWARE_LEVEL"><code>PackageManager#FEATURE_VULKAN_HARDWARE_LEVEL</code></a> and <a href="https://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_VULKAN_HARDWARE_VERSION"><code>PackageManager#FEATURE_VULKAN_HARDWARE_VERSION</code></a> feature flags.
-        </li>
-        <li>MUST enumerate layers, contained in native libraries named <code>libVkLayer*.so</code> in the application package’s native library directory, through the <code>vkEnumerateInstanceLayerProperties</code> and <code>vkEnumerateDeviceLayerProperties</code> functions in <code>libvulkan.so</code>
-        </li>
-        <li>MUST NOT enumerate layers provided by libraries outside of the application package, or provide other ways of tracing or intercepting the Vulkan API, unless the application has the <code>android:debuggable=”true”</code> attribute.
-        </li>
-      </ul>
-      <p>
-        Device implementations, if not including support of the Vulkan APIs:
-      </p>
-      <ul>
-        <li>MUST report 0 <code>VkPhysicalDevices</code> through the <code>vkEnumeratePhysicalDevices</code> call.
-        </li>
-        <li>MUST NOT declare any of the Vulkan feature flags <a href="https://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_VULKAN_HARDWARE_LEVEL"><code>PackageManager#FEATURE_VULKAN_HARDWARE_LEVEL</code></a> and <a href="https://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_VULKAN_HARDWARE_VERSION"><code>PackageManager#FEATURE_VULKAN_HARDWARE_VERSION</code></a> .
-        </li>
-      </ul>
-      <h4 id="3_3_2_32-bit_arm_native_code_compatibility">
-        3.3.2. 32-bit ARM Native Code Compatibility
-      </h4>
-      <p>
-        The ARMv8 architecture deprecates several CPU operations, including some operations used in existing native code. On 64-bit ARM devices, the following deprecated operations MUST remain available to 32-bit native ARM code, either through native CPU support or through software emulation:
-      </p>
-      <ul>
-        <li>SWP and SWPB instructions
-        </li>
-        <li>SETEND instruction
-        </li>
-        <li>CP15ISB, CP15DSB, and CP15DMB barrier operations
-        </li>
-      </ul>
-      <p>
-        Legacy versions of the Android NDK used /proc/cpuinfo to discover CPU features from 32-bit ARM native code. For compatibility with applications built using this NDK, devices MUST include the following lines in /proc/cpuinfo when it is read by 32-bit ARM applications:
-      </p>
-      <ul>
-        <li>"Features: ", followed by a list of any optional ARMv7 CPU features supported by the device.
-        </li>
-        <li>"CPU architecture: ", followed by an integer describing the device's highest supported ARM architecture (e.g., "8" for ARMv8 devices).
-        </li>
-      </ul>
-      <p>
-        These requirements only apply when /proc/cpuinfo is read by 32-bit ARM applications. Devices SHOULD not alter /proc/cpuinfo when read by 64-bit ARM or non-ARM applications.
-      </p>
-      <h3 id="3_4_web_compatibility">
-        3.4. Web Compatibility
-      </h3>
-      <h4 id="3_4_1_webview_compatibility">
-        3.4.1. WebView Compatibility
-      </h4>
-      <div class="note">
-        Android Watch devices MAY, but all other device implementations MUST provide a complete implementation of the android.webkit.Webview API.
-      </div>
-      <p>
-        The platform feature android.software.webview MUST be reported on any device that provides a complete implementation of the android.webkit.WebView API, and MUST NOT be reported on devices without a complete implementation of the API. The Android Open Source implementation uses code from the Chromium Project to implement the <a href="http://developer.android.com/reference/android/webkit/WebView.html">android.webkit.WebView</a> . Because it is not feasible to develop a comprehensive test suite for a web rendering system, device implementers MUST use the specific upstream build of Chromium in the WebView implementation. Specifically:
-      </p>
-      <ul>
-        <li>Device android.webkit.WebView implementations MUST be based on the <a href="http://www.chromium.org/">Chromium</a> build from the upstream Android Open Source Project for Android 7.1. This build includes a specific set of functionality and security fixes for the WebView.
-        </li>
-        <li>
-          <p>
-            The user agent string reported by the WebView MUST be in this format:
-          </p>
-          <p>
-            Mozilla/5.0 (Linux; Android $(VERSION); $(MODEL) Build/$(BUILD); wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 $(CHROMIUM_VER) Mobile Safari/537.36
-          </p>
-          <ul>
-            <li>The value of the $(VERSION) string MUST be the same as the value for android.os.Build.VERSION.RELEASE.
-            </li>
-            <li>The value of the $(MODEL) string MUST be the same as the value for android.os.Build.MODEL.
-            </li>
-            <li>The value of the $(BUILD) string MUST be the same as the value for android.os.Build.ID.
-            </li>
-            <li>The value of the $(CHROMIUM_VER) string MUST be the version of Chromium in the upstream Android Open Source Project.
-            </li>
-            <li>Device implementations MAY omit Mobile in the user agent string.
-            </li>
-          </ul>
-        </li>
-      </ul>
-      <p>
-        The WebView component SHOULD include support for as many HTML5 features as possible and if it supports the feature SHOULD conform to the <a href="http://html.spec.whatwg.org/multipage/">HTML5 specification</a> .
-      </p>
-      <h4 id="3_4_2_browser_compatibility">
-        3.4.2. Browser Compatibility
-      </h4>
-      <div class="note">
-        Android Television, Watch, and Android Automotive implementations MAY omit a browser application, but MUST support the public intent patterns as described in <a href="#3_2_3_1_core_application_intents">section 3.2.3.1</a> . All other types of device implementations MUST include a standalone Browser application for general user web browsing.
-      </div>
-      <p>
-        The standalone Browser MAY be based on a browser technology other than WebKit. However, even if an alternate Browser application is used, the android.webkit.WebView component provided to third-party applications MUST be based on WebKit, as described in <a href="#3_4_1_webview_compatibility">section 3.4.1</a> .
-      </p>
-      <p>
-        Implementations MAY ship a custom user agent string in the standalone Browser application.
-      </p>
-      <p>
-        The standalone Browser application (whether based on the upstream WebKit Browser application or a third-party replacement) SHOULD include support for as much of <a href="http://html.spec.whatwg.org/multipage/">HTML5</a> as possible. Minimally, device implementations MUST support each of these APIs associated with HTML5:
-      </p>
-      <ul>
-        <li>
-          <a href="http://www.w3.org/html/wg/drafts/html/master/browsers.html#offline">application cache/offline operation</a>
-        </li>
-        <li>
-          <a href="http://www.w3.org/html/wg/drafts/html/master/semantics.html#video">&lt;video&gt; tag</a>
-        </li>
-        <li>
-          <a href="http://www.w3.org/TR/geolocation-API/">geolocation</a>
-        </li>
-      </ul>
-      <p>
-        Additionally, device implementations MUST support the HTML5/W3C <a href="http://www.w3.org/TR/webstorage/">webstorage API</a> and SHOULD support the HTML5/W3C <a href="http://www.w3.org/TR/IndexedDB/">IndexedDB API</a> . Note that as the web development standards bodies are transitioning to favor IndexedDB over webstorage, IndexedDB is expected to become a required component in a future version of Android.
-      </p>
-      <h3 id="3_5_api_behavioral_compatibility">
-        3.5. API Behavioral Compatibility
-      </h3>
-      <p>
-        The behaviors of each of the API types (managed, soft, native, and web) must be consistent with the preferred implementation of the upstream <a href="http://source.android.com/">Android Open Source Project</a> . Some specific areas of compatibility are:
-      </p>
-      <ul>
-        <li>Devices MUST NOT change the behavior or semantics of a standard intent.
-        </li>
-        <li>Devices MUST NOT alter the lifecycle or lifecycle semantics of a particular type of system component (such as Service, Activity, ContentProvider, etc.).
-        </li>
-        <li>Devices MUST NOT change the semantics of a standard permission.
-        </li>
-      </ul>
-      <p>
-        The above list is not comprehensive. The Compatibility Test Suite (CTS) tests significant portions of the platform for behavioral compatibility, but not all. It is the responsibility of the implementer to ensure behavioral compatibility with the Android Open Source Project. For this reason, device implementers SHOULD use the source code available via the Android Open Source Project where possible, rather than re-implement significant parts of the system.
-      </p>
-      <h3 id="3_6_api_namespaces">
-        3.6. API Namespaces
-      </h3>
-      <p>
-        Android follows the package and class namespace conventions defined by the Java programming language. To ensure compatibility with third-party applications, device implementers MUST NOT make any prohibited modifications (see below) to these package namespaces:
-      </p>
-      <ul>
-        <li>java.*
-        </li>
-        <li>javax.*
-        </li>
-        <li>sun.*
-        </li>
-        <li>android.*
-        </li>
-        <li>com.android.*
-        </li>
-      </ul>
-      <p>
-        <strong>Prohibited modifications include</strong> :
-      </p>
-      <ul>
-        <li>Device implementations MUST NOT modify the publicly exposed APIs on the Android platform by changing any method or class signatures, or by removing classes or class fields.
-        </li>
-        <li>Device implementers MAY modify the underlying implementation of the APIs, but such modifications MUST NOT impact the stated behavior and Java-language signature of any publicly exposed APIs.
-        </li>
-        <li>Device implementers MUST NOT add any publicly exposed elements (such as classes or interfaces, or fields or methods to existing classes or interfaces) to the APIs above.
-        </li>
-      </ul>
-      <p>
-        A “publicly exposed element” is any construct that is not decorated with the“@hide” marker as used in the upstream Android source code. In other words, device implementers MUST NOT expose new APIs or alter existing APIs in the namespaces noted above. Device implementers MAY make internal-only modifications, but those modifications MUST NOT be advertised or otherwise exposed to developers.
-      </p>
-      <p>
-        Device implementers MAY add custom APIs, but any such APIs MUST NOT be in a namespace owned by or referring to another organization. For instance, device implementers MUST NOT add APIs to the com.google.* or similar namespace: only Google may do so. Similarly, Google MUST NOT add APIs to other companies' namespaces. Additionally, if a device implementation includes custom APIs outside the standard Android namespace, those APIs MUST be packaged in an Android shared library so that only apps that explicitly use them (via the &lt;uses-library&gt; mechanism) are affected by the increased memory usage of such APIs.
-      </p>
-      <p>
-        If a device implementer proposes to improve one of the package namespaces above (such as by adding useful new functionality to an existing API, or adding a new API), the implementer SHOULD visit <a href="http://source.android.com/">source.android.com</a> and begin the process for contributing changes and code, according to the information on that site.
-      </p>
-      <p>
-        Note that the restrictions above correspond to standard conventions for naming APIs in the Java programming language; this section simply aims to reinforce those conventions and make them binding through inclusion in this Compatibility Definition.
-      </p>
-      <h3 id="3_7_runtime_compatibility">
-        3.7. Runtime Compatibility
-      </h3>
-      <p>
-        Device implementations MUST support the full Dalvik Executable (DEX) format and <a href="https://android.googlesource.com/platform/dalvik/">Dalvik bytecode specification and semantics</a> . Device implementers SHOULD use ART, the reference upstream implementation of the Dalvik Executable Format, and the reference implementation’s package management system.
-      </p>
-      <p>
-        Device implementations MUST configure Dalvik runtimes to allocate memory in accordance with the upstream Android platform, and as specified by the following table. (See <a href="#7_1_1_screen_configuration">section 7.1.1</a> for screen size and screen density definitions.) Note that memory values specified below are considered minimum values and device implementations MAY allocate more memory per application.
-      </p>
-      <table>
-        <tr>
-          <th>
-            Screen Layout
-          </th>
-          <th>
-            Screen Density
-          </th>
-          <th>
-            Minimum Application Memory
-          </th>
-        </tr>
-        <tr>
-          <td rowspan="12">
-            Android Watch
-          </td>
-          <td>
-            120 dpi (ldpi)
-          </td>
-          <td rowspan="3">
-            32MB
-          </td>
-        </tr>
-        <tr>
-          <td>
-            160 dpi (mdpi)
-          </td>
-        </tr>
-        <tr>
-          <td>
-            213 dpi (tvdpi)
-          </td>
-        </tr>
-        <tr>
-          <td>
-            240 dpi (hdpi)
-          </td>
-          <td rowspan="2">
-            36MB
-          </td>
-        </tr>
-        <tr>
-          <td>
-            280 dpi (280dpi)
-          </td>
-        </tr>
-        <tr>
-          <td>
-            320 dpi (xhdpi)
-          </td>
-          <td rowspan="2">
-            48MB
-          </td>
-        </tr>
-        <tr>
-          <td>
-            360 dpi (360dpi)
-          </td>
-        </tr>
-        <tr>
-          <td>
-            400 dpi (400dpi)
-          </td>
-          <td>
-            56MB
-          </td>
-        </tr>
-        <tr>
-          <td>
-            420 dpi (420dpi)
-          </td>
-          <td>
-            64MB
-          </td>
-        </tr>
-        <tr>
-          <td>
-            480 dpi (xxhdpi)
-          </td>
-          <td>
-            88MB
-          </td>
-        </tr>
-        <tr>
-          <td>
-            560 dpi (560dpi)
-          </td>
-          <td>
-            112MB
-          </td>
-        </tr>
-        <tr>
-          <td>
-            640 dpi (xxxhdpi)
-          </td>
-          <td>
-            154MB
-          </td>
-        </tr>
-        <tr>
-          <td rowspan="12">
-            small/normal
-          </td>
-          <td>
-            120 dpi (ldpi)
-          </td>
-          <td rowspan="2">
-            32MB
-          </td>
-        </tr>
-        <tr>
-          <td>
-            160 dpi (mdpi)
-          </td>
-        </tr>
-        <tr>
-          <td>
-            213 dpi (tvdpi)
-          </td>
-          <td rowspan="3">
-            48MB
-          </td>
-        </tr>
-        <tr>
-          <td>
-            240 dpi (hdpi)
-          </td>
-        </tr>
-        <tr>
-          <td>
-            280 dpi (280dpi)
-          </td>
-        </tr>
-        <tr>
-          <td>
-            320 dpi (xhdpi)
-          </td>
-          <td rowspan="2">
-            80MB
-          </td>
-        </tr>
-        <tr>
-          <td>
-            360 dpi (360dpi)
-          </td>
-        </tr>
-        <tr>
-          <td>
-            400 dpi (400dpi)
-          </td>
-          <td>
-            96MB
-          </td>
-        </tr>
-        <tr>
-          <td>
-            420 dpi (420dpi)
-          </td>
-          <td>
-            112MB
-          </td>
-        </tr>
-        <tr>
-          <td>
-            480 dpi (xxhdpi)
-          </td>
-          <td>
-            128MB
-          </td>
-        </tr>
-        <tr>
-          <td>
-            560 dpi (560dpi)
-          </td>
-          <td>
-            192MB
-          </td>
-        </tr>
-        <tr>
-          <td>
-            640 dpi (xxxhdpi)
-          </td>
-          <td>
-            256MB
-          </td>
-        </tr>
-        <tr>
-          <td rowspan="12">
-            large
-          </td>
-          <td>
-            120 dpi (ldpi)
-          </td>
-          <td>
-            32MB
-          </td>
-        </tr>
-        <tr>
-          <td>
-            160 dpi (mdpi)
-          </td>
-          <td>
-            48MB
-          </td>
-        </tr>
-        <tr>
-          <td>
-            213 dpi (tvdpi)
-          </td>
-          <td rowspan="2">
-            80MB
-          </td>
-        </tr>
-        <tr>
-          <td>
-            240 dpi (hdpi)
-          </td>
-        </tr>
-        <tr>
-          <td>
-            280 dpi (280dpi)
-          </td>
-          <td>
-            96MB
-          </td>
-        </tr>
-        <tr>
-          <td>
-            320 dpi (xhdpi)
-          </td>
-          <td>
-            128MB
-          </td>
-        </tr>
-        <tr>
-          <td>
-            360 dpi (360dpi)
-          </td>
-          <td>
-            160MB
-          </td>
-        </tr>
-        <tr>
-          <td>
-            400 dpi (400dpi)
-          </td>
-          <td>
-            192MB
-          </td>
-        </tr>
-        <tr>
-          <td>
-            420 dpi (420dpi)
-          </td>
-          <td>
-            228MB
-          </td>
-        </tr>
-        <tr>
-          <td>
-            480 dpi (xxhdpi)
-          </td>
-          <td>
-            256MB
-          </td>
-        </tr>
-        <tr>
-          <td>
-            560 dpi (560dpi)
-          </td>
-          <td>
-            384MB
-          </td>
-        </tr>
-        <tr>
-          <td>
-            640 dpi (xxxhdpi)
-          </td>
-          <td>
-            512MB
-          </td>
-        </tr>
-        <tr>
-          <td rowspan="12">
-            xlarge
-          </td>
-          <td>
-            120 dpi (ldpi)
-          </td>
-          <td>
-            48MB
-          </td>
-        </tr>
-        <tr>
-          <td>
-            160 dpi (mdpi)
-          </td>
-          <td>
-            80MB
-          </td>
-        </tr>
-        <tr>
-          <td>
-            213 dpi (tvdpi)
-          </td>
-          <td rowspan="2">
-            96MB
-          </td>
-        </tr>
-        <tr>
-          <td>
-            240 dpi (hdpi)
-          </td>
-        </tr>
-        <tr>
-          <td>
-            280 dpi (280dpi)
-          </td>
-          <td>
-            144MB
-          </td>
-        </tr>
-        <tr>
-          <td>
-            320 dpi (xhdpi)
-          </td>
-          <td>
-            192MB
-          </td>
-        </tr>
-        <tr>
-          <td>
-            360 dpi (360dpi)
-          </td>
-          <td>
-            240MB
-          </td>
-        </tr>
-        <tr>
-          <td>
-            400 dpi (400dpi)
-          </td>
-          <td>
-            288MB
-          </td>
-        </tr>
-        <tr>
-          <td>
-            420 dpi (420dpi)
-          </td>
-          <td>
-            336MB
-          </td>
-        </tr>
-        <tr>
-          <td>
-            480 dpi (xxhdpi)
-          </td>
-          <td>
-            384MB
-          </td>
-        </tr>
-        <tr>
-          <td>
-            560 dpi (560dpi)
-          </td>
-          <td>
-            576MB
-          </td>
-        </tr>
-        <tr>
-          <td>
-            640 dpi (xxxhdpi)
-          </td>
-          <td>
-            768MB
-          </td>
-        </tr>
-      </table>
-      <h3 id="3_8_user_interface_compatibility">
-        3.8. User Interface Compatibility
-      </h3>
-      <h4 id="3_8_1_launcher_(home_screen)">
-        3.8.1. Launcher (Home Screen)
-      </h4>
-      <p>
-        Android includes a launcher application (home screen) and support for third-party applications to replace the device launcher (home screen). Device implementations that allow third-party applications to replace the device home screen MUST declare the platform feature android.software.home_screen.
-      </p>
-      <h4 id="3_8_2_widgets">
-        3.8.2. Widgets
-      </h4>
-      <div class="note">
-        Widgets are optional for all Android device implementations, but SHOULD be supported on Android Handheld devices.
-      </div>
-      <p>
-        Android defines a component type and corresponding API and lifecycle that allows applications to expose an <a href="http://developer.android.com/guide/practices/ui_guidelines/widget_design.html">“AppWidget”</a> to the end user, a feature that is STRONGLY RECOMMENDED to be supported on Handheld Device implementations. Device implementations that support embedding widgets on the home screen MUST meet the following requirements and declare support for platform feature android.software.app_widgets.
-      </p>
-      <ul>
-        <li>Device launchers MUST include built-in support for AppWidgets and expose user interface affordances to add, configure, view, and remove AppWidgets directly within the Launcher.
-        </li>
-        <li>Device implementations MUST be capable of rendering widgets that are 4 x 4 in the standard grid size. See the <a href="http://developer.android.com/guide/practices/ui_guidelines/widget_design.html">App Widget Design Guidelines</a> in the Android SDK documentation for details.
-        </li>
-        <li>Device implementations that include support for lock screen MAY support application widgets on the lock screen.
-        </li>
-        <li>SHOULD trigger the fast-switch action between the two most recently used apps, when the recents function key is tapped twice.
-        </li>
-        <li>SHOULD trigger the split-screen multiwindow-mode, if supported, when the recents functions key is long pressed.
-        </li>
-      </ul>
-      <h4 id="3_8_3_notifications">
-        3.8.3. Notifications
-      </h4>
-      <p>
-        Android includes APIs that allow developers to <a href="http://developer.android.com/guide/topics/ui/notifiers/notifications.html">notify users of notable events</a> using hardware and software features of the device.
-      </p>
-      <p>
-        Some APIs allow applications to perform notifications or attract attention using hardware—specifically sound, vibration, and light. Device implementations MUST support notifications that use hardware features, as described in the SDK documentation, and to the extent possible with the device implementation hardware. For instance, if a device implementation includes a vibrator, it MUST correctly implement the vibration APIs. If a device implementation lacks hardware, the corresponding APIs MUST be implemented as no-ops. This behavior is further detailed in <a href="#7_hardware_compatibility">section 7</a> .
-      </p>
-      <p>
-        Additionally, the implementation MUST correctly render all <a href="https://developer.android.com/guide/topics/resources/available-resources.html">resources</a> (icons, animation files etc.) provided for in the APIs, or in the Status/System Bar <a href="http://developer.android.com/design/style/iconography.html">icon style guide</a> , which in the case of an Android Television device includes the possibility to not display the notifications. Device implementers MAY provide an alternative user experience for notifications than that provided by the reference Android Open Source implementation; however, such alternative notification systems MUST support existing notification resources, as above.
-      </p>
-      <div class="note">
-        Android Automotive implementations MAY manage the visibility and timing of notifications to mitigate driver distraction, but MUST display notifications that use <a href="https://developer.android.com/reference/android/app/Notification.CarExtender.html">CarExtender</a> when requested by applications.
-      </div>
-      <p>
-        Android includes support for various notifications, such as:
-      </p>
-      <ul>
-        <li>
-          <strong>Rich notifications</strong> . Interactive Views for ongoing notifications.
-        </li>
-        <li>
-          <strong>Heads-up notifications</strong> . Interactive Views users can act on or dismiss without leaving the current app.
-        </li>
-        <li>
-          <strong>Lock screen notifications</strong> . Notifications shown over a lock screen with granular control on visibility.
-        </li>
-      </ul>
-      <p>
-        Android device implementations, when such notifications are made visible, MUST properly execute Rich and Heads-up notifications and include the title/name, icon, text as <a href="https://developer.android.com/design/patterns/notifications.html">documented in the Android APIs</a> .
-      </p>
-      <p>
-        Android includes Notification Listener Service APIs that allow apps (once explicitly enabled by the user) to receive a copy of all notifications as they are posted or updated. Device implementations MUST correctly and promptly send notifications in their entirety to all such installed and user-enabled listener services, including any and all metadata attached to the Notification object.
-      </p>
-      <p>
-        Handheld device implementations MUST support the behaviors of updating, removing, replying to, and bundling notifications as described in this <a href="https://developer.android.com/guide/topics/ui/notifiers/notifications.html#Managing">section</a> .
-      </p>
-      <p>
-        Also, handheld device implementations MUST provide:
-      </p>
-      <ul>
-        <li>The ability to control notifications directly in the notification shade.
-        </li>
-        <li>The visual affordance to trigger the control panel in the notification shade.
-        </li>
-        <li>The ability to BLOCK, MUTE and RESET notification preference from a package, both in the inline control panel as well as in the settings app.
-        </li>
-      </ul>
-      <p>
-        All 6 direct subclasses of the <code>Notification.Style class</code> MUST be supported as described in the <a href="https://developer.android.com/reference/android/app/Notification.Style.html">SDK documents</a> .
-      </p>
-      <p>
-        Device implementations that support the DND (Do not Disturb) feature MUST meet the following requirements:
-      </p>
-      <ul>
-        <li>MUST implement an activity where the user can grant or deny the app access to DND policy configurations in response to the intent <a href="https://developer.android.com/reference/android/provider/Settings.html#ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS">ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS</a> .
-        </li>
-        <li>MUST display <a href="https://developer.android.com/reference/android/app/NotificationManager.html#addAutomaticZenRule%28android.app.AutomaticZenRule%29">Automatic DND rules</a> created by applications alongside the user-created and pre-defined rules.
-        </li>
-        <li>MUST honor the <a href="https://developer.android.com/reference/android/app/NotificationManager.Policy.html#suppressedVisualEffects"><code>suppressedVisualEffects</code></a> values passed along the <a href="https://developer.android.com/reference/android/app/NotificationManager.Policy.html#NotificationManager.Policy%28int,%20int,%20int,%20int%29"><code>NotificationManager.Policy</code></a> and if an app has set any of the SUPPRESSED_EFFECT_SCREEN_OFF or SUPPRESSED_EFFECT_SCREEN_ON flags, it SHOULD indicate to the user that the visual effects are suppressed in the DND settings menu.
-        </li>
-      </ul>
-      <h4 id="3_8_4_search">
-        3.8.4. Search
-      </h4>
-      <p>
-        Android includes APIs that allow developers to <a href="http://developer.android.com/reference/android/app/SearchManager.html">incorporate search</a> into their applications and expose their application’s data into the global system search. Generally speaking, this functionality consists of a single, system-wide user interface that allows users to enter queries, displays suggestions as users type, and displays results. The Android APIs allow developers to reuse this interface to provide search within their own apps and allow developers to supply results to the common global search user interface.
-      </p>
-      <p>
-        Android device implementations SHOULD include global search, a single, shared, system-wide search user interface capable of real-time suggestions in response to user input. Device implementations SHOULD implement the APIs that allow developers to reuse this user interface to provide search within their own applications. Device implementations that implement the global search interface MUST implement the APIs that allow third-party applications to add suggestions to the search box when it is run in global search mode. If no third-party applications are installed that make use of this functionality, the default behavior SHOULD be to display web search engine results and suggestions.
-      </p>
-      <p>
-        Android device implementations SHOULD, and Android Automotive implementations MUST, implement an assistant on the device to handle the <a href="http://developer.android.com/reference/android/content/Intent.html#ACTION_ASSIST">Assist action</a> .
-      </p>
-      <p>
-        Android also includes the <a href="https://developer.android.com/reference/android/app/assist/package-summary.html">Assist APIs</a> to allow applications to elect how much information of the current context is shared with the assistant on the device. Device implementations supporting the Assist action MUST indicate clearly to the end user when the context is shared by displaying a white light around the edges of the screen. To ensure clear visibility to the end user, the indication MUST meet or exceed the duration and brightness of the Android Open Source Project implementation.
-      </p>
-      <p>
-        This indication MAY be disabled by default for preinstalled apps using the Assist and VoiceInteractionService API, if all following requirements are met:
-      </p>
-      <ul>
-        <li>
-          <p>
-            The preinstalled app MUST request the context to be shared only when the user invoked the app by one of the following means, and the app is running in the foreground:
-          </p>
-          <ul>
-            <li>hotword invocation
-            </li>
-            <li>input of the ASSIST navigation key/button/gesture
-            </li>
-          </ul>
-        </li>
-        <li>
-          <p>
-            The device implementation MUST provide an affordance to enable the indication, less than two navigations away from (the default voice input and assistant app settings menu) <a href="#3_2_3_5_default_app_settings">section 3.2.3.5</a> .
-          </p>
-        </li>
-      </ul>
-      <h4 id="3_8_5_toasts">
-        3.8.5. Toasts
-      </h4>
-      <p>
-        Applications can use the <a href="http://developer.android.com/reference/android/widget/Toast.html">“Toast” API</a> to display short non-modal strings to the end user that disappear after a brief period of time. Device implementations MUST display Toasts from applications to end users in some high-visibility manner.
-      </p>
-      <h4 id="3_8_6_themes">
-        3.8.6. Themes
-      </h4>
-      <p>
-        Android provides “themes” as a mechanism for applications to apply styles across an entire Activity or application.
-      </p>
-      <p>
-        Android includes a “Holo” theme family as a set of defined styles for application developers to use if they want to match the <a href="http://developer.android.com/guide/topics/ui/themes.html">Holo theme look and feel</a> as defined by the Android SDK. Device implementations MUST NOT alter any of the <a href="http://developer.android.com/reference/android/R.style.html">Holo theme attributes</a> exposed to applications.
-      </p>
-      <p>
-        Android includes a “Material” theme family as a set of defined styles for application developers to use if they want to match the design theme’s look and feel across the wide variety of different Android device types. Device implementations MUST support the “Material” theme family and MUST NOT alter any of the <a href="http://developer.android.com/reference/android/R.style.html#Theme_Material">Material theme attributes</a> or their assets exposed to applications.
-      </p>
-      <p>
-        Android also includes a “Device Default” theme family as a set of defined styles for application developers to use if they want to match the look and feel of the device theme as defined by the device implementer. Device implementations MAY modify the <a href="http://developer.android.com/reference/android/R.style.html">Device Default theme attributes</a> exposed to applications.
-      </p>
-      <p>
-        Android supports a variant theme with translucent system bars, which allows application developers to fill the area behind the status and navigation bar with their app content. To enable a consistent developer experience in this configuration, it is important the status bar icon style is maintained across different device implementations. Therefore, Android device implementations MUST use white for system status icons (such as signal strength and battery level) and notifications issued by the system, unless the icon is indicating a problematic status or an app requests a light status bar using the SYSTEM_UI_FLAG_LIGHT_STATUS_BAR flag. When an app requests a light status bar, Android device implementations MUST change the color of the system status icons to black (for details, refer to <a href="http://developer.android.com/reference/android/R.style.html">R.style</a> ).
-      </p>
-      <h4 id="3_8_7_live_wallpapers">
-        3.8.7. Live Wallpapers
-      </h4>
-      <p>
-        Android defines a component type and corresponding API and lifecycle that allows applications to expose one or more <a href="http://developer.android.com/reference/android/service/wallpaper/WallpaperService.html">“Live Wallpapers”</a> to the end user. Live wallpapers are animations, patterns, or similar images with limited input capabilities that display as a wallpaper, behind other applications.
-      </p>
-      <p>
-        Hardware is considered capable of reliably running live wallpapers if it can run all live wallpapers, with no limitations on functionality, at a reasonable frame rate with no adverse effects on other applications. If limitations in the hardware cause wallpapers and/or applications to crash, malfunction, consume excessive CPU or battery power, or run at unacceptably low frame rates, the hardware is considered incapable of running live wallpaper. As an example, some live wallpapers may use an OpenGL 2.0 or 3.x context to render their content. Live wallpaper will not run reliably on hardware that does not support multiple OpenGL contexts because the live wallpaper use of an OpenGL context may conflict with other applications that also use an OpenGL context.
-      </p>
-      <p>
-        Device implementations capable of running live wallpapers reliably as described above SHOULD implement live wallpapers, and when implemented MUST report the platform feature flag android.software.live_wallpaper.
-      </p>
-      <h4 id="3_8_8_activity_switching">
-        3.8.8. Activity Switching
-      </h4>
-      <div class="note">
-        As the Recent function navigation key is OPTIONAL, the requirement to implement the overview screen is OPTIONAL for Android Watch and Android Automotive implementations, and RECOMMENDED for Android Television devices. There SHOULD still be a method to switch between activities on Android Automotive implementations.
-      </div>
-      <p>
-        The upstream Android source code includes the <a href="http://developer.android.com/guide/components/recents.html">overview screen</a> , a system-level user interface for task switching and displaying recently accessed activities and tasks using a thumbnail image of the application’s graphical state at the moment the user last left the application. Device implementations including the recents function navigation key as detailed in <a href="#7_2_3_navigation_keys">section 7.2.3</a> MAY alter the interface but MUST meet the following requirements:
-      </p>
-      <ul>
-        <li>MUST support at least up to 20 displayed activities.
-        </li>
-        <li>SHOULD display the titles of at least 4 activities at a time.
-        </li>
-        <li>MUST implement the <a href="http://developer.android.com/about/versions/android-5.0.html#ScreenPinning">screen pinning behavior</a> and provide the user with a settings menu to toggle the feature.
-        </li>
-        <li>SHOULD display highlight color, icon, screen title in recents.
-        </li>
-        <li>SHOULD display a closing affordance ("x") but MAY delay this until user interacts with screens.
-        </li>
-        <li>SHOULD implement a shortcut to switch easily to the previous activity
-        </li>
-        <li>MAY display affiliated recents as a group that moves together.
-        </li>
-      </ul>
-      <p>
-        Device implementations are STRONGLY RECOMMENDED to use the upstream Android user interface (or a similar thumbnail-based interface) for the overview screen.
-      </p>
-      <h4 id="3_8_9_input_management">
-        3.8.9. Input Management
-      </h4>
-      <p>
-        Android includes support for <a href="http://developer.android.com/guide/topics/text/creating-input-method.html">Input Management</a> and support for third-party input method editors. Device implementations that allow users to use third-party input methods on the device MUST declare the platform feature android.software.input_methods and support IME APIs as defined in the Android SDK documentation.
-      </p>
-      <p>
-        Device implementations that declare the android.software.input_methods feature MUST provide a user-accessible mechanism to add and configure third-party input methods. Device implementations MUST display the settings interface in response to the android.settings.INPUT_METHOD_SETTINGS intent.
-      </p>
-      <h4 id="3_8_10_lock_screen_media_control">
-        3.8.10. Lock Screen Media Control
-      </h4>
-      <p>
-        The Remote Control Client API is deprecated from Android 5.0 in favor of the <a href="http://developer.android.com/reference/android/app/Notification.MediaStyle.html">Media Notification Template</a> that allows media applications to integrate with playback controls that are displayed on the lock screen. Device implementations that support a lock screen, unless an Android Automotive or Watch implementation, MUST display the Lock screen Notifications including the Media Notification Template.
-      </p>
-      <h4 id="3_8_11_screen_savers_(previously_dreams)">
-        3.8.11. Screen savers (previously Dreams)
-      </h4>
-      <p>
-        Android includes support for <a href="http://developer.android.com/reference/android/service/dreams/DreamService.html">interactivescreensavers</a> , previously referred to as Dreams. Screen savers allow users to interact with applications when a device connected to a power source is idle or docked in a desk dock. Android Watch devices MAY implement screen savers, but other types of device implementations SHOULD include support for screen savers and provide a settings option for users toconfigure screen savers in response to the <code>android.settings.DREAM_SETTINGS</code> intent.
-      </p>
-      <h4 id="3_8_12_location">
-        3.8.12. Location
-      </h4>
-      <p>
-        When a device has a hardware sensor (e.g. GPS) that is capable of providing the location coordinates, <a href="http://developer.android.com/reference/android/provider/Settings.Secure.html#LOCATION_MODE">location modes</a> MUST be displayed in the Location menu within Settings.
-      </p>
-      <h4 id="3_8_13_unicode_and_font">
-        3.8.13. Unicode and Font
-      </h4>
-      <p>
-        Android includes support for the emoji characters defined in <a href="http://www.unicode.org/versions/Unicode9.0.0/">Unicode 9.0</a> . All device implementations MUST be capable of rendering these emoji characters in color glyph and when Android device implementations include an IME, it SHOULD provide an input method to the user for these emoji characters.
-      </p>
-      <p>
-        Android handheld devices SHOULD support the skin tone and diverse family emojis as specified in the <a href="http://unicode.org/reports/tr51">Unicode Technical Report #51</a> .
-      </p>
-      <p>
-        Android includes support for Roboto 2 font with different weights—sans-serif-thin, sans-serif-light, sans-serif-medium, sans-serif-black, sans-serif-condensed, sans-serif-condensed-light—which MUST all be included for the languages available on the device and full Unicode 7.0 coverage of Latin, Greek, and Cyrillic, including the Latin Extended A, B, C, and D ranges, and all glyphs in the currency symbols block of Unicode 7.0.
-      </p>
-      <h4 id="3_8_14_multi-windows">
-        3.8.14. Multi-windows
-      </h4>
-      <p>
-        A device implementation MAY choose not to implement any multi-window modes, but if it has the capability to display multiple activities at the same time it MUST implement such multi-window mode(s) in accordance with the application behaviors and APIs described in the Android SDK <a href="https://developer.android.com/preview/features/multi-window.html">multi-window mode support documentation</a> and meet the following requirements:
-      </p>
-      <ul>
-        <li>Applications can indicate whether they are capable of operating in multi-window mode in the AndroidManifest.xml file, either explicitly via the <a href="https://developer.android.com/reference/android/R.attr.html#resizeableActivity"><code>android:resizeableActivity</code></a> attribute or implicitly by having the targetSdkVersion &gt; 24. Apps that explicitly set this attribute to false in their manifest MUST not be launched in multi-window mode. Apps that don't set the attribute in their manifest file (targetSdkVersion &lt; 24) can be launched in multi-window mode, but the system MUST provide warning that the app may not work as expected in multi-window mode.
-        </li>
-        <li>Device implementations MUST NOT offer split-screen or freeform mode if both the screen height and width is less than 440 dp.
-        </li>
-        <li>Device implementations with screen size <code>xlarge</code> SHOULD support freeform mode.
-        </li>
-        <li>Android Television device implementations MUST support picture-in-picture (PIP) mode multi-window and place the PIP multi-window in the top right corner when PIP is ON.
-        </li>
-        <li>Device implementations with PIP mode multi-window support MUST allocate at least 240x135 dp for the PIP window.
-        </li>
-        <li>If the PIP multi-window mode is supported the <a href="https://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_WINDOW"><code>KeyEvent.KEYCODE_WINDOW</code></a> key MUST be used to control the PIP window; otherwise, the key MUST be available to the foreground activity.
-        </li>
-      </ul>
-      <h3 id="3_9_device_administration">
-        3.9. Device Administration
-      </h3>
-      <p>
-        Android includes features that allow security-aware applications to perform device administration functions at the system level, such as enforcing password policies or performing remote wipe, through the <a href="http://developer.android.com/guide/topics/admin/device-admin.html">Android Device Administration API</a> ]. Device implementations MUST provide an implementation of the <a href="http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html">DevicePolicyManager</a> class. Device implementations that supports a secure lock screen MUST implement the full range of <a href="http://developer.android.com/guide/topics/admin/device-admin.html">device administration</a> policies defined in the Android SDK documentation and report the platform feature android.software.device_admin.
-      </p>
-      <h4 id="3_9_1_device_provisioning">
-        3.9.1 Device Provisioning
-      </h4>
-      <h5 id="3_9_1_1_device_owner_provisioning">
-        3.9.1.1 Device owner provisioning
-      </h5>
-      <p>
-        If a device implementation declares the <code>android.software.device_admin</code> feature then it MUST implement the provisioning of the <a href="http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#isDeviceOwnerApp(java.lang.String)">Device Owner app</a> of a Device Policy Client (DPC) application as indicated below:
-      </p>
-      <ul>
-        <li>When the device implementation has no user data configured yet, it:
-          <ul>
-            <li>MUST report <code>true</code> for <a href="https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#isProvisioningAllowed(java.lang.String)"><code>DevicePolicyManager.isProvisioningAllowed(ACTION_PROVISION_MANAGED_DEVICE)</code></a> .
-            </li>
-            <li>MUST enroll the DPC application as the Device Owner app in response to the intent action <a href="http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#ACTION_PROVISION_MANAGED_DEVICE"><code>android.app.action.PROVISION_MANAGED_DEVICE</code></a> .
-            </li>
-            <li>MUST enroll the DPC application as the Device Owner app if the device declares Near-Field Communications (NFC) support via the feature flag <code>android.hardware.nfc</code> and receives an NFC message containing a record with MIME type <a href="https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#MIME_TYPE_PROVISIONING_NFC"><code>MIME_TYPE_PROVISIONING_NFC</code></a> .
-            </li>
-          </ul>
-        </li>
-        <li>When the device implementation has user data, it:
-          <ul>
-            <li>MUST report <code>false</code> for the <a href="https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#isProvisioningAllowed(java.lang.String)"><code>DevicePolicyManager.isProvisioningAllowed(ACTION_PROVISION_MANAGED_DEVICE)</code></a> .
-            </li>
-            <li>MUST not enroll any DPC application as the Device Owner App any more.
-            </li>
-          </ul>
-        </li>
-      </ul>
-      <p>
-        Device implementations MAY have a preinstalled application performing device administration functions but this application MUST NOT be set as the Device Owner app without explicit consent or action from the user or the administrator of the device.
-      </p>
-      <h5 id="3_9_1_2_managed_profile_provisioning">
-        3.9.1.2 Managed profile provisioning
-      </h5>
-      <p>
-        If a device implementation declares the android.software.managed_users, it MUST be possible to enroll a Device Policy Controller (DPC) application as the <a href="http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#isProfileOwnerApp(java.lang.String)">owner of a new Managed Profile</a> .
-      </p>
-      <p>
-        The managed profile provisioning process (the flow initiated by <a href="http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#ACTION_PROVISION_MANAGED_PROFILE">android.app.action.PROVISION_MANAGED_PROFILE</a> ) user experience MUST align with the AOSP implementation.
-      </p>
-      <p>
-        Device implementations MUST provide the following user affordances within the Settings user interface to indicate to the user when a particular system function has been disabled by the Device Policy Controller (DPC):
-      </p>
-      <ul>
-        <li>A consistent icon or other user affordance (for example the upstream AOSP info icon) to represent when a particular setting is restricted by a Device Admin.
-        </li>
-        <li>A short explanation message, as provided by the Device Admin via the <a href="https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#setShortSupportMessage%28android.content.ComponentName,%20java.lang.CharSequence%29"><code>setShortSupportMessage</code></a> .
-        </li>
-        <li>The DPC application’s icon.
-        </li>
-      </ul>
-      <h3 id="3_9_2_managed_profile_support">
-        3.9.2 Managed Profile Support
-      </h3>
-      <p>
-        Managed profile capable devices are those devices that:
-      </p>
-      <ul>
-        <li>Declare android.software.device_admin (see <a href="#3_9_device_administration">section 3.9 Device Administration</a> ).
-        </li>
-        <li>Are not low RAM devices (see <a href="#7_6_1_minimum_memory_and_storage">section 7.6.1</a> ).
-        </li>
-        <li>Allocate internal (non-removable) storage as shared storage (see <a href="#7_6_2_application_shared_storage">section 7.6.2</a> ).
-        </li>
-      </ul>
-      <p>
-        Managed profile capable devices MUST:
-      </p>
-      <ul>
-        <li>Declare the platform feature flag <code>android.software.managed_users</code> .
-        </li>
-        <li>Support managed profiles via the <code>android.app.admin.DevicePolicyManager</code> APIs.
-        </li>
-        <li>Allow one and only <a href="http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#ACTION_PROVISION_MANAGED_PROFILE">one managed profile to be created</a> .
-        </li>
-        <li>Use an icon badge (similar to the AOSP upstream work badge) to represent the managed applications and widgets and other badged UI elements like Recents &amp; Notifications.
-        </li>
-        <li>Display a notification icon (similar to the AOSP upstream work badge) to indicate when user is within a managed profile application.
-        </li>
-        <li>Display a toast indicating that the user is in the managed profile if and when the device wakes up (ACTION_USER_PRESENT) and the foreground application is within the managed profile.
-        </li>
-        <li>Where a managed profile exists, show a visual affordance in the Intent 'Chooser' to allow the user to forward the intent from the managed profile to the primary user or vice versa, if enabled by the Device Policy Controller.
-        </li>
-        <li>Where a managed profile exists, expose the following user affordances for both the primary user and the managed profile:
-          <ul>
-            <li>Separate accounting for battery, location, mobile data and storage usage for the primary user and managed profile.
-            </li>
-            <li>Independent management of VPN Applications installed within the primary user or managed profile.
-            </li>
-            <li>Independent management of applications installed within the primary user or managed profile.
-            </li>
-            <li>Independent management of accounts within the primary user or managed profile.
-            </li>
-          </ul>
-        </li>
-        <li>Ensure the preinstalled dialer, contacts and messaging applications can search for and look up caller information from the managed profile (if one exists) alongside those from the primary profile, if the Device Policy Controller permits it. When contacts from the managed profile are displayed in the preinstalled call log, in-call UI, in-progress and missed-call notifications, contacts and messaging apps they SHOULD be badged with the same badge used to indicate managed profile applications.
-        </li>
-        <li>MUST ensure that it satisfies all the security requirements applicable for a device with multiple users enabled (see <a href="#9_5_multi-user_support">section 9.5</a> ), even though the managed profile is not counted as another user in addition to the primary user.
-        </li>
-        <li>Support the ability to specify a separate lock screen meeting the following requirements to grant access to apps running in a managed profile.
-          <ul>
-            <li>Device implementations MUST honor the <a href="https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#ACTION_SET_NEW_PASSWORD"><code>DevicePolicyManager.ACTION_SET_NEW_PASSWORD</code></a> intent and show an interface to configure a separate lock screen credential for the managed profile.
-            </li>
-            <li>The lock screen credentials of the managed profile MUST use the same credential storage and management mechanisms as the parent profile, as documented on the <a href="http://source.android.com/security/authentication/index.html">Android Open Source Project Site</a>
-            </li>
-            <li>The DPC <a href="https://developer.android.com/guide/topics/admin/device-admin.html#pwd">password policies</a> MUST apply to only the managed profile's lock screen credentials unless called upon the <code>DevicePolicyManager</code> instance returned by <a href="https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#getParentProfileInstance%28android.content.ComponentName%29">getParentProfileInstance</a> .
-            </li>
-          </ul>
-        </li>
-      </ul>
-      <h3 id="3_10_accessibility">
-        3.10. Accessibility
-      </h3>
-      <p>
-        Android provides an accessibility layer that helps users with disabilities to navigate their devices more easily. In addition, Android provides platform APIs that enable <a href="http://developer.android.com/reference/android/accessibilityservice/AccessibilityService.html">accessibility service implementations</a> to receive callbacks for user and system events and generate alternate feedback mechanisms, such as text-to-speech, haptic feedback, and trackball/d-pad navigation.
-      </p>
-      <p>
-        Device implementations include the following requirements:
-      </p>
-      <ul>
-        <li>Android Automotive implementations SHOULD provide an implementation of the Android accessibility framework consistent with the default Android implementation.
-        </li>
-        <li>Device implementations (Android Automotive excluded) MUST provide an implementation of the Android accessibility framework consistent with the default Android implementation.
-        </li>
-        <li>Device implementations (Android Automotive excluded) MUST support third-party accessibility service implementations through the <a href="http://developer.android.com/reference/android/view/accessibility/package-summary.html">android.accessibilityservice APIs</a> .
-        </li>
-        <li>Device implementations (Android Automotive excluded) MUST generate AccessibilityEvents and deliver these events to all registered AccessibilityService implementations in a manner consistent with the default Android implementation
-        </li>
-        <li>
-          <p>
-            Device implementations (Android Automotive and Android Watch devices with no audio output excluded), MUST provide a user-accessible mechanism to enable and disable accessibility services, and MUST display this interface in response to the android.provider.Settings.ACTION_ACCESSIBILITY_SETTINGS intent.
-          </p>
-        </li>
-        <li>
-          <p>
-            Android device implementations with audio output are STRONGLY RECOMMENDED to provide implementations of accessibility services on the device comparable in or exceeding functionality of the TalkBack** and Switch Access accessibility services (https://github.com/google/talkback).
-          </p>
-        </li>
-        <li>Android Watch devices with audio output SHOULD provide implementations of an accessibility service on the device comparable in or exceeding functionality of the TalkBack accessibility service (https://github.com/google/talkback).
-        </li>
-        <li>Device implementations SHOULD provide a mechanism in the out-of-box setup flow for users to enable relevant accessibility services, as well as options to adjust the font size, display size and magnification gestures.
-        </li>
-      </ul>
-      <p>
-        ** For languages supported by Text-to-speech.
-      </p>
-      <p>
-        Also, note that if there is a preloaded accessibility service, it MUST be a Direct Boot aware {directBootAware} app if the device has encrypted storage using File Based Encryption (FBE).
-      </p>
-      <h3 id="3_11_text-to-speech">
-        3.11. Text-to-Speech
-      </h3>
-      <p>
-        Android includes APIs that allow applications to make use of text-to-speech (TTS) services and allows service providers to provide implementations of TTS services. Device implementations reporting the feature android.hardware.audio.output MUST meet these requirements related to the <a href="http://developer.android.com/reference/android/speech/tts/package-summary.html">Android TTS framework</a> .
-      </p>
-      <p>
-        Android Automotive implementations:
-      </p>
-      <ul>
-        <li>MUST support the Android TTS framework APIs.
-        </li>
-        <li>MAY support installation of third-party TTS engines. If supported, partners MUST provide a user-accessible interface that allows the user to select a TTS engine for use at system level.
-        </li>
-      </ul>
-      <p>
-        All other device implementations:
-      </p>
-      <ul>
-        <li>MUST support the Android TTS framework APIs and SHOULD include a TTS engine supporting the languages available on the device. Note that the upstream Android open source software includes a full-featured TTS engine implementation.
-        </li>
-        <li>MUST support installation of third-party TTS engines.
-        </li>
-        <li>MUST provide a user-accessible interface that allows users to select a TTS engine for use at the system level.
-        </li>
-      </ul>
-      <h3 id="3_12_tv_input_framework">
-        3.12. TV Input Framework
-      </h3>
-      <p>
-        The <a href="http://source.android.com/devices/tv/index.html">Android Television Input Framework (TIF)</a> simplifies the delivery of live content to Android Television devices. TIF provides a standard API to create input modules that control Android Television devices. Android Television device implementations MUST support TV Input Framework.
-      </p>
-      <p>
-        Device implementations that support TIF MUST declare the platform feature android.software.live_tv.
-      </p>
-      <h4 id="3_12_1_tv_app">
-        3.12.1. TV App
-      </h4>
-      <p>
-        Any device implementation that declares support for Live TV MUST have an installed TV application (TV App). The Android Open Source Project provides an implementation of the TV App.
-      </p>
-      <p>
-        The TV App MUST provide facilities to install and use <a href="http://developer.android.com/reference/android/media/tv/TvContract.Channels.html">TV Channels</a> and meet the following requirements:
-      </p>
-      <ul>
-        <li>Device implementations MUST allow third-party TIF-based inputs ( <a href="https://source.android.com/devices/tv/index.html#third-party_input_example">third-party inputs</a> ) to be installed and managed.
-        </li>
-        <li>Device implementations MAY provide visual separation between pre-installed <a href="https://source.android.com/devices/tv/index.html#tv_inputs">TIF-based inputs</a> (installed inputs) and third-party inputs.
-        </li>
-        <li>Device implementations MUST NOT display the third-party inputs more than a single navigation action away from the TV App (i.e. expanding a list of third-party inputs from the TV App).
-        </li>
-      </ul>
-      <h5 id="3_12_1_1_electronic_program_guide">
-        3.12.1.1. Electronic Program Guide
-      </h5>
-      <p>
-        Android Television device implementations MUST show an informational and interactive overlay, which MUST include an electronic program guide (EPG) generated from the values in the <a href="https://developer.android.com/reference/android/media/tv/TvContract.Programs.html">TvContract.Programs</a> fields. The EPG MUST meet the following requirements:
-      </p>
-      <ul>
-        <li>The EPG MUST display information from all installed inputs and third-party inputs.
-        </li>
-        <li>The EPG MAY provide visual separation between the installed inputs and third-party inputs.
-        </li>
-        <li>The EPG is STRONGLY RECOMMENDED to display installed inputs and third-party inputs with equal prominence. The EPG MUST NOT display the third-party inputs more than a single navigation action away from the installed inputs on the EPG.
-        </li>
-        <li>On channel change, device implementations MUST display EPG data for the currently playing program.
-        </li>
-      </ul>
-      <h5 id="3_12_1_2_navigation">
-        3.12.1.2. Navigation
-      </h5>
-      <p>
-        The TV App MUST allow navigation for the following functions via the D-pad, Back, and Home keys on the Android Television device’s input device(s) (i.e. remote control, remote control application, or game controller):
-      </p>
-      <ul>
-        <li>Changing TV channels
-        </li>
-        <li>Opening EPG
-        </li>
-        <li>Configuring and tuning to third-party TIF-based inputs
-        </li>
-        <li>Opening Settings menu
-        </li>
-      </ul>
-      <p>
-        The TV App SHOULD pass key events to HDMI inputs through CEC.
-      </p>
-      <h5 id="3_12_1_3_tv_input_app_linking">
-        3.12.1.3. TV input app linking
-      </h5>
-      <p>
-        Android Television device implementations MUST support <a href="http://developer.android.com/reference/android/media/tv/TvContract.Channels.html#COLUMN_APP_LINK_INTENT_URI">TV input app linking</a> , which allows all inputs to provide activity links from the current activity to another activity (i.e. a link from live programming to related content). The TV App MUST show TV input app linking when it is provided.
-      </p>
-      <h5 id="3_12_1_4_time_shifting">
-        3.12.1.4. Time shifting
-      </h5>
-      <p>
-        Android Television device implementations MUST support time shifting, which allows the user to pause and resume live content. Device implementations MUST provide the user a way to pause and resume the currently playing program, if time shifting for that program <a href="https://developer.android.com/reference/android/media/tv/TvInputManager.html#TIME_SHIFT_STATUS_AVAILABLE">is available</a> .
-      </p>
-      <h5 id="3_12_1_5_tv_recording">
-        3.12.1.5. TV recording
-      </h5>
-      <p>
-        Android Television device implementations are STRONGLY RECOMMENDED to support TV recording. If the TV input supports recording, the EPG MAY provide a way to <a href="https://developer.android.com/reference/android/media/tv/TvInputInfo.html#canRecord%28%29">record a program</a> if the recording of such a program is not <a href="https://developer.android.com/reference/android/media/tv/TvContract.Programs.html#COLUMN_RECORDING_PROHIBITED">prohibited</a> . Device implementations SHOULD provide a user interface to play recorded programs.
-      </p>
-      <h3 id="3_13_quick_settings">
-        3.13. Quick Settings
-      </h3>
-      <p>
-        Android device implementations SHOULD include a Quick Settings UI component that allow quick access to frequently used or urgently needed actions.
-      </p>
-      <p>
-        Android includes the <a href="https://developer.android.com/reference/android/service/quicksettings/package-summary.html"><code>quicksettings</code></a> API allowing third party apps to implement tiles that can be added by the user alongside the system-provided tiles in the Quick Settings UI component. If a device implementation has a Quick Settings UI component, it:
-      </p>
-      <ul>
-        <li>MUST allow the user to add or remove tiles from a third-party app to Quick Settings.
-        </li>
-        <li>MUST NOT automatically add a tile from a third-party app directly to Quick Settings.
-        </li>
-        <li>MUST display all the user-added tiles from third-party apps alongside the system-provided quick setting tiles.
-        </li>
-      </ul>
-      <h3 id="3_14_vehicle_ui_apis">
-        3.14. Vehicle UI APIs
-      </h3>
-      <h4 id="3_14_1__vehicle_media_ui">
-        3.14.1. Vehicle Media UI
-      </h4>
-      <p>
-        Any device implementation that <a href="https://developer.android.com/reference/android/content/pm/PackageManager.html?#FEATURE_AUTOMOTIVE?">declares automotive support</a> MUST include a UI framework to support third-party apps consuming the <a href="http://developer.android.com/reference/android/media/browse/MediaBrowser.html">MediaBrowser</a> and <a href="http://developer.android.com/reference/android/media/session/MediaSession.html">MediaSession</a> APIs.
-      </p>
-      <p>
-        The UI framework supporting third-party apps that depend on MediaBrowser and MediaSession has the following visual requirements:
-      </p>
-      <ul>
-        <li>MUST display <a href="http://developer.android.com/reference/android/media/browse/MediaBrowser.MediaItem.html">MediaItem</a> icons and notification icons unaltered.
-        </li>
-        <li>MUST display those items as described by MediaSession, e.g., metadata, icons, imagery.
-        </li>
-        <li>MUST show app title.
-        </li>
-        <li>MUST have drawer to present <a href="http://developer.android.com/reference/android/media/browse/MediaBrowser.html">MediaBrowser</a> hierarchy.
-        </li>
-      </ul>
-      <h2 id="4_application_packaging_compatibility">
-        4. Application Packaging Compatibility
-      </h2>
-      <p>
-        Device implementations MUST install and run Android “.apk” files as generated by the “aapt” tool included in the <a href="http://developer.android.com/tools/help/index.html">official Android SDK</a> . For this reason device implementations SHOULD use the reference implementation’s package management system.
-      </p>
-      <p>
-        The package manager MUST support verifying “.apk” files using the <a href="https://source.android.com/security/apksigning/v2.html">APK Signature Scheme v2</a> .
-      </p>
-      <p>
-        Devices implementations MUST NOT extend either the <a href="http://developer.android.com/guide/components/fundamentals.html">.apk</a> , <a href="http://developer.android.com/guide/topics/manifest/manifest-intro.html">Android Manifest</a> , <a href="https://android.googlesource.com/platform/dalvik/">Dalvik bytecode</a> , or RenderScript bytecode formats in such a way that would prevent those files from installing and running correctly on other compatible devices.
-      </p>
-      <p>
-        Device implementations MUST NOT allow apps other than the current "installer of record" for the package to silently uninstall the app without any prompt, as documented in the SDK for the <a href="https://developer.android.com/reference/android/Manifest.permission.html#DELETE_PACKAGES"><code>DELETE_PACKAGE</code></a> permission. The only exceptions are the system package verifier app handling <a href="https://developer.android.com/reference/android/content/Intent.html#ACTION_PACKAGE_NEEDS_VERIFICATION">PACKAGE_NEEDS_VERIFICATION</a> intent and the storage manager app handling <a href="https://developer.android.com/reference/android/os/storage/StorageManager.html#ACTION_MANAGE_STORAGE">ACTION_MANAGE_STORAGE</a> intent.
-      </p>
-      <h2 id="5_multimedia_compatibility">
-        5. Multimedia Compatibility
-      </h2>
-      <h3 id="5_1_media_codecs">
-        5.1. Media Codecs
-      </h3>
-      <p>
-        Device implementations—
-      </p>
-      <ul>
-        <li>
-          <p>
-            MUST support the <a href="http://developer.android.com/guide/appendix/media-formats.html">core media formats</a> specified in the Android SDK documentation, except where explicitly permitted in this document.
-          </p>
-        </li>
-        <li>
-          <p>
-            MUST support the media formats, encoders, decoders, file types, and container formats defined in the tables below and reported via <a href="http://developer.android.com/reference/android/media/MediaCodecList.html">MediaCodecList</a> .
-          </p>
-        </li>
-        <li>
-          <p>
-            MUST also be able to decode all profiles reported in its <a href="http://developer.android.com/reference/android/media/CamcorderProfile.html">CamcorderProfile</a>
-          </p>
-        </li>
-        <li>
-          <p>
-            MUST be able to decode all formats it can encode. This includes all bitstreams that its encoders generate.
-          </p>
-        </li>
-      </ul>
-      <p>
-        Codecs SHOULD aim for minimum codec latency, in other words, codecs—
-      </p>
-      <ul>
-        <li>SHOULD NOT consume and store input buffers and return input buffers only once processed
-        </li>
-        <li>SHOULD NOT hold onto decoded buffers for longer than as specified by the standard (e.g. SPS).
-        </li>
-        <li>SHOULD NOT hold onto encoded buffers longer than required by the GOP structure.
-        </li>
-      </ul>
-      <p>
-        All of the codecs listed in the table below are provided as software implementations in the preferred Android implementation from the Android Open Source Project.
-      </p>
-      <p>
-        Please note that neither Google nor the Open Handset Alliance make any representation that these codecs are free from third-party patents. Those intending to use this source code in hardware or software products are advised that implementations of this code, including in open source software or shareware, may require patent licenses from the relevant patent holders.
-      </p>
-      <h4 id="5_1_1_audio_codecs">
-        5.1.1. Audio Codecs
-      </h4>
-      <table>
-        <tr>
-          <th>
-            Format/Codec
-          </th>
-          <th>
-            Encoder
-          </th>
-          <th>
-            Decoder
-          </th>
-          <th>
-            Details
-          </th>
-          <th>
-            Supported File Types/Container Formats
-          </th>
-        </tr>
-        <tr>
-          <td>
-            MPEG-4 AAC Profile<br />
-            (AAC LC)
-          </td>
-          <td>
-            REQUIRED <sup>1</sup>
-          </td>
-          <td>
-            REQUIRED
-          </td>
-          <td>
-            Support for mono/stereo/5.0/5.1 <sup>2</sup> content with standard sampling rates from 8 to 48 kHz.
-          </td>
-          <td>
-            <ul>
-              <li class="table_list">3GPP (.3gp)
-              </li>
-              <li class="table_list">MPEG-4 (.mp4, .m4a)
-              </li>
-              <li class="table_list">ADTS raw AAC (.aac, decode in Android 3.1+, encode in Android 4.0+, ADIF not supported)
-              </li>
-              <li class="table_list">MPEG-TS (.ts, not seekable, Android 3.0+)
-              </li>
-            </ul>
-          </td>
-        </tr>
-        <tr>
-          <td>
-            MPEG-4 HE AAC Profile (AAC+)
-          </td>
-          <td>
-            REQUIRED <sup>1</sup><br />
-            (Android 4.1+)
-          </td>
-          <td>
-            REQUIRED
-          </td>
-          <td>
-            Support for mono/stereo/5.0/5.1 <sup>2</sup> content with standard sampling rates from 16 to 48 kHz.
-          </td>
-          <td></td>
-        </tr>
-        <tr>
-          <td>
-            MPEG-4 HE AACv2<br />
-            Profile (enhanced AAC+)
-          </td>
-          <td></td>
-          <td>
-            REQUIRED
-          </td>
-          <td>
-            Support for mono/stereo/5.0/5.1 <sup>2</sup> content with standard sampling rates from 16 to 48 kHz.
-          </td>
-          <td></td>
-        </tr>
-        <tr>
-          <td>
-            AAC ELD (enhanced low delay AAC)
-          </td>
-          <td>
-            REQUIRED <sup>1</sup><br />
-            (Android 4.1+)
-          </td>
-          <td>
-            REQUIRED<br />
-            (Android 4.1+)
-          </td>
-          <td>
-            Support for mono/stereo content with standard sampling rates from 16 to 48 kHz.
-          </td>
-          <td></td>
-        </tr>
-        <tr>
-          <td>
-            AMR-NB
-          </td>
-          <td>
-            REQUIRED <sup>3</sup>
-          </td>
-          <td>
-            REQUIRED <sup>3</sup>
-          </td>
-          <td>
-            4.75 to 12.2 kbps sampled @ 8 kHz
-          </td>
-          <td>
-            3GPP (.3gp)
-          </td>
-        </tr>
-        <tr>
-          <td>
-            AMR-WB
-          </td>
-          <td>
-            REQUIRED <sup>3</sup>
-          </td>
-          <td>
-            REQUIRED <sup>3</sup>
-          </td>
-          <td>
-            9 rates from 6.60 kbit/s to 23.85 kbit/s sampled @ 16 kHz
-          </td>
-          <td></td>
-        </tr>
-        <tr>
-          <td>
-            FLAC
-          </td>
-          <td></td>
-          <td>
-            REQUIRED<br />
-            (Android 3.1+)
-          </td>
-          <td>
-            Mono/Stereo (no multichannel). Sample rates up to 48 kHz (but up to 44.1 kHz is RECOMMENDED on devices with 44.1 kHz output, as the 48 to 44.1 kHz downsampler does not include a low-pass filter). 16-bit RECOMMENDED; no dither applied for 24-bit.
-          </td>
-          <td>
-            FLAC (.flac) only
-          </td>
-        </tr>
-        <tr>
-          <td>
-            MP3
-          </td>
-          <td></td>
-          <td>
-            REQUIRED
-          </td>
-          <td>
-            Mono/Stereo 8-320Kbps constant (CBR) or variable bitrate (VBR)
-          </td>
-          <td>
-            MP3 (.mp3)
-          </td>
-        </tr>
-        <tr>
-          <td>
-            MIDI
-          </td>
-          <td></td>
-          <td>
-            REQUIRED
-          </td>
-          <td>
-            MIDI Type 0 and 1. DLS Version 1 and 2. XMF and Mobile XMF. Support for ringtone formats RTTTL/RTX, OTA, and iMelody
-          </td>
-          <td>
-            <ul>
-              <li class="table_list">Type 0 and 1 (.mid, .xmf, .mxmf)
-              </li>
-              <li class="table_list">RTTTL/RTX (.rtttl, .rtx)
-              </li>
-              <li class="table_list">OTA (.ota)
-              </li>
-              <li class="table_list">iMelody (.imy)
-              </li>
-            </ul>
-          </td>
-        </tr>
-        <tr>
-          <td>
-            Vorbis
-          </td>
-          <td></td>
-          <td>
-            REQUIRED
-          </td>
-          <td></td>
-          <td>
-            <ul>
-              <li class="table_list">Ogg (.ogg)
-              </li>
-              <li class="table_list">Matroska (.mkv, Android 4.0+)
-              </li>
-            </ul>
-          </td>
-        </tr>
-        <tr>
-          <td>
-            PCM/WAVE
-          </td>
-          <td>
-            REQUIRED <sup>4</sup><br />
-            (Android 4.1+)
-          </td>
-          <td>
-            REQUIRED
-          </td>
-          <td>
-            16-bit linear PCM (rates up to limit of hardware). Devices MUST support sampling rates for raw PCM recording at 8000, 11025, 16000, and 44100 Hz frequencies.
-          </td>
-          <td>
-            WAVE (.wav)
-          </td>
-        </tr>
-        <tr>
-          <td>
-            Opus
-          </td>
-          <td></td>
-          <td>
-            REQUIRED<br />
-            (Android 5.0+)
-          </td>
-          <td></td>
-          <td>
-            Matroska (.mkv), Ogg(.ogg)
-          </td>
-        </tr>
-      </table>
-      <p class="table_footnote">
-        1 Required for device implementations that define android.hardware.microphone but optional for Android Watch device implementations.
-      </p>
-      <p class="table_footnote">
-        2 Recording or playback MAY be performed in mono or stereo, but the decoding of AAC input buffers of multichannel streams (i.e. more than two channels) to PCM through the default AAC audio decoder in the android.media.MediaCodec API, the following MUST be supported:
-      </p>
-      <ul>
-        <li>decoding is performed without downmixing (e.g. a 5.0 AAC stream must be decoded to five channels of PCM, a 5.1 AAC stream must be decoded to six channels of PCM),
-        </li>
-        <li>dynamic range metadata, as defined in "Dynamic Range Control (DRC)" in ISO/IEC 14496-3, and the android.media.MediaFormat DRC keys to configure the dynamic range-related behaviors of the audio decoder. The AAC DRC keys were introduced in API 21,and are: KEY_AAC_DRC_ATTENUATION_FACTOR, KEY_AAC_DRC_BOOST_FACTOR, KEY_AAC_DRC_HEAVY_COMPRESSION, KEY_AAC_DRC_TARGET_REFERENCE_LEVEL and KEY_AAC_ENCODED_TARGET_LEVEL
-        </li>
-      </ul>
-      <p class="table_footnote">
-        3 Required for Android Handheld device implementations.
-      </p>
-      <p class="table_footnote">
-        4 Required for device implementations that define android.hardware.microphone, including Android Watch device implementations.
-      </p>
-      <h4 id="5_1_2_image_codecs">
-        5.1.2. Image Codecs
-      </h4>
-      <table>
-        <tr>
-          <th>
-            Format/Codec
-          </th>
-          <th>
-            Encoder
-          </th>
-          <th>
-            Decoder
-          </th>
-          <th>
-            Details
-          </th>
-          <th>
-            Supported File Types/Container Formats
-          </th>
-        </tr>
-        <tr>
-          <td>
-            JPEG
-          </td>
-          <td>
-            REQUIRED
-          </td>
-          <td>
-            REQUIRED
-          </td>
-          <td>
-            Base+progressive
-          </td>
-          <td>
-            JPEG (.jpg)
-          </td>
-        </tr>
-        <tr>
-          <td>
-            GIF
-          </td>
-          <td></td>
-          <td>
-            REQUIRED
-          </td>
-          <td></td>
-          <td>
-            GIF (.gif)
-          </td>
-        </tr>
-        <tr>
-          <td>
-            PNG
-          </td>
-          <td>
-            REQUIRED
-          </td>
-          <td>
-            REQUIRED
-          </td>
-          <td></td>
-          <td>
-            PNG (.png)
-          </td>
-        </tr>
-        <tr>
-          <td>
-            BMP
-          </td>
-          <td></td>
-          <td>
-            REQUIRED
-          </td>
-          <td></td>
-          <td>
-            BMP (.bmp)
-          </td>
-        </tr>
-        <tr>
-          <td>
-            WebP
-          </td>
-          <td>
-            REQUIRED
-          </td>
-          <td>
-            REQUIRED
-          </td>
-          <td></td>
-          <td>
-            WebP (.webp)
-          </td>
-        </tr>
-        <tr>
-          <td>
-            Raw
-          </td>
-          <td></td>
-          <td>
-            REQUIRED
-          </td>
-          <td></td>
-          <td>
-            ARW (.arw), CR2 (.cr2), DNG (.dng), NEF (.nef), NRW (.nrw), ORF (.orf), PEF (.pef), RAF (.raf), RW2 (.rw2), SRW (.srw)
-          </td>
-        </tr>
-      </table>
-      <h4 id="5_1_3_video_codecs">
-        5.1.3. Video Codecs
-      </h4>
-      <ul>
-        <li>
-          <p>
-            Codecs advertising HDR profile support MUST support HDR static metadata parsing and handling.
-          </p>
-        </li>
-        <li>
-          <p>
-            If a media codec advertises intra refresh support, then it MUST support the refresh periods in the range of 10 - 60 frames and accurately operate within 20% of configured refresh period.
-          </p>
-        </li>
-        <li>
-          <p>
-            Video codecs MUST support output and input bytebuffer sizes that accommodate the largest feasible compressed and uncompressed frame as dictated by the standard and configuration but also not overallocate.
-          </p>
-        </li>
-        <li>
-          <p>
-            Video encoders and decoders MUST support YUV420 flexible color format (COLOR_FormatYUV420Flexible).
-          </p>
-        </li>
-      </ul>
-      <table>
-        <tr>
-          <th>
-            Format/Codec
-          </th>
-          <th>
-            Encoder
-          </th>
-          <th>
-            Decoder
-          </th>
-          <th>
-            Details
-          </th>
-          <th>
-            Supported File Types/<br />
-            Container Formats
-          </th>
-        </tr>
-        <tr>
-          <td>
-            H.263
-          </td>
-          <td>
-            MAY
-          </td>
-          <td>
-            MAY
-          </td>
-          <td></td>
-          <td>
-            <ul>
-              <li class="table_list">3GPP (.3gp)
-              </li>
-              <li class="table_list">MPEG-4 (.mp4)
-              </li>
-            </ul>
-          </td>
-        </tr>
-        <tr>
-          <td>
-            H.264 AVC
-          </td>
-          <td>
-            REQUIRED <sup>2</sup>
-          </td>
-          <td>
-            REQUIRED <sup>2</sup>
-          </td>
-          <td>
-            See <a href="#5_2_video_encoding">section 5.2</a> and <a href="#5_3_video_decoding">5.3</a> for details
-          </td>
-          <td>
-            <ul>
-              <li class="table_list">3GPP (.3gp)
-              </li>
-              <li class="table_list">MPEG-4 (.mp4)
-              </li>
-              <li class="table_list">MPEG-2 TS (.ts, AAC audio only, not seekable, Android 3.0+)
-              </li>
-            </ul>
-          </td>
-        </tr>
-        <tr>
-          <td>
-            H.265 HEVC
-          </td>
-          <td></td>
-          <td>
-            REQUIRED <sup>5</sup>
-          </td>
-          <td>
-            See <a href="#5_3_video_decoding">section 5.3</a> for details
-          </td>
-          <td>
-            MPEG-4 (.mp4)
-          </td>
-        </tr>
-        <tr>
-          <td>
-            MPEG-2
-          </td>
-          <td></td>
-          <td>
-            STRONGLY RECOMMENDED <sup>6</sup>
-          </td>
-          <td>
-            Main Profile
-          </td>
-          <td>
-            MPEG2-TS
-          </td>
-        </tr>
-        <tr>
-          <td>
-            MPEG-4 SP
-          </td>
-          <td></td>
-          <td>
-            REQUIRED <sup>2</sup>
-          </td>
-          <td></td>
-          <td>
-            3GPP (.3gp)
-          </td>
-        </tr>
-        <tr>
-          <td>
-            VP8 <sup>3</sup>
-          </td>
-          <td>
-            REQUIRED <sup>2</sup><br />
-            (Android 4.3+)
-          </td>
-          <td>
-            REQUIRED <sup>2</sup><br />
-            (Android 2.3.3+)
-          </td>
-          <td>
-            See <a href="#5_2_video_encoding">section 5.2</a> and <a href="#5_3_video_decoding">5.3</a> for details
-          </td>
-          <td>
-            <ul>
-              <li class="table_list">
-                <a href="http://www.webmproject.org/">WebM (.webm)</a>
-              </li>
-              <li class="table_list">Matroska (.mkv, Android 4.0+) <sup>4</sup>
-              </li>
-            </ul>
-          </td>
-        </tr>
-        <tr>
-          <td>
-            VP9
-          </td>
-          <td></td>
-          <td>
-            REQUIRED <sup>2</sup><br />
-            (Android 4.4+)
-          </td>
-          <td>
-            See <a href="#5_3_video_decoding">section 5.3</a> for details
-          </td>
-          <td>
-            <ul>
-              <li class="table_list">
-                <a href="http://www.webmproject.org/">WebM (.webm)</a>
-              </li>
-              <li class="table_list">Matroska (.mkv, Android 4.0+) <sup>4</sup>
-              </li>
-            </ul>
-          </td>
-        </tr>
-      </table>
-      <p class="table_footnote">
-        1 Required for device implementations that include camera hardware and define android.hardware.camera or android.hardware.camera.front.
-      </p>
-      <p class="table_footnote">
-        2 Required for device implementations except Android Watch devices.
-      </p>
-      <p class="table_footnote">
-        3 For acceptable quality of web video streaming and video-conference services, device implementations SHOULD use a hardware VP8 codec that meets the <a href="http://www.webmproject.org/hardware/rtc-coding-requirements/">requirements</a> .
-      </p>
-      <p class="table_footnote">
-        4 Device implementations SHOULD support writing Matroska WebM files.
-      </p>
-      <p class="table_footnote">
-        5 STRONGLY RECOMMENDED for Android Automotive, optional for Android Watch, and required for all other device types.
-      </p>
-      <p class="table_footnote">
-        6 Applies only to Android Television device implementations.
-      </p>
-      <h3 id="5_2_video_encoding">
-        5.2. Video Encoding
-      </h3>
-      <div class="note">
-        Video codecs are optional for Android Watch device implementations.
-      </div>
-      <p>
-        H.264, VP8, VP9 and HEVC video encoders—
-      </p>
-      <ul>
-        <li>MUST support dynamically configurable bitrates.
-        </li>
-        <li>SHOULD support variable frame rates, where video encoder SHOULD determine instantaneous frame duration based on the timestamps of input buffers, and allocate its bit bucket based on that frame duration.
-        </li>
-      </ul>
-      <p>
-        H.263 and MPEG-4 video encoder SHOULD support dynamically configurable bitrates.
-      </p>
-      <p>
-        All video encoders SHOULD meet the following bitrate targets over two sliding windows:
-      </p>
-      <ul>
-        <li>It SHOULD be not more than ~15% over the bitrate between intraframe (I-frame) intervals.
-        </li>
-        <li>It SHOULD be not more than ~100% over the bitrate over a sliding window of 1 second.
-        </li>
-      </ul>
-      <h4 id="5_2_1_h_263">
-        5.2.1. H.263
-      </h4>
-      <p>
-        Android device implementations with H.263 encoders MUST support Baseline Profile Level 45.
-      </p>
-      <h4 id="5_2_2_h-264">
-        5.2.2. H-264
-      </h4>
-      <p>
-        Android device implementations with H.264 codec support:
-      </p>
-      <ul>
-        <li>MUST support Baseline Profile Level 3.<br />
-          However, support for ASO (Arbitrary Slice Ordering), FMO (Flexible Macroblock Ordering) and RS (Redundant Slices) is OPTIONAL. Moreover, to maintain compatibility with other Android devices, it is RECOMMENDED that ASO, FMO and RS are not used for Baseline Profile by encoders.
-        </li>
-        <li>MUST support the SD (Standard Definition) video encoding profiles in the following table.
-        </li>
-        <li>SHOULD support Main Profile Level 4.
-        </li>
-        <li>SHOULD support the HD (High Definition) video encoding profiles as indicated in the following table.
-        </li>
-        <li>In addition, Android Television devices are STRONGLY RECOMMENDED to encode HD 1080p video at 30 fps.
-        </li>
-      </ul>
-      <table>
-        <tr>
-          <th></th>
-          <th>
-            SD (Low quality)
-          </th>
-          <th>
-            SD (High quality)
-          </th>
-          <th>
-            HD 720p <sup>1</sup>
-          </th>
-          <th>
-            HD 1080p <sup>1</sup>
-          </th>
-        </tr>
-        <tr>
-          <th>
-            Video resolution
-          </th>
-          <td>
-            320 x 240 px
-          </td>
-          <td>
-            720 x 480 px
-          </td>
-          <td>
-            1280 x 720 px
-          </td>
-          <td>
-            1920 x 1080 px
-          </td>
-        </tr>
-        <tr>
-          <th>
-            Video frame rate
-          </th>
-          <td>
-            20 fps
-          </td>
-          <td>
-            30 fps
-          </td>
-          <td>
-            30 fps
-          </td>
-          <td>
-            30 fps
-          </td>
-        </tr>
-        <tr>
-          <th>
-            Video bitrate
-          </th>
-          <td>
-            384 Kbps
-          </td>
-          <td>
-            2 Mbps
-          </td>
-          <td>
-            4 Mbps
-          </td>
-          <td>
-            10 Mbps
-          </td>
-        </tr>
-      </table>
-      <p class="table_footnote">
-        1 When supported by hardware, but STRONGLY RECOMMENDED for Android Television devices.
-      </p>
-      <h4 id="5_2_3_vp8">
-        5.2.3. VP8
-      </h4>
-      <p>
-        Android device implementations with VP8 codec support MUST support the SD video encoding profiles and SHOULD support the following HD (High Definition) video encoding profiles.
-      </p>
-      <table>
-        <tr>
-          <th></th>
-          <th>
-            SD (Low quality)
-          </th>
-          <th>
-            SD (High quality)
-          </th>
-          <th>
-            HD 720p <sup>1</sup>
-          </th>
-          <th>
-            HD 1080p <sup>1</sup>
-          </th>
-        </tr>
-        <tr>
-          <th>
-            Video resolution
-          </th>
-          <td>
-            320 x 180 px
-          </td>
-          <td>
-            640 x 360 px
-          </td>
-          <td>
-            1280 x 720 px
-          </td>
-          <td>
-            1920 x 1080 px
-          </td>
-        </tr>
-        <tr>
-          <th>
-            Video frame rate
-          </th>
-          <td>
-            30 fps
-          </td>
-          <td>
-            30 fps
-          </td>
-          <td>
-            30 fps
-          </td>
-          <td>
-            30 fps
-          </td>
-        </tr>
-        <tr>
-          <th>
-            Video bitrate
-          </th>
-          <td>
-            800 Kbps
-          </td>
-          <td>
-            2 Mbps
-          </td>
-          <td>
-            4 Mbps
-          </td>
-          <td>
-            10 Mbps
-          </td>
-        </tr>
-      </table>
-      <p class="table_footnote">
-        1 When supported by hardware.
-      </p>
-      <h3 id="5_3_video_decoding">
-        5.3. Video Decoding
-      </h3>
-      <div class="note">
-        Video codecs are optional for Android Watch device implementations.
-      </div>
-      <p>
-        Device implementations—
-      </p>
-      <ul>
-        <li>
-          <p>
-            MUST support dynamic video resolution and frame rate switching through the standard Android APIs within the same stream for all VP8, VP9, H.264, and H.265 codecs in real time and up to the maximum resolution supported by each codec on the device.
-          </p>
-        </li>
-        <li>
-          <p>
-            Implementations that support the Dolby Vision decoder—
-          </p>
-        </li>
-        <li>MUST provide a Dolby Vision-capable extractor.
-        </li>
-        <li>
-          <p>
-            MUST properly display Dolby Vision content on the device screen or on a standard video output port (e.g., HDMI).
-          </p>
-        </li>
-        <li>
-          <p>
-            Implementations that provide a Dolby Vision-capable extractor MUST set the track index of backward-compatible base-layer(s) (if present) to be the same as the combined Dolby Vision layer's track index.
-          </p>
-        </li>
-      </ul>
-      <h4 id="5_3_1_mpeg-2">
-        5.3.1. MPEG-2
-      </h4>
-      <p>
-        Android device implementations with MPEG-2 decoders must support the Main Profile High Level.
-      </p>
-      <h4 id="5_3_2_h_263">
-        5.3.2. H.263
-      </h4>
-      <p>
-        Android device implementations with H.263 decoders MUST support Baseline Profile Level 30 and Level 45.
-      </p>
-      <h4 id="5_3_3_mpeg-4">
-        5.3.3. MPEG-4
-      </h4>
-      <p>
-        Android device implementations with MPEG-4 decoders MUST support Simple Profile Level 3.
-      </p>
-      <h4 id="5_3_4_h_264">
-        5.3.4. H.264
-      </h4>
-      <p>
-        Android device implementations with H.264 decoders:
-      </p>
-      <ul>
-        <li>MUST support Main Profile Level 3.1 and Baseline Profile.<br />
-          Support for ASO (Arbitrary Slice Ordering), FMO (Flexible Macroblock Ordering) and RS (Redundant Slices) is OPTIONAL.
-        </li>
-        <li>MUST be capable of decoding videos with the SD (Standard Definition) profiles listed in the following table and encoded with the Baseline Profile and Main Profile Level 3.1 (including 720p30).
-        </li>
-        <li>SHOULD be capable of decoding videos with the HD (High Definition) profiles as indicated in the following table.
-        </li>
-        <li>In addition, Android Television devices—
-          <ul>
-            <li>MUST support High Profile Level 4.2 and the HD 1080p60 decoding profile.
-            </li>
-            <li>MUST be capable of decoding videos with both HD profiles as indicated in the following table and encoded with either the Baseline Profile, Main Profile, or the High Profile Level 4.2
-            </li>
-          </ul>
-        </li>
-      </ul>
-      <table>
-        <tr>
-          <th></th>
-          <th>
-            SD (Low quality)
-          </th>
-          <th>
-            SD (High quality)
-          </th>
-          <th>
-            HD 720p <sup>1</sup>
-          </th>
-          <th>
-            HD 1080p <sup>1</sup>
-          </th>
-        </tr>
-        <tr>
-          <th>
-            Video resolution
-          </th>
-          <td>
-            320 x 240 px
-          </td>
-          <td>
-            720 x 480 px
-          </td>
-          <td>
-            1280 x 720 px
-          </td>
-          <td>
-            1920 x 1080 px
-          </td>
-        </tr>
-        <tr>
-          <th>
-            Video frame rate
-          </th>
-          <td>
-            30 fps
-          </td>
-          <td>
-            30 fps
-          </td>
-          <td>
-            60 fps
-          </td>
-          <td>
-            30 fps (60 fps <sup>2</sup> )
-          </td>
-        </tr>
-        <tr>
-          <th>
-            Video bitrate
-          </th>
-          <td>
-            800 Kbps
-          </td>
-          <td>
-            2 Mbps
-          </td>
-          <td>
-            8 Mbps
-          </td>
-          <td>
-            20 Mbps
-          </td>
-        </tr>
-      </table>
-      <p class="table_footnote">
-        1 REQUIRED for when the height as reported by the Display.getSupportedModes() method is equal or greater than the video resolution.
-      </p>
-      <p class="table_footnote">
-        2 REQUIRED for Android Television device implementations.
-      </p>
-      <h4 id="5_3_5_h_265_(hevc)">
-        5.3.5. H.265 (HEVC)
-      </h4>
-      <p>
-        Android device implementations, when supporting H.265 codec as described in <a href="#5_1_3_video_codecs">section 5.1.3</a> :
-      </p>
-      <ul>
-        <li>MUST support the Main Profile Level 3 Main tier and the SD video decoding profiles as indicated in the following table.
-        </li>
-        <li>SHOULD support the HD decoding profiles as indicated in the following table.
-        </li>
-        <li>MUST support the HD decoding profiles as indicated in the following table if there is a hardware decoder.
-        </li>
-        <li>In addition, Android Television devices:
-        </li>
-        <li>MUST support the HD 720p decoding profile.
-        </li>
-        <li>STRONGLY RECOMMENDED to support the HD 1080p decoding profile. If the HD 1080p decoding profile is supported, it MUST support the Main Profile Level 4.1 Main tier.
-        </li>
-        <li>SHOULD support the UHD decoding profile. If the UHD decoding profile is supported the codec MUST support Main10 Level 5 Main Tier profile.
-        </li>
-      </ul>
-      <table>
-        <tr>
-          <th></th>
-          <th>
-            SD (Low quality)
-          </th>
-          <th>
-            SD (High quality)
-          </th>
-          <th>
-            HD 720p
-          </th>
-          <th>
-            HD 1080p
-          </th>
-          <th>
-            UHD
-          </th>
-        </tr>
-        <tr>
-          <th>
-            Video resolution
-          </th>
-          <td>
-            352 x 288 px
-          </td>
-          <td>
-            720 x 480 px
-          </td>
-          <td>
-            1280 x 720 px
-          </td>
-          <td>
-            1920 x 1080 px
-          </td>
-          <td>
-            3840 x 2160 px
-          </td>
-        </tr>
-        <tr>
-          <th>
-            Video frame rate
-          </th>
-          <td>
-            30 fps
-          </td>
-          <td>
-            30 fps
-          </td>
-          <td>
-            30 fps
-          </td>
-          <td>
-            30 fps (60 fps <sup>1</sup> )
-          </td>
-          <td>
-            60 fps
-          </td>
-        </tr>
-        <tr>
-          <th>
-            Video bitrate
-          </th>
-          <td>
-            600 Kbps
-          </td>
-          <td>
-            1.6 Mbps
-          </td>
-          <td>
-            4 Mbps
-          </td>
-          <td>
-            5 Mbps
-          </td>
-          <td>
-            20 Mbps
-          </td>
-        </tr>
-      </table>
-      <p class="table_footnote">
-        1 REQUIRED for Android Television device implementations with H.265 hardware decoding.
-      </p>
-      <h4 id="5_3_6_vp8">
-        5.3.6. VP8
-      </h4>
-      <p>
-        Android device implementations, when supporting VP8 codec as described in <a href="https://source.android.com/compatibility/android-cdd.html#5_1_3_video_codecs">section 5.1.3</a> :
-      </p>
-      <ul>
-        <li>MUST support the SD decoding profiles in the following table.
-        </li>
-        <li>SHOULD support the HD decoding profiles in the following table.
-        </li>
-        <li>Android Television devices MUST support the HD 1080p60 decoding profile.
-        </li>
-      </ul>
-      <table>
-        <tr>
-          <th></th>
-          <th>
-            SD (Low quality)
-          </th>
-          <th>
-            SD (High quality)
-          </th>
-          <th>
-            HD 720p <sup>1</sup>
-          </th>
-          <th>
-            HD 1080p <sup>1</sup>
-          </th>
-        </tr>
-        <tr>
-          <th>
-            Video resolution
-          </th>
-          <td>
-            320 x 180 px
-          </td>
-          <td>
-            640 x 360 px
-          </td>
-          <td>
-            1280 x 720 px
-          </td>
-          <td>
-            1920 x 1080 px
-          </td>
-        </tr>
-        <tr>
-          <th>
-            Video frame rate
-          </th>
-          <td>
-            30 fps
-          </td>
-          <td>
-            30 fps
-          </td>
-          <td>
-            30 fps (60 fps <sup>2</sup> )
-          </td>
-          <td>
-            30 (60 fps <sup>2</sup> )
-          </td>
-        </tr>
-        <tr>
-          <th>
-            Video bitrate
-          </th>
-          <td>
-            800 Kbps
-          </td>
-          <td>
-            2 Mbps
-          </td>
-          <td>
-            8 Mbps
-          </td>
-          <td>
-            20 Mbps
-          </td>
-        </tr>
-      </table>
-      <p class="table_footnote">
-        1 REQUIRED for when the height as reported by the Display.getSupportedModes() method is equal or greater than the video resolution.
-      </p>
-      <p class="table_footnote">
-        2 REQUIRED for Android Television device implementations.
-      </p>
-      <h4 id="5_3_7_vp9">
-        5.3.7. VP9
-      </h4>
-      <p>
-        Android device implementations, when supporting VP9 codec as described in <a href="https://source.android.com/compatibility/android-cdd.html#5_1_3_video_codecs">section 5.1.3</a> :
-      </p>
-      <ul>
-        <li>MUST support the SD video decoding profiles as indicated in the following table.
-        </li>
-        <li>SHOULD support the HD decoding profiles as indicated in the following table.
-        </li>
-        <li>MUST support the HD decoding profiles as indicated in the following table, if there is a hardware decoder.
-        </li>
-        <li>
-          <p>
-            In addition, Android Television devices:
-          </p>
-          <ul>
-            <li>MUST support the HD 720p decoding profile.
-            </li>
-            <li>STRONGLY RECOMMENDED to support the HD 1080p decoding profile.
-            </li>
-            <li>SHOULD support the UHD decoding profile. If the UHD video decoding profile is supported, it MUST support 8-bit color depth and SHOULD support VP9 Profile 2 (10-bit).
-            </li>
-          </ul>
-        </li>
-      </ul>
-      <table>
-        <tr>
-          <th></th>
-          <th>
-            SD (Low quality)
-          </th>
-          <th>
-            SD (High quality)
-          </th>
-          <th>
-            HD 720p
-          </th>
-          <th>
-            HD 1080p
-          </th>
-          <th>
-            UHD
-          </th>
-        </tr>
-        <tr>
-          <th>
-            Video resolution
-          </th>
-          <td>
-            320 x 180 px
-          </td>
-          <td>
-            640 x 360 px
-          </td>
-          <td>
-            1280 x 720 px
-          </td>
-          <td>
-            1920 x 1080 px
-          </td>
-          <td>
-            3840 x 2160 px
-          </td>
-        </tr>
-        <tr>
-          <th>
-            Video frame rate
-          </th>
-          <td>
-            30 fps
-          </td>
-          <td>
-            30 fps
-          </td>
-          <td>
-            30 fps
-          </td>
-          <td>
-            30 fps (60 fps <sup>1</sup> )
-          </td>
-          <td>
-            60 fps
-          </td>
-        </tr>
-        <tr>
-          <th>
-            Video bitrate
-          </th>
-          <td>
-            600 Kbps
-          </td>
-          <td>
-            1.6 Mbps
-          </td>
-          <td>
-            4 Mbps
-          </td>
-          <td>
-            5 Mbps
-          </td>
-          <td>
-            20 Mbps
-          </td>
-        </tr>
-      </table>
-      <p class="table_footnote">
-        1 REQUIRED for Android Television device implementations with VP9 hardware decoding.
-      </p>
-      <h3 id="5_4_audio_recording">
-        5.4. Audio Recording
-      </h3>
-      <p>
-        While some of the requirements outlined in this section are stated as SHOULD since Android 4.3, the Compatibility Definition for a future version is planned to change these to MUST. Existing and new Android devices are <strong>STRONGLY RECOMMENDED</strong> to meet these requirements that are stated as SHOULD, or they will not be able to attain Android compatibility when upgraded to the future version.
-      </p>
-      <h4 id="5_4_1_raw_audio_capture">
-        5.4.1. Raw Audio Capture
-      </h4>
-      <p>
-        Device implementations that declare android.hardware.microphone MUST allow capture of raw audio content with the following characteristics:
-      </p>
-      <ul>
-        <li>
-          <strong>Format</strong> : Linear PCM, 16-bit
-        </li>
-        <li>
-          <strong>Sampling rates</strong> : 8000, 11025, 16000, 44100
-        </li>
-        <li>
-          <strong>Channels</strong> : Mono
-        </li>
-      </ul>
-      <p>
-        The capture for the above sample rates MUST be done without up-sampling, and any down-sampling MUST include an appropriate anti-aliasing filter.
-      </p>
-      <p>
-        Device implementations that declare android.hardware.microphone SHOULD allow capture of raw audio content with the following characteristics:
-      </p>
-      <ul>
-        <li>
-          <strong>Format</strong> : Linear PCM, 16-bit
-        </li>
-        <li>
-          <strong>Sampling rates</strong> : 22050, 48000
-        </li>
-        <li>
-          <strong>Channels</strong> : Stereo
-        </li>
-      </ul>
-      <p>
-        If capture for the above sample rates is supported, then the capture MUST be done without up-sampling at any ratio higher than 16000:22050 or 44100:48000. Any up-sampling or down-sampling MUST include an appropriate anti-aliasing filter.
-      </p>
-      <h4 id="5_4_2_capture_for_voice_recognition">
-        5.4.2. Capture for Voice Recognition
-      </h4>
-      <p>
-        The android.media.MediaRecorder.AudioSource.VOICE_RECOGNITION audio source MUST support capture at one of the sampling rates, 44100 and 48000.
-      </p>
-      <p>
-        In addition to the above recording specifications, when an application has started recording an audio stream using the android.media.MediaRecorder.AudioSource.VOICE_RECOGNITION audio source:
-      </p>
-      <ul>
-        <li>The device SHOULD exhibit approximately flat amplitude versus frequency characteristics: specifically, ±3 dB, from 100 Hz to 4000 Hz.
-        </li>
-        <li>Audio input sensitivity SHOULD be set such that a 90 dB sound power level (SPL) source at 1000 Hz yields RMS of 2500 for 16-bit samples.
-        </li>
-        <li>PCM amplitude levels SHOULD linearly track input SPL changes over at least a 30 dB range from -18 dB to +12 dB re 90 dB SPL at the microphone.
-        </li>
-        <li>Total harmonic distortion SHOULD be less than 1% for 1 kHz at 90 dB SPL input level at the microphone.
-        </li>
-        <li>Noise reduction processing, if present, MUST be disabled.
-        </li>
-        <li>Automatic gain control, if present, MUST be disabled.
-        </li>
-      </ul>
-      <p>
-        If the platform supports noise suppression technologies tuned for speech recognition, the effect MUST be controllable from the android.media.audiofx.NoiseSuppressor API. Moreover, the UUID field for the noise suppressor’s effect descriptor MUST uniquely identify each implementation of the noise suppression technology.
-      </p>
-      <h4 id="5_4_3_capture_for_rerouting_of_playback">
-        5.4.3. Capture for Rerouting of Playback
-      </h4>
-      <p>
-        The android.media.MediaRecorder.AudioSource class includes the REMOTE_SUBMIX audio source. Devices that declare android.hardware.audio.output MUST properly implement the REMOTE_SUBMIX audio source so that when an application uses the android.media.AudioRecord API to record from this audio source, it can capture a mix of all audio streams except for the following:
-      </p>
-      <ul>
-        <li>STREAM_RING
-        </li>
-        <li>STREAM_ALARM
-        </li>
-        <li>STREAM_NOTIFICATION
-        </li>
-      </ul>
-      <h3 id="5_5_audio_playback">
-        5.5. Audio Playback
-      </h3>
-      <p>
-        Device implementations that declare android.hardware.audio.output MUST conform to the requirements in this section.
-      </p>
-      <h4 id="5_5_1_raw_audio_playback">
-        5.5.1. Raw Audio Playback
-      </h4>
-      <p>
-        The device MUST allow playback of raw audio content with the following characteristics:
-      </p>
-      <ul>
-        <li>
-          <strong>Format</strong> : Linear PCM, 16-bit
-        </li>
-        <li>
-          <strong>Sampling rates</strong> : 8000, 11025, 16000, 22050, 32000, 44100
-        </li>
-        <li>
-          <strong>Channels</strong> : Mono, Stereo
-        </li>
-      </ul>
-      <p>
-        The device SHOULD allow playback of raw audio content with the following characteristics:
-      </p>
-      <ul>
-        <li>
-          <strong>Sampling rates</strong> : 24000, 48000
-        </li>
-      </ul>
-      <h4 id="5_5_2_audio_effects">
-        5.5.2. Audio Effects
-      </h4>
-      <p>
-        Android provides an <a href="http://developer.android.com/reference/android/media/audiofx/AudioEffect.html">API for audio effects</a> for device implementations. Device implementations that declare the feature android.hardware.audio.output:
-      </p>
-      <ul>
-        <li>MUST support the EFFECT_TYPE_EQUALIZER and EFFECT_TYPE_LOUDNESS_ENHANCER implementations controllable through the AudioEffect subclasses Equalizer, LoudnessEnhancer.
-        </li>
-        <li>MUST support the visualizer API implementation, controllable through the Visualizer class.
-        </li>
-        <li>SHOULD support the EFFECT_TYPE_BASS_BOOST, EFFECT_TYPE_ENV_REVERB, EFFECT_TYPE_PRESET_REVERB, and EFFECT_TYPE_VIRTUALIZER implementations controllable through the AudioEffect sub-classes BassBoost, EnvironmentalReverb, PresetReverb, and Virtualizer.
-        </li>
-      </ul>
-      <h4 id="5_5_3_audio_output_volume">
-        5.5.3. Audio Output Volume
-      </h4>
-      <p>
-        Android Television device implementations MUST include support for system Master Volume and digital audio output volume attenuation on supported outputs, except for compressed audio passthrough output (where no audio decoding is done on the device).
-      </p>
-      <p>
-        Android Automotive device implementations SHOULD allow adjusting audio volume separately per each audio stream using the content type or usage as defined by <a href="" title="http://developer.android.com/reference/android/media/AudioAttributes.html">AudioAttributes</a> and car audio usage as publicly defined in <code>android.car.CarAudioManager</code> .
-      </p>
-      <h3 id="5_6_audio_latency">
-        5.6. Audio Latency
-      </h3>
-      <p>
-        Audio latency is the time delay as an audio signal passes through a system. Many classes of applications rely on short latencies, to achieve real-time sound effects.
-      </p>
-      <p>
-        For the purposes of this section, use the following definitions:
-      </p>
-      <ul>
-        <li>
-          <strong>output latency</strong> . The interval between when an application writes a frame of PCM-coded data and when the corresponding sound is presented to environment at an on-device transducer or signal leaves the device via a port and can be observed externally.
-        </li>
-        <li>
-          <strong>cold output latency</strong> . The output latency for the first frame, when the audio output system has been idle and powered down prior to the request.
-        </li>
-        <li>
-          <strong>continuous output latency</strong> . The output latency for subsequent frames, after the device is playing audio.
-        </li>
-        <li>
-          <strong>input latency</strong> . The interval between when a sound is presented by environment to device at an on-device transducer or signal enters the device via a port and when an application reads the corresponding frame of PCM-coded data.
-        </li>
-        <li>
-          <strong>lost input</strong> . The initial portion of an input signal that is unusable or unavailable.
-        </li>
-        <li>
-          <strong>cold input latency</strong> . The sum of lost input time and the input latency for the first frame, when the audio input system has been idle and powered down prior to the request.
-        </li>
-        <li>
-          <strong>continuous input latency</strong> . The input latency for subsequent frames, while the device is capturing audio.
-        </li>
-        <li>
-          <strong>cold output jitter</strong> . The variability among separate measurements of cold output latency values.
-        </li>
-        <li>
-          <strong>cold input jitter</strong> . The variability among separate measurements of cold input latency values.
-        </li>
-        <li>
-          <strong>continuous round-trip latency</strong> . The sum of continuous input latency plus continuous output latency plus one buffer period. The buffer period allows time for the app to process the signal and time for the app to mitigate phase difference between input and output streams.
-        </li>
-        <li>
-          <strong>OpenSL ES PCM buffer queue API</strong> . The set of PCM-related OpenSL ES APIs within <a href="https://developer.android.com/ndk/index.html">Android NDK</a> .
-        </li>
-      </ul>
-      <p>
-        Device implementations that declare android.hardware.audio.output are STRONGLY RECOMMENDED to meet or exceed these audio output requirements:
-      </p>
-      <ul>
-        <li>cold output latency of 100 milliseconds or less
-        </li>
-        <li>continuous output latency of 45 milliseconds or less
-        </li>
-        <li>minimize the cold output jitter
-        </li>
-      </ul>
-      <p>
-        If a device implementation meets the requirements of this section after any initial calibration when using the OpenSL ES PCM buffer queue API, for continuous output latency and cold output latency over at least one supported audio output device, it is STRONGLY RECOMMENDED to report support for low-latency audio, by reporting the feature android.hardware.audio.low_latency via the <a href="http://developer.android.com/reference/android/content/pm/PackageManager.html">android.content.pm.PackageManager</a> class. Conversely, if the device implementation does not meet these requirements it MUST NOT report support for low-latency audio.
-      </p>
-      <p>
-        Device implementations that include android.hardware.microphone are STRONGLY RECOMMENDED to meet these input audio requirements:
-      </p>
-      <ul>
-        <li>cold input latency of 100 milliseconds or less
-        </li>
-        <li>continuous input latency of 30 milliseconds or less
-        </li>
-        <li>continuous round-trip latency of 50 milliseconds or less
-        </li>
-        <li>minimize the cold input jitter
-        </li>
-      </ul>
-      <h3 id="5_7_network_protocols">
-        5.7. Network Protocols
-      </h3>
-      <p>
-        Devices MUST support the <a href="http://developer.android.com/guide/appendix/media-formats.html">media network protocols</a> for audio and video playback as specified in the Android SDK documentation. Specifically, devices MUST support the following media network protocols:
-      </p>
-      <ul>
-        <li>
-          <p>
-            HTTP(S) progressive streaming<br />
-            All required codecs and container formats in <a href="#5_1_media_codecs">section 5.1</a> MUST be supported over HTTP(S)
-          </p>
-        </li>
-        <li>
-          <p>
-            <a href="http://tools.ietf.org/html/draft-pantos-http-live-streaming-07">HTTP Live Streaming draft protocol, Version 7</a><br />
-            The following media segment formats MUST be supported:
-          </p>
-        </li>
-      </ul>
-      <table>
-        <tr>
-          <th>
-            Segment formats
-          </th>
-          <th>
-            Reference(s)
-          </th>
-          <th>
-            Required codec support
-          </th>
-        </tr>
-        <tr id="mp2t">
-          <td>
-            MPEG-2 Transport Stream
-          </td>
-          <td>
-            <a href="http://www.iso.org/iso/catalogue_detail?csnumber=44169">ISO 13818</a>
-          </td>
-          <td>
-            Video codecs:
-            <ul>
-              <li class="table_list">H264 AVC
-              </li>
-              <li class="table_list">MPEG-4 SP
-              </li>
-              <li class="table_list">MPEG-2
-              </li>
-            </ul>See <a href="#5_1_3_video_codecs">section 5.1.3</a> for details on H264 AVC, MPEG2-4 SP,<br />
-            and MPEG-2.
-            <p>
-              Audio codecs:
-            </p>
-            <ul>
-              <li class="table_list">AAC
-              </li>
-            </ul>See <a href="#5_1_1_audio_codecs">section 5.1.1</a> for details on AAC and its variants.
-          </td>
-        </tr>
-        <tr>
-          <td>
-            AAC with ADTS framing and ID3 tags
-          </td>
-          <td>
-            <a href="http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=43345">ISO 13818-7</a>
-          </td>
-          <td>
-            See <a href="#5_1_1_audio_codecs">section 5.1.1</a> for details on AAC and its variants
-          </td>
-        </tr>
-        <tr>
-          <td>
-            WebVTT
-          </td>
-          <td>
-            <a href="http://dev.w3.org/html5/webvtt/">WebVTT</a>
-          </td>
-          <td></td>
-        </tr>
-      </table>
-      <ul>
-        <li>
-          <p>
-            RTSP (RTP, SDP)
-          </p>
-          <p>
-            The following RTP audio video profile and related codecs MUST be supported. For exceptions please see the table footnotes in <a href="#5_1_media_codecs">section 5.1</a> .
-          </p>
-        </li>
-      </ul>
-      <table>
-        <tr>
-          <th>
-            Profile name
-          </th>
-          <th>
-            Reference(s)
-          </th>
-          <th>
-            Required codec support
-          </th>
-        </tr>
-        <tr>
-          <td>
-            H264 AVC
-          </td>
-          <td>
-            <a href="https://tools.ietf.org/html/rfc6184">RFC 6184</a>
-          </td>
-          <td>
-            See <a href="#5_1_3_video_codecs">section 5.1.3</a> for details on H264 AVC
-          </td>
-        </tr>
-        <tr>
-          <td>
-            MP4A-LATM
-          </td>
-          <td>
-            <a href="https://tools.ietf.org/html/rfc6416">RFC 6416</a>
-          </td>
-          <td>
-            See <a href="#5_1_1_audio_codecs">section 5.1.1</a> for details on AAC and its variants
-          </td>
-        </tr>
-        <tr>
-          <td>
-            H263-1998
-          </td>
-          <td>
-            <a href="https://tools.ietf.org/html/rfc3551">RFC 3551</a><br />
-            <a href="https://tools.ietf.org/html/rfc4629">RFC 4629</a><br />
-            <a href="https://tools.ietf.org/html/rfc2190">RFC 2190</a>
-          </td>
-          <td>
-            See <a href="#5_1_3_video_codecs">section 5.1.3</a> for details on H263
-          </td>
-        </tr>
-        <tr>
-          <td>
-            H263-2000
-          </td>
-          <td>
-            <a href="https://tools.ietf.org/html/rfc4629">RFC 4629</a>
-          </td>
-          <td>
-            See <a href="#5_1_3_video_codecs">section 5.1.3</a> for details on H263
-          </td>
-        </tr>
-        <tr>
-          <td>
-            AMR
-          </td>
-          <td>
-            <a href="https://tools.ietf.org/html/rfc4867">RFC 4867</a>
-          </td>
-          <td>
-            See <a href="#5_1_1_audio_codecs">section 5.1.1</a> for details on AMR-NB
-          </td>
-        </tr>
-        <tr>
-          <td>
-            AMR-WB
-          </td>
-          <td>
-            <a href="https://tools.ietf.org/html/rfc4867">RFC 4867</a>
-          </td>
-          <td>
-            See <a href="#5_1_1_audio_codecs">section 5.1.1</a> for details on AMR-WB
-          </td>
-        </tr>
-        <tr>
-          <td>
-            MP4V-ES
-          </td>
-          <td>
-            <a href="https://tools.ietf.org/html/rfc6416">RFC 6416</a>
-          </td>
-          <td>
-            See <a href="#5_1_3_video_codecs">section 5.1.3</a> for details on MPEG-4 SP
-          </td>
-        </tr>
-        <tr>
-          <td>
-            mpeg4-generic
-          </td>
-          <td>
-            <a href="https://tools.ietf.org/html/rfc3640">RFC 3640</a>
-          </td>
-          <td>
-            See <a href="#5_1_1_audio_codecs">section 5.1.1</a> for details on AAC and its variants
-          </td>
-        </tr>
-        <tr>
-          <td>
-            MP2T
-          </td>
-          <td>
-            <a href="https://tools.ietf.org/html/rfc2250">RFC 2250</a>
-          </td>
-          <td>
-            See <a href="#mp2t">MPEG-2 Transport Stream</a> underneath HTTP Live Streaming for details
-          </td>
-        </tr>
-      </table>
-      <h3 id="5_8_secure_media">
-        5.8. Secure Media
-      </h3>
-      <p>
-        Device implementations that support secure video output and are capable of supporting secure surfaces MUST declare support for Display.FLAG_SECURE. Device implementations that declare support for Display.FLAG_SECURE, if they support a wireless display protocol, MUST secure the link with a cryptographically strong mechanism such as HDCP 2.x or higher for Miracast wireless displays. Similarly if they support a wired external display, the device implementations MUST support HDCP 1.2 or higher. Android Television device implementations MUST support HDCP 2.2 for devices supporting 4K resolution and HDCP 1.4 or above for lower resolutions. The upstream Android open source implementation includes support for wireless (Miracast) and wired (HDMI) displays that satisfies this requirement.
-      </p>
-      <h3 id="5_9_musical_instrument_digital_interface_(midi)">
-        5.9. Musical Instrument Digital Interface (MIDI)
-      </h3>
-      <p>
-        If a device implementation supports the inter-app MIDI software transport (virtual MIDI devices), and it supports MIDI over <em>all</em> of the following MIDI-capable hardware transports for which it provides generic non-MIDI connectivity, it is STRONGLY RECOMMENDED to report support for feature android.software.midi via the <a href="http://developer.android.com/reference/android/content/pm/PackageManager.html">android.content.pm.PackageManager</a> class.
-      </p>
-      <p>
-        The MIDI-capable hardware transports are:
-      </p>
-      <ul>
-        <li>USB host mode (section 7.7 USB)
-        </li>
-        <li>USB peripheral mode (section 7.7 USB)
-        </li>
-        <li>MIDI over Bluetooth LE acting in central role (section 7.4.3 Bluetooth)
-        </li>
-      </ul>
-      <p>
-        Conversely, if the device implementation provides generic non-MIDI connectivity over a particular MIDI-capable hardware transport listed above, but does not support MIDI over that hardware transport, it MUST NOT report support for feature android.software.midi.
-      </p>
-      <h3 id="5_10_professional_audio">
-        5.10. Professional Audio
-      </h3>
-      <p>
-        If a device implementation meets <em>all</em> of the following requirements, it is STRONGLY RECOMMENDED to report support for feature android.hardware.audio.pro via the <a href="http://developer.android.com/reference/android/content/pm/PackageManager.html">android.content.pm.PackageManager</a> class.
-      </p>
-      <ul>
-        <li>The device implementation MUST report support for feature android.hardware.audio.low_latency.
-        </li>
-        <li>The continuous round-trip audio latency, as defined in section 5.6 Audio Latency, MUST be 20 milliseconds or less and SHOULD be 10 milliseconds or less over at least one supported path.
-        </li>
-        <li>If the device includes a 4 conductor 3.5mm audio jack, the continuous round-trip audio latency MUST be 20 milliseconds or less over the audio jack path, and SHOULD be 10 milliseconds or less over at the audio jack path.
-        </li>
-        <li>The device implementation MUST include a USB port(s) supporting USB host mode and USB peripheral mode.
-        </li>
-        <li>The USB host mode MUST implement the USB audio class.
-        </li>
-        <li>If the device includes an HDMI port, the device implementation MUST support output in stereo and eight channels at 20-bit or 24-bit depth and 192 kHz without bit-depth loss or resampling.
-        </li>
-        <li>The device implementation MUST report support for feature android.software.midi.
-        </li>
-        <li>If the device includes a 4 conductor 3.5mm audio jack, the device implementation is STRONGLY RECOMMENDED to comply with section <a href="https://source.android.com/accessories/headset/specification.html#mobile_device_jack_specifications">Mobile device (jack) specifications</a> of the <a href="https://source.android.com/accessories/headset/specification.html">Wired Audio Headset Specification (v1.1)</a> .
-        </li>
-      </ul>
-      <p>
-        Latencies and USB audio requirements MUST be met using the <a href="https://developer.android.com/ndk/guides/audio/opensl-for-android.html">OpenSL ES</a> PCM buffer queue API.
-      </p>
-      <p>
-        In addition, a device implementation that reports support for this feature SHOULD:
-      </p>
-      <ul>
-        <li>Provide a sustainable level of CPU performance while audio is active.
-        </li>
-        <li>Minimize audio clock inaccuracy and drift relative to standard time.
-        </li>
-        <li>Minimize audio clock drift relative to the CPU <code>CLOCK_MONOTONIC</code> when both are active.
-        </li>
-        <li>Minimize audio latency over on-device transducers.
-        </li>
-        <li>Minimize audio latency over USB digital audio.
-        </li>
-        <li>Document audio latency measurements over all paths.
-        </li>
-        <li>Minimize jitter in audio buffer completion callback entry times, as this affects usable percentage of full CPU bandwidth by the callback.
-        </li>
-        <li>Provide zero audio underruns (output) or overruns (input) under normal use at reported latency.
-        </li>
-        <li>Provide zero inter-channel latency difference.
-        </li>
-        <li>Minimize MIDI mean latency over all transports.
-        </li>
-        <li>Minimize MIDI latency variability under load (jitter) over all transports.
-        </li>
-        <li>Provide accurate MIDI timestamps over all transports.
-        </li>
-        <li>Minimize audio signal noise over on-device transducers, including the period immediately after cold start.
-        </li>
-        <li>Provide zero audio clock difference between the input and output sides of corresponding end-points, when both are active. Examples of corresponding end-points include the on-device microphone and speaker, or the audio jack input and output.
-        </li>
-        <li>Handle audio buffer completion callbacks for the input and output sides of corresponding end-points on the same thread when both are active, and enter the output callback immediately after the return from the input callback. Or if it is not feasible to handle the callbacks on the same thread, then enter the output callback shortly after entering the input callback to permit the application to have a consistent timing of the input and output sides.
-        </li>
-        <li>Minimize the phase difference between HAL audio buffering for the input and output sides of corresponding end-points.
-        </li>
-        <li>Minimize touch latency.
-        </li>
-        <li>Minimize touch latency variability under load (jitter).
-        </li>
-      </ul>
-      <h3 id="5_11_capture_for_unprocessed">
-        5.11. Capture for Unprocessed
-      </h3>
-      <p>
-        Starting from Android 7.0, a new recording source has been added. It can be accessed using the <code>android.media.MediaRecorder.AudioSource.UNPROCESSED</code> audio source. In OpenSL ES, it can be accessed with the record preset <code>SL_ANDROID_RECORDING_PRESET_UNPROCESSED</code> .
-      </p>
-      <p>
-        A device MUST satisfy all of the following requirements to report support of the unprocessed audio source via the <code>android.media.AudioManager</code> property <a href="http://developer.android.com/reference/android/media/AudioManager.html#PROPERTY_SUPPORT_AUDIO_SOURCE_UNPROCESSED">PROPERTY_SUPPORT_AUDIO_SOURCE_UNPROCESSED</a> :
-      </p>
-      <ul>
-        <li>
-          <p>
-            The device MUST exhibit approximately flat amplitude-versus-frequency characteristics in the mid-frequency range: specifically ±10dB from 100 Hz to 7000 Hz.
-          </p>
-        </li>
-        <li>
-          <p>
-            The device MUST exhibit amplitude levels in the low frequency range: specifically from ±20 dB from 5 Hz to 100 Hz compared to the mid-frequency range.
-          </p>
-        </li>
-        <li>
-          <p>
-            The device MUST exhibit amplitude levels in the high frequency range: specifically from ±30 dB from 7000 Hz to 22 KHz compared to the mid-frequency range.
-          </p>
-        </li>
-        <li>
-          <p>
-            Audio input sensitivity MUST be set such that a 1000 Hz sinusoidal tone source played at 94 dB Sound Pressure Level (SPL) yields a response with RMS of 520 for 16 bit-samples (or -36 dB Full Scale for floating point/double precision samples).
-          </p>
-        </li>
-        <li>
-          <p>
-            SNR &gt; 60 dB (difference between 94 dB SPL and equivalent SPL of self noise, A-weighted).
-          </p>
-        </li>
-        <li>
-          <p>
-            Total harmonic distortion MUST be less than 1% for 1 kHZ at 90 dB SPL input level at the microphone.
-          </p>
-        </li>
-        <li>
-          <p>
-            The only signal processing allowed in the path is a level multiplier to bring the level to desired range. This level multiplier MUST NOT introduce delay or latency to the signal path.
-          </p>
-        </li>
-        <li>
-          <p>
-            No other signal processing is allowed in the path, such as Automatic Gain Control, High Pass Filter, or Echo Cancellation. If any signal processing is present in the architecture for any reason, it MUST be disabled and effectively introduce zero delay or extra latency to the signal path.
-          </p>
-        </li>
-      </ul>
-      <p>
-        All SPL measurements are made directly next to the microphone under test.
-      </p>
-      <p>
-        For multiple microphone configurations, these requirements apply to each microphone.
-      </p>
-      <p>
-        It is STRONGLY RECOMMENDED that a device satisfy as many of the requirements for the signal path for the unprocessed recording source; however, a device must satisfy <em>all</em> of these requirements, listed above, if it claims to support the unprocessed audio source.
-      </p>
-      <h2 id="6_developer_tools_and_options_compatibility">
-        6. Developer Tools and Options Compatibility
-      </h2>
-      <h3 id="6_1_developer_tools">
-        6.1. Developer Tools
-      </h3>
-      <p>
-        Device implementations MUST support the Android Developer Tools provided in the Android SDK. Android compatible devices MUST be compatible with:
-      </p>
-      <ul>
-        <li>
-          <a href="http://developer.android.com/tools/help/adb.html"><strong>Android Debug Bridge (adb)</strong></a>
-          <ul>
-            <li>Device implementations MUST support all adb functions as documented in the Android SDK including <a href="https://source.android.com/devices/input/diagnostics.html">dumpsys</a> .
-            </li>
-            <li>The device-side adb daemon MUST be inactive by default and there MUST be a user-accessible mechanism to turn on the Android Debug Bridge. If a device implementation omits USB peripheral mode, it MUST implement the Android Debug Bridge via local-area network (such as Ethernet or 802.11).
-            </li>
-            <li>Android includes support for secure adb. Secure adb enables adb on known authenticated hosts. Device implementations MUST support secure adb.
-            </li>
-          </ul>
-        </li>
-        <li>
-          <a href="http://developer.android.com/tools/debugging/ddms.html"><strong>Dalvik Debug Monitor Service (ddms)</strong></a>
-          <ul>
-            <li>Device implementations MUST support all ddms features as documented in the Android SDK.
-            </li>
-            <li>As ddms uses adb, support for ddms SHOULD be inactive by default, but MUST be supported whenever the user has activated the Android Debug Bridge, as above.
-            </li>
-          </ul>
-        </li>
-        <li>
-          <a href="http://developer.android.com/tools/help/monkey.html"><strong>Monkey</strong></a> Device implementations MUST include the Monkey framework, and make it available for applications to use.
-        </li>
-        <li>
-          <a href="http://developer.android.com/tools/help/systrace.html"><strong>SysTrace</strong></a>
-          <ul>
-            <li>Device implementations MUST support systrace tool as documented in the Android SDK. Systrace must be inactive by default, and there MUST be a user-accessible mechanism to turn on Systrace.
-            </li>
-            <li>Most Linux-based systems and Apple Macintosh systems recognize Android devices using the standard Android SDK tools, without additional support; however Microsoft Windows systems typically require a driver for new Android devices. (For instance, new vendor IDs and sometimes new device IDs require custom USB drivers for Windows systems.)
-            </li>
-            <li>If a device implementation is unrecognized by the adb tool as provided in the standard Android SDK, device implementers MUST provide Windows drivers allowing developers to connect to the device using the adb protocol. These drivers MUST be provided for Windows XP, Windows Vista, Windows 7, Windows 8, and Windows 10 in both 32-bit and 64-bit versions.
-            </li>
-          </ul>
-        </li>
-      </ul>
-      <h3 id="6_2_developer_options">
-        6.2. Developer Options
-      </h3>
-      <p>
-        Android includes support for developers to configure application development-related settings. Device implementations MUST honor the <a href="http://developer.android.com/reference/android/provider/Settings.html#ACTION_APPLICATION_DEVELOPMENT_SETTINGS">android.settings.APPLICATION_DEVELOPMENT_SETTINGS</a> intent to show application development-related settings The upstream Android implementation hides the Developer Options menu by default and enables users to launch Developer Options after pressing seven (7) times on the <strong>Settings</strong> &gt; <strong>About Device</strong> &gt; <strong>Build Number</strong> menu item. Device implementations MUST provide a consistent experience for Developer Options. Specifically, device implementations MUST hide Developer Options by default and MUST provide a mechanism to enable Developer Options that is consistent with the upstream Android implementation.
-      </p>
-      <div class="note">
-        Android Automotive implementations MAY limit access to the Developer Options menu by visually hiding or disabling the menu when the vehicle is in motion.
-      </div>
-      <h2 id="7_hardware_compatibility">
-        7. Hardware Compatibility
-      </h2>
-      <p>
-        If a device includes a particular hardware component that has a corresponding API for third-party developers, the device implementation MUST implement that API as described in the Android SDK documentation. If an API in the SDK interacts with a hardware component that is stated to be optional and the device implementation does not possess that component:
-      </p>
-      <ul>
-        <li>Complete class definitions (as documented by the SDK) for the component APIs MUST still be presented.
-        </li>
-        <li>The API’s behaviors MUST be implemented as no-ops in some reasonable fashion.
-        </li>
-        <li>API methods MUST return null values where permitted by the SDK documentation.
-        </li>
-        <li>API methods MUST return no-op implementations of classes where null values are not permitted by the SDK documentation.
-        </li>
-        <li>API methods MUST NOT throw exceptions not documented by the SDK documentation.
-        </li>
-      </ul>
-      <p>
-        A typical example of a scenario where these requirements apply is the telephony API: Even on non-phone devices, these APIs must be implemented as reasonable no-ops.
-      </p>
-      <p>
-        Device implementations MUST consistently report accurate hardware configuration information via the getSystemAvailableFeatures() and hasSystemFeature(String) methods on the <a href="http://developer.android.com/reference/android/content/pm/PackageManager.html">android.content.pm.PackageManager</a> class for the same build fingerprint.
-      </p>
-      <h3 id="7_1_display_and_graphics">
-        7.1. Display and Graphics
-      </h3>
-      <p>
-        Android includes facilities that automatically adjust application assets and UI layouts appropriately for the device to ensure that third-party applications run well on a <a href="http://developer.android.com/guide/practices/screens_support.html">variety of hardware configurations</a> . Devices MUST properly implement these APIs and behaviors, as detailed in this section.
-      </p>
-      <p>
-        The units referenced by the requirements in this section are defined as follows:
-      </p>
-      <ul>
-        <li>
-          <strong>physical diagonal size</strong> . The distance in inches between two opposing corners of the illuminated portion of the display.
-        </li>
-        <li>
-          <strong>dots per inch (dpi)</strong> . The number of pixels encompassed by a linear horizontal or vertical span of 1”. Where dpi values are listed, both horizontal and vertical dpi must fall within the range.
-        </li>
-        <li>
-          <strong>aspect ratio</strong> . The ratio of the pixels of the longer dimension to the shorter dimension of the screen. For example, a display of 480x854 pixels would be 854/480 = 1.779, or roughly “16:9”.
-        </li>
-        <li>
-          <strong>density-independent pixel (dp)</strong> . The virtual pixel unit normalized to a 160 dpi screen, calculated as: pixels = dps * (density/160).
-        </li>
-      </ul>
-      <h4 id="7_1_1_screen_configuration">
-        7.1.1. Screen Configuration
-      </h4>
-      <h5 id="7_1_1_1_screen_size">
-        7.1.1.1. Screen Size
-      </h5>
-      <div class="note">
-        Android Watch devices (detailed in <a href="#2_device_types">section 2</a> ) MAY have smaller screen sizes as described in this section.
-      </div>
-      <p>
-        The Android UI framework supports a variety of different screen sizes, and allows applications to query the device screen size (aka “screen layout") via android.content.res.Configuration.screenLayout with the SCREENLAYOUT_SIZE_MASK. Device implementations MUST report the correct <a href="http://developer.android.com/guide/practices/screens_support.html">screen size</a> as defined in the Android SDK documentation and determined by the upstream Android platform. Specifically, device implementations MUST report the correct screen size according to the following logical density-independent pixel (dp) screen dimensions.
-      </p>
-      <ul>
-        <li>Devices MUST have screen sizes of at least 426 dp x 320 dp (‘small’), unless it is an Android Watch device.
-        </li>
-        <li>Devices that report screen size ‘normal’ MUST have screen sizes of at least 480 dp x 320 dp.
-        </li>
-        <li>Devices that report screen size ‘large’ MUST have screen sizes of at least 640 dp x 480 dp.
-        </li>
-        <li>Devices that report screen size ‘xlarge’ MUST have screen sizes of at least 960 dp x 720 dp.
-        </li>
-      </ul>
-      <p>
-        In addition:
-      </p>
-      <ul>
-        <li>Android Watch devices MUST have a screen with the physical diagonal size in the range from 1.1 to 2.5 inches.
-        </li>
-        <li>Android Automotive devices MUST have a screen with the physical diagonal size greater than or equal to 6 inches.
-        </li>
-        <li>Android Automotive devices MUST have a screen size of at least 750 dp x 480 dp.
-        </li>
-        <li>Other types of Android device implementations, with a physically integrated screen, MUST have a screen at least 2.5 inches in physical diagonal size.
-        </li>
-      </ul>
-      <p>
-        Devices MUST NOT change their reported screen size at any time.
-      </p>
-      <p>
-        Applications optionally indicate which screen sizes they support via the &lt;supports-screens&gt; attribute in the AndroidManifest.xml file. Device implementations MUST correctly honor applications' stated support for small, normal, large, and xlarge screens, as described in the Android SDK documentation.
-      </p>
-      <h5 id="7_1_1_2_screen_aspect_ratio">
-        7.1.1.2. Screen Aspect Ratio
-      </h5>
-      <div class="note">
-        Android Watch devices MAY have an aspect ratio of 1.0 (1:1).
-      </div>
-      <p>
-        The screen aspect ratio MUST be a value from 1.3333 (4:3) to 1.86 (roughly 16:9), but Android Watch devices MAY have an aspect ratio of 1.0 (1:1) because such a device implementation will use a UI_MODE_TYPE_WATCH as the android.content.res.Configuration.uiMode.
-      </p>
-      <h5 id="7_1_1_3_screen_density">
-        7.1.1.3. Screen Density
-      </h5>
-      <p>
-        The Android UI framework defines a set of standard logical densities to help application developers target application resources. Device implementations MUST report only one of the following logical Android framework densities through the android.util.DisplayMetrics APIs, and MUST execute applications at this standard density and MUST NOT change the value at at any time for the default display.
-      </p>
-      <ul>
-        <li>120 dpi (ldpi)
-        </li>
-        <li>160 dpi (mdpi)
-        </li>
-        <li>213 dpi (tvdpi)
-        </li>
-        <li>240 dpi (hdpi)
-        </li>
-        <li>280 dpi (280dpi)
-        </li>
-        <li>320 dpi (xhdpi)
-        </li>
-        <li>360 dpi (360dpi)
-        </li>
-        <li>400 dpi (400dpi)
-        </li>
-        <li>420 dpi (420dpi)
-        </li>
-        <li>480 dpi (xxhdpi)
-        </li>
-        <li>560 dpi (560dpi)
-        </li>
-        <li>640 dpi (xxxhdpi)
-        </li>
-      </ul>
-      <p>
-        Device implementations SHOULD define the standard Android framework density that is numerically closest to the physical density of the screen, unless that logical density pushes the reported screen size below the minimum supported. If the standard Android framework density that is numerically closest to the physical density results in a screen size that is smaller than the smallest supported compatible screen size (320 dp width), device implementations SHOULD report the next lowest standard Android framework density.
-      </p>
-      <p>
-        Device implementations are STRONGLY RECOMMENDED to provide users a setting to change the display size. If there is an implementation to change the display size of the device, it MUST align with the AOSP implementation as indicated below:
-      </p>
-      <ul>
-        <li>The display size MUST NOT be scaled any larger than 1.5 times the native density or produce an effective minimum screen dimension smaller than 320dp (equivalent to resource qualifier sw320dp), whichever comes first.
-        </li>
-        <li>Display size MUST NOT be scaled any smaller than 0.85 times the native density.
-        </li>
-        <li>To ensure good usability and consistent font sizes, it is RECOMMENDED that the following scaling of Native Display options be provided (while complying with the limits specified above)
-        </li>
-        <li>Small: 0.85x
-        </li>
-        <li>Default: 1x (Native display scale)
-        </li>
-        <li>Large: 1.15x
-        </li>
-        <li>Larger: 1.3x
-        </li>
-        <li>Largest 1.45x
-        </li>
-      </ul>
-      <h4 id="7_1_2_display_metrics">
-        7.1.2. Display Metrics
-      </h4>
-      <p>
-        Device implementations MUST report correct values for all display metrics defined in <a href="http://developer.android.com/reference/android/util/DisplayMetrics.html">android.util.DisplayMetrics</a> and MUST report the same values regardless of whether the embedded or external screen is used as the default display.
-      </p>
-      <h4 id="7_1_3_screen_orientation">
-        7.1.3. Screen Orientation
-      </h4>
-      <p>
-        Devices MUST report which screen orientations they support (android.hardware.screen.portrait and/or android.hardware.screen.landscape) and MUST report at least one supported orientation. For example, a device with a fixed orientation landscape screen, such as a television or laptop, SHOULD only report android.hardware.screen.landscape.
-      </p>
-      <p>
-        Devices that report both screen orientations MUST support dynamic orientation by applications to either portrait or landscape screen orientation. That is, the device must respect the application’s request for a specific screen orientation. Device implementations MAY select either portrait or landscape orientation as the default.
-      </p>
-      <p>
-        Devices MUST report the correct value for the device’s current orientation, whenever queried via the android.content.res.Configuration.orientation, android.view.Display.getOrientation(), or other APIs.
-      </p>
-      <p>
-        Devices MUST NOT change the reported screen size or density when changing orientation.
-      </p>
-      <h4 id="7_1_4_2d_and_3d_graphics_acceleration">
-        7.1.4. 2D and 3D Graphics Acceleration
-      </h4>
-      <p>
-        Device implementations MUST support both OpenGL ES 1.0 and 2.0, as embodied and detailed in the Android SDK documentations. Device implementations SHOULD support OpenGL ES 3.0, 3.1, or 3.2 on devices capable of supporting it. Device implementations MUST also support <a href="http://developer.android.com/guide/topics/renderscript/">Android RenderScript</a> , as detailed in the Android SDK documentation.
-      </p>
-      <p>
-        Device implementations MUST also correctly identify themselves as supporting OpenGL ES 1.0, OpenGL ES 2.0, OpenGL ES 3.0, OpenGL 3.1, or OpenGL 3.2. That is:
-      </p>
-      <ul>
-        <li>The managed APIs (such as via the GLES10.getString() method) MUST report support for OpenGL ES 1.0 and OpenGL ES 2.0.
-        </li>
-        <li>The native C/C++ OpenGL APIs (APIs available to apps via libGLES_v1CM.so, libGLES_v2.so, or libEGL.so) MUST report support for OpenGL ES 1.0 and OpenGL ES 2.0.
-        </li>
-        <li>Device implementations that declare support for OpenGL ES 3.0, 3.1, or 3.2 MUST support the corresponding managed APIs and include support for native C/C++ APIs. On device implementations that declare support for OpenGL ES 3.0, 3.1, or 3.2 libGLESv2.so MUST export the corresponding function symbols in addition to the OpenGL ES 2.0 function symbols.
-        </li>
-      </ul>
-      <p>
-        Android provides an OpenGL ES <a href="https://developer.android.com/reference/android/opengl/GLES31Ext.html">extension pack</a> with Java interfaces and native support for advanced graphics functionality such as tessellation and the ASTC texture compression format. Android device implementations MUST support the extension pack if the device supports OpenGL ES 3.2 and MAY support it otherwise. If the extension pack is supported in its entirety, the device MUST identify the support through the <code>android.hardware.opengles.aep</code> feature flag.
-      </p>
-      <p>
-        Also, device implementations MAY implement any desired OpenGL ES extensions. However, device implementations MUST report via the OpenGL ES managed and native APIs all extension strings that they do support, and conversely MUST NOT report extension strings that they do not support.
-      </p>
-      <p>
-        Note that Android includes support for applications to optionally specify that they require specific OpenGL texture compression formats. These formats are typically vendor-specific. Device implementations are not required by Android to implement any specific texture compression format. However, they SHOULD accurately report any texture compression formats that they do support, via the getString() method in the OpenGL API.
-      </p>
-      <p>
-        Android includes a mechanism for applications to declare that they want to enable hardware acceleration for 2D graphics at the Application, Activity, Window, or View level through the use of a manifest tag <a href="http://developer.android.com/guide/topics/graphics/hardware-accel.html">android:hardwareAccelerated</a> or direct API calls.
-      </p>
-      <p>
-        Device implementations MUST enable hardware acceleration by default, and MUST disable hardware acceleration if the developer so requests by setting android:hardwareAccelerated="false” or disabling hardware acceleration directly through the Android View APIs.
-      </p>
-      <p>
-        In addition, device implementations MUST exhibit behavior consistent with the Android SDK documentation on <a href="http://developer.android.com/guide/topics/graphics/hardware-accel.html">hardware acceleration</a> .
-      </p>
-      <p>
-        Android includes a TextureView object that lets developers directly integrate hardware-accelerated OpenGL ES textures as rendering targets in a UI hierarchy. Device implementations MUST support the TextureView API, and MUST exhibit consistent behavior with the upstream Android implementation.
-      </p>
-      <p>
-        Android includes support for EGL_ANDROID_RECORDABLE, an EGLConfig attribute that indicates whether the EGLConfig supports rendering to an ANativeWindow that records images to a video. Device implementations MUST support <a href="https://www.khronos.org/registry/egl/extensions/ANDROID/EGL_ANDROID_recordable.txt">EGL_ANDROID_RECORDABLE</a> extension.
-      </p>
-      <h4 id="7_1_5_legacy_application_compatibility_mode">
-        7.1.5. Legacy Application Compatibility Mode
-      </h4>
-      <p>
-        Android specifies a “compatibility mode” in which the framework operates in a 'normal' screen size equivalent (320dp width) mode for the benefit of legacy applications not developed for old versions of Android that pre-date screen-size independence.
-      </p>
-      <ul>
-        <li>Android Automotive does not support legacy compatibility mode.
-        </li>
-        <li>All other device implementations MUST include support for legacy application compatibility mode as implemented by the upstream Android open source code. That is, device implementations MUST NOT alter the triggers or thresholds at which compatibility mode is activated, and MUST NOT alter the behavior of the compatibility mode itself.
-        </li>
-      </ul>
-      <h4 id="7_1_6_screen_technology">
-        7.1.6. Screen Technology
-      </h4>
-      <p>
-        The Android platform includes APIs that allow applications to render rich graphics to the display. Devices MUST support all of these APIs as defined by the Android SDK unless specifically allowed in this document.
-      </p>
-      <ul>
-        <li>Devices MUST support displays capable of rendering 16-bit color graphics and SHOULD support displays capable of 24-bit color graphics.
-        </li>
-        <li>Devices MUST support displays capable of rendering animations.
-        </li>
-        <li>The display technology used MUST have a pixel aspect ratio (PAR) between 0.9 and 1.15. That is, the pixel aspect ratio MUST be near square (1.0) with a 10 ~ 15% tolerance.
-        </li>
-      </ul>
-      <h4 id="7_1_7_secondary_displays">
-        7.1.7. Secondary Displays
-      </h4>
-      <p>
-        Android includes support for secondary display to enable media sharing capabilities and developer APIs for accessing external displays. If a device supports an external display either via a wired, wireless, or an embedded additional display connection then the device implementation MUST implement the <a href="http://developer.android.com/reference/android/hardware/display/DisplayManager.html">display manager API</a> as described in the Android SDK documentation.
-      </p>
-      <h3 id="7_2_input_devices">
-        7.2. Input Devices
-      </h3>
-      <p>
-        Devices MUST support a touchscreen or meet the requirements listed in 7.2.2 for non-touch navigation.
-      </p>
-      <h4 id="7_2_1_keyboard">
-        7.2.1. Keyboard
-      </h4>
-      <div class="note">
-        Android Watch and Android Automotive implementations MAY implement a soft keyboard. All other device implementations MUST implement a soft keyboard and:
-      </div>
-      <p>
-        Device implementations:
-      </p>
-      <ul>
-        <li>MUST include support for the Input Management Framework (which allows third-party developers to create Input Method Editors—i.e. soft keyboard) as detailed at <a href="http://developer.android.com">http://developer.android.com</a> .
-        </li>
-        <li>MUST provide at least one soft keyboard implementation (regardless of whether a hard keyboard is present) except for Android Watch devices where the screen size makes it less reasonable to have a soft keyboard.
-        </li>
-        <li>MAY include additional soft keyboard implementations.
-        </li>
-        <li>MAY include a hardware keyboard.
-        </li>
-        <li>MUST NOT include a hardware keyboard that does not match one of the formats specified in <a href="http://developer.android.com/reference/android/content/res/Configuration.html">android.content.res.Configuration.keyboard</a> (QWERTY or 12-key).
-        </li>
-      </ul>
-      <h4 id="7_2_2_non-touch_navigation">
-        7.2.2. Non-touch Navigation
-      </h4>
-      <div class="note">
-        Android Television devices MUST support D-pad.
-      </div>
-      <p>
-        Device implementations:
-      </p>
-      <ul>
-        <li>MAY omit a non-touch navigation option (trackball, d-pad, or wheel) if the device implementation is not an Android Television device.
-        </li>
-        <li>MUST report the correct value for <a href="http://developer.android.com/reference/android/content/res/Configuration.html">android.content.res.Configuration.navigation</a> .
-        </li>
-        <li>MUST provide a reasonable alternative user interface mechanism for the selection and editing of text, compatible with Input Management Engines. The upstream Android open source implementation includes a selection mechanism suitable for use with devices that lack non-touch navigation inputs.
-        </li>
-      </ul>
-      <h4 id="7_2_3_navigation_keys">
-        7.2.3. Navigation Keys
-      </h4>
-      <div class="note">
-        The availability and visibility requirement of the Home, Recents, and Back functions differ between device types as described in this section.
-      </div>
-      <p>
-        The Home, Recents, and Back functions (mapped to the key events KEYCODE_HOME, KEYCODE_APP_SWITCH, KEYCODE_BACK, respectively) are essential to the Android navigation paradigm and therefore:
-      </p>
-      <ul>
-        <li>Android Handheld device implementations MUST provide the Home, Recents, and Back functions.
-        </li>
-        <li>Android Television device implementations MUST provide the Home and Back functions.
-        </li>
-        <li>Android Watch device implementations MUST have the Home function available to the user, and the Back function except for when it is in <code>UI_MODE_TYPE_WATCH</code> .
-        </li>
-        <li>Android Watch device implementations, and no other Android device types, MAY consume the long press event on the key event <a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BACK"><code>KEYCODE_BACK</code></a> and omit it from being sent to the foreground application.
-        </li>
-        <li>Android Automotive implementations MUST provide the Home function and MAY provide Back and Recent functions.
-        </li>
-        <li>All other types of device implementations MUST provide the Home and Back functions.
-        </li>
-      </ul>
-      <p>
-        These functions MAY be implemented via dedicated physical buttons (such as mechanical or capacitive touch buttons), or MAY be implemented using dedicated software keys on a distinct portion of the screen, gestures, touch panel, etc. Android supports both implementations. All of these functions MUST be accessible with a single action (e.g. tap, double-click or gesture) when visible.
-      </p>
-      <p>
-        Recents function, if provided, MUST have a visible button or icon unless hidden together with other navigation functions in full-screen mode. This does not apply to devices upgrading from earlier Android versions that have physical buttons for navigation and no recents key.
-      </p>
-      <p>
-        The Home and Back functions, if provided, MUST each have a visible button or icon unless hidden together with other navigation functions in full-screen mode or when the uiMode UI_MODE_TYPE_MASK is set to UI_MODE_TYPE_WATCH.
-      </p>
-      <p>
-        The Menu function is deprecated in favor of action bar since Android 4.0. Therefore the new device implementations shipping with Android 7.1 and later MUST NOT implement a dedicated physical button for the Menu function. Older device implementations SHOULD NOT implement a dedicated physical button for the Menu function, but if the physical Menu button is implemented and the device is running applications with targetSdkVersion &gt; 10, the device implementation:
-      </p>
-      <ul>
-        <li>MUST display the action overflow button on the action bar when it is visible and the resulting action overflow menu popup is not empty. For a device implementation launched before Android 4.4 but upgrading to Android 7.1, this is RECOMMENDED.
-        </li>
-        <li>MUST NOT modify the position of the action overflow popup displayed by selecting the overflow button in the action bar.
-        </li>
-        <li>MAY render the action overflow popup at a modified position on the screen when it is displayed by selecting the physical menu button.
-        </li>
-      </ul>
-      <p>
-        For backwards compatibility, device implementations MUST make the Menu function available to applications when targetSdkVersion is less than 10, either by a physical button, a software key, or gestures. This Menu function should be presented unless hidden together with other navigation functions.
-      </p>
-      <p>
-        Android device implementations supporting the <a href="http://developer.android.com/reference/android/content/Intent.html#ACTION_ASSIST">Assist action</a> and/or <a href="https://developer.android.com/reference/android/service/voice/VoiceInteractionService.html"><code>VoiceInteractionService</code></a> MUST be able to launch an assist app with a single interaction (e.g. tap, double-click, or gesture) when other navigation keys are visible. It is STRONGLY RECOMMENDED to use long press on home as this interaction. The designated interaction MUST launch the user-selected assist app, in other words the app that implements a VoiceInteractionService, or an activity handling the ACTION_ASSIST intent.
-      </p>
-      <p>
-        Device implementations MAY use a distinct portion of the screen to display the navigation keys, but if so, MUST meet these requirements:
-      </p>
-      <ul>
-        <li>Device implementation navigation keys MUST use a distinct portion of the screen, not available to applications, and MUST NOT obscure or otherwise interfere with the portion of the screen available to applications.
-        </li>
-        <li>Device implementations MUST make available a portion of the display to applications that meets the requirements defined in <a href="#7_1_1_screen_configuration">section 7.1.1</a> .
-        </li>
-        <li>Device implementations MUST display the navigation keys when applications do not specify a system UI mode, or specify SYSTEM_UI_FLAG_VISIBLE.
-        </li>
-        <li>Device implementations MUST present the navigation keys in an unobtrusive “low profile” (eg. dimmed) mode when applications specify SYSTEM_UI_FLAG_LOW_PROFILE.
-        </li>
-        <li>Device implementations MUST hide the navigation keys when applications specify SYSTEM_UI_FLAG_HIDE_NAVIGATION.
-        </li>
-      </ul>
-      <h4 id="7_2_4_touchscreen_input">
-        7.2.4. Touchscreen Input
-      </h4>
-      <div class="note">
-        Android Handhelds and Watch Devices MUST support touchscreen input.
-      </div>
-      <p>
-        Device implementations SHOULD have a pointer input system of some kind (either mouse-like or touch). However, if a device implementation does not support a pointer input system, it MUST NOT report the android.hardware.touchscreen or android.hardware.faketouch feature constant. Device implementations that do include a pointer input system:
-      </p>
-      <ul>
-        <li>SHOULD support fully independently tracked pointers, if the device input system supports multiple pointers.
-        </li>
-        <li>MUST report the value of <a href="http://developer.android.com/reference/android/content/res/Configuration.html">android.content.res.Configuration.touchscreen</a> corresponding to the type of the specific touchscreen on the device.
-        </li>
-      </ul>
-      <p>
-        Android includes support for a variety of touchscreens, touch pads, and fake touch input devices. <a href="http://source.android.com/devices/tech/input/touch-devices.html">Touchscreen-based device implementations</a> are associated with a display such that the user has the impression of directly manipulating items on screen. Since the user is directly touching the screen, the system does not require any additional affordances to indicate the objects being manipulated. In contrast, a fake touch interface provides a user input system that approximates a subset of touchscreen capabilities. For example, a mouse or remote control that drives an on-screen cursor approximates touch, but requires the user to first point or focus then click. Numerous input devices like the mouse, trackpad, gyro-based air mouse, gyro-pointer, joystick, and multi-touch trackpad can support fake touch interactions. Android includes the feature constant android.hardware.faketouch, which corresponds to a high-fidelity non-touch (pointer-based) input device such as a mouse or trackpad that can adequately emulate touch-based input (including basic gesture support), and indicates that the device supports an emulated subset of touchscreen functionality. Device implementations that declare the fake touch feature MUST meet the fake touch requirements in <a href="#7_2_5_fake_touch_input">section 7.2.5</a> .
-      </p>
-      <p>
-        Device implementations MUST report the correct feature corresponding to the type of input used. Device implementations that include a touchscreen (single-touch or better) MUST report the platform feature constant android.hardware.touchscreen. Device implementations that report the platform feature constant android.hardware.touchscreen MUST also report the platform feature constant android.hardware.faketouch. Device implementations that do not include a touchscreen (and rely on a pointer device only) MUST NOT report any touchscreen feature, and MUST report only android.hardware.faketouch if they meet the fake touch requirements in <a href="#7_2_5_fake_touch_input">section 7.2.5</a> .
-      </p>
-      <h4 id="7_2_5_fake_touch_input">
-        7.2.5. Fake Touch Input
-      </h4>
-      <p>
-        Device implementations that declare support for android.hardware.faketouch:
-      </p>
-      <ul>
-        <li>MUST report the <a href="http://developer.android.com/reference/android/view/MotionEvent.html">absolute X and Y screen positions</a> of the pointer location and display a visual pointer on the screen.
-        </li>
-        <li>MUST report touch event with the action code that specifies the state change that occurs on the pointer <a href="http://developer.android.com/reference/android/view/MotionEvent.html">going down or up on the screen</a> .
-        </li>
-        <li>MUST support pointer down and up on an object on the screen, which allows users to emulate tap on an object on the screen.
-        </li>
-        <li>MUST support pointer down, pointer up, pointer down then pointer up in the same place on an object on the screen within a time threshold, which allows users to <a href="http://developer.android.com/reference/android/view/MotionEvent.html">emulate double tap</a> on an object on the screen.
-        </li>
-        <li>MUST support pointer down on an arbitrary point on the screen, pointer move to any other arbitrary point on the screen, followed by a pointer up, which allows users to emulate a touch drag.
-        </li>
-        <li>MUST support pointer down then allow users to quickly move the object to a different position on the screen and then pointer up on the screen, which allows users to fling an object on the screen.
-        </li>
-      </ul>
-      <p>
-        Devices that declare support for android.hardware.faketouch.multitouch.distinct MUST meet the requirements for faketouch above, and MUST also support distinct tracking of two or more independent pointer inputs.
-      </p>
-      <h4 id="7_2_6_game_controller_support">
-        7.2.6. Game Controller Support
-      </h4>
-      <p>
-        Android Television device implementations MUST support button mappings for game controllers as listed below. The upstream Android implementation includes implementation for game controllers that satisfies this requirement.
-      </p>
-      <h5 id="7_2_6_1_button_mappings">
-        7.2.6.1. Button Mappings
-      </h5>
-      <p>
-        Android Television device implementations MUST support the following key mappings:
-      </p>
-      <table>
-        <tr>
-          <th>
-            Button
-          </th>
-          <th>
-            HID Usage <sup>2</sup>
-          </th>
-          <th>
-            Android Button
-          </th>
-        </tr>
-        <tr>
-          <td>
-            <a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BUTTON_A">A</a> <sup>1</sup>
-          </td>
-          <td>
-            0x09 0x0001
-          </td>
-          <td>
-            KEYCODE_BUTTON_A (96)
-          </td>
-        </tr>
-        <tr>
-          <td>
-            <a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BUTTON_B">B</a> <sup>1</sup>
-          </td>
-          <td>
-            0x09 0x0002
-          </td>
-          <td>
-            KEYCODE_BUTTON_B (97)
-          </td>
-        </tr>
-        <tr>
-          <td>
-            <a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BUTTON_X">X</a> <sup>1</sup>
-          </td>
-          <td>
-            0x09 0x0004
-          </td>
-          <td>
-            KEYCODE_BUTTON_X (99)
-          </td>
-        </tr>
-        <tr>
-          <td>
-            <a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BUTTON_Y">Y</a> <sup>1</sup>
-          </td>
-          <td>
-            0x09 0x0005
-          </td>
-          <td>
-            KEYCODE_BUTTON_Y (100)
-          </td>
-        </tr>
-        <tr>
-          <td>
-            <a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_DPAD_UP">D-pad up</a> <sup>1</sup><br />
-            <a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_DPAD_DOWN">D-pad down</a> <sup>1</sup>
-          </td>
-          <td>
-            0x01 0x0039 <sup>3</sup>
-          </td>
-          <td>
-            <a href="http://developer.android.com/reference/android/view/MotionEvent.html#AXIS_HAT_Y">AXIS_HAT_Y</a> <sup>4</sup>
-          </td>
-        </tr>
-        <tr>
-          <td>
-            <a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_DPAD_LEFT">D-pad left</a> 1<br />
-            <a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_DPAD_RIGHT">D-pad right</a> <sup>1</sup>
-          </td>
-          <td>
-            0x01 0x0039 <sup>3</sup>
-          </td>
-          <td>
-            <a href="http://developer.android.com/reference/android/view/MotionEvent.html#AXIS_HAT_X">AXIS_HAT_X</a> <sup>4</sup>
-          </td>
-        </tr>
-        <tr>
-          <td>
-            <a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BUTTON_L1">Left shoulder button</a> <sup>1</sup>
-          </td>
-          <td>
-            0x09 0x0007
-          </td>
-          <td>
-            KEYCODE_BUTTON_L1 (102)
-          </td>
-        </tr>
-        <tr>
-          <td>
-            <a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BUTTON_R1">Right shoulder button</a> <sup>1</sup>
-          </td>
-          <td>
-            0x09 0x0008
-          </td>
-          <td>
-            KEYCODE_BUTTON_R1 (103)
-          </td>
-        </tr>
-        <tr>
-          <td>
-            <a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BUTTON_THUMBL">Left stick click</a> <sup>1</sup>
-          </td>
-          <td>
-            0x09 0x000E
-          </td>
-          <td>
-            KEYCODE_BUTTON_THUMBL (106)
-          </td>
-        </tr>
-        <tr>
-          <td>
-            <a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BUTTON_THUMBR">Right stick click</a> <sup>1</sup>
-          </td>
-          <td>
-            0x09 0x000F
-          </td>
-          <td>
-            KEYCODE_BUTTON_THUMBR (107)
-          </td>
-        </tr>
-        <tr>
-          <td>
-            <a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_HOME">Home</a> <sup>1</sup>
-          </td>
-          <td>
-            0x0c 0x0223
-          </td>
-          <td>
-            KEYCODE_HOME (3)
-          </td>
-        </tr>
-        <tr>
-          <td>
-            <a href="http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_BACK">Back</a> <sup>1</sup>
-          </td>
-          <td>
-            0x0c 0x0224
-          </td>
-          <td>
-            KEYCODE_BACK (4)
-          </td>
-        </tr>
-      </table>
-      <p class="table_footnote">
-        1 <a href="http://developer.android.com/reference/android/view/KeyEvent.html">KeyEvent</a>
-      </p>
-      <p class="table_footnote">
-        2 The above HID usages must be declared within a Game pad CA (0x01 0x0005).
-      </p>
-      <p class="table_footnote">
-        3 This usage must have a Logical Minimum of 0, a Logical Maximum of 7, a Physical Minimum of 0, a Physical Maximum of 315, Units in Degrees, and a Report Size of 4. The logical value is defined to be the clockwise rotation away from the vertical axis; for example, a logical value of 0 represents no rotation and the up button being pressed, while a logical value of 1 represents a rotation of 45 degrees and both the up and left keys being pressed.
-      </p>
-      <p class="table_footnote">
-        4 <a href="http://developer.android.com/reference/android/view/MotionEvent.html">MotionEvent</a>
-      </p>
-      <table>
-        <tr>
-          <th>
-            Analog Controls <sup>1</sup>
-          </th>
-          <th>
-            HID Usage
-          </th>
-          <th>
-            Android Button
-          </th>
-        </tr>
-        <tr>
-          <td>
-            <a href="http://developer.android.com/reference/android/view/MotionEvent.html#AXIS_LTRIGGER">Left Trigger</a>
-          </td>
-          <td>
-            0x02 0x00C5
-          </td>
-          <td>
-            AXIS_LTRIGGER
-          </td>
-        </tr>
-        <tr>
-          <td>
-            <a href="http://developer.android.com/reference/android/view/MotionEvent.html#AXIS_THROTTLE">Right Trigger</a>
-          </td>
-          <td>
-            0x02 0x00C4
-          </td>
-          <td>
-            AXIS_RTRIGGER
-          </td>
-        </tr>
-        <tr>
-          <td>
-            <a href="http://developer.android.com/reference/android/view/MotionEvent.html#AXIS_Y">Left Joystick</a>
-          </td>
-          <td>
-            0x01 0x0030<br />
-            0x01 0x0031
-          </td>
-          <td>
-            AXIS_X<br />
-            AXIS_Y
-          </td>
-        </tr>
-        <tr>
-          <td>
-            <a href="http://developer.android.com/reference/android/view/MotionEvent.html#AXIS_Z">Right Joystick</a>
-          </td>
-          <td>
-            0x01 0x0032<br />
-            0x01 0x0035
-          </td>
-          <td>
-            AXIS_Z<br />
-            AXIS_RZ
-          </td>
-        </tr>
-      </table>
-      <p class="table_footnote">
-        1 <a href="http://developer.android.com/reference/android/view/MotionEvent.html">MotionEvent</a>
-      </p>
-      <h4 id="7_2_7_remote_control">
-        7.2.7. Remote Control
-      </h4>
-      <p>
-        Android Television device implementations SHOULD provide a remote control to allow users to access the TV interface. The remote control MAY be a physical remote or can be a software-based remote that is accessible from a mobile phone or tablet. The remote control MUST meet the requirements defined below.
-      </p>
-      <ul>
-        <li>
-          <strong>Search affordance</strong> . Device implementations MUST fire KEYCODE_SEARCH when the user invokes voice search either on the physical or software-based remote.
-        </li>
-        <li>
-          <strong>Navigation</strong> . All Android Television remotes MUST include <a href="http://developer.android.com/reference/android/view/KeyEvent.html">Back, Home, and Select buttons and support for D-pad events</a> .
-        </li>
-      </ul>
-      <h3 id="7_3_sensors">
-        7.3. Sensors
-      </h3>
-      <p>
-        Android includes APIs for accessing a variety of sensor types. Devices implementations generally MAY omit these sensors, as provided for in the following subsections. If a device includes a particular sensor type that has a corresponding API for third-party developers, the device implementation MUST implement that API as described in the Android SDK documentation and the Android Open Source documentation on <a href="http://source.android.com/devices/sensors/">sensors</a> . For example, device implementations:
-      </p>
-      <ul>
-        <li>MUST accurately report the presence or absence of sensors per the <a href="http://developer.android.com/reference/android/content/pm/PackageManager.html">android.content.pm.PackageManager</a> class.
-        </li>
-        <li>MUST return an accurate list of supported sensors via the SensorManager.getSensorList() and similar methods.
-        </li>
-        <li>MUST behave reasonably for all other sensor APIs (for example, by returning true or false as appropriate when applications attempt to register listeners, not calling sensor listeners when the corresponding sensors are not present; etc.).
-        </li>
-        <li>MUST <a href="http://developer.android.com/reference/android/hardware/SensorEvent.html">report all sensor measurements</a> using the relevant International System of Units (metric) values for each sensor type as defined in the Android SDK documentation.
-        </li>
-        <li>SHOULD <a href="http://developer.android.com/reference/android/hardware/SensorEvent.html#timestamp">report the event time</a> in nanoseconds as defined in the Android SDK documentation, representing the time the event happened and synchronized with the SystemClock.elapsedRealtimeNano() clock. Existing and new Android devices are <strong>STRONGLY RECOMMENDED</strong> to meet these requirements so they will be able to upgrade to the future platform releases where this might become a REQUIRED component. The synchronization error SHOULD be below 100 milliseconds.
-        </li>
-        <li>MUST report sensor data with a maximum latency of 100 milliseconds + 2 * sample_time for the case of a sensor streamed with a minimum required latency of 5 ms + 2 * sample_time when the application processor is active. This delay does not include any filtering delays.
-        </li>
-        <li>MUST report the first sensor sample within 400 milliseconds + 2 * sample_time of the sensor being activated. It is acceptable for this sample to have an accuracy of 0.
-        </li>
-      </ul>
-      <p>
-        The list above is not comprehensive; the documented behavior of the Android SDK and the Android Open Source Documentations on <a href="http://source.android.com/devices/sensors/">sensors</a> is to be considered authoritative.
-      </p>
-      <p>
-        Some sensor types are composite, meaning they can be derived from data provided by one or more other sensors. (Examples include the orientation sensor and the linear acceleration sensor.) Device implementations SHOULD implement these sensor types, when they include the prerequisite physical sensors as described in <a href="https://source.android.com/devices/sensors/sensor-types.html">sensor types</a> . If a device implementation includes a composite sensor it MUST implement the sensor as described in the Android Open Source documentation on <a href="https://source.android.com/devices/sensors/sensor-types.html#composite_sensor_type_summary">composite sensors</a> .
-      </p>
-      <p>
-        Some Android sensors support a <a href="https://source.android.com/devices/sensors/report-modes.html#continuous">“continuous” trigger mode</a> , which returns data continuously. For any API indicated by the Android SDK documentation to be a continuous sensor, device implementations MUST continuously provide periodic data samples that SHOULD have a jitter below 3%, where jitter is defined as the standard deviation of the difference of the reported timestamp values between consecutive events.
-      </p>
-      <p>
-        Note that the device implementations MUST ensure that the sensor event stream MUST NOT prevent the device CPU from entering a suspend state or waking up from a suspend state.
-      </p>
-      <p>
-        Finally, when several sensors are activated, the power consumption SHOULD NOT exceed the sum of the individual sensor’s reported power consumption.
-      </p>
-      <h4 id="7_3_1_accelerometer">
-        7.3.1. Accelerometer
-      </h4>
-      <p>
-        Device implementations SHOULD include a 3-axis accelerometer. Android Handheld devices, Android Automotive implementations, and Android Watch devices are STRONGLY RECOMMENDED to include this sensor. If a device implementation does include a 3-axis accelerometer, it:
-      </p>
-      <ul>
-        <li>MUST implement and report <a href="http://developer.android.com/reference/android/hardware/Sensor.html#TYPE_ACCELEROMETER">TYPE_ACCELEROMETER sensor</a> .
-        </li>
-        <li>MUST be able to report events up to a frequency of at least 50 Hz for Android Watch devices as such devices have a stricter power constraint and 100 Hz for all other device types.
-        </li>
-        <li>SHOULD report events up to at least 200 Hz.
-        </li>
-        <li>MUST comply with the <a href="http://developer.android.com/reference/android/hardware/SensorEvent.html">Android sensor coordinate system</a> as detailed in the Android APIs. Android Automotive implementations MUST comply with the Android <a href="http://source.android.com/devices/sensors/sensor-types.html#auto_axes">car sensor coordinate system</a> .
-        </li>
-        <li>MUST be capable of measuring from freefall up to four times the gravity (4g) or more on any axis.
-        </li>
-        <li>MUST have a resolution of at least 12-bits and SHOULD have a resolution of at least 16-bits.
-        </li>
-        <li>SHOULD be calibrated while in use if the characteristics changes over the life cycle and compensated, and preserve the compensation parameters between device reboots.
-        </li>
-        <li>SHOULD be temperature compensated.
-        </li>
-        <li>MUST have a standard deviation no greater than 0.05 m/s^, where the standard deviation should be calculated on a per axis basis on samples collected over a period of at least 3 seconds at the fastest sampling rate.
-        </li>
-        <li>SHOULD implement the TYPE_SIGNIFICANT_MOTION, TYPE_TILT_DETECTOR, TYPE_STEP_DETECTOR, TYPE_STEP_COUNTER composite sensors as described in the Android SDK document. Existing and new Android devices are <strong>STRONGLY RECOMMENDED</strong> to implement the TYPE_SIGNIFICANT_MOTION composite sensor. If any of these sensors are implemented, the sum of their power consumption MUST always be less than 4 mW and SHOULD each be below 2 mW and 0.5 mW for when the device is in a dynamic or static condition.
-        </li>
-        <li>If a gyroscope sensor is included, MUST implement the TYPE_GRAVITY and TYPE_LINEAR_ACCELERATION composite sensors and SHOULD implement the TYPE_GAME_ROTATION_VECTOR composite sensor. Existing and new Android devices are STRONGLY RECOMMENDED to implement the TYPE_GAME_ROTATION_VECTOR sensor.
-        </li>
-        <li>MUST implement a TYPE_ROTATION_VECTOR composite sensor, if a gyroscope sensor and a magnetometer sensor is also included.
-        </li>
-      </ul>
-      <h4 id="7_3_2_magnetometer">
-        7.3.2. Magnetometer
-      </h4>
-      <p>
-        Device implementations SHOULD include a 3-axis magnetometer (compass). If a device does include a 3-axis magnetometer, it:
-      </p>
-      <ul>
-        <li>MUST implement the TYPE_MAGNETIC_FIELD sensor and SHOULD also implement TYPE_MAGNETIC_FIELD_UNCALIBRATED sensor. Existing and new Android devices are STRONGLY RECOMMENDED to implement the TYPE_MAGNETIC_FIELD_UNCALIBRATED sensor.
-        </li>
-        <li>MUST be able to report events up to a frequency of at least 10 Hz and SHOULD report events up to at least 50 Hz.
-        </li>
-        <li>MUST comply with the <a href="http://developer.android.com/reference/android/hardware/SensorEvent.html">Android sensor coordinate system</a> as detailed in the Android APIs.
-        </li>
-        <li>MUST be capable of measuring between -900 µT and +900 µT on each axis before saturating.
-        </li>
-        <li>MUST have a hard iron offset value less than 700 µT and SHOULD have a value below 200 µT, by placing the magnetometer far from dynamic (current-induced) and static (magnet-induced) magnetic fields.
-        </li>
-        <li>MUST have a resolution equal or denser than 0.6 µT and SHOULD have a resolution equal or denser than 0.2 µT.
-        </li>
-        <li>SHOULD be temperature compensated.
-        </li>
-        <li>MUST support online calibration and compensation of the hard iron bias, and preserve the compensation parameters between device reboots.
-        </li>
-        <li>MUST have the soft iron compensation applied—the calibration can be done either while in use or during the production of the device.
-        </li>
-        <li>SHOULD have a standard deviation, calculated on a per axis basis on samples collected over a period of at least 3 seconds at the fastest sampling rate, no greater than 0.5 µT.
-        </li>
-        <li>MUST implement a TYPE_ROTATION_VECTOR composite sensor, if an accelerometer sensor and a gyroscope sensor is also included.
-        </li>
-        <li>MAY implement the TYPE_GEOMAGNETIC_ROTATION_VECTOR sensor if an accelerometer sensor is also implemented. However if implemented, it MUST consume less than 10 mW and SHOULD consume less than 3 mW when the sensor is registered for batch mode at 10 Hz.
-        </li>
-      </ul>
-      <h4 id="7_3_3_gps">
-        7.3.3. GPS
-      </h4>
-      <p>
-        Device implementations SHOULD include a GPS/GNSS receiver. If a device implementation does include a GPS/GNSS receiver and reports the capability to applications through the <code>android.hardware.location.gps</code> feature flag:
-      </p>
-      <ul>
-        <li>It is STRONGLY RECOMMENDED that the device continue to deliver normal GPS/GNSS outputs to applications during an emergency phone call and that location output not be blocked during an emergency phone call.
-        </li>
-        <li>It MUST support location outputs at a rate of at least 1 Hz when requested via <code>LocationManager#requestLocationUpdate</code> .
-        </li>
-        <li>It MUST be able to determine the location in open-sky conditions (strong signals, negligible multipath, HDOP &lt; 2) within 10 seconds (fast time to first fix), when connected to a 0.5 Mbps or faster data speed internet connection. This requirement is typically met by the use of some form of Assisted or Predicted GPS/GNSS technique to minimize GPS/GNSS lock-on time (Assistance data includes Reference Time, Reference Location and Satellite Ephemeris/Clock).
-          <ul>
-            <li>After making such a location calculation, it is STRONGLY RECOMMENDED for the device to be able to determine its location, in open sky, within 10 seconds, when location requests are restarted, up to an hour after the initial location calculation, even when the subsequent request is made without a data connection, and/or after a power cycle.
-            </li>
-          </ul>
-        </li>
-        <li>In open sky conditions after determining the location, while stationary or moving with less than 1 meter per second squared of acceleration:
-          <ul>
-            <li>It MUST be able to determine location within 20 meters, and speed within 0.5 meters per second, at least 95% of the time.
-            </li>
-            <li>It MUST simultaneously track and report via <a href="https://developer.android.com/reference/android/location/GnssStatus.Callback.html#GnssStatus.Callback()'">GnssStatus.Callback</a> at least 8 satellites from one constellation.
-            </li>
-            <li>It SHOULD be able to simultaneously track at least 24 satellites, from multiple constellations (e.g. GPS + at least one of Glonass, Beidou, Galileo).
-            </li>
-          </ul>
-        </li>
-        <li>It MUST report the GNSS technology generation through the test API ‘getGnssYearOfHardware’.
-        </li>
-        <li>It is STRONGLY RECOMMENDED to meet and MUST meet all requirements below if the GNSS technology generation is reported as the year "2016" or newer.
-          <ul>
-            <li>It MUST report GPS measurements, as soon as they are found, even if a location calculated from GPS/GNSS is not yet reported.
-            </li>
-            <li>It MUST report GPS pseudoranges and pseudorange rates, that, in open-sky conditions after determining the location, while stationary or moving with less than 0.2 meter per second squared of acceleration, are sufficient to calculate position within 20 meters, and speed within 0.2 meters per second, at least 95% of the time.
-            </li>
-          </ul>
-        </li>
-      </ul>
-      <p>
-        Note that while some of the GPS requirements above are stated as STRONGLY RECOMMENDED, the Compatibility Definition for the next major version is expected to change these to a MUST.
-      </p>
-      <h4 id="7_3_4_gyroscope">
-        7.3.4. Gyroscope
-      </h4>
-      <p>
-        Device implementations SHOULD include a gyroscope (angular change sensor). Devices SHOULD NOT include a gyroscope sensor unless a 3-axis accelerometer is also included. If a device implementation includes a gyroscope, it:
-      </p>
-      <ul>
-        <li>MUST implement the TYPE_GYROSCOPE sensor and SHOULD also implement TYPE_GYROSCOPE_UNCALIBRATED sensor. Existing and new Android devices are STRONGLY RECOMMENDED to implement the SENSOR_TYPE_GYROSCOPE_UNCALIBRATED sensor.
-        </li>
-        <li>MUST be capable of measuring orientation changes up to 1,000 degrees per second.
-        </li>
-        <li>MUST be able to report events up to a frequency of at least 50 Hz for Android Watch devices as such devices have a stricter power constraint and 100 Hz for all other device types.
-        </li>
-        <li>SHOULD report events up to at least 200 Hz.
-        </li>
-        <li>MUST have a resolution of 12-bits or more and SHOULD have a resolution of 16-bits or more.
-        </li>
-        <li>MUST be temperature compensated.
-        </li>
-        <li>MUST be calibrated and compensated while in use, and preserve the compensation parameters between device reboots.
-        </li>
-        <li>MUST have a variance no greater than 1e-7 rad^2 / s^2 per Hz (variance per Hz, or rad^2 / s). The variance is allowed to vary with the sampling rate, but must be constrained by this value. In other words, if you measure the variance of the gyro at 1 Hz sampling rate it should be no greater than 1e-7 rad^2/s^2.
-        </li>
-        <li>MUST implement a TYPE_ROTATION_VECTOR composite sensor, if an accelerometer sensor and a magnetometer sensor is also included.
-        </li>
-        <li>If an accelerometer sensor is included, MUST implement the TYPE_GRAVITY and TYPE_LINEAR_ACCELERATION composite sensors and SHOULD implement the TYPE_GAME_ROTATION_VECTOR composite sensor. Existing and new Android devices are STRONGLY RECOMMENDED to implement the TYPE_GAME_ROTATION_VECTOR sensor.
-        </li>
-      </ul>
-      <h4 id="7_3_5_barometer">
-        7.3.5. Barometer
-      </h4>
-      <p>
-        Device implementations SHOULD include a barometer (ambient air pressure sensor). If a device implementation includes a barometer, it:
-      </p>
-      <ul>
-        <li>MUST implement and report TYPE_PRESSURE sensor.
-        </li>
-        <li>MUST be able to deliver events at 5 Hz or greater.
-        </li>
-        <li>MUST have adequate precision to enable estimating altitude.
-        </li>
-        <li>MUST be temperature compensated.
-        </li>
-      </ul>
-      <h4 id="7_3_6_thermometer">
-        7.3.6. Thermometer
-      </h4>
-      <p>
-        Device implementations MAY include an ambient thermometer (temperature sensor). If present, it MUST be defined as SENSOR_TYPE_AMBIENT_TEMPERATURE and it MUST measure the ambient (room) temperature in degrees Celsius.
-      </p>
-      <p>
-        Device implementations MAY but SHOULD NOT include a CPU temperature sensor. If present, it MUST be defined as SENSOR_TYPE_TEMPERATURE, it MUST measure the temperature of the device CPU, and it MUST NOT measure any other temperature. Note the SENSOR_TYPE_TEMPERATURE sensor type was deprecated in Android 4.0.
-      </p>
-      <div class="note">
-        For Android Automotive implementations, SENSOR_TYPE_AMBIENT_TEMPERATURE MUST measure the temperature inside the vehicle cabin.
-      </div>
-      <h4 id="7_3_7_photometer">
-        7.3.7. Photometer
-      </h4>
-      <p>
-        Device implementations MAY include a photometer (ambient light sensor).
-      </p>
-      <h4 id="7_3_8_proximity_sensor">
-        7.3.8. Proximity Sensor
-      </h4>
-      <p>
-        Device implementations MAY include a proximity sensor. Devices that can make a voice call and indicate any value other than PHONE_TYPE_NONE in getPhoneType SHOULD include a proximity sensor. If a device implementation does include a proximity sensor, it:
-      </p>
-      <ul>
-        <li>MUST measure the proximity of an object in the same direction as the screen. That is, the proximity sensor MUST be oriented to detect objects close to the screen, as the primary intent of this sensor type is to detect a phone in use by the user. If a device implementation includes a proximity sensor with any other orientation, it MUST NOT be accessible through this API.
-        </li>
-        <li>MUST have 1-bit of accuracy or more.
-        </li>
-      </ul>
-      <h4 id="7_3_9_high_fidelity_sensors">
-        7.3.9. High Fidelity Sensors
-      </h4>
-      <p>
-        Device implementations supporting a set of higher quality sensors that can meet all the requirements listed in this section MUST identify the support through the <code>android.hardware.sensor.hifi_sensors</code> feature flag.
-      </p>
-      <p>
-        A device declaring android.hardware.sensor.hifi_sensors MUST support all of the following sensor types meeting the quality requirements as below:
-      </p>
-      <ul>
-        <li>SENSOR_TYPE_ACCELEROMETER
-          <ul>
-            <li>MUST have a measurement range between at least -8g and +8g.
-            </li>
-            <li>MUST have a measurement resolution of at least 1024 LSB/G.
-            </li>
-            <li>MUST have a minimum measurement frequency of 12.5 Hz or lower.
-            </li>
-            <li>MUST have a maximum measurement frequency of 400 Hz or higher.
-            </li>
-            <li>MUST have a measurement noise not above 400 uG/√Hz.
-            </li>
-            <li>MUST implement a non-wake-up form of this sensor with a buffering capability of at least 3000 sensor events.
-            </li>
-            <li>MUST have a batching power consumption not worse than 3 mW.
-            </li>
-            <li>SHOULD have a stationary noise bias stability of \&lt;15 μg √Hz from 24hr static dataset.
-            </li>
-            <li>SHOULD have a bias change vs. temperature of ≤ +/- 1mg / °C.
-            </li>
-            <li>SHOULD have a best-fit line non-linearity of ≤ 0.5%, and sensitivity change vs. temperature of ≤ 0.03%/C°.
-            </li>
-          </ul>
-        </li>
-        <li>
-          <p>
-            SENSOR_TYPE_GYROSCOPE
-          </p>
-          <ul>
-            <li>MUST have a measurement range between at least -1000 and +1000 dps.
-            </li>
-            <li>MUST have a measurement resolution of at least 16 LSB/dps.
-            </li>
-            <li>MUST have a minimum measurement frequency of 12.5 Hz or lower.
-            </li>
-            <li>MUST have a maximum measurement frequency of 400 Hz or higher.
-            </li>
-            <li>MUST have a measurement noise not above 0.014°/s/√Hz.
-            </li>
-            <li>SHOULD have a stationary bias stability of &lt; 0.0002 °/s √Hz from 24-hour static dataset.
-            </li>
-            <li>SHOULD have a bias change vs. temperature of ≤ +/- 0.05 °/ s / °C.
-            </li>
-            <li>SHOULD have a sensitivity change vs. temperature of ≤ 0.02% / °C.
-            </li>
-            <li>SHOULD have a best-fit line non-linearity of ≤ 0.2%.
-            </li>
-            <li>SHOULD have a noise density of ≤ 0.007 °/s/√Hz.
-            </li>
-          </ul>
-        </li>
-        <li>
-          <p>
-            SENSOR_TYPE_GYROSCOPE_UNCALIBRATED with the same quality requirements as SENSOR_TYPE_GYROSCOPE.
-          </p>
-        </li>
-        <li>SENSOR_TYPE_GEOMAGNETIC_FIELD
-          <ul>
-            <li>MUST have a measurement range between at least -900 and +900 uT.
-            </li>
-            <li>MUST have a measurement resolution of at least 5 LSB/uT.
-            </li>
-            <li>MUST have a minimum measurement frequency of 5 Hz or lower.
-            </li>
-            <li>MUST have a maximum measurement frequency of 50 Hz or higher.
-            </li>
-            <li>MUST have a measurement noise not above 0.5 uT.
-            </li>
-          </ul>
-        </li>
-        <li>SENSOR_TYPE_MAGNETIC_FIELD_UNCALIBRATED with the same quality requirements as SENSOR_TYPE_GEOMAGNETIC_FIELD and in addition:
-          <ul>
-            <li>MUST implement a non-wake-up form of this sensor with a buffering capability of at least 600 sensor events.
-            </li>
-          </ul>
-        </li>
-        <li>SENSOR_TYPE_PRESSURE
-          <ul>
-            <li>MUST have a measurement range between at least 300 and 1100 hPa.
-            </li>
-            <li>MUST have a measurement resolution of at least 80 LSB/hPa.
-            </li>
-            <li>MUST have a minimum measurement frequency of 1 Hz or lower.
-            </li>
-            <li>MUST have a maximum measurement frequency of 10 Hz or higher.
-            </li>
-            <li>MUST have a measurement noise not above 2 Pa/√Hz.
-            </li>
-            <li>MUST implement a non-wake-up form of this sensor with a buffering capability of at least 300 sensor events.
-            </li>
-            <li>MUST have a batching power consumption not worse than 2 mW.
-            </li>
-          </ul>
-        </li>
-        <li>SENSOR_TYPE_GAME_ROTATION_VECTOR
-          <ul>
-            <li>MUST implement a non-wake-up form of this sensor with a buffering capability of at least 300 sensor events.
-            </li>
-            <li>MUST have a batching power consumption not worse than 4 mW.
-            </li>
-          </ul>
-        </li>
-        <li>SENSOR_TYPE_SIGNIFICANT_MOTION
-          <ul>
-            <li>MUST have a power consumption not worse than 0.5 mW when device is static and 1.5 mW when device is moving.
-            </li>
-          </ul>
-        </li>
-        <li>SENSOR_TYPE_STEP_DETECTOR
-          <ul>
-            <li>MUST implement a non-wake-up form of this sensor with a buffering capability of at least 100 sensor events.
-            </li>
-            <li>MUST have a power consumption not worse than 0.5 mW when device is static and 1.5 mW when device is moving.
-            </li>
-            <li>MUST have a batching power consumption not worse than 4 mW.
-            </li>
-          </ul>
-        </li>
-        <li>SENSOR_TYPE_STEP_COUNTER
-          <ul>
-            <li>MUST have a power consumption not worse than 0.5 mW when device is static and 1.5 mW when device is moving.
-            </li>
-          </ul>
-        </li>
-        <li>SENSOR_TILT_DETECTOR
-          <ul>
-            <li>MUST have a power consumption not worse than 0.5 mW when device is static and 1.5 mW when device is moving.
-            </li>
-          </ul>
-        </li>
-      </ul>
-      <p>
-        Also such a device MUST meet the following sensor subsystem requirements:
-      </p>
-      <ul>
-        <li>The event timestamp of the same physical event reported by the Accelerometer, Gyroscope sensor and Magnetometer MUST be within 2.5 milliseconds of each other.
-        </li>
-        <li>The Gyroscope sensor event timestamps MUST be on the same time base as the camera subsystem and within 1 milliseconds of error.
-        </li>
-        <li>High Fidelity sensors MUST deliver samples to applications within 5 milliseconds from the time when the data is available on the physical sensor to the application.
-        </li>
-        <li>The power consumption MUST not be higher than 0.5 mW when device is static and 2.0 mW when device is moving when any combination of the following sensors are enabled:
-          <ul>
-            <li>SENSOR_TYPE_SIGNIFICANT_MOTION
-            </li>
-            <li>SENSOR_TYPE_STEP_DETECTOR
-            </li>
-            <li>SENSOR_TYPE_STEP_COUNTER
-            </li>
-            <li>SENSOR_TILT_DETECTORS
-            </li>
-          </ul>
-        </li>
-      </ul>
-      <p>
-        Note that all power consumption requirements in this section do not include the power consumption of the Application Processor. It is inclusive of the power drawn by the entire sensor chain—the sensor, any supporting circuitry, any dedicated sensor processing system, etc.
-      </p>
-      <p>
-        The following sensor types MAY also be supported on a device implementation declaring android.hardware.sensor.hifi_sensors, but if these sensor types are present they MUST meet the following minimum buffering capability requirement:
-      </p>
-      <ul>
-        <li>SENSOR_TYPE_PROXIMITY: 100 sensor events
-        </li>
-      </ul>
-      <h4 id="7_3_10_fingerprint_sensor">
-        7.3.10. Fingerprint Sensor
-      </h4>
-      <p>
-        Device implementations with a secure lock screen SHOULD include a fingerprint sensor. If a device implementation includes a fingerprint sensor and has a corresponding API for third-party developers, it:
-      </p>
-      <ul>
-        <li>MUST declare support for the android.hardware.fingerprint feature.
-        </li>
-        <li>MUST fully implement the <a href="https://developer.android.com/reference/android/hardware/fingerprint/package-summary.html">corresponding API</a> as described in the Android SDK documentation.
-        </li>
-        <li>MUST have a false acceptance rate not higher than 0.002%.
-        </li>
-        <li>Is STRONGLY RECOMMENDED to have a false rejection rate of less than 10%, as measured on the device
-        </li>
-        <li>Is STRONGLY RECOMMENDED to have a latency below 1 second, measured from when the fingerprint sensor is touched until the screen is unlocked, for one enrolled finger.
-        </li>
-        <li>MUST rate limit attempts for at least 30 seconds after five false trials for fingerprint verification.
-        </li>
-        <li>MUST have a hardware-backed keystore implementation, and perform the fingerprint matching in a Trusted Execution Environment (TEE) or on a chip with a secure channel to the TEE.
-        </li>
-        <li>MUST have all identifiable fingerprint data encrypted and cryptographically authenticated such that they cannot be acquired, read or altered outside of the Trusted Execution Environment (TEE) as documented in the <a href="https://source.android.com/devices/tech/security/authentication/fingerprint-hal.html">implementation guidelines</a> on the Android Open Source Project site.
-        </li>
-        <li>MUST prevent adding a fingerprint without first establishing a chain of trust by having the user confirm existing or add a new device credential (PIN/pattern/password) that's secured by TEE; the Android Open Source Project implementation provides the mechanism in the framework to do so.
-        </li>
-        <li>MUST NOT enable 3rd-party applications to distinguish between individual fingerprints.
-        </li>
-        <li>MUST honor the DevicePolicyManager.KEYGUARD_DISABLE_FINGERPRINT flag.
-        </li>
-        <li>MUST, when upgraded from a version earlier than Android 6.0, have the fingerprint data securely migrated to meet the above requirements or removed.
-        </li>
-        <li>SHOULD use the Android Fingerprint icon provided in the Android Open Source Project.
-        </li>
-      </ul>
-      <h4 id="7_3_11_android_automotive-only_sensors">
-        7.3.11. Android Automotive-only sensors
-      </h4>
-      <p>
-        Automotive-specific sensors are defined in the <code>android.car.CarSensorManager API</code> .
-      </p>
-      <h5 id="7_3_11_1_current_gear">
-        7.3.11.1. Current Gear
-      </h5>
-      <p>
-        Android Automotive implementations SHOULD provide current gear as SENSOR_TYPE_GEAR.
-      </p>
-      <h5 id="7_3_11_2_day_night_mode">
-        7.3.11.2. Day Night Mode
-      </h5>
-      <p>
-        Android Automotive implementations MUST support day/night mode defined as SENSOR_TYPE_NIGHT. The value of this flag MUST be consistent with dashboard day/night mode and SHOULD be based on ambient light sensor input. The underlying ambient light sensor MAY be the same as <a href="#7_3_7_photometer">Photometer</a> .
-      </p>
-      <h5 id="7_3_11_3_driving_status">
-        7.3.11.3. Driving Status
-      </h5>
-      <p>
-        Android Automotive implementations MUST support driving status defined as SENSOR_TYPE_DRIVING_STATUS, with a default value of DRIVE_STATUS_UNRESTRICTED when the vehicle is fully stopped and parked. It is the responsibility of device manufacturers to configure SENSOR_TYPE_DRIVING_STATUS in compliance with all laws and regulations that apply to markets where the product is shipping.
-      </p>
-      <h5 id="7_3_11_4_wheel_speed">
-        7.3.11.4. Wheel Speed
-      </h5>
-      <p>
-        Android Automotive implementations MUST provide vehicle speed defined as SENSOR_TYPE_CAR_SPEED.
-      </p>
-      <h3 id="7_3_12_pose_sensor">
-        7.3.12. Pose Sensor
-      </h3>
-      <p>
-        Device implementations MAY support pose sensor with 6 degrees of freedom. Android Handheld devices are RECOMMENDED to support this sensor. If a device implementation does support pose sensor with 6 degrees of freedom, it:
-      </p>
-      <ul>
-        <li>MUST implement and report <a href="https://developer.android.com/reference/android/hardware/Sensor.html#TYPE_POSE_6DOF"><code>TYPE_POSE_6DOF</code></a> sensor.
-        </li>
-        <li>MUST be more accurate than the rotation vector alone.
-        </li>
-      </ul>
-      <h3 id="7_4_data_connectivity">
-        7.4. Data Connectivity
-      </h3>
-      <h4 id="7_4_1_telephony">
-        7.4.1. Telephony
-      </h4>
-      <p>
-        “Telephony” as used by the Android APIs and this document refers specifically to hardware related to placing voice calls and sending SMS messages via a GSM or CDMA network. While these voice calls may or may not be packet-switched, they are for the purposes of Android considered independent of any data connectivity that may be implemented using the same network. In other words, the Android “telephony” functionality and APIs refer specifically to voice calls and SMS. For instance, device implementations that cannot place calls or send/receive SMS messages MUST NOT report the android.hardware.telephony feature or any subfeatures, regardless of whether they use a cellular network for data connectivity.
-      </p>
-      <p>
-        Android MAY be used on devices that do not include telephony hardware. That is, Android is compatible with devices that are not phones. However, if a device implementation does include GSM or CDMA telephony, it MUST implement full support for the API for that technology. Device implementations that do not include telephony hardware MUST implement the full APIs as no-ops.
-      </p>
-      <h5 id="7_4_1_1_number_blocking_compatibility">
-        7.4.1.1. Number Blocking Compatibility
-      </h5>
-      <p>
-        Android Telephony device implementations MUST include number blocking support and:
-      </p>
-      <ul>
-        <li>MUST fully implement <a href="http://developer.android.com/reference/android/provider/BlockedNumberContract.html">BlockedNumberContract</a> and the corresponding API as described in the SDK documentation.
-        </li>
-        <li>MUST block all calls and messages from a phone number in 'BlockedNumberProvider' without any interaction with apps. The only exception is when number blocking is temporarily lifted as described in the SDK documentation.
-        </li>
-        <li>MUST NOT write to the <a href="http://developer.android.com/reference/android/provider/CallLog.html">platform call log provider</a> for a blocked call.
-        </li>
-        <li>MUST NOT write to the <a href="http://developer.android.com/reference/android/provider/Telephony.html">Telephony provider</a> for a blocked message.
-        </li>
-        <li>MUST implement a blocked numbers management UI, which is opened with the intent returned by TelecomManager.createManageBlockedNumbersIntent() method.
-        </li>
-        <li>MUST NOT allow secondary users to view or edit the blocked numbers on the device as the Android platform assumes the primary user to have full control of the telephony services, a single instance, on the device. All blocking related UI MUST be hidden for secondary users and the blocked list MUST still be respected.
-        </li>
-        <li>SHOULD migrate the blocked numbers into the provider when a device updates to Android 7.0.
-        </li>
-      </ul>
-      <h4 id="7_4_2_ieee_802_11_(wi-fi)">
-        7.4.2. IEEE 802.11 (Wi-Fi)
-      </h4>
-      <p>
-        All Android device implementations SHOULD include support for one or more forms of 802.11. If a device implementation does include support for 802.11 and exposes the functionality to a third-party application, it MUST implement the corresponding Android API and:
-      </p>
-      <ul>
-        <li>MUST report the hardware feature flag android.hardware.wifi.
-        </li>
-        <li>MUST implement the <a href="http://developer.android.com/reference/android/net/wifi/WifiManager.MulticastLock.html">multicast API</a> as described in the SDK documentation.
-        </li>
-        <li>MUST support multicast DNS (mDNS) and MUST NOT filter mDNS packets (224.0.0.251) at any time of operation including:
-          <ul>
-            <li>Even when the screen is not in an active state.
-            </li>
-            <li>For Android Television device implementations, even when in standby power states.
-            </li>
-          </ul>
-        </li>
-      </ul>
-      <h5 id="7_4_2_1_wi-fi_direct">
-        7.4.2.1. Wi-Fi Direct
-      </h5>
-      <p>
-        Device implementations SHOULD include support for Wi-Fi Direct (Wi-Fi peer-to-peer). If a device implementation does include support for Wi-Fi Direct, it MUST implement the <a href="http://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.html">corresponding Android API</a> as described in the SDK documentation. If a device implementation includes support for Wi-Fi Direct, then it:
-      </p>
-      <ul>
-        <li>MUST report the hardware feature android.hardware.wifi.direct.
-        </li>
-        <li>MUST support regular Wi-Fi operation.
-        </li>
-        <li>SHOULD support concurrent Wi-Fi and Wi-Fi Direct operation.
-        </li>
-      </ul>
-      <h5 id="7_4_2_2_wi-fi_tunneled_direct_link_setup">
-        7.4.2.2. Wi-Fi Tunneled Direct Link Setup
-      </h5>
-      <p>
-        Device implementations SHOULD include support for <a href="http://developer.android.com/reference/android/net/wifi/WifiManager.html">Wi-Fi Tunneled Direct Link Setup (TDLS)</a> as described in the Android SDK Documentation. If a device implementation does include support for TDLS and TDLS is enabled by the WiFiManager API, the device:
-      </p>
-      <ul>
-        <li>SHOULD use TDLS only when it is possible AND beneficial.
-        </li>
-        <li>SHOULD have some heuristic and NOT use TDLS when its performance might be worse than going through the Wi-Fi access point.
-        </li>
-      </ul>
-      <h4 id="7_4_3_bluetooth">
-        7.4.3. Bluetooth
-      </h4>
-      <div class="note">
-        Android Watch implementations MUST support Bluetooth. Android Television implementations MUST support Bluetooth and Bluetooth LE. Android Automotive implementations MUST support Bluetooth and SHOULD support Bluetooth LE.
-      </div>
-      <p>
-        Device implementations that support <code>android.hardware.vr.high_performance</code> feature MUST support Bluetooth 4.2 and Bluetooth LE Data Length Extension.
-      </p>
-      <p>
-        Android includes support for <a href="http://developer.android.com/reference/android/bluetooth/package-summary.html">Bluetooth and Bluetooth Low Energy</a> . Device implementations that include support for Bluetooth and Bluetooth Low Energy MUST declare the relevant platform features (android.hardware.bluetooth and android.hardware.bluetooth_le respectively) and implement the platform APIs. Device implementations SHOULD implement relevant Bluetooth profiles such as A2DP, AVCP, OBEX, etc. as appropriate for the device.
-      </p>
-      <p>
-        Android Automotive implementations SHOULD support Message Access Profile (MAP). Android Automotive implementations MUST support the following Bluetooth profiles:
-      </p>
-      <ul>
-        <li>Phone calling over Hands-Free Profile (HFP).
-        </li>
-        <li>Media playback over Audio Distribution Profile (A2DP).
-        </li>
-        <li>Media playback control over Remote Control Profile (AVRCP).
-        </li>
-        <li>Contact sharing using the Phone Book Access Profile (PBAP).
-        </li>
-      </ul>
-      <p>
-        Device implementations including support for Bluetooth Low Energy:
-      </p>
-      <ul>
-        <li>MUST declare the hardware feature android.hardware.bluetooth_le.
-        </li>
-        <li>MUST enable the GATT (generic attribute profile) based Bluetooth APIs as described in the SDK documentation and <a href="http://developer.android.com/reference/android/bluetooth/package-summary.html">android.bluetooth</a> .
-        </li>
-        <li>are STRONGLY RECOMMENDED to implement a Resolvable Private Address (RPA) timeout no longer than 15 minutes and rotate the address at timeout to protect user privacy.
-        </li>
-        <li>SHOULD support offloading of the filtering logic to the bluetooth chipset when implementing the <a href="https://developer.android.com/reference/android/bluetooth/le/ScanFilter.html">ScanFilter API</a> , and MUST report the correct value of where the filtering logic is implemented whenever queried via the android.bluetooth.BluetoothAdapter.isOffloadedFilteringSupported() method.
-        </li>
-        <li>SHOULD support offloading of the batched scanning to the bluetooth chipset, but if not supported, MUST report ‘false’ whenever queried via the android.bluetooth.BluetoothAdapter.isOffloadedScanBatchingSupported() method.
-        </li>
-        <li>SHOULD support multi advertisement with at least 4 slots, but if not supported, MUST report ‘false’ whenever queried via the android.bluetooth.BluetoothAdapter.isMultipleAdvertisementSupported() method.
-        </li>
-      </ul>
-      <h4 id="7_4_4_near-field_communications">
-        7.4.4. Near-Field Communications
-      </h4>
-      <p>
-        Device implementations SHOULD include a transceiver and related hardware for Near-Field Communications (NFC). If a device implementation does include NFC hardware and plans to make it available to third-party apps, then it:
-      </p>
-      <ul>
-        <li>MUST report the android.hardware.nfc feature from the <a href="http://developer.android.com/reference/android/content/pm/PackageManager.html">android.content.pm.PackageManager.hasSystemFeature() method</a> .
-        </li>
-        <li>MUST be capable of reading and writing NDEF messages via the following NFC standards:
-          <ul>
-            <li>MUST be capable of acting as an NFC Forum reader/writer (as defined by the NFC Forum technical specification NFCForum-TS-DigitalProtocol-1.0) via the following NFC standards:
-              <ul>
-                <li>NfcA (ISO14443-3A)
-                </li>
-                <li>NfcB (ISO14443-3B)
-                </li>
-                <li>NfcF (JIS X 6319-4)
-                </li>
-                <li>IsoDep (ISO 14443-4)
-                </li>
-                <li>NFC Forum Tag Types 1, 2, 3, 4 (defined by the NFC Forum)
-                </li>
-              </ul>
-            </li>
-            <li>STRONGLY RECOMMENDED to be capable of reading and writing NDEF messages as well as raw data via the following NFC standards. Note that while the NFC standards below are stated as STRONGLY RECOMMENDED, the Compatibility Definition for a future version is planned to change these to MUST. These standards are optional in this version but will be required in future versions. Existing and new devices that run this version of Android are very strongly encouraged to meet these requirements now so they will be able to upgrade to the future platform releases.
-              <ul>
-                <li>NfcV (ISO 15693)
-                </li>
-              </ul>
-            </li>
-            <li>SHOULD be capable of reading the barcode and URL (if encoded) of <a href="http://developer.android.com/reference/android/nfc/tech/NfcBarcode.html">Thinfilm NFC Barcode</a> products.
-            </li>
-            <li>MUST be capable of transmitting and receiving data via the following peer-to-peer standards and protocols:
-              <ul>
-                <li>ISO 18092
-                </li>
-                <li>LLCP 1.2 (defined by the NFC Forum)
-                </li>
-                <li>SDP 1.0 (defined by the NFC Forum)
-                </li>
-                <li>
-                  <a href="http://static.googleusercontent.com/media/source.android.com/en/us/compatibility/ndef-push-protocol.pdf">NDEF Push Protocol</a>
-                </li>
-                <li>SNEP 1.0 (defined by the NFC Forum)
-                </li>
-              </ul>
-            </li>
-            <li>MUST include support for <a href="http://developer.android.com/guide/topics/connectivity/nfc/nfc.html">Android Beam</a> .
-            </li>
-            <li>MUST implement the SNEP default server. Valid NDEF messages received by the default SNEP server MUST be dispatched to applications using the android.nfc.ACTION_NDEF_DISCOVERED intent. Disabling Android Beam in settings MUST NOT disable dispatch of incoming NDEF message.
-            </li>
-            <li>MUST honor the android.settings.NFCSHARING_SETTINGS intent to show <a href="http://developer.android.com/reference/android/provider/Settings.html#ACTION_NFCSHARING_SETTINGS">NFC sharing settings</a> .
-            </li>
-            <li>MUST implement the NPP server. Messages received by the NPP server MUST be processed the same way as the SNEP default server.
-            </li>
-            <li>MUST implement a SNEP client and attempt to send outbound P2P NDEF to the default SNEP server when Android Beam is enabled. If no default SNEP server is found then the client MUST attempt to send to an NPP server.
-            </li>
-            <li>MUST allow foreground activities to set the outbound P2P NDEF message using android.nfc.NfcAdapter.setNdefPushMessage, and android.nfc.NfcAdapter.setNdefPushMessageCallback, and android.nfc.NfcAdapter.enableForegroundNdefPush.
-            </li>
-            <li>SHOULD use a gesture or on-screen confirmation, such as 'Touch to Beam', before sending outbound P2P NDEF messages.
-            </li>
-            <li>SHOULD enable Android Beam by default and MUST be able to send and receive using Android Beam, even when another proprietary NFC P2p mode is turned on.
-            </li>
-            <li>MUST support NFC Connection handover to Bluetooth when the device supports Bluetooth Object Push Profile. Device implementations MUST support connection handover to Bluetooth when using android.nfc.NfcAdapter.setBeamPushUris, by implementing the “ <a href="http://members.nfc-forum.org/specs/spec_list/#conn_handover">Connection Handover version 1.2</a> ” and “ <a href="http://members.nfc-forum.org/apps/group_public/download.php/18688/NFCForum-AD-BTSSP_1_1.pdf">Bluetooth Secure Simple Pairing Using NFC version 1.0</a> ” specs from the NFC Forum. Such an implementation MUST implement the handover LLCP service with service name “urn:nfc:sn:handover” for exchanging the handover request/select records over NFC, and it MUST use the Bluetooth Object Push Profile for the actual Bluetooth data transfer. For legacy reasons (to remain compatible with Android 4.1 devices), the implementation SHOULD still accept SNEP GET requests for exchanging the handover request/select records over NFC. However an implementation itself SHOULD NOT send SNEP GET requests for performing connection handover.
-            </li>
-            <li>MUST poll for all supported technologies while in NFC discovery mode.
-            </li>
-            <li>SHOULD be in NFC discovery mode while the device is awake with the screen active and the lock-screen unlocked.
-            </li>
-          </ul>
-        </li>
-      </ul>
-      <p>
-        (Note that publicly available links are not available for the JIS, ISO, and NFC Forum specifications cited above.)
-      </p>
-      <p>
-        Android includes support for NFC Host Card Emulation (HCE) mode. If a device implementation does include an NFC controller chipset capable of HCE (for NfcA and/or NfcB) and it supports Application ID (AID) routing, then it:
-      </p>
-      <ul>
-        <li>MUST report the android.hardware.nfc.hce feature constant.
-        </li>
-        <li>MUST support <a href="http://developer.android.com/guide/topics/connectivity/nfc/hce.html">NFC HCE APIs</a> as defined in the Android SDK.
-        </li>
-      </ul>
-      <p>
-        If a device implementation does include an NFC controller chipset capable of HCE for NfcF, and it implements the feature for third-party applications, then it:
-      </p>
-      <ul>
-        <li>MUST report the android.hardware.nfc.hcef feature constant.
-        </li>
-        <li>MUST implement the [NfcF Card Emulation APIs] (https://developer.android.com/reference/android/nfc/cardemulation/NfcFCardEmulation.html) as defined in the Android SDK.
-        </li>
-      </ul>
-      <p>
-        Additionally, device implementations MAY include reader/writer support for the following MIFARE technologies.
-      </p>
-      <ul>
-        <li>MIFARE Classic
-        </li>
-        <li>MIFARE Ultralight
-        </li>
-        <li>NDEF on MIFARE Classic
-        </li>
-      </ul>
-      <p>
-        Note that Android includes APIs for these MIFARE types. If a device implementation supports MIFARE in the reader/writer role, it:
-      </p>
-      <ul>
-        <li>MUST implement the corresponding Android APIs as documented by the Android SDK.
-        </li>
-        <li>MUST report the feature com.nxp.mifare from the <a href="http://developer.android.com/reference/android/content/pm/PackageManager.html">android.content.pm.PackageManager.hasSystemFeature()</a> method. Note that this is not a standard Android feature and as such does not appear as a constant in the android.content.pm.PackageManager class.
-        </li>
-        <li>MUST NOT implement the corresponding Android APIs nor report the com.nxp.mifare feature unless it also implements general NFC support as described in this section.
-        </li>
-      </ul>
-      <p>
-        If a device implementation does not include NFC hardware, it MUST NOT declare the android.hardware.nfc feature from the <a href="http://developer.android.com/reference/android/content/pm/PackageManager.html">android.content.pm.PackageManager.hasSystemFeature()</a> method, and MUST implement the Android NFC API as a no-op.
-      </p>
-      <p>
-        As the classes android.nfc.NdefMessage and android.nfc.NdefRecord represent a protocol-independent data representation format, device implementations MUST implement these APIs even if they do not include support for NFC or declare the android.hardware.nfc feature.
-      </p>
-      <h4 id="7_4_5_minimum_network_capability">
-        7.4.5. Minimum Network Capability
-      </h4>
-      <p>
-        Device implementations MUST include support for one or more forms of data networking. Specifically, device implementations MUST include support for at least one data standard capable of 200Kbit/sec or greater. Examples of technologies that satisfy this requirement include EDGE, HSPA, EV-DO, 802.11g, Ethernet, Bluetooth PAN, etc.
-      </p>
-      <p>
-        Device implementations where a physical networking standard (such as Ethernet) is the primary data connection SHOULD also include support for at least one common wireless data standard, such as 802.11 (Wi-Fi).
-      </p>
-      <p>
-        Devices MAY implement more than one form of data connectivity.
-      </p>
-      <p>
-        Devices MUST include an IPv6 networking stack and support IPv6 communication using the managed APIs, such as <code>java.net.Socket</code> and <code>java.net.URLConnection</code> , as well as the native APIs, such as <code>AF_INET6</code> sockets. The required level of IPv6 support depends on the network type, as follows:
-      </p>
-      <ul>
-        <li>Devices that support Wi-Fi networks MUST support dual-stack and IPv6-only operation on Wi-Fi.
-        </li>
-        <li>Devices that support Ethernet networks MUST support dual-stack operation on Ethernet.
-        </li>
-        <li>Devices that support cellular data SHOULD support IPv6 operation (IPv6-only and possibly dual-stack) on cellular data.
-        </li>
-        <li>When a device is simultaneously connected to more than one network (e.g., Wi-Fi and cellular data), it MUST simultaneously meet these requirements on each network to which it is connected.
-        </li>
-      </ul>
-      <p>
-        IPv6 MUST be enabled by default.
-      </p>
-      <p>
-        In order to ensure that IPv6 communication is as reliable as IPv4, unicast IPv6 packets sent to the device MUST NOT be dropped, even when the screen is not in an active state. Redundant multicast IPv6 packets, such as repeated identical Router Advertisements, MAY be rate-limited in hardware or firmware if doing so is necessary to save power. In such cases, rate-limiting MUST NOT cause the device to lose IPv6 connectivity on any IPv6-compliant network that uses RA lifetimes of at least 180 seconds.
-      </p>
-      <p>
-        IPv6 connectivity MUST be maintained in doze mode.
-      </p>
-      <h4 id="7_4_6_sync_settings">
-        7.4.6. Sync Settings
-      </h4>
-      <p>
-        Device implementations MUST have the master auto-sync setting on by default so that the method <a href="http://developer.android.com/reference/android/content/ContentResolver.html">getMasterSyncAutomatically()</a> returns “true”.
-      </p>
-      <h4 id="7_4_7_data_saver">
-        7.4.7. Data Saver
-      </h4>
-      <p>
-        Device implementations with a metered connection are STRONGLY RECOMMENDED to provide the data saver mode.
-      </p>
-      <p>
-        If a device implementation provides the data saver mode, it:
-      </p>
-      <ul>
-        <li>
-          <p>
-            MUST support all the APIs in the <code>ConnectivityManager</code> class as described in the <a href="https://developer.android.com/training/basics/network-ops/data-saver.html">SDK documentation</a>
-          </p>
-        </li>
-        <li>
-          <p>
-            MUST provide a user interface in the settings, allowing users to add applications to or remove applications from the whitelist.
-          </p>
-        </li>
-      </ul>
-      <p>
-        Conversely if a device implementation does not provide the data saver mode, it:
-      </p>
-      <ul>
-        <li>
-          <p>
-            MUST return the value <code>RESTRICT_BACKGROUND_STATUS_DISABLED</code> for <a href="https://developer.android.com/reference/android/net/ConnectivityManager.html#getRestrictBackgroundStatus%28%29"><code>ConnectivityManager.getRestrictBackgroundStatus()</code></a>
-          </p>
-        </li>
-        <li>
-          <p>
-            MUST not broadcast <code>ConnectivityManager.ACTION_RESTRICT_BACKGROUND_CHANGED</code>
-          </p>
-        </li>
-        <li>
-          <p>
-            MUST have an activity that handles the <code>Settings.ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS</code> intent but MAY implement it as a no-op.
-          </p>
-        </li>
-      </ul>
-      <h3 id="7_5_cameras">
-        7.5. Cameras
-      </h3>
-      <p>
-        Device implementations SHOULD include a rear-facing camera and MAY include a front-facing camera. A rear-facing camera is a camera located on the side of the device opposite the display; that is, it images scenes on the far side of the device, like a traditional camera. A front-facing camera is a camera located on the same side of the device as the display; that is, a camera typically used to image the user, such as for video conferencing and similar applications.
-      </p>
-      <p>
-        If a device implementation includes at least one camera, it MUST be possible for an application to simultaneously allocate 3 RGBA_8888 bitmaps equal to the size of the images produced by the largest-resolution camera sensor on the device, while camera is open for the purpose of basic preview and still capture.
-      </p>
-      <h4 id="7_5_1_rear-facing_camera">
-        7.5.1. Rear-Facing Camera
-      </h4>
-      <p>
-        Device implementations SHOULD include a rear-facing camera. If a device implementation includes at least one rear-facing camera, it:
-      </p>
-      <ul>
-        <li>MUST report the feature flag android.hardware.camera and android.hardware.camera.any.
-        </li>
-        <li>MUST have a resolution of at least 2 megapixels.
-        </li>
-        <li>SHOULD have either hardware auto-focus or software auto-focus implemented in the camera driver (transparent to application software).
-        </li>
-        <li>MAY have fixed-focus or EDOF (extended depth of field) hardware.
-        </li>
-        <li>MAY include a flash. If the Camera includes a flash, the flash lamp MUST NOT be lit while an android.hardware.Camera.PreviewCallback instance has been registered on a Camera preview surface, unless the application has explicitly enabled the flash by enabling the FLASH_MODE_AUTO or FLASH_MODE_ON attributes of a Camera.Parameters object. Note that this constraint does not apply to the device’s built-in system camera application, but only to third-party applications using Camera.PreviewCallback.
-        </li>
-      </ul>
-      <h4 id="7_5_2_front-facing_camera">
-        7.5.2. Front-Facing Camera
-      </h4>
-      <p>
-        Device implementations MAY include a front-facing camera. If a device implementation includes at least one front-facing camera, it:
-      </p>
-      <ul>
-        <li>MUST report the feature flag android.hardware.camera.any and android.hardware.camera.front.
-        </li>
-        <li>MUST have a resolution of at least VGA (640x480 pixels).
-        </li>
-        <li>MUST NOT use a front-facing camera as the default for the Camera API. The camera API in Android has specific support for front-facing cameras and device implementations MUST NOT configure the API to to treat a front-facing camera as the default rear-facing camera, even if it is the only camera on the device.
-        </li>
-        <li>MAY include features (such as auto-focus, flash, etc.) available to rear-facing cameras as described in <a href="#7_5_1_rear-facing_camera">section 7.5.1</a> .
-        </li>
-        <li>MUST horizontally reflect (i.e. mirror) the stream displayed by an app in a CameraPreview, as follows:
-          <ul>
-            <li>If the device implementation is capable of being rotated by user (such as automatically via an accelerometer or manually via user input), the camera preview MUST be mirrored horizontally relative to the device’s current orientation.
-            </li>
-            <li>If the current application has explicitly requested that the Camera display be rotated via a call to the <a href="http://developer.android.com/reference/android/hardware/Camera.html#setDisplayOrientation(int)">android.hardware.Camera.setDisplayOrientation()</a> method, the camera preview MUST be mirrored horizontally relative to the orientation specified by the application.
-            </li>
-            <li>Otherwise, the preview MUST be mirrored along the device’s default horizontal axis.
-            </li>
-          </ul>
-        </li>
-        <li>MUST mirror the image displayed by the postview in the same manner as the camera preview image stream. If the device implementation does not support postview, this requirement obviously does not apply.
-        </li>
-        <li>MUST NOT mirror the final captured still image or video streams returned to application callbacks or committed to media storage.
-        </li>
-      </ul>
-      <h4 id="7_5_3_external_camera">
-        7.5.3. External Camera
-      </h4>
-      <p>
-        Device implementations MAY include support for an external camera that is not necessarily always connected. If a device includes support for an external camera, it:
-      </p>
-      <ul>
-        <li>MUST declare the platform feature flag <code>android.hardware.camera.external</code> and <code>android.hardware camera.any</code> .
-        </li>
-        <li>MAY support multiple cameras.
-        </li>
-        <li>MUST support USB Video Class (UVC 1.0 or higher) if the external camera connects through the USB port.
-        </li>
-        <li>SHOULD support video compressions such as MJPEG to enable transfer of high-quality unencoded streams (i.e. raw or independently compressed picture streams).
-        </li>
-        <li>MAY support camera-based video encoding. If supported, a simultaneous unencoded / MJPEG stream (QVGA or greater resolution) MUST be accessible to the device implementation.
-        </li>
-      </ul>
-      <h4 id="7_5_4_camera_api_behavior">
-        7.5.4. Camera API Behavior
-      </h4>
-      <p>
-        Android includes two API packages to access the camera, the newer android.hardware.camera2 API expose lower-level camera control to the app, including efficient zero-copy burst/streaming flows and per-frame controls of exposure, gain, white balance gains, color conversion, denoising, sharpening, and more.
-      </p>
-      <p>
-        The older API package, android.hardware.Camera, is marked as deprecated in Android 5.0 but as it should still be available for apps to use Android device implementations MUST ensure the continued support of the API as described in this section and in the Android SDK.
-      </p>
-      <p>
-        Device implementations MUST implement the following behaviors for the camera-related APIs, for all available cameras:
-      </p>
-      <ul>
-        <li>If an application has never called android.hardware.Camera.Parameters.setPreviewFormat(int), then the device MUST use android.hardware.PixelFormat.YCbCr_420_SP for preview data provided to application callbacks.
-        </li>
-        <li>If an application registers an android.hardware.Camera.PreviewCallback instance and the system calls the onPreviewFrame() method when the preview format is YCbCr_420_SP, the data in the byte[] passed into onPreviewFrame() must further be in the NV21 encoding format. That is, NV21 MUST be the default.
-        </li>
-        <li>For android.hardware.Camera, device implementations MUST support the YV12 format (as denoted by the android.graphics.ImageFormat.YV12 constant) for camera previews for both front- and rear-facing cameras. (The hardware video encoder and camera may use any native pixel format, but the device implementation MUST support conversion to YV12.)
-        </li>
-        <li>For android.hardware.camera2, device implementations must support the android.hardware.ImageFormat.YUV_420_888 and android.hardware.ImageFormat.JPEG formats as outputs through the android.media.ImageReader API.
-        </li>
-      </ul>
-      <p>
-        Device implementations MUST still implement the full <a href="http://developer.android.com/reference/android/hardware/Camera.html">Camera API</a> included in the Android SDK documentation, regardless of whether the device includes hardware autofocus or other capabilities. For instance, cameras that lack autofocus MUST still call any registered android.hardware.Camera.AutoFocusCallback instances (even though this has no relevance to a non-autofocus camera.) Note that this does apply to front-facing cameras; for instance, even though most front-facing cameras do not support autofocus, the API callbacks must still be “faked” as described.
-      </p>
-      <p>
-        Device implementations MUST recognize and honor each parameter name defined as a constant on the <a href="http://developer.android.com/reference/android/hardware/Camera.Parameters.html">android.hardware.Camera.Parameters</a> class, if the underlying hardware supports the feature. If the device hardware does not support a feature, the API must behave as documented. Conversely, device implementations MUST NOT honor or recognize string constants passed to the android.hardware.Camera.setParameters() method other than those documented as constants on the android.hardware.Camera.Parameters. That is, device implementations MUST support all standard Camera parameters if the hardware allows, and MUST NOT support custom Camera parameter types. For instance, device implementations that support image capture using high dynamic range (HDR) imaging techniques MUST support camera parameter Camera.SCENE_MODE_HDR.
-      </p>
-      <p>
-        Because not all device implementations can fully support all the features of the android.hardware.camera2 API, device implementations MUST report the proper level of support with the <a href="https://developer.android.com/reference/android/hardware/camera2/CameraCharacteristics.html#INFO_SUPPORTED_HARDWARE_LEVEL">android.info.supportedHardwareLevel</a> property as described in the Android SDK and report the appropriate <a href="http://source.android.com/devices/camera/versioning.html">framework feature flags</a> .
-      </p>
-      <p>
-        Device implementations MUST also declare its Individual camera capabilities of android.hardware.camera2 via the android.request.availableCapabilities property and declare the appropriate <a href="http://source.android.com/devices/camera/versioning.html">feature flags</a> ; a device must define the feature flag if any of its attached camera devices supports the feature.
-      </p>
-      <p>
-        Device implementations MUST broadcast the Camera.ACTION_NEW_PICTURE intent whenever a new picture is taken by the camera and the entry of the picture has been added to the media store.
-      </p>
-      <p>
-        Device implementations MUST broadcast the Camera.ACTION_NEW_VIDEO intent whenever a new video is recorded by the camera and the entry of the picture has been added to the media store.
-      </p>
-      <h4 id="7_5_5_camera_orientation">
-        7.5.5. Camera Orientation
-      </h4>
-      <p>
-        Both front- and rear-facing cameras, if present, MUST be oriented so that the long dimension of the camera aligns with the screen’s long dimension. That is, when the device is held in the landscape orientation, cameras MUST capture images in the landscape orientation. This applies regardless of the device’s natural orientation; that is, it applies to landscape-primary devices as well as portrait-primary devices.
-      </p>
-      <h3 id="7_6_memory_and_storage">
-        7.6. Memory and Storage
-      </h3>
-      <h4 id="7_6_1_minimum_memory_and_storage">
-        7.6.1. Minimum Memory and Storage
-      </h4>
-      <div class="note">
-        Android Television devices MUST have at least 4GB of non-volatile storage available for application private data.
-      </div>
-      <p>
-        The memory available to the kernel and userspace on device implementations MUST be at least equal or larger than the minimum values specified by the following table. (See <a href="#7_1_1_screen_configuration">section 7.1.1</a> for screen size and density definitions.)
-      </p>
-      <table>
-        <tr>
-          <th>
-            Density and screen size
-          </th>
-          <th>
-            32-bit device
-          </th>
-          <th>
-            64-bit device
-          </th>
-        </tr>
-        <tr>
-          <td>
-            Android Watch devices (due to smaller screens)
-          </td>
-          <td>
-            416MB
-          </td>
-          <td>
-            Not applicable
-          </td>
-        </tr>
-        <tr>
-          <td>
-            <ul>
-              <li class="table_list">280dpi or lower on small/normal screens
-              </li>
-              <li class="table_list">mdpi or lower on large screens
-              </li>
-              <li class="table_list">ldpi or lower on extra large screens
-              </li>
-            </ul>
-          </td>
-          <td>
-            512MB
-          </td>
-          <td>
-            816MB
-          </td>
-        </tr>
-        <tr>
-          <td>
-            <ul>
-              <li class="table_list">xhdpi or higher on small/normal screens
-              </li>
-              <li class="table_list">hdpi or higher on large screens
-              </li>
-              <li class="table_list">mdpi or higher on extra large screens
-              </li>
-            </ul>
-          </td>
-          <td>
-            608MB
-          </td>
-          <td>
-            944MB
-          </td>
-        </tr>
-        <tr>
-          <td>
-            <ul>
-              <li class="table_list">400dpi or higher on small/normal screens
-              </li>
-              <li class="table_list">xhdpi or higher on large screens
-              </li>
-              <li class="table_list">tvdpi or higher on extra large screens
-              </li>
-            </ul>
-          </td>
-          <td>
-            896MB
-          </td>
-          <td>
-            1280MB
-          </td>
-        </tr>
-        <tr>
-          <td>
-            <ul>
-              <li class="table_list">560dpi or higher on small/normal screens
-              </li>
-              <li class="table_list">400dpi or higher on large screens
-              </li>
-              <li class="table_list">xhdpi or higher on extra large screens
-              </li>
-            </ul>
-          </td>
-          <td>
-            1344MB
-          </td>
-          <td>
-            1824MB
-          </td>
-        </tr>
-      </table>
-      <p>
-        The minimum memory values MUST be in addition to any memory space already dedicated to hardware components such as radio, video, and so on that is not under the kernel’s control.
-      </p>
-      <p>
-        Device implementations with less than 512MB of memory available to the kernel and userspace, unless an Android Watch, MUST return the value "true" for ActivityManager.isLowRamDevice().
-      </p>
-      <p>
-        Android Television devices MUST have at least 4GB and other device implementations MUST have at least 3GB of non-volatile storage available for application private data. That is, the /data partition MUST be at least 4GB for Android Television devices and at least 3GB for other device implementations. Device implementations that run Android are <strong>STRONGLY RECOMMENDED</strong> to have at least 4GB of non-volatile storage for application private data so they will be able to upgrade to the future platform releases.
-      </p>
-      <p>
-        The Android APIs include a <a href="http://developer.android.com/reference/android/app/DownloadManager.html">Download Manager</a> that applications MAY use to download data files. The device implementation of the Download Manager MUST be capable of downloading individual files of at least 100MB in size to the default “cache” location.
-      </p>
-      <h4 id="7_6_2_application_shared_storage">
-        7.6.2. Application Shared Storage
-      </h4>
-      <p>
-        Device implementations MUST offer shared storage for applications also often referred as “shared external storage”.
-      </p>
-      <p>
-        Device implementations MUST be configured with shared storage mounted by default, “out of the box”. If the shared storage is not mounted on the Linuxpath /sdcard, then the device MUST include a Linux symbolic link from /sdcard to the actual mount point.
-      </p>
-      <p>
-        Device implementations MAY have hardware for user-accessible removable storage, such as a Secure Digital (SD) card slot. If this slot is used to satisfy the shared storage requirement, the device implementation:
-      </p>
-      <ul>
-        <li>MUST implement a toast or pop-up user interface warning the user when there is no SD card.
-        </li>
-        <li>MUST include a FAT-formatted SD card 1GB in size or larger OR show on the box and other material available at time of purchase that the SD card has to be separately purchased.
-        </li>
-        <li>MUST mount the SD card by default.
-        </li>
-      </ul>
-      <p>
-        Alternatively, device implementations MAY allocate internal (non-removable) storage as shared storage for apps as included in the upstream Android Open Source Project; device implementations SHOULD use this configuration and software implementation. If a device implementation uses internal (non-removable) storage to satisfy the shared storage requirement, while that storage MAY share space with the application private data, it MUST be at least 1GB in size and mounted on /sdcard (or /sdcard MUST be a symbolic link to the physical location if it is mounted elsewhere).
-      </p>
-      <p>
-        Device implementations MUST enforce as documented the android.permission.WRITE_EXTERNAL_STORAGE permission on this shared storage. Shared storage MUST otherwise be writable by any application that obtains that permission.
-      </p>
-      <p>
-        Device implementations that include multiple shared storage paths (such as both an SD card slot and shared internal storage) MUST allow only pre-installed &amp; privileged Android applications with the WRITE_EXTERNAL_STORAGE permission to write to the secondary external storage, except when writing to their package-specific directories or within the <code>URI</code> returned by firing the <code>ACTION_OPEN_DOCUMENT_TREE</code> intent.
-      </p>
-      <p>
-        However, device implementations SHOULD expose content from both storage paths transparently through Android’s media scanner service and android.provider.MediaStore.
-      </p>
-      <p>
-        Regardless of the form of shared storage used, if the device implementation has a USB port with USB peripheral mode support, it MUST provide some mechanism to access the contents of shared storage from a host computer. Device implementations MAY use USB mass storage, but SHOULD use Media Transfer Protocol to satisfy this requirement. If the device implementation supports Media Transfer Protocol, it:
-      </p>
-      <ul>
-        <li>SHOULD be compatible with the reference Android MTP host, <a href="http://www.android.com/filetransfer">Android File Transfer</a> .
-        </li>
-        <li>SHOULD report a USB device class of 0x00.
-        </li>
-        <li>SHOULD report a USB interface name of 'MTP'.
-        </li>
-      </ul>
-      <h4 id="7_6_3_adoptable_storage">
-        7.6.3. Adoptable Storage
-      </h4>
-      <p>
-        Device implementations are STRONGLY RECOMMENDED to implement <a href="http://source.android.com/devices/storage/adoptable.html">adoptable storage</a> if the removable storage device port is in a long-term stable location, such as within the battery compartment or other protective cover.
-      </p>
-      <p>
-        Device implementations such as a television, MAY enable adoption through USB ports as the device is expected to be static and not mobile. But for other device implementations that are mobile in nature, it is STRONGLY RECOMMENDED to implement the adoptable storage in a long-term stable location, since accidentally disconnecting them can cause data loss/corruption.
-      </p>
-      <h3 id="7_7_usb">
-        7.7. USB
-      </h3>
-      <p>
-        Device implementations SHOULD support USB peripheral mode and SHOULD support USB host mode.
-      </p>
-      <h4 id="7_7_1_usb_peripheral_mode">
-        7.7.1. USB peripheral mode
-      </h4>
-      <p>
-        If a device implementation includes a USB port supporting peripheral mode:
-      </p>
-      <ul>
-        <li>The port MUST be connectable to a USB host that has a standard type-A or type-C USB port.
-        </li>
-        <li>The port SHOULD use micro-B, micro-AB or Type-C USB form factor. Existing and new Android devices are <strong>STRONGLY RECOMMENDED to meet these requirements</strong> so they will be able to upgrade to the future platform releases.
-        </li>
-        <li>The port SHOULD be located on the bottom of the device (according to natural orientation) or enable software screen rotation for all apps (including home screen), so that the display draws correctly when the device is oriented with the port at bottom. Existing and new Android devices are <strong>STRONGLY RECOMMENDED to meet these requirements</strong> so they will be able to upgrade to future platform releases.
-        </li>
-        <li>It MUST allow a USB host connected with the Android device to access the contents of the shared storage volume using either USB mass storage or Media Transfer Protocol.
-        </li>
-        <li>It SHOULD implement the Android Open Accessory (AOA) API and specification as documented in the Android SDK documentation, and if it is an Android Handheld device it MUST implement the AOA API. Device implementations implementing the AOA specification:
-          <ul>
-            <li>MUST declare support for the hardware feature <a href="http://developer.android.com/guide/topics/connectivity/usb/accessory.html">android.hardware.usb.accessory</a> .
-            </li>
-            <li>MUST implement the <a href="http://developer.android.com/reference/android/hardware/usb/UsbConstants.html#USB_CLASS_AUDIO">USB audio class</a> as documented in the Android SDK documentation.
-            </li>
-            <li>The USB mass storage class MUST include the string "android" at the end of the interface description <code>iInterface</code> string of the USB mass storage
-            </li>
-          </ul>
-        </li>
-        <li>It SHOULD implement support to draw 1.5 A current during HS chirp and traffic as specified in the <a href="http://www.usb.org/developers/docs/devclass_docs/BCv1.2_070312.zip">USB Battery Charging specification, revision 1.2</a> . Existing and new Android devices are <strong>STRONGLY RECOMMENDED to meet these requirements</strong> so they will be able to upgrade to the future platform releases.
-        </li>
-        <li>Type-C devices MUST detect 1.5A and 3.0A chargers per the Type-C resistor standard and it must detect changes in the advertisement.
-        </li>
-        <li>Type-C devices also supporting USB host mode are STRONGLY RECOMMENDED to support Power Delivery for data and power role swapping.
-        </li>
-        <li>Type-C devices SHOULD support Power Delivery for high-voltage charging and support for Alternate Modes such as display out.
-        </li>
-        <li>The value of iSerialNumber in USB standard device descriptor MUST be equal to the value of android.os.Build.SERIAL.
-        </li>
-        <li>Type-C devices are STRONGLY RECOMMENDED to not support proprietary charging methods that modify Vbus voltage beyond default levels, or alter sink/source roles as such may result in interoperability issues with the chargers or devices that support the standard USB Power Delivery methods. While this is called out as "STRONGLY RECOMMENDED", in future Android versions we might REQUIRE all type-C devices to support full interoperability with standard type-C chargers.
-        </li>
-      </ul>
-      <h4 id="7_7_2_usb_host_mode">
-        7.7.2. USB host mode
-      </h4>
-      <p>
-        If a device implementation includes a USB port supporting host mode, it:
-      </p>
-      <ul>
-        <li>SHOULD use a type-C USB port, if the device implementation supports USB 3.1.
-        </li>
-        <li>MAY use a non-standard port form factor, but if so MUST ship with a cable or cables adapting the port to a standard type-A or type-C USB port.
-        </li>
-        <li>MAY use a micro-AB USB port, but if so SHOULD ship with a cable or cables adapting the port to a standard type-A or type-C USB port.
-        </li>
-        <li>is <strong>STRONGLY RECOMMENDED</strong> to implement the <a href="http://developer.android.com/reference/android/hardware/usb/UsbConstants.html#USB_CLASS_AUDIO">USB audio class</a> as documented in the Android SDK documentation.
-        </li>
-        <li>MUST implement the Android USB host API as documented in the Android SDK, and MUST declare support for the hardware feature <a href="http://developer.android.com/guide/topics/connectivity/usb/host.html">android.hardware.usb.host</a> .
-        </li>
-        <li>SHOULD support the Charging Downstream Port output current range of 1.5 A ~ 5 A as specified in the <a href="http://www.usb.org/developers/docs/devclass_docs/BCv1.2_070312.zip">USB Battery Charging specifications, revision 1.2</a> .
-        </li>
-        <li>USB Type-C devices are STRONGLY RECOMMENDED to support DisplayPort, SHOULD support USB SuperSpeed Data Rates, and are STRONGLY RECOMMENDED to support Power Delivery for data and power role swapping.
-        </li>
-        <li>Devices with any type-A or type-AB ports MUST NOT ship with an adapter converting from this port to a type-C receptacle.
-        </li>
-        <li>MUST recognize any remotely connected MTP (Media Transfer Protocol) devices and make their contents accessible through the <code>ACTION_GET_CONTENT</code> , <code>ACTION_OPEN_DOCUMENT</code> , and <code>ACTION_CREATE_DOCUMENT</code> intents, if the Storage Access Framework (SAF) is supported.
-        </li>
-        <li>MUST, if using a Type-C USB port and including support for peripheral mode, implement Dual Role Port functionality as defined by the USB Type-C specification (section 4.5.1.3.3).
-        </li>
-        <li>SHOULD, if the Dual Role Port functionality is supported, implement the Try.* model that is most appropriate for the device form factor. For example a handheld device SHOULD implement the Try.SNK model.
-        </li>
-      </ul>
-      <h3 id="7_8_audio">
-        7.8. Audio
-      </h3>
-      <h4 id="7_8_1_microphone">
-        7.8.1. Microphone
-      </h4>
-      <div class="note">
-        Android Handheld, Watch, and Automotive implementations MUST include a microphone.
-      </div>
-      <p>
-        Device implementations MAY omit a microphone. However, if a device implementation omits a microphone, it MUST NOT report the android.hardware.microphone feature constant, and MUST implement the audio recording API at least as no-ops, per <a href="#7_hardware_compatibility">section 7</a> . Conversely, device implementations that do possess a microphone:
-      </p>
-      <ul>
-        <li>MUST report the android.hardware.microphone feature constant.
-        </li>
-        <li>MUST meet the audio recording requirements in <a href="#5_4_audio_recording">section 5.4</a> .
-        </li>
-        <li>MUST meet the audio latency requirements in <a href="#5_6_audio_latency">section 5.6</a> .
-        </li>
-        <li>STRONGLY RECOMMENDED to support near-ultrasound recording as described in <a href="#7_8_3_near_ultrasound">section 7.8.3</a> .
-        </li>
-      </ul>
-      <h4 id="7_8_2_audio_output">
-        7.8.2. Audio Output
-      </h4>
-      <div class="note">
-        Android Watch devices MAY include an audio output.
-      </div>
-      <p>
-        Device implementations including a speaker or with an audio/multimedia output port for an audio output peripheral as a headset or an external speaker:
-      </p>
-      <ul>
-        <li>MUST report the android.hardware.audio.output feature constant.
-        </li>
-        <li>MUST meet the audio playback requirements in <a href="#5_5_audio_playback">section 5.5</a> .
-        </li>
-        <li>MUST meet the audio latency requirements in <a href="#5_6_audio_latency">section 5.6</a> .
-        </li>
-        <li>STRONGLY RECOMMENDED to support near-ultrasound playback as described in <a href="#7_8_3_near_ultrasound">section 7.8.3</a> .
-        </li>
-      </ul>
-      <p>
-        Conversely, if a device implementation does not include a speaker or audio output port, it MUST NOT report the android.hardware.audio output feature, and MUST implement the Audio Output related APIs as no-ops at least.
-      </p>
-      <p>
-        Android Watch device implementation MAY but SHOULD NOT have audio output, but other types of Android device implementations MUST have an audio output and declare android.hardware.audio.output.
-      </p>
-      <h5 id="7_8_2_1_analog_audio_ports">
-        7.8.2.1. Analog Audio Ports
-      </h5>
-      <p>
-        In order to be compatible with the <a href="http://source.android.com/accessories/headset-spec.html">headsets and other audio accessories</a> using the 3.5mm audio plug across the Android ecosystem, if a device implementation includes one or more analog audio ports, at least one of the audio port(s) SHOULD be a 4 conductor 3.5mm audio jack. If a device implementation has a 4 conductor 3.5mm audio jack, it:
-      </p>
-      <ul>
-        <li>MUST support audio playback to stereo headphones and stereo headsets with a microphone, and SHOULD support audio recording from stereo headsets with a microphone.
-        </li>
-        <li>MUST support TRRS audio plugs with the CTIA pin-out order, and SHOULD support audio plugs with the OMTP pin-out order.
-        </li>
-        <li>MUST support the detection of microphone on the plugged in audio accessory, if the device implementation supports a microphone, and broadcast the android.intent.action.HEADSET_PLUG with the extra value microphone set as 1.
-        </li>
-        <li>MUST support the detection and mapping to the keycodes for the following 3 ranges of equivalent impedance between the microphone and ground conductors on the audio plug:
-          <ul>
-            <li>
-              <strong>70 ohm or less</strong> : KEYCODE_HEADSETHOOK
-            </li>
-            <li>
-              <strong>210-290 Ohm</strong> : KEYCODE_VOLUME_UP
-            </li>
-            <li>
-              <strong>360-680 Ohm</strong> : KEYCODE_VOLUME_DOWN
-            </li>
-          </ul>
-        </li>
-        <li>STRONGLY RECOMMENDED to detect and map to the keycode for the following range of equivalent impedance between the microphone and ground conductors on the audio plug:
-          <ul>
-            <li>
-              <strong>110-180 Ohm:</strong> KEYCODE_VOICE_ASSIST
-            </li>
-          </ul>
-        </li>
-        <li>MUST trigger ACTION_HEADSET_PLUG upon a plug insert, but only after all contacts on plug are touching their relevant segments on the jack.
-        </li>
-        <li>MUST be capable of driving at least 150mV ± 10% of output voltage on a 32 Ohm speaker impedance.
-        </li>
-        <li>MUST have a microphone bias voltage between 1.8V ~ 2.9V.
-        </li>
-      </ul>
-      <h4 id="7_8_3_near-ultrasound">
-        7.8.3. Near-Ultrasound
-      </h4>
-      <p>
-        Near-Ultrasound audio is the 18.5 kHz to 20 kHz band. Device implementations MUST correctly report the support of near-ultrasound audio capability via the <a href="http://developer.android.com/reference/android/media/AudioManager.html#getProperty%28java.lang.String%29">AudioManager.getProperty</a> API as follows:
-      </p>
-      <ul>
-        <li>If <a href="http://developer.android.com/reference/android/media/AudioManager.html#PROPERTY_SUPPORT_MIC_NEAR_ULTRASOUND">PROPERTY_SUPPORT_MIC_NEAR_ULTRASOUND</a> is "true", then the following requirements must be met by the VOICE_RECOGNITION and UNPROCESSED audio sources:
-          <ul>
-            <li>The microphone's mean power response in the 18.5 kHz to 20 kHz band MUST be no more than 15 dB below the response at 2 kHz.
-            </li>
-            <li>The microphone's unweighted signal to noise ratio over 18.5 kHz to 20 kHz for a 19 kHz tone at -26 dBFS MUST be no lower than 50 dB.
-            </li>
-          </ul>
-        </li>
-        <li>If <a href="http://developer.android.com/reference/android/media/AudioManager.html#PROPERTY_SUPPORT_SPEAKER_NEAR_ULTRASOUND">PROPERTY_SUPPORT_SPEAKER_NEAR_ULTRASOUND</a> is "true", then the speaker's mean response in 18.5 kHz - 20 kHz MUST be no lower than 40 dB below the response at 2 kHz.
-        </li>
-      </ul>
-      <h3 id="7_9_virtual_reality">
-        7.9. Virtual Reality
-      </h3>
-      <p>
-        Android includes APIs and facilities to build "Virtual Reality" (VR) applications including high quality mobile VR experiences. Device implementations MUST properly implement these APIs and behaviors, as detailed in this section.
-      </p>
-      <h4 id="7_9_1_virtual_reality_mode">
-        7.9.1. Virtual Reality Mode
-      </h4>
-      <p>
-        Android handheld device implementations that support a mode for VR applications that handles stereoscopic rendering of notifications and disable monocular system UI components while a VR application has user focus MUST declare <code>android.software.vr.mode</code> feature. Devices declaring this feature MUST include an application implementing <code>android.service.vr.VrListenerService</code> that can be enabled by VR applications via <code>android.app.Activity#setVrModeEnabled</code> .
-      </p>
-      <h4 id="7_9_2_virtual_reality_high_performance">
-        7.9.2. Virtual Reality High Performance
-      </h4>
-      <p>
-        Android handheld device implementations MUST identify the support of high performance virtual reality for longer user periods through the <code>android.hardware.vr.high_performance</code> feature flag and meet the following requirements.
-      </p>
-      <ul>
-        <li>Device implementations MUST have at least 2 physical cores.
-        </li>
-        <li>Device implementations MUST declare android.software.vr.mode feature.
-        </li>
-        <li>Device implementations MAY provide an exclusive core to the foreground application and MAY support the <code>Process.getExclusiveCores</code> API to return the numbers of the CPU cores that are exclusive to the top foreground application. If exclusive core is supported, then the core MUST not allow any other userspace processes to run on it (except device drivers used by the application), but MAY allow some kernel processes to run as necessary.
-        </li>
-        <li>Device implementations MUST support sustained performance mode.
-        </li>
-        <li>Device implementations MUST support OpenGL ES 3.2.
-        </li>
-        <li>Device implementations MUST support Vulkan Hardware Level 0 and SHOULD support Vulkan Hardware Level 1.
-        </li>
-        <li>Device implementations MUST implement EGL_KHR_mutable_render_buffer and EGL_ANDROID_front_buffer_auto_refresh, EGL_ANDROID_create_native_client_buffer, EGL_KHR_fence_sync and EGL_KHR_wait_sync so that they may be used for Shared Buffer Mode, and expose the extensions in the list of available EGL extensions.
-        </li>
-        <li>The GPU and display MUST be able to synchronize access to the shared front buffer such that alternating-eye rendering of VR content at 60fps with two render contexts will be displayed with no visible tearing artifacts.
-        </li>
-        <li>Device implementations MUST implement EGL_IMG_context_priority, and expose the extension in the list of available EGL extensions.
-        </li>
-        <li>Device implementations MUST implement GL_EXT_multisampled_render_to_texture, GL_OVR_multiview, GL_OVR_multiview2 and GL_OVR_multiview_multisampled_render_to_texture, and expose the extensions in the list of available GL extensions.
-        </li>
-        <li>Device implementations MUST implement EGL_EXT_protected_content and GL_EXT_protected_textures so that it may be used for Secure Texture Video Playback, and expose the extensions in the list of available EGL and GL extensions.
-        </li>
-        <li>Device implementations MUST support H.264 decoding at least 3840x2160@30fps-40Mbps (equivalent to 4 instances of 1920x1080@30fps-10Mbps or 2 instances of 1920x1080@60fps-20Mbps).
-        </li>
-        <li>Device implementations MUST support HEVC and VP9, MUST be capable to decode at least 1920x1080@30fps-10Mbps and SHOULD be capable to decode 3840x2160@30fps-20Mbps (equivalent to 4 instances of 1920x1080@30fps-5Mbps).
-        </li>
-        <li>The device implementations are STRONGLY RECOMMENDED to support android.hardware.sensor.hifi_sensors feature and MUST meet the gyroscope, accelerometer, and magnetometer related requirements for android.hardware.hifi_sensors.
-        </li>
-        <li>Device implementations MUST support HardwarePropertiesManager.getDeviceTemperatures API and return accurate values for skin temperature.
-        </li>
-        <li>The device implementation MUST have an embedded screen, and its resolution MUST be at least be FullHD(1080p) and STRONGLY RECOMMENDED TO BE be QuadHD (1440p) or higher.
-        </li>
-        <li>The display MUST measure between 4.7" and 6" diagonal.
-        </li>
-        <li>The display MUST update at least 60 Hz while in VR Mode.
-        </li>
-        <li>The display latency on Gray-to-Gray, White-to-Black, and Black-to-White switching time MUST be ≤ 3 ms.
-        </li>
-        <li>The display MUST support a low-persistence mode with ≤5 ms persistence,persistence being defined as the amount of time for which a pixel is emitting light.
-        </li>
-        <li>Device implementations MUST support Bluetooth 4.2 and Bluetooth LE Data Length Extension <a href="#7_4_3_bluetooth">section 7.4.3</a> .
-        </li>
-      </ul>
-      <h2 id="8_performance_and_power">
-        8. Performance and Power
-      </h2>
-      <p>
-        Some minimum performance and power criteria are critical to the user experience and impact the baseline assumptions developers would have when developing an app. Android Watch devices SHOULD and other type of device implementations MUST meet the following criteria.
-      </p>
-      <h3 id="8_1_user_experience_consistency">
-        8.1. User Experience Consistency
-      </h3>
-      <p>
-        Device implementations MUST provide a smooth user interface by ensuring a consistent frame rate and response times for applications and games. Device implementations MUST meet the following requirements:
-      </p>
-      <ul>
-        <li>
-          <strong>Consistent frame latency</strong> . Inconsistent frame latency or a delay to render frames MUST NOT happen more often than 5 frames in a second, and SHOULD be below 1 frames in a second.
-        </li>
-        <li>
-          <strong>User interface latency</strong> . Device implementations MUST ensure low latency user experience by scrolling a list of 10K list entries as defined by the Android Compatibility Test Suite (CTS) in less than 36 secs.
-        </li>
-        <li>
-          <strong>Task switching</strong> . When multiple applications have been launched, re-launching an already-running application after it has been launched MUST take less than 1 second.
-        </li>
-      </ul>
-      <h3 id="8_2_file_i/o_access_performance">
-        8.2. File I/O Access Performance
-      </h3>
-      <p>
-        Device implementations MUST ensure internal storage file access performance consistency for read and write operations.
-      </p>
-      <ul>
-        <li>
-          <strong>Sequential write</strong> . Device implementations MUST ensure a sequential write performance of at least 5MB/s for a 256MB file using 10MB write buffer.
-        </li>
-        <li>
-          <strong>Random write</strong> . Device implementations MUST ensure a random write performance of at least 0.5MB/s for a 256MB file using 4KB write buffer.
-        </li>
-        <li>
-          <strong>Sequential read</strong> . Device implementations MUST ensure a sequential read performance of at least 15MB/s for a 256MB file using 10MB write buffer.
-        </li>
-        <li>
-          <strong>Random read</strong> . Device implementations MUST ensure a random read performance of at least 3.5MB/s for a 256MB file using 4KB write buffer.
-        </li>
-      </ul>
-      <h3 id="8_3_power-saving_modes">
-        8.3. Power-Saving Modes
-      </h3>
-      <p>
-        Android 6.0 introduced App Standby and Doze power-saving modes to optimize battery usage. All Apps exempted from these modes MUST be made visible to the end user. Further, the triggering, maintenance, wakeup algorithms and the use of global system settings of these power-saving modes MUST not deviate from the Android Open Source Project.
-      </p>
-      <p>
-        In addition to the power-saving modes, Android device implementations MAY implement any or all of the 4 sleeping power states as defined by the Advanced Configuration and Power Interface (ACPI), but if it implements S3 and S4 power states, it can only enter these states when closing a lid that is physically part of the device.
-      </p>
-      <h3 id="8_4_power_consumption_accounting">
-        8.4. Power Consumption Accounting
-      </h3>
-      <p>
-        A more accurate accounting and reporting of the power consumption provides the app developer both the incentives and the tools to optimize the power usage pattern of the application. Therefore, device implementations:
-      </p>
-      <ul>
-        <li>MUST be able to track hardware component power usage and attribute that power usage to specific applications. Specifically, implementations:
-          <ul>
-            <li>MUST provide a per-component power profile that defines the <a href="http://source.android.com/devices/tech/power/values.html">current consumption value</a> for each hardware component and the approximate battery drain caused by the components over time as documented in the Android Open Source Project site.
-            </li>
-            <li>MUST report all power consumption values in milliampere hours (mAh).
-            </li>
-            <li>SHOULD be attributed to the hardware component itself if unable to attribute hardware component power usage to an application.
-            </li>
-            <li>MUST report CPU power consumption per each process's UID. The Android Open Source Project meets the requirement through the <code>uid_cputime</code> kernel module implementation.
-            </li>
-          </ul>
-        </li>
-        <li>MUST make this power usage available via the <a href="http://source.android.com/devices/tech/power/batterystats.html"><code>adb shell dumpsys batterystats</code></a> shell command to the app developer.
-        </li>
-        <li>MUST honor the <a href="http://developer.android.com/reference/android/content/Intent.html#ACTION_POWER_USAGE_SUMMARY">android.intent.action.POWER_USAGE_SUMMARY</a> intent and display a settings menu that shows this power usage.
-        </li>
-      </ul>
-      <h3 id="8_5_consistent_performance">
-        8.5. Consistent Performance
-      </h3>
-      <p>
-        Performance can fluctuate dramatically for high-performance long-running apps, either because of the other apps running in the background or the CPU throttling due to temperature limits. Android includes programmatic interfaces so that when the device is capable, the top foreground application can request that the system optimize the allocation of the resources to address such fluctuations.
-      </p>
-      <p>
-        Device implementations SHOULD support Sustained Performance Mode which can provide the top foreground application a consistent level of performance for a prolonged amount of time when requested through the <a href="https://developer.android.com/reference/android/view/Window.html#setSustainedPerformanceMode%28boolean%29"><code>Window.setSustainedPerformanceMode()</code></a> API method. A Device implementation MUST report the support of Sustained Performance Mode accurately through the <a href="https://developer.android.com/reference/android/os/PowerManager.html#isSustainedPerformanceModeSupported%28%29"><code>PowerManager.isSustainedPerformanceModeSupported()</code></a> API method.
-      </p>
-      <p>
-        Device implementations with two or more CPU cores SHOULD provide at least one exclusive core that can be reserved by the top foreground application. If provided, implementations MUST meet the following requirements:
-      </p>
-      <ul>
-        <li>Implementations MUST report through the <a href="https://developer.android.com/reference/android/os/Process.html#getExclusiveCores%28%29"><code>Process.getExclusiveCores()</code></a> API method the id numbers of the exclusive cores that can be reserved by the top foreground application.
-        </li>
-        <li>Device implementations MUST not allow any user space processes except the device drivers used by the application to run on the exclusive cores, but MAY allow some kernel processes to run as necessary.
-        </li>
-      </ul>
-      <p>
-        If a device implementation does not support an exclusive core, it MUST return an empty list through the <a href="https://developer.android.com/reference/android/os/Process.html#getExclusiveCores%28%29"><code>Process.getExclusiveCores()</code></a> API method.
-      </p>
-      <h2 id="9_security_model_compatibility">
-        9. Security Model Compatibility
-      </h2>
-      <p>
-        Device implementations MUST implement a security model consistent with the Android platform security model as defined in <a href="http://developer.android.com/guide/topics/security/permissions.html">Security and Permissions reference document</a> in the APIs in the Android developer documentation. Device implementations MUST support installation of self-signed applications without requiring any additional permissions/certificates from any third parties/authorities. Specifically, compatible devices MUST support the security mechanisms described in the follow subsections.
-      </p>
-      <h3 id="9_1_permissions">
-        9.1. Permissions
-      </h3>
-      <p>
-        Device implementations MUST support the <a href="http://developer.android.com/guide/topics/security/permissions.html">Android permissions model</a> as defined in the Android developer documentation. Specifically, implementations MUST enforce each permission defined as described in the SDK documentation; no permissions may be omitted, altered, or ignored. Implementations MAY add additional permissions, provided the new permission ID strings are not in the android.* namespace.
-      </p>
-      <p>
-        Permissions with a <code>protectionLevel</code> of <a href="https://developer.android.com/reference/android/content/pm/PermissionInfo.html#PROTECTION_FLAG_PRIVILEGED">'PROTECTION_FLAG_PRIVILEGED'</a> MUST only be granted to apps preloaded in the whitelisted privileged path(s) of the system image, such as the <code>system/priv-app</code> path in the AOSP implementation.
-      </p>
-      <p>
-        Permissions with a protection level of dangerous are runtime permissions. Applications with targetSdkVersion &gt; 22 request them at runtime. Device implementations:
-      </p>
-      <ul>
-        <li>MUST show a dedicated interface for the user to decide whether to grant the requested runtime permissions and also provide an interface for the user to manage runtime permissions.
-        </li>
-        <li>MUST have one and only one implementation of both user interfaces.
-        </li>
-        <li>MUST NOT grant any runtime permissions to preinstalled apps unless:
-          <ul>
-            <li>the user's consent can be obtained before the application uses it
-            </li>
-            <li>the runtime permissions are associated with an intent pattern for which the preinstalled application is set as the default handler
-            </li>
-          </ul>
-        </li>
-      </ul>
-      <h3 id="9_2_uid_and_process_isolation">
-        9.2. UID and Process Isolation
-      </h3>
-      <p>
-        Device implementations MUST support the Android application sandbox model, in which each application runs as a unique Unixstyle UID and in a separate process. Device implementations MUST support running multiple applications as the same Linux user ID, provided that the applications are properly signed and constructed, as defined in the <a href="http://developer.android.com/guide/topics/security/permissions.html">Security and Permissions reference</a> .
-      </p>
-      <h3 id="9_3_filesystem_permissions">
-        9.3. Filesystem Permissions
-      </h3>
-      <p>
-        Device implementations MUST support the Android file access permissions model as defined in the <a href="http://developer.android.com/guide/topics/security/permissions.html">Security and Permissions reference</a> .
-      </p>
-      <h3 id="9_4_alternate_execution_environments">
-        9.4. Alternate Execution Environments
-      </h3>
-      <p>
-        Device implementations MAY include runtime environments that execute applications using some other software or technology than the Dalvik Executable Format or native code. However, such alternate execution environments MUST NOT compromise the Android security model or the security of installed Android applications, as described in this section.
-      </p>
-      <p>
-        Alternate runtimes MUST themselves be Android applications, and abide by the standard Android security model, as described elsewhere in <a href="#9_security_model_compatibility">section 9</a> .
-      </p>
-      <p>
-        Alternate runtimes MUST NOT be granted access to resources protected by permissions not requested in the runtime’s AndroidManifest.xml file via the &lt;uses-permission&gt; mechanism.
-      </p>
-      <p>
-        Alternate runtimes MUST NOT permit applications to make use of features protected by Android permissions restricted to system applications.
-      </p>
-      <p>
-        Alternate runtimes MUST abide by the Android sandbox model. Specifically, alternate runtimes:
-      </p>
-      <ul>
-        <li>SHOULD install apps via the PackageManager into separate Android sandboxes (Linux user IDs, etc.).
-        </li>
-        <li>MAY provide a single Android sandbox shared by all applications using the alternate runtime.
-        </li>
-        <li>Installed applications using an alternate runtime MUST NOT reuse the sandbox of any other app installed on the device, except through the standard Android mechanisms of shared user ID and signing certificate.
-        </li>
-        <li>MUST NOT launch with, grant, or be granted access to the sandboxes corresponding to other Android applications.
-        </li>
-        <li>MUST NOT be launched with, be granted, or grant to other applications any privileges of the superuser (root), or of any other user ID.
-        </li>
-      </ul>
-      <p>
-        The .apk files of alternate runtimes MAY be included in the system image of a device implementation, but MUST be signed with a key distinct from the key used to sign other applications included with the device implementation.
-      </p>
-      <p>
-        When installing applications, alternate runtimes MUST obtain user consent for the Android permissions used by the application. If an application needs to make use of a device resource for which there is a corresponding Android permission (such as Camera, GPS, etc.), the alternate runtime MUST inform the user that the application will be able to access that resource. If the runtime environment does not record application capabilities in this manner, the runtime environment MUST list all permissions held by the runtime itself when installing any application using that runtime.
-      </p>
-      <h3 id="9_5_multi-user_support">
-        9.5. Multi-User Support
-      </h3>
-      <div class="note">
-        This feature is optional for all device types.
-      </div>
-      <p>
-        Android includes <a href="http://developer.android.com/reference/android/os/UserManager.html">support for multiple users</a> and provides support for full user isolation. Device implementations MAY enable multiple users, but when enabled MUST meet the following requirements related to <a href="http://source.android.com/devices/storage/traditional.html">multi-user support</a> :
-      </p>
-      <ul>
-        <li>Android Automotive device implementations with multi-user support enabled MUST include a guest account that allows all functions provided by the vehicle system without requiring a user to log in.
-        </li>
-        <li>Device implementations that do not declare the android.hardware.telephony feature flag MUST support restricted profiles, a feature that allows device owners to manage additional users and their capabilities on the device. With restricted profiles, device owners can quickly set up separate environments for additional users to work in, with the ability to manage finer-grained restrictions in the apps that are available in those environments.
-        </li>
-        <li>Conversely device implementations that declare the android.hardware.telephony feature flag MUST NOT support restricted profiles but MUST align with the AOSP implementation of controls to enable /disable other users from accessing the voice calls and SMS.
-        </li>
-        <li>Device implementations MUST, for each user, implement a security model consistent with the Android platform security model as defined in <a href="http://developer.android.com/guide/topics/security/permissions.html">Security and Permissions reference document</a> in the APIs.
-        </li>
-        <li>Each user instance on an Android device MUST have separate and isolated external storage directories. Device implementations MAY store multiple users' data on the same volume or filesystem. However, the device implementation MUST ensure that applications owned by and running on behalf a given user cannot list, read, or write to data owned by any other user. Note that removable media, such as SD card slots, can allow one user to access another’s data by means of a host PC. For this reason, device implementations that use removable media for the external storage APIs MUST encrypt the contents of the SD card if multiuser is enabled using a key stored only on non-removable media accessible only to the system. As this will make the media unreadable by a host PC, device implementations will be required to switch to MTP or a similar system to provide host PCs with access to the current user’s data. Accordingly, device implementations MAY but SHOULD NOT enable multi-user if they use <a href="http://developer.android.com/reference/android/os/Environment.html">removable media</a> for primary external storage.
-        </li>
-      </ul>
-      <h3 id="9_6_premium_sms_warning">
-        9.6. Premium SMS Warning
-      </h3>
-      <p>
-        Android includes support for warning users of any outgoing <a href="http://en.wikipedia.org/wiki/Short_code">premium SMS message</a> . Premium SMS messages are text messages sent to a service registered with a carrier that may incur a charge to the user. Device implementations that declare support for android.hardware.telephony MUST warn users before sending a SMS message to numbers identified by regular expressions defined in /data/misc/sms/codes.xml file in the device. The upstream Android Open Source Project provides an implementation that satisfies this requirement.
-      </p>
-      <h3 id="9_7_kernel_security_features">
-        9.7. Kernel Security Features
-      </h3>
-      <p>
-        The Android Sandbox includes features that use the Security-Enhanced Linux (SELinux) mandatory access control (MAC) system, seccomp sandboxing, and other security features in the Linux kernel. SELinux or any other security features implemented below the Android framework:
-      </p>
-      <ul>
-        <li>MUST maintain compatibility with existing applications.
-        </li>
-        <li>MUST NOT have a visible user interface when a security violation is detected and successfully blocked, but MAY have a visible user interface when an unblocked security violation occurs resulting in a successful exploit.
-        </li>
-        <li>SHOULD NOT be user or developer configurable.
-        </li>
-      </ul>
-      <p>
-        If any API for configuration of policy is exposed to an application that can affect another application (such as a Device Administration API), the API MUST NOT allow configurations that break compatibility.
-      </p>
-      <p>
-        Devices MUST implement SELinux or, if using a kernel other than Linux, an equivalent mandatory access control system. Devices MUST also meet the following requirements, which are satisfied by the reference implementation in the upstream Android Open Source Project.
-      </p>
-      <p>
-        Device implementations:
-      </p>
-      <ul>
-        <li>MUST set SELinux to global enforcing mode.
-        </li>
-        <li>MUST configure all domains in enforcing mode. No permissive mode domains are allowed, including domains specific to a device/vendor.
-        </li>
-        <li>MUST NOT modify, omit, or replace the neverallow rules present within the system/sepolicy folder provided in the upstream Android Open Source Project (AOSP) and the policy MUST compile with all neverallow rules present, for both AOSP SELinux domains as well as device/vendor specific domains.
-        </li>
-        <li>MUST split the media framework into multiple processes so that it is possible to more narrowly grant access for each process as <a href="https://source.android.com/devices/media/framework-hardening.html#arch_changes">described</a> in the Android Open Source Project site.
-        </li>
-      </ul>
-      <p>
-        Device implementations SHOULD retain the default SELinux policy provided in the system/sepolicy folder of the upstream Android Open Source Project and only further add to this policy for their own device-specific configuration. Device implementations MUST be compatible with the upstream Android Open Source Project.
-      </p>
-      <p>
-        Devices MUST implement a kernel application sandboxing mechanism which allows filtering of system calls using a configurable policy from multithreaded programs. The upstream Android Open Source Project meets this requirement through enabling the seccomp-BPF with threadgroup synchronization (TSYNC) as described <a href="http://source.android.com/devices/tech/config/kernel.html#Seccomp-BPF-TSYNC">in the Kernel Configuration section of source.android.com</a> .
-      </p>
-      <h3 id="9_8_privacy">
-        9.8. Privacy
-      </h3>
-      <p>
-        If the device implements functionality in the system that captures the contents displayed on the screen and/or records the audio stream played on the device, it MUST continuously notify the user whenever this functionality is enabled and actively capturing/recording.
-      </p>
-      <p>
-        If a device implementation has a mechanism that routes network data traffic through a proxy server or VPN gateway by default (for example, preloading a VPN service with android.permission.CONTROL_VPN granted), the device implementation MUST ask for the user's consent before enabling that mechanism, unless that VPN is enabled by the Device Policy Controller via the <a href="https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#setAlwaysOnVpnPackage(android.content.ComponentName,%20java.lang.String,%20boolean)"><code>DevicePolicyManager.setAlwaysOnVpnPackage()</code></a> , in which case the user does not need to provide a separate consent, but MUST only be notified.
-      </p>
-      <p>
-        Device implementations MUST ship with an empty user-added Certificate Authority (CA) store, and MUST preinstall the same root certificates for the system-trusted CA store as <a href="https://source.android.com/security/overview/app-security.html#certificate-authorities">provided</a> in the upstream Android Open Source Project.
-      </p>
-      <p>
-        When devices are routed through a VPN, or a user root CA is installed, the implementation MUST display a warning indicating the network traffic may be monitored to the user.
-      </p>
-      <p>
-        If a device implementation has a USB port with USB peripheral mode support, it MUST present a user interface asking for the user's consent before allowing access to the contents of the shared storage over the USB port.
-      </p>
-      <h3 id="9_9_data_storage_encryption">
-        9.9. Data Storage Encryption
-      </h3>
-      <div class="note">
-        Optional for Android device implementations without a secure lock screen.
-      </div>
-      <p>
-        If the device implementation supports a secure lock screen as described in section 9.11.1, then the device MUST support data storage encryption of the application private data (/data partition), as well as the application shared storage partition (/sdcard partition) if it is a permanent, non-removable part of the device.
-      </p>
-      <p>
-        For device implementations supporting data storage encryption and with Advanced Encryption Standard (AES) crypto performance above 50MiB/sec, the data storage encryption MUST be enabled by default at the time the user has completed the out-of-box setup experience. If a device implementation is already launched on an earlier Android version with encryption disabled by default, such a device cannot meet the requirement through a system software update and thus MAY be exempted.
-      </p>
-      <p>
-        Device implementations SHOULD meet the above data storage encryption requirement via implementing <a href="https://source.android.com/security/encryption/file-based.html">File Based Encryption</a> (FBE).
-      </p>
-      <h4 id="9_9_1_direct_boot">
-        9.9.1. Direct Boot
-      </h4>
-      <p>
-        All devices MUST implement the <a href="http://developer.android.com/preview/features/direct-boot.html">Direct Boot mode</a> APIs even if they do not support Storage Encryption. In particular, the <a href="https://developer.android.com/reference/android/content/Intent.html#LOCKED_BOOT_COMPLETED">LOCKED_BOOT_COMPLETED</a> and <a href="https://developer.android.com/reference/android/content/Intent.html#ACTION_USER_UNLOCKED">ACTION_USER_UNLOCKED</a> Intents must still be broadcast to signal Direct Boot aware applications that Device Encrypted (DE) and Credential Encrypted (CE) storage locations are available for user.
-      </p>
-      <h4 id="9_9_2_file_based_encryption">
-        9.9.2. File Based Encryption
-      </h4>
-      <p>
-        Device implementations supporting FBE:
-      </p>
-      <ul>
-        <li>MUST boot up without challenging the user for credentials and allow Direct Boot aware apps to access to the Device Encrypted (DE) storage after the LOCKED_BOOT_COMPLETED message is broadcasted.
-        </li>
-        <li>MUST only allow access to Credential Encrypted (CE) storage after the user has unlocked the device by supplying their credentials (eg. passcode, pin, pattern or fingerprint) and the ACTION_USER_UNLOCKED message is broadcasted. Device implementations MUST NOT offer any method to unlock the CE protected storage without the user supplied credentials.
-        </li>
-        <li>MUST support Verified Boot and ensure that DE keys are cryptographically bound to the device's hardware root of trust.
-        </li>
-        <li>MUST support encrypting file contents using AES with a key length of 256-bits in XTS mode.
-        </li>
-        <li>MUST support encrypting file name using AES with a key length of 256-bits in CBC-CTS mode.
-        </li>
-        <li>MAY support alternative ciphers, key lengths and modes for file content and file name encryption, but MUST use the mandatorily supported ciphers, key lengths and modes by default.
-        </li>
-        <li>SHOULD make preloaded essential apps (e.g. Alarm, Phone, Messenger) Direct Boot aware.
-        </li>
-      </ul>
-      <p>
-        The keys protecting CE and DE storage areas:
-      </p>
-      <ul>
-        <li>MUST be cryptographically bound to a hardware-backed Keystore. CE keys must be bound to a user's lock screen credentials. If the user has specified no lock screen credentials then the CE keys MUST be bound to a default passcode.
-        </li>
-        <li>MUST be unique and distinct, in other words no user's CE or DE key may match any other user's CE or DE keys.
-        </li>
-      </ul>
-      <p>
-        The upstream Android Open Source project provides a preferred implementation of this feature based on the Linux kernel ext4 encryption feature.
-      </p>
-      <h4 id="9_9_3_full_disk_encryption">
-        9.9.3. Full Disk Encryption
-      </h4>
-      <p>
-        Device implementations supporting <a href="http://source.android.com/devices/tech/security/encryption/index.html">full disk encryption</a> (FDE). MUST use AES with a key of 128-bits (or greater) and a mode designed for storage (for example, AES-XTS, AES-CBC-ESSIV). The encryption key MUST NOT be written to storage at any time without being encrypted. The user MUST be provided with the possibility to AES encrypt the encryption key, except when it is in active use, with the lock screen credentials stretched using a slow stretching algorithm (e.g. PBKDF2 or scrypt). If the user has not specified a lock screen credentials or has disabled use of the passcode for encryption, the system SHOULD use a default passcode to wrap the encryption key. If the device provides a hardware-backed keystore, the password stretching algorithm MUST be cryptographically bound to that keystore. The encryption key MUST NOT be sent off the device (even when wrapped with the user passcode and/or hardware bound key). The upstream Android Open Source project provides a preferred implementation of this feature based on the Linux kernel feature dm-crypt.
-      </p>
-      <h3 id="9_10_device_integrity">
-        9.10. Device Integrity
-      </h3>
-      <p>
-        The following requirements ensures there is transparancy to the status of the device integrity.
-      </p>
-      <p>
-        Device implementations MUST correctly report through the System API method PersistentDataBlockManager.getFlashLockState() whether their bootloader state permits flashing of the system image. The <code>FLASH_LOCK_UNKNOWN</code> state is reserved for device implementations upgrading from an earlier version of Android where this new system API method did not exist.
-      </p>
-      <p>
-        Verified boot is a feature that guarantees the integrity of the device software. If a device implementation supports the feature, it MUST:
-      </p>
-      <ul>
-        <li>Declare the platform feature flag android.software.verified_boot.
-        </li>
-        <li>Perform verification on every boot sequence.
-        </li>
-        <li>Start verification from an immutable hardware key that is the root of trust and go all the way up to the system partition.
-        </li>
-        <li>Implement each stage of verification to check the integrity and authenticity of all the bytes in the next stage before executing the code in the next stage.
-        </li>
-        <li>Use verification algorithms as strong as current recommendations from NIST for hashing algorithms (SHA-256) and public key sizes (RSA-2048).
-        </li>
-        <li>MUST NOT allow boot to complete when system verification fails, unless the user consents to attempt booting anyway, in which case the data from any non-verified storage blocks MUST not be used.
-        </li>
-        <li>MUST NOT allow verified partitions on the device to be modified unless the user has explicitly unlocked the boot loader.
-        </li>
-      </ul>
-      <p>
-        The upstream Android Open Source Project provides a preferred implementation of this feature based on the Linux kernel feature dm-verity.
-      </p>
-      <p>
-        Starting from Android 6.0, device implementations with Advanced Encryption Standard (AES) crypto performance above 50 MiB/seconds MUST support verified boot for device integrity.
-      </p>
-      <p>
-        If a device implementation is already launched without supporting verified boot on an earlier version of Android, such a device can not add support for this feature with a system software update and thus are exempted from the requirement.
-      </p>
-      <h3 id="9_11_keys_and_credentials">
-        9.11. Keys and Credentials
-      </h3>
-      <p>
-        The <a href="https://developer.android.com/training/articles/keystore.html">Android Keystore System</a> allows app developers to store cryptographic keys in a container and use them in cryptographic operations through the <a href="https://developer.android.com/reference/android/security/KeyChain.html">KeyChain API</a> or the <a href="https://developer.android.com/reference/java/security/KeyStore.html">Keystore API</a> .
-      </p>
-      <p>
-        All Android device implementations MUST meet the following requirements:
-      </p>
-      <ul>
-        <li>SHOULD not limit the number of keys that can be generated, and MUST at least allow more than 8,192 keys to be imported.
-        </li>
-        <li>The lock screen authentication MUST rate limit attempts and MUST have an exponential backoff algorithm. Beyond 150 failed attempts, the delay MUST be at least 24 hours per attempt.
-        </li>
-        <li>When the device implementation supports a secure lock screen it MUST back up the keystore implementation with secure hardware and meet following requirements:
-          <ul>
-            <li>MUST have hardware backed implementations of RSA, AES, ECDSA and HMAC cryptographic algorithms and MD5, SHA1, SHA-2 Family hash functions to properly support the <a href="https://developer.android.com/training/articles/keystore.html#SupportedAlgorithms">Android Keystore system's supported algorithms</a> .
-            </li>
-            <li>MUST perform the lock screen authentication in the secure hardware and only when successful allow the authentication-bound keys to be used. The upstream Android Open Source Project provides the <a href="http://source.android.com/devices/tech/security/authentication/gatekeeper.html">Gatekeeper Hardware Abstraction Layer (HAL)</a> that can be used to satisfy this requirement.
-            </li>
-          </ul>
-        </li>
-      </ul>
-      <p>
-        Note that if a device implementation is already launched on an earlier Android version, and does not have a fingerprint scanner, such a device is exempted from the requirement to have a hardware-backed keystore.
-      </p>
-      <h4 id="9_11_1_secure_lock_screen">
-        9.11.1. Secure Lock Screen
-      </h4>
-      <p>
-        Device implementations MAY add or modify the authentication methods to unlock the lock screen, but MUST still meet the following requirements:
-      </p>
-      <ul>
-        <li>The authentication method, if based on a known secret, MUST NOT be treated as a secure lock screen unless it meets all following requirements:
-          <ul>
-            <li>The entropy of the shortest allowed length of inputs MUST be greater than 10 bits.
-            </li>
-            <li>The maximum entropy of all possible inputs MUST be greater than 18 bits.
-            </li>
-            <li>MUST not replace any of the existing authentication methods (PIN, pattern, password) implemented and provided in AOSP.
-            </li>
-            <li>MUST be disabled when the Device Policy Controller (DPC) application has set the password quality policy via the <a href="https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#setPasswordQuality%28android.content.ComponentName,%20int%29"><code>DevicePolicyManager.setPasswordQuality()</code></a> method with a more restrictive quality constant than <code>PASSWORD_QUALITY_SOMETHING</code> .
-            </li>
-          </ul>
-        </li>
-        <li>The authenticaion method, if based on a physical token or the location, MUST NOT be treated as a secure lock screen unless it meets all following requirements:
-          <ul>
-            <li>It MUST have a fall-back mechanism to use one of the primary authentication methods which is based on a known secret and meets the requirements to be treated as a secure lock screen.
-            </li>
-            <li>It MUST be disabled and only allow the primary authentication to unlock the screen when the Device Policy Controller (DPC) application has set the policy with either the <a href="http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#setKeyguardDisabledFeatures%28android.content.ComponentName,%20int%29"><code>DevicePolicyManager.setKeyguardDisabledFeatures(KEYGUARD_DISABLE_TRUST_AGENTS)</code></a> method or the <a href="https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#setPasswordQuality%28android.content.ComponentName,%20int%29"><code>DevicePolicyManager.setPasswordQuality()</code></a> method with a more restrictive quality constant than <code>PASSWORD_QUALITY_UNSPECIFIED</code> .
-            </li>
-          </ul>
-        </li>
-        <li>The authentication method, if based on biometrics, MUST NOT be treated as a secure lock screen unless it meets all following requirements:
-          <ul>
-            <li>It MUST have a fall-back mechanism to use one of the primary authentication methods which is based on a known secret and meets the requirements to be treated as a secure lock screen.
-            </li>
-            <li>It MUST be disabled and only allow the primary authentication to unlock the screen when the Device Policy Controller (DPC) application has set the keguard feature policy by calling the method <a href="http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#setKeyguardDisabledFeatures%28android.content.ComponentName,%20int%29"><code>DevicePolicyManager.setKeyguardDisabledFeatures(KEYGUARD_DISABLE_FINGERPRINT)</code></a> .
-            </li>
-            <li>It MUST have a false acceptance rate that is equal or stronger than what is required for a fingerprint sensor as described in section 7.3.10, or otherwise MUST be disabled and only allow the primary authentication to unlock the screen when the Device Policy Controller (DPC) application has set the password quality policy via the <a href="https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#setPasswordQuality%28android.content.ComponentName,%20int%29"><code>DevicePolicyManager.setPasswordQuality()</code></a> method with a more restrictive quality constant than <code>PASSWORD_QUALITY_BIOMETRIC_WEAK</code> .
-            </li>
-          </ul>
-        </li>
-        <li>If the authentication method can not be treated as a secure lock screen, it:
-          <ul>
-            <li>MUST return <code>false</code> for both the <a href="http://developer.android.com/reference/android/app/KeyguardManager.html#isKeyguardSecure%28%29"><code>KeyguardManager.isKeyguardSecure()</code></a> and the <a href="https://developer.android.com/reference/android/app/KeyguardManager.html#isDeviceSecure%28%29"><code>KeyguardManager.isDeviceSecure()</code></a> methods.
-            </li>
-            <li>MUST be disabled when the Device Policy Controller (DPC) application has set the password quality policy via the <a href="https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#setPasswordQuality%28android.content.ComponentName,%20int%29"><code>DevicePolicyManager.setPasswordQuality()</code></a> method with a more restrictive quality constant than <code>PASSWORD_QUALITY_UNSPECIFIED</code> .
-            </li>
-            <li>MUST NOT reset the password expiration timers set by <a href="http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#setPasswordExpirationTimeout%28android.content.ComponentName,%20long%29"><code>DevicePolicyManager.setPasswordExpirationTimeout()</code></a> .
-            </li>
-            <li>MUST NOT authenticate access to keystores if the application has called <a href="https://developer.android.com/reference/android/security/keystore/KeyGenParameterSpec.Builder.html#setUserAuthenticationRequired%28boolean%29"><code>KeyGenParameterSpec.Builder.setUserAuthenticationRequired(true)</code></a> ).
-            </li>
-          </ul>
-        </li>
-        <li>If the authentication method is based on a physical token, the location, or biometrics that has higher false acceptance rate than what is required for fingerprint sensors as described in section 7.3.10, then it:
-          <ul>
-            <li>MUST NOT reset the password expiration timers set by <a href="http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#setPasswordExpirationTimeout%28android.content.ComponentName,%20long%29"><code>DevicePolicyManager.setPasswordExpirationTimeout()</code></a> .
-            </li>
-            <li>MUST NOT authenticate access to keystores if the application has called <a href="https://developer.android.com/reference/android/security/keystore/KeyGenParameterSpec.Builder.html#setUserAuthenticationRequired%28boolean%29"><code>KeyGenParameterSpec.Builder.setUserAuthenticationRequired(true)</code></a> .
-            </li>
-          </ul>
-        </li>
-      </ul>
-      <h3 id="9_12_data_deletion">
-        9.12. Data Deletion
-      </h3>
-      <p>
-        Devices MUST provide users with a mechanism to perform a "Factory Data Reset" that allows logical and physical deletion of all data except for the following:
-      </p>
-      <ul>
-        <li>The system image
-        </li>
-        <li>Any operating system files required by the system image
-        </li>
-      </ul>
-      <p>
-        All user-generated data MUST be deleted. This MUST satisfy relevant industry standards for data deletion such as NIST SP800-88. This MUST be used for the implementation of the wipeData() API (part of the Android Device Administration API) described in <a href="#3_9_device_administration">section 3.9 Device Administration</a> .
-      </p>
-      <p>
-        Devices MAY provide a fast data wipe that conducts a logical data erase.
-      </p>
-      <h3 id="9_13_safe_boot_mode">
-        9.13. Safe Boot Mode
-      </h3>
-      <p>
-        Android provides a mode enabling users to boot up into a mode where only preinstalled system apps are allowed to run and all third-party apps are disabled. This mode, known as "Safe Boot Mode", provides the user the capability to uninstall potentially harmful third-party apps.
-      </p>
-      <p>
-        Android device implementations are STRONGLY RECOMENDED to implement Safe Boot Mode and meet following requirements:
-      </p>
-      <ul>
-        <li>
-          <p>
-            Device implementations SHOULD provide the user an option to enter Safe Boot Mode from the boot menu which is reachable through a workflow that is different from that of normal boot.
-          </p>
-        </li>
-        <li>
-          <p>
-            Device implementations MUST provide the user an option to enter Safe Boot Mode in such a way that is uninterruptible from third-party apps installed on the device, except for when the third party app is a Device Policy Controller and has set the <a href="https://developer.android.com/reference/android/os/UserManager.html#DISALLOW_SAFE_BOOT"><code>UserManager.DISALLOW_SAFE_BOOT</code></a> flag as true.
-          </p>
-        </li>
-        <li>
-          <p>
-            Device implementations MUST provide the user the capability to uninstall any third-party apps within Safe Mode.
-          </p>
-        </li>
-      </ul>
-      <h3 id="9_14_automotive_vehicle_system_isolation">
-        9.14. Automotive Vehicle System Isolation
-      </h3>
-      <p>
-        Android Automotive devices are expected to exchange data with critical vehicle subsystems, e.g., by using the <a href="http://source.android.com/devices/automotive.html">vehicle HAL</a> to send and receive messages over vehicle networks such as CAN bus. Android Automotive device implementations MUST implement security features below the Android framework layers to prevent malicious or unintentional interaction between the Android framework or third-party apps and vehicle subsystems. These security features are as follows:
-      </p>
-      <ul>
-        <li>Gatekeeping messages from Android framework vehicle subsystems, e.g., whitelisting permitted message types and message sources.
-        </li>
-        <li>Watchdog against denial of service attacks from the Android framework or third-party apps. This guards against malicious software flooding the vehicle network with traffic, which may lead to malfunctioning vehicle subsystems.
-        </li>
-      </ul>
-      <h2 id="10_software_compatibility_testing">
-        10. Software Compatibility Testing
-      </h2>
-      <p>
-        Device implementations MUST pass all tests described in this section.
-      </p>
-      <p>
-        However, note that no software test package is fully comprehensive. For this reason, device implementers are <strong>STRONGLY RECOMMENDED</strong> to make the minimum number of changes as possible to the reference and preferred implementation of Android available from the Android Open Source Project. This will minimize the risk of introducing bugs that create incompatibilities requiring rework and potential device updates.
-      </p>
-      <h3 id="10_1_compatibility_test_suite">
-        10.1. Compatibility Test Suite
-      </h3>
-      <p>
-        Device implementations MUST pass the <a href="http://source.android.com/compatibility/index.html">Android Compatibility Test Suite (CTS)</a> available from the Android Open Source Project, using the final shipping software on the device. Additionally, device implementers SHOULD use the reference implementation in the Android Open Source tree as much as possible, and MUST ensure compatibility in cases of ambiguity in CTS and for any reimplementations of parts of the reference source code.
-      </p>
-      <p>
-        The CTS is designed to be run on an actual device. Like any software, the CTS may itself contain bugs. The CTS will be versioned independently of this Compatibility Definition, and multiple revisions of the CTS may be released for Android 7.1. Device implementations MUST pass the latest CTS version available at the time the device software is completed.
-      </p>
-      <h3 id="10_2_cts_verifier">
-        10.2. CTS Verifier
-      </h3>
-      <p>
-        Device implementations MUST correctly execute all applicable cases in the CTS Verifier. The CTS Verifier is included with the Compatibility Test Suite, and is intended to be run by a human operator to test functionality that cannot be tested by an automated system, such as correct functioning of a camera and sensors.
-      </p>
-      <p>
-        The CTS Verifier has tests for many kinds of hardware, including some hardware that is optional. Device implementations MUST pass all tests for hardware that they possess; for instance, if a device possesses an accelerometer, it MUST correctly execute the Accelerometer test case in the CTS Verifier. Test cases for features noted as optional by this Compatibility Definition Document MAY be skipped or omitted.
-      </p>
-      <p>
-        Every device and every build MUST correctly run the CTS Verifier, as noted above. However, since many builds are very similar, device implementers are not expected to explicitly run the CTS Verifier on builds that differ only in trivial ways. Specifically, device implementations that differ from an implementation that has passed the CTS Verifier only by the set of included locales, branding, etc. MAY omit the CTS Verifier test.
-      </p>
-      <h2 id="11_updatable_software">
-        11. Updatable Software
-      </h2>
-      <p>
-        Device implementations MUST include a mechanism to replace the entirety of the system software. The mechanism need not perform “live” upgrades—that is, a device restart MAY be required.
-      </p>
-      <p>
-        Any method can be used, provided that it can replace the entirety of the software preinstalled on the device. For instance, any of the following approaches will satisfy this requirement:
-      </p>
-      <ul>
-        <li>“Over-the-air (OTA)” downloads with offline update via reboot.
-        </li>
-        <li>“Tethered” updates over USB from a host PC.
-        </li>
-        <li>“Offline” updates via a reboot and update from a file on removable storage.
-        </li>
-      </ul>
-      <p>
-        However, if the device implementation includes support for an unmetered data connection such as 802.11 or Bluetooth PAN (Personal Area Network) profile, it MUST support OTA downloads with offline update via reboot.
-      </p>
-      <p>
-        The update mechanism used MUST support updates without wiping user data. That is, the update mechanism MUST preserve application private data and application shared data. Note that the upstream Android software includes an update mechanism that satisfies this requirement.
-      </p>
-      <p>
-        For device implementations that are launching with Android 6.0 and later, the update mechanism SHOULD support verifying that the system image is binary identical to expected result following an OTA. The block-based OTA implementation in the upstream Android Open Source Project, added since Android 5.1, satisfies this requirement.
-      </p>
-      <p>
-        Also, device implementations SHOULD support <a href="https://source.android.com/devices/tech/ota/ab_updates.html">A/B system updates</a> . The AOSP implements this feature using the boot control HAL.
-      </p>
-      <p>
-        If an error is found in a device implementation after it has been released but within its reasonable product lifetime that is determined in consultation with the Android Compatibility Team to affect the compatibility of third-party applications, the device implementer MUST correct the error via a software update available that can be applied per the mechanism just described.
-      </p>
-      <p>
-        Android includes features that allow the Device Owner app (if present) to control the installation of system updates. To facilitate this, the system update subsystem for devices that report android.software.device_admin MUST implement the behavior described in the <a href="http://developer.android.com/reference/android/app/admin/SystemUpdatePolicy.html">SystemUpdatePolicy</a> class.
-      </p>
-      <h2 id="12_document_changelog">
-        12. Document Changelog
-      </h2>
-      <p>
-        For a summary of changes to the Compatibility Definition in this release:
-      </p>
-      <ul>
-        <li>
-          <a href="https://android.googlesource.com/platform/compatibility/cdd/+log/nougat-mr1-dev/?pretty=full&amp;no-merges">Document changelog</a>
-        </li>
-      </ul>
-      <p>
-        For a summary of changes to individuals sections:
-      </p>
-      <ol>
-        <li>
-          <a href="https://android.googlesource.com/platform/compatibility/cdd/+log/nougat-mr1-dev/1_introduction?pretty=full&amp;no-merges">Introduction</a>
-        </li>
-        <li>
-          <a href="https://android.googlesource.com/platform/compatibility/cdd/+log/nougat-mr1-dev/2_device_types?pretty=full&amp;no-merges">Device Types</a>
-        </li>
-        <li>
-          <a href="https://android.googlesource.com/platform/compatibility/cdd/+log/nougat-mr1-dev/3_software?pretty=full&amp;no-merges">Software</a>
-        </li>
-        <li>
-          <a href="https://android.googlesource.com/platform/compatibility/cdd/+log/nougat-mr1-dev/4_application-packaging?pretty=full&amp;no-merges">Application Packaging</a>
-        </li>
-        <li>
-          <a href="https://android.googlesource.com/platform/compatibility/cdd/+log/nougat-mr1-dev/5_multimedia?pretty=full&amp;no-merges">Multimedia</a>
-        </li>
-        <li>
-          <a href="https://android.googlesource.com/platform/compatibility/cdd/+log/nougat-mr1-dev/6_dev-tools-and-options?pretty=full&amp;no-merges">Developer Tools and Options</a>
-        </li>
-        <li>
-          <a href="https://android.googlesource.com/platform/compatibility/cdd/+log/nougat-mr1-dev/7_hardware-compatibility?pretty=full&amp;no-merges">Hardware Compatibility</a>
-        </li>
-        <li>
-          <a href="https://android.googlesource.com/platform/compatibility/cdd/+log/nougat-mr1-dev/8_performance-and-power?pretty=full&amp;no-merges">Performance and Power</a>
-        </li>
-        <li>
-          <a href="https://android.googlesource.com/platform/compatibility/cdd/+log/nougat-mr1-dev/9_security-model?pretty=full&amp;no-merges">Security Model</a>
-        </li>
-        <li>
-          <a href="https://android.googlesource.com/platform/compatibility/cdd/+log/nougat-mr1-dev/10_software-compatibility-testing?pretty=full&amp;no-merges">Software Compatibility Testing</a>
-        </li>
-        <li>
-          <a href="https://android.googlesource.com/platform/compatibility/cdd/+log/nougat-mr1-dev/11_updatable-software?pretty=full&amp;no-merges">Updatable Software</a>
-        </li>
-        <li>
-          <a href="https://android.googlesource.com/platform/compatibility/cdd/+log/nougat-mr1-dev/12_document-changelog?pretty=full&amp;no-merges">Document Changelog</a>
-        </li>
-        <li>
-          <a href="https://android.googlesource.com/platform/compatibility/cdd/+log/nougat-mr1-dev/13_contact-us?pretty=full&amp;no-merges">Contact Us</a>
-        </li>
-      </ol>
-      <h3 id="12_1_changelog_viewing_tips">
-        12.1. Changelog Viewing Tips
-      </h3>
-      <p>
-        Changes are marked as follows:
-      </p>
-      <ul>
-        <li>
-          <p>
-            <strong>CDD</strong><br />
-            Substantive changes to the compatibility requirements.
-          </p>
-        </li>
-        <li>
-          <p>
-            <strong>Docs</strong><br />
-            Cosmetic or build related changes.
-          </p>
-        </li>
-      </ul>
-      <p>
-        For best viewing, append the <code>pretty=full</code> and <code>no-merges</code> URL parameters to your changelog URLs.
-      </p>
-      <h2 id="13_contact_us">
-        13. Contact Us
-      </h2>
-      <p>
-        You can join the <a href="https://groups.google.com/forum/#!forum/android-compatibility">android-compatibility forum</a> and ask for clarifications or bring up any issues that you think the document does not cover.
-      </p>
diff --git a/templates/footer b/templates/footer
deleted file mode 100644
index 4bf07fc..0000000
--- a/templates/footer
+++ /dev/null
@@ -1,17 +0,0 @@
-<div id="footer"> 
-  <div id="copyright">
-  </div> 
- 
-  <div id="footerLeft">     
-    <p> 
-      <a href="http://www.google.com/intl/en/policies/">Privacy &amp; Terms</a>
-    </p> 
-  </div>
-
-  <div id="footerRight">
-    <p>
-      <a href="#top">Go to Top</a>
-    </p>
-  </div>
-</div> 
-
diff --git a/templates/header b/templates/header
deleted file mode 100644
index 4382545..0000000
--- a/templates/header
+++ /dev/null
@@ -1,28 +0,0 @@
-<a name="top"/>
-
-<div id="header">
-  <div id="headerLeft">
-    <a href="/" tabindex="-1"><img src="/images/open_source.png" alt="Android Open Source Project" /></a>
-    <ul class="$category">
-      <li id="home-link"><a href="/index.html"><span>Home</span></a></li>   
-      <li id="source-link"><a href="/source/index.html"
-                              onClick="return loadLast('source')"><span>Source</span></a></li>
-      <li id="compatibility-link"><a href="/compatibility/index.html"
-                              onClick="return loadLast('compatibility')"><span>Compatibility</span></a></li>
-      <li id="tech-link"><a href="/tech/index.html"
-                              onClick="return loadLast('tech')"><span>Tech Info</span></a></li>
-      <li id="community-link"><a href="/community/index.html"
-                              onClick="return loadLast('community')"><span>Community</span></a></li>
-      <li id="about-link"><a href="/about/index.html"
-                              onClick="return loadLast('about')"><span>About</span></a></li>
-    </ul> 
-  </div>
-  <div id="headerRight">
-    <div id="headerLinks">
-      <span class="text">
-        <a href="http://www.android.com">Android.com</a>
-      </span>
-    </div>
-  </div>
-</div>
-
diff --git a/templates/includes b/templates/includes
deleted file mode 100644
index 008ad7d..0000000
--- a/templates/includes
+++ /dev/null
@@ -1,8 +0,0 @@
-<head>
-  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-  <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
-  <title>$title | Android Open Source</title>
-
-  <link href="/assets/main.css" rel="stylesheet" type="text/css" />
-</head>
-
diff --git a/templates/main b/templates/main
deleted file mode 100644
index dad5c21..0000000
--- a/templates/main
+++ /dev/null
@@ -1,4 +0,0 @@
-<div id=main>
-  $main
-</div>
-
diff --git a/templates/sidebar b/templates/sidebar
deleted file mode 100644
index 748a2fc..0000000
--- a/templates/sidebar
+++ /dev/null
@@ -1,4 +0,0 @@
-<div id=sidebar>
-  $sidebar$sidebar2$sidebar3
-</div>
-
diff --git a/src-intl/zh-CN_ALL/security/advisory/2016-03-18.jd b/zh-cn/security/advisory/2016-03-18.html
similarity index 100%
rename from src-intl/zh-CN_ALL/security/advisory/2016-03-18.jd
rename to zh-cn/security/advisory/2016-03-18.html
diff --git a/src-intl/zh-CN_ALL/security/bulletin/2015-08-01.jd b/zh-cn/security/bulletin/2015-08-01.html
similarity index 100%
rename from src-intl/zh-CN_ALL/security/bulletin/2015-08-01.jd
rename to zh-cn/security/bulletin/2015-08-01.html
diff --git a/src-intl/zh-CN_ALL/security/bulletin/2015-09-01.jd b/zh-cn/security/bulletin/2015-09-01.html
similarity index 100%
rename from src-intl/zh-CN_ALL/security/bulletin/2015-09-01.jd
rename to zh-cn/security/bulletin/2015-09-01.html
diff --git a/src-intl/zh-CN_ALL/security/bulletin/2015-10-01.jd b/zh-cn/security/bulletin/2015-10-01.html
similarity index 100%
rename from src-intl/zh-CN_ALL/security/bulletin/2015-10-01.jd
rename to zh-cn/security/bulletin/2015-10-01.html
diff --git a/src-intl/zh-CN_ALL/security/bulletin/2015-11-01.jd b/zh-cn/security/bulletin/2015-11-01.html
similarity index 100%
rename from src-intl/zh-CN_ALL/security/bulletin/2015-11-01.jd
rename to zh-cn/security/bulletin/2015-11-01.html
diff --git a/src-intl/zh-CN_ALL/security/bulletin/2015-12-01.jd b/zh-cn/security/bulletin/2015-12-01.html
similarity index 100%
rename from src-intl/zh-CN_ALL/security/bulletin/2015-12-01.jd
rename to zh-cn/security/bulletin/2015-12-01.html
diff --git a/src-intl/zh-CN_ALL/security/bulletin/2016-01-01.jd b/zh-cn/security/bulletin/2016-01-01.html
similarity index 100%
rename from src-intl/zh-CN_ALL/security/bulletin/2016-01-01.jd
rename to zh-cn/security/bulletin/2016-01-01.html
diff --git a/src-intl/zh-CN_ALL/security/bulletin/2016-02-01.jd b/zh-cn/security/bulletin/2016-02-01.html
similarity index 100%
rename from src-intl/zh-CN_ALL/security/bulletin/2016-02-01.jd
rename to zh-cn/security/bulletin/2016-02-01.html
diff --git a/src-intl/zh-CN_ALL/security/bulletin/2016-03-01.jd b/zh-cn/security/bulletin/2016-03-01.html
similarity index 100%
rename from src-intl/zh-CN_ALL/security/bulletin/2016-03-01.jd
rename to zh-cn/security/bulletin/2016-03-01.html
diff --git a/src-intl/zh-CN_ALL/security/bulletin/2016-04-02.jd b/zh-cn/security/bulletin/2016-04-02.html
similarity index 100%
rename from src-intl/zh-CN_ALL/security/bulletin/2016-04-02.jd
rename to zh-cn/security/bulletin/2016-04-02.html
diff --git a/src-intl/zh-CN_ALL/security/bulletin/2016-05-01.jd b/zh-cn/security/bulletin/2016-05-01.html
similarity index 100%
rename from src-intl/zh-CN_ALL/security/bulletin/2016-05-01.jd
rename to zh-cn/security/bulletin/2016-05-01.html
diff --git a/src-intl/zh-CN_ALL/security/bulletin/2016-06-01.jd b/zh-cn/security/bulletin/2016-06-01.html
similarity index 100%
rename from src-intl/zh-CN_ALL/security/bulletin/2016-06-01.jd
rename to zh-cn/security/bulletin/2016-06-01.html
diff --git a/src-intl/zh-CN_ALL/security/bulletin/2016-07-01.jd b/zh-cn/security/bulletin/2016-07-01.html
similarity index 100%
rename from src-intl/zh-CN_ALL/security/bulletin/2016-07-01.jd
rename to zh-cn/security/bulletin/2016-07-01.html
diff --git a/src-intl/zh-CN_ALL/security/bulletin/2016-08-01.jd b/zh-cn/security/bulletin/2016-08-01.html
similarity index 100%
rename from src-intl/zh-CN_ALL/security/bulletin/2016-08-01.jd
rename to zh-cn/security/bulletin/2016-08-01.html
diff --git a/src-intl/zh-CN_ALL/security/bulletin/2016-09-01.jd b/zh-cn/security/bulletin/2016-09-01.html
similarity index 100%
rename from src-intl/zh-CN_ALL/security/bulletin/2016-09-01.jd
rename to zh-cn/security/bulletin/2016-09-01.html
diff --git a/src-intl/zh-CN_ALL/security/bulletin/2016-10-01.jd b/zh-cn/security/bulletin/2016-10-01.html
similarity index 100%
rename from src-intl/zh-CN_ALL/security/bulletin/2016-10-01.jd
rename to zh-cn/security/bulletin/2016-10-01.html
diff --git a/src-intl/zh-CN_ALL/security/bulletin/2016-11-01.jd b/zh-cn/security/bulletin/2016-11-01.html
similarity index 100%
rename from src-intl/zh-CN_ALL/security/bulletin/2016-11-01.jd
rename to zh-cn/security/bulletin/2016-11-01.html
diff --git a/src-intl/zh-CN_ALL/security/bulletin/2016-12-01.jd b/zh-cn/security/bulletin/2016-12-01.html
similarity index 100%
rename from src-intl/zh-CN_ALL/security/bulletin/2016-12-01.jd
rename to zh-cn/security/bulletin/2016-12-01.html
diff --git a/src-intl/zh-CN_ALL/security/bulletin/2017-01-01.jd b/zh-cn/security/bulletin/2017-01-01.html
similarity index 100%
rename from src-intl/zh-CN_ALL/security/bulletin/2017-01-01.jd
rename to zh-cn/security/bulletin/2017-01-01.html
diff --git a/src-intl/zh-CN_ALL/security/bulletin/2017-02-01.jd b/zh-cn/security/bulletin/2017-02-01.html
similarity index 100%
rename from src-intl/zh-CN_ALL/security/bulletin/2017-02-01.jd
rename to zh-cn/security/bulletin/2017-02-01.html
diff --git a/src-intl/zh-TW_ALL/security/advisory/2016-03-18.jd b/zh-tw/security/advisory/2016-03-18.html
similarity index 100%
rename from src-intl/zh-TW_ALL/security/advisory/2016-03-18.jd
rename to zh-tw/security/advisory/2016-03-18.html
diff --git a/src-intl/zh-TW_ALL/security/bulletin/2015-08-01.jd b/zh-tw/security/bulletin/2015-08-01.html
similarity index 100%
rename from src-intl/zh-TW_ALL/security/bulletin/2015-08-01.jd
rename to zh-tw/security/bulletin/2015-08-01.html
diff --git a/src-intl/zh-TW_ALL/security/bulletin/2015-09-01.jd b/zh-tw/security/bulletin/2015-09-01.html
similarity index 100%
rename from src-intl/zh-TW_ALL/security/bulletin/2015-09-01.jd
rename to zh-tw/security/bulletin/2015-09-01.html
diff --git a/src-intl/zh-TW_ALL/security/bulletin/2015-10-01.jd b/zh-tw/security/bulletin/2015-10-01.html
similarity index 100%
rename from src-intl/zh-TW_ALL/security/bulletin/2015-10-01.jd
rename to zh-tw/security/bulletin/2015-10-01.html
diff --git a/src-intl/zh-TW_ALL/security/bulletin/2015-11-01.jd b/zh-tw/security/bulletin/2015-11-01.html
similarity index 100%
rename from src-intl/zh-TW_ALL/security/bulletin/2015-11-01.jd
rename to zh-tw/security/bulletin/2015-11-01.html
diff --git a/src-intl/zh-TW_ALL/security/bulletin/2015-12-01.jd b/zh-tw/security/bulletin/2015-12-01.html
similarity index 100%
rename from src-intl/zh-TW_ALL/security/bulletin/2015-12-01.jd
rename to zh-tw/security/bulletin/2015-12-01.html
diff --git a/src-intl/zh-TW_ALL/security/bulletin/2016-01-01.jd b/zh-tw/security/bulletin/2016-01-01.html
similarity index 100%
rename from src-intl/zh-TW_ALL/security/bulletin/2016-01-01.jd
rename to zh-tw/security/bulletin/2016-01-01.html
diff --git a/src-intl/zh-TW_ALL/security/bulletin/2016-02-01.jd b/zh-tw/security/bulletin/2016-02-01.html
similarity index 100%
rename from src-intl/zh-TW_ALL/security/bulletin/2016-02-01.jd
rename to zh-tw/security/bulletin/2016-02-01.html
diff --git a/src-intl/zh-TW_ALL/security/bulletin/2016-03-01.jd b/zh-tw/security/bulletin/2016-03-01.html
similarity index 100%
rename from src-intl/zh-TW_ALL/security/bulletin/2016-03-01.jd
rename to zh-tw/security/bulletin/2016-03-01.html
diff --git a/src-intl/zh-TW_ALL/security/bulletin/2016-04-02.jd b/zh-tw/security/bulletin/2016-04-02.html
similarity index 100%
rename from src-intl/zh-TW_ALL/security/bulletin/2016-04-02.jd
rename to zh-tw/security/bulletin/2016-04-02.html
diff --git a/src-intl/zh-TW_ALL/security/bulletin/2016-05-01.jd b/zh-tw/security/bulletin/2016-05-01.html
similarity index 100%
rename from src-intl/zh-TW_ALL/security/bulletin/2016-05-01.jd
rename to zh-tw/security/bulletin/2016-05-01.html
diff --git a/src-intl/zh-TW_ALL/security/bulletin/2016-06-01.jd b/zh-tw/security/bulletin/2016-06-01.html
similarity index 100%
rename from src-intl/zh-TW_ALL/security/bulletin/2016-06-01.jd
rename to zh-tw/security/bulletin/2016-06-01.html
diff --git a/src-intl/zh-TW_ALL/security/bulletin/2016-07-01.jd b/zh-tw/security/bulletin/2016-07-01.html
similarity index 100%
rename from src-intl/zh-TW_ALL/security/bulletin/2016-07-01.jd
rename to zh-tw/security/bulletin/2016-07-01.html
diff --git a/src-intl/zh-TW_ALL/security/bulletin/2016-08-01.jd b/zh-tw/security/bulletin/2016-08-01.html
similarity index 100%
rename from src-intl/zh-TW_ALL/security/bulletin/2016-08-01.jd
rename to zh-tw/security/bulletin/2016-08-01.html
diff --git a/src-intl/zh-TW_ALL/security/bulletin/2016-09-01.jd b/zh-tw/security/bulletin/2016-09-01.html
similarity index 100%
rename from src-intl/zh-TW_ALL/security/bulletin/2016-09-01.jd
rename to zh-tw/security/bulletin/2016-09-01.html
diff --git a/src-intl/zh-TW_ALL/security/bulletin/2016-10-01.jd b/zh-tw/security/bulletin/2016-10-01.html
similarity index 100%
rename from src-intl/zh-TW_ALL/security/bulletin/2016-10-01.jd
rename to zh-tw/security/bulletin/2016-10-01.html
diff --git a/src-intl/zh-TW_ALL/security/bulletin/2016-11-01.jd b/zh-tw/security/bulletin/2016-11-01.html
similarity index 100%
rename from src-intl/zh-TW_ALL/security/bulletin/2016-11-01.jd
rename to zh-tw/security/bulletin/2016-11-01.html
diff --git a/src-intl/zh-TW_ALL/security/bulletin/2016-12-01.jd b/zh-tw/security/bulletin/2016-12-01.html
similarity index 100%
rename from src-intl/zh-TW_ALL/security/bulletin/2016-12-01.jd
rename to zh-tw/security/bulletin/2016-12-01.html
diff --git a/src-intl/zh-TW_ALL/security/bulletin/2017-01-01.jd b/zh-tw/security/bulletin/2017-01-01.html
similarity index 100%
rename from src-intl/zh-TW_ALL/security/bulletin/2017-01-01.jd
rename to zh-tw/security/bulletin/2017-01-01.html
diff --git a/src-intl/zh-TW_ALL/security/bulletin/2017-02-01.jd b/zh-tw/security/bulletin/2017-02-01.html
similarity index 100%
rename from src-intl/zh-TW_ALL/security/bulletin/2017-02-01.jd
rename to zh-tw/security/bulletin/2017-02-01.html
