Merge "Adds APNs for New Caledonia" into gingerbread
diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn
index ce8f2ef..cb44de5 100644
--- a/CHANGELOG.mkdn
+++ b/CHANGELOG.mkdn
@@ -45,6 +45,13 @@
 ---------
 ### 7.0.0
 * Common: Android 2.3.1 (Gingerbread)
+* Common: New music player, Cubed! - https://github.com/fabrantes/rockonnggl
+
+### 6.1.3
+* Ace: Fix issue with some BT Headset
+
+### 6.1.2
+* Ace: Kernel to 2.6.32.27 and some performance tweaks
 
 ### 6.1.1
 * Common: Add rotary lockscreen - Kmobs/Robert Burns
diff --git a/overlay/common/frameworks/base/core/res/res/values/config.xml b/overlay/common/frameworks/base/core/res/res/values/config.xml
new file mode 100644
index 0000000..5b982ce
--- /dev/null
+++ b/overlay/common/frameworks/base/core/res/res/values/config.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+-->
+<resources>
+    <!-- Enables SIP on WIFI only -->
+    <bool name="config_sip_wifi_only">false</bool>
+</resources>
+
diff --git a/overlay/common/frameworks/base/packages/SystemUI/res/values/config.xml b/overlay/common/frameworks/base/packages/SystemUI/res/values/config.xml
new file mode 100644
index 0000000..b032d85
--- /dev/null
+++ b/overlay/common/frameworks/base/packages/SystemUI/res/values/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2009, 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.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+     for different hardware and product builds. -->
+<resources>
+    <!-- Control whether status bar should distinguish HSPA data icon form UMTS data icon on devices -->
+    <bool name="config_hspa_data_distinguishable">true</bool>
+</resources>
+
diff --git a/overlay/common/packages/apps/Music3/res/values/config.xml b/overlay/common/packages/apps/Music3/res/values/config.xml
new file mode 100644
index 0000000..c2a7a72
--- /dev/null
+++ b/overlay/common/packages/apps/Music3/res/values/config.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+	<bool name="config_isMarketVersion">false</bool>
+	<bool name="config_enableLockScreen">false</bool>
+	<bool name="config_controlsOnBottom">true</bool>
+	<integer name="config_defaultRenderer">1</integer>
+</resources>
+
diff --git a/overlay/legend/packages/apps/CMParts/res/values/config.xml b/overlay/legend/packages/apps/CMParts/res/values/config.xml
new file mode 100644
index 0000000..218180f
--- /dev/null
+++ b/overlay/legend/packages/apps/CMParts/res/values/config.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <bool name="has_trackball">true</bool>
+    <bool name="has_rgb_notification_led">false</bool>
+    <bool name="has_dual_notification_led">false</bool>
+    <bool name="has_led_flash">true</bool>
+</resources>
diff --git a/prebuilt/common/etc/init.d/05mountsd b/prebuilt/common/etc/init.d/05mountsd
old mode 100755
new mode 100644
index c5b87e2..c519a7e
--- a/prebuilt/common/etc/init.d/05mountsd
+++ b/prebuilt/common/etc/init.d/05mountsd
@@ -1,6 +1,6 @@
 #!/system/bin/sh
 #
-# mount ext[234] partition from sd card
+# mount ext4 partition from sd card
 
 BB="logwrapper busybox";
 
@@ -9,30 +9,39 @@
     SD_EXT_DIRECTORY=/sd-ext;
 fi;
 
-# find first linux partition on SD card
-MMC=/dev/block/mmcblk0
-
-# wait for the device to settle
-COUNT=6;
-until [ -b "$MMC" ] || [ $COUNT -lt 1 ];
+# find SD Card
+for MMC_NUM in `seq 0 9`;
 do
-    sleep 1;
-    COUNT=$((COUNT-1));
-done;
+    MMC_TYPE=`cat /sys/block/mmcblk$MMC_NUM/device/type`
+    if [ "$MMC_TYPE" = "SD" ];
+    then
+        SDCARD=/dev/block/mmcblk$MMC_NUM
+        break
+    fi
+done
 
-if [ -b "$MMC" ];
+if [ -b "$SDCARD" ];
 then
-    FDISK="busybox fdisk"
-    PARTITION=`$FDISK -l $MMC | awk '/^\// && $5 == 83 {print $1;exit;}'`
+    # find sd-ext partition by label
+    PARTITIONS=`cat /proc/partitions|grep mmcblk$MMC_NUM|grep -v "mmcblk$MMC_NUM$"|awk '{print $4}'`
+    for PARTITION in $PARTITIONS
+    do
+        LABEL=`e2label /dev/block/$PARTITION`
+        if [ "$LABEL" = "sd-ext" ];
+        then
+            SD_EXT_PART=/dev/block/$PARTITION
+            break
+        fi
+    done
 
-    if [ -b "$PARTITION" ];
+    if [ -b "$SD_EXT_PART" ];
     then
         log -p i -t mountsd "Checking filesystems..";
    
         # fsck the sdcard filesystem first
         if [ -x `which e2fsck` ];
         then
-            e2fsck -y $PARTITION;e2fsk_exitcode=$?
+            e2fsck -y $SD_EXT_PART;e2fsk_exitcode=$?
         else
             echo "executable e2fsck not found, assuming no filesystem errors"
             e2fsk_exitcode=0
@@ -41,9 +50,8 @@
         setprop cm.e2fsck.errors $e2fsk_exitcode;
         if [ "$e2fsk_exitcode" -lt 2 ];
         then
-   
             # mount and set perms
-            $BB mount -o noatime,nodiratime -t auto $PARTITION $SD_EXT_DIRECTORY;
+            $BB mount -o noatime,barrier=1,data=ordered,noauto_da_alloc -t ext4 $SD_EXT_PART $SD_EXT_DIRECTORY;
             if [ "$?" = 0 ];
             then
                 $BB chown 1000:1000 $SD_EXT_DIRECTORY;
diff --git a/prebuilt/hdpi/media/bootanimation.zip b/prebuilt/hdpi/media/bootanimation.zip
index 97060c2..4936573 100644
--- a/prebuilt/hdpi/media/bootanimation.zip
+++ b/prebuilt/hdpi/media/bootanimation.zip
Binary files differ
diff --git a/prebuilt/ldpi/media/bootanimation.zip b/prebuilt/ldpi/media/bootanimation.zip
index e09931d..e68a456 100644
--- a/prebuilt/ldpi/media/bootanimation.zip
+++ b/prebuilt/ldpi/media/bootanimation.zip
Binary files differ
diff --git a/prebuilt/mdpi/media/bootanimation.zip b/prebuilt/mdpi/media/bootanimation.zip
index 94cf403..a005b8b 100644
--- a/prebuilt/mdpi/media/bootanimation.zip
+++ b/prebuilt/mdpi/media/bootanimation.zip
Binary files differ
diff --git a/prelink-linux-arm-buzz.map b/prelink-linux-arm-buzz.map
new file mode 100644
index 0000000..b0ab297
--- /dev/null
+++ b/prelink-linux-arm-buzz.map
@@ -0,0 +1,207 @@
+# 0xC0000000 - 0xFFFFFFFF Kernel
+# 0xB0100000 - 0xBFFFFFFF Thread 0 Stack
+# 0xB0000000 - 0xB00FFFFF Linker
+# 0xA0000000 - 0xBFFFFFFF Prelinked System Libraries
+# 0x90000000 - 0x9FFFFFFF Prelinked App Libraries
+# 0x80000000 - 0x8FFFFFFF Non-prelinked Libraries
+# 0x40000000 - 0x7FFFFFFF mmap'd stuff
+# 0x10000000 - 0x3FFFFFFF Thread Stacks
+# 0x00000000 - 0x0FFFFFFF .text / .data / heap
+
+# Note: The general rule is that libraries should be aligned on 1MB
+# boundaries. For ease of updating this file, you will find a comment
+# on each line, indicating the observed size of the library, which is
+# one of:
+#
+#     [<64K] observed to be less than 64K
+#     [~1M] rounded up, one megabyte (similarly for other sizes)
+#     [???] no size observed, assumed to be one megabyte
+
+# core system libraries
+libdl.so                0xAFF00000 # [<64K]
+libc.so                 0xAFD00000 # [~2M]
+libstdc++.so            0xAFC00000 # [<64K]
+libm.so                 0xAFB00000 # [~1M]
+liblog.so               0xAFA00000 # [<64K]
+libcutils.so            0xAF900000 # [~1M]
+libthread_db.so         0xAF800000 # [<64K]
+libz.so                 0xAF700000 # [~1M]
+libevent.so             0xAF600000 # [???]
+libssl.so               0xAF400000 # [~2M]
+libcrypto.so            0xAF000000 # [~4M]
+libsysutils.so          0xAEF00000 # [~1M]
+
+# bluetooth
+liba2dp.so              0xAEE00000 # [~1M]
+audio.so                0xAED00000 # [~1M]
+input.so                0xAEC00000 # [~1M]
+libbluetoothd.so        0xAEA00000 # [~2M]
+libbluedroid.so         0xAE900000 # [<64K]
+libbluetooth.so         0xAE800000 # [~1M]
+libdbus.so              0xAE700000 # [~1M]
+
+# extended system libraries
+libril.so               0xAE600000 # [~1M]
+libreference-ril.so     0xAE500000 # [~1M]
+libwpa_client.so        0xAE400000 # [<64K]
+libnetutils.so          0xAE300000 # [~1M]
+
+# core dalvik runtime support
+libandroid_servers.so   0xAE200000 # [~1M]
+libicuuc.so             0xADE00000 # [~4M]
+libicui18n.so           0xAD900000 # [~5M]
+libandroid_runtime.so   0xAD300000 # [~6M]
+libnativehelper.so      0xAD100000 # [~2M]
+libdvm-ARM.so           0xAD000000 # [???]
+libdvm.so               0xACA00000 # [~6M]
+# Note: libicudata.so intentionally omitted
+
+# graphics
+libpixelflinger.so      0xAC900000 # [~1M]
+# libcorecg is for backward-compatibility with donut
+libcorecg.so            0xAC800000 # [???]
+libsurfaceflinger_client.so 0xAC700000 # [~1M]
+libsurfaceflinger.so    0xAC500000 # [~2M]
+libGLES_android.so      0xAC400000 # [~1M]
+libagl.so               0xAC300000 # [???]
+
+libGLESv1_CM.so         0xAC200000 # [~1M]
+libGLESv2.so            0xAC100000 # [~1M]
+libOpenVG_CM.so         0xAC000000 # [???]
+libOpenVGU_CM.so        0xABF00000 # [???]
+libEGL.so               0xABE00000 # [~1M]
+libETC1.so              0xABD00000 # [<64K]
+
+libacc.so               0xABC00000 # [~1M]
+
+libexif.so              0xABB00000 # [~1M]
+libcamera_client.so     0xABA80000 # [~1M]
+libui.so                0xAB900000 # [~1M]
+# libsgl is for backward-compatibility with donut
+libsgl.so               0xAB800000 # [???]
+libskia.so              0xAB100000 # [~7M]
+librs_jni.so            0xAB000000 # [~1M]
+libRS.so                0xA9E00000 # [~2M]
+libjnigraphics.so       0xA9D00000 # [<64K]
+libskiagl.so            0xA9C00000 # [~1M]
+
+# audio
+libFLAC.so              0xA9B00000 # [???]
+libaudiopolicy.so       0xA9A00000 # [~1M]
+libaudiopolicygeneric.so 0xA9900000 # [???]
+libsoundpool.so         0xA9800000 # [~1M]
+libaudio.so             0xA9700000 # [~1M]
+libspeech.so            0xA9600000 # [~1M]
+libsonivox.so           0xA9500000 # [~1M]
+libvorbisidec.so        0xA9400000 # [~1M]
+libmedia_jni.so         0xA9300000 # [~1M]
+libmediaplayerservice.so 0xA9200000 # [~1M]
+libmedia.so             0xA9000000 # [~2M]
+libFFTEm.so             0xA8F00000 # [~1M]
+libSR_AudioIn.so        0xA8E00000 # [~1M] for external/srec
+libaudioflinger.so      0xA8D00000 # [~1M]
+
+# assorted system libraries
+libsqlite.so            0xA8B00000 # [~2M]
+libexpat.so             0xA8A00000 # [~1M]
+libwebcore.so           0xA8300000 # [~7M]
+libbinder.so            0xA8200000 # [~1M]
+libutils.so             0xA8100000 # [~1M]
+libcameraservice.so     0xA8000000 # [~1M]
+libhardware.so          0xA7F00000 # [<64K]
+libhardware_legacy.so   0xA7E00000 # [~1M]
+libapp_process.so       0xA7D00000 # [???]
+libsystem_server.so     0xA7C00000 # [~1M]
+libime.so               0xA7B00000 # [???]
+libjni_latinime.so      0xA7A00000 # [~1M]
+libdiskconfig.so        0xA7900000 # [<64K]
+libemoji.so             0xA7800000 # [<64K]
+libgps.so               0xA7700000 # [~1M]
+libcamera.so            0xA7600000 # [~1M]
+liboemcamera.so         0xA7400000 # [~2M]
+libjni_pinyinime.so     0xA7300000 # [~1M]
+libttssynthproxy.so     0xA7200000 # [~1M] for frameworks/base
+libttspico.so           0xA7000000 # [~2M] for external/svox
+
+# pv libraries
+libpvasf.so                    0xA6F00000 # [???]
+libpvasfreg.so                 0xA6E00000 # [???]
+libomx_sharedlibrary.so        0xA6D00000 # [~1M]
+libopencore_download.so        0xA6C00000 # [~1M]
+libopencore_downloadreg.so     0xA6B00000 # [~1M]
+libopencore_net_support.so     0xA6800000 # [~3M]
+libopencore_rtsp.so            0xA6200000 # [~6M]
+libopencore_rtspreg.so         0xA6100000 # [~1M]
+libopencore_author.so          0xA5D00000 # [~4M]
+libomx_aacdec_sharedlibrary.so 0xA5B00000 # [~2M]
+libomx_amrdec_sharedlibrary.so 0xA5A00000 # [~1M]
+libomx_amrenc_sharedlibrary.so 0xA5900000 # [~1M]
+libomx_avcdec_sharedlibrary.so 0xA5800000 # [~1M]
+libomx_avcenc_sharedlibrary.so 0xA5700000 # [???]
+libomx_m4vdec_sharedlibrary.so 0xA5600000 # [~1M]
+libomx_m4venc_sharedlibrary.so 0xA5500000 # [???]
+libomx_mp3dec_sharedlibrary.so 0xA5400000 # [~1M]
+libopencore_mp4local.so        0xA5200000 # [~2M]
+libopencore_mp4localreg.so     0xA5100000 # [~1M]
+libopencore_player.so          0xA4800000 # [~9M]
+
+# opencore hardware support
+libmm-adspsvc.so              0xA4700000 # [<64K]
+libOmxCore.so                 0xA4600000 # [<64K]
+libOmxMpeg4Dec.so             0xA4500000 # [~1M]
+libOmxH264Dec.so              0xA4400000 # [~1M]
+libOmxVidEnc.so               0xA4300000 # [~1M]
+libopencorehw.so              0xA4200000 # [~1M]
+libOmxVdec.so                 0xA4100000 # [~1M]
+libmm-omxcore.so              0xA4000000 # [<64K]
+
+# pv libraries
+libopencore_common.so         0xA3900000 # [~7M]
+libqcomm_omx.so               0xA3800000 # [<64K]
+
+# stagefright libraries
+libstagefright_amrnb_common.so     0xA3700000 # [~1M]
+libstagefright_avc_common.so       0xA3600000 # [~1M]
+libstagefright_color_conversion.so 0xA3500000 # [<64K]
+libstagefright_omx.so              0xA3400000 # [~1M]
+libstagefrighthw.so                0xA3300000 # [~1M]
+libstagefright.so                  0xA2F00000 # [~4M]
+
+# libraries for specific hardware
+libgsl.so               0xA2E00000 # [~1M]
+libhtc_acoustic.so      0xA2D00000 # [<64K]
+libhtc_ril.so           0xA2C00000 # [~1M]
+liblvmxipc.so           0xA2B00000 # [~1M] for vendor/nxp
+libreference-cdma-sms.so 0xA2A00000 # [<64K] for hardware/ril
+
+# libraries for specific apps or temporary libraries
+libcam_ipl.so           0x9F000000 # [???]
+libwbxml.so             0x9EF00000 # [???]
+libwbxml_jni.so         0x9EE00000 # [~1M]
+libxml2wbxml.so         0x9EB00000 # [~1M]
+libdrm1.so              0x9EA00000 # [~1M]
+libdrm1_jni.so          0x9E900000 # [<64K]
+libwapcore.so           0x9E800000 # [???]
+libstreetview.so        0x9E700000 # [???]
+libwapbrowsertest.so    0x9E600000 # [???]
+libminiglobe.so         0x9E500000 # [???]
+libearth.so             0x9E400000 # [???]
+libembunit.so           0x9E300000 # [<64K]
+libneon.so              0x9E200000 # [???]
+libjni_example.so       0x9E100000 # [???]
+libjni_load_test.so     0x9E000000 # [???]
+libjni_lib_test.so      0x9DF00000 # [???]
+librunperf.so           0x9DE00000 # [???]
+libctest.so             0x9DD00000 # [<64K]
+libUAPI_jni.so          0x9DC00000 # [???]
+librpc.so               0x9DB00000 # [~1M]
+libtrace_test.so        0x9DA00000 # [???]
+libsrec_jni.so          0x9D800000 # [~2M]
+libjpeg.so              0x9D700000 # [~1M]
+libiprouteutil.so       0x9D600000 # [~1M] for external/iproute2
+libnetlink.so           0x9D500000 # [<64K] for external/iproute2
+libpagemap.so           0x9D400000 # [<64K] for system/extras/libpagemap
+libstlport.so           0x9D100000 # [~3M] for external/stlport
+libzxing.so             0x9D000000 # [<64K] for goggles
+libinterstitial.so      0x9CF00000 # [<64K] for goggles
+liblept.so              0x9CA00000 # [~5M] for external/leptonica
diff --git a/products/AndroidProducts.mk b/products/AndroidProducts.mk
index fd2f5f4..c493faf 100644
--- a/products/AndroidProducts.mk
+++ b/products/AndroidProducts.mk
@@ -2,19 +2,21 @@
     $(LOCAL_DIR)/cyanogen_ace.mk \
     $(LOCAL_DIR)/cyanogen_bravo.mk \
     $(LOCAL_DIR)/cyanogen_bravoc.mk \
+    $(LOCAL_DIR)/cyanogen_buzz.mk \
+    $(LOCAL_DIR)/cyanogen_crespo.mk \
     $(LOCAL_DIR)/cyanogen_inc.mk \
     $(LOCAL_DIR)/cyanogen_glacier.mk \
+    $(LOCAL_DIR)/cyanogen_legend.mk \
     $(LOCAL_DIR)/cyanogen_liberty.mk \
     $(LOCAL_DIR)/cyanogen_one.mk \
     $(LOCAL_DIR)/cyanogen_passion.mk \
     $(LOCAL_DIR)/cyanogen_sholes.mk \
+    $(LOCAL_DIR)/cyanogen_supersonic.mk \
     $(LOCAL_DIR)/cyanogen_vision.mk \
     $(LOCAL_DIR)/cyanogen_z71.mk
-#    $(LOCAL_DIR)/cyanogen_buzz.mk \
 #    $(LOCAL_DIR)/cyanogen_dream_sapphire.mk \
 #    $(LOCAL_DIR)/cyanogen_espresso.mk \
 #    $(LOCAL_DIR)/cyanogen_harmony.mk \
 #    $(LOCAL_DIR)/cyanogen_hero.mk \
 #    $(LOCAL_DIR)/cyanogen_heroc.mk \
 #    $(LOCAL_DIR)/cyanogen_legend.mk \
-#    $(LOCAL_DIR)/cyanogen_supersonic.mk \
diff --git a/products/common.mk b/products/common.mk
index 66864ea..017957f 100644
--- a/products/common.mk
+++ b/products/common.mk
@@ -5,6 +5,11 @@
 
 PRODUCT_PACKAGES += ADWLauncher
 
+# Use Music3 if we have a good GL system
+ifneq ($(BOARD_HAS_LIMITED_EGL),true)
+    PRODUCT_PACKAGES += Music3
+endif
+
 # Add ROMManager build property
 PRODUCT_PROPERTY_OVERRIDES += \
     ro.config.ringtone=DonMessWivIt.ogg
@@ -39,18 +44,17 @@
 
 # CyanogenMod specific product packages
 PRODUCT_PACKAGES += \
-    FileManager
-#    CMParts \
-#    CMPartsHelper \
-#    CMStats \
-#    CMUpdateNotify \
-#    CMWallpapers \
+    FileManager \
+    CMParts \
+    CMStats \
+    CMUpdateNotify \
+    CMWallpapers \
+    Pacman
 #    DSPManager
 
-# Enable FM radio if supported
-#ifeq ($(BOARD_HAVE_FM_RADIO), true)
-#    PRODUCT_PACKAGES += FM
-#endif
+# Extra tools in CyanogenMod
+PRODUCT_PACKAGES += \
+    openvpn
 
 # Copy over the changelog to the device
 PRODUCT_COPY_FILES += \
@@ -86,13 +90,17 @@
     vendor/cyanogen/prebuilt/common/xbin/powertop:system/xbin/powertop \
     vendor/cyanogen/prebuilt/common/xbin/openvpn-up.sh:system/xbin/openvpn-up.sh
 
-#PRODUCT_COPY_FILES += \
-#    vendor/cyanogen/prebuilt/common/etc/init.d/05mountsd:system/etc/init.d/05mountsd
+PRODUCT_COPY_FILES += \
+    vendor/cyanogen/prebuilt/common/etc/init.d/05mountsd:system/etc/init.d/05mountsd
 #    vendor/cyanogen/prebuilt/common/etc/init.d/10apps2sd:system/etc/init.d/10apps2sd
 
 PRODUCT_COPY_FILES +=  \
     vendor/cyanogen/proprietary/RomManager.apk:system/app/RomManager.apk \
 
+# Enable SIP+VoIP on all targets
+PRODUCT_COPY_FILES += \
+    frameworks/base/data/etc/android.software.sip.voip.xml:system/etc/permissions/android.software.sip.voip.xml
+
 # Always run in insecure mode, enables root on user build variants
 #ADDITIONAL_DEFAULT_PROPERTIES += ro.secure=0
 
diff --git a/products/cyanogen_ace.mk b/products/cyanogen_ace.mk
index d18e71f..ff5506a 100644
--- a/products/cyanogen_ace.mk
+++ b/products/cyanogen_ace.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := ace
 PRODUCT_MODEL := Desire HD
 PRODUCT_MANUFACTURER := HTC
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=htc_ace BUILD_ID=FRF91 BUILD_DISPLAY_ID=FRG83 BUILD_FINGERPRINT=htc_wwe/htc_ace/ace/ace:2.2/FRF91/278359:user/release-keys PRIVATE_BUILD_DESC="1.32.405.6 CL278359 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=htc_ace BUILD_ID=FRG83D BUILD_DISPLAY_ID=GRH78 BUILD_FINGERPRINT=htc_wwe/htc_ace/ace/ace:2.2.1/FRG83D/296490:user/release-keys PRIVATE_BUILD_DESC="1.72.405.3 CL296490 release-keys"
 
 # Build kernel
 #PRODUCT_SPECIFIC_DEFINES += TARGET_PREBUILT_KERNEL=
@@ -35,8 +35,13 @@
     PRODUCT_PROPERTY_OVERRIDES += \
         ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-DesireHD
 else
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7.0.0-RC0-DesireHD
+    ifdef CYANOGEN_RELEASE
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-RC0-DesireHD
+    else
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-RC0-DesireHD-KANG
+    endif
 endif
 
 #
diff --git a/products/cyanogen_bravo.mk b/products/cyanogen_bravo.mk
index 66db328..ce8e88e 100644
--- a/products/cyanogen_bravo.mk
+++ b/products/cyanogen_bravo.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := bravo
 PRODUCT_MODEL := HTC Desire
 PRODUCT_MANUFACTURER := HTC
-PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=FRF91 BUILD_DISPLAY_ID=FRG83 PRODUCT_NAME=htc_bravo BUILD_FINGERPRINT=htc_wwe/htc_bravo/bravo/bravo:2.2/FRF91/226611:user/release-keys TARGET_BUILD_TYPE=userdebug BUILD_VERSION_TAGS=release-keys PRIVATE_BUILD_DESC="2.10.405.2 CL226611 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=FRF91 BUILD_DISPLAY_ID=GRH78 PRODUCT_NAME=htc_bravo BUILD_FINGERPRINT=htc_wwe/htc_bravo/bravo/bravo:2.2/FRF91/226611:user/release-keys TARGET_BUILD_TYPE=userdebug BUILD_VERSION_TAGS=release-keys PRIVATE_BUILD_DESC="2.10.405.2 CL226611 release-keys"
 
 # Build kernel
 PRODUCT_SPECIFIC_DEFINES += TARGET_PREBUILT_KERNEL=
@@ -41,8 +41,13 @@
     PRODUCT_PROPERTY_OVERRIDES += \
         ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-Desire
 else
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7.0.0-RC0-Desire
+    ifdef CYANOGEN_RELEASE
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-RC0-Desire
+    else
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-RC0-Desire-KANG
+    endif
 endif
 
 #
diff --git a/products/cyanogen_bravoc.mk b/products/cyanogen_bravoc.mk
index 6de2152..b85a674 100644
--- a/products/cyanogen_bravoc.mk
+++ b/products/cyanogen_bravoc.mk
@@ -12,7 +12,7 @@
 PRODUCT_DEVICE := bravoc
 PRODUCT_MODEL := HTC Desire CDMA
 PRODUCT_MANUFACTURER := HTC
-PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=FRF91 BUILD_DISPLAY_ID=FRG83 PRODUCT_NAME=htc_bravo BUILD_FINGERPRINT=htc_wwe/htc_bravo/bravo/bravo:2.2/FRF91/226611:user/release-keys TARGET_BUILD_TYPE=userdebug BUILD_VERSION_TAGS=release-keys PRIVATE_BUILD_DESC="2.10.405.2 CL226611 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=FRF91 BUILD_DISPLAY_ID=GRH78 PRODUCT_NAME=htc_bravo BUILD_FINGERPRINT=htc_wwe/htc_bravo/bravo/bravo:2.2/FRF91/226611:user/release-keys TARGET_BUILD_TYPE=userdebug BUILD_VERSION_TAGS=release-keys PRIVATE_BUILD_DESC="2.10.405.2 CL226611 release-keys"
 
 # Build kernel
 PRODUCT_SPECIFIC_DEFINES += TARGET_PREBUILT_KERNEL=
@@ -32,8 +32,13 @@
     PRODUCT_PROPERTY_OVERRIDES += \
         ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-BravoC
 else
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7.0.0-RC0-BravoC
+    ifdef CYANOGEN_RELEASE
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-RC0-BravoC
+    else
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-RC0-BravoC-KANG
+    endif
 endif
 
 #
diff --git a/products/cyanogen_buzz.mk b/products/cyanogen_buzz.mk
index c7321aa..60ac397 100644
--- a/products/cyanogen_buzz.mk
+++ b/products/cyanogen_buzz.mk
@@ -8,7 +8,7 @@
 $(call inherit-product, vendor/cyanogen/products/gsm.mk)
 
 # Build kernel
-PRODUCT_SPECIFIC_DEFINES += TARGET_PREBUILT_KERNEL=device/htc/buzz/kernel
+PRODUCT_SPECIFIC_DEFINES += TARGET_PREBUILT_KERNEL=device/htc/buzz/prebuilt/kernel
 
 #
 # Setup device specific product configuration.
@@ -18,7 +18,7 @@
 PRODUCT_DEVICE := buzz
 PRODUCT_MODEL := HTC Wildfire
 PRODUCT_MANUFACTURER := HTC
-PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=FRG83 BUILD_DISPLAY_ID=FRG83 BUILD_FINGERPRINT=google/passion/passion/mahimahi:2.2.1/FRG83/60505:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.2.1 FRG83 60505 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=FRG83 BUILD_DISPLAY_ID=GRH78 BUILD_FINGERPRINT=google/passion/passion/mahimahi:2.2.1/FRG83/60505:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.2.1 FRG83 60505 release-keys"
 
 # Extra Passion overlay
 PRODUCT_PACKAGE_OVERLAYS += device/htc/buzz/overlay
@@ -29,6 +29,9 @@
     ro.ril.oem.nosim.ecclist=911,112,113,115,117,999,000,08,118,120,122,110,119,995 \
     ro.ril.emc.mode=2
 
+# Add the Torch app
+PRODUCT_PACKAGES += Torch
+
 # Enable Windows Media
 WITH_WINDOWS_MEDIA := true
 
@@ -42,6 +45,11 @@
     PRODUCT_PROPERTY_OVERRIDES += \
         ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-buzz
 else
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7.0.0-RC0-buzz
+    ifdef CYANOGEN_RELEASE
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-RC0-buzz
+    else
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-RC0-buzz-KANG
+    endif
 endif
diff --git a/products/cyanogen_crespo.mk b/products/cyanogen_crespo.mk
new file mode 100644
index 0000000..8d4e218
--- /dev/null
+++ b/products/cyanogen_crespo.mk
@@ -0,0 +1,52 @@
+# Inherit AOSP device configuration for crespo.
+$(call inherit-product, device/samsung/crespo/full_crespo.mk)
+
+# Inherit some common cyanogenmod stuff.
+$(call inherit-product, vendor/cyanogen/products/common.mk)
+
+# Include GSM stuff
+$(call inherit-product, vendor/cyanogen/products/gsm.mk)
+
+#
+# Setup device specific product configuration.
+#
+PRODUCT_NAME := cyanogen_crespo
+PRODUCT_BRAND := google
+PRODUCT_DEVICE := crespo
+PRODUCT_MODEL := Nexus S
+PRODUCT_MANUFACTURER := Samsung
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=soju BUILD_ID=GRH78 BUILD_DISPLAY_ID=GRH78 BUILD_FINGERPRINT=google/soju/crespo:2.3.1/GRH78/85442:user/release-keys PRIVATE_BUILD_DESC="soju-user 2.3.1 GRH78 85442 release-keys"
+
+# Extra Crespo overlay
+PRODUCT_PACKAGE_OVERLAYS += vendor/cyanogen/overlay/crespo
+
+# Add the Torch app
+PRODUCT_PACKAGES += Torch
+
+# Extra RIL settings
+PRODUCT_PROPERTY_OVERRIDES += \
+    ro.ril.enable.managed.roaming=1 \
+    ro.ril.oem.nosim.ecclist=911,112,999,000,08,118,120,122,110,119,995 \
+    ro.ril.emc.mode=2
+
+#
+# Set ro.modversion
+#
+ifdef CYANOGEN_NIGHTLY
+    PRODUCT_PROPERTY_OVERRIDES += \
+        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-NS
+else
+    ifdef CYANOGEN_RELEASE
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-ALPHA2-NS
+    else
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-ALPHA2-NS-KANG
+    endif
+endif
+
+#
+# Copy crespo specific prebuilt files
+#
+PRODUCT_COPY_FILES +=  \
+    vendor/cyanogen/prebuilt/hdpi/media/bootanimation.zip:system/media/bootanimation.zip
diff --git a/products/cyanogen_dream_sapphire.mk b/products/cyanogen_dream_sapphire.mk
index 02c78ed..7a1c545 100644
--- a/products/cyanogen_dream_sapphire.mk
+++ b/products/cyanogen_dream_sapphire.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := dream_sapphire
 PRODUCT_MODEL := Dream/Sapphire
 PRODUCT_MANUFACTURER := HTC
-PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=FRG83 BUILD_DISPLAY_ID=FRG83 BUILD_FINGERPRINT=tmobile/opal/sapphire/sapphire:2.2.1/FRG83/60505:user/release-keys PRIVATE_BUILD_DESC="opal-user 2.2.1 FRG83 60505 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=FRG83 BUILD_DISPLAY_ID=GRH78 BUILD_FINGERPRINT=tmobile/opal/sapphire/sapphire:2.2.1/FRG83/60505:user/release-keys PRIVATE_BUILD_DESC="opal-user 2.2.1 FRG83 60505 release-keys"
 
 # Build kernel
 PRODUCT_SPECIFIC_DEFINES += TARGET_PREBUILT_KERNEL=
@@ -40,8 +40,13 @@
     PRODUCT_PROPERTY_OVERRIDES += \
         ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-DS
 else
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7.0.0-RC0-DS
+    ifdef CYANOGEN_RELEASE
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-RC0-DS
+    else
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-RC0-DS-KANG
+    endif
 endif
 
 # Use the audio profile hack
diff --git a/products/cyanogen_espresso.mk b/products/cyanogen_espresso.mk
index f7d9f2e..dbf3b80 100644
--- a/products/cyanogen_espresso.mk
+++ b/products/cyanogen_espresso.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := espresso
 PRODUCT_MODEL := T-Mobile myTouch 3G Slide
 PRODUCT_MANUFACTURER := HTC
-PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=FRG83 BUILD_DISPLAY_ID=FRG83 PRODUCT_NAME=htc_espresso BUILD_FINGERPRINT=google/passion/passion/mahimahi:2.2.1/FRG83/60505:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.2.1 FRG83 60505 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=FRG83 BUILD_DISPLAY_ID=GRH78 PRODUCT_NAME=htc_espresso BUILD_FINGERPRINT=google/passion/passion/mahimahi:2.2.1/FRG83/60505:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.2.1 FRG83 60505 release-keys"
 
 PRODUCT_SPECIFIC_DEFINES += TARGET_PRELINKER_MAP=$(TOP)/vendor/cyanogen/prelink-linux-arm-espresso.map
 
@@ -29,8 +29,13 @@
     PRODUCT_PROPERTY_OVERRIDES += \
         ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-Slide
 else
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7.0.0-RC0-Slide
+    ifdef CYANOGEN_RELEASE
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-RC0-Slide
+    else
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-RC0-Slide-KANG
+    endif
 endif
 
 #
diff --git a/products/cyanogen_glacier.mk b/products/cyanogen_glacier.mk
index 784b798..38a6f2a 100644
--- a/products/cyanogen_glacier.mk
+++ b/products/cyanogen_glacier.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := glacier
 PRODUCT_MODEL := HTC Glacier
 PRODUCT_MANUFACTURER := HTC
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=htc_glacier BUILD_ID=FRG83 BUILD_DISPLAY_ID=FRG83 BUILD_FINGERPRINT=tmobile/htc_glacier/glacier/glacier:2.2.1/FRG83/277036:user/release-keys PRIVATE_BUILD_DESC="1.17.531.2 CL277036 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=htc_glacier BUILD_ID=FRG83 BUILD_DISPLAY_ID=GRH78 BUILD_FINGERPRINT=tmobile/htc_glacier/glacier/glacier:2.2.1/FRG83/277036:user/release-keys PRIVATE_BUILD_DESC="1.17.531.2 CL277036 release-keys"
 
 # Build kernel
 #PRODUCT_SPECIFIC_DEFINES += TARGET_PREBUILT_KERNEL=
@@ -25,6 +25,8 @@
 # Extra glacier overlay
 PRODUCT_PACKAGE_OVERLAYS += vendor/cyanogen/overlay/glacier
 
+#Include Torch
+PRODUCT_PACKAGES += Torch
 #
 # Set ro.modversion
 #
@@ -32,8 +34,13 @@
     PRODUCT_PROPERTY_OVERRIDES += \
         ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-glacier
 else
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7.0.0-RC0-glacier
+    ifdef CYANOGEN_RELEASE
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-RC0-glacier
+    else
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-RC0-glacier-KANG
+    endif
 endif
 
 #
diff --git a/products/cyanogen_harmony.mk b/products/cyanogen_harmony.mk
index 18af931..29c3508 100644
--- a/products/cyanogen_harmony.mk
+++ b/products/cyanogen_harmony.mk
@@ -11,7 +11,7 @@
 PRODUCT_DEVICE := harmony
 PRODUCT_MODEL := GTablet
 PRODUCT_MANUFACTURER := malata
-PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=FRF91 BUILD_DISPLAY_ID=FRF91 PRODUCT_NAME=harmony BUILD_FINGERPRINT=Flextronics/harmony/harmony/:2.2/FRF91/hudson-20101122-122046-TnT_SVN_2967:user/test-keys PRODUCT_BRAND=Flextronics TARGET_BUILD_TYPE=user BUILD_VERSION_TAGS=test-keys PRIVATE_BUILD_DESC="harmony-user 2.2 FRF91 hudson-20101122-122046-TnT_SVN_2967 test-keys" PRODUCT_MODEL=UPC300-2.2 PRODUCT_MANUFACTURER=malata
+PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=FRF91 BUILD_DISPLAY_ID=GRH78 PRODUCT_NAME=harmony BUILD_FINGERPRINT=Flextronics/harmony/harmony/:2.2/FRF91/hudson-20101122-122046-TnT_SVN_2967:user/test-keys PRODUCT_BRAND=Flextronics TARGET_BUILD_TYPE=user BUILD_VERSION_TAGS=test-keys PRIVATE_BUILD_DESC="harmony-user 2.2 FRF91 hudson-20101122-122046-TnT_SVN_2967 test-keys" PRODUCT_MODEL=UPC300-2.2 PRODUCT_MANUFACTURER=malata
 
 # Extra overlay
 PRODUCT_PACKAGE_OVERLAYS += vendor/cyanogen/overlay/harmony
@@ -23,8 +23,13 @@
     PRODUCT_PROPERTY_OVERRIDES += \
         ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-Harmony
 else
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7.0.0-RC0-Harmony
+    ifdef CYANOGEN_RELEASE
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-RC0-Harmony
+    else
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-RC0-Harmony-KANG
+    endif
 endif
 
 #
diff --git a/products/cyanogen_hero.mk b/products/cyanogen_hero.mk
index bbd78e3..3c64c77 100644
--- a/products/cyanogen_hero.mk
+++ b/products/cyanogen_hero.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := hero
 PRODUCT_MODEL := Hero
 PRODUCT_MANUFACTURER := HTC
-PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=FRG83 BUILD_DISPLAY_ID=FRG83 BUILD_FINGERPRINT=google/passion/passion/mahimahi:2.2.1/FRG83/60505:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.2.1 FRG83 60505 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=FRG83 BUILD_DISPLAY_ID=GRH78 BUILD_FINGERPRINT=google/passion/passion/mahimahi:2.2.1/FRG83/60505:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.2.1 FRG83 60505 release-keys"
 
 PRODUCT_SPECIFIC_DEFINES += TARGET_PRELINKER_MAP=$(TOP)/vendor/cyanogen/prelink-linux-arm-hero.map
 
@@ -29,8 +29,13 @@
     PRODUCT_PROPERTY_OVERRIDES += \
         ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-Hero
 else
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7.0.0-RC0-Hero
+    ifdef CYANOGEN_RELEASE
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-RC0-Hero
+    else
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-RC0-Hero-KANG
+    endif
 endif
 
 #
diff --git a/products/cyanogen_heroc.mk b/products/cyanogen_heroc.mk
index 372ca17..6b92c61 100644
--- a/products/cyanogen_heroc.mk
+++ b/products/cyanogen_heroc.mk
@@ -13,7 +13,7 @@
 PRODUCT_DEVICE := heroc
 PRODUCT_MODEL := HERO200
 PRODUCT_MANUFACTURER := HTC
-PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=FRG83 BUILD_DISPLAY_ID=FRG83 BUILD_FINGERPRINT=google/passion/passion/mahimahi:2.2.1/FRG83/60505:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.2.1 FRG83 60505 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=FRG83 BUILD_DISPLAY_ID=GRH78 BUILD_FINGERPRINT=google/passion/passion/mahimahi:2.2.1/FRG83/60505:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.2.1 FRG83 60505 release-keys"
 
 # Extra overlay for Gallery3D orientation hack
 PRODUCT_PACKAGE_OVERLAYS += vendor/cyanogen/overlay/heroc
@@ -25,8 +25,13 @@
     PRODUCT_PROPERTY_OVERRIDES += \
         ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-Heroc
 else
-    PRODUCT_PROPERTY_OVERRIDES += \
-	 ro.modversion=CyanogenMod-7.0.0-RC0-Heroc
+    ifdef CYANOGEN_RELEASE
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-RC0-Heroc
+    else
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-RC0-Heroc-KANG
+    endif
 endif
 
 #
diff --git a/products/cyanogen_inc.mk b/products/cyanogen_inc.mk
index 1fa8682..5a6530c 100644
--- a/products/cyanogen_inc.mk
+++ b/products/cyanogen_inc.mk
@@ -11,13 +11,16 @@
 PRODUCT_DEVICE := inc
 PRODUCT_MODEL := Incredible
 PRODUCT_MANUFACTURER := HTC
-PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=FRF91 BUILD_DISPLAY_ID=FRG83 PRODUCT_NAME=inc BUILD_FINGERPRINT=verizon_wwe/inc/inc/inc:2.2/FRF91/264707:user/release-keys PRODUCT_BRAND=verizon_wwe TARGET_BUILD_TYPE=user BUILD_VERSION_TAGS=release-keys PRIVATE_BUILD_DESC="3.26.605.1 CL264707 release-keys" PRODUCT_MODEL=ADR6300 PRODUCT_MANUFACTURER=HTC
+PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=FRF91 BUILD_DISPLAY_ID=GRH78 PRODUCT_NAME=inc BUILD_FINGERPRINT=verizon_wwe/inc/inc/inc:2.2/FRF91/264707:user/release-keys PRODUCT_BRAND=verizon_wwe TARGET_BUILD_TYPE=user BUILD_VERSION_TAGS=release-keys PRIVATE_BUILD_DESC="3.26.605.1 CL264707 release-keys" PRODUCT_MODEL=ADR6300 PRODUCT_MANUFACTURER=HTC
 
 PRODUCT_PROPERTY_OVERRIDES += ro.product.version=3.26.605.1
 
 # Extra Passion overlay
 PRODUCT_PACKAGE_OVERLAYS += vendor/cyanogen/overlay/inc
 
+# Add the Torch app
+PRODUCT_PACKAGES += Torch
+
 #
 # Set ro.modversion
 #
@@ -25,8 +28,13 @@
     PRODUCT_PROPERTY_OVERRIDES += \
         ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-Inc
 else
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7.0.0-RC0-Inc
+    ifdef CYANOGEN_RELEASE
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-RC0-Inc
+    else
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-RC0-Inc-KANG
+    endif
 endif
 
 #
diff --git a/products/cyanogen_legend.mk b/products/cyanogen_legend.mk
index 0fd0793..2f71dc1 100644
--- a/products/cyanogen_legend.mk
+++ b/products/cyanogen_legend.mk
@@ -7,31 +7,32 @@
 # Include GSM stuff
 $(call inherit-product, vendor/cyanogen/products/gsm.mk)
 
-#
-# Setup device specific product configuration.
-#
+
 PRODUCT_NAME := cyanogen_legend
 PRODUCT_BRAND := htc
 PRODUCT_DEVICE := legend
 PRODUCT_MODEL := Legend
 PRODUCT_MANUFACTURER := HTC
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=htc_legend BUILD_ID=FRG83 BUILD_DISPLAY_ID=FRG83 BUILD_FINGERPRINT=google/passion/passion/mahimahi:2.2.1/FRG83/60505:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.2.1 FRG83 60505 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=htc_legend BUILD_ID=GRH55 BUILD_DISPLAY_ID=GRH55 BUILD_FINGERPRINT=google/soju/crespo:2.3/GRH55/79397:user/release-keys PRIVATE_BUILD_DESC="soju-user 2.3 GRH55 79397 release-keys"
 
 PRODUCT_SPECIFIC_DEFINES += TARGET_PRELINKER_MAP=$(TOP)/vendor/cyanogen/prelink-linux-arm-legend.map
 
-#
-# Set ro.modversion
-#
+PRODUCT_PACKAGES += Torch
+
+PRODUCT_PACKAGE_OVERLAYS += vendor/cyanogen/overlay/legend
+
 ifdef CYANOGEN_NIGHTLY
     PRODUCT_PROPERTY_OVERRIDES += \
         ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-Legend
 else
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7.0.0-RC0-Legend
+    ifdef CYANOGEN_RELEASE
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-RC0-Legend
+    else
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-RC0-Legend-KANG
+    endif
 endif
 
-#
-# Copy legend specific prebuilt files
-#
 PRODUCT_COPY_FILES +=  \
     vendor/cyanogen/prebuilt/mdpi/media/bootanimation.zip:system/media/bootanimation.zip
diff --git a/products/cyanogen_liberty.mk b/products/cyanogen_liberty.mk
index 8a31d59..96a538e 100644
--- a/products/cyanogen_liberty.mk
+++ b/products/cyanogen_liberty.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := liberty
 PRODUCT_MODEL := Liberty
 PRODUCT_MANUFACTURER := HTC
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=htc_liberty BUILD_ID=FRG83 BUILD_DISPLAY_ID=FRG83 BUILD_FINGERPRINT=google/passion/passion/mahimahi:2.2.1/FRG83/60505:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.2.1 FRG83 60505 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=htc_liberty BUILD_ID=FRG83 BUILD_DISPLAY_ID=GRH78 BUILD_FINGERPRINT=google/passion/passion/mahimahi:2.2.1/FRG83/60505:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.2.1 FRG83 60505 release-keys"
 
 PRODUCT_SPECIFIC_DEFINES += TARGET_PRELINKER_MAP=$(TOP)/vendor/cyanogen/prelink-linux-arm-liberty.map
 
@@ -24,8 +24,13 @@
     PRODUCT_PROPERTY_OVERRIDES += \
         ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-Liberty
 else
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7.0.0-RC0-Liberty
+    ifdef CYANOGEN_RELEASE
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-RC0-Liberty
+    else
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-RC0-Liberty-KANG
+    endif
 endif
 
 #
diff --git a/products/cyanogen_one.mk b/products/cyanogen_one.mk
index 17a80ed..702cd90 100644
--- a/products/cyanogen_one.mk
+++ b/products/cyanogen_one.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := one
 PRODUCT_MODEL := Geeksphone ONE
 PRODUCT_MANUFACTURER := Geeksphone
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_DEVICE=geeksphone-one PRODUCT_NAME=geeksphone_one BUILD_ID=FRG83 BUILD_DISPLAY_ID=FRG83 BUILD_FINGERPRINT=google/passion/passion/mahimahi:2.2.1/FRG83/60505:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.2.1 FRG83 60505 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_DEVICE=geeksphone-one PRODUCT_NAME=geeksphone_one BUILD_ID=FRG83 BUILD_DISPLAY_ID=GRH78 BUILD_FINGERPRINT=google/passion/passion/mahimahi:2.2.1/FRG83/60505:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.2.1 FRG83 60505 release-keys"
 
 #
 # Move dalvik cache to data partition where there is more room to solve startup problems
@@ -27,8 +27,13 @@
     PRODUCT_PROPERTY_OVERRIDES += \
         ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-ONE
 else
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7.0.0-RC0-ONE
+    ifdef CYANOGEN_RELEASE
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-RC0-ONE
+    else
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-RC0-ONE-KANG
+    endif
 endif
 
 #
diff --git a/products/cyanogen_passion.mk b/products/cyanogen_passion.mk
index bef2a6f..ff00208 100644
--- a/products/cyanogen_passion.mk
+++ b/products/cyanogen_passion.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := passion
 PRODUCT_MODEL := Nexus One
 PRODUCT_MANUFACTURER := HTC
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=passion BUILD_ID=FRG83D BUILD_DISPLAY_ID=FRG83D BUILD_FINGERPRINT=google/passion/passion/mahimahi:2.2.1/FRG83D/75603:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.2.1 FRG83D 75603 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=passion BUILD_ID=FRG83D BUILD_DISPLAY_ID=GRH78 BUILD_FINGERPRINT=google/passion/passion/mahimahi:2.2.1/FRG83D/75603:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.2.1 FRG83D 75603 release-keys"
 
 # Build kernel
 PRODUCT_SPECIFIC_DEFINES += TARGET_PREBUILT_KERNEL=
@@ -41,8 +41,13 @@
     PRODUCT_PROPERTY_OVERRIDES += \
         ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-N1
 else
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7.0.0-RC0-N1
+    ifdef CYANOGEN_RELEASE
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-RC0-N1
+    else
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-RC0-N1-KANG
+    endif
 endif
 
 #
diff --git a/products/cyanogen_sholes.mk b/products/cyanogen_sholes.mk
index 0e361a3..a40dddf 100644
--- a/products/cyanogen_sholes.mk
+++ b/products/cyanogen_sholes.mk
@@ -20,14 +20,21 @@
     PRODUCT_PROPERTY_OVERRIDES += \
         ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-Droid
 else
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7.0.0-RC0-Droid
+    ifdef CYANOGEN_RELEASE
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-RC0-Droid
+    else
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-RC0-Droid-KANG
+    endif
 endif
 
-PRODUCT_BUILD_PROP_OVERRIDES := BUILD_ID=FRG83D BUILD_DISPLAY_ID=FRG83D PRODUCT_NAME=voles TARGET_DEVICE=sholes BUILD_FINGERPRINT=verizon/voles/sholes/sholes:2.2.1/FRG83D/75603:user/release-keys PRODUCT_BRAND=verizon PRIVATE_BUILD_DESC="voles-user 2.2.1 FRG83D 75603 release-keys" BUILD_NUMBER=75603 BUILD_UTC_DATE=1289367602 TARGET_BUILD_TYPE=user BUILD_VERSION_TAGS=release-keys USER=android-build
+PRODUCT_BUILD_PROP_OVERRIDES := BUILD_ID=FRG83D BUILD_DISPLAY_ID=GRH78 PRODUCT_NAME=voles TARGET_DEVICE=sholes BUILD_FINGERPRINT=verizon/voles/sholes/sholes:2.2.1/FRG83D/75603:user/release-keys PRODUCT_BRAND=verizon PRIVATE_BUILD_DESC="voles-user 2.2.1 FRG83D 75603 release-keys" BUILD_NUMBER=75603 BUILD_UTC_DATE=1289367602 TARGET_BUILD_TYPE=user BUILD_VERSION_TAGS=release-keys USER=android-build
 
 PRODUCT_COPY_FILES +=  \
     vendor/cyanogen/prebuilt/hdpi/media/bootanimation.zip:system/media/bootanimation.zip
 
 PRODUCT_PACKAGE_OVERLAYS += vendor/cyanogen/overlay/sholes
 
+# Add the Torch app
+PRODUCT_PACKAGES += Torch
diff --git a/products/cyanogen_supersonic.mk b/products/cyanogen_supersonic.mk
index 6012479..c336d19 100644
--- a/products/cyanogen_supersonic.mk
+++ b/products/cyanogen_supersonic.mk
@@ -12,16 +12,19 @@
 PRODUCT_DEVICE := supersonic
 PRODUCT_MODEL := PC36100
 PRODUCT_MANUFACTURER := HTC
-PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=FRF91 BUILD_DISPLAY_ID=FRG83 PRODUCT_NAME=htc_supersonic BUILD_FINGERPRINT=sprint/htc_supersonic/supersonic/supersonic:2.2/FRF91/252548:user/release-keys PRIVATE_BUILD_DESC="3.29.651.5 CL252548 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=FRF91 BUILD_DISPLAY_ID=GRH78 PRODUCT_NAME=htc_supersonic BUILD_FINGERPRINT=sprint/htc_supersonic/supersonic/supersonic:2.2/FRF91/252548:user/release-keys PRIVATE_BUILD_DESC="3.29.651.5 CL252548 release-keys"
 
 # Build kernel
-PRODUCT_SPECIFIC_DEFINES += TARGET_PREBUILT_KERNEL=
-PRODUCT_SPECIFIC_DEFINES += TARGET_KERNEL_DIR=kernel-msm
-PRODUCT_SPECIFIC_DEFINES += TARGET_KERNEL_CONFIG=cyanogen_supersonic_defconfig
+#PRODUCT_SPECIFIC_DEFINES += TARGET_PREBUILT_KERNEL=
+#PRODUCT_SPECIFIC_DEFINES += TARGET_KERNEL_DIR=kernel-msm
+#PRODUCT_SPECIFIC_DEFINES += TARGET_KERNEL_CONFIG=cyanogen_supersonic_defconfig
 
 # Extra Supersonic overlay
 PRODUCT_PACKAGE_OVERLAYS += vendor/cyanogen/overlay/supersonic
 
+# Add the Torch app
+PRODUCT_PACKAGES += Torch
+
 #
 # Set ro.modversion
 #
@@ -29,8 +32,13 @@
     PRODUCT_PROPERTY_OVERRIDES += \
         ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-Supersonic
 else
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7.0.00-RC0-Supersonic
+    ifdef CYANOGEN_RELEASE
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-RC0-Supersonic
+    else
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-RC0-Supersonic-KANG
+    endif
 endif
 
 #
diff --git a/products/cyanogen_vision.mk b/products/cyanogen_vision.mk
index fb48050..ce556d1 100644
--- a/products/cyanogen_vision.mk
+++ b/products/cyanogen_vision.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := vision
 PRODUCT_MODEL := HTC Vision
 PRODUCT_MANUFACTURER := HTC
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=htc_vision BUILD_ID=FRF91 BUILD_DISPLAY_ID=FRG83 BUILD_FINGERPRINT=tmobile/htc_vision/vision/vision:2.2/FRF91/277427:user/release-keys PRIVATE_BUILD_DESC="1.22.531.8 CL277427 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=htc_vision BUILD_ID=FRF91 BUILD_DISPLAY_ID=GRH78 BUILD_FINGERPRINT=tmobile/htc_vision/vision/vision:2.2/FRF91/277427:user/release-keys PRIVATE_BUILD_DESC="1.22.531.8 CL277427 release-keys"
 
 # Build kernel
 #PRODUCT_SPECIFIC_DEFINES += TARGET_PREBUILT_KERNEL=
@@ -35,8 +35,13 @@
     PRODUCT_PROPERTY_OVERRIDES += \
         ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-vision
 else
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7.0.0-RC0-vision
+    ifdef CYANOGEN_RELEASE
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-RC0-vision
+    else
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-RC0-vision-KANG
+    endif
 endif
 
 #
diff --git a/products/cyanogen_z71.mk b/products/cyanogen_z71.mk
index fb9ac4b..21a5872 100644
--- a/products/cyanogen_z71.mk
+++ b/products/cyanogen_z71.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := z71
 PRODUCT_MODEL := Z71
 PRODUCT_MANUFACTURER := Commtiva
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=commtiva_z71 BUILD_ID=FRG83 BUILD_DISPLAY_ID=FRG83 BUILD_FINGERPRINT=google/passion/passion/mahimahi:2.2.1/FRG83/60505:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.2.1 FRG83 60505 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=commtiva_z71 BUILD_ID=FRG83 BUILD_DISPLAY_ID=GRH78 BUILD_FINGERPRINT=google/passion/passion/mahimahi:2.2.1/FRG83/60505:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.2.1 FRG83 60505 release-keys"
 
 #PRODUCT_SPECIFIC_DEFINES += TARGET_PRELINKER_MAP=$(TOP)/vendor/cyanogen/prelink-linux-arm-z71.map
 
@@ -26,8 +26,13 @@
     PRODUCT_PROPERTY_OVERRIDES += \
         ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-Z71
 else
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7.0.0-RC0-Z71
+    ifdef CYANOGEN_RELEASE
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-RC0-Z71
+    else
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.0.0-RC0-Z71-KANG
+    endif
 endif
 
 #
diff --git a/tools/opticharger b/tools/opticharger
index 9e1af13..203fd2b 100755
--- a/tools/opticharger
+++ b/tools/opticharger
@@ -106,7 +106,7 @@
     cp $BASE/$1 $BASE/$1.old
 
     [ $QUIET ] || echo "Repacking apk.."
-    aapt p -0 res/raw -0 res/raw-en -F $NAME .
+    aapt p -0 .dat -0 .dict -F $NAME .
     
     [ $QUIET ] || echo "Resigning with cert: `echo $CERT`"
 
diff --git a/vendorsetup.sh b/vendorsetup.sh
index dfe9b13..648fefa 100644
--- a/vendorsetup.sh
+++ b/vendorsetup.sh
@@ -1,7 +1,8 @@
 add_lunch_combo cyanogen_ace-eng
 add_lunch_combo cyanogen_bravo-eng
 add_lunch_combo cyanogen_bravoc-eng
-#add_lunch_combo cyanogen_buzz-eng
+add_lunch_combo cyanogen_crespo-eng
+add_lunch_combo cyanogen_buzz-eng
 #add_lunch_combo cyanogen_dream_sapphire-eng
 #add_lunch_combo cyanogen_espresso-eng
 add_lunch_combo cyanogen_glacier-eng
@@ -9,12 +10,12 @@
 #add_lunch_combo cyanogen_hero-eng
 #add_lunch_combo cyanogen_heroc-eng
 add_lunch_combo cyanogen_inc-eng
-#add_lunch_combo cyanogen_legend-eng
+add_lunch_combo cyanogen_legend-eng
 add_lunch_combo cyanogen_liberty-eng
 add_lunch_combo cyanogen_one-eng
 add_lunch_combo cyanogen_passion-eng
 add_lunch_combo cyanogen_sholes-eng
-#add_lunch_combo cyanogen_supersonic-eng
+add_lunch_combo cyanogen_supersonic-eng
 add_lunch_combo cyanogen_vision-eng
 add_lunch_combo cyanogen_z71-eng