summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRichard MacGregor <rmacgregor@cyngn.com>2016-05-13 22:31:27 -0700
committerRichard MacGregor <rmacgregor@cyngn.com>2016-05-18 09:04:33 -0700
commitfaec370f2d9797188d6dce96d31d24c7744cb12d (patch)
tree942479468b1ac3c8197ccb195daf37de6c517458 /src
parentc9ec0e37a3004c5517e133f7a9e44285cc49f57a (diff)
downloadandroid_packages_apps_Dialer-faec370f2d9797188d6dce96d31d24c7744cb12d.tar.gz
android_packages_apps_Dialer-faec370f2d9797188d6dce96d31d24c7744cb12d.tar.bz2
android_packages_apps_Dialer-faec370f2d9797188d6dce96d31d24c7744cb12d.zip
Protecting against null locales
Ticket CD-639 Change-Id: Ifd64b8cd108d0a2b6f4b8172bcb96568de2abfdb
Diffstat (limited to 'src')
-rw-r--r--src/com/android/dialer/DialerApplication.java14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/com/android/dialer/DialerApplication.java b/src/com/android/dialer/DialerApplication.java
index af9226c03..90f466762 100644
--- a/src/com/android/dialer/DialerApplication.java
+++ b/src/com/android/dialer/DialerApplication.java
@@ -32,6 +32,8 @@ import com.android.phone.common.incall.DialerDataSubscription;
import com.android.dialer.util.MetricsHelper;
import com.android.dialer.deeplink.DeepLinkIntegrationManager;
+import java.util.Locale;
+
public class DialerApplication extends Application {
private static final String TAG = "DialerApplication";
@@ -59,8 +61,9 @@ public class DialerApplication extends Application {
DeepLinkIntegrationManager.getInstance().setUp(this);
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
- prefs.edit().putString(PREF_LAST_GLOBAL_LOCALE,
- getResources().getConfiguration().locale.toString()).apply();
+ Locale locale = getResources().getConfiguration().locale;
+ String currentLocale = locale != null ? locale.toString() : "";
+ prefs.edit().putString(PREF_LAST_GLOBAL_LOCALE, currentLocale).apply();
Trace.endSection();
}
@@ -69,15 +72,16 @@ public class DialerApplication extends Application {
super.onConfigurationChanged(newConfig);
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
- String previousLocale = prefs.getString(PREF_LAST_GLOBAL_LOCALE, null);
- String newLocale = newConfig.locale.toString();
+ String previousLocale = prefs.getString(PREF_LAST_GLOBAL_LOCALE, "");
+ String newLocale = (newConfig != null && newConfig.locale != null) ?
+ newConfig.locale.toString() : "";
if (DEBUG) {
Log.d(TAG, "onConfigurationChanged: previous locale=" + previousLocale +
", new locale=" + newLocale);
}
// If locale changed, update incall api plugins
- if (!TextUtils.isEmpty(newLocale) && !TextUtils.equals(previousLocale, newLocale)) {
+ if (!TextUtils.equals(previousLocale, newLocale)) {
prefs.edit().putString(PREF_LAST_GLOBAL_LOCALE, newLocale).apply();
DialerDataSubscription.get(this).refresh();
}