| | |
| | | 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" |
| | | |
| | |
| | | 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"; |
| | | |
| | |
| | | , 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 { |
| | |
| | | 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 |
| | |
| | | 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 |
| | |
| | | appContext = this |
| | | // Places.initialize(applicationContext, Const.google_key) |
| | | // handleSSLHandshake() |
| | | setDefaultLanguage() |
| | | //如果是主进程 |
| | | XUI.init(this) |
| | | // UMConfigure.init( |
| | |
| | | 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()) { |
| | |
| | | } |
| | | } |
| | | |
| | | private fun getOrderWhenNoSocket(){ |
| | | private fun getOrderWhenNoSocket() { |
| | | Log.e("sendLocation: ", "定时获取司机订单数据" + (getUserId() != -1).toString()) |
| | | if (getUserId() != -1) { |
| | | val map = getMapByAny() |
| | |
| | | } |
| | | |
| | | 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 |
| | |
| | | @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); |
| | |
| | | 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) { |
| | |
| | | // 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" |
| | |
| | | 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 { |
| | | |
| | |
| | | |
| | | @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)); |
| | | } |
| | | |
| | |
| | | * @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); |
| | |
| | | }); |
| | | } |
| | | |
| | | 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, () -> { |
| | |
| | | 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() + |
| | |
| | | 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" + |
| | |
| | | // */ |
| | | // 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( |
| | |
| | | * 逆地址编码 |
| | | */ |
| | | 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 + |
| | |
| | | } |
| | | |
| | | 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 + |
| | |
| | | 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; |
| | |
| | | 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是常规 |
| | |
| | | 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 ?: "" |
| | |
| | | |
| | | 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 ?: "" |
| | |
| | | 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; |
| | |
| | | |
| | | |
| | | 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; |
| | |
| | | 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 |
| | | } |
| | |
| | | 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 |
| | | } |
| | |
| | | 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 |
| | |
| | | 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 |
| | |
| | | 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 |
| | |
| | | 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 |
| | |
| | | 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) |
| | |
| | | */ |
| | | 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日" |
| | | ) |
| | | } |
| | |
| | | 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 = "提示" |
| | |
| | | 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 = "提示" |
| | |
| | | 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 |
| | |
| | | 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) |
| | |
| | | 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() |
| | |
| | | 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) |
| | |
| | | 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) |
| | | } |
| | |
| | | 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, |
| | |
| | | |
| | | 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, |
| | |
| | | |
| | | 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, |
| | |
| | | |
| | | 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 |
| | | }*/ |
| | | |
| | |
| | | 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") { |
| | |
| | | // 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) |
| | | } |
| | | }*/ |
| | |
| | | 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 |
| | |
| | | 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) |
| | | } |
| | |
| | | super.onCreate(savedInstanceState) |
| | | iv.postDelayed({ |
| | | callLast() |
| | | },500) |
| | | }, 500) |
| | | } |
| | | |
| | | private fun callLast() { |
| | | if (getToken().isNullOrEmpty()){ |
| | | if (getToken().isNullOrEmpty()) { |
| | | startActivity<LoginActivity>() |
| | | }else{ |
| | | } else { |
| | | startActivity<MainActivity>() |
| | | } |
| | | } |
| | |
| | | } |
| | | 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") |
| | | } |
| | |
| | | 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; |
| | | |
| | |
| | | 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(); |
| | |
| | | |
| | | /** |
| | | * @param context |
| | | * @param newLanguage 想要切换的语言类型 比如 "en" ,"zh" |
| | | * @param newLanguage 想要切换的语言类型 比如 Const.Language.ENGLISH ,"zh" |
| | | */ |
| | | @SuppressWarnings("deprecation") |
| | | public static Context changeAppLanguage(Context context, String newLanguage, String country) { |
| | |
| | | //获取想要切换的语言类型 |
| | | 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); |
| | |
| | | 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); |
| | | } |
| | | |
| | |
| | | // val l = SPUtils.getString(Const.language) |
| | | // val week = DateUtil.getWeek(context, System.currentTimeMillis()) |
| | | // when(l){ |
| | | // "en"->{ |
| | | // Const.Language.ENGLISH->{ |
| | | // return "${week,}" |
| | | // } |
| | | // } |
| | |
| | | // val month = calendar.get(Calendar.MONTH) |
| | | // |
| | | // when(l){ |
| | | // "en"->{ |
| | | // Const.Language.ENGLISH->{ |
| | | // return "" |
| | | // } |
| | | // } |
| | |
| | | |
| | | import android.content.Context; |
| | | import android.content.SharedPreferences; |
| | | import cn.sinata.xldutils.xldUtils; |
| | | |
| | | import java.util.Map; |
| | | |
| | | import cn.sinata.xldutils.xldUtils; |
| | | |
| | | /** |
| | | * |
| | |
| | | } |
| | | |
| | | /** |
| | | * 获取存储的字符型数据 |
| | | * |
| | | * @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 |