am 91ed9bbb: Merge change Id8115ffb into eclair-sdk

Merge commit '91ed9bbbdce1990782b4ac86650f9c79bb94d961' into eclair

* commit '91ed9bbbdce1990782b4ac86650f9c79bb94d961':
  docs: revise user agent detection to use lower case
diff --git a/cleanspec.mk b/cleanspec.mk
index 1387f07..5bf4278 100644
--- a/cleanspec.mk
+++ b/cleanspec.mk
@@ -97,6 +97,14 @@
 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app)
 $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS)
 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app)
+$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app)
+$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
 
 # ************************************************
 # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
diff --git a/core/Makefile b/core/Makefile
index 63c7d1a..2f316ca 100644
--- a/core/Makefile
+++ b/core/Makefile
@@ -133,6 +133,7 @@
 			BUILD_FINGERPRINT="$(BUILD_FINGERPRINT)" \
 			TARGET_BOARD_PLATFORM="$(TARGET_BOARD_PLATFORM)" \
 			TARGET_CPU_ABI="$(TARGET_CPU_ABI)" \
+			TARGET_CPU_ABI2="$(TARGET_CPU_ABI2)" \
 	        bash $(BUILDINFO_SH) > $@
 	$(hide) if [ -f $(TARGET_DEVICE_DIR)/system.prop ]; then \
 	          cat $(TARGET_DEVICE_DIR)/system.prop >> $@; \
diff --git a/core/config.mk b/core/config.mk
index 37ca404..e574124 100644
--- a/core/config.mk
+++ b/core/config.mk
@@ -136,6 +136,7 @@
 ifeq ($(TARGET_CPU_ABI),)
   $(error No TARGET_CPU_ABI defined by board config: $(board_config_mk))
 endif
+TARGET_CPU_ABI2 := $(strip $(TARGET_CPU_ABI2))
 
 # $(1): os/arch
 define select-android-config-h
diff --git a/core/definitions.mk b/core/definitions.mk
index 297e6b7..3221525 100644
--- a/core/definitions.mk
+++ b/core/definitions.mk
@@ -1334,11 +1334,9 @@
 $(hide) rm -rf $(dir $@)lib
 endef
 
-#TODO: use aapt instead of zip, once it supports junking the path
-#      (so adding "xxx/yyy/classes.dex" appears as "classes.dex")
 #TODO: update the manifest to point to the dex file
 define add-dex-to-package
-$(hide) zip -qj $@ $(PRIVATE_DEX_FILE)
+$(hide) $(AAPT) add -k $@ $(PRIVATE_DEX_FILE)
 endef
 
 define add-java-resources-to-package
diff --git a/core/main.mk b/core/main.mk
index ffbafe2..f618194 100644
--- a/core/main.mk
+++ b/core/main.mk
@@ -252,8 +252,6 @@
 ADDITIONAL_BUILD_PROPERTIES += xmpp.auto-presence=true
 ADDITIONAL_BUILD_PROPERTIES += ro.config.nocheckin=yes
 else # !sdk
-# Enable sync for non-sdk builds only (sdk builds lack SubscribedFeedsProvider).
-ADDITIONAL_BUILD_PROPERTIES += ro.config.sync=yes
 endif
 
 ## precise GC ##
@@ -288,6 +286,7 @@
 endif
 
 ADDITIONAL_BUILD_PROPERTIES += net.bt.name=Android
+ADDITIONAL_BUILD_PROPERTIES += ro.config.sync=yes
 
 # enable vm tracing in files for now to help track
 # the cause of ANRs in the content process
diff --git a/core/prebuilt.mk b/core/prebuilt.mk
index 4cbbb99..b2bb07c 100644
--- a/core/prebuilt.mk
+++ b/core/prebuilt.mk
@@ -26,6 +26,8 @@
   prebuilt_module_is_a_library :=
 endif
 
+PACKAGES.$(LOCAL_MODULE).OVERRIDES := $(strip $(LOCAL_OVERRIDES_PACKAGES))
+
 # Ensure that prebuilt .apks have been aligned.
 ifneq ($(filter APPS,$(LOCAL_MODULE_CLASS)),)
 $(LOCAL_BUILT_MODULE) : $(LOCAL_PATH)/$(LOCAL_SRC_FILES) | $(ZIPALIGN)
diff --git a/core/product_config.mk b/core/product_config.mk
index 0a693f4..ffb8d27 100644
--- a/core/product_config.mk
+++ b/core/product_config.mk
@@ -199,6 +199,9 @@
 	$(PRODUCT_LOCALES) \
 	$(if $(filter %dpi,$(PRODUCT_LOCALES)),,mdpi))
 
+# Everyone gets nodpi assets which are density-independent.
+PRODUCT_LOCALES += nodpi
+
 # Assemble the list of options.
 PRODUCT_AAPT_CONFIG := $(PRODUCT_LOCALES)
 
diff --git a/core/tasks/cts.mk b/core/tasks/cts.mk
index cfd72e7..fe5407e 100644
--- a/core/tasks/cts.mk
+++ b/core/tasks/cts.mk
@@ -63,16 +63,18 @@
 	CtsUsePermissionDiffCert
 
 CTS_CASE_LIST := \
-	DeviceInfoCollector \
+	TestDeviceSetup \
 	CtsTestStubs \
 	CtsAppTestCases \
 	CtsContentTestCases \
 	CtsDatabaseTestCases \
 	CtsDpiTestCases \
 	CtsDpiTestCases2 \
-    CtsGestureTestCases \
+	CtsExampleTestCases \
+	CtsGestureTestCases \
 	CtsGraphicsTestCases \
 	CtsHardwareTestCases \
+	CtsJniTestCases \
 	CtsLocationTestCases \
 	CtsMediaTestCases \
 	CtsOsTestCases \
diff --git a/core/version_defaults.mk b/core/version_defaults.mk
index 91755c9..33d7761 100644
--- a/core/version_defaults.mk
+++ b/core/version_defaults.mk
@@ -41,7 +41,7 @@
   # 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 := 2.0
+  PLATFORM_VERSION := 2.1
 endif
 
 ifeq "" "$(PLATFORM_SDK_VERSION)"
@@ -53,7 +53,7 @@
   # 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 := 5
+  PLATFORM_SDK_VERSION := 7
 endif
 
 ifeq "" "$(PLATFORM_VERSION_CODENAME)"
diff --git a/envsetup.sh b/envsetup.sh
index 9eeab02..6dc2aa9 100644
--- a/envsetup.sh
+++ b/envsetup.sh
@@ -687,6 +687,13 @@
    fi
 }
 
+# systemstack - dump the current stack trace of all threads in the system process
+# to the usual ANR traces file
+function systemstack()
+{
+    adb shell echo '""' '>>' /data/anr/traces.txt && adb shell chmod 776 /data/anr/traces.txt && adb shell kill -3 $(pid system_server)
+}
+
 function gdbclient()
 {
    local OUT_ROOT=$(get_abs_build_var PRODUCT_OUT)
@@ -967,14 +974,7 @@
         echo "Couldn't locate the top of the tree.  Try setting TOP." >&2
         return
     fi
-    (cd "$T" && development/testrunner/runtest.py $@)
-}
-
-# TODO: Remove this some time after 1 June 2009
-function runtest_py()
-{
-    echo "runtest_py is obsolete; use runtest instead" >&2
-    return 1
+    ("$T"/development/testrunner/runtest.py $@)
 }
 
 function godir () {
diff --git a/target/product/generic.mk b/target/product/generic.mk
index 39f4950..b4b1b09 100644
--- a/target/product/generic.mk
+++ b/target/product/generic.mk
@@ -3,6 +3,7 @@
 # you should derive from generic_with_google.mk
 
 PRODUCT_PACKAGES := \
+    AccountAndSyncSettings \
     AlarmClock \
     AlarmProvider \
     Bluetooth \
@@ -12,6 +13,7 @@
     CertInstaller \
     DrmProvider \
     Email \
+    Gallery \
     LatinIME \
     Mms \
     Music \
@@ -19,7 +21,6 @@
     Sync \
     Updater \
     CalendarProvider \
-    SubscribedFeedsProvider \
     SyncProvider
 
 $(call inherit-product, $(SRC_TARGET_DIR)/product/core.mk)
diff --git a/target/product/sdk.mk b/target/product/sdk.mk
index 210bd9c..572b823 100644
--- a/target/product/sdk.mk
+++ b/target/product/sdk.mk
@@ -1,6 +1,7 @@
 PRODUCT_PROPERTY_OVERRIDES :=
 
 PRODUCT_PACKAGES := \
+	AccountAndSyncSettings \
 	AlarmClock \
 	Camera \
 	Calculator \
@@ -23,10 +24,14 @@
 	libWnnEngDic \
 	libWnnJpnDic \
 	libwnndict \
+	CertInstaller \
+	LiveWallpapersPicker \
 	ApiDemos \
 	GestureBuilder \
 	SoftKeyboard
 
+PRODUCT_PACKAGE_OVERLAYS := development/sdk_overlay
+
 PRODUCT_COPY_FILES := \
 	development/data/etc/vold.conf:system/etc/vold.conf \
 	frameworks/base/data/etc/android.hardware.camera.autofocus.xml:system/etc/permissions/android.hardware.camera.autofocus.xml
diff --git a/tools/buildinfo.sh b/tools/buildinfo.sh
index af5aa47..6c85149 100755
--- a/tools/buildinfo.sh
+++ b/tools/buildinfo.sh
@@ -21,6 +21,9 @@
 echo "ro.product.device=$TARGET_DEVICE"
 echo "ro.product.board=$TARGET_BOOTLOADER_BOARD_NAME"
 echo "ro.product.cpu.abi=$TARGET_CPU_ABI"
+if [ -n "$TARGET_CPU_ABI2" ] ; then
+  echo "ro.product.cpu.abi2=$TARGET_CPU_ABI2"
+fi
 echo "ro.product.manufacturer=$PRODUCT_MANUFACTURER"
 echo "ro.product.locale.language=$PRODUCT_DEFAULT_LANGUAGE"
 echo "ro.product.locale.region=$PRODUCT_DEFAULT_REGION"
diff --git a/tools/droiddoc/templates-sdk/sdkpage.cs b/tools/droiddoc/templates-sdk/sdkpage.cs
index ebaee07..1ebfb69 100644
--- a/tools/droiddoc/templates-sdk/sdkpage.cs
+++ b/tools/droiddoc/templates-sdk/sdkpage.cs
@@ -141,7 +141,7 @@
     <p style="margin-top:0">If you are currently using the Android 1.6 SDK, you
     do not need to install the new SDK, because your existing SDK already 
     includes the Android SDK and AVD Manager tool. To develop against Android 
-    2.0, for example, you can just download the Android 2.0 platform (and 
+    2.0.1, for example, you can just download the Android 2.0.1 platform (and 
     updated SDK Tools) into your existing SDK. Refer to <a 
     href="adding-components.html">Adding SDK Components</a>.</p>
     </div>
diff --git a/tools/dump-package-stats b/tools/dump-package-stats
index 589bab5..d11e727 100755
--- a/tools/dump-package-stats
+++ b/tools/dump-package-stats
@@ -102,7 +102,7 @@
                 $1 != "Length" ||
                 $2 != "Method" ||
                 $3 != "Size" ||
-                $4 != "Ratio" ||
+                ($4 != "Ratio" && $4 != "Cmpr") ||
                 $5 != "Date" ||
                 $6 != "Time" ||
                 $7 != "CRC-32" ||