fixed double-locking, added secure screen, fixed tsumino for real this time
This commit is contained in:
parent
03b44fff22
commit
cefe45e8cc
@ -110,7 +110,29 @@ object EXHMigrations {
|
||||
.build())
|
||||
}
|
||||
}
|
||||
if (oldVersion < 8409) {
|
||||
db.inTransaction {
|
||||
// Migrate tsumino URLs
|
||||
val tsuminoManga = db.db.get()
|
||||
.listOfObjects(Manga::class.java)
|
||||
.withQuery(Query.builder()
|
||||
.table(MangaTable.TABLE)
|
||||
.where("${MangaTable.COL_SOURCE} = $TSUMINO_SOURCE_ID")
|
||||
.build())
|
||||
.prepare()
|
||||
.executeAsBlocking()
|
||||
tsuminoManga.forEach {
|
||||
it.url = "/entry/"+it.url.split("/").last()
|
||||
}
|
||||
|
||||
db.db.put()
|
||||
.objects(tsuminoManga)
|
||||
// Extremely slow without the resolver :/
|
||||
.withPutResolver(MangaUrlPutResolver())
|
||||
.prepare()
|
||||
.executeAsBlocking()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// TODO BE CAREFUL TO NOT FUCK UP MergedSources IF CHANGING URLs
|
||||
|
46
app/src/main/java/exh/ui/lock/LockActivityDelegate.kt
Normal file
46
app/src/main/java/exh/ui/lock/LockActivityDelegate.kt
Normal file
@ -0,0 +1,46 @@
|
||||
package exh.ui.lock
|
||||
|
||||
import android.content.Intent
|
||||
import android.view.WindowManager
|
||||
import androidx.fragment.app.FragmentActivity
|
||||
import com.bluelinelabs.conductor.Router
|
||||
import com.bluelinelabs.conductor.RouterTransaction
|
||||
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
||||
import eu.kanade.tachiyomi.data.preference.getOrDefault
|
||||
import uy.kohesive.injekt.injectLazy
|
||||
import java.util.Date
|
||||
|
||||
object LockActivityDelegate {
|
||||
private val preferences by injectLazy<PreferencesHelper>()
|
||||
|
||||
var willLock: Boolean = true
|
||||
|
||||
fun doLock(router: Router, animate: Boolean = false) {
|
||||
router.pushController(RouterTransaction.with(LockController())
|
||||
.popChangeHandler(LockChangeHandler(animate)))
|
||||
}
|
||||
|
||||
|
||||
fun onCreate(activity: FragmentActivity) {
|
||||
preferences.secureScreen().asObservable()
|
||||
.subscribe {
|
||||
if (it) {
|
||||
activity.window.setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE)
|
||||
} else {
|
||||
activity.window.clearFlags(WindowManager.LayoutParams.FLAG_SECURE)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun onResume(activity: FragmentActivity, router: Router) {
|
||||
if (lockEnabled() && !isAppLocked(router) && willLock && !preferences.eh_lockManually().getOrDefault()) {
|
||||
doLock(router)
|
||||
willLock = false
|
||||
}
|
||||
}
|
||||
|
||||
private fun isAppLocked(router: Router): Boolean {
|
||||
return router.backstack.lastOrNull()?.controller() is LockController
|
||||
}
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user