18034727885
2026-04-09 6668460ef703ef6cbc3954ebd60c7fa11990d4c8
更改默认语言为法语
升级版本号
24个文件已修改
327 ■■■■■ 已修改文件
app/build.gradle 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/driver/igotrip/base/Const.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/driver/igotrip/base/MyApplication.kt 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/driver/igotrip/base/MyBaseActivity.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/driver/igotrip/base/OrderTimeOutManager.kt 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/driver/igotrip/base/PublicServiceActivity.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/driver/igotrip/base/gaode/AMapKit.kt 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/driver/igotrip/base/gaode/gpsnav/util/SystemTTS.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/driver/igotrip/bean/AllCityBean.kt 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/driver/igotrip/bean/websocket/HeartBean.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/driver/igotrip/netUtls/HttpManager.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/driver/igotrip/ui/UiUtil.kt 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/driver/igotrip/ui/main/ChangPhoneActivity.kt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/driver/igotrip/ui/main/MainActivity.kt 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/driver/igotrip/ui/main/small_cargo/SmallCargoActivity.kt 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/driver/igotrip/ui/mine/ChangePhoneOneActivity.kt 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/driver/igotrip/ui/mine/SafeVerifyActivity.kt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/driver/igotrip/ui/mine/setting/LanghActivity.kt 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/driver/igotrip/ui/pub/LoginActivity.kt 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/driver/igotrip/ui/pub/StartActivity.kt 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/driver/igotrip/utils/LanguageManager.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/driver/igotrip/utils/LanguageUtil.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/driver/igotrip/utils/UtilKt.kt 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xldUtils/src/main/java/cn/sinata/xldutils/utils/SPUtils.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/build.gradle
@@ -29,8 +29,8 @@
        applicationId "com.driver.goposttrip"
        minSdkVersion 23
        targetSdkVersion 35
        versionCode 38
        versionName "1.5.9"
        versionCode 40
        versionName "1.6.1"
        multiDexEnabled true
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
app/src/main/java/com/driver/igotrip/base/Const.java
@@ -12,7 +12,7 @@
    public static String endpoint = "https://obs.af-south-1.myhuaweicloud.com";
    public static String accessKey = "RGQE7AADCGJB1TINX14N";
    public static String accessKeySecret = "oCaIH0CzUB02mTt2gDinMP5SybdrzuBP78UPZd3X";
    public static String bucketName="i-go";
    public static String bucketName = "i-go";
    public static String google_key = "AIzaSyCG6PsfkaCEc94VK2vIAZk1YYKvOS_Ewts";
@@ -35,7 +35,19 @@
            , Manifest.permission.SYSTEM_ALERT_WINDOW // 后台跳转activity所需权限
    };
    /**
     * 语言
     */
    public interface Language {
        //英语
        String ENGLISH = "en";
        //法语
        String FRENCH = "fr";
        //汉语
        String CHINESE = "ch";
        //默认语言
        String DEFAULT_LANGUAGE = FRENCH;
    }
    public static class GoogleDriver {
app/src/main/java/com/driver/igotrip/base/MyApplication.kt
@@ -1,16 +1,19 @@
package com.driver.igotrip.base
//import cn.jpush.android.api.JPushInterface
//import cn.jpush.android.api.TagAliasCallback
//import com.tencent.bugly.crashreport.CrashReport
//import com.umeng.commonsdk.UMConfigure
//import com.umeng.socialize.PlatformConfig
import android.annotation.SuppressLint
import android.app.Activity
import android.app.Application
import android.content.Context
import android.content.Intent
import android.os.*
import android.text.TextUtils
import android.util.Log
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
//import cn.jpush.android.api.JPushInterface
//import cn.jpush.android.api.TagAliasCallback
import cn.sinata.rxnetty.LogHelper.initLogs
import cn.sinata.rxnetty.LogHelper.logRecord
import cn.sinata.rxnetty.NettyClient
@@ -23,21 +26,17 @@
import com.driver.igotrip.bean.OrderSimpleData
import com.driver.igotrip.bean.websocket.HeartBean
import com.driver.igotrip.netUtls.*
import com.driver.igotrip.ui.main.TripActivity
import com.driver.igotrip.ui.main.small_cargo.SmallCargoActivity
import com.driver.igotrip.ui.pub.LoginActivity
import com.driver.igotrip.utils.AudioRecoderUtils
import com.driver.igotrip.utils.Cache.CacheKey
import com.driver.igotrip.utils.Cache.CacheUtil
import com.driver.igotrip.utils.LanguageManager
import com.driver.igotrip.utils.LanguageSP
import com.driver.igotrip.utils.LogUtils
import com.google.android.gms.maps.model.LatLng
import com.google.cloud.texttospeech.v1.*
import com.google.gson.Gson
import com.google.protobuf.ByteString
//import com.tencent.bugly.crashreport.CrashReport
//import com.umeng.commonsdk.UMConfigure
//import com.umeng.socialize.PlatformConfig
import com.xuexiang.xui.XUI
import org.greenrobot.eventbus.EventBus
import org.jetbrains.anko.startActivity
@@ -72,6 +71,7 @@
        appContext = this
//        Places.initialize(applicationContext, Const.google_key)
//        handleSSLHandshake()
        setDefaultLanguage()
        //如果是主进程
        XUI.init(this)
//        UMConfigure.init(
@@ -93,14 +93,20 @@
        setAlisa()
    }
    override fun attachBaseContext(base: Context?) {
        var language = SPUtils.getString("language")
        // super.attachBaseContext(LanguageUtil.changeAppLanguage(base, language, ""))
        super.attachBaseContext(LanguageManager.wrapContext(base))
    //设置默认语言
    private fun setDefaultLanguage() {
        val language = SPUtils.getString(Const.language)
        if (TextUtils.isEmpty(language)) {
            SPUtils.save(Const.language, Const.Language.DEFAULT_LANGUAGE)
            val appLa = when (Const.Language.DEFAULT_LANGUAGE) {
                Const.Language.FRENCH -> LanguageSP.LanguageConst.FR_FR
                Const.Language.CHINESE -> LanguageSP.LanguageConst.ZH_CN
                else -> LanguageSP.LanguageConst.EN_US
            }
            // 保存新语言到 SP
            LanguageSP.saveLanguage(this, appLa)
        }
    }
    public fun setAlisa() {
        if (CacheKey.getUserId().isNotEmpty()) {
@@ -516,7 +522,7 @@
        }
    }
    private fun getOrderWhenNoSocket(){
    private fun getOrderWhenNoSocket() {
        Log.e("sendLocation: ", "定时获取司机订单数据" + (getUserId() != -1).toString())
        if (getUserId() != -1) {
            val map = getMapByAny()
@@ -530,7 +536,10 @@
    }
    private fun sendLocation() {
        Log.e("sendLocation: ", "发送定位 userId = ${getUserId()}, aMapLocation = ${Gson().toJson(aMapLocation)}")
        Log.e(
            "sendLocation: ",
            "发送定位 userId = ${getUserId()}, aMapLocation = ${Gson().toJson(aMapLocation)}"
        )
        if (getUserId() != -1 && aMapLocation != null) {
            val map = getMapByAny()
            map["orderId"] = currentOrderId
app/src/main/java/com/driver/igotrip/base/MyBaseActivity.java
@@ -80,11 +80,6 @@
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
//        String language =  SPUtils.getString("language");
//        String country =  SPUtils.getString("country");
//        if (language != null) {
//            LanguageUtil.changeAppLanguage(this,language,country);
//        }
        initParam();
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
        EventBus.getDefault().register(this);
@@ -134,24 +129,6 @@
            easyPopup.showCenter(getWindow().getDecorView());
        }
    };
//    @Override
//    protected void attachBaseContext(Context newBase) {
//        String language = SPUtils.getString("language");
//        String country = SPUtils.getString("country");
//        super.attachBaseContext(LanguageUtil.attachBaseContext(newBase, language, ""));
//    }
    @Override
    protected void attachBaseContext(Context newBase) {
        String langh = SPUtils.getString(Const.language);
        if (langh.isEmpty())
            langh = "en";
        Context context = LanguageUtil.changeAppLanguage(newBase, langh, "");
        //super.attachBaseContext(context);
        super.attachBaseContext(LanguageManager.wrapContext(newBase));
    }
    public void closePop() {
        if (easyPopup != null) {
app/src/main/java/com/driver/igotrip/base/OrderTimeOutManager.kt
@@ -133,13 +133,13 @@
//    fun getTypeByLanguage(): String {
//        val lang = SPUtils.getString(Const.language)
//        var type = 0
//        if (lang == null || lang.isEmpty() || lang == "ch" || lang == "zh") {
//        if (lang == null || lang.isEmpty() || lang == Const.Language.CHINESE || lang == "zh") {
//            type = 1
//        }
//        if (lang == "en") {
//        if (lang == Const.Language.ENGLISH) {
//            type = 2
//        }
//        if (lang == "fr") {
//        if (lang == Const.Language.FRENCH) {
//            type = 3
//        }
//        return if (type == 1) "cmn-CN" else if (type == 2) "en-US" else "fr-FR"
app/src/main/java/com/driver/igotrip/base/PublicServiceActivity.java
@@ -5,19 +5,17 @@
import android.os.Handler;
import com.driver.igotrip.ui.main.CancelOrderFragment;
import com.driver.igotrip.ui.main.DriverPayFragment;
import com.driver.igotrip.ui.main.ForceOfflineFragment;
import com.driver.igotrip.ui.main.GetOrderFragment;
import com.driver.igotrip.ui.main.GoOrderTipsFragment;
import com.driver.igotrip.ui.main.DriverPayFragment;
import com.driver.igotrip.ui.main.ModifyAddressFragment;
import com.driver.igotrip.ui.main.TimeOutCancelOrderFragment;
import com.driver.igotrip.ui.main.TipsFragment;
import com.driver.igotrip.ui.main.TripActivity;
import com.driver.igotrip.utils.LanguageManager;
import com.driver.igotrip.utils.LanguageUtil;
import cn.sinata.xldutils.activitys.BaseActivity;
import cn.sinata.xldutils.utils.SPUtils;
public class PublicServiceActivity extends BaseActivity {
@@ -43,10 +41,6 @@
    @Override
    protected void attachBaseContext(Context newBase) {
        String langh = SPUtils.getString(Const.language);
        if (langh.isEmpty())
            langh = "en";
        Context context = LanguageUtil.changeAppLanguage(newBase, langh, "");
        super.attachBaseContext(LanguageManager.wrapContext(newBase));
    }
@@ -79,7 +73,7 @@
     * @param timeOut
     * @param cancelPayMoney
     */
    public void cancelOrder(String cancelBy,String audioUrl, String orderId, String orderType, Long timeOut, String cancelPayMoney) {
    public void cancelOrder(String cancelBy, String audioUrl, String orderId, String orderType, Long timeOut, String cancelPayMoney) {
        new Handler(getMainLooper()).post(() -> {
            MyApplication.Companion.getTTsManager().setVideoText(audioUrl);
            Intent intent = new Intent(MyApplication.Companion.getInstance(), TimeOutCancelOrderFragment.class);
@@ -163,7 +157,7 @@
        });
    }
    public void showDriverPayDialog(String audioUrl,String orderId, String orderType, double money) {
    public void showDriverPayDialog(String audioUrl, String orderId, String orderType, double money) {
        new Handler(getMainLooper()).post(() -> {
//            DialogUtil.INSTANCE.getDelAndSureDialog(this, getString(R.string.支付), getString(R.string.关闭),
//                    getString(R.string.您有一笔待支付的订单), () -> null, () -> {
app/src/main/java/com/driver/igotrip/base/gaode/AMapKit.kt
@@ -374,10 +374,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.getString("language")
        if (language.isEmpty()) {
            language = "en"
        }
        var language = SPUtils.getString(Const.language)
        var centerStr = getPointStr(centerPoint ?: arrayListOf())
        var url = "https://maps.googleapis.com/maps/api/directions/json" +
                "?origin=" + start.latitude.toString() + "," + start.longitude.toString() +
@@ -466,10 +463,7 @@
        lng: Double,
        function: (List<GoogleNearBean2.ResultsBean>) -> Unit
    ) {
        var language = SPUtils.getString("language")
        if (language.isEmpty()) {
            language = "en"
        }
        var language = SPUtils.getString(Const.language)
        var url = "https://maps.googleapis.com/maps/api/place/nearbysearch/json" +
                "?location=" + lat.toString() + "," + lng.toString() +
                "&radius=1500" +
@@ -491,9 +485,9 @@
//     */
//    fun searchSite(context: Context, content: String?, cityName: String, function: (List<AutocompletePrediction>) -> Unit) {
//        val placesClient = Places.createClient(context)
//        var language = SPUtils.getString("language")
//        var language = SPUtils.getString(Const.language)
//        if (language.isEmpty()){
//            language = "en"
//            language = Const.Language.ENGLISH
//        }
//        val token = AutocompleteSessionToken.newInstance()
////        val bounds = RectangularBounds.newInstance(
@@ -539,10 +533,7 @@
     * 逆地址编码
     */
    fun getAddress(context: Context, lat: Double, lon: Double, function: (String) -> Unit) {
        var language = SPUtils.getString("language")
        if (language.isEmpty()) {
            language = "en"
        }
        var language = SPUtils.getString(Const.language)
        var url = "https://maps.googleapis.com/maps/api/geocode/json" +
                "?latlng=" + lat.toString() + "," + lon.toString() +
                "&language=" + language +
@@ -557,10 +548,7 @@
    }
    fun getAddressName(context: Context, lat: Double, lon: Double, function: (String) -> Unit) {
        var language = SPUtils.getString("language")
        if (language.isEmpty()) {
            language = "en"
        }
        var language = SPUtils.getString(Const.language)
        var url = "https://maps.googleapis.com/maps/api/geocode/json" +
                "?latlng=" + lat.toString() + "," + lon.toString() +
                "&language=" + language +
app/src/main/java/com/driver/igotrip/base/gaode/gpsnav/util/SystemTTS.java
@@ -7,6 +7,8 @@
import android.speech.tts.UtteranceProgressListener;
import android.util.Log;
import com.driver.igotrip.base.Const;
import java.util.Locale;
import cn.sinata.xldutils.utils.SPUtils;
@@ -39,11 +41,8 @@
            public void onInit(int i) {
                //系统语音初始化成功
                if (i == TextToSpeech.SUCCESS) {
                    String language = SPUtils.getString("language");
                    if (language.isEmpty()){
                        language = "en";
                    }
                    Locale locale = language.equals("en") ? Locale.ENGLISH : language.equals("fr") ? Locale.FRENCH : Locale.CHINA;
                    String language = SPUtils.getString(Const.language);
                    Locale locale = language.equals(Const.Language.ENGLISH) ? Locale.ENGLISH : language.equals(Const.Language.FRENCH) ? Locale.FRENCH : Locale.CHINA;
                    Log.e("SystemTTS","current:"+locale.getLanguage());
                    int result = textToSpeech.setLanguage(locale);
                    textToSpeech.setPitch(1.0f);// 设置音调,值越大声音越尖(女生),值越小则变成男声,1.0是常规
app/src/main/java/com/driver/igotrip/bean/AllCityBean.kt
@@ -20,13 +20,13 @@
        var id: Int? = null
        fun getName(): String {
            var la = SPUtils.getString(Const.language)
            if (la == "en") {
            if (la == Const.Language.ENGLISH) {
                return englishName ?: ""
            }
            if (la == "ch") {
            if (la == Const.Language.CHINESE) {
                return chineseName ?: ""
            }
            if (la == "fr") {
            if (la == Const.Language.FRENCH) {
                return frenchName ?: ""
            }
            return frenchName ?: ""
@@ -34,13 +34,13 @@
        override fun toString(): String {
            var la = SPUtils.getString(Const.language)
            if (la == "en") {
            if (la == Const.Language.ENGLISH) {
                return englishName ?: ""
            }
            if (la == "ch") {
            if (la == Const.Language.CHINESE) {
                return chineseName ?: ""
            }
            if (la == "fr") {
            if (la == Const.Language.FRENCH) {
                return frenchName ?: ""
            }
            return frenchName ?: ""
app/src/main/java/com/driver/igotrip/bean/websocket/HeartBean.java
@@ -66,13 +66,13 @@
    public static int getTypeByLanguage() {
        String lang = SPUtils.getString(Const.language);
        int type = 0;
        if (lang == null || lang.isEmpty() || lang.equals("en")){
        if (lang == null || lang.isEmpty() || lang.equals(Const.Language.ENGLISH)){
            type = 2;
        }
        else if (lang.equals("ch") || lang.equals("zh")){
        else if (lang.equals(Const.Language.CHINESE) || lang.equals("zh")){
            type = 1;
        }
        else if (lang.equals("fr")){
        else if (lang.equals(Const.Language.FRENCH)){
            type = 3;
        }
        return type;
app/src/main/java/com/driver/igotrip/netUtls/HttpManager.java
@@ -176,15 +176,15 @@
    public static int getTypeByLanguage() {
        String lang = SPUtils.getString(Const.language);
        String lang = SPUtils.getString(Const.language, Const.Language.DEFAULT_LANGUAGE);
        int type = 0;
        if (lang == null || lang.isEmpty() || lang.equals("en")){
        if (lang == null || lang.isEmpty() || lang.equals(Const.Language.ENGLISH)){
            type = 2;
        }
        else if (lang.equals("ch") || lang.equals("zh")){
        else if (lang.equals(Const.Language.CHINESE) || lang.equals("zh")){
            type = 1;
        }
        else if (lang.equals("fr")){
        else if (lang.equals(Const.Language.FRENCH)){
            type = 3;
        }
        return type;
app/src/main/java/com/driver/igotrip/ui/UiUtil.kt
@@ -53,9 +53,9 @@
    fun getLangStartBitmap(): Int {
        var langh = SPUtils.getString(Const.language)
        when (langh) {
            "ch" -> return R.mipmap.starting_point
            "en" -> return R.mipmap.starting_point_en
            "fr" -> return R.mipmap.starting_point_en
            Const.Language.CHINESE -> return R.mipmap.starting_point
            Const.Language.ENGLISH -> return R.mipmap.starting_point_en
            Const.Language.FRENCH -> return R.mipmap.starting_point_en
        }
        return R.mipmap.starting_point
    }
@@ -63,9 +63,9 @@
    fun getFrozenBitmap(): Int {
        var langh = SPUtils.getString(Const.language)
        when (langh) {
            "ch" -> return R.mipmap.yidongjie_cn
            "en" -> return R.mipmap.yidongjie_en
            "fr" -> return R.mipmap.yidongjie_fr
            Const.Language.CHINESE -> return R.mipmap.yidongjie_cn
            Const.Language.ENGLISH -> return R.mipmap.yidongjie_en
            Const.Language.FRENCH -> return R.mipmap.yidongjie_fr
        }
        return R.mipmap.yidongjie_en
    }
@@ -73,9 +73,9 @@
    fun getLangResereveBitmap(): Int {
        var langh = SPUtils.getString(Const.language)
        when (langh) {
            "ch" -> return R.mipmap.trip_yuyue
            "en" -> return R.mipmap.trip_yuyue_en
            "fr" -> return R.mipmap.trip_yuyue_en
            Const.Language.CHINESE -> return R.mipmap.trip_yuyue
            Const.Language.ENGLISH -> return R.mipmap.trip_yuyue_en
            Const.Language.FRENCH -> return R.mipmap.trip_yuyue_en
        }
        return R.mipmap.trip_yuyue
@@ -84,9 +84,9 @@
    fun getLangEndBitmap(): Int {
        var langh = SPUtils.getString(Const.language)
        when (langh) {
            "ch" -> return R.mipmap.end_point
            "en" -> return R.mipmap.end_point_en
            "fr" -> return R.mipmap.end_point_in
            Const.Language.CHINESE -> return R.mipmap.end_point
            Const.Language.ENGLISH -> return R.mipmap.end_point_en
            Const.Language.FRENCH -> return R.mipmap.end_point_in
        }
        return R.mipmap.end_point
@@ -96,9 +96,9 @@
    fun getLangDJBitmap(): Int {
        var langh = SPUtils.getString(Const.language)
        when (langh) {
            "ch" -> return R.mipmap.yidongjie_cn
            "en" -> return R.mipmap.yidongjie_en
            "fr" -> return R.mipmap.yidongjie_fr
            Const.Language.CHINESE -> return R.mipmap.yidongjie_cn
            Const.Language.ENGLISH -> return R.mipmap.yidongjie_en
            Const.Language.FRENCH -> return R.mipmap.yidongjie_fr
        }
        return R.mipmap.yidongjie_cn
@@ -108,9 +108,9 @@
    fun getLangJSBitmap(): Int {
        var langh = SPUtils.getString(Const.language)
        when (langh) {
            "ch" -> return R.mipmap.yijiesuan_cn
            "en" -> return R.mipmap.yijiesuan_en
            "fr" -> return R.mipmap.yijiesuan_fr
            Const.Language.CHINESE -> return R.mipmap.yijiesuan_cn
            Const.Language.ENGLISH -> return R.mipmap.yijiesuan_en
            Const.Language.FRENCH -> return R.mipmap.yijiesuan_fr
        }
        return R.mipmap.yijiesuan_cn
app/src/main/java/com/driver/igotrip/ui/main/ChangPhoneActivity.kt
@@ -115,7 +115,7 @@
    override fun initView() {
//        recaptcha = RecaptchaVisual(supportFragmentManager, WEB_SITE_KEY, BASE_URL)
        val lang = SPUtils.getString(Const.language)
        if (lang == "fr") {
        if (lang == Const.Language.FRENCH) {
            et_login_code_send.setTextSize(TypedValue.COMPLEX_UNIT_SP, 11f)
            et_login_code.setTextSize(TypedValue.COMPLEX_UNIT_SP, 11f)
            et_login_phone.setTextSize(TypedValue.COMPLEX_UNIT_SP, 11f)
app/src/main/java/com/driver/igotrip/ui/main/MainActivity.kt
@@ -527,7 +527,7 @@
     */
    private fun getFormantDay(time: Long): String {
        val language = SPUtils.getString(Const.language)
        return if (language == "en") time.toTimeEnglish() else if (language == "fr") time.toTimeFrench() else time.toTime(
        return if (language == Const.Language.ENGLISH) time.toTimeEnglish() else if (language == Const.Language.FRENCH) time.toTimeFrench() else time.toTime(
            "MM月dd日"
        )
    }
@@ -657,14 +657,14 @@
        val content: String
        val warn: String
        when (l) {
            "fr" -> {
            Const.Language.FRENCH -> {
                sure = getString(R.string.充值)
                cancel = "Fermer"
                warn = "Rappel"
                content = "Solde inférieur à $min xifa, s'il vous plaît recharger d'abord"
            }
            "ch", "zh" -> {
            Const.Language.CHINESE, "zh" -> {
                sure = getString(R.string.充值)
                cancel = "关闭"
                warn = "提示"
@@ -697,13 +697,13 @@
        val msg:String
        val warn:String
        when(l){
            "fr"->{
            Const.Language.FRENCH->{
                pay = "Payer"
                off = "Fermer"
                warn = "Rappel"
                msg = "Vous avez des frais de règlement en attente de paiement, vous ne pouvez recevoir des commandes qu’après paiement, veuillez payer dès que possible"
            }
            "ch","zh"->{
            Const.Language.CHINESE,"zh"->{
                pay = "支付"
                off = "关闭"
                warn = "提示"
app/src/main/java/com/driver/igotrip/ui/main/small_cargo/SmallCargoActivity.kt
@@ -15,6 +15,7 @@
import com.google.android.gms.maps.model.Marker
import com.driver.igotrip.R
import com.driver.igotrip.base.BaseEvent
import com.driver.igotrip.base.Const
import com.driver.igotrip.base.MyApplication
import com.driver.igotrip.base.MyBaseActivity
import com.driver.igotrip.base.OrderTimeOutManager
@@ -112,11 +113,8 @@
        onclick()
        addSockectCancel()
        var language = SPUtils.getString("language")
        if (language.isEmpty()){
            language = "en"
        }
        if (language == "en" || language == "fr")
        var language = SPUtils.getString(Const.language)
        if (language == Const.Language.ENGLISH || language == Const.Language.FRENCH)
            btn_gap_money.setTextSize(TypedValue.COMPLEX_UNIT_SP,12f)
        else
            btn_gap_money.setTextSize(TypedValue.COMPLEX_UNIT_SP,14f)
app/src/main/java/com/driver/igotrip/ui/mine/ChangePhoneOneActivity.kt
@@ -50,7 +50,7 @@
    override fun initView() {
        setTitleText(getString(R.string.修改手机号))
        val lang = SPUtils.getString(Const.language)
        if (lang == "fr") {
        if (lang == Const.Language.FRENCH) {
            tv_title.setTextSize(TypedValue.COMPLEX_UNIT_SP,12f)
        }
        showPhone()
@@ -83,7 +83,7 @@
            val view_hint_close_car = view.find<View>(R.id.view_hint_close_car)
            val tv_operator = view.find<TextView>(R.id.tv_operator)
            val tv_sure_car_num = view.find<TextView>(R.id.tv_sure_car_num)
            if (lang == "fr") {
            if (lang == Const.Language.FRENCH) {
                et_login_code_send.setTextSize(TypedValue.COMPLEX_UNIT_SP,11f)
                et_login_code.setTextSize(TypedValue.COMPLEX_UNIT_SP,11f)
                et_login_phone.setTextSize(TypedValue.COMPLEX_UNIT_SP,11f)
app/src/main/java/com/driver/igotrip/ui/mine/SafeVerifyActivity.kt
@@ -53,7 +53,7 @@
    override fun initView() {
        setTitleText(getString(R.string.安全验证))
        val lang = SPUtils.getString(Const.language)
        if (lang == "fr") {
        if (lang == Const.Language.FRENCH) {
            et_login_pwd.setTextSize(TypedValue.COMPLEX_UNIT_SP,12f)
            et_login_code_send.setTextSize(TypedValue.COMPLEX_UNIT_SP,12f)
        }
app/src/main/java/com/driver/igotrip/ui/mine/setting/LanghActivity.kt
@@ -43,10 +43,10 @@
    override fun setOnclick() {
        tv_china.clickDelay {
            DialogUtil.getDelAndSureDialog(this, getString(R.string.确定切换语言吗), {}) {
                /*  SPUtils.save(Const.language,"ch")
                /*  SPUtils.save(Const.language,Const.Language.CHINESE)
                  changeServerLanguage()
                  LanguageUtil.changeAppLanguage(this,"ch","")*/
                SPUtils.save("language", "ch")
                  LanguageUtil.changeAppLanguage(this,Const.Language.CHINESE,"")*/
                SPUtils.save(Const.language, Const.Language.CHINESE)
                LanguageManager.switchLanguage(
                    this,
@@ -62,11 +62,11 @@
        tv_en.clickDelay {
            DialogUtil.getDelAndSureDialog(this, getString(R.string.确定切换语言吗), {}) {
                /*  SPUtils.save(Const.language,"en")
                /*  SPUtils.save(Const.language,Const.Language.ENGLISH)
                  changeServerLanguage()
                  LanguageUtil.changeAppLanguage(this,"en","")
                  LanguageUtil.changeAppLanguage(this,Const.Language.ENGLISH,"")
                  LanguageUtil.reApp(this)*/
                SPUtils.save("language", "en")
                SPUtils.save(Const.language, Const.Language.ENGLISH)
                LanguageManager.switchLanguage(
                    this,
                    LanguageConst.EN_US,
@@ -80,11 +80,11 @@
        tv_fr.clickDelay {
            DialogUtil.getDelAndSureDialog(this, getString(R.string.确定切换语言吗), {}) {
                /* SPUtils.save(Const.language,"fr")
                /* SPUtils.save(Const.language,Const.Language.FRENCH)
                 changeServerLanguage()
                 LanguageUtil.changeAppLanguage(this,"fr","")
                 LanguageUtil.changeAppLanguage(this,Const.Language.FRENCH,"")
                 LanguageUtil.reApp(this)*/
                SPUtils.save("language", "fr")
                SPUtils.save(Const.language, Const.Language.FRENCH)
                LanguageManager.switchLanguage(
                    this,
                    LanguageConst.FR_FR,
@@ -99,20 +99,20 @@
    private fun changeServerLanguage(call: (() -> Unit)) {
        val mapByAny = getMapByAny()
        mapByAny["language"] = getTypeByLanguage()
        mapByAny[Const.language] = getTypeByLanguage()
        callNet(Api.editLanguage, mapByAny) { call.invoke() }
    }
    fun getTypeByLanguage(): Int {
        /*  val lang = SPUtils.getString(Const.language)
          var type = 0
          if (lang == null || lang.isEmpty() || lang == "ch" || lang == "zh") {
          if (lang == null || lang.isEmpty() || lang == Const.Language.CHINESE || lang == "zh") {
              type = 1
          }
          if (lang == "en") {
          if (lang == Const.Language.ENGLISH) {
              type = 2
          }
          if (lang == "fr") {
          if (lang == Const.Language.FRENCH) {
              type = 3
          }*/
@@ -135,10 +135,10 @@
        tv_china.setDrawableNull()
        tv_fr.setDrawableNull()
        /*var langh = SPUtils.getString(Const.language)
        if (langh.isNullOrEmpty() || langh == "ch" || langh == "zh") {
        if (langh.isNullOrEmpty() || langh == Const.Language.CHINESE || langh == "zh") {
            tv_china.setDrawableRight(R.mipmap.icon_raidobutton_selected_langh)
        }
        if (langh == "en") {
        if (langh == Const.Language.ENGLISH) {
            tv_en.setDrawableRight(R.mipmap.icon_raidobutton_selected_langh)
        }
        if (langh == "in") {
app/src/main/java/com/driver/igotrip/ui/pub/LoginActivity.kt
@@ -60,14 +60,14 @@
//        toast(MyUtils.getInstans().getUuid(this))
        et_login_phone.setText("")
        /*iv_logo.clickDelay {
            var lang = SPUtils.getString("language")
            if (lang.isNullOrEmpty() || lang == "ch"){
                SPUtils.save("language","en")
                LanguageUtil.changeAppLanguage(this,"en","")
            var lang = SPUtils.getString(Const.language)
            if (lang.isNullOrEmpty() || lang == Const.Language.CHINESE){
                SPUtils.save(Const.language,Const.Language.ENGLISH)
                LanguageUtil.changeAppLanguage(this,Const.Language.ENGLISH,"")
                LanguageUtil.reApp(this)
            }else{
                SPUtils.save("language","ch")
                LanguageUtil.changeAppLanguage(this,"ch","")
                SPUtils.save(Const.language,Const.Language.CHINESE)
                LanguageUtil.changeAppLanguage(this,Const.Language.CHINESE,"")
                LanguageUtil.reApp(this)
            }
        }*/
app/src/main/java/com/driver/igotrip/ui/pub/StartActivity.kt
@@ -4,11 +4,7 @@
import android.os.Bundle
import android.util.Log
import android.widget.ImageView
import androidx.core.app.ActivityCompat
import cn.sinata.xldutils.utils.SPUtils
import com.driver.igotrip.R
import com.driver.igotrip.base.BaseEvent
import com.driver.igotrip.base.Const
import com.driver.igotrip.base.MyBaseActivity
import com.driver.igotrip.netUtls.getToken
import com.driver.igotrip.ui.main.MainActivity
@@ -16,33 +12,27 @@
import com.twitter.sdk.android.core.Twitter
import com.twitter.sdk.android.core.TwitterAuthConfig
import com.twitter.sdk.android.core.TwitterConfig
import org.greenrobot.eventbus.EventBus
import org.jetbrains.anko.find
import org.jetbrains.anko.startActivity
import java.util.*
class StartActivity : MyBaseActivity() {
    override fun setContentView() {
        setContentView(R.layout.activity_start)
    }
    private val iv by lazy { find<ImageView>(R.id.iv) }
    override fun initView() {
        showHeader(false)
        showTitle(false)
        var language = SPUtils.getString("language")
        if (language.isEmpty()){
            val locale: Locale = resources.configuration.locale
            var systemLang = locale.language
            if (systemLang == "en" || systemLang == "ch" || systemLang == "fr"){
                SPUtils.save("language", systemLang)
            }else{
                SPUtils.save("language", "ch")
            }
        }
        val build = TwitterConfig.Builder(this)
            .logger(DefaultLogger(Log.DEBUG))
            .twitterAuthConfig(TwitterAuthConfig("FBddBQ492ZHOkaDslZ075mhMr", "U5d2i6WHH5FVH5yvHK7gtrPanVwnqytGOoLiZx0ZpKYkl88G2H"))
            .twitterAuthConfig(
                TwitterAuthConfig(
                    "FBddBQ492ZHOkaDslZ075mhMr",
                    "U5d2i6WHH5FVH5yvHK7gtrPanVwnqytGOoLiZx0ZpKYkl88G2H"
                )
            )
            .debug(true).build()
        Twitter.initialize(build)
    }
@@ -52,13 +42,13 @@
        super.onCreate(savedInstanceState)
        iv.postDelayed({
            callLast()
        },500)
        }, 500)
    }
    private fun callLast() {
        if (getToken().isNullOrEmpty()){
        if (getToken().isNullOrEmpty()) {
            startActivity<LoginActivity>()
        }else{
        } else {
            startActivity<MainActivity>()
        }
    }
app/src/main/java/com/driver/igotrip/utils/LanguageManager.java
@@ -57,7 +57,7 @@
        }
        String[] parts = language.split("-");
        if (parts.length == 1) {
            return new Locale(parts[0]); // 如 "en" -> Locale("en")
            return new Locale(parts[0]); // 如 Const.Language.ENGLISH -> Locale(Const.Language.ENGLISH)
        } else {
            return new Locale(parts[0], parts[1]); // 如 "zh-CN" -> Locale("zh", "CN")
        }
app/src/main/java/com/driver/igotrip/utils/LanguageUtil.java
@@ -13,6 +13,7 @@
import android.util.DisplayMetrics;
import android.util.Log;
import com.driver.igotrip.base.Const;
import com.driver.igotrip.base.MyApplication;
import com.driver.igotrip.ui.pub.StartActivity;
@@ -36,7 +37,7 @@
    private static Context updateResources(Context context, String language, String country) {
        Resources resources = context.getResources();
        Locale locale = new Locale(language);
        if (language.equals("ch") || language.equals("")) {
        if (language.equals(Const.Language.CHINESE) || language.equals("")) {
            locale = Locale.CHINA;
        }
        Configuration configuration = resources.getConfiguration();
@@ -55,7 +56,7 @@
    /**
     * @param context
     * @param newLanguage 想要切换的语言类型 比如 "en" ,"zh"
     * @param newLanguage 想要切换的语言类型 比如 Const.Language.ENGLISH ,"zh"
     */
    @SuppressWarnings("deprecation")
    public static Context changeAppLanguage(Context context, String newLanguage, String country) {
@@ -67,7 +68,7 @@
        //获取想要切换的语言类型
        Locale locale = new Locale(newLanguage, country);
        configuration.setLocale(locale);
        if (newLanguage.equals("ch")) {
        if (newLanguage.equals(Const.Language.CHINESE)) {
            configuration.setLocale(Locale.CHINA);
        }
        Locale.setDefault(locale);
@@ -89,7 +90,7 @@
        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) {
            LanguageUtil.changeAppLanguage(appContext, language, country);
        }
        SPUtils.save("language", language);
        SPUtils.save(Const.language, language);
        SPUtils.save("country", country);
    }
app/src/main/java/com/driver/igotrip/utils/UtilKt.kt
@@ -339,7 +339,7 @@
//    val l = SPUtils.getString(Const.language)
//    val week = DateUtil.getWeek(context, System.currentTimeMillis())
//    when(l){
//        "en"->{
//        Const.Language.ENGLISH->{
//            return "${week,}"
//        }
//    }
@@ -352,7 +352,7 @@
//    val month = calendar.get(Calendar.MONTH)
//
//    when(l){
//        "en"->{
//        Const.Language.ENGLISH->{
//            return ""
//        }
//    }
xldUtils/src/main/java/cn/sinata/xldutils/utils/SPUtils.java
@@ -2,8 +2,10 @@
import android.content.Context;
import android.content.SharedPreferences;
import cn.sinata.xldutils.xldUtils;
import java.util.Map;
import cn.sinata.xldutils.xldUtils;
/**
 *
@@ -100,6 +102,17 @@
    }
    /**
     * 获取存储的字符型数据
     *
     * @param key          键
     * @param defaultValue 默认值
     * @return value
     */
    public static String getString(String key, String defaultValue) {
        return sp == null ? defaultValue : sp.getString(key, defaultValue);
    }
    /**
     * 获取存储的布尔型数据
     * @param key 键
     * @return value