From a9f94d7efbccb3c0cdd5587127eace05c3085cd6 Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Wed, 3 Jul 2013 16:30:44 +0200 Subject: [PATCH] android: Use explicit locale when converting settings names MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Apparently, these functions use the user's default locale which might not yield the expected result (e.g. lowercase I is not i in the Turkish locale but ı instead). --- .../android/logic/imc/collectors/SettingsCollector.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/frontends/android/src/org/strongswan/android/logic/imc/collectors/SettingsCollector.java b/src/frontends/android/src/org/strongswan/android/logic/imc/collectors/SettingsCollector.java index 3f6bcff6f..658c2daea 100644 --- a/src/frontends/android/src/org/strongswan/android/logic/imc/collectors/SettingsCollector.java +++ b/src/frontends/android/src/org/strongswan/android/logic/imc/collectors/SettingsCollector.java @@ -17,6 +17,8 @@ package org.strongswan.android.logic.imc.collectors; +import java.util.Locale; + import org.strongswan.android.logic.imc.attributes.Attribute; import org.strongswan.android.logic.imc.attributes.SettingsAttribute; @@ -44,10 +46,10 @@ public class SettingsCollector implements Collector SettingsAttribute attribute = new SettingsAttribute(); for (String name : mSettings) { - String value = android.provider.Settings.Secure.getString(mContentResolver, name.toLowerCase()); + String value = android.provider.Settings.Secure.getString(mContentResolver, name.toLowerCase(Locale.US)); if (value == null) { - value = android.provider.Settings.System.getString(mContentResolver, name.toLowerCase()); + value = android.provider.Settings.System.getString(mContentResolver, name.toLowerCase(Locale.US)); } if (value != null) {