mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-30 22:07:57 +01:00 
			
		
		
		
	fixed double-locking, added secure screen, fixed tsumino for real this time
This commit is contained in:
		| @@ -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 | ||||
|     } | ||||
|  | ||||
| } | ||||
		Reference in New Issue
	
	Block a user