mirror of
https://github.com/mihonapp/mihon.git
synced 2025-06-27 03:27:51 +02:00
61 lines
2.0 KiB
Kotlin
61 lines
2.0 KiB
Kotlin
package exh.ui.lock
|
|
|
|
import android.os.Bundle
|
|
import com.afollestad.materialdialogs.MaterialDialog
|
|
import com.andrognito.pinlockview.PinLockListener
|
|
import eu.kanade.tachiyomi.R
|
|
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
|
import eu.kanade.tachiyomi.data.preference.getOrDefault
|
|
import eu.kanade.tachiyomi.ui.base.activity.BaseActivity
|
|
import kotlinx.android.synthetic.main.activity_lock.*
|
|
import uy.kohesive.injekt.injectLazy
|
|
|
|
class LockActivity : BaseActivity() {
|
|
|
|
val prefs: PreferencesHelper by injectLazy()
|
|
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
disableLock = true
|
|
|
|
setTheme(R.style.Theme_Tachiyomi_Dark)
|
|
super.onCreate(savedInstanceState)
|
|
|
|
if(!lockEnabled(prefs)) {
|
|
finish()
|
|
return
|
|
}
|
|
|
|
setContentView(R.layout.activity_lock)
|
|
|
|
pin_lock_view.attachIndicatorDots(indicator_dots)
|
|
|
|
pin_lock_view.pinLength = prefs.lockLength().getOrDefault()
|
|
pin_lock_view.setPinLockListener(object : PinLockListener {
|
|
override fun onEmpty() {}
|
|
|
|
override fun onComplete(pin: String) {
|
|
if(sha512(pin, prefs.lockSalt().get()!!) == prefs.lockHash().get()) {
|
|
//Yay!
|
|
finish()
|
|
} else {
|
|
MaterialDialog.Builder(this@LockActivity)
|
|
.title("PIN code incorrect")
|
|
.content("The PIN code you entered is incorrect. Please try again.")
|
|
.cancelable(true)
|
|
.canceledOnTouchOutside(true)
|
|
.positiveText("Ok")
|
|
.autoDismiss(true)
|
|
.show()
|
|
pin_lock_view.resetPinLockView()
|
|
}
|
|
}
|
|
|
|
override fun onPinChange(pinLength: Int, intermediatePin: String?) {}
|
|
})
|
|
}
|
|
|
|
override fun onBackPressed() {
|
|
moveTaskToBack(true)
|
|
}
|
|
}
|