Skip to content

Commit 96e2409

Browse files
committed
Move strings to constants
* Move "en" string to constant in LanguageProviderAppDefined class * Move Corrected Language Strings to constant in LanguageProviderDevice class * Add OSTaskRemoteController.SET_LANGUAGE in place of setLanguage() string in OneSignal.setLanguage
1 parent 2d4d1a9 commit 96e2409

File tree

3 files changed

+28
-17
lines changed

3 files changed

+28
-17
lines changed

OneSignalSDK/onesignal/src/main/java/com/onesignal/OneSignal.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1600,7 +1600,7 @@ public void run() {
16001600
return;
16011601
}
16021602

1603-
if (shouldLogUserPrivacyConsentErrorMessageForMethodName("setLanguage()"))
1603+
if (shouldLogUserPrivacyConsentErrorMessageForMethodName(OSTaskRemoteController.SET_LANGUAGE))
16041604
return;
16051605

16061606
LanguageProviderAppDefined languageProviderAppDefined = new LanguageProviderAppDefined(preferences);

OneSignalSDK/onesignal/src/main/java/com/onesignal/language/LanguageProviderAppDefined.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55

66
public class LanguageProviderAppDefined implements LanguageProvider {
77
public static final String PREFS_OS_LANGUAGE = "PREFS_OS_LANGUAGE";
8-
private OSSharedPreferences preferences;
8+
9+
private static final String DEFAULT_LANGUAGE = "en";
10+
private final OSSharedPreferences preferences;
911

1012
public LanguageProviderAppDefined(OSSharedPreferences preferences) {
1113
this.preferences = preferences;
@@ -21,6 +23,6 @@ public void setLanguage(String language) {
2123
@NonNull
2224
public String getLanguage() {
2325
return preferences.getString(
24-
preferences.getPreferencesName(), PREFS_OS_LANGUAGE, "en");
26+
preferences.getPreferencesName(), PREFS_OS_LANGUAGE, DEFAULT_LANGUAGE);
2527
}
2628
}

OneSignalSDK/onesignal/src/main/java/com/onesignal/language/LanguageProviderDevice.java

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,31 @@
55
import java.util.Locale;
66

77
public class LanguageProviderDevice implements LanguageProvider {
8-
public String getLanguage() {
9-
String lang = Locale.getDefault().getLanguage();
10-
11-
// https://github.com/OneSignal/OneSignal-Android-SDK/issues/64
12-
if (lang.equals("iw"))
13-
return "he";
14-
if (lang.equals("in"))
15-
return "id";
16-
if (lang.equals("ji"))
17-
return "yi";
8+
private static final String HEBREW_INCORRECT = "iw";
9+
private static final String HEBREW_CORRECTED = "he";
10+
private static final String INDONESIAN_INCORRECT = "in";
11+
private static final String INDONESIAN_CORRECTED = "id";
12+
private static final String YIDDISH_INCORRECT = "ji";
13+
private static final String YIDDISH_CORRECTED = "yi";
14+
private static final String CHINESE = "zh";
1815

19-
// https://github.com/OneSignal/OneSignal-Android-SDK/issues/98
20-
if (lang.equals("zh"))
21-
return lang + "-" + Locale.getDefault().getCountry();
2216
@NonNull
17+
public String getLanguage() {
18+
String language = Locale.getDefault().getLanguage();
2319

24-
return lang;
20+
switch (language) {
21+
// https://github.com/OneSignal/OneSignal-Android-SDK/issues/64
22+
case HEBREW_INCORRECT:
23+
return HEBREW_CORRECTED;
24+
case INDONESIAN_INCORRECT:
25+
return INDONESIAN_CORRECTED;
26+
case YIDDISH_INCORRECT:
27+
return YIDDISH_CORRECTED;
28+
// https://github.com/OneSignal/OneSignal-Android-SDK/issues/98
29+
case CHINESE:
30+
return language + "-" + Locale.getDefault().getCountry();
31+
default:
32+
return language;
33+
}
2534
}
2635
}

0 commit comments

Comments
 (0)