mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-31 06:17:57 +01:00 
			
		
		
		
	Reorganize some util files
This commit is contained in:
		| @@ -7,8 +7,8 @@ import com.google.gson.Gson | ||||
| import com.jakewharton.disklrucache.DiskLruCache | ||||
| import eu.kanade.tachiyomi.data.database.models.Chapter | ||||
| import eu.kanade.tachiyomi.source.model.Page | ||||
| import eu.kanade.tachiyomi.util.DiskUtil | ||||
| import eu.kanade.tachiyomi.util.saveTo | ||||
| import eu.kanade.tachiyomi.util.storage.DiskUtil | ||||
| import eu.kanade.tachiyomi.util.storage.saveTo | ||||
| import okhttp3.Response | ||||
| import okio.buffer | ||||
| import okio.sink | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| package eu.kanade.tachiyomi.data.cache | ||||
|  | ||||
| import android.content.Context | ||||
| import eu.kanade.tachiyomi.util.DiskUtil | ||||
| import eu.kanade.tachiyomi.util.storage.DiskUtil | ||||
| import java.io.File | ||||
| import java.io.IOException | ||||
| import java.io.InputStream | ||||
|   | ||||
| @@ -9,7 +9,7 @@ import eu.kanade.tachiyomi.data.database.models.Manga | ||||
| import eu.kanade.tachiyomi.data.preference.PreferencesHelper | ||||
| import eu.kanade.tachiyomi.data.preference.getOrDefault | ||||
| import eu.kanade.tachiyomi.source.Source | ||||
| import eu.kanade.tachiyomi.util.DiskUtil | ||||
| import eu.kanade.tachiyomi.util.storage.DiskUtil | ||||
| import uy.kohesive.injekt.injectLazy | ||||
|  | ||||
| /** | ||||
|   | ||||
| @@ -14,6 +14,8 @@ import eu.kanade.tachiyomi.source.model.Page | ||||
| import eu.kanade.tachiyomi.source.online.HttpSource | ||||
| import eu.kanade.tachiyomi.source.online.fetchAllImageUrlsFromPageList | ||||
| import eu.kanade.tachiyomi.util.* | ||||
| import eu.kanade.tachiyomi.util.storage.DiskUtil | ||||
| import eu.kanade.tachiyomi.util.storage.saveTo | ||||
| import kotlinx.coroutines.async | ||||
| import okhttp3.Response | ||||
| import rx.Observable | ||||
|   | ||||
| @@ -5,7 +5,7 @@ import android.content.Context | ||||
| import android.content.Intent | ||||
| import android.net.Uri | ||||
| import eu.kanade.tachiyomi.ui.main.MainActivity | ||||
| import eu.kanade.tachiyomi.util.getUriCompat | ||||
| import eu.kanade.tachiyomi.util.storage.getUriCompat | ||||
| import java.io.File | ||||
|  | ||||
| /** | ||||
|   | ||||
| @@ -13,8 +13,8 @@ import eu.kanade.tachiyomi.data.download.DownloadManager | ||||
| import eu.kanade.tachiyomi.data.download.DownloadService | ||||
| import eu.kanade.tachiyomi.data.library.LibraryUpdateService | ||||
| import eu.kanade.tachiyomi.ui.reader.ReaderActivity | ||||
| import eu.kanade.tachiyomi.util.DiskUtil | ||||
| import eu.kanade.tachiyomi.util.getUriCompat | ||||
| import eu.kanade.tachiyomi.util.storage.DiskUtil | ||||
| import eu.kanade.tachiyomi.util.storage.getUriCompat | ||||
| import eu.kanade.tachiyomi.util.notificationManager | ||||
| import eu.kanade.tachiyomi.util.toast | ||||
| import uy.kohesive.injekt.injectLazy | ||||
|   | ||||
| @@ -10,8 +10,8 @@ import eu.kanade.tachiyomi.network.GET | ||||
| import eu.kanade.tachiyomi.network.NetworkHelper | ||||
| import eu.kanade.tachiyomi.network.ProgressListener | ||||
| import eu.kanade.tachiyomi.network.newCallWithProgress | ||||
| import eu.kanade.tachiyomi.util.getUriCompat | ||||
| import eu.kanade.tachiyomi.util.saveTo | ||||
| import eu.kanade.tachiyomi.util.storage.getUriCompat | ||||
| import eu.kanade.tachiyomi.util.storage.saveTo | ||||
| import timber.log.Timber | ||||
| import uy.kohesive.injekt.injectLazy | ||||
| import java.io.File | ||||
|   | ||||
| @@ -10,7 +10,7 @@ import android.os.Build | ||||
| import com.jakewharton.rxrelay.PublishRelay | ||||
| import eu.kanade.tachiyomi.extension.model.Extension | ||||
| import eu.kanade.tachiyomi.extension.model.InstallStep | ||||
| import eu.kanade.tachiyomi.util.getUriCompat | ||||
| import eu.kanade.tachiyomi.util.storage.getUriCompat | ||||
| import rx.Observable | ||||
| import rx.android.schedulers.AndroidSchedulers | ||||
| import timber.log.Timber | ||||
|   | ||||
| @@ -7,8 +7,8 @@ import eu.kanade.tachiyomi.R | ||||
| import eu.kanade.tachiyomi.source.model.* | ||||
| import eu.kanade.tachiyomi.util.ChapterRecognition | ||||
| import eu.kanade.tachiyomi.util.ComparatorUtil.CaseInsensitiveNaturalComparator | ||||
| import eu.kanade.tachiyomi.util.DiskUtil | ||||
| import eu.kanade.tachiyomi.util.EpubFile | ||||
| import eu.kanade.tachiyomi.util.storage.DiskUtil | ||||
| import eu.kanade.tachiyomi.util.storage.EpubFile | ||||
| import eu.kanade.tachiyomi.util.ImageUtil | ||||
| import junrar.Archive | ||||
| import junrar.rarfile.FileHeader | ||||
|   | ||||
| @@ -30,6 +30,7 @@ import eu.kanade.tachiyomi.ui.reader.viewer.pager.R2LPagerViewer | ||||
| import eu.kanade.tachiyomi.ui.reader.viewer.pager.VerticalPagerViewer | ||||
| import eu.kanade.tachiyomi.ui.reader.viewer.webtoon.WebtoonViewer | ||||
| import eu.kanade.tachiyomi.util.* | ||||
| import eu.kanade.tachiyomi.util.storage.getUriCompat | ||||
| import eu.kanade.tachiyomi.widget.SimpleAnimationListener | ||||
| import eu.kanade.tachiyomi.widget.SimpleSeekBarListener | ||||
| import kotlinx.android.synthetic.main.reader_activity.* | ||||
|   | ||||
| @@ -21,7 +21,7 @@ import eu.kanade.tachiyomi.ui.reader.loader.DownloadPageLoader | ||||
| import eu.kanade.tachiyomi.ui.reader.model.ReaderChapter | ||||
| import eu.kanade.tachiyomi.ui.reader.model.ReaderPage | ||||
| import eu.kanade.tachiyomi.ui.reader.model.ViewerChapters | ||||
| import eu.kanade.tachiyomi.util.DiskUtil | ||||
| import eu.kanade.tachiyomi.util.storage.DiskUtil | ||||
| import eu.kanade.tachiyomi.util.ImageUtil | ||||
| import rx.Completable | ||||
| import rx.Observable | ||||
|   | ||||
| @@ -2,7 +2,7 @@ package eu.kanade.tachiyomi.ui.reader.loader | ||||
|  | ||||
| import eu.kanade.tachiyomi.source.model.Page | ||||
| import eu.kanade.tachiyomi.ui.reader.model.ReaderPage | ||||
| import eu.kanade.tachiyomi.util.EpubFile | ||||
| import eu.kanade.tachiyomi.util.storage.EpubFile | ||||
| import rx.Observable | ||||
| import java.io.File | ||||
|  | ||||
|   | ||||
| @@ -21,6 +21,7 @@ import eu.kanade.tachiyomi.ui.base.controller.DialogController | ||||
| import eu.kanade.tachiyomi.ui.base.controller.popControllerWithTag | ||||
| import eu.kanade.tachiyomi.ui.base.controller.requestPermissionsSafe | ||||
| import eu.kanade.tachiyomi.util.* | ||||
| import eu.kanade.tachiyomi.util.storage.getUriCompat | ||||
| import java.io.File | ||||
| import java.util.concurrent.TimeUnit | ||||
| import eu.kanade.tachiyomi.data.preference.PreferenceKeys as Keys | ||||
|   | ||||
| @@ -0,0 +1,42 @@ | ||||
| package eu.kanade.tachiyomi.util | ||||
|  | ||||
| import android.content.SharedPreferences | ||||
| import kotlinx.coroutines.Dispatchers | ||||
| import kotlinx.coroutines.ExperimentalCoroutinesApi | ||||
| import kotlinx.coroutines.channels.awaitClose | ||||
| import kotlinx.coroutines.flow.Flow | ||||
| import kotlinx.coroutines.flow.channelFlow | ||||
| import kotlinx.coroutines.flow.flowOn | ||||
| import kotlin.coroutines.CoroutineContext | ||||
|  | ||||
| @ExperimentalCoroutinesApi | ||||
| inline fun <reified T> SharedPreferences.getKey(key: String, default: T, dispatcher: CoroutineContext = Dispatchers.Default): Flow<T> { | ||||
|     val flow: Flow<T> = channelFlow { | ||||
|         offer(getItem(key, default)) | ||||
|  | ||||
|         val listener = SharedPreferences.OnSharedPreferenceChangeListener { _, k -> | ||||
|             if (key == k) { | ||||
|                 offer(getItem(key, default)!!) | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         registerOnSharedPreferenceChangeListener(listener) | ||||
|         awaitClose { unregisterOnSharedPreferenceChangeListener(listener) } | ||||
|     } | ||||
|     return flow | ||||
|             .flowOn(dispatcher) | ||||
| } | ||||
|  | ||||
| inline fun <reified T> SharedPreferences.getItem(key: String, default: T): T { | ||||
|     @Suppress("UNCHECKED_CAST") | ||||
|     return when (default) { | ||||
|         is String -> getString(key, default) as T | ||||
|         is Int -> getInt(key, default) as T | ||||
|         is Long -> getLong(key, default) as T | ||||
|         is Boolean -> getBoolean(key, default) as T | ||||
|         is Float -> getFloat(key, default) as T | ||||
|         is Set<*> -> getStringSet(key, default as Set<String>) as T | ||||
|         is MutableSet<*> -> getStringSet(key, default as MutableSet<String>) as T | ||||
|         else -> throw IllegalArgumentException("Generic type not handled: ${T::class.java.name}") | ||||
|     } | ||||
| } | ||||
| @@ -1,4 +1,4 @@ | ||||
| package eu.kanade.tachiyomi.util | ||||
| package eu.kanade.tachiyomi.util.storage | ||||
| 
 | ||||
| import android.content.Context | ||||
| import android.content.Intent | ||||
| @@ -7,6 +7,7 @@ import android.os.Environment | ||||
| import androidx.core.content.ContextCompat | ||||
| import androidx.core.os.EnvironmentCompat | ||||
| import com.hippo.unifile.UniFile | ||||
| import eu.kanade.tachiyomi.util.Hash | ||||
| import java.io.File | ||||
| 
 | ||||
| object DiskUtil { | ||||
| @@ -1,4 +1,4 @@ | ||||
| package eu.kanade.tachiyomi.util | ||||
| package eu.kanade.tachiyomi.util.storage | ||||
| 
 | ||||
| import org.jsoup.Jsoup | ||||
| import org.jsoup.nodes.Document | ||||
| @@ -1,4 +1,4 @@ | ||||
| package eu.kanade.tachiyomi.util | ||||
| package eu.kanade.tachiyomi.util.storage | ||||
| 
 | ||||
| import android.content.Context | ||||
| import android.net.Uri | ||||
| @@ -1,4 +1,4 @@ | ||||
| package eu.kanade.tachiyomi.util | ||||
| package eu.kanade.tachiyomi.util.storage | ||||
| 
 | ||||
| import okio.BufferedSource | ||||
| import okio.buffer | ||||
		Reference in New Issue
	
	Block a user