Skip to content

Commit 7b9caf5

Browse files
committed
Indonesian, Hebrew, and Yiddish language detection fix
1 parent 049f712 commit 7b9caf5

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

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

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@
3535
import android.os.Bundle;
3636
import android.telephony.TelephonyManager;
3737

38+
import java.util.Locale;
39+
3840
class OSUtils {
3941
int getDeviceType() {
4042
try {
@@ -78,4 +80,18 @@ static String getManifestMeta(Context context, String metaName) {
7880

7981
return null;
8082
}
83+
84+
static String getCorrectedLanguage() {
85+
String lang = Locale.getDefault().getLanguage();
86+
87+
// https://github.com/OneSignal/OneSignal-Android-SDK/issues/64
88+
if (lang.equals("iw"))
89+
return "he";
90+
if (lang.equals("in"))
91+
return "id";
92+
if (lang.equals("ji"))
93+
return "yi";
94+
95+
return lang;
96+
}
8197
}

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@
3636
import java.util.Date;
3737
import java.util.Iterator;
3838
import java.util.List;
39-
import java.util.Locale;
4039
import java.util.TimeZone;
4140
import java.util.UUID;
4241

@@ -618,7 +617,7 @@ public void run() {
618617
userState.set("ad_id", adId);
619618
userState.set("device_os", Build.VERSION.RELEASE);
620619
userState.set("timezone", getTimeZoneOffset());
621-
userState.set("language", Locale.getDefault().getLanguage());
620+
userState.set("language", OSUtils.getCorrectedLanguage());
622621
userState.set("sdk", VERSION);
623622
userState.set("sdk_type", sdkType);
624623
userState.set("android_package", packageName);

0 commit comments

Comments
 (0)