Metro/appthemehelper/src/main/java/code/name/monkey/appthemehelper/ATHActivity.kt
Paolo Valerdi 752843a497 Add support for Android 10 dark theme.
This is still untested please take a look.
2019-09-26 16:02:49 -05:00

38 lines
No EOL
994 B
Kotlin
Executable file

package code.name.monkey.appthemehelper
import android.content.Intent
import android.os.Bundle
import android.os.Handler
import androidx.annotation.StyleRes
import androidx.appcompat.app.AppCompatActivity
/**
* @author Aidan Follestad (afollestad), Karim Abou Zeid (kabouzeid)
*/
open class ATHActivity : AppCompatActivity() {
private var updateTime: Long = -1
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
updateTime = System.currentTimeMillis()
}
override fun onResume() {
super.onResume()
if (ATH.didThemeValuesChange(this, updateTime)) {
onThemeChanged()
}
}
fun onThemeChanged() {
postRecreate()
}
fun postRecreate() {
// hack to prevent java.lang.RuntimeException: Performing pause of activity that is not resumed
// makes sure recreate() is called right after and not in onResume()
Handler().post { recreate() }
}
}