Commit 915db78d authored by wanglei's avatar wanglei

...

parent 18d30d44
...@@ -72,16 +72,6 @@ object ConstObject { ...@@ -72,16 +72,6 @@ object ConstObject {
field = value field = value
AppPreferences.getInstance().put("haveGuideGesture", value, true) AppPreferences.getInstance().put("haveGuideGesture", value, true)
} }
var currentLanguageSp = Locale.ENGLISH.language
get() {
return AppPreferences.getInstance().getString("languageSp", field)
}
set(value) {
field = value
AppPreferences.getInstance().put("languageSp", value, true)
}
var appLanguageSp = Locale.ENGLISH.language var appLanguageSp = Locale.ENGLISH.language
get() { get() {
return AppPreferences.getInstance().getString("appLanguageSp", field) return AppPreferences.getInstance().getString("appLanguageSp", field)
...@@ -90,7 +80,7 @@ object ConstObject { ...@@ -90,7 +80,7 @@ object ConstObject {
field = value field = value
AppPreferences.getInstance().put("appLanguageSp", value, true) AppPreferences.getInstance().put("appLanguageSp", value, true)
} }
var changeLanguageSp = Locale.ENGLISH.language var changeLanguageSp = appLanguageSp
get() { get() {
return AppPreferences.getInstance().getString("changeLanguageSp", field) return AppPreferences.getInstance().getString("changeLanguageSp", field)
} }
......
...@@ -13,6 +13,7 @@ import com.base.pdfviewerscannerwhite.utils.ActivityLauncher ...@@ -13,6 +13,7 @@ import com.base.pdfviewerscannerwhite.utils.ActivityLauncher
import com.base.pdfviewerscannerwhite.utils.ActivityManagerUtils import com.base.pdfviewerscannerwhite.utils.ActivityManagerUtils
import com.base.pdfviewerscannerwhite.utils.LanguageUtils.changeAppLanguage import com.base.pdfviewerscannerwhite.utils.LanguageUtils.changeAppLanguage
import com.base.pdfviewerscannerwhite.utils.LogEx import com.base.pdfviewerscannerwhite.utils.LogEx
import java.util.Locale
abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() { abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() {
private val TAG = "BaseActivity" private val TAG = "BaseActivity"
...@@ -62,7 +63,7 @@ abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() { ...@@ -62,7 +63,7 @@ abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() {
fun updateAppLanguage( fun updateAppLanguage(
activityLanguage: String, activityLanguage: String,
activityTag: String? = null, activityTag: String? = null,
callback: ((language: String) -> Unit)? = null activityChangeCallback: ((language: String) -> Unit)? = null
) { ) {
LogEx.logDebug( LogEx.logDebug(
TAG, TAG,
...@@ -71,16 +72,17 @@ abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() { ...@@ -71,16 +72,17 @@ abstract class BaseActivity<T : ViewBinding> : AppCompatActivity() {
"changeLanguageSp=$changeLanguageSp " + "changeLanguageSp=$changeLanguageSp " +
"activityLanguage=$activityLanguage" "activityLanguage=$activityLanguage"
) )
if (appLanguageSp != changeLanguageSp || activityLanguage != appLanguageSp) {
changeAppLanguage(this) if (appLanguageSp != changeLanguageSp || activityLanguage != changeLanguageSp) {
changeAppLanguage(this, changeLanguageSp)
// Restart the app // Restart the app
appLanguageSp = changeLanguageSp appLanguageSp = changeLanguageSp
callback?.invoke(changeLanguageSp) activityChangeCallback?.invoke(changeLanguageSp)
LogEx.logDebug(TAG, "activityTag=$activityTag recreate") LogEx.logDebug(TAG, "activityTag=$activityTag recreate")
this@BaseActivity.recreate() this@BaseActivity.recreate()
} }
} }
} }
\ No newline at end of file
...@@ -10,7 +10,6 @@ import com.base.pdfviewerscannerwhite.fcm.FCMManager ...@@ -10,7 +10,6 @@ import com.base.pdfviewerscannerwhite.fcm.FCMManager
import com.base.pdfviewerscannerwhite.ui.splash.SplashActivity import com.base.pdfviewerscannerwhite.ui.splash.SplashActivity
import com.base.pdfviewerscannerwhite.utils.ActivityManagerUtils import com.base.pdfviewerscannerwhite.utils.ActivityManagerUtils
import com.base.pdfviewerscannerwhite.utils.AppPreferences import com.base.pdfviewerscannerwhite.utils.AppPreferences
import com.base.pdfviewerscannerwhite.utils.LanguageUtils
import com.base.pdfviewerscannerwhite.utils.LogEx import com.base.pdfviewerscannerwhite.utils.LogEx
import com.facebook.FacebookSdk import com.facebook.FacebookSdk
import com.tom_roush.pdfbox.android.PDFBoxResourceLoader import com.tom_roush.pdfbox.android.PDFBoxResourceLoader
...@@ -25,17 +24,18 @@ class MyApplication : Application() { ...@@ -25,17 +24,18 @@ class MyApplication : Application() {
companion object { companion object {
lateinit var context: MyApplication lateinit var context: MyApplication
var splashLanguage: String = Locale.ENGLISH.language
var mainLanguage: String = Locale.ENGLISH.language var splashLanguage: String = Locale.getDefault().language
var setLanguage: String = Locale.ENGLISH.language var mainLanguage: String = Locale.getDefault().language
var feedbackLanguage: String = Locale.ENGLISH.language var setLanguage: String = Locale.getDefault().language
var pptLanguage: String = Locale.ENGLISH.language var feedbackLanguage: String = Locale.getDefault().language
var pdfLanguage: String = Locale.ENGLISH.language var pptLanguage: String = Locale.getDefault().language
var pdfLoadingLanguage: String = Locale.ENGLISH.language var pdfLanguage: String = Locale.getDefault().language
var pdfMergeLanguage: String = Locale.ENGLISH.language var pdfLoadingLanguage: String = Locale.getDefault().language
var pdfSelectLanguage: String = Locale.ENGLISH.language var pdfMergeLanguage: String = Locale.getDefault().language
var pdfSplitLanguage: String = Locale.ENGLISH.language var pdfSelectLanguage: String = Locale.getDefault().language
var wordLanguage: String = Locale.ENGLISH.language var pdfSplitLanguage: String = Locale.getDefault().language
var wordLanguage: String = Locale.getDefault().language
var umpCanAd: Boolean = true var umpCanAd: Boolean = true
...@@ -50,29 +50,9 @@ class MyApplication : Application() { ...@@ -50,29 +50,9 @@ class MyApplication : Application() {
context = this context = this
initUUid() initUUid()
initApp() initApp()
initActivityLanguage()
PDFBoxResourceLoader.init(applicationContext) PDFBoxResourceLoader.init(applicationContext)
} }
fun initActivityLanguage() {
splashLanguage = ConstObject.appLanguageSp
mainLanguage = ConstObject.appLanguageSp
setLanguage = ConstObject.appLanguageSp
feedbackLanguage = ConstObject.appLanguageSp
pptLanguage = ConstObject.appLanguageSp
pdfLanguage = ConstObject.appLanguageSp
pdfLoadingLanguage = ConstObject.appLanguageSp
pdfMergeLanguage = ConstObject.appLanguageSp
pdfSelectLanguage = ConstObject.appLanguageSp
pdfSplitLanguage = ConstObject.appLanguageSp
wordLanguage = ConstObject.appLanguageSp
ConstObject.changeLanguageSp = ConstObject.appLanguageSp
LogEx.logDebug(TAG, "appLanguageSp=${ConstObject.appLanguageSp} changeLanguageSp=${ConstObject.changeLanguageSp}")
LanguageUtils.changeAppLanguage(this)
}
private fun initUUid() { private fun initUUid() {
uuid = AppPreferences.getInstance().getString("uuid", "") uuid = AppPreferences.getInstance().getString("uuid", "")
if (TextUtils.isEmpty(uuid)) { if (TextUtils.isEmpty(uuid)) {
......
...@@ -27,7 +27,6 @@ import com.base.pdfviewerscannerwhite.ui.view.DialogView.showSortDialog ...@@ -27,7 +27,6 @@ import com.base.pdfviewerscannerwhite.ui.view.DialogView.showSortDialog
import com.base.pdfviewerscannerwhite.utils.KeyBoardUtils.hideKeyboard import com.base.pdfviewerscannerwhite.utils.KeyBoardUtils.hideKeyboard
import com.base.pdfviewerscannerwhite.utils.KeyBoardUtils.showKeyBoard import com.base.pdfviewerscannerwhite.utils.KeyBoardUtils.showKeyBoard
import com.base.pdfviewerscannerwhite.utils.LogEx import com.base.pdfviewerscannerwhite.utils.LogEx
import java.util.Locale
class DocumentFragment( class DocumentFragment(
val dataType: String = "" val dataType: String = ""
......
...@@ -2,18 +2,14 @@ package com.base.pdfviewerscannerwhite.ui.set ...@@ -2,18 +2,14 @@ package com.base.pdfviewerscannerwhite.ui.set
import androidx.activity.addCallback import androidx.activity.addCallback
import com.base.pdfviewerscannerwhite.R import com.base.pdfviewerscannerwhite.R
import com.base.pdfviewerscannerwhite.ads.admob.AdmobNativeUtils
import com.base.pdfviewerscannerwhite.bean.ConstObject import com.base.pdfviewerscannerwhite.bean.ConstObject
import com.base.pdfviewerscannerwhite.bean.ConstObject.appLanguageSp import com.base.pdfviewerscannerwhite.bean.ConstObject.appLanguageSp
import com.base.pdfviewerscannerwhite.bean.ConstObject.changeLanguageSp import com.base.pdfviewerscannerwhite.bean.ConstObject.changeLanguageSp
import com.base.pdfviewerscannerwhite.bean.LanguageBean import com.base.pdfviewerscannerwhite.bean.LanguageBean
import com.base.pdfviewerscannerwhite.databinding.ActivitySetLanguageBinding import com.base.pdfviewerscannerwhite.databinding.ActivitySetLanguageBinding
import com.base.pdfviewerscannerwhite.helper.BaseActivity import com.base.pdfviewerscannerwhite.helper.BaseActivity
import com.base.pdfviewerscannerwhite.helper.MyApplication
import com.base.pdfviewerscannerwhite.utils.LanguageUtils
import com.base.pdfviewerscannerwhite.utils.LanguageUtils.changeAppLanguage
import com.base.pdfviewerscannerwhite.utils.LanguageUtils.getSystemLanguageDefault import com.base.pdfviewerscannerwhite.utils.LanguageUtils.getSystemLanguageDefault
import com.base.pdfviewerscannerwhite.utils.LogEx
import com.cherry.lib.doc.office.fc.hssf.formula.function.IfFunc
import java.util.Locale import java.util.Locale
class SetLanguageActivity : BaseActivity<ActivitySetLanguageBinding>() { class SetLanguageActivity : BaseActivity<ActivitySetLanguageBinding>() {
...@@ -30,12 +26,7 @@ class SetLanguageActivity : BaseActivity<ActivitySetLanguageBinding>() { ...@@ -30,12 +26,7 @@ class SetLanguageActivity : BaseActivity<ActivitySetLanguageBinding>() {
adapter = LanguageAdapter() adapter = LanguageAdapter()
binding.rv.adapter = adapter binding.rv.adapter = adapter
val systemLanguage = LanguageUtils.getSystemLanguage() AdmobNativeUtils.showNativeAd(this, binding.flAd)
if (MyApplication.setLanguage != systemLanguage && LanguageUtils.isSupportSystemLanguage()) {
ConstObject.changeLanguageSp = systemLanguage
changeAppLanguage(this)
recreate()
}
initData() initData()
} }
......
...@@ -43,7 +43,6 @@ class SplashActivity : BaseActivity<ActivitySplash2Binding>(), SplashView { ...@@ -43,7 +43,6 @@ class SplashActivity : BaseActivity<ActivitySplash2Binding>(), SplashView {
} }
private var actionId = "" private var actionId = ""
@SuppressLint("SetTextI18n") @SuppressLint("SetTextI18n")
override fun initView() { override fun initView() {
BarUtils.setStatusBarLightMode(this, true) BarUtils.setStatusBarLightMode(this, true)
...@@ -158,7 +157,7 @@ class SplashActivity : BaseActivity<ActivitySplash2Binding>(), SplashView { ...@@ -158,7 +157,7 @@ class SplashActivity : BaseActivity<ActivitySplash2Binding>(), SplashView {
override fun onResume() { override fun onResume() {
super.onResume() super.onResume()
updateAppLanguage(MyApplication.splashLanguage) { updateAppLanguage(MyApplication.splashLanguage, TAG) {
MyApplication.splashLanguage = it MyApplication.splashLanguage = it
} }
splashPresenter.startJumpJob(lifecycleScope) splashPresenter.startJumpJob(lifecycleScope)
......
...@@ -2,7 +2,6 @@ package com.base.pdfviewerscannerwhite.utils ...@@ -2,7 +2,6 @@ package com.base.pdfviewerscannerwhite.utils
import android.content.Context import android.content.Context
import android.os.LocaleList import android.os.LocaleList
import com.base.pdfviewerscannerwhite.bean.ConstObject
import java.util.Locale import java.util.Locale
object LanguageUtils { object LanguageUtils {
...@@ -42,9 +41,9 @@ object LanguageUtils { ...@@ -42,9 +41,9 @@ object LanguageUtils {
return supportLanguage.contains(getSystemLanguage()) return supportLanguage.contains(getSystemLanguage())
} }
fun changeAppLanguage(context: Context) { fun changeAppLanguage(context: Context,language:String) {
val config = context.resources.configuration val config = context.resources.configuration
val locale = Locale(ConstObject.changeLanguageSp) val locale = Locale(language)
//Android 7.0以上的方法 //Android 7.0以上的方法
config.setLocale(locale) config.setLocale(locale)
......
...@@ -51,10 +51,17 @@ ...@@ -51,10 +51,17 @@
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv" android:id="@+id/rv"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="0dp" android:layout_height="0dp"
tools:listitem="@layout/item_language_set"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toTopOf="@id/fl_ad"
app:layout_constraintTop_toBottomOf="@id/fl_fanhui" /> app:layout_constraintTop_toBottomOf="@id/fl_fanhui"
tools:listitem="@layout/item_language_set" />
<FrameLayout
android:id="@+id/fl_ad"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment