summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CleanSpec.mk3
-rw-r--r--core/build_id.mk16
-rw-r--r--core/definitions.mk19
-rw-r--r--core/main.mk6
-rw-r--r--core/package.mk12
-rw-r--r--core/pathmap.mk14
-rw-r--r--core/product.mk3
-rw-r--r--core/product_config.mk4
-rw-r--r--core/tasks/sdk-addon.mk23
-rw-r--r--core/version_defaults.mk4
-rw-r--r--target/product/core.mk10
-rw-r--r--target/product/generic_armv5.mk1
-rw-r--r--target/product/generic_no_telephony.mk6
-rw-r--r--target/product/generic_x86.mk1
-rw-r--r--target/product/languages_full.mk3
-rw-r--r--target/product/large_emu_hw.mk7
-rw-r--r--target/product/locales_full.mk2
-rw-r--r--target/product/sdk.mk7
-rw-r--r--tools/droiddoc/templates-sdk/assets/android-developer-docs.css130
-rw-r--r--tools/droiddoc/templates-sdk/docpage.cs108
-rwxr-xr-xtools/releasetools/ota_from_target_files9
21 files changed, 289 insertions, 99 deletions
diff --git a/CleanSpec.mk b/CleanSpec.mk
index cab6242..ffe106c 100644
--- a/CleanSpec.mk
+++ b/CleanSpec.mk
@@ -103,7 +103,10 @@ $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/JAVA_LIBRARIES/*)
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/framework/*)
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*)
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/SHARED_LIBRARIES/libbcinfo_intermediates)
# ************************************************
# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
diff --git a/core/build_id.mk b/core/build_id.mk
index dcf438b..70bd235 100644
--- a/core/build_id.mk
+++ b/core/build_id.mk
@@ -1,4 +1,3 @@
-
#
# Copyright (C) 2008 The Android Open Source Project
#
@@ -14,9 +13,20 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
+
+#
+# Defines branch-specific values.
+#
+
# BUILD_ID is usually used to specify the branch name
# (like "MAIN") or a branch name and a release candidate
-# (like "CRB01"). It must be a single word, and is
+# (like "TC1-RC5"). It must be a single word, and is
# capitalized by convention.
+#
+BUILD_ID := MR1
-export BUILD_ID=ICL53E
+# DISPLAY_BUILD_NUMBER should only be set for development branches,
+# If set, the BUILD_NUMBER (cl) is appended to the BUILD_ID for
+# a more descriptive BUILD_ID_DISPLAY, otherwise BUILD_ID_DISPLAY
+# is the same as BUILD_ID
+DISPLAY_BUILD_NUMBER := true
diff --git a/core/definitions.mk b/core/definitions.mk
index 1a7cf4b..683ae16 100644
--- a/core/definitions.mk
+++ b/core/definitions.mk
@@ -843,11 +843,13 @@ define transform-proto-to-java
@echo "Protoc: $@ <= $(PRIVATE_PROTO_SRC_FILES)"
@rm -rf $(PRIVATE_PROTO_JAVA_OUTPUT_DIR)
@mkdir -p $(PRIVATE_PROTO_JAVA_OUTPUT_DIR)
-$(hide) $(PROTOC) \
- $(addprefix --proto_path=, $(PRIVATE_PROTO_INCLUDES)) \
- $(PRIVATE_PROTO_JAVA_OUTPUT_OPTION)=$(PRIVATE_PROTO_JAVA_OUTPUT_DIR) \
- $(PRIVATE_PROTOC_FLAGS) \
- $(PRIVATE_PROTO_SRC_FILES)
+$(hide) for f in $(PRIVATE_PROTO_SRC_FILES); do \
+ $(PROTOC) \
+ $(addprefix --proto_path=, $(PRIVATE_PROTO_INCLUDES)) \
+ $(PRIVATE_PROTO_JAVA_OUTPUT_OPTION)=$(PRIVATE_PROTO_JAVA_OUTPUT_DIR) \
+ $(PRIVATE_PROTOC_FLAGS) \
+ $$f; \
+ done
$(hide) touch $@
endef
@@ -1586,10 +1588,9 @@ endef
define add-dex-to-package
$(if $(filter classes.dex,$(notdir $(PRIVATE_DEX_FILE))),\
$(hide) $(AAPT) add -k $@ $(PRIVATE_DEX_FILE),\
-$(eval _adtp_classes.dex := $(dir $(PRIVATE_DEX_FILE))/classes.dex)\
-$(hide) cp $(PRIVATE_DEX_FILE) $(_adtp_classes.dex) && \
-$(AAPT) add -k $@ $(_adtp_classes.dex) && \
-rm -f $(_adtp_classes.dex))
+$(hide) _adtp_classes_dex=$(dir $(PRIVATE_DEX_FILE))classes.dex; \
+cp $(PRIVATE_DEX_FILE) $$_adtp_classes_dex && \
+$(AAPT) add -k $@ $$_adtp_classes_dex && rm -f $$_adtp_classes_dex)
endef
define add-java-resources-to-package
diff --git a/core/main.mk b/core/main.mk
index 6841b36..569d4dc 100644
--- a/core/main.mk
+++ b/core/main.mk
@@ -444,6 +444,7 @@ subdirs += \
sdk/layoutopt \
sdk/ninepatch \
sdk/rule_api \
+ sdk/lint \
sdk/sdkstats \
sdk/sdkmanager \
sdk/swtmenubar \
@@ -664,6 +665,11 @@ ifdef is_sdk_build
$(info Removing from sdk:)$(foreach d,$(target_gnu_MODULES),$(info : $(d)))
modules_to_install := \
$(filter-out $(target_gnu_MODULES),$(modules_to_install))
+
+ # Ensure every module listed in PRODUCT_PACKAGES gets something installed
+ $(foreach m, $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_PACKAGES), \
+ $(if $(strip $(ALL_MODULES.$(m).INSTALLED)),,\
+ $(error Module '$(m)' in PRODUCT_PACKAGES has nothing to install!)))
endif
diff --git a/core/package.mk b/core/package.mk
index 0cca209..52d52a2 100644
--- a/core/package.mk
+++ b/core/package.mk
@@ -295,6 +295,18 @@ jni_shared_libraries := \
$(addsuffix $(so_suffix), \
$(LOCAL_JNI_SHARED_LIBRARIES)))
+# App explicitly requires the prebuilt NDK libstlport_shared.so.
+# libstlport_shared.so should never go to the system image.
+# Instead it should be packaged into the apk.
+ifeq (stlport_shared,$(LOCAL_NDK_STL_VARIANT))
+ifndef LOCAL_NDK_VERSION
+$(error LOCAL_NDK_VERSION has to be defined together with LOCAL_NDK_STL_VARIANT, \
+ LOCAL_PACKAGE_NAME=$(LOCAL_PACKAGE_NAME))
+endif
+jni_shared_libraries += \
+ $(HISTORICAL_NDK_VERSIONS_ROOT)/android-ndk-r$(LOCAL_NDK_VERSION)/sources/cxx-stl/stlport/libs/$(TARGET_CPU_ABI)/libstlport_shared.so
+endif
+
# Set the abi directory used by the local JNI shared libraries.
# (Doesn't change how the local shared libraries are compiled, just
# sets where they are stored in the apk.)
diff --git a/core/pathmap.mk b/core/pathmap.mk
index 6c6ff2e..60fbfd2 100644
--- a/core/pathmap.mk
+++ b/core/pathmap.mk
@@ -101,3 +101,17 @@ FRAMEWORKS_BASE_SUBDIRS := \
#
FRAMEWORKS_BASE_JAVA_SRC_DIRS := \
$(addprefix frameworks/base/,$(FRAMEWORKS_BASE_SUBDIRS))
+
+#
+# A list of all source roots under frameworks/support.
+#
+FRAMEWORKS_SUPPORT_SUBDIRS := \
+ v4 \
+ v13 \
+
+#
+# A version of FRAMEWORKS_SUPPORT_SUBDIRS that is expanded to full paths from
+# the root of the tree.
+#
+FRAMEWORKS_SUPPORT_JAVA_SRC_DIRS := \
+ $(addprefix frameworks/support/,$(FRAMEWORKS_SUPPORT_SUBDIRS))
diff --git a/core/product.mk b/core/product.mk
index 0ab9ae0..f48d2be 100644
--- a/core/product.mk
+++ b/core/product.mk
@@ -77,12 +77,11 @@ _product_var_list := \
PRODUCT_EXTRA_RECOVERY_KEYS \
PRODUCT_PACKAGE_OVERLAYS \
DEVICE_PACKAGE_OVERLAYS \
- PRODUCT_CONTRIBUTORS_FILE \
PRODUCT_TAGS \
PRODUCT_SDK_ADDON_NAME \
PRODUCT_SDK_ADDON_COPY_FILES \
PRODUCT_SDK_ADDON_COPY_MODULES \
- PRODUCT_SDK_ADDON_DOC_MODULE \
+ PRODUCT_SDK_ADDON_DOC_MODULES \
PRODUCT_DEFAULT_WIFI_CHANNELS \
PRODUCT_DEFAULT_DEV_CERTIFICATE \
diff --git a/core/product_config.mk b/core/product_config.mk
index e063e42..c455723 100644
--- a/core/product_config.mk
+++ b/core/product_config.mk
@@ -286,10 +286,6 @@ endif
PRODUCT_COPY_FILES := \
$(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_COPY_FILES))
-# The HTML file containing the contributors to the project.
-PRODUCT_CONTRIBUTORS_FILE := \
- $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_CONTRIBUTORS_FILE))
-
# A list of property assignments, like "key = value", with zero or more
# whitespace characters on either side of the '='.
PRODUCT_PROPERTY_OVERRIDES := \
diff --git a/core/tasks/sdk-addon.mk b/core/tasks/sdk-addon.mk
index f3aec65..5a24a00 100644
--- a/core/tasks/sdk-addon.mk
+++ b/core/tasks/sdk-addon.mk
@@ -69,26 +69,21 @@ $(foreach cf,$(files_to_copy), \
$(eval sdk_addon_deps += $(_dest)) \
)
-# We don't know about all of the docs files, so depend on the timestamp for
-# that, and record the directory, and the packaging rule will just copy the
+# We don't know about all of the docs files, so depend on the timestamps for
+# them, and record the directories, and the packaging rule will just copy the
# whole thing.
-doc_module := $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_SDK_ADDON_DOC_MODULE))
-ifneq ($(doc_module),)
- doc_timestamp := $(call doc-timestamp-for, $(doc_module))
- sdk_addon_deps += $(doc_timestamp)
- $(full_target): PRIVATE_DOCS_DIR := $(OUT_DOCS)/$(doc_module)
-else
- $(full_target): PRIVATE_DOCS_DIR :=
-endif
+doc_modules := $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_SDK_ADDON_DOC_MODULES))
+sdk_addon_deps += $(foreach dm, $(doc_modules), $(call doc-timestamp-for, $(dm)))
+$(full_target): PRIVATE_DOCS_DIRS := $(addprefix $(OUT_DOCS)/, $(doc_modules))
$(full_target): PRIVATE_STAGING_DIR := $(staging)
$(full_target): $(sdk_addon_deps) | $(ACP)
@echo Packaging SDK Addon: $@
- $(hide) mkdir -p $(PRIVATE_STAGING_DIR)/docs/reference
- $(hide) if [ -n "$(PRIVATE_DOCS_DIR)" ] ; then \
- $(ACP) -r $(PRIVATE_DOCS_DIR)/* $(PRIVATE_STAGING_DIR)/docs/reference ;\
- fi
+ $(hide) mkdir -p $(PRIVATE_STAGING_DIR)/docs
+ $(hide) for d in $(PRIVATE_DOCS_DIRS); do \
+ $(ACP) -r $$d $(PRIVATE_STAGING_DIR)/docs ;\
+ done
$(hide) mkdir -p $(dir $@)
$(hide) ( F=$$(pwd)/$@ ; cd $(PRIVATE_STAGING_DIR)/.. && zip -rq $$F * )
diff --git a/core/version_defaults.mk b/core/version_defaults.mk
index c5fabf1..7f6db0c 100644
--- a/core/version_defaults.mk
+++ b/core/version_defaults.mk
@@ -41,7 +41,7 @@ ifeq "" "$(PLATFORM_VERSION)"
# which is the version that we reveal to the end user.
# Update this value when the platform version changes (rather
# than overriding it somewhere else). Can be an arbitrary string.
- PLATFORM_VERSION := 4.0.2
+ PLATFORM_VERSION := 4.1
endif
ifeq "" "$(PLATFORM_SDK_VERSION)"
@@ -53,7 +53,7 @@ ifeq "" "$(PLATFORM_SDK_VERSION)"
# intermediate builds). During development, this number remains at the
# SDK version the branch is based on and PLATFORM_VERSION_CODENAME holds
# the code-name of the new development work.
- PLATFORM_SDK_VERSION := 14
+ PLATFORM_SDK_VERSION := 15
endif
ifeq "" "$(PLATFORM_VERSION_CODENAME)"
diff --git a/target/product/core.mk b/target/product/core.mk
index 3b05659..abb2d9f 100644
--- a/target/product/core.mk
+++ b/target/product/core.mk
@@ -26,7 +26,6 @@ PRODUCT_PACKAGES := \
ApplicationsProvider \
BackupRestoreConfirmation \
Browser \
- Bugreport \
Contacts \
ContactsProvider \
DefaultContainerService \
@@ -41,11 +40,9 @@ PRODUCT_PACKAGES := \
SettingsProvider \
SharedStorageBackup \
TelephonyProvider \
- TtsService \
UserDictionaryProvider \
VpnDialogs \
apache-xml \
- bluetooth-health \
bouncycastle \
bu \
cacerts \
@@ -63,7 +60,6 @@ PRODUCT_PACKAGES := \
ext \
filterfw \
framework-res \
- hostapd \
hprof-conv \
icu.dat \
installd \
@@ -75,7 +71,6 @@ PRODUCT_PACKAGES := \
libOpenSLES \
libaudiopreprocessing \
libcrypto \
- libdex \
libdvm \
libexpat \
libfilterfw \
@@ -83,7 +78,6 @@ PRODUCT_PACKAGES := \
libgabi++ \
libicui18n \
libicuuc \
- libjavacore \
libnativehelper \
libnfc_ndef \
libpowermanager \
@@ -103,8 +97,7 @@ PRODUCT_PACKAGES := \
libwilhelm \
libz \
screencap \
- sensorservice \
- wpa_supplicant.conf
+ sensorservice
# host-only dependencies
ifeq ($(WITH_HOST_DALVIK),true)
@@ -112,6 +105,5 @@ ifeq ($(WITH_HOST_DALVIK),true)
apache-xml-hostdex \
bouncycastle-hostdex \
core-hostdex \
- libjavacore-host \
dalvik
endif
diff --git a/target/product/generic_armv5.mk b/target/product/generic_armv5.mk
index d419e70..daa321a 100644
--- a/target/product/generic_armv5.mk
+++ b/target/product/generic_armv5.mk
@@ -18,7 +18,6 @@
# It includes the base Android platform.
$(call inherit-product, $(SRC_TARGET_DIR)/product/generic.mk)
-$(call inherit-product, $(SRC_TARGET_DIR)/product/core.mk)
# Overrides
PRODUCT_BRAND := generic_armv5
diff --git a/target/product/generic_no_telephony.mk b/target/product/generic_no_telephony.mk
index 416ab25..0d87fc3 100644
--- a/target/product/generic_no_telephony.mk
+++ b/target/product/generic_no_telephony.mk
@@ -20,7 +20,6 @@
PRODUCT_POLICY := android.policy_phone
PRODUCT_PACKAGES := \
- AccountAndSyncSettings \
DeskClock \
AlarmProvider \
Bluetooth \
@@ -43,7 +42,10 @@ PRODUCT_PACKAGES := \
SystemUI \
Updater \
CalendarProvider \
- SyncProvider
+ SyncProvider \
+ bluetooth-health \
+ hostapd \
+ wpa_supplicant.conf
PRODUCT_PACKAGES += \
icu.dat
diff --git a/target/product/generic_x86.mk b/target/product/generic_x86.mk
index 7e77a27..86710c4 100644
--- a/target/product/generic_x86.mk
+++ b/target/product/generic_x86.mk
@@ -18,7 +18,6 @@
# It includes the base Android platform.
$(call inherit-product, $(SRC_TARGET_DIR)/product/generic.mk)
-$(call inherit-product, $(SRC_TARGET_DIR)/product/core.mk)
# Overrides
PRODUCT_BRAND := generic_x86
diff --git a/target/product/languages_full.mk b/target/product/languages_full.mk
index e494fad..35ab1f1 100644
--- a/target/product/languages_full.mk
+++ b/target/product/languages_full.mk
@@ -21,5 +21,4 @@
# Those are all the locales that have translations and are displayable
# by TextView in this branch.
-PRODUCT_LOCALES := en_US fr_FR it_IT es_ES de_DE nl_NL cs_CZ pl_PL ja_JP zh_TW zh_CN ru_RU ko_KR nb_NO es_US da_DK el_GR tr_TR pt_PT pt_BR rm_CH sv_SE bg_BG ca_ES en_GB fi_FI hi_IN hr_HR hu_HU in_ID iw_IL lt_LT lv_LV ro_RO sk_SK sl_SI sr_RS uk_UA vi_VN tl_PH ar_EG fa_IR th_TH sw_TZ ms_MY af_ZA zu_ZA
-# We don't have the fonts to display am_ET yet
+PRODUCT_LOCALES := en_US fr_FR it_IT es_ES de_DE nl_NL cs_CZ pl_PL ja_JP zh_TW zh_CN ru_RU ko_KR nb_NO es_US da_DK el_GR tr_TR pt_PT pt_BR rm_CH sv_SE bg_BG ca_ES en_GB fi_FI hi_IN hr_HR hu_HU in_ID iw_IL lt_LT lv_LV ro_RO sk_SK sl_SI sr_RS uk_UA vi_VN tl_PH ar_EG fa_IR th_TH sw_TZ ms_MY af_ZA zu_ZA am_ET hi_IN
diff --git a/target/product/large_emu_hw.mk b/target/product/large_emu_hw.mk
index 9224130..15b1bed 100644
--- a/target/product/large_emu_hw.mk
+++ b/target/product/large_emu_hw.mk
@@ -20,7 +20,6 @@
PRODUCT_POLICY := android.policy_mid
PRODUCT_PACKAGES := \
- AccountAndSyncSettings \
CarHome \
DeskClock \
AlarmProvider \
@@ -42,7 +41,11 @@ PRODUCT_PACKAGES := \
Sync \
Updater \
CalendarProvider \
- SyncProvider
+ SyncProvider \
+ bluetooth-health \
+ hostapd \
+ wpa_supplicant.conf
+
$(call inherit-product, $(SRC_TARGET_DIR)/product/core.mk)
diff --git a/target/product/locales_full.mk b/target/product/locales_full.mk
index cab2b91..1031303 100644
--- a/target/product/locales_full.mk
+++ b/target/product/locales_full.mk
@@ -1,3 +1,3 @@
-PRODUCT_LOCALES := cs_CZ da_DK de_AT de_CH de_DE de_LI el_GR en_AU en_CA en_GB en_NZ en_SG en_US es_ES fr_CA fr_CH fr_BE fr_FR it_CH it_IT ja_JP ko_KR nb_NO nl_BE nl_NL pl_PL pt_PT ru_RU sv_SE tr_TR zh_CN zh_HK zh_TW
+PRODUCT_LOCALES := cs_CZ da_DK de_AT de_CH de_DE de_LI el_GR en_AU en_CA en_GB en_NZ en_SG en_US es_ES fr_CA fr_CH fr_BE fr_FR it_CH it_IT ja_JP ko_KR nb_NO nl_BE nl_NL pl_PL pt_PT ru_RU sv_SE tr_TR zh_CN zh_HK zh_TW am_ET hi_IN
$(call inherit-product, build/target/product/languages_full.mk)
diff --git a/target/product/sdk.mk b/target/product/sdk.mk
index f0142fa..ceb1898 100644
--- a/target/product/sdk.mk
+++ b/target/product/sdk.mk
@@ -30,21 +30,18 @@ PRODUCT_PACKAGES := \
libWnnEngDic \
libWnnJpnDic \
libwnndict \
- Phone \
+ Phone \
PinyinIME \
Protips \
SoftKeyboard \
SystemUI \
Launcher2 \
- AccountAndSyncSettings \
Development \
DrmProvider \
Fallback \
- GPSEnable \
Settings \
SdkSetup \
CustomLocale \
- gpstest \
sqlite3 \
LatinIME \
CertInstaller \
@@ -84,6 +81,7 @@ PRODUCT_PACKAGES += \
traceview \
android \
dexdump \
+ lint \
monkeyrunner
# Native host Java libraries that are parts of the SDK.
@@ -117,6 +115,7 @@ PRODUCT_PACKAGES += \
org.eclipse.jface_3.4.2.M20090107-0800 \
osgi \
layoutlib \
+ lint \
monkeyrunner \
guavalib \
jsr305lib \
diff --git a/tools/droiddoc/templates-sdk/assets/android-developer-docs.css b/tools/droiddoc/templates-sdk/assets/android-developer-docs.css
index 4e759da..2e15a68 100644
--- a/tools/droiddoc/templates-sdk/assets/android-developer-docs.css
+++ b/tools/droiddoc/templates-sdk/assets/android-developer-docs.css
@@ -1038,78 +1038,138 @@ padding:0 0 0 0em;
div#tb-wrapper {
float: right;
- width:480px; /* +25px padding = 505 */
+ clear:right;
+ width:380px; /* +25px padding = 405 */
background-color:#fff;
- margin:-48px 0 2px 0;
+ margin:0 0 2px 0;
padding:0 0 20px 25px;
}
div#tb {
margin:0;
- padding:15px;
- width:450px; /* +15px padding = 480 */
+ padding:0 15px;
+ width:350px; /* +15px padding = 380 */
font-size:.9em;
background:#e9e9e9;
+ border:1px solid #aaa;
border-radius:5px;
-moz-border-radius:5px;
-webkit-border-radius:5px;
+ overflow:auto;
}
div#tb h2 {
font-size:1.3em;
font-weight:bold;
- margin:12px 0 .25em 0;
- padding:10px 0;
+ margin:1em 0;
+ padding:0;
background-color:transparent;
border:none;
+ clear:both;
}
div.download-box a.button {
- color:#eee;
- font-weight:bold;
+ color: #069;
font-size:1.1em;
+ font-weight:bold;
text-decoration:none;
- height:40px;
- line-height:40px;
- padding:5px 10px;
- border:2px solid #99be27;
- border-radius:5px;
- -moz-border-radius:5px;
- -webkit-border-radius:5px;
- /* thanks http://www.colorzilla.com/gradient-editor/ */
- background: #aed33c; /* Old browsers */
- background: -moz-linear-gradient(top, #aed33c 20%, #a1c730 80%); /* FF3.6+ */
- background: -webkit-gradient(linear, left top, left bottom, color-stop(20%,#aed33c), color-stop(80%,#a1c730)); /* Chrome,Safari4+ */
- background: -webkit-linear-gradient(top, #aed33c 20%,#a1c730 80%); /* Chrome10+,Safari5.1+ */
- background: -o-linear-gradient(top, #aed33c 20%,#a1c730 80%); /* Opera11.10+ */
- background: -ms-linear-gradient(top, #aed33c 20%,#a1c730 80%); /* IE10+ */
- filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#AED33C', endColorstr='#A1C730',GradientType=0 ); /* IE6-9 */
- background: linear-gradient(top, #aed33c 20%,#a1c730 80%); /* W3C */
+ height:27px;
+ line-height:27px;
+ text-align:center;
+ padding:5px 8px;
+ background-color: #fff;
+ border: 1px solid #aaa;
+ -webkit-border-radius: 2px;
+ -moz-border-radius: 2px;
+ border-radius: 2px;
}
div.download-box a.button:hover {
- border:2px solid #b2d841;
+ border-color: #09C;
+ background-color: #4CADCB;
+ background-image: -webkit-gradient(linear,left top,left bottom,from(#5dbcd9),to(#4cadcb));
+ background-image: -webkit-linear-gradient(top,#5dbcd9,#4cadcb);
+ background-image: -moz-linear-gradient(top,#5dbcd9,#4cadcb);
+ background-image: -ms-linear-gradient(top,#5dbcd9,#4cadcb);
+ background-image: -o-linear-gradient(top,#5dbcd9,#4cadcb);
+ background-image: linear-gradient(top,#5dbcd9,#4cadcb);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#5dbcd9',EndColorStr='#4cadcb');
+ color: #fff;
}
div.download-box a.button:active {
- background: #a1c730; /* Old browsers */
- background: -moz-linear-gradient(top, #a1c730 15%, #aed33c 70%); /* FF3.6+ */
- background: -webkit-gradient(linear, left top, left bottom, color-stop(15%,#a1c730), color-stop(70%,#aed33c)); /* Chrome,Safari4+ */
- background: -webkit-linear-gradient(top, #a1c730 15%,#aed33c 70%); /* Chrome10+,Safari5.1+ */
- background: -o-linear-gradient(top, #a1c730 15%,#aed33c 70%); /* Opera11.10+ */
- background: -ms-linear-gradient(top, #a1c730 15%,#aed33c 70%); /* IE10+ */
- filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a1c730', endColorstr='#aed33c',GradientType=0 ); /* IE6-9 */
- background: linear-gradient(top, #a1c730 15%,#aed33c 70%); /* W3C */
+ background-color: #1E799A;
+ background-image: none;
+ border-color: #30B7E6;
}
div.download-box p.filename {
- font-size:0.8em;
+ font-size:0.85em;
color:#888;
- margin:0 0 0 12px;
+ margin:4px 0 1em 10px;
}
/* End developer training bar */
+/* Training nav bar (previous/next) */
+
+div.training-nav-top {
+ float: right;
+ width:380px; /* +25px padding = 405 */
+ margin:-58px 0 0 0;
+ padding:0 0 20px 25px;
+}
+
+div.training-nav-bottom {
+ padding:1px; /* for weird FF bug (scrollbar appears) */
+ margin:3em 0;
+ overflow:auto;
+}
+
+div.training-nav-button-next a,
+div.training-nav-button-previous a {
+ display:block;
+ width:160px;
+ height:55px;
+ padding:4px 7px;
+ border:1px solid #aaa;
+ border-radius:5px;
+ -moz-border-radius:5px;
+ -webkit-border-radius:5px;
+ text-decoration:none;
+ font-weight:bold;
+}
+
+div.training-nav-button-next a:hover,
+div.training-nav-button-previous a:hover {
+ border:1px solid #069; /* match link color */
+}
+
+div.training-nav-button-next a:active,
+div.training-nav-button-previous a:active {
+ border:1px solid #f00; /* match link color */
+}
+
+div.training-nav-button-previous {
+ float:left;
+ text-align:left;
+}
+
+div.training-nav-button-next {
+ float:right;
+ text-align:right;
+}
+
+span.training-nav-button-title {
+ display:block;
+ font-size:.85em;
+ font-weight:normal;
+ line-height:1.3em;
+ margin:.5em 0 0;
+}
+
+/* End training nav bar */
+
/* BEGIN image and caption styles (originally for UI Guidelines docs) */
table.image-caption {
diff --git a/tools/droiddoc/templates-sdk/docpage.cs b/tools/droiddoc/templates-sdk/docpage.cs
new file mode 100644
index 0000000..3c11865
--- /dev/null
+++ b/tools/droiddoc/templates-sdk/docpage.cs
@@ -0,0 +1,108 @@
+<?cs include:"doctype.cs" ?>
+<?cs include:"macros.cs" ?>
+<html>
+<?cs include:"head_tag.cs" ?>
+<body class="gc-documentation">
+<?cs include:"header.cs" ?>
+
+<div class="g-unit" id="doc-content"><a name="top"></a>
+
+<div id="jd-header" class="guide-header">
+ <span class="crumb">
+ <?cs if:parent.link ?>
+ <a href="<?cs var:parent.link ?>"><?cs var:parent.title ?></a>:
+ <?cs else ?>&nbsp;
+ <?cs /if ?>
+ </span>
+<h1><?cs var:page.title ?></h1>
+</div>
+
+ <?cs # THIS IS THE MAIN DOC CONTENT ?>
+ <div id="jd-content">
+
+ <?cs if:trainingnavtop ?>
+ <div class="training-nav-top">
+
+ <?cs if:next.link ?>
+ <?cs if:startpage ?>
+ <div class="training-nav-button-next">
+ <a href="<?cs var:next.link ?>">
+ Get started
+ <span style="font-size:1.2em">&rsaquo;</span>
+ <span class="training-nav-button-title"><?cs var:next.title ?></span>
+ </a>
+ </div>
+
+ <?cs else ?><?cs # if not startpage ?>
+
+ <div class="training-nav-button-next">
+ <a href="<?cs var:next.link ?>">
+ Next lesson
+ <span style="font-size:1.2em">&rsaquo;</span>
+ <span class="training-nav-button-title"><?cs var:next.title ?></span>
+ </a>
+ </div>
+ <?cs /if ?><?cs # end if/else startpage ?>
+
+ <?cs /if ?><?cs # end if next.link ?>
+
+ <?cs if:previous.link ?>
+ <div class="training-nav-button-previous">
+ <a href="<?cs var:previous.link ?>">
+ <span style="font-size:1.2em">&lsaquo;</span>
+ Previous lesson
+ <span class="training-nav-button-title"><?cs var:previous.title ?></span>
+ </a>
+ </div>
+
+ <?cs /if ?><?cs # end if previous.link ?>
+
+ </div><!-- end training-nav-top -->
+ <?cs /if ?><?cs # end if trainingnavtop ?>
+
+
+ <div class="jd-descr">
+ <?cs call:tag_list(root.descr) ?>
+ </div>
+
+ <?cs if:!startpage && (previous.link || next.link) ?>
+ <div class="training-nav-bottom">
+ <?cs if:next.link ?>
+ <div class="training-nav-button-next">
+ <a href="<?cs var:next.link ?>">
+ Next lesson
+ <span style="font-size:1.2em">&rsaquo;</span>
+ <br/><span class="training-nav-button-title"><?cs var:next.title ?></span>
+ </a>
+ </div>
+ <?cs /if ?>
+
+ <?cs if:previous.link ?>
+ <div class="training-nav-button-previous">
+ <a href="<?cs var:previous.link ?>">
+ <span style="font-size:1.2em">&lsaquo;</span>
+ Previous lesson
+ <br/><span class="training-nav-button-title"><?cs var:previous.title ?></span>
+ </a>
+ </div>
+ <?cs /if ?>
+ </div> <!-- end training-nav -->
+ <?cs /if ?>
+
+ <a href="#top" style="float:right">&uarr; Go to top</a>
+ <?cs if:parent.link ?>
+ <p><a href="<?cs var:parent.link ?>">&larr; Back to <?cs var:parent.title ?></a></p>
+ <?cs /if ?>
+
+ </div> <!-- end jd-content -->
+
+<?cs include:"footer.cs" ?>
+</div><!-- end doc-content -->
+
+<?cs include:"trailer.cs" ?>
+
+</body>
+</html>
+
+
+
diff --git a/tools/releasetools/ota_from_target_files b/tools/releasetools/ota_from_target_files
index 0a27a19..1514ea7 100755
--- a/tools/releasetools/ota_from_target_files
+++ b/tools/releasetools/ota_from_target_files
@@ -336,13 +336,8 @@ def MakeRecoveryPatch(output_zip, recovery_img, boot_img):
boot_type, boot_device = common.GetTypeAndDevice("/boot", OPTIONS.info_dict)
recovery_type, recovery_device = common.GetTypeAndDevice("/recovery", OPTIONS.info_dict)
- # Images with different content will have a different first page, so
- # we check to see if this recovery has already been installed by
- # testing just the first 2k.
- HEADER_SIZE = 2048
- header_sha1 = common.sha1(recovery_img.data[:HEADER_SIZE]).hexdigest()
sh = """#!/system/bin/sh
-if ! applypatch -c %(recovery_type)s:%(recovery_device)s:%(header_size)d:%(header_sha1)s; then
+if ! applypatch -c %(recovery_type)s:%(recovery_device)s:%(recovery_size)d:%(recovery_sha1)s; then
log -t recovery "Installing new recovery image"
applypatch %(boot_type)s:%(boot_device)s:%(boot_size)d:%(boot_sha1)s %(recovery_type)s:%(recovery_device)s %(recovery_sha1)s %(recovery_size)d %(boot_sha1)s:/system/recovery-from-boot.p
else
@@ -350,8 +345,6 @@ else
fi
""" % { 'boot_size': boot_img.size,
'boot_sha1': boot_img.sha1,
- 'header_size': HEADER_SIZE,
- 'header_sha1': header_sha1,
'recovery_size': recovery_img.size,
'recovery_sha1': recovery_img.sha1,
'boot_type': boot_type,