Merge "target/product: have the sdk product pull in the apns"
diff --git a/core/binary.mk b/core/binary.mk
index f1ffca1..852ac46 100644
--- a/core/binary.mk
+++ b/core/binary.mk
@@ -123,11 +123,19 @@
 #######################################
 include $(BUILD_SYSTEM)/base_rules.mk
 #######################################
+
+ifeq ($(strip $(LOCAL_ADDRESS_SANITIZER)),true)
+  LOCAL_CLANG := true
+  LOCAL_CFLAGS += $(ADDRESS_SANITIZER_CONFIG_EXTRA_CFLAGS)
+  LOCAL_LDFLAGS += $(ADDRESS_SANITIZER_CONFIG_EXTRA_LDFLAGS)
+  LOCAL_SHARED_LIBRARIES += $(ADDRESS_SANITIZER_CONFIG_EXTRA_SHARED_LIBRARIES)
+  LOCAL_STATIC_LIBRARIES += $(ADDRESS_SANITIZER_CONFIG_EXTRA_STATIC_LIBRARIES)
+endif
+
 my_compiler_dependencies :=
 ifeq ($(strip $(LOCAL_CLANG)),true)
   LOCAL_CFLAGS += $(CLANG_CONFIG_EXTRA_CFLAGS)
   LOCAL_LDFLAGS += $(CLANG_CONFIG_EXTRA_LDFLAGS)
-  LOCAL_C_INCLUDES += $(CLANG_CONFIG_EXTRA_C_INCLUDES)
   my_compiler_dependencies := $(CLANG) $(CLANG_CXX)
 endif
 
@@ -157,18 +165,21 @@
 
 ifdef LOCAL_NDK_VERSION
 my_target_project_includes :=
-my_target_c_inclues := $(my_ndk_stl_include_path) $(my_ndk_version_root)/usr/include
+my_target_c_includes := $(my_ndk_stl_include_path) $(my_ndk_version_root)/usr/include
 # TODO: more reliable way to remove platform stuff.
 my_target_global_cflags := $(filter-out -include -I system/%, $(my_target_global_cflags))
 my_target_global_cppflags := $(filter-out -include -I system/%, $(TARGET_GLOBAL_CPPFLAGS))
 else
 my_target_project_includes := $(TARGET_PROJECT_INCLUDES)
-my_target_c_inclues := $(TARGET_C_INCLUDES)
+my_target_c_includes := $(TARGET_C_INCLUDES)
 my_target_global_cflags := $(my_target_global_cflags)
 my_target_global_cppflags := $(TARGET_GLOBAL_CPPFLAGS)
+ifeq ($(strip $(LOCAL_CLANG)),true)
+  my_target_c_includes += $(CLANG_CONFIG_EXTRA_TARGET_C_INCLUDES)
+endif
 endif
 $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_TARGET_PROJECT_INCLUDES := $(my_target_project_includes)
-$(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_TARGET_C_INCLUDES := $(my_target_c_inclues)
+$(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_TARGET_C_INCLUDES := $(my_target_c_includes)
 $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_TARGET_GLOBAL_CFLAGS := $(my_target_global_cflags)
 $(LOCAL_INTERMEDIATE_TARGETS): PRIVATE_TARGET_GLOBAL_CPPFLAGS := $(my_target_global_cppflags)
 
diff --git a/core/clear_vars.mk b/core/clear_vars.mk
index 41259e4..6131be7 100644
--- a/core/clear_vars.mk
+++ b/core/clear_vars.mk
@@ -119,6 +119,7 @@
 LOCAL_CTS_TEST_PACKAGE:=
 LOCAL_CTS_TEST_RUNNER:=
 LOCAL_CLANG:=
+LOCAL_ADDRESS_SANITIZER:=
 
 # Trim MAKEFILE_LIST so that $(call my-dir) doesn't need to
 # iterate over thousands of entries every time.
diff --git a/core/llvm_config.mk b/core/llvm_config.mk
index ffa933d..bebc08c 100644
--- a/core/llvm_config.mk
+++ b/core/llvm_config.mk
@@ -50,7 +50,7 @@
     -mbionic
 endif
 
-CLANG_CONFIG_EXTRA_C_INCLUDES := external/clang/lib/Headers
+CLANG_CONFIG_EXTRA_TARGET_C_INCLUDES := external/clang/lib/include
 
 # remove unknown flags to define CLANG_FLAGS
 TARGET_GLOBAL_CLANG_FLAGS += $(filter-out $(CLANG_CONFIG_UNKNOWN_CFLAGS),$(TARGET_GLOBAL_CFLAGS))
@@ -59,3 +59,8 @@
 # llvm does not yet support -march=armv5e nor -march=armv5te, fall back to armv5 or armv5t
 $(call clang-flags-subst,-march=armv5te,-march=armv5t)
 $(call clang-flags-subst,-march=armv5e,-march=armv5)
+
+ADDRESS_SANITIZER_CONFIG_EXTRA_CFLAGS := -faddress-sanitizer
+ADDRESS_SANITIZER_CONFIG_EXTRA_LDFLAGS := -Wl,-u,__asan_preinit
+ADDRESS_SANITIZER_CONFIG_EXTRA_SHARED_LIBRARIES := libdl libasan_preload
+ADDRESS_SANITIZER_CONFIG_EXTRA_STATIC_LIBRARIES := libasan
diff --git a/tools/droiddoc/templates-sdk/assets/design/default.css b/tools/droiddoc/templates-sdk/assets/design/default.css
index 5000ce8..c568424 100644
--- a/tools/droiddoc/templates-sdk/assets/design/default.css
+++ b/tools/droiddoc/templates-sdk/assets/design/default.css
@@ -18,8 +18,8 @@
   background-image: -moz-linear-gradient(top, #dddddd, #f2f2f2, #f2f2f2, #dddddd);
   -webkit-font-smoothing: antialiased;
   /* prevent subpixel antialiasing, which thickens the text */
-  text-rendering: optimizeLegibility;
-  /* opentype ftw */ }
+  /* text-rendering: optimizeLegibility; */
+  /* turned off ligatures due to bug 5945455 */ }
 
 body {
   color: #555555;
@@ -552,7 +552,7 @@
 
 /* video  containers */
 .framed-galaxynexus-land-span-13 {
-  background: transparent url(content/misc_full_galaxynexus_blank_land_span13.png) no-repeat scroll top left;
+  background: transparent url(device_galaxynexus_blank_land_span13.png) no-repeat scroll top left;
   padding: 42px 122px 62px 126px;
   overflow: hidden; }
   .framed-galaxynexus-land-span-13, .framed-galaxynexus-land-span-13 video, .framed-galaxynexus-land-span-13 img {
@@ -560,7 +560,7 @@
     height: 286px; }
 
 .framed-galaxynexus-port-span-9 {
-  background: transparent url(content/misc_full_galaxynexus_blank_port_span9.png) no-repeat scroll top left;
+  background: transparent url(device_galaxynexus_blank_port_span9.png) no-repeat scroll top left;
   padding: 95px 122px 107px 124px;
   overflow: hidden; }
   .framed-galaxynexus-port-span-9, .framed-galaxynexus-port-span-9 video, .framed-galaxynexus-port-span-9 img {
@@ -568,7 +568,7 @@
     height: 488px; }
 
 .framed-galaxynexus-port-span-5 {
-  background: transparent url(content/misc_full_galaxynexus_blank_port_span5.png) no-repeat scroll top left;
+  background: transparent url(device_galaxynexus_blank_port_span5.png) no-repeat scroll top left;
   padding: 75px 31px 76px 33px;
   overflow: hidden; }
   .framed-galaxynexus-port-span-5, .framed-galaxynexus-port-span-5 video, .framed-galaxynexus-port-span-5 img {
@@ -639,3 +639,38 @@
     color: #fff !important; }
   .download-button:active {
     background-color: #006699; }
+
+/* UI tables and other things found in Writing style and Settings pattern */
+.ui-table {
+  width: 100%;
+  background: #282828;
+  color: #fff;
+  border-radius: 2px;
+  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
+  border-collapse: separate; }
+  .ui-table th,
+  .ui-table td {
+    padding: 5px 10px; }
+  .ui-table thead th {
+    font-weight: 600; }
+  .ui-table tfoot td {
+    border-top: 1px solid #494949;
+    border-right: 1px solid #494949;
+    text-align: center; }
+    .ui-table tfoot td:last-child {
+      border-right: 0; }
+
+.layout-with-list-item-margins {
+  margin-left: 30px !important; }
+
+.emulate-content-left-padding {
+  margin-left: 10px; }
+
+.do-dont-label {
+  margin-bottom: 10px;
+  padding-left: 20px;
+  background: transparent none no-repeat scroll 0px 3px; }
+  .do-dont-label.bad {
+    background-image: url(ico_wrong.png); }
+  .do-dont-label.good {
+    background-image: url(ico_good.png); }
diff --git a/tools/droiddoc/templates-sdk/assets/design/default.scss b/tools/droiddoc/templates-sdk/assets/design/default.scss
index 536ee16..d874ee5 100644
--- a/tools/droiddoc/templates-sdk/assets/design/default.scss
+++ b/tools/droiddoc/templates-sdk/assets/design/default.scss
@@ -79,7 +79,7 @@
   background-image: -webkit-gradient(linear, 100% 0%, 100% 100%, from(#ddd), color-stop(25%, #f2f2f2), color-stop(75%, #f2f2f2), to(#ddd));
   background-image: -moz-linear-gradient(top, #ddd, #f2f2f2, #f2f2f2, #ddd);
   -webkit-font-smoothing: antialiased; /* prevent subpixel antialiasing, which thickens the text */
-  text-rendering: optimizeLegibility; /* opentype ftw */
+  /* text-rendering: optimizeLegibility; */ /* turned off ligatures due to bug 5945455 */
 }
 
 body {
@@ -617,7 +617,7 @@
 /* video  containers */
 
 .framed-galaxynexus-land-span-13 {
-  background: transparent url(content/misc_full_galaxynexus_blank_land_span13.png) no-repeat scroll top left;
+  background: transparent url(device_galaxynexus_blank_land_span13.png) no-repeat scroll top left;
   padding: 42px 122px 62px 126px;
   overflow: hidden;
 
@@ -630,7 +630,7 @@
 }
 
 .framed-galaxynexus-port-span-9 {
-  background: transparent url(content/misc_full_galaxynexus_blank_port_span9.png) no-repeat scroll top left;
+  background: transparent url(device_galaxynexus_blank_port_span9.png) no-repeat scroll top left;
   padding: 95px 122px 107px 124px;
   overflow: hidden;
 
@@ -643,7 +643,7 @@
 }
 
 .framed-galaxynexus-port-span-5 {
-  background: transparent url(content/misc_full_galaxynexus_blank_port_span5.png) no-repeat scroll top left;
+  background: transparent url(device_galaxynexus_blank_port_span5.png) no-repeat scroll top left;
   padding: 75px 31px 76px 33px;
   overflow: hidden;
 
@@ -737,4 +737,56 @@
   &:active {
     background-color: $ics_blue_darkest;
   }
+}
+
+/* UI tables and other things found in Writing style and Settings pattern */
+
+.ui-table {
+  width: 100%;
+  background: #282828;
+  color: #fff;
+  border-radius: 2px;
+  box-shadow: 0 2px 4px rgba(0,0,0,0.25);
+  border-collapse: separate;
+
+  th,
+  td {
+    padding: 5px 10px;
+  }
+
+  thead th {
+    font-weight: 600;
+  }
+
+  tfoot td {
+    border-top: 1px solid #494949;
+    border-right: 1px solid #494949;
+    text-align: center;
+
+    &:last-child {
+      border-right: 0;
+    }
+  }
+}
+
+.layout-with-list-item-margins {
+  margin-left: 30px !important;
+}
+
+.emulate-content-left-padding {
+  margin-left: 10px;
+}
+
+.do-dont-label {
+  margin-bottom: 10px;
+  padding-left: 20px;
+  background: transparent none no-repeat scroll 0px 3px;
+
+  &.bad {
+    background-image: url(ico_wrong.png);
+  }
+
+  &.good {
+    background-image: url(ico_good.png);
+  }
 }
\ No newline at end of file
diff --git a/tools/droiddoc/templates-sdk/assets/design/device_galaxynexus_blank_land_span13.png b/tools/droiddoc/templates-sdk/assets/design/device_galaxynexus_blank_land_span13.png
new file mode 100644
index 0000000..bab6aca
--- /dev/null
+++ b/tools/droiddoc/templates-sdk/assets/design/device_galaxynexus_blank_land_span13.png
Binary files differ
diff --git a/tools/droiddoc/templates-sdk/assets/design/device_galaxynexus_blank_port_span5.png b/tools/droiddoc/templates-sdk/assets/design/device_galaxynexus_blank_port_span5.png
new file mode 100644
index 0000000..bdccc2f
--- /dev/null
+++ b/tools/droiddoc/templates-sdk/assets/design/device_galaxynexus_blank_port_span5.png
Binary files differ
diff --git a/tools/droiddoc/templates-sdk/assets/design/device_galaxynexus_blank_port_span9.png b/tools/droiddoc/templates-sdk/assets/design/device_galaxynexus_blank_port_span9.png
new file mode 100644
index 0000000..5e0135b
--- /dev/null
+++ b/tools/droiddoc/templates-sdk/assets/design/device_galaxynexus_blank_port_span9.png
Binary files differ