Merge "Forcing the settings apk to be built with the zz_ZZ pseudolocale. This will enable Settings to show the effects of the zz_ZZ pseudolocale when selected in the LocalePicker." into jb-mr2-dev
diff --git a/Android.mk b/Android.mk
index 22c7143..c8b81dc 100644
--- a/Android.mk
+++ b/Android.mk
@@ -13,6 +13,8 @@
 
 LOCAL_PROGUARD_FLAG_FILES := proguard.flags
 
+LOCAL_AAPT_FLAGS += -c zz_ZZ
+
 include $(BUILD_PACKAGE)
 
 # Use the folloing include to make our test apk.
diff --git a/src/com/android/settings/LocalePicker.java b/src/com/android/settings/LocalePicker.java
index 8ea99a1..6600703 100644
--- a/src/com/android/settings/LocalePicker.java
+++ b/src/com/android/settings/LocalePicker.java
@@ -23,8 +23,10 @@
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.ListView;
+import android.content.Context;
 
 import com.android.settings.SettingsPreferenceFragment.SettingsDialogFragment;
+import com.android.settings.DevelopmentSettings;
 
 import java.util.Locale;
 
@@ -46,6 +48,15 @@
     }
 
     @Override
+    protected boolean isInDeveloperMode() {
+        final boolean showDev = getActivity().getSharedPreferences(DevelopmentSettings.PREF_FILE,
+                Context.MODE_PRIVATE).getBoolean(
+                DevelopmentSettings.PREF_SHOW,
+                android.os.Build.TYPE.equals("eng"));
+        return showDev;
+    }
+
+    @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         if (savedInstanceState != null && savedInstanceState.containsKey(SAVE_TARGET_LOCALE)) {
diff --git a/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java b/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
index c2ff0d9..2a5adb1 100644
--- a/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
+++ b/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
@@ -238,7 +238,16 @@
                 // and want to pretend that the language is valid for all locales.
                 // We need a way to support languages that aren't tied to a particular
                 // locale instead of hiding the locale qualifier.
-                if (hasOnlyOneLanguageInstance(language,
+                if (language.equals("zz")) {
+                    String country = conf.locale.getCountry();
+                    if (country.equals("ZZ")) {
+                        localeString = "[Developer] Accented English (zz_ZZ)";
+                    } else if (country.equals("ZY")) {
+                        localeString = "[Developer] Fake Bi-Directional (zz_ZY)";
+                    } else {
+                        localeString = "";
+                    }
+                } else if (hasOnlyOneLanguageInstance(language,
                         Resources.getSystem().getAssets().getLocales())) {
                     localeString = conf.locale.getDisplayLanguage(conf.locale);
                 } else {