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())
|
.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
|
// 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