forked from github/wulkanowy-mirror
Move webview locale fix to account recovery fragment (#1739)
This commit is contained in:
parent
ba02531aa4
commit
bfd7f688ab
@ -1,10 +1,7 @@
|
|||||||
package io.github.wulkanowy
|
package io.github.wulkanowy
|
||||||
|
|
||||||
import android.app.Application
|
import android.app.Application
|
||||||
import android.util.Log.DEBUG
|
import android.util.Log.*
|
||||||
import android.util.Log.INFO
|
|
||||||
import android.util.Log.VERBOSE
|
|
||||||
import android.webkit.WebView
|
|
||||||
import androidx.hilt.work.HiltWorkerFactory
|
import androidx.hilt.work.HiltWorkerFactory
|
||||||
import androidx.work.Configuration
|
import androidx.work.Configuration
|
||||||
import com.yariksoffice.lingver.Lingver
|
import com.yariksoffice.lingver.Lingver
|
||||||
@ -12,12 +9,7 @@ import dagger.hilt.android.HiltAndroidApp
|
|||||||
import fr.bipi.tressence.file.FileLoggerTree
|
import fr.bipi.tressence.file.FileLoggerTree
|
||||||
import io.github.wulkanowy.data.repositories.PreferencesRepository
|
import io.github.wulkanowy.data.repositories.PreferencesRepository
|
||||||
import io.github.wulkanowy.ui.base.ThemeManager
|
import io.github.wulkanowy.ui.base.ThemeManager
|
||||||
import io.github.wulkanowy.utils.ActivityLifecycleLogger
|
import io.github.wulkanowy.utils.*
|
||||||
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 timber.log.Timber
|
import timber.log.Timber
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@ -44,7 +36,6 @@ class WulkanowyApp : Application(), Configuration.Provider {
|
|||||||
initializeAppLanguage()
|
initializeAppLanguage()
|
||||||
themeManager.applyDefaultTheme()
|
themeManager.applyDefaultTheme()
|
||||||
initLogging()
|
initLogging()
|
||||||
fixWebViewLocale()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun initLogging() {
|
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()
|
override fun getWorkManagerConfiguration() = Configuration.Builder()
|
||||||
.setWorkerFactory(workerFactory)
|
.setWorkerFactory(workerFactory)
|
||||||
.setMinimumLoggingLevel(if (appInfo.isDebug) VERBOSE else INFO)
|
.setMinimumLoggingLevel(if (appInfo.isDebug) VERBOSE else INFO)
|
||||||
|
@ -11,8 +11,10 @@ import android.webkit.WebView
|
|||||||
import android.webkit.WebViewClient
|
import android.webkit.WebViewClient
|
||||||
import androidx.core.view.isVisible
|
import androidx.core.view.isVisible
|
||||||
import androidx.core.widget.doOnTextChanged
|
import androidx.core.widget.doOnTextChanged
|
||||||
|
import com.yariksoffice.lingver.Lingver
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import io.github.wulkanowy.R
|
import io.github.wulkanowy.R
|
||||||
|
import io.github.wulkanowy.data.repositories.PreferencesRepository
|
||||||
import io.github.wulkanowy.databinding.FragmentLoginRecoverBinding
|
import io.github.wulkanowy.databinding.FragmentLoginRecoverBinding
|
||||||
import io.github.wulkanowy.ui.base.BaseFragment
|
import io.github.wulkanowy.ui.base.BaseFragment
|
||||||
import io.github.wulkanowy.ui.modules.login.LoginActivity
|
import io.github.wulkanowy.ui.modules.login.LoginActivity
|
||||||
@ -32,6 +34,12 @@ class LoginRecoverFragment :
|
|||||||
@Inject
|
@Inject
|
||||||
lateinit var presenter: LoginRecoverPresenter
|
lateinit var presenter: LoginRecoverPresenter
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
lateinit var lingver: Lingver
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
lateinit var preferencesRepository: PreferencesRepository
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
fun newInstance() = LoginRecoverFragment()
|
fun newInstance() = LoginRecoverFragment()
|
||||||
}
|
}
|
||||||
@ -64,10 +72,20 @@ class LoginRecoverFragment :
|
|||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
restoreCorrectLocale()
|
||||||
_binding = FragmentLoginRecoverBinding.bind(view)
|
_binding = FragmentLoginRecoverBinding.bind(view)
|
||||||
presenter.onAttachView(this)
|
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() {
|
override fun initView() {
|
||||||
(requireActivity() as LoginActivity).showActionBar(true)
|
(requireActivity() as LoginActivity).showActionBar(true)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user