From 7474269f6bd71dd4086cfebeb4ef6ba5a7613d22 Mon Sep 17 00:00:00 2001 From: Mygod Date: Mon, 10 Oct 2016 13:00:54 +0800 Subject: [PATCH] Fix crash on 4.4 --- .../com/github/shadowsocks/ShadowsocksApplication.scala | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/scala/com/github/shadowsocks/ShadowsocksApplication.scala b/src/main/scala/com/github/shadowsocks/ShadowsocksApplication.scala index 3ba8a81b..d7c6d56a 100644 --- a/src/main/scala/com/github/shadowsocks/ShadowsocksApplication.scala +++ b/src/main/scala/com/github/shadowsocks/ShadowsocksApplication.scala @@ -43,6 +43,7 @@ import java.util import java.util.Locale import java.util.concurrent.TimeUnit +import android.annotation.SuppressLint import android.app.Application import android.content.res.Configuration import android.os.{Build, LocaleList} @@ -62,8 +63,10 @@ object ShadowsocksApplication { private final val TAG = "ShadowsocksApplication" // The ones in Locale doesn't have script included - private final lazy val SIMPLIFIED_CHINESE = Locale.forLanguageTag("zh-Hans-CN") - private final lazy val TRADITIONAL_CHINESE = Locale.forLanguageTag("zh-Hant-TW") + private final lazy val SIMPLIFIED_CHINESE = + if (Build.VERSION.SDK_INT >= 21) Locale.forLanguageTag("zh-Hans-CN") else Locale.SIMPLIFIED_CHINESE + private final lazy val TRADITIONAL_CHINESE = + if (Build.VERSION.SDK_INT >= 21) Locale.forLanguageTag("zh-Hant-TW") else Locale.TRADITIONAL_CHINESE } class ShadowsocksApplication extends Application { @@ -115,6 +118,7 @@ class ShadowsocksApplication extends Application { } } else null + @SuppressLint(Array("NewApi")) private def checkChineseLocale(config: Configuration): Unit = if (Build.VERSION.SDK_INT >= 24) { val localeList = config.getLocales val newList = new Array[Locale](localeList.size())