From f35664f0ad753df3dc4ca3b47c2f91263973af34 Mon Sep 17 00:00:00 2001
From: 18034727885 <973609879@qq.com>
Date: 星期四, 09 七月 2026 13:54:51 +0800
Subject: [PATCH] 修复初始语言非法语的问题
---
app/src/main/java/com/igo/user/ui/mine/adapter/TripOrderAdapter.kt | 4
app/src/main/java/com/igo/user/IGoApplication.kt | 21 --
xldutils-kotlin/src/main/java/cn/sinata/xldutils/activity/BaseActivity.kt | 4
app/src/main/java/com/igo/user/ui/trip/MapTripFragment.kt | 6
app/src/main/java/com/igo/user/ui/mine/UserInfoActivity.kt | 6
app/src/main/java/com/igo/user/ui/trip/TripActivity.kt | 6
app/src/main/java/com/igo/user/ui/trip/OrderOtherActivity.kt | 4
app/src/main/java/com/igo/user/ui/trip/OrderDetailActivity.kt | 5
app/src/main/java/com/igo/user/ui/mine/ShareAppActivity.kt | 5
app/src/main/java/com/igo/user/network/RRetrofit.kt | 101 +++++++++-------
app/src/main/java/com/igo/user/ui/mine/CommitGoodsActivity.kt | 8
app/src/main/java/com/igo/user/ui/trip/OrderDetailWithMapActivity.kt | 13 +-
xldutils-kotlin/src/main/java/cn/sinata/xldutils/rxutils/Error.kt | 8
xldutils-kotlin/src/main/java/cn/sinata/xldutils/rxutils/ResultCommonSubscriber.kt | 4
app/src/main/java/com/igo/user/ui/mine/LanguageActivity.kt | 4
app/src/main/java/com/igo/user/ui/trip/PriceDetailActivity.kt | 4
app/src/main/java/com/igo/user/network/Functions.kt | 3
app/src/main/java/com/igo/user/dialog/ChooseBirthEnglishDialog.kt | 4
app/src/main/java/com/igo/user/network/HttpManager.kt | 46 ++++++-
app/src/main/res/layout/activity_login.xml | 2
app/src/main/java/com/igo/user/ui/logistics/LogisticsGuideActivity.kt | 4
app/src/main/java/com/igo/user/ui/trip/ChoosePositionActivity.kt | 4
app/src/main/java/com/igo/user/ui/mine/adapter/MyCouponAdapter.kt | 6
app/src/main/java/com/igo/user/dialog/ChooseReserveTimeDialog.kt | 4
xldutils-kotlin/src/main/java/cn/sinata/xldutils/utils/LanguageUtil.java | 47 +++----
app/src/main/java/com/igo/user/utils/google/AMapKit.kt | 14 +-
26 files changed, 176 insertions(+), 161 deletions(-)
diff --git a/app/src/main/java/com/igo/user/IGoApplication.kt b/app/src/main/java/com/igo/user/IGoApplication.kt
index 43806b0..0bd4692 100644
--- a/app/src/main/java/com/igo/user/IGoApplication.kt
+++ b/app/src/main/java/com/igo/user/IGoApplication.kt
@@ -6,7 +6,6 @@
import android.app.Application
import android.content.Intent
import android.os.Bundle
-import android.text.TextUtils
import android.util.Log
import androidx.appcompat.app.AppCompatActivity
import androidx.core.os.bundleOf
@@ -18,6 +17,7 @@
import cn.sinata.rxnetty.NettyClient
import cn.sinata.xldutils.activity.BaseActivity
import cn.sinata.xldutils.application.BaseApplication
+import cn.sinata.xldutils.utils.LanguageUtil
import cn.sinata.xldutils.utils.SPUtils
import cn.sinata.xldutils.utils.myToast
import com.google.android.gms.maps.MapsInitializer
@@ -31,6 +31,7 @@
import com.igo.user.interfaces.StringCallback
import com.igo.user.network.Apis
import com.igo.user.network.HttpManager
+import com.igo.user.network.RRetrofit
import com.igo.user.network.entity.TrippingInfo
import com.igo.user.network.request
import com.igo.user.ui.MainActivity
@@ -59,7 +60,7 @@
appContext = this
// initializeRecaptchaClient()
registerActivityLifecycleCallbacks(this)
- setDefaultLanguage()
+ LanguageUtil.setDefaultLanguage(Const.Language.DEFAULT_LANGUAGE)
DownloadLibrary.init(
this,
resources.getIdentifier("ic_launcher", "mipmap", packageName),
@@ -78,14 +79,6 @@
) { renderer ->
Log.e(Const.GoogleTag, "LATEST renderer:${renderer.name}")
// initializeConsumerSdk()
- }
- }
-
- //设置默认语言
- private fun setDefaultLanguage() {
- val language = SPUtils.instance().getString("language")
- if (TextUtils.isEmpty(language)) {
- SPUtils.instance().put("language", Const.Language.DEFAULT_LANGUAGE).apply()
}
}
@@ -385,12 +378,8 @@
val userId = SPUtils.instance().getInt(Const.User.USER_ID)
val token = SPUtils.instance().getString(Const.User.TOKEN)
if (userId != -1) {
- val language = SPUtils.instance().getString("language")
- val l = when (language) {
- Const.Language.CHINESE -> "1"
- Const.Language.FRENCH -> "3"
- else -> "2"
- }
+ val language = LanguageUtil.getLanguage()
+ val l = RRetrofit.getLanguageType(language)
NettyClient.getInstance()
.sendMessage("{\"data\":{\"userId\":$userId,\"language\":$l,\"token\":\"$token\",\"type\":1},\"method\":\"PING\",\"code\":200,\"msg\":\"SUCCESS\"}")
}
diff --git a/app/src/main/java/com/igo/user/dialog/ChooseBirthEnglishDialog.kt b/app/src/main/java/com/igo/user/dialog/ChooseBirthEnglishDialog.kt
index 5f65fea..d1df505 100644
--- a/app/src/main/java/com/igo/user/dialog/ChooseBirthEnglishDialog.kt
+++ b/app/src/main/java/com/igo/user/dialog/ChooseBirthEnglishDialog.kt
@@ -7,7 +7,7 @@
import android.view.ViewGroup
import androidx.fragment.app.DialogFragment
import cn.sinata.xldutils.gone
-import cn.sinata.xldutils.utils.SPUtils
+import cn.sinata.xldutils.utils.LanguageUtil
import cn.sinata.xldutils.view.WheelView
import com.igo.user.R
import com.igo.user.utils.Const
@@ -23,7 +23,7 @@
private val wv_2 by lazy { find<WheelView>(R.id.wv_2) }
private val wv_3 by lazy { find<WheelView>(R.id.wv_3) }
- private val language by lazy { SPUtils.instance().getString("language") }
+ private val language by lazy { LanguageUtil.getLanguage() }
override fun onCreateView(
inflater: LayoutInflater,
diff --git a/app/src/main/java/com/igo/user/dialog/ChooseReserveTimeDialog.kt b/app/src/main/java/com/igo/user/dialog/ChooseReserveTimeDialog.kt
index bf2cacd..f5946df 100644
--- a/app/src/main/java/com/igo/user/dialog/ChooseReserveTimeDialog.kt
+++ b/app/src/main/java/com/igo/user/dialog/ChooseReserveTimeDialog.kt
@@ -8,7 +8,7 @@
import android.widget.TextView
import androidx.fragment.app.DialogFragment
import cn.sinata.xldutils.gone
-import cn.sinata.xldutils.utils.SPUtils
+import cn.sinata.xldutils.utils.LanguageUtil
import cn.sinata.xldutils.utils.toTime
import cn.sinata.xldutils.utils.toTimeEnglish
import cn.sinata.xldutils.utils.toTimeFrench
@@ -40,7 +40,7 @@
private val tv_title by lazy { find<TextView>(R.id.tv_title) }
private val language by lazy {
- SPUtils.instance().getString("language")
+ LanguageUtil.getLanguage()
}
private val dayTimes = arrayListOf<Long>()
diff --git a/app/src/main/java/com/igo/user/network/Functions.kt b/app/src/main/java/com/igo/user/network/Functions.kt
index 57f54a2..6d367de 100644
--- a/app/src/main/java/com/igo/user/network/Functions.kt
+++ b/app/src/main/java/com/igo/user/network/Functions.kt
@@ -6,6 +6,7 @@
import cn.sinata.xldutils.defaultScheduler
import cn.sinata.xldutils.fragment.BaseFragment
import cn.sinata.xldutils.rxutils.ResultDataSubscriber
+import cn.sinata.xldutils.utils.LanguageUtil
import cn.sinata.xldutils.utils.SPUtils
import com.igo.user.utils.Const
import io.reactivex.Flowable
@@ -35,7 +36,7 @@
activity.dismissDialog()
if (code == 600) {//token无效
super.onError(
- code, when (SPUtils.instance().getString("language")) {
+ code, when (LanguageUtil.getLanguage()) {
Const.Language.CHINESE -> "您的身份已过期,请重新登录"
Const.Language.FRENCH -> "Votre identité a expiré, veuillez vous reconnecter"
else -> "Your identity has expired, please log in again"
diff --git a/app/src/main/java/com/igo/user/network/HttpManager.kt b/app/src/main/java/com/igo/user/network/HttpManager.kt
index b1e8fa5..d3bae1a 100644
--- a/app/src/main/java/com/igo/user/network/HttpManager.kt
+++ b/app/src/main/java/com/igo/user/network/HttpManager.kt
@@ -1,12 +1,45 @@
package com.igo.user.network
import cn.sinata.xldutils.data.ResultData
+import cn.sinata.xldutils.utils.LanguageUtil
import cn.sinata.xldutils.utils.SPUtils
import com.google.gson.JsonObject
import com.igo.user.IGoApplication
import com.igo.user.data.HomeDatas
-import com.igo.user.network.entity.*
+import com.igo.user.network.entity.Anchor
+import com.igo.user.network.entity.AutoCompleteBean
+import com.igo.user.network.entity.CarPrice
+import com.igo.user.network.entity.City
+import com.igo.user.network.entity.Coupon
+import com.igo.user.network.entity.DriverInfo
+import com.igo.user.network.entity.EmailBean
+import com.igo.user.network.entity.Evaluation
import com.igo.user.network.entity.Function
+import com.igo.user.network.entity.GeoBean
+import com.igo.user.network.entity.Goods
+import com.igo.user.network.entity.GoogleToken
+import com.igo.user.network.entity.InviteHis
+import com.igo.user.network.entity.InvokeHis
+import com.igo.user.network.entity.Line
+import com.igo.user.network.entity.LogisticProgress
+import com.igo.user.network.entity.Message
+import com.igo.user.network.entity.MyBankCard
+import com.igo.user.network.entity.OpenCity
+import com.igo.user.network.entity.Order
+import com.igo.user.network.entity.Phone
+import com.igo.user.network.entity.PlaceDetailBean
+import com.igo.user.network.entity.Point
+import com.igo.user.network.entity.RealName
+import com.igo.user.network.entity.RouteBean
+import com.igo.user.network.entity.SearchBean
+import com.igo.user.network.entity.SeatInfo
+import com.igo.user.network.entity.ServiceRecord
+import com.igo.user.network.entity.Shift
+import com.igo.user.network.entity.TrippingInfo
+import com.igo.user.network.entity.UserInfo
+import com.igo.user.network.entity.VersionData
+import com.igo.user.network.entity.WalletRecord
+import com.igo.user.network.entity.WalletRecordBean
import com.igo.user.utils.Const
import io.reactivex.Flowable
import okhttp3.MediaType
@@ -28,8 +61,7 @@
* @param type 1:隐私协议,2:用户协议,3:用户指南,4:法律条款,5:关于我们
*/
fun getH5(type: Int, language: String? = null): Flowable<ResultData<JsonObject>> {
- val language =
- language ?: SPUtils.instance().getString("language", Const.Language.DEFAULT_LANGUAGE)
+ val language = language ?: LanguageUtil.getLanguage()
return request().getH5(language,type)
}
@@ -1245,7 +1277,7 @@
*/
fun geoCode(lat:Double,lon: Double): Flowable<GeoBean> {
//1=简体中文,2=英语,3=法语
- val language = SPUtils.instance().getString("language")
+ val language = LanguageUtil.getLanguage()
val lan = if (language == Const.Language.CHINESE) "zh-CN" else language
return request().geoCode(IGoApplication.tripId,"${lat},${lon}",lan)
}
@@ -1255,7 +1287,7 @@
*/
fun textsearch(key:String,lat: Double,lon: Double): Flowable<SearchBean> {
//1=简体中文,2=英语,3=法语
- val language = SPUtils.instance().getString("language")
+ val language = LanguageUtil.getLanguage()
val lan = if (language == Const.Language.CHINESE) "zh-CN" else language
return request().textsearch(IGoApplication.tripId,key,"${lat},${lon}",lan)
// return request().textsearch(key,5.586363,-0.187788,IGoApplication.chooseCityName,lan) //阿克拉 5.586363,-0.187788
@@ -1266,7 +1298,7 @@
*/
fun autocomplete(key:String,country:String = "gh"): Flowable<AutoCompleteBean> {
//1=简体中文,2=英语,3=法语
- val language = SPUtils.instance().getString("language")
+ val language = LanguageUtil.getLanguage()
val lan = if (language == Const.Language.CHINESE) "zh-CN" else language
return request().autocomplete(IGoApplication.tripId,key,lan,"country:$country")
}
@@ -1282,7 +1314,7 @@
* 路线
*/
fun directions(startLat: Double,startLon: Double,endLat: Double,endLon: Double): Flowable<RouteBean> {
- val language = SPUtils.instance().getString("language")
+ val language = LanguageUtil.getLanguage()
val lan = if (language == Const.Language.CHINESE) "zh-CN" else language
return request().directions(IGoApplication.tripId,"${startLat},${startLon}","${endLat},${endLon}",lan)
}
diff --git a/app/src/main/java/com/igo/user/network/RRetrofit.kt b/app/src/main/java/com/igo/user/network/RRetrofit.kt
index df016e2..82639c1 100644
--- a/app/src/main/java/com/igo/user/network/RRetrofit.kt
+++ b/app/src/main/java/com/igo/user/network/RRetrofit.kt
@@ -1,6 +1,7 @@
package com.igo.user.network
import android.util.Log
+import cn.sinata.xldutils.utils.LanguageUtil
import cn.sinata.xldutils.utils.SPUtils
import com.igo.user.BuildConfig
import com.igo.user.utils.Const
@@ -17,63 +18,71 @@
private val loggingInterceptor by lazy {
LoggingInterceptor().apply {
- level = if (BuildConfig.DEBUG) LoggingInterceptor.Level.BODY else LoggingInterceptor.Level.NONE
+ level =
+ if (BuildConfig.DEBUG) LoggingInterceptor.Level.BODY else LoggingInterceptor.Level.NONE
}
}
private val retrofit: Retrofit = Retrofit.Builder()
- .baseUrl(Apis.BASE_URL)
- .addConverterFactory(JsonConverterFactory.create())
- .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
- .client(OkHttpClient.Builder()
- .addInterceptor(HttpLoggingInterceptor().apply {
- level = HttpLoggingInterceptor.Level.BODY
- })
- .addInterceptor { chain ->
- var request = chain.request()
- if (request.method() == "POST"&&!request.url().toString().contains("base/user/image")) {
- val bodyBuilder = FormBody.Builder()
- var formBody:FormBody
- if (request.body() is FormBody) {
- formBody = request.body() as FormBody
- (0 until formBody.size()).forEach {
- bodyBuilder.addEncoded(
- formBody.encodedName(it), formBody.encodedValue(
- it
- )
+ .baseUrl(Apis.BASE_URL)
+ .addConverterFactory(JsonConverterFactory.create())
+ .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
+ .client(
+ OkHttpClient.Builder()
+ .addInterceptor(HttpLoggingInterceptor().apply {
+ level = HttpLoggingInterceptor.Level.BODY
+ })
+ .addInterceptor { chain ->
+ var request = chain.request()
+ if (request.method() == "POST" && !request.url().toString()
+ .contains("base/user/image")
+ ) {
+ val bodyBuilder = FormBody.Builder()
+ var formBody: FormBody
+ if (request.body() is FormBody) {
+ formBody = request.body() as FormBody
+ (0 until formBody.size()).forEach {
+ bodyBuilder.addEncoded(
+ formBody.encodedName(it), formBody.encodedValue(
+ it
)
- }
- }
- if (request.header("language").isNullOrEmpty()) {
- //1=简体中文,2=英语,3=印尼语
- val language = SPUtils.instance()
- .getString("language", Const.Language.DEFAULT_LANGUAGE)
- formBody = bodyBuilder.addEncoded(
- "language", when (language) {
- Const.Language.CHINESE -> "1"
- Const.Language.FRENCH -> "3"
- else -> "2"
- }
- ).build()
- request = request.newBuilder().post(formBody).build()
+ )
}
}
- chain.proceed(request)
+ var language = request.header("language")
+ language = if (language.isNullOrEmpty()) {
+ LanguageUtil.getLanguage()!!
+ } else {
+ language
+ }
+ //1=简体中文,2=英语,3=法语
+ formBody = bodyBuilder.addEncoded("language", getLanguageType(language)).build()
+ request = request.newBuilder().post(formBody).build()
}
- .addInterceptor { chain ->
- val token = SPUtils.instance().getString(Const.User.TOKEN)
- val request =
- if (token.isEmpty()) chain.request() else
- chain.request().newBuilder().addHeader("Authorization", "Bearer $token").build()
- Log.e(Const.Tag,request.headers().toString())
- chain.proceed(request)
- }
- .addInterceptor(loggingInterceptor)
- .build())
- .build()
+ chain.proceed(request)
+ }
+ .addInterceptor { chain ->
+ val token = SPUtils.instance().getString(Const.User.TOKEN)
+ val request =
+ if (token.isEmpty()) chain.request() else
+ chain.request().newBuilder().addHeader("Authorization", "Bearer $token")
+ .build()
+ Log.e(Const.Tag, request.headers().toString())
+ chain.proceed(request)
+ }
+ .addInterceptor(loggingInterceptor)
+ .build())
+ .build()
companion object {
fun instance() = RRetrofit()
+ fun getLanguageType(language: String): String {
+ return when (language) {
+ Const.Language.CHINESE -> "1"
+ Const.Language.FRENCH -> "3"
+ else -> "2"
+ }
+ }
}
fun <T> create(clazz: Class<T>): T = retrofit.create(clazz)
diff --git a/app/src/main/java/com/igo/user/ui/logistics/LogisticsGuideActivity.kt b/app/src/main/java/com/igo/user/ui/logistics/LogisticsGuideActivity.kt
index 3bfee00..dde1f9e 100644
--- a/app/src/main/java/com/igo/user/ui/logistics/LogisticsGuideActivity.kt
+++ b/app/src/main/java/com/igo/user/ui/logistics/LogisticsGuideActivity.kt
@@ -9,7 +9,7 @@
import android.widget.TextView
import androidx.core.os.bundleOf
import cn.sinata.xldutils.toBrowser
-import cn.sinata.xldutils.utils.SPUtils
+import cn.sinata.xldutils.utils.LanguageUtil
import cn.sinata.xldutils.utils.myToast
import cn.sinata.xldutils.utils.optDouble
import cn.sinata.xldutils.utils.optInt
@@ -93,7 +93,7 @@
override fun initView() {
title = getString(R.string.邮寄快件指南)
- if (SPUtils.instance().getString("language") == Const.Language.FRENCH) { //解决法文标题过长问题
+ if (LanguageUtil.getLanguage() == Const.Language.FRENCH) { //解决法文标题过长问题
titleBar.titleView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 12f)
}
PayUtil.addPayListener(this)
diff --git a/app/src/main/java/com/igo/user/ui/mine/CommitGoodsActivity.kt b/app/src/main/java/com/igo/user/ui/mine/CommitGoodsActivity.kt
index d9a78a9..1d098eb 100644
--- a/app/src/main/java/com/igo/user/ui/mine/CommitGoodsActivity.kt
+++ b/app/src/main/java/com/igo/user/ui/mine/CommitGoodsActivity.kt
@@ -6,7 +6,7 @@
import android.widget.EditText
import android.widget.TextView
import androidx.core.os.bundleOf
-import cn.sinata.xldutils.utils.SPUtils
+import cn.sinata.xldutils.utils.LanguageUtil
import cn.sinata.xldutils.utils.isValidPhone
import cn.sinata.xldutils.utils.myToast
import com.igo.user.R
@@ -53,7 +53,7 @@
else{
val strings = arrayListOf<String>()
val dialog = SingleWheelDialog()
- val language = SPUtils.instance().getString("language")
+ val language = LanguageUtil.getLanguage()
strings.addAll(province.map { if (language == Const.Language.ENGLISH) it.englishName else if (language == Const.Language.FRENCH) it.frenchName else it.chineseName })
dialog.arguments = bundleOf("data" to strings,"title" to getString(R.string.选择地区))
dialog.setCallback(object :StringCallback{
@@ -133,7 +133,7 @@
province.clear()
province.addAll(data ?: arrayListOf())
val strings = arrayListOf<String>()
- val language = SPUtils.instance().getString("language")
+ val language = LanguageUtil.getLanguage()
strings.addAll(province.map { if (language == Const.Language.ENGLISH) it.englishName else if (language == Const.Language.FRENCH) it.frenchName else it.chineseName })
val dialog = SingleWheelDialog()
dialog.arguments = bundleOf("data" to strings, "title" to getString(R.string.选择地区))
@@ -151,7 +151,7 @@
et_name.filters = arrayOf(RealNameInputFilter())
et_city.filters = arrayOf(RealNameInputFilter())
et_district.filters = arrayOf(RealNameInputFilter())
- val language = SPUtils.instance().getString("language")
+ val language = LanguageUtil.getLanguage()
et_name.setTextSize(TypedValue.COMPLEX_UNIT_SP,if (language == Const.Language.CHINESE) 14f else 11f)
et_phone.setTextSize(TypedValue.COMPLEX_UNIT_SP,if (language == Const.Language.CHINESE) 14f else 11f)
}
diff --git a/app/src/main/java/com/igo/user/ui/mine/LanguageActivity.kt b/app/src/main/java/com/igo/user/ui/mine/LanguageActivity.kt
index c5ae217..8592fb1 100644
--- a/app/src/main/java/com/igo/user/ui/mine/LanguageActivity.kt
+++ b/app/src/main/java/com/igo/user/ui/mine/LanguageActivity.kt
@@ -3,7 +3,6 @@
import android.widget.TextView
import androidx.core.os.bundleOf
import cn.sinata.xldutils.utils.LanguageUtil
-import cn.sinata.xldutils.utils.SPUtils
import com.igo.user.IGoApplication
import com.igo.user.R
import com.igo.user.dialog.TipDialog
@@ -37,8 +36,7 @@
tipDialog.arguments = bundleOf("msg" to getString(R.string.确定切换语言吗))
tipDialog.setCallback(object :TipDialog.OnClickCallback{
override fun onOk() {
- SPUtils.instance().put("language",language).apply()
- LanguageUtil.changeAppLanguage(this@LanguageActivity,language,"")
+ LanguageUtil.saveLanguage(this@LanguageActivity,language)
IGoApplication.appContext?.reLaunch()
}
diff --git a/app/src/main/java/com/igo/user/ui/mine/ShareAppActivity.kt b/app/src/main/java/com/igo/user/ui/mine/ShareAppActivity.kt
index f74431a..7fc0b6c 100644
--- a/app/src/main/java/com/igo/user/ui/mine/ShareAppActivity.kt
+++ b/app/src/main/java/com/igo/user/ui/mine/ShareAppActivity.kt
@@ -6,6 +6,7 @@
import android.webkit.WebViewClient
import android.widget.ImageView
import android.widget.TextView
+import cn.sinata.xldutils.utils.LanguageUtil
import cn.sinata.xldutils.utils.SPUtils
import cn.sinata.xldutils.utils.optString
import com.igo.user.R
@@ -35,7 +36,7 @@
val shareDialog = ShareDialog()
shareDialog.setCallback(object : ShareDialog.Callback {
override fun onOk(way: Int) {
- val language = SPUtils.instance().getString("language")
+ val language = LanguageUtil.getLanguage()
val languageP = if (language == Const.Language.CHINESE) 1 else if (language == Const.Language.ENGLISH) 2 else 3
val url = String.format(
Apis.SHARE_URL,
@@ -110,7 +111,7 @@
webView.loadData(it.optString("content"), "text/html; charset=utf-8", "utf-8")
}
}
- val language = SPUtils.instance().getString("language")
+ val language = LanguageUtil.getLanguage()
iv_bg.imageResource = when (language) {
Const.Language.CHINESE -> R.mipmap.share_bg
Const.Language.FRENCH -> R.mipmap.share_bg_fr
diff --git a/app/src/main/java/com/igo/user/ui/mine/UserInfoActivity.kt b/app/src/main/java/com/igo/user/ui/mine/UserInfoActivity.kt
index 438ff84..35ac023 100644
--- a/app/src/main/java/com/igo/user/ui/mine/UserInfoActivity.kt
+++ b/app/src/main/java/com/igo/user/ui/mine/UserInfoActivity.kt
@@ -6,10 +6,8 @@
import android.util.Log
import android.widget.TextView
import androidx.core.os.bundleOf
-import cn.sinata.xldutils.activity.SelectPhotoDialog
-import cn.sinata.xldutils.utils.SPUtils
+import cn.sinata.xldutils.utils.LanguageUtil
import com.facebook.drawee.view.SimpleDraweeView
-import com.google.android.datatransport.cct.internal.LogEvent
import com.igo.user.R
import com.igo.user.dialog.ChooseBirthDialog
import com.igo.user.dialog.ChooseBirthEnglishDialog
@@ -77,7 +75,7 @@
singleWheelDialog.show(supportFragmentManager, "sex")
}
tv_birth.setOnClickListener {
- val language = SPUtils.instance().getString("language")
+ val language = LanguageUtil.getLanguage()
if (language == Const.Language.ENGLISH || language == Const.Language.FRENCH) {
val chooseBirthDialog = ChooseBirthEnglishDialog()
chooseBirthDialog.setCallback(object : ChooseBirthEnglishDialog.Callback {
diff --git a/app/src/main/java/com/igo/user/ui/mine/adapter/MyCouponAdapter.kt b/app/src/main/java/com/igo/user/ui/mine/adapter/MyCouponAdapter.kt
index b6ede16..a0413e0 100644
--- a/app/src/main/java/com/igo/user/ui/mine/adapter/MyCouponAdapter.kt
+++ b/app/src/main/java/com/igo/user/ui/mine/adapter/MyCouponAdapter.kt
@@ -6,7 +6,7 @@
import cn.sinata.xldutils.adapter.HFRecyclerAdapter
import cn.sinata.xldutils.adapter.util.ViewHolder
import cn.sinata.xldutils.invisible
-import cn.sinata.xldutils.utils.SPUtils
+import cn.sinata.xldutils.utils.LanguageUtil
import cn.sinata.xldutils.visible
import com.daimajia.swipe.SwipeLayout
import com.igo.user.R
@@ -39,7 +39,7 @@
}
fun getUsedRes():Int{
- val language = SPUtils.instance().getString("language")
+ val language = LanguageUtil.getLanguage()
return when(language){
Const.Language.CHINESE-> R.mipmap.used
Const.Language.FRENCH->R.mipmap.used_f
@@ -48,7 +48,7 @@
}
fun getExpiredRes():Int{
- val language = SPUtils.instance().getString("language")
+ val language = LanguageUtil.getLanguage()
return when(language){
Const.Language.CHINESE-> R.mipmap.passd
Const.Language.FRENCH->R.mipmap.passd_f
diff --git a/app/src/main/java/com/igo/user/ui/mine/adapter/TripOrderAdapter.kt b/app/src/main/java/com/igo/user/ui/mine/adapter/TripOrderAdapter.kt
index 103b92d..71ad1a9 100644
--- a/app/src/main/java/com/igo/user/ui/mine/adapter/TripOrderAdapter.kt
+++ b/app/src/main/java/com/igo/user/ui/mine/adapter/TripOrderAdapter.kt
@@ -6,7 +6,7 @@
import cn.sinata.xldutils.adapter.HFRecyclerAdapter
import cn.sinata.xldutils.adapter.util.ViewHolder
import cn.sinata.xldutils.gone
-import cn.sinata.xldutils.utils.SPUtils
+import cn.sinata.xldutils.utils.LanguageUtil
import cn.sinata.xldutils.visible
import com.igo.user.R
import com.igo.user.network.entity.Order
@@ -32,7 +32,7 @@
if (data.isFrozen == 2){
clMain.alpha = 0.5f
frozen.visible()
- val language = SPUtils.instance().getString("language")
+ val language = LanguageUtil.getLanguage()
val ic = when(language){
Const.Language.ENGLISH->R.mipmap.yidongjie_e
Const.Language.CHINESE->R.mipmap.yidongjie
diff --git a/app/src/main/java/com/igo/user/ui/trip/ChoosePositionActivity.kt b/app/src/main/java/com/igo/user/ui/trip/ChoosePositionActivity.kt
index c53ed9a..7a57b47 100644
--- a/app/src/main/java/com/igo/user/ui/trip/ChoosePositionActivity.kt
+++ b/app/src/main/java/com/igo/user/ui/trip/ChoosePositionActivity.kt
@@ -12,7 +12,7 @@
import cn.sinata.xldutils.gone
import cn.sinata.xldutils.rxutils.ResultException
import cn.sinata.xldutils.sysErr
-import cn.sinata.xldutils.utils.SPUtils
+import cn.sinata.xldutils.utils.LanguageUtil
import cn.sinata.xldutils.view.SwipeRefreshRecyclerLayout
import cn.sinata.xldutils.visible
import com.igo.user.IGoApplication
@@ -127,7 +127,7 @@
lv_position.setMode(SwipeRefreshRecyclerLayout.Mode.None)
lv_position.setLayoutManager(LinearLayoutManager(this, LinearLayoutManager.VERTICAL,false))
title = if (isLogistics) getString(if (isStart) R.string.设置领取点 else R.string.设置目的地) else if(isModify) getString(R.string.设置目的地) else if(isStart){
- if (SPUtils.instance().getString("language") == Const.Language.FRENCH){ //解决法文标题过长问题
+ if (LanguageUtil.getLanguage() == Const.Language.FRENCH){ //解决法文标题过长问题
titleBar.titleView.setTextSize(TypedValue.COMPLEX_UNIT_SP,12f)
}
getString(R.string.设置上车点)
diff --git a/app/src/main/java/com/igo/user/ui/trip/MapTripFragment.kt b/app/src/main/java/com/igo/user/ui/trip/MapTripFragment.kt
index bca6b6d..65949e0 100644
--- a/app/src/main/java/com/igo/user/ui/trip/MapTripFragment.kt
+++ b/app/src/main/java/com/igo/user/ui/trip/MapTripFragment.kt
@@ -27,7 +27,7 @@
import cn.sinata.xldutils.fragment.BaseFragment
import cn.sinata.xldutils.gone
import cn.sinata.xldutils.invisible
-import cn.sinata.xldutils.utils.SPUtils
+import cn.sinata.xldutils.utils.LanguageUtil
import cn.sinata.xldutils.utils.SpanBuilder
import cn.sinata.xldutils.utils.myToast
import cn.sinata.xldutils.utils.optBoolean
@@ -173,7 +173,7 @@
//是否循环刷新
private var hadLoopRefresh = false
override fun onFirstVisibleToUser() {
- val language = SPUtils.instance().getString("language")
+ val language = LanguageUtil.getLanguage()
tv_110.setCompoundDrawablesRelativeWithIntrinsicBounds(
0,
if (language == Const.Language.CHINESE) R.mipmap.icon_110 else R.mipmap.icon_191,
@@ -1114,7 +1114,7 @@
private fun setMarker(latLon: LatLng, content: String = "") {
val options = MarkerOptions()
options.position(latLon)
- val language = SPUtils.instance().getString("language")
+ val language = LanguageUtil.getLanguage()
if (content.isNotEmpty()) {
val ic = when (language) {
Const.Language.ENGLISH -> R.mipmap.end_point_e
diff --git a/app/src/main/java/com/igo/user/ui/trip/OrderDetailActivity.kt b/app/src/main/java/com/igo/user/ui/trip/OrderDetailActivity.kt
index d13aa06..87a2a7d 100644
--- a/app/src/main/java/com/igo/user/ui/trip/OrderDetailActivity.kt
+++ b/app/src/main/java/com/igo/user/ui/trip/OrderDetailActivity.kt
@@ -20,6 +20,7 @@
import cn.sinata.xldutils.hide
import cn.sinata.xldutils.invisible
import cn.sinata.xldutils.toBrowser
+import cn.sinata.xldutils.utils.LanguageUtil
import cn.sinata.xldutils.utils.SPUtils
import cn.sinata.xldutils.utils.SpanBuilder
import cn.sinata.xldutils.utils.myToast
@@ -296,7 +297,7 @@
}
if (order!!.isFrozen == 2) {
tv_frozen.visible()
- val language = SPUtils.instance().getString("language")
+ val language = LanguageUtil.getLanguage()
val ic = when (language) {
Const.Language.ENGLISH -> R.mipmap.yidongjie_e
Const.Language.CHINESE -> R.mipmap.yidongjie
@@ -334,7 +335,7 @@
val shareDialog = ShareDialog()
shareDialog.setCallback(object : ShareDialog.Callback {
override fun onOk(way: Int) { //0:wx 1:qq 2:msg
- val language = SPUtils.instance().getString("language")
+ val language = LanguageUtil.getLanguage()
val languageP =
if (language == Const.Language.CHINESE) 1 else if (language == Const.Language.ENGLISH) 2 else 3
val url = String.format(
diff --git a/app/src/main/java/com/igo/user/ui/trip/OrderDetailWithMapActivity.kt b/app/src/main/java/com/igo/user/ui/trip/OrderDetailWithMapActivity.kt
index 7b2dd91..1cffebf 100644
--- a/app/src/main/java/com/igo/user/ui/trip/OrderDetailWithMapActivity.kt
+++ b/app/src/main/java/com/igo/user/ui/trip/OrderDetailWithMapActivity.kt
@@ -1,14 +1,16 @@
package com.igo.user.ui.trip
+//import com.share.utils.ShareUtils
+//import com.umeng.socialize.UMShareListener
+//import com.umeng.socialize.bean.SHARE_MEDIA
import android.app.Activity
import android.graphics.Color
-import android.view.View
import android.widget.CheckBox
import android.widget.TextView
import androidx.core.os.bundleOf
import cn.sinata.xldutils.gone
import cn.sinata.xldutils.invisible
-import cn.sinata.xldutils.toBrowser
+import cn.sinata.xldutils.utils.LanguageUtil
import cn.sinata.xldutils.utils.SPUtils
import cn.sinata.xldutils.utils.myToast
import cn.sinata.xldutils.utils.optDouble
@@ -39,9 +41,6 @@
import com.igo.user.utils.showMoney
import com.igo.user.views.CenterFlowLayout
import com.igo.user.views.RatingBar
-//import com.share.utils.ShareUtils
-//import com.umeng.socialize.UMShareListener
-//import com.umeng.socialize.bean.SHARE_MEDIA
import org.jetbrains.anko.find
import org.jetbrains.anko.sdk27.coroutines.onClick
import org.jetbrains.anko.startActivity
@@ -249,7 +248,7 @@
* @param isStart true:起点标记 false:终点标记
*/
private fun setMarker(latLon: LatLng, isStart:Boolean = true) {
- val language = SPUtils.instance().getString("language")
+ val language = LanguageUtil.getLanguage()
if (isStart){
val ic = when(language){
@@ -289,7 +288,7 @@
val shareDialog = ShareDialog()
shareDialog.setCallback(object :ShareDialog.Callback{
override fun onOk(way: Int) { //0:wx 1:qq 2:msg
- val language = SPUtils.instance().getString("language")
+ val language = LanguageUtil.getLanguage()
val languageP = if (language == Const.Language.CHINESE) 1 else if (language == Const.Language.ENGLISH) 2 else 3
val url = String.format(Apis.SHARE_URL, languageP, languageP,SPUtils.instance().getInt(Const.User.USER_ID))
if (way == 3)
diff --git a/app/src/main/java/com/igo/user/ui/trip/OrderOtherActivity.kt b/app/src/main/java/com/igo/user/ui/trip/OrderOtherActivity.kt
index a7c47ba..5870abd 100644
--- a/app/src/main/java/com/igo/user/ui/trip/OrderOtherActivity.kt
+++ b/app/src/main/java/com/igo/user/ui/trip/OrderOtherActivity.kt
@@ -11,7 +11,7 @@
import android.view.View
import android.widget.EditText
import android.widget.TextView
-import cn.sinata.xldutils.utils.SPUtils
+import cn.sinata.xldutils.utils.LanguageUtil
import cn.sinata.xldutils.utils.myToast
import cn.sinata.xldutils.utils.optString
import com.igo.user.R
@@ -78,7 +78,7 @@
}
}
- val language = SPUtils.instance().getString("language")
+ val language = LanguageUtil.getLanguage()
if (language == Const.Language.CHINESE){
tv_tip.gravity = Gravity.CENTER
tv_rule.typeface = Typeface.DEFAULT
diff --git a/app/src/main/java/com/igo/user/ui/trip/PriceDetailActivity.kt b/app/src/main/java/com/igo/user/ui/trip/PriceDetailActivity.kt
index c01b876..b5f6ab0 100644
--- a/app/src/main/java/com/igo/user/ui/trip/PriceDetailActivity.kt
+++ b/app/src/main/java/com/igo/user/ui/trip/PriceDetailActivity.kt
@@ -6,7 +6,7 @@
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import cn.sinata.xldutils.gone
-import cn.sinata.xldutils.utils.SPUtils
+import cn.sinata.xldutils.utils.LanguageUtil
import cn.sinata.xldutils.visible
import com.igo.user.R
import com.igo.user.network.entity.Order
@@ -138,7 +138,7 @@
val tv_name1 = view1.find<TextView>(R.id.tv_name)
val tv_price1 = view1.find<TextView>(R.id.tv_price)
tv_name1.text = getString(R.string.活动折扣)
- val language = SPUtils.instance().getString("language")
+ val language = LanguageUtil.getLanguage()
tv_price1.text = when(language){
Const.Language.ENGLISH->"${100-(order.discount*10).toInt()}%"
Const.Language.CHINESE->"${order.discount}折"
diff --git a/app/src/main/java/com/igo/user/ui/trip/TripActivity.kt b/app/src/main/java/com/igo/user/ui/trip/TripActivity.kt
index d0f42bb..f34910b 100644
--- a/app/src/main/java/com/igo/user/ui/trip/TripActivity.kt
+++ b/app/src/main/java/com/igo/user/ui/trip/TripActivity.kt
@@ -27,7 +27,7 @@
import cn.sinata.xldutils.activity.BaseActivity
import cn.sinata.xldutils.callPhone
import cn.sinata.xldutils.gone
-import cn.sinata.xldutils.utils.SPUtils
+import cn.sinata.xldutils.utils.LanguageUtil
import cn.sinata.xldutils.utils.SpanBuilder
import cn.sinata.xldutils.utils.myToast
import cn.sinata.xldutils.utils.parserTime
@@ -238,7 +238,7 @@
shareDialog.arguments = bundleOf("isTrip" to true)
shareDialog.setCallback(object :ShareDialog.Callback{
override fun onOk(way: Int) {
- val language = SPUtils.instance().getString("language")
+ val language = LanguageUtil.getLanguage()
val languageP = if (language == Const.Language.CHINESE) 1 else if(language == Const.Language.FRENCH) 3 else 2
val url = String.format(Apis.TRIP_URL,languageP,id.toString(),type,languageP)
if (way == 3)
@@ -921,7 +921,7 @@
* @param isStart true:起点标记 false:终点标记
*/
private fun setMarker(latLon: LatLng, content: CharSequence = "", isStart: Boolean = true) {
- val language = SPUtils.instance().getString("language")
+ val language = LanguageUtil.getLanguage()
if (isStart) {
val ic = when (language) {
Const.Language.ENGLISH -> R.mipmap.starting_point_e
diff --git a/app/src/main/java/com/igo/user/utils/google/AMapKit.kt b/app/src/main/java/com/igo/user/utils/google/AMapKit.kt
index b53b7e9..a09e9f8 100644
--- a/app/src/main/java/com/igo/user/utils/google/AMapKit.kt
+++ b/app/src/main/java/com/igo/user/utils/google/AMapKit.kt
@@ -14,7 +14,7 @@
import android.view.View
import android.widget.Toast
import androidx.core.content.ContextCompat
-import cn.sinata.xldutils.utils.SPUtils
+import cn.sinata.xldutils.utils.LanguageUtil
import com.google.android.gms.common.api.ApiException
import com.google.android.gms.common.util.CollectionUtils.listOf
import com.google.android.gms.maps.CameraUpdateFactory
@@ -325,7 +325,7 @@
onClick: (latLngs: MutableList<LatLng>, lineTance: Float, lineTime: Long) -> Unit
) {
//https://maps.googleapis.com/maps/api/directions/json?origin=39.99709957757345,116.31184045225382&destination=39.949158391497214,116.4154639095068&sensor=false&mode=driving
- var language = SPUtils.instance().getString("language")
+ var language = LanguageUtil.getLanguage()
var centerStr = getPointStr(centerPoint ?: arrayListOf())
var url = "https://maps.googleapis.com/maps/api/directions/json" +
"?origin=" + start.latitude.toString() + "," + start.longitude.toString() +
@@ -362,7 +362,7 @@
onClick: (latLngs: MutableList<LatLng>, lineTance: Float, lineTime: Long) -> Unit
) {
//https://maps.googleapis.com/maps/api/directions/json?origin=39.99709957757345,116.31184045225382&destination=39.949158391497214,116.4154639095068&sensor=false&mode=driving
- var language = SPUtils.instance().getString("language")
+ var language = LanguageUtil.getLanguage()
val client: OkHttpClient = OkHttpClient().newBuilder()
.build()
val mediaType: MediaType = MediaType.parse("text/plain")!!
@@ -458,7 +458,7 @@
lng: Double,
function: ( List<GoogleNearBean2.ResultsBean>) -> Unit
) {
- var language = SPUtils.instance().getString("language")
+ var language = LanguageUtil.getLanguage()
var url = "https://maps.googleapis.com/maps/api/place/nearbysearch/json" +
"?location="+ lat.toString()+","+lng.toString() +
"&radius=1500" +
@@ -480,7 +480,7 @@
*/
fun searchSite(context: Context, content: String?, cityName: String, function: (List<AutocompletePrediction>) -> Unit) {
val placesClient = Places.createClient(context)
- var language = SPUtils.instance().getString("language")
+ var language = LanguageUtil.getLanguage()
val token = AutocompleteSessionToken.newInstance()
// val bounds = RectangularBounds.newInstance(
// LatLng(-33.880490, 151.184363), LatLng(-33.858754, 151.229596))
@@ -525,7 +525,7 @@
* 逆地址编码
*/
fun getAddress(context: Context,lat:Double,lon:Double,function:(String)->Unit) {
- var language = SPUtils.instance().getString("language")
+ var language = LanguageUtil.getLanguage()
var url = "https://maps.googleapis.com/maps/api/geocode/json" +
"?latlng="+ lat.toString() +","+lon.toString() +
"&language="+language+
@@ -539,7 +539,7 @@
}
fun getAddressName(context: Context,lat:Double,lon:Double,function:(String)->Unit) {
- var language = SPUtils.instance().getString("language")
+ var language = LanguageUtil.getLanguage()
var url = "https://maps.googleapis.com/maps/api/geocode/json" +
"?latlng="+ lat.toString() +","+lon.toString() +
"&language="+language+
diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml
index bf75d6e..14da8da 100644
--- a/app/src/main/res/layout/activity_login.xml
+++ b/app/src/main/res/layout/activity_login.xml
@@ -213,7 +213,7 @@
android:layout_height="1px"
android:background="@color/dividing_line_color"
app:layout_constraintEnd_toEndOf="@id/et_phone"
- app:layout_constraintStart_toStartOf="@id/et_phone"
+ app:layout_constraintStart_toStartOf="@id/tv_pwd"
app:layout_constraintTop_toBottomOf="@id/barrier" />
<CheckBox
diff --git a/xldutils-kotlin/src/main/java/cn/sinata/xldutils/activity/BaseActivity.kt b/xldutils-kotlin/src/main/java/cn/sinata/xldutils/activity/BaseActivity.kt
index 423b7e8..95b8df9 100644
--- a/xldutils-kotlin/src/main/java/cn/sinata/xldutils/activity/BaseActivity.kt
+++ b/xldutils-kotlin/src/main/java/cn/sinata/xldutils/activity/BaseActivity.kt
@@ -17,13 +17,11 @@
import cn.sinata.xldutils.R
import cn.sinata.xldutils.rxutils.RequestHelper
import cn.sinata.xldutils.utils.LanguageUtil
-import cn.sinata.xldutils.utils.SPUtils
import cn.sinata.xldutils.utils.myToast
import cn.sinata.xldutils.widget.ProgressDialog
import io.reactivex.disposables.CompositeDisposable
import io.reactivex.disposables.Disposable
import org.jetbrains.anko.AnkoLogger
-import kotlin.system.exitProcess
/**
* 基础activity,包含设置默认强制竖屏显示,广播方式实现关闭全部继承自该activity,并注册了关闭广播的子类
@@ -47,7 +45,7 @@
}
override fun attachBaseContext(newBase: Context?) {
- val language = SPUtils.instance().getString("language")
+ val language = LanguageUtil.getLanguage()
super.attachBaseContext(LanguageUtil.attachBaseContext(newBase, language, ""))
}
diff --git a/xldutils-kotlin/src/main/java/cn/sinata/xldutils/rxutils/Error.kt b/xldutils-kotlin/src/main/java/cn/sinata/xldutils/rxutils/Error.kt
index a031924..4808465 100644
--- a/xldutils-kotlin/src/main/java/cn/sinata/xldutils/rxutils/Error.kt
+++ b/xldutils-kotlin/src/main/java/cn/sinata/xldutils/rxutils/Error.kt
@@ -1,24 +1,24 @@
package cn.sinata.xldutils.rxutils
-import cn.sinata.xldutils.utils.SPUtils
+import cn.sinata.xldutils.utils.LanguageUtil
/**
*
*/
object Error {
- val REQUEST_ERROR = when(SPUtils.instance().getString("language")){
+ val REQUEST_ERROR = when(LanguageUtil.getLanguage()){
"ch","zh"->"请求出错!"
"fr"->"Erreur de demande"
else->"Request Error"
}
val PARSER_ERROR = "Data Parse Error!"
- val NET_ERROR = when(SPUtils.instance().getString("language")){
+ val NET_ERROR = when(LanguageUtil.getLanguage()){
"ch","zh"->"网络异常,请检查您的网络状态!"
"fr"->"Le réseau est anormal, veuillez vérifier l\'état de votre réseau!"
else->"The network is abnormal, please check your network status!"
}
- val SERVER_ERROR = when(SPUtils.instance().getString("language")){
+ val SERVER_ERROR = when(LanguageUtil.getLanguage()){
"ch","zh"->"服务器异常,请稍后再试"
"fr"->"Erreur de serveur, veuillez réessayer plus tard"
else->"Server error, please retry later"
diff --git a/xldutils-kotlin/src/main/java/cn/sinata/xldutils/rxutils/ResultCommonSubscriber.kt b/xldutils-kotlin/src/main/java/cn/sinata/xldutils/rxutils/ResultCommonSubscriber.kt
index 8453352..a11ac8b 100644
--- a/xldutils-kotlin/src/main/java/cn/sinata/xldutils/rxutils/ResultCommonSubscriber.kt
+++ b/xldutils-kotlin/src/main/java/cn/sinata/xldutils/rxutils/ResultCommonSubscriber.kt
@@ -1,7 +1,7 @@
package cn.sinata.xldutils.rxutils
import cn.sinata.xldutils.sysErr
-import cn.sinata.xldutils.utils.SPUtils
+import cn.sinata.xldutils.utils.LanguageUtil
import com.google.gson.JsonSyntaxException
import retrofit2.HttpException
import java.net.ConnectException
@@ -44,7 +44,7 @@
*/
open fun onError(code: Int, msg: String) {
if (msg == "TOKEN_INVALID"){
- _showToast(when(SPUtils.instance().getString("language")){
+ _showToast(when(LanguageUtil.getLanguage()){
"ch","zh"->"您的身份已过期,请重新登录"
"fr"->"Votre identité a expiré, veuillez vous reconnecter"
else->"Your identity has expired, please log in again"
diff --git a/xldutils-kotlin/src/main/java/cn/sinata/xldutils/utils/LanguageUtil.java b/xldutils-kotlin/src/main/java/cn/sinata/xldutils/utils/LanguageUtil.java
index f19d0f1..bb3031a 100644
--- a/xldutils-kotlin/src/main/java/cn/sinata/xldutils/utils/LanguageUtil.java
+++ b/xldutils-kotlin/src/main/java/cn/sinata/xldutils/utils/LanguageUtil.java
@@ -6,11 +6,27 @@
import android.os.Build;
import android.os.LocaleList;
import android.text.TextUtils;
-import android.util.DisplayMetrics;
import java.util.Locale;
public class LanguageUtil {
+ private static String defaultLanguage = "";
+
+ public static void setDefaultLanguage(String language) {
+ defaultLanguage = language;
+ }
+
+ //获取语言
+ public static String getLanguage() {
+ return SPUtils.Companion.instance().getString("language", defaultLanguage);
+ }
+
+ //设置语言
+ public static void saveLanguage(Context context, String language) {
+ SPUtils.Companion.instance().put("language", language).apply();
+ LanguageUtil.changeAppLanguage(context, language, "");
+ }
+
private static Locale getLocaleByLanguage(String language) {
if (TextUtils.isEmpty(language)) {
return Locale.FRENCH;
@@ -46,7 +62,7 @@
* @param context
* @param newLanguage 想要切换的语言类型 比如 Const.Language.ENGLISH ,"zh"
*/
- public static void changeAppLanguage(Context context, String newLanguage, String country) {
+ private static void changeAppLanguage(Context context, String newLanguage, String country) {
if (TextUtils.isEmpty(newLanguage)) {
return;
}
@@ -64,32 +80,5 @@
configuration.locale = locale;
resources.updateConfiguration(configuration, resources.getDisplayMetrics());
}
- }
-
- /**
- * 如果是7.0以下,我们需要调用changeAppLanguage方法,
- * 如果是7.0及以上系统,直接把我们想要切换的语言类型保存在SharedPreferences中,然后重新启动MainActivity即可
- */
- public static void setLanguage(String language, String country, Context appContext) {
- if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) {
- changeAppLanguage(appContext, language, country);
- }
- SPUtils.Companion.instance().put("language", language);
- SPUtils.Companion.instance().put("country", country);
- }
-
-
- public static void set(boolean isEnglish, Context context) {
- Configuration configuration = context.getResources().getConfiguration();
- DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
- if (isEnglish) {
- //设置英文
- configuration.locale = Locale.ENGLISH;
- } else {
- //设置中文
- configuration.locale = Locale.SIMPLIFIED_CHINESE;
- }
- //更新配置
- context.getResources().updateConfiguration(configuration, displayMetrics);
}
}
--
Gitblit v1.7.1