Merge "gsm: Show localized SPN only when it matches system locale (2/2)" into gingerbread
diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn
index d31ff1d..ab76f1b 100644
--- a/CHANGELOG.mkdn
+++ b/CHANGELOG.mkdn
@@ -57,7 +57,7 @@
 
 Translators:
 ------------
-* German: Matthias Büchner, Alexander Hofbauer, Sebastian K (DerSeppel), Ricco Thiel
+* German: Matthias Büchner, Alexander Hofbauer, Sebastian K (DerSeppel), Ricco Thiel, Andreas Böhm
 * Italian: Eugenio Ziliotto, Giulio Cervera
 * Japanese: Takuo Kitame
 * French: Sébastien Vaucher, David Girault, Tanguy Pruvot
diff --git a/overlay/bcm_fm_radio/packages/apps/FM/res/values/config.xml b/overlay/bcm_fm_radio/packages/apps/FM/res/values/config.xml
new file mode 100644
index 0000000..bbb78f7
--- /dev/null
+++ b/overlay/bcm_fm_radio/packages/apps/FM/res/values/config.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <!-- Whether or not seek is supported -->
+    <bool name="seek_supported">true</bool>
+</resources>
diff --git a/products/bcm_fm_radio.mk b/products/bcm_fm_radio.mk
index 8566a0c..1e559e7 100644
--- a/products/bcm_fm_radio.mk
+++ b/products/bcm_fm_radio.mk
@@ -2,3 +2,5 @@
 PRODUCT_PACKAGES += \
     FM \
     hcitool
+
+PRODUCT_PACKAGE_OVERLAYS += vendor/cyanogen/overlay/bcm_fm_radio
diff --git a/products/common_full_no_themes.mk b/products/common_full_no_themes.mk
new file mode 100644
index 0000000..c45a069
--- /dev/null
+++ b/products/common_full_no_themes.mk
@@ -0,0 +1,18 @@
+# Inherit common CM stuff
+$(call inherit-product, vendor/cyanogen/products/common.mk)
+
+# CyanogenMod specific product packages
+PRODUCT_PACKAGES += \
+    CMWallpapers
+
+# Bring in all audio files
+include frameworks/base/data/sounds/AllAudio.mk
+
+# Include extra dictionaries for LatinIME
+PRODUCT_PACKAGE_OVERLAYS += vendor/cyanogen/overlay/dictionaries
+
+# Default ringtone
+PRODUCT_PROPERTY_OVERRIDES += \
+    ro.config.ringtone=Playa.ogg \
+    ro.config.notification_sound=regulus.ogg \
+    ro.config.alarm_alert=Alarm_Beep_03.ogg
diff --git a/products/cyanogen_buzz.mk b/products/cyanogen_buzz.mk
index 2dc4e99..876e6c2 100644
--- a/products/cyanogen_buzz.mk
+++ b/products/cyanogen_buzz.mk
@@ -2,7 +2,7 @@
 $(call inherit-product, device/htc/buzz/buzz.mk)
 
 # Inherit some common cyanogenmod stuff.
-$(call inherit-product, vendor/cyanogen/products/common_full.mk)
+$(call inherit-product, vendor/cyanogen/products/common_full_no_themes.mk)
 
 # Include GSM stuff
 $(call inherit-product, vendor/cyanogen/products/gsm.mk)
diff --git a/products/cyanogen_click.mk b/products/cyanogen_click.mk
index c577386..bdcde71 100644
--- a/products/cyanogen_click.mk
+++ b/products/cyanogen_click.mk
@@ -2,7 +2,7 @@
 $(call inherit-product, device/htc/click/click.mk)
 
 # Inherit some common cyanogenmod stuff.
-$(call inherit-product, vendor/cyanogen/products/common_full.mk)
+$(call inherit-product, vendor/cyanogen/products/common_full_no_themes.mk)
 
 # Include GSM stuff
 $(call inherit-product, vendor/cyanogen/products/gsm.mk)
diff --git a/tools/opticharger b/tools/opticharger
index f8a9d8a..b4345c4 100755
--- a/tools/opticharger
+++ b/tools/opticharger
@@ -1,7 +1,7 @@
 #!/bin/sh
 #
 # Super-mega opticharger of doom
-# Shrinks apks by running pngcrush on png images
+# Shrinks apks by running pngcrush or optipng or pngout on png images
 #
 # Point APKCERTS at the full path to a generated apkcerts.txt file, such as:
 # /home/shade/dev/sources/android-cm-eclair/out/target/product/dream_sapphire/obj/PACKAGING/target_files_intermediates/cyanogen_dream_sapphire-target_files-eng.shade/META/apkcerts.txt
@@ -19,7 +19,6 @@
 
 set -e
 QUIET=1
-QFLAG=-q
 BASE=`pwd`
 TMPDIR=/tmp/opticharge-$$
 
@@ -38,9 +37,29 @@
     echo "Invalid path to apkcerts.txt, set APKCERTS to the correct path."
 fi
 
-if [ "`which pngcrush`" = "" ];
+if [ "$(which pngcrush)" != "" ];
 then
-    echo "Please install pngcrush"
+    optimize_png () {
+        pngcrush -q -brute $1 ${1}.out 1> /dev/null 2> /dev/null
+        mv ${1}.out ${1}
+    }
+elif [ "$(which optipng)" != "" ];
+then
+    optimize_png () {
+        optipng -o7 -quiet $1 1> /dev/null 2> /dev/null
+    }
+elif [ "$(which pngout-static)" != "" ];
+then
+    optimize_png () {
+        pngout-static $1
+    }
+elif [ "$(which pngout)" != "" ];
+then
+    optimize_png () {
+        pngout $1
+    }
+else
+    echo "Please install pngcrush, optipng, or pngout"
     exit 1;
 fi
 
@@ -97,11 +116,7 @@
     for x in `find . -name "*.png" | grep -v "\.9.png$" | tr "\n" " "`
     do
         [ $QUIET ] || echo "Crushing $x"
-        pngcrush $QFLAG $x $x.crushed 1>/dev/null
-        if [ -e "$x.crushed" ];
-        then
-            mv $x.crushed $x
-        fi
+        optimize_png $x
     done
     cp $BASE/$1 $BASE/$1.old