Move webview locale fix to account recovery fragment (#1739)

This commit is contained in:
Mikołaj Pich 2021-12-31 11:24:02 +01:00 committed by GitHub
parent ba02531aa4
commit bfd7f688ab
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 20 deletions

View File

@ -1,10 +1,7 @@
package io.github.wulkanowy
import android.app.Application
import android.util.Log.DEBUG
import android.util.Log.INFO
import android.util.Log.VERBOSE
import android.webkit.WebView
import android.util.Log.*
import androidx.hilt.work.HiltWorkerFactory
import androidx.work.Configuration
import com.yariksoffice.lingver.Lingver
@ -12,12 +9,7 @@ import dagger.hilt.android.HiltAndroidApp
import fr.bipi.tressence.file.FileLoggerTree
import io.github.wulkanowy.data.repositories.PreferencesRepository
import io.github.wulkanowy.ui.base.ThemeManager
import io.github.wulkanowy.utils.ActivityLifecycleLogger
import io.github.wulkanowy.utils.AnalyticsHelper
import io.github.wulkanowy.utils.AppInfo
import io.github.wulkanowy.utils.CrashLogExceptionTree
import io.github.wulkanowy.utils.CrashLogTree
import io.github.wulkanowy.utils.DebugLogTree
import io.github.wulkanowy.utils.*
import timber.log.Timber
import javax.inject.Inject
@ -44,7 +36,6 @@ class WulkanowyApp : Application(), Configuration.Provider {
initializeAppLanguage()
themeManager.applyDefaultTheme()
initLogging()
fixWebViewLocale()
}
private fun initLogging() {
@ -76,15 +67,6 @@ class WulkanowyApp : Application(), Configuration.Provider {
}
}
private fun fixWebViewLocale() {
//https://stackoverflow.com/questions/40398528/android-webview-language-changes-abruptly-on-android-7-0-and-above
try {
WebView(this).destroy()
} catch (e: Throwable) {
//Ignore exceptions
}
}
override fun getWorkManagerConfiguration() = Configuration.Builder()
.setWorkerFactory(workerFactory)
.setMinimumLoggingLevel(if (appInfo.isDebug) VERBOSE else INFO)

View File

@ -11,8 +11,10 @@ import android.webkit.WebView
import android.webkit.WebViewClient
import androidx.core.view.isVisible
import androidx.core.widget.doOnTextChanged
import com.yariksoffice.lingver.Lingver
import dagger.hilt.android.AndroidEntryPoint
import io.github.wulkanowy.R
import io.github.wulkanowy.data.repositories.PreferencesRepository
import io.github.wulkanowy.databinding.FragmentLoginRecoverBinding
import io.github.wulkanowy.ui.base.BaseFragment
import io.github.wulkanowy.ui.modules.login.LoginActivity
@ -32,6 +34,12 @@ class LoginRecoverFragment :
@Inject
lateinit var presenter: LoginRecoverPresenter
@Inject
lateinit var lingver: Lingver
@Inject
lateinit var preferencesRepository: PreferencesRepository
companion object {
fun newInstance() = LoginRecoverFragment()
}
@ -64,10 +72,20 @@ class LoginRecoverFragment :
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
restoreCorrectLocale()
_binding = FragmentLoginRecoverBinding.bind(view)
presenter.onAttachView(this)
}
// https://issuetracker.google.com/issues/37113860
private fun restoreCorrectLocale() {
if (preferencesRepository.appLanguage == "system") {
lingver.setFollowSystemLocale(requireContext())
} else {
lingver.setLocale(requireContext(), lingver.getLocale())
}
}
override fun initView() {
(requireActivity() as LoginActivity).showActionBar(true)