forked from Louvorg/ReaderForSelfoss-multiplatform
Compare commits
7 Commits
v122113131
...
v122113161
Author | SHA1 | Date | |
---|---|---|---|
a0b5e2052b | |||
87d1ef2bce | |||
537a6d3a0b | |||
dbe97f564e | |||
3a3bf03114 | |||
c09a32e9ad | |||
b02a588dff |
@ -2,6 +2,7 @@ package bou.amine.apps.readerforselfossv2.android
|
||||
|
||||
import android.animation.Animator
|
||||
import android.animation.AnimatorListenerAdapter
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import android.text.TextUtils
|
||||
@ -38,7 +39,8 @@ class LoginActivity : AppCompatActivity(), DIAware {
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM)
|
||||
|
||||
handleTheme()
|
||||
|
||||
binding = ActivityLoginBinding.inflate(layoutInflater)
|
||||
val view = binding.root
|
||||
@ -56,6 +58,11 @@ class LoginActivity : AppCompatActivity(), DIAware {
|
||||
handleActions()
|
||||
}
|
||||
|
||||
@SuppressLint("WrongConstant") // Constant is fetched from the settings
|
||||
private fun handleTheme() {
|
||||
AppCompatDelegate.setDefaultNightMode(appSettingsService.getCurrentTheme())
|
||||
}
|
||||
|
||||
private fun handleActions() {
|
||||
|
||||
binding.passwordView.setOnEditorActionListener(
|
||||
|
@ -51,7 +51,6 @@ class MyApp : MultiDexApplication(), DIAware {
|
||||
private val viewModel: AppViewModel by instance()
|
||||
private val connectivityStatus: ConnectivityStatus by instance()
|
||||
private val driverFactory: DriverFactory by instance()
|
||||
private val appSettingsService : AppSettingsService by instance()
|
||||
|
||||
// TODO: handle with the "previous" way
|
||||
private val isConnectionAvailable: MutableStateFlow<Boolean> = MutableStateFlow(true)
|
||||
@ -126,29 +125,15 @@ class MyApp : MultiDexApplication(), DIAware {
|
||||
val oldHandler = Thread.getDefaultUncaughtExceptionHandler()
|
||||
|
||||
Thread.setDefaultUncaughtExceptionHandler { thread, e ->
|
||||
if (e is java.lang.NoClassDefFoundError && e.stackTrace.asList().any {
|
||||
if (e is NoClassDefFoundError && e.stackTrace.asList().any {
|
||||
it.toString().contains("android.view.ViewDebug")
|
||||
}) {
|
||||
Unit
|
||||
} else {
|
||||
oldHandler.uncaughtException(thread, e)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onConfigurationChanged(newConfig: Configuration) {
|
||||
super.onConfigurationChanged(newConfig)
|
||||
if (appSettingsService.getCurrentTheme() == MODE_NIGHT_FOLLOW_SYSTEM) {
|
||||
var mode = when (newConfig.uiMode and Configuration.UI_MODE_NIGHT_MASK) {
|
||||
Configuration.UI_MODE_NIGHT_YES -> MODE_NIGHT_YES
|
||||
else -> MODE_NIGHT_NO
|
||||
}
|
||||
setDefaultNightMode(mode)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
class AppLifeCycleObserver(val connectivityStatus: ConnectivityStatus, val repository: Repository) : DefaultLifecycleObserver {
|
||||
|
||||
override fun onResume(owner: LifecycleOwner) {
|
||||
|
5
androidApp/src/main/res/drawable/checkerboard.xml
Normal file
5
androidApp/src/main/res/drawable/checkerboard.xml
Normal file
@ -0,0 +1,5 @@
|
||||
<bitmap
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:dither="true"
|
||||
android:src="@drawable/checktile"
|
||||
android:tileMode="repeat"/>
|
BIN
androidApp/src/main/res/drawable/checktile.png
Normal file
BIN
androidApp/src/main/res/drawable/checktile.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 235 B |
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
@ -9,8 +9,8 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:background="@android:color/black"
|
||||
android:adjustViewBounds="true"
|
||||
android:background="@drawable/checkerboard"
|
||||
app:srcCompat="@android:drawable/screen_background_dark" />
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
</RelativeLayout>
|
Reference in New Issue
Block a user