mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-31 06:17:57 +01:00 
			
		
		
		
	Revert ktlint update, unrevert Gradle and PR build workflow reverts (#3681)
This commit is contained in:
		
							
								
								
									
										18
									
								
								.github/workflows/pr_build_check.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								.github/workflows/pr_build_check.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | ||||
| name: Pull request build check | ||||
| on: [pull_request] | ||||
|  | ||||
| jobs: | ||||
|   build: | ||||
|     runs-on: ubuntu-latest | ||||
|  | ||||
|     steps: | ||||
|       - name: Clone repo | ||||
|         uses: actions/checkout@v2 | ||||
|       - name: Set up JDK 1.8 | ||||
|         uses: actions/setup-java@v1 | ||||
|         with: | ||||
|           java-version: 1.8 | ||||
|       - name: Install NDK | ||||
|         run: sudo ${ANDROID_HOME}/tools/bin/sdkmanager --install "ndk;21.0.6113669" | ||||
|       - name: Build project | ||||
|         run: ./gradlew assembleDebug | ||||
| @@ -13,6 +13,7 @@ import eu.kanade.tachiyomi.data.notification.Notifications | ||||
| import eu.kanade.tachiyomi.data.preference.PreferencesHelper | ||||
| import eu.kanade.tachiyomi.ui.security.SecureActivityDelegate | ||||
| import eu.kanade.tachiyomi.util.system.LocaleHelper | ||||
| import java.security.Security | ||||
| import org.acra.ACRA | ||||
| import org.acra.annotation.AcraCore | ||||
| import org.acra.annotation.AcraHttpSender | ||||
| @@ -23,7 +24,6 @@ import uy.kohesive.injekt.Injekt | ||||
| import uy.kohesive.injekt.api.InjektScope | ||||
| import uy.kohesive.injekt.injectLazy | ||||
| import uy.kohesive.injekt.registry.default.DefaultRegistrar | ||||
| import java.security.Security | ||||
|  | ||||
| @AcraCore( | ||||
|     buildConfigClass = BuildConfig::class, | ||||
|   | ||||
| @@ -8,9 +8,9 @@ import androidx.work.WorkManager | ||||
| import androidx.work.Worker | ||||
| import androidx.work.WorkerParameters | ||||
| import eu.kanade.tachiyomi.data.preference.PreferencesHelper | ||||
| import java.util.concurrent.TimeUnit | ||||
| import uy.kohesive.injekt.Injekt | ||||
| import uy.kohesive.injekt.api.get | ||||
| import java.util.concurrent.TimeUnit | ||||
|  | ||||
| class BackupCreatorJob(private val context: Context, workerParams: WorkerParameters) : | ||||
|     Worker(context, workerParams) { | ||||
|   | ||||
| @@ -50,10 +50,10 @@ import eu.kanade.tachiyomi.source.LocalSource | ||||
| import eu.kanade.tachiyomi.source.Source | ||||
| import eu.kanade.tachiyomi.source.SourceManager | ||||
| import eu.kanade.tachiyomi.util.chapter.syncChaptersWithSource | ||||
| import kotlin.math.max | ||||
| import rx.Observable | ||||
| import timber.log.Timber | ||||
| import uy.kohesive.injekt.injectLazy | ||||
| import kotlin.math.max | ||||
|  | ||||
| class BackupManager(val context: Context, version: Int = CURRENT_VERSION) { | ||||
|  | ||||
|   | ||||
| @@ -11,9 +11,9 @@ import eu.kanade.tachiyomi.data.preference.PreferencesHelper | ||||
| import eu.kanade.tachiyomi.util.storage.getUriCompat | ||||
| import eu.kanade.tachiyomi.util.system.notificationBuilder | ||||
| import eu.kanade.tachiyomi.util.system.notificationManager | ||||
| import uy.kohesive.injekt.injectLazy | ||||
| import java.io.File | ||||
| import java.util.concurrent.TimeUnit | ||||
| import uy.kohesive.injekt.injectLazy | ||||
|  | ||||
| internal class BackupNotifier(private val context: Context) { | ||||
|  | ||||
|   | ||||
| @@ -34,6 +34,10 @@ import eu.kanade.tachiyomi.data.track.TrackManager | ||||
| import eu.kanade.tachiyomi.source.Source | ||||
| import eu.kanade.tachiyomi.util.system.acquireWakeLock | ||||
| import eu.kanade.tachiyomi.util.system.isServiceRunning | ||||
| import java.io.File | ||||
| import java.text.SimpleDateFormat | ||||
| import java.util.Date | ||||
| import java.util.Locale | ||||
| import kotlinx.coroutines.CoroutineExceptionHandler | ||||
| import kotlinx.coroutines.GlobalScope | ||||
| import kotlinx.coroutines.Job | ||||
| @@ -41,10 +45,6 @@ import kotlinx.coroutines.launch | ||||
| import rx.Observable | ||||
| import timber.log.Timber | ||||
| import uy.kohesive.injekt.injectLazy | ||||
| import java.io.File | ||||
| import java.text.SimpleDateFormat | ||||
| import java.util.Date | ||||
| import java.util.Locale | ||||
|  | ||||
| /** | ||||
|  * Restores backup from a JSON file. | ||||
|   | ||||
| @@ -9,13 +9,13 @@ import eu.kanade.tachiyomi.data.database.models.Chapter | ||||
| import eu.kanade.tachiyomi.source.model.Page | ||||
| import eu.kanade.tachiyomi.util.storage.DiskUtil | ||||
| import eu.kanade.tachiyomi.util.storage.saveTo | ||||
| import java.io.File | ||||
| import java.io.IOException | ||||
| import okhttp3.Response | ||||
| import okio.buffer | ||||
| import okio.sink | ||||
| import rx.Observable | ||||
| import uy.kohesive.injekt.injectLazy | ||||
| import java.io.File | ||||
| import java.io.IOException | ||||
|  | ||||
| /** | ||||
|  * Class used to create chapter cache | ||||
|   | ||||
| @@ -7,10 +7,10 @@ import eu.kanade.tachiyomi.data.database.models.Chapter | ||||
| import eu.kanade.tachiyomi.data.database.models.Manga | ||||
| import eu.kanade.tachiyomi.data.preference.PreferencesHelper | ||||
| import eu.kanade.tachiyomi.source.SourceManager | ||||
| import java.util.concurrent.TimeUnit | ||||
| import kotlinx.coroutines.flow.onEach | ||||
| import uy.kohesive.injekt.Injekt | ||||
| import uy.kohesive.injekt.api.get | ||||
| import java.util.concurrent.TimeUnit | ||||
|  | ||||
| /** | ||||
|  * Cache where we dump the downloads directory from the filesystem. This class is needed because | ||||
|   | ||||
| @@ -12,8 +12,8 @@ import eu.kanade.tachiyomi.data.preference.PreferencesHelper | ||||
| import eu.kanade.tachiyomi.util.lang.chop | ||||
| import eu.kanade.tachiyomi.util.system.notificationBuilder | ||||
| import eu.kanade.tachiyomi.util.system.notificationManager | ||||
| import uy.kohesive.injekt.injectLazy | ||||
| import java.util.regex.Pattern | ||||
| import uy.kohesive.injekt.injectLazy | ||||
|  | ||||
| /** | ||||
|  * DownloadNotifier is used to show notifications when downloading one or multiple chapters. | ||||
|   | ||||
| @@ -22,6 +22,7 @@ import eu.kanade.tachiyomi.util.lang.plusAssign | ||||
| import eu.kanade.tachiyomi.util.storage.DiskUtil | ||||
| import eu.kanade.tachiyomi.util.storage.saveTo | ||||
| import eu.kanade.tachiyomi.util.system.ImageUtil | ||||
| import java.io.File | ||||
| import kotlinx.coroutines.async | ||||
| import okhttp3.Response | ||||
| import rx.Observable | ||||
| @@ -30,7 +31,6 @@ import rx.schedulers.Schedulers | ||||
| import rx.subscriptions.CompositeSubscription | ||||
| import timber.log.Timber | ||||
| import uy.kohesive.injekt.injectLazy | ||||
| import java.io.File | ||||
|  | ||||
| /** | ||||
|  * This class is the one in charge of downloading chapters. | ||||
|   | ||||
| @@ -5,9 +5,9 @@ import eu.kanade.tachiyomi.data.database.models.Chapter | ||||
| import eu.kanade.tachiyomi.data.database.models.Manga | ||||
| import eu.kanade.tachiyomi.data.download.DownloadStore | ||||
| import eu.kanade.tachiyomi.source.model.Page | ||||
| import java.util.concurrent.CopyOnWriteArrayList | ||||
| import rx.Observable | ||||
| import rx.subjects.PublishSubject | ||||
| import java.util.concurrent.CopyOnWriteArrayList | ||||
|  | ||||
| class DownloadQueue( | ||||
|     private val store: DownloadStore, | ||||
|   | ||||
| @@ -5,12 +5,12 @@ import android.util.Log | ||||
| import com.bumptech.glide.Priority | ||||
| import com.bumptech.glide.load.DataSource | ||||
| import com.bumptech.glide.load.data.DataFetcher | ||||
| import timber.log.Timber | ||||
| import java.io.File | ||||
| import java.io.FileInputStream | ||||
| import java.io.FileNotFoundException | ||||
| import java.io.IOException | ||||
| import java.io.InputStream | ||||
| import timber.log.Timber | ||||
|  | ||||
| open class FileFetcher(private val filePath: String = "") : DataFetcher<InputStream> { | ||||
|  | ||||
|   | ||||
| @@ -14,10 +14,10 @@ import eu.kanade.tachiyomi.network.NetworkHelper | ||||
| import eu.kanade.tachiyomi.source.SourceManager | ||||
| import eu.kanade.tachiyomi.source.online.HttpSource | ||||
| import eu.kanade.tachiyomi.util.isLocal | ||||
| import java.io.InputStream | ||||
| import uy.kohesive.injekt.Injekt | ||||
| import uy.kohesive.injekt.api.get | ||||
| import uy.kohesive.injekt.injectLazy | ||||
| import java.io.InputStream | ||||
|  | ||||
| /** | ||||
|  * A class for loading a cover associated with a [Manga] that can be present in our own cache. | ||||
|   | ||||
| @@ -14,9 +14,9 @@ import com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions | ||||
| import com.bumptech.glide.module.AppGlideModule | ||||
| import com.bumptech.glide.request.RequestOptions | ||||
| import eu.kanade.tachiyomi.network.NetworkHelper | ||||
| import java.io.InputStream | ||||
| import uy.kohesive.injekt.Injekt | ||||
| import uy.kohesive.injekt.api.get | ||||
| import java.io.InputStream | ||||
|  | ||||
| /** | ||||
|  * Class used to update Glide module settings | ||||
|   | ||||
| @@ -9,9 +9,9 @@ import androidx.work.WorkManager | ||||
| import androidx.work.Worker | ||||
| import androidx.work.WorkerParameters | ||||
| import eu.kanade.tachiyomi.data.preference.PreferencesHelper | ||||
| import java.util.concurrent.TimeUnit | ||||
| import uy.kohesive.injekt.Injekt | ||||
| import uy.kohesive.injekt.api.get | ||||
| import java.util.concurrent.TimeUnit | ||||
|  | ||||
| class LibraryUpdateJob(private val context: Context, workerParams: WorkerParameters) : | ||||
|     Worker(context, workerParams) { | ||||
|   | ||||
| @@ -22,9 +22,9 @@ import eu.kanade.tachiyomi.util.lang.chop | ||||
| import eu.kanade.tachiyomi.util.system.notification | ||||
| import eu.kanade.tachiyomi.util.system.notificationBuilder | ||||
| import eu.kanade.tachiyomi.util.system.notificationManager | ||||
| import uy.kohesive.injekt.injectLazy | ||||
| import java.text.DecimalFormat | ||||
| import java.text.DecimalFormatSymbols | ||||
| import uy.kohesive.injekt.injectLazy | ||||
|  | ||||
| class LibraryUpdateNotifier(private val context: Context) { | ||||
|  | ||||
|   | ||||
| @@ -27,14 +27,14 @@ import eu.kanade.tachiyomi.util.shouldDownloadNewChapters | ||||
| import eu.kanade.tachiyomi.util.storage.getUriCompat | ||||
| import eu.kanade.tachiyomi.util.system.acquireWakeLock | ||||
| import eu.kanade.tachiyomi.util.system.isServiceRunning | ||||
| import java.io.File | ||||
| import java.util.concurrent.atomic.AtomicInteger | ||||
| import rx.Observable | ||||
| import rx.Subscription | ||||
| import rx.schedulers.Schedulers | ||||
| import timber.log.Timber | ||||
| import uy.kohesive.injekt.Injekt | ||||
| import uy.kohesive.injekt.api.get | ||||
| import java.io.File | ||||
| import java.util.concurrent.atomic.AtomicInteger | ||||
|  | ||||
| /** | ||||
|  * This class will take care of updating the chapters of the manga from the library. It can be | ||||
|   | ||||
| @@ -7,6 +7,7 @@ import android.content.Intent | ||||
| import android.net.Uri | ||||
| import android.os.Build | ||||
| import android.os.Handler | ||||
| import eu.kanade.tachiyomi.BuildConfig.APPLICATION_ID as ID | ||||
| import eu.kanade.tachiyomi.R | ||||
| import eu.kanade.tachiyomi.data.backup.BackupRestoreService | ||||
| import eu.kanade.tachiyomi.data.database.DatabaseHelper | ||||
| @@ -25,11 +26,10 @@ import eu.kanade.tachiyomi.util.storage.DiskUtil | ||||
| import eu.kanade.tachiyomi.util.storage.getUriCompat | ||||
| import eu.kanade.tachiyomi.util.system.notificationManager | ||||
| import eu.kanade.tachiyomi.util.system.toast | ||||
| import java.io.File | ||||
| import uy.kohesive.injekt.Injekt | ||||
| import uy.kohesive.injekt.api.get | ||||
| import uy.kohesive.injekt.injectLazy | ||||
| import java.io.File | ||||
| import eu.kanade.tachiyomi.BuildConfig.APPLICATION_ID as ID | ||||
|  | ||||
| /** | ||||
|  * Global [BroadcastReceiver] that runs on UI thread | ||||
|   | ||||
| @@ -7,19 +7,19 @@ import androidx.preference.PreferenceManager | ||||
| import com.tfcporciuncula.flow.FlowSharedPreferences | ||||
| import com.tfcporciuncula.flow.Preference | ||||
| import eu.kanade.tachiyomi.R | ||||
| import eu.kanade.tachiyomi.data.preference.PreferenceKeys as Keys | ||||
| import eu.kanade.tachiyomi.data.preference.PreferenceValues as Values | ||||
| import eu.kanade.tachiyomi.data.preference.PreferenceValues.DisplayMode | ||||
| import eu.kanade.tachiyomi.data.preference.PreferenceValues.NsfwAllowance | ||||
| import eu.kanade.tachiyomi.data.track.TrackService | ||||
| import eu.kanade.tachiyomi.data.track.anilist.Anilist | ||||
| import kotlinx.coroutines.ExperimentalCoroutinesApi | ||||
| import kotlinx.coroutines.flow.Flow | ||||
| import kotlinx.coroutines.flow.onEach | ||||
| import java.io.File | ||||
| import java.text.DateFormat | ||||
| import java.text.SimpleDateFormat | ||||
| import java.util.Locale | ||||
| import eu.kanade.tachiyomi.data.preference.PreferenceKeys as Keys | ||||
| import eu.kanade.tachiyomi.data.preference.PreferenceValues as Values | ||||
| import kotlinx.coroutines.ExperimentalCoroutinesApi | ||||
| import kotlinx.coroutines.flow.Flow | ||||
| import kotlinx.coroutines.flow.onEach | ||||
|  | ||||
| @OptIn(ExperimentalCoroutinesApi::class) | ||||
| fun <T> Preference<T>.asImmediateFlow(block: (value: T) -> Unit): Flow<T> { | ||||
|   | ||||
| @@ -13,12 +13,12 @@ import com.google.gson.JsonParser | ||||
| import eu.kanade.tachiyomi.data.database.models.Track | ||||
| import eu.kanade.tachiyomi.data.track.model.TrackSearch | ||||
| import eu.kanade.tachiyomi.network.asObservableSuccess | ||||
| import java.util.Calendar | ||||
| import okhttp3.MediaType.Companion.toMediaTypeOrNull | ||||
| import okhttp3.OkHttpClient | ||||
| import okhttp3.Request | ||||
| import okhttp3.RequestBody.Companion.toRequestBody | ||||
| import rx.Observable | ||||
| import java.util.Calendar | ||||
|  | ||||
| class AnilistApi(val client: OkHttpClient, interceptor: AnilistInterceptor) { | ||||
|  | ||||
|   | ||||
| @@ -4,9 +4,9 @@ import eu.kanade.tachiyomi.data.database.models.Track | ||||
| import eu.kanade.tachiyomi.data.preference.PreferencesHelper | ||||
| import eu.kanade.tachiyomi.data.track.TrackManager | ||||
| import eu.kanade.tachiyomi.data.track.model.TrackSearch | ||||
| import uy.kohesive.injekt.injectLazy | ||||
| import java.text.SimpleDateFormat | ||||
| import java.util.Locale | ||||
| import uy.kohesive.injekt.injectLazy | ||||
|  | ||||
| data class ALManga( | ||||
|     val media_id: Int, | ||||
|   | ||||
| @@ -12,13 +12,13 @@ import eu.kanade.tachiyomi.data.track.TrackManager | ||||
| import eu.kanade.tachiyomi.data.track.model.TrackSearch | ||||
| import eu.kanade.tachiyomi.network.POST | ||||
| import eu.kanade.tachiyomi.network.asObservableSuccess | ||||
| import java.net.URLEncoder | ||||
| import okhttp3.CacheControl | ||||
| import okhttp3.FormBody | ||||
| import okhttp3.OkHttpClient | ||||
| import okhttp3.Request | ||||
| import rx.Observable | ||||
| import uy.kohesive.injekt.injectLazy | ||||
| import java.net.URLEncoder | ||||
|  | ||||
| class BangumiApi(private val client: OkHttpClient, interceptor: BangumiInterceptor) { | ||||
|  | ||||
|   | ||||
| @@ -7,10 +7,10 @@ import eu.kanade.tachiyomi.R | ||||
| import eu.kanade.tachiyomi.data.database.models.Track | ||||
| import eu.kanade.tachiyomi.data.track.TrackService | ||||
| import eu.kanade.tachiyomi.data.track.model.TrackSearch | ||||
| import java.text.DecimalFormat | ||||
| import rx.Completable | ||||
| import rx.Observable | ||||
| import uy.kohesive.injekt.injectLazy | ||||
| import java.text.DecimalFormat | ||||
|  | ||||
| class Kitsu(private val context: Context, id: Int) : TrackService(id) { | ||||
|  | ||||
|   | ||||
| @@ -11,6 +11,13 @@ import eu.kanade.tachiyomi.network.asObservableSuccess | ||||
| import eu.kanade.tachiyomi.util.lang.toCalendar | ||||
| import eu.kanade.tachiyomi.util.selectInt | ||||
| import eu.kanade.tachiyomi.util.selectText | ||||
| import java.io.BufferedReader | ||||
| import java.io.InputStreamReader | ||||
| import java.text.SimpleDateFormat | ||||
| import java.util.Calendar | ||||
| import java.util.GregorianCalendar | ||||
| import java.util.Locale | ||||
| import java.util.zip.GZIPInputStream | ||||
| import okhttp3.FormBody | ||||
| import okhttp3.MediaType.Companion.toMediaTypeOrNull | ||||
| import okhttp3.OkHttpClient | ||||
| @@ -23,13 +30,6 @@ import org.jsoup.nodes.Document | ||||
| import org.jsoup.nodes.Element | ||||
| import org.jsoup.parser.Parser | ||||
| import rx.Observable | ||||
| import java.io.BufferedReader | ||||
| import java.io.InputStreamReader | ||||
| import java.text.SimpleDateFormat | ||||
| import java.util.Calendar | ||||
| import java.util.GregorianCalendar | ||||
| import java.util.Locale | ||||
| import java.util.zip.GZIPInputStream | ||||
|  | ||||
| class MyAnimeListApi(private val client: OkHttpClient, interceptor: MyAnimeListInterceptor) { | ||||
|  | ||||
|   | ||||
| @@ -14,8 +14,8 @@ import androidx.work.WorkerParameters | ||||
| import eu.kanade.tachiyomi.R | ||||
| import eu.kanade.tachiyomi.data.notification.Notifications | ||||
| import eu.kanade.tachiyomi.util.system.notificationManager | ||||
| import kotlinx.coroutines.runBlocking | ||||
| import java.util.concurrent.TimeUnit | ||||
| import kotlinx.coroutines.runBlocking | ||||
|  | ||||
| class UpdaterJob(private val context: Context, workerParams: WorkerParameters) : | ||||
|     Worker(context, workerParams) { | ||||
|   | ||||
| @@ -20,9 +20,9 @@ import eu.kanade.tachiyomi.util.storage.getUriCompat | ||||
| import eu.kanade.tachiyomi.util.storage.saveTo | ||||
| import eu.kanade.tachiyomi.util.system.acquireWakeLock | ||||
| import eu.kanade.tachiyomi.util.system.isServiceRunning | ||||
| import java.io.File | ||||
| import timber.log.Timber | ||||
| import uy.kohesive.injekt.injectLazy | ||||
| import java.io.File | ||||
|  | ||||
| class UpdaterService : Service() { | ||||
|  | ||||
|   | ||||
| @@ -16,10 +16,10 @@ import eu.kanade.tachiyomi.data.notification.Notifications | ||||
| import eu.kanade.tachiyomi.data.preference.PreferencesHelper | ||||
| import eu.kanade.tachiyomi.extension.api.ExtensionGithubApi | ||||
| import eu.kanade.tachiyomi.util.system.notification | ||||
| import java.util.concurrent.TimeUnit | ||||
| import kotlinx.coroutines.coroutineScope | ||||
| import uy.kohesive.injekt.Injekt | ||||
| import uy.kohesive.injekt.api.get | ||||
| import java.util.concurrent.TimeUnit | ||||
|  | ||||
| class ExtensionUpdateJob(private val context: Context, workerParams: WorkerParameters) : | ||||
|     CoroutineWorker(context, workerParams) { | ||||
|   | ||||
| @@ -9,10 +9,10 @@ import eu.kanade.tachiyomi.data.preference.PreferencesHelper | ||||
| import eu.kanade.tachiyomi.extension.model.Extension | ||||
| import eu.kanade.tachiyomi.extension.model.LoadResult | ||||
| import eu.kanade.tachiyomi.extension.util.ExtensionLoader | ||||
| import java.util.Date | ||||
| import kotlinx.coroutines.Dispatchers | ||||
| import kotlinx.coroutines.withContext | ||||
| import uy.kohesive.injekt.injectLazy | ||||
| import java.util.Date | ||||
|  | ||||
| internal class ExtensionGithubApi { | ||||
|  | ||||
|   | ||||
| @@ -13,11 +13,11 @@ import com.jakewharton.rxrelay.PublishRelay | ||||
| import eu.kanade.tachiyomi.extension.model.Extension | ||||
| import eu.kanade.tachiyomi.extension.model.InstallStep | ||||
| import eu.kanade.tachiyomi.util.storage.getUriCompat | ||||
| import java.io.File | ||||
| import java.util.concurrent.TimeUnit | ||||
| import rx.Observable | ||||
| import rx.android.schedulers.AndroidSchedulers | ||||
| import timber.log.Timber | ||||
| import java.io.File | ||||
| import java.util.concurrent.TimeUnit | ||||
|  | ||||
| /** | ||||
|  * The installer which installs, updates and uninstalls the extensions. | ||||
|   | ||||
| @@ -16,15 +16,15 @@ import eu.kanade.tachiyomi.util.system.WebViewUtil | ||||
| import eu.kanade.tachiyomi.util.system.isOutdated | ||||
| import eu.kanade.tachiyomi.util.system.setDefaultSettings | ||||
| import eu.kanade.tachiyomi.util.system.toast | ||||
| import java.io.IOException | ||||
| import java.util.concurrent.CountDownLatch | ||||
| import java.util.concurrent.TimeUnit | ||||
| import okhttp3.Cookie | ||||
| import okhttp3.HttpUrl.Companion.toHttpUrl | ||||
| import okhttp3.Interceptor | ||||
| import okhttp3.Request | ||||
| import okhttp3.Response | ||||
| import uy.kohesive.injekt.injectLazy | ||||
| import java.io.IOException | ||||
| import java.util.concurrent.CountDownLatch | ||||
| import java.util.concurrent.TimeUnit | ||||
|  | ||||
| class CloudflareInterceptor(private val context: Context) : Interceptor { | ||||
|  | ||||
|   | ||||
| @@ -3,15 +3,15 @@ package eu.kanade.tachiyomi.network | ||||
| import android.content.Context | ||||
| import eu.kanade.tachiyomi.BuildConfig | ||||
| import eu.kanade.tachiyomi.data.preference.PreferencesHelper | ||||
| import java.io.File | ||||
| import java.net.InetAddress | ||||
| import java.util.concurrent.TimeUnit | ||||
| import okhttp3.Cache | ||||
| import okhttp3.HttpUrl.Companion.toHttpUrl | ||||
| import okhttp3.OkHttpClient | ||||
| import okhttp3.dnsoverhttps.DnsOverHttps | ||||
| import okhttp3.logging.HttpLoggingInterceptor | ||||
| import uy.kohesive.injekt.injectLazy | ||||
| import java.io.File | ||||
| import java.net.InetAddress | ||||
| import java.util.concurrent.TimeUnit | ||||
|  | ||||
| class NetworkHelper(context: Context) { | ||||
|  | ||||
|   | ||||
| @@ -1,5 +1,9 @@ | ||||
| package eu.kanade.tachiyomi.network | ||||
|  | ||||
| import java.io.IOException | ||||
| import java.util.concurrent.atomic.AtomicBoolean | ||||
| import kotlin.coroutines.resume | ||||
| import kotlin.coroutines.resumeWithException | ||||
| import kotlinx.coroutines.suspendCancellableCoroutine | ||||
| import okhttp3.Call | ||||
| import okhttp3.Callback | ||||
| @@ -9,10 +13,6 @@ import okhttp3.Response | ||||
| import rx.Observable | ||||
| import rx.Producer | ||||
| import rx.Subscription | ||||
| import java.io.IOException | ||||
| import java.util.concurrent.atomic.AtomicBoolean | ||||
| import kotlin.coroutines.resume | ||||
| import kotlin.coroutines.resumeWithException | ||||
|  | ||||
| fun Call.asObservable(): Observable<Response> { | ||||
|     return Observable.unsafeCreate { subscriber -> | ||||
|   | ||||
| @@ -1,5 +1,6 @@ | ||||
| package eu.kanade.tachiyomi.network | ||||
|  | ||||
| import java.io.IOException | ||||
| import okhttp3.MediaType | ||||
| import okhttp3.ResponseBody | ||||
| import okio.Buffer | ||||
| @@ -7,7 +8,6 @@ import okio.BufferedSource | ||||
| import okio.ForwardingSource | ||||
| import okio.Source | ||||
| import okio.buffer | ||||
| import java.io.IOException | ||||
|  | ||||
| class ProgressResponseBody(private val responseBody: ResponseBody, private val progressListener: ProgressListener) : ResponseBody() { | ||||
|  | ||||
|   | ||||
| @@ -1,11 +1,11 @@ | ||||
| package eu.kanade.tachiyomi.network | ||||
|  | ||||
| import java.util.concurrent.TimeUnit.MINUTES | ||||
| import okhttp3.CacheControl | ||||
| import okhttp3.FormBody | ||||
| import okhttp3.Headers | ||||
| import okhttp3.Request | ||||
| import okhttp3.RequestBody | ||||
| import java.util.concurrent.TimeUnit.MINUTES | ||||
|  | ||||
| private val DEFAULT_CACHE_CONTROL = CacheControl.Builder().maxAge(10, MINUTES).build() | ||||
| private val DEFAULT_HEADERS = Headers.Builder().build() | ||||
|   | ||||
| @@ -14,10 +14,6 @@ import eu.kanade.tachiyomi.util.lang.compareToCaseInsensitiveNaturalOrder | ||||
| import eu.kanade.tachiyomi.util.storage.DiskUtil | ||||
| import eu.kanade.tachiyomi.util.storage.EpubFile | ||||
| import eu.kanade.tachiyomi.util.system.ImageUtil | ||||
| import junrar.Archive | ||||
| import junrar.rarfile.FileHeader | ||||
| import rx.Observable | ||||
| import timber.log.Timber | ||||
| import java.io.File | ||||
| import java.io.FileInputStream | ||||
| import java.io.InputStream | ||||
| @@ -25,6 +21,10 @@ import java.util.Locale | ||||
| import java.util.concurrent.TimeUnit | ||||
| import java.util.zip.ZipEntry | ||||
| import java.util.zip.ZipFile | ||||
| import junrar.Archive | ||||
| import junrar.rarfile.FileHeader | ||||
| import rx.Observable | ||||
| import timber.log.Timber | ||||
|  | ||||
| class LocalSource(private val context: Context) : CatalogueSource { | ||||
|     companion object { | ||||
|   | ||||
| @@ -10,15 +10,15 @@ import eu.kanade.tachiyomi.source.model.MangasPage | ||||
| import eu.kanade.tachiyomi.source.model.Page | ||||
| import eu.kanade.tachiyomi.source.model.SChapter | ||||
| import eu.kanade.tachiyomi.source.model.SManga | ||||
| import java.net.URI | ||||
| import java.net.URISyntaxException | ||||
| import java.security.MessageDigest | ||||
| import okhttp3.Headers | ||||
| import okhttp3.OkHttpClient | ||||
| import okhttp3.Request | ||||
| import okhttp3.Response | ||||
| import rx.Observable | ||||
| import uy.kohesive.injekt.injectLazy | ||||
| import java.net.URI | ||||
| import java.net.URISyntaxException | ||||
| import java.security.MessageDigest | ||||
|  | ||||
| /** | ||||
|  * A simple implementation for sources from a website. | ||||
|   | ||||
| @@ -7,11 +7,11 @@ import androidx.appcompat.app.AppCompatActivity | ||||
| import androidx.lifecycle.lifecycleScope | ||||
| import androidx.viewbinding.ViewBinding | ||||
| import eu.kanade.tachiyomi.R | ||||
| import eu.kanade.tachiyomi.data.preference.PreferenceValues as Values | ||||
| import eu.kanade.tachiyomi.data.preference.PreferencesHelper | ||||
| import eu.kanade.tachiyomi.ui.security.SecureActivityDelegate | ||||
| import eu.kanade.tachiyomi.util.system.LocaleHelper | ||||
| import uy.kohesive.injekt.injectLazy | ||||
| import eu.kanade.tachiyomi.data.preference.PreferenceValues as Values | ||||
|  | ||||
| abstract class BaseActivity<VB : ViewBinding> : AppCompatActivity() { | ||||
|  | ||||
|   | ||||
| @@ -10,12 +10,12 @@ import eu.kanade.tachiyomi.extension.model.Extension | ||||
| import eu.kanade.tachiyomi.extension.model.InstallStep | ||||
| import eu.kanade.tachiyomi.ui.base.presenter.BasePresenter | ||||
| import eu.kanade.tachiyomi.util.system.LocaleHelper | ||||
| import java.util.concurrent.TimeUnit | ||||
| import rx.Observable | ||||
| import rx.Subscription | ||||
| import rx.android.schedulers.AndroidSchedulers | ||||
| import uy.kohesive.injekt.Injekt | ||||
| import uy.kohesive.injekt.api.get | ||||
| import java.util.concurrent.TimeUnit | ||||
|  | ||||
| private typealias ExtensionTuple = | ||||
|     Triple<List<Extension.Installed>, List<Extension.Untrusted>, List<Extension.Available>> | ||||
|   | ||||
| @@ -13,10 +13,10 @@ import eu.kanade.tachiyomi.ui.browse.source.globalsearch.GlobalSearchCardItem | ||||
| import eu.kanade.tachiyomi.ui.browse.source.globalsearch.GlobalSearchItem | ||||
| import eu.kanade.tachiyomi.ui.browse.source.globalsearch.GlobalSearchPresenter | ||||
| import eu.kanade.tachiyomi.util.chapter.syncChaptersWithSource | ||||
| import java.util.Date | ||||
| import rx.Observable | ||||
| import rx.android.schedulers.AndroidSchedulers | ||||
| import rx.schedulers.Schedulers | ||||
| import java.util.Date | ||||
|  | ||||
| class SearchPresenter( | ||||
|     initialQuery: String? = "", | ||||
|   | ||||
| @@ -16,9 +16,9 @@ import eu.kanade.tachiyomi.util.preference.onChange | ||||
| import eu.kanade.tachiyomi.util.preference.switchPreferenceCategory | ||||
| import eu.kanade.tachiyomi.util.preference.titleRes | ||||
| import eu.kanade.tachiyomi.util.system.LocaleHelper | ||||
| import java.util.TreeMap | ||||
| import uy.kohesive.injekt.Injekt | ||||
| import uy.kohesive.injekt.api.get | ||||
| import java.util.TreeMap | ||||
|  | ||||
| class SourceFilterController : SettingsController() { | ||||
|  | ||||
|   | ||||
| @@ -6,6 +6,7 @@ import eu.kanade.tachiyomi.source.CatalogueSource | ||||
| import eu.kanade.tachiyomi.source.LocalSource | ||||
| import eu.kanade.tachiyomi.source.SourceManager | ||||
| import eu.kanade.tachiyomi.ui.base.presenter.BasePresenter | ||||
| import java.util.TreeMap | ||||
| import kotlinx.coroutines.CoroutineScope | ||||
| import kotlinx.coroutines.Dispatchers | ||||
| import kotlinx.coroutines.Job | ||||
| @@ -20,7 +21,6 @@ import rx.Observable | ||||
| import rx.Subscription | ||||
| import uy.kohesive.injekt.Injekt | ||||
| import uy.kohesive.injekt.api.get | ||||
| import java.util.TreeMap | ||||
|  | ||||
| /** | ||||
|  * Presenter of [SourceController] | ||||
|   | ||||
| @@ -29,6 +29,7 @@ import eu.kanade.tachiyomi.ui.browse.source.filter.TextSectionItem | ||||
| import eu.kanade.tachiyomi.ui.browse.source.filter.TriStateItem | ||||
| import eu.kanade.tachiyomi.ui.browse.source.filter.TriStateSectionItem | ||||
| import eu.kanade.tachiyomi.util.removeCovers | ||||
| import java.util.Date | ||||
| import kotlinx.coroutines.flow.subscribe | ||||
| import rx.Observable | ||||
| import rx.Subscription | ||||
| @@ -38,7 +39,6 @@ import rx.subjects.PublishSubject | ||||
| import timber.log.Timber | ||||
| import uy.kohesive.injekt.Injekt | ||||
| import uy.kohesive.injekt.api.get | ||||
| import java.util.Date | ||||
|  | ||||
| /** | ||||
|  * Presenter of [BrowseSourceController]. | ||||
|   | ||||
| @@ -9,10 +9,10 @@ import eu.davidea.flexibleadapter.FlexibleAdapter | ||||
| import eu.davidea.flexibleadapter.items.AbstractFlexibleItem | ||||
| import eu.davidea.flexibleadapter.items.IFlexible | ||||
| import eu.davidea.viewholders.FlexibleViewHolder | ||||
| import eu.kanade.tachiyomi.R as TR | ||||
| import eu.kanade.tachiyomi.source.model.Filter | ||||
| import eu.kanade.tachiyomi.util.system.dpToPx | ||||
| import eu.kanade.tachiyomi.util.system.getResourceColor | ||||
| import eu.kanade.tachiyomi.R as TR | ||||
|  | ||||
| open class TriStateItem(val filter: Filter.TriState) : AbstractFlexibleItem<TriStateItem.Holder>() { | ||||
|  | ||||
|   | ||||
| @@ -18,13 +18,13 @@ import eu.kanade.tachiyomi.source.model.Page | ||||
| import eu.kanade.tachiyomi.ui.base.controller.FabController | ||||
| import eu.kanade.tachiyomi.ui.base.controller.NucleusController | ||||
| import eu.kanade.tachiyomi.util.view.shrinkOnScroll | ||||
| import java.util.concurrent.TimeUnit | ||||
| import kotlinx.coroutines.flow.launchIn | ||||
| import kotlinx.coroutines.flow.onEach | ||||
| import reactivecircus.flowbinding.android.view.clicks | ||||
| import rx.Observable | ||||
| import rx.Subscription | ||||
| import rx.android.schedulers.AndroidSchedulers | ||||
| import java.util.concurrent.TimeUnit | ||||
|  | ||||
| /** | ||||
|  * Controller that shows the currently active downloads. | ||||
|   | ||||
| @@ -19,14 +19,14 @@ import eu.kanade.tachiyomi.util.lang.combineLatest | ||||
| import eu.kanade.tachiyomi.util.lang.isNullOrUnsubscribed | ||||
| import eu.kanade.tachiyomi.util.lang.launchIO | ||||
| import eu.kanade.tachiyomi.util.removeCovers | ||||
| import java.util.Collections | ||||
| import java.util.Comparator | ||||
| import rx.Observable | ||||
| import rx.Subscription | ||||
| import rx.android.schedulers.AndroidSchedulers | ||||
| import rx.schedulers.Schedulers | ||||
| import uy.kohesive.injekt.Injekt | ||||
| import uy.kohesive.injekt.api.get | ||||
| import java.util.Collections | ||||
| import java.util.Comparator | ||||
|  | ||||
| /** | ||||
|  * Class containing library information. | ||||
|   | ||||
| @@ -44,13 +44,13 @@ import eu.kanade.tachiyomi.ui.recent.updates.UpdatesController | ||||
| import eu.kanade.tachiyomi.util.lang.launchIO | ||||
| import eu.kanade.tachiyomi.util.lang.launchUI | ||||
| import eu.kanade.tachiyomi.util.system.toast | ||||
| import java.util.Date | ||||
| import java.util.concurrent.TimeUnit | ||||
| import kotlinx.android.synthetic.main.main_activity.appbar | ||||
| import kotlinx.android.synthetic.main.main_activity.tabs | ||||
| import kotlinx.coroutines.delay | ||||
| import kotlinx.coroutines.flow.launchIn | ||||
| import timber.log.Timber | ||||
| import java.util.Date | ||||
| import java.util.concurrent.TimeUnit | ||||
|  | ||||
| class MainActivity : BaseActivity<MainActivityBinding>() { | ||||
|  | ||||
|   | ||||
| @@ -71,6 +71,7 @@ import eu.kanade.tachiyomi.util.system.toast | ||||
| import eu.kanade.tachiyomi.util.view.getCoordinates | ||||
| import eu.kanade.tachiyomi.util.view.shrinkOnScroll | ||||
| import eu.kanade.tachiyomi.util.view.snack | ||||
| import kotlin.math.min | ||||
| import kotlinx.android.synthetic.main.main_activity.root_coordinator | ||||
| import kotlinx.android.synthetic.main.main_activity.toolbar | ||||
| import kotlinx.coroutines.flow.launchIn | ||||
| @@ -82,7 +83,6 @@ import timber.log.Timber | ||||
| import uy.kohesive.injekt.Injekt | ||||
| import uy.kohesive.injekt.api.get | ||||
| import uy.kohesive.injekt.injectLazy | ||||
| import kotlin.math.min | ||||
|  | ||||
| class MangaController : | ||||
|     NucleusController<MangaControllerBinding, MangaPresenter>, | ||||
|   | ||||
| @@ -26,6 +26,7 @@ import eu.kanade.tachiyomi.util.prepUpdateCover | ||||
| import eu.kanade.tachiyomi.util.removeCovers | ||||
| import eu.kanade.tachiyomi.util.shouldDownloadNewChapters | ||||
| import eu.kanade.tachiyomi.util.updateCoverLastModified | ||||
| import java.util.Date | ||||
| import rx.Observable | ||||
| import rx.Subscription | ||||
| import rx.android.schedulers.AndroidSchedulers | ||||
| @@ -33,7 +34,6 @@ import rx.schedulers.Schedulers | ||||
| import timber.log.Timber | ||||
| import uy.kohesive.injekt.Injekt | ||||
| import uy.kohesive.injekt.api.get | ||||
| import java.util.Date | ||||
|  | ||||
| class MangaPresenter( | ||||
|     val manga: Manga, | ||||
|   | ||||
| @@ -9,11 +9,11 @@ import eu.kanade.tachiyomi.R | ||||
| import eu.kanade.tachiyomi.data.database.models.Manga | ||||
| import eu.kanade.tachiyomi.data.download.model.Download | ||||
| import eu.kanade.tachiyomi.ui.base.holder.BaseFlexibleViewHolder | ||||
| import java.util.Date | ||||
| import kotlinx.android.synthetic.main.chapters_item.bookmark_icon | ||||
| import kotlinx.android.synthetic.main.chapters_item.chapter_description | ||||
| import kotlinx.android.synthetic.main.chapters_item.chapter_title | ||||
| import kotlinx.android.synthetic.main.chapters_item.download_text | ||||
| import java.util.Date | ||||
|  | ||||
| class ChapterHolder( | ||||
|     view: View, | ||||
|   | ||||
| @@ -6,10 +6,10 @@ import eu.kanade.tachiyomi.R | ||||
| import eu.kanade.tachiyomi.data.preference.PreferencesHelper | ||||
| import eu.kanade.tachiyomi.ui.manga.MangaController | ||||
| import eu.kanade.tachiyomi.util.system.getResourceColor | ||||
| import uy.kohesive.injekt.injectLazy | ||||
| import java.text.DateFormat | ||||
| import java.text.DecimalFormat | ||||
| import java.text.DecimalFormatSymbols | ||||
| import uy.kohesive.injekt.injectLazy | ||||
|  | ||||
| class ChaptersAdapter( | ||||
|     controller: MangaController, | ||||
|   | ||||
| @@ -9,9 +9,9 @@ import eu.kanade.tachiyomi.R | ||||
| import eu.kanade.tachiyomi.data.database.models.Track | ||||
| import eu.kanade.tachiyomi.data.track.TrackManager | ||||
| import eu.kanade.tachiyomi.ui.base.controller.DialogController | ||||
| import java.util.Calendar | ||||
| import uy.kohesive.injekt.Injekt | ||||
| import uy.kohesive.injekt.api.get | ||||
| import java.util.Calendar | ||||
|  | ||||
| class SetTrackReadingDatesDialog<T> : DialogController | ||||
|         where T : Controller, T : SetTrackReadingDatesDialog.Listener { | ||||
|   | ||||
| @@ -5,8 +5,8 @@ import androidx.core.view.isVisible | ||||
| import eu.kanade.tachiyomi.data.preference.PreferencesHelper | ||||
| import eu.kanade.tachiyomi.databinding.TrackItemBinding | ||||
| import eu.kanade.tachiyomi.ui.base.holder.BaseViewHolder | ||||
| import uy.kohesive.injekt.injectLazy | ||||
| import java.text.DateFormat | ||||
| import uy.kohesive.injekt.injectLazy | ||||
|  | ||||
| class TrackHolder(private val binding: TrackItemBinding, adapter: TrackAdapter) : BaseViewHolder(binding.root) { | ||||
|  | ||||
|   | ||||
| @@ -13,6 +13,7 @@ import eu.kanade.tachiyomi.data.track.TrackManager | ||||
| import eu.kanade.tachiyomi.data.track.TrackService | ||||
| import eu.kanade.tachiyomi.data.track.model.TrackSearch | ||||
| import eu.kanade.tachiyomi.ui.base.controller.DialogController | ||||
| import java.util.concurrent.TimeUnit | ||||
| import kotlinx.android.synthetic.main.track_search_dialog.view.progress | ||||
| import kotlinx.android.synthetic.main.track_search_dialog.view.track_search | ||||
| import kotlinx.android.synthetic.main.track_search_dialog.view.track_search_list | ||||
| @@ -25,7 +26,6 @@ import reactivecircus.flowbinding.android.widget.itemClicks | ||||
| import reactivecircus.flowbinding.android.widget.textChanges | ||||
| import uy.kohesive.injekt.Injekt | ||||
| import uy.kohesive.injekt.api.get | ||||
| import java.util.concurrent.TimeUnit | ||||
|  | ||||
| class TrackSearchDialog : DialogController { | ||||
|  | ||||
|   | ||||
| @@ -23,12 +23,12 @@ import eu.kanade.tachiyomi.util.preference.preferenceCategory | ||||
| import eu.kanade.tachiyomi.util.preference.titleRes | ||||
| import eu.kanade.tachiyomi.util.system.copyToClipboard | ||||
| import eu.kanade.tachiyomi.util.system.toast | ||||
| import timber.log.Timber | ||||
| import java.text.DateFormat | ||||
| import java.text.ParseException | ||||
| import java.text.SimpleDateFormat | ||||
| import java.util.Locale | ||||
| import java.util.TimeZone | ||||
| import timber.log.Timber | ||||
|  | ||||
| class AboutController : SettingsController() { | ||||
|  | ||||
|   | ||||
| @@ -7,6 +7,7 @@ import androidx.preference.PreferenceScreen | ||||
| import eu.kanade.tachiyomi.R | ||||
| import eu.kanade.tachiyomi.data.download.DownloadManager | ||||
| import eu.kanade.tachiyomi.data.download.DownloadService | ||||
| import eu.kanade.tachiyomi.data.preference.PreferenceKeys as Keys | ||||
| import eu.kanade.tachiyomi.ui.base.controller.NoToolbarElevationController | ||||
| import eu.kanade.tachiyomi.ui.base.controller.RootController | ||||
| import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction | ||||
| @@ -27,7 +28,6 @@ import eu.kanade.tachiyomi.util.system.getResourceColor | ||||
| import eu.kanade.tachiyomi.util.system.openInBrowser | ||||
| import rx.android.schedulers.AndroidSchedulers | ||||
| import uy.kohesive.injekt.injectLazy | ||||
| import eu.kanade.tachiyomi.data.preference.PreferenceKeys as Keys | ||||
|  | ||||
| class MoreController : | ||||
|     SettingsController(), | ||||
|   | ||||
| @@ -56,6 +56,8 @@ import eu.kanade.tachiyomi.util.view.showBar | ||||
| import eu.kanade.tachiyomi.util.view.snack | ||||
| import eu.kanade.tachiyomi.widget.SimpleAnimationListener | ||||
| import eu.kanade.tachiyomi.widget.SimpleSeekBarListener | ||||
| import java.io.File | ||||
| import kotlin.math.abs | ||||
| import kotlinx.coroutines.FlowPreview | ||||
| import kotlinx.coroutines.delay | ||||
| import kotlinx.coroutines.flow.drop | ||||
| @@ -65,8 +67,6 @@ import kotlinx.coroutines.flow.sample | ||||
| import nucleus.factory.RequiresPresenter | ||||
| import timber.log.Timber | ||||
| import uy.kohesive.injekt.injectLazy | ||||
| import java.io.File | ||||
| import kotlin.math.abs | ||||
|  | ||||
| /** | ||||
|  * Activity containing the reader of Tachiyomi. This activity is mostly a container of the | ||||
|   | ||||
| @@ -27,6 +27,9 @@ import eu.kanade.tachiyomi.util.lang.takeBytes | ||||
| import eu.kanade.tachiyomi.util.storage.DiskUtil | ||||
| import eu.kanade.tachiyomi.util.system.ImageUtil | ||||
| import eu.kanade.tachiyomi.util.updateCoverLastModified | ||||
| import java.io.File | ||||
| import java.util.Date | ||||
| import java.util.concurrent.TimeUnit | ||||
| import rx.Completable | ||||
| import rx.Observable | ||||
| import rx.Subscription | ||||
| @@ -35,9 +38,6 @@ import rx.schedulers.Schedulers | ||||
| import timber.log.Timber | ||||
| import uy.kohesive.injekt.Injekt | ||||
| import uy.kohesive.injekt.api.get | ||||
| import java.io.File | ||||
| import java.util.Date | ||||
| import java.util.concurrent.TimeUnit | ||||
|  | ||||
| /** | ||||
|  * Presenter used by the activity to perform background operations. | ||||
|   | ||||
| @@ -4,9 +4,9 @@ import eu.kanade.tachiyomi.source.model.Page | ||||
| import eu.kanade.tachiyomi.ui.reader.model.ReaderPage | ||||
| import eu.kanade.tachiyomi.util.lang.compareToCaseInsensitiveNaturalOrder | ||||
| import eu.kanade.tachiyomi.util.system.ImageUtil | ||||
| import rx.Observable | ||||
| import java.io.File | ||||
| import java.io.FileInputStream | ||||
| import rx.Observable | ||||
|  | ||||
| /** | ||||
|  * Loader used to load a chapter from a directory given on [file]. | ||||
|   | ||||
| @@ -3,8 +3,8 @@ 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.storage.EpubFile | ||||
| import rx.Observable | ||||
| import java.io.File | ||||
| import rx.Observable | ||||
|  | ||||
| /** | ||||
|  * Loader used to load a chapter from a .epub file. | ||||
|   | ||||
| @@ -6,6 +6,9 @@ import eu.kanade.tachiyomi.source.online.HttpSource | ||||
| import eu.kanade.tachiyomi.ui.reader.model.ReaderChapter | ||||
| import eu.kanade.tachiyomi.ui.reader.model.ReaderPage | ||||
| import eu.kanade.tachiyomi.util.lang.plusAssign | ||||
| import java.util.concurrent.PriorityBlockingQueue | ||||
| import java.util.concurrent.atomic.AtomicInteger | ||||
| import kotlin.math.min | ||||
| import rx.Completable | ||||
| import rx.Observable | ||||
| import rx.schedulers.Schedulers | ||||
| @@ -15,9 +18,6 @@ import rx.subscriptions.CompositeSubscription | ||||
| import timber.log.Timber | ||||
| import uy.kohesive.injekt.Injekt | ||||
| import uy.kohesive.injekt.api.get | ||||
| import java.util.concurrent.PriorityBlockingQueue | ||||
| import java.util.concurrent.atomic.AtomicInteger | ||||
| import kotlin.math.min | ||||
|  | ||||
| /** | ||||
|  * Loader used to load chapters from an online source. | ||||
|   | ||||
| @@ -4,14 +4,14 @@ import eu.kanade.tachiyomi.source.model.Page | ||||
| import eu.kanade.tachiyomi.ui.reader.model.ReaderPage | ||||
| import eu.kanade.tachiyomi.util.lang.compareToCaseInsensitiveNaturalOrder | ||||
| import eu.kanade.tachiyomi.util.system.ImageUtil | ||||
| import junrar.Archive | ||||
| import junrar.rarfile.FileHeader | ||||
| import rx.Observable | ||||
| import java.io.File | ||||
| import java.io.InputStream | ||||
| import java.io.PipedInputStream | ||||
| import java.io.PipedOutputStream | ||||
| import java.util.concurrent.Executors | ||||
| import junrar.Archive | ||||
| import junrar.rarfile.FileHeader | ||||
| import rx.Observable | ||||
|  | ||||
| /** | ||||
|  * Loader used to load a chapter from a .rar or .cbr file. | ||||
|   | ||||
| @@ -5,11 +5,11 @@ import eu.kanade.tachiyomi.source.model.Page | ||||
| import eu.kanade.tachiyomi.ui.reader.model.ReaderPage | ||||
| import eu.kanade.tachiyomi.util.lang.compareToCaseInsensitiveNaturalOrder | ||||
| import eu.kanade.tachiyomi.util.system.ImageUtil | ||||
| import rx.Observable | ||||
| import java.io.File | ||||
| import java.nio.charset.StandardCharsets | ||||
| import java.util.zip.ZipEntry | ||||
| import java.util.zip.ZipFile | ||||
| import rx.Observable | ||||
|  | ||||
| /** | ||||
|  * Loader used to load a chapter from a .zip or .cbz file. | ||||
|   | ||||
| @@ -35,12 +35,12 @@ import eu.kanade.tachiyomi.ui.webview.WebViewActivity | ||||
| import eu.kanade.tachiyomi.util.system.ImageUtil | ||||
| import eu.kanade.tachiyomi.util.system.dpToPx | ||||
| import eu.kanade.tachiyomi.widget.ViewPagerAdapter | ||||
| import java.io.InputStream | ||||
| import java.util.concurrent.TimeUnit | ||||
| import rx.Observable | ||||
| import rx.Subscription | ||||
| import rx.android.schedulers.AndroidSchedulers | ||||
| import rx.schedulers.Schedulers | ||||
| import java.io.InputStream | ||||
| import java.util.concurrent.TimeUnit | ||||
|  | ||||
| /** | ||||
|  * View of the ViewPager that contains a page of a chapter. | ||||
|   | ||||
| @@ -32,12 +32,12 @@ import eu.kanade.tachiyomi.ui.reader.viewer.ReaderProgressBar | ||||
| import eu.kanade.tachiyomi.ui.webview.WebViewActivity | ||||
| import eu.kanade.tachiyomi.util.system.ImageUtil | ||||
| import eu.kanade.tachiyomi.util.system.dpToPx | ||||
| import java.io.InputStream | ||||
| import java.util.concurrent.TimeUnit | ||||
| import rx.Observable | ||||
| import rx.Subscription | ||||
| import rx.android.schedulers.AndroidSchedulers | ||||
| import rx.schedulers.Schedulers | ||||
| import java.io.InputStream | ||||
| import java.util.concurrent.TimeUnit | ||||
|  | ||||
| /** | ||||
|  * Holder of the webtoon reader for a single page of a chapter. | ||||
|   | ||||
| @@ -15,10 +15,10 @@ import eu.kanade.tachiyomi.ui.reader.model.ChapterTransition | ||||
| import eu.kanade.tachiyomi.ui.reader.model.ReaderPage | ||||
| import eu.kanade.tachiyomi.ui.reader.model.ViewerChapters | ||||
| import eu.kanade.tachiyomi.ui.reader.viewer.BaseViewer | ||||
| import rx.subscriptions.CompositeSubscription | ||||
| import timber.log.Timber | ||||
| import kotlin.math.max | ||||
| import kotlin.math.min | ||||
| import rx.subscriptions.CompositeSubscription | ||||
| import timber.log.Timber | ||||
|  | ||||
| /** | ||||
|  * Implementation of a [BaseViewer] to display pages with a [RecyclerView]. | ||||
|   | ||||
| @@ -2,9 +2,9 @@ package eu.kanade.tachiyomi.ui.recent.history | ||||
|  | ||||
| import eu.davidea.flexibleadapter.FlexibleAdapter | ||||
| import eu.kanade.tachiyomi.source.SourceManager | ||||
| import uy.kohesive.injekt.injectLazy | ||||
| import java.text.DecimalFormat | ||||
| import java.text.DecimalFormatSymbols | ||||
| import uy.kohesive.injekt.injectLazy | ||||
|  | ||||
| /** | ||||
|  * Adapter of HistoryHolder. | ||||
|   | ||||
| @@ -8,13 +8,13 @@ import eu.kanade.tachiyomi.data.glide.GlideApp | ||||
| import eu.kanade.tachiyomi.data.glide.toMangaThumbnail | ||||
| import eu.kanade.tachiyomi.ui.base.holder.BaseFlexibleViewHolder | ||||
| import eu.kanade.tachiyomi.util.lang.toTimestampString | ||||
| import java.util.Date | ||||
| import kotlinx.android.synthetic.main.history_item.cover | ||||
| import kotlinx.android.synthetic.main.history_item.holder | ||||
| import kotlinx.android.synthetic.main.history_item.manga_subtitle | ||||
| import kotlinx.android.synthetic.main.history_item.manga_title | ||||
| import kotlinx.android.synthetic.main.history_item.remove | ||||
| import kotlinx.android.synthetic.main.history_item.resume | ||||
| import java.util.Date | ||||
|  | ||||
| /** | ||||
|  * Holder that contains recent manga item | ||||
|   | ||||
| @@ -9,13 +9,13 @@ import eu.kanade.tachiyomi.data.database.models.MangaChapterHistory | ||||
| import eu.kanade.tachiyomi.ui.base.presenter.BasePresenter | ||||
| import eu.kanade.tachiyomi.ui.recent.DateSectionItem | ||||
| import eu.kanade.tachiyomi.util.lang.toDateKey | ||||
| import rx.Observable | ||||
| import rx.android.schedulers.AndroidSchedulers | ||||
| import uy.kohesive.injekt.injectLazy | ||||
| import java.util.Calendar | ||||
| import java.util.Comparator | ||||
| import java.util.Date | ||||
| import java.util.TreeMap | ||||
| import rx.Observable | ||||
| import rx.android.schedulers.AndroidSchedulers | ||||
| import uy.kohesive.injekt.injectLazy | ||||
|  | ||||
| /** | ||||
|  * Presenter of HistoryFragment. | ||||
|   | ||||
| @@ -10,15 +10,15 @@ import eu.kanade.tachiyomi.source.SourceManager | ||||
| import eu.kanade.tachiyomi.ui.base.presenter.BasePresenter | ||||
| import eu.kanade.tachiyomi.ui.recent.DateSectionItem | ||||
| import eu.kanade.tachiyomi.util.lang.toDateKey | ||||
| import java.util.Calendar | ||||
| import java.util.Date | ||||
| import java.util.TreeMap | ||||
| import rx.Observable | ||||
| import rx.android.schedulers.AndroidSchedulers | ||||
| import rx.schedulers.Schedulers | ||||
| import timber.log.Timber | ||||
| import uy.kohesive.injekt.Injekt | ||||
| import uy.kohesive.injekt.api.get | ||||
| import java.util.Calendar | ||||
| import java.util.Date | ||||
| import java.util.TreeMap | ||||
|  | ||||
| class UpdatesPresenter( | ||||
|     val preferences: PreferencesHelper = Injekt.get(), | ||||
|   | ||||
| @@ -5,9 +5,9 @@ import androidx.appcompat.app.AppCompatActivity | ||||
| import androidx.biometric.BiometricPrompt | ||||
| import eu.kanade.tachiyomi.R | ||||
| import eu.kanade.tachiyomi.data.preference.PreferencesHelper | ||||
| import uy.kohesive.injekt.injectLazy | ||||
| import java.util.Date | ||||
| import java.util.concurrent.Executors | ||||
| import uy.kohesive.injekt.injectLazy | ||||
|  | ||||
| /** | ||||
|  * Blank activity with a BiometricPrompt. | ||||
|   | ||||
| @@ -6,10 +6,10 @@ import androidx.biometric.BiometricManager | ||||
| import androidx.fragment.app.FragmentActivity | ||||
| import androidx.lifecycle.lifecycleScope | ||||
| import eu.kanade.tachiyomi.data.preference.PreferencesHelper | ||||
| import java.util.Date | ||||
| import kotlinx.coroutines.flow.launchIn | ||||
| import kotlinx.coroutines.flow.onEach | ||||
| import uy.kohesive.injekt.injectLazy | ||||
| import java.util.Date | ||||
|  | ||||
| class SecureActivityDelegate(private val activity: FragmentActivity) { | ||||
|  | ||||
|   | ||||
| @@ -15,6 +15,7 @@ import eu.kanade.tachiyomi.data.cache.ChapterCache | ||||
| import eu.kanade.tachiyomi.data.database.DatabaseHelper | ||||
| import eu.kanade.tachiyomi.data.library.LibraryUpdateService | ||||
| import eu.kanade.tachiyomi.data.library.LibraryUpdateService.Target | ||||
| import eu.kanade.tachiyomi.data.preference.PreferenceKeys as Keys | ||||
| import eu.kanade.tachiyomi.network.NetworkHelper | ||||
| import eu.kanade.tachiyomi.ui.base.controller.DialogController | ||||
| import eu.kanade.tachiyomi.util.preference.defaultValue | ||||
| @@ -30,7 +31,6 @@ import rx.Observable | ||||
| import rx.android.schedulers.AndroidSchedulers | ||||
| import rx.schedulers.Schedulers | ||||
| import uy.kohesive.injekt.injectLazy | ||||
| import eu.kanade.tachiyomi.data.preference.PreferenceKeys as Keys | ||||
|  | ||||
| class SettingsAdvancedController : SettingsController() { | ||||
|  | ||||
|   | ||||
| @@ -19,6 +19,7 @@ import eu.kanade.tachiyomi.data.backup.BackupCreatorJob | ||||
| import eu.kanade.tachiyomi.data.backup.BackupRestoreService | ||||
| import eu.kanade.tachiyomi.data.backup.BackupRestoreValidator | ||||
| import eu.kanade.tachiyomi.data.backup.models.Backup | ||||
| import eu.kanade.tachiyomi.data.preference.PreferenceKeys as Keys | ||||
| import eu.kanade.tachiyomi.data.preference.asImmediateFlow | ||||
| import eu.kanade.tachiyomi.ui.base.controller.DialogController | ||||
| import eu.kanade.tachiyomi.ui.base.controller.requestPermissionsSafe | ||||
| @@ -35,7 +36,6 @@ import eu.kanade.tachiyomi.util.system.getFilePicker | ||||
| import eu.kanade.tachiyomi.util.system.toast | ||||
| import kotlinx.coroutines.flow.launchIn | ||||
| import kotlinx.coroutines.flow.onEach | ||||
| import eu.kanade.tachiyomi.data.preference.PreferenceKeys as Keys | ||||
|  | ||||
| class SettingsBackupController : SettingsController() { | ||||
|  | ||||
|   | ||||
| @@ -2,13 +2,13 @@ package eu.kanade.tachiyomi.ui.setting | ||||
|  | ||||
| import androidx.preference.PreferenceScreen | ||||
| import eu.kanade.tachiyomi.R | ||||
| import eu.kanade.tachiyomi.data.preference.PreferenceKeys as Keys | ||||
| import eu.kanade.tachiyomi.extension.ExtensionUpdateJob | ||||
| import eu.kanade.tachiyomi.util.preference.defaultValue | ||||
| import eu.kanade.tachiyomi.util.preference.onChange | ||||
| import eu.kanade.tachiyomi.util.preference.preferenceCategory | ||||
| import eu.kanade.tachiyomi.util.preference.switchPreference | ||||
| import eu.kanade.tachiyomi.util.preference.titleRes | ||||
| import eu.kanade.tachiyomi.data.preference.PreferenceKeys as Keys | ||||
|  | ||||
| class SettingsBrowseController : SettingsController() { | ||||
|  | ||||
|   | ||||
| @@ -15,6 +15,7 @@ import com.hippo.unifile.UniFile | ||||
| import eu.kanade.tachiyomi.R | ||||
| import eu.kanade.tachiyomi.data.database.DatabaseHelper | ||||
| import eu.kanade.tachiyomi.data.database.models.Category | ||||
| import eu.kanade.tachiyomi.data.preference.PreferenceKeys as Keys | ||||
| import eu.kanade.tachiyomi.data.preference.PreferencesHelper | ||||
| import eu.kanade.tachiyomi.data.preference.asImmediateFlow | ||||
| import eu.kanade.tachiyomi.ui.base.controller.DialogController | ||||
| @@ -28,13 +29,12 @@ import eu.kanade.tachiyomi.util.preference.preferenceCategory | ||||
| import eu.kanade.tachiyomi.util.preference.switchPreference | ||||
| import eu.kanade.tachiyomi.util.preference.titleRes | ||||
| import eu.kanade.tachiyomi.util.system.getFilePicker | ||||
| import java.io.File | ||||
| import kotlinx.coroutines.flow.launchIn | ||||
| import kotlinx.coroutines.flow.onEach | ||||
| import uy.kohesive.injekt.Injekt | ||||
| import uy.kohesive.injekt.api.get | ||||
| import uy.kohesive.injekt.injectLazy | ||||
| import java.io.File | ||||
| import eu.kanade.tachiyomi.data.preference.PreferenceKeys as Keys | ||||
|  | ||||
| class SettingsDownloadController : SettingsController() { | ||||
|  | ||||
|   | ||||
| @@ -5,6 +5,8 @@ import android.os.Build | ||||
| import android.provider.Settings | ||||
| import androidx.preference.PreferenceScreen | ||||
| import eu.kanade.tachiyomi.R | ||||
| import eu.kanade.tachiyomi.data.preference.PreferenceKeys as Keys | ||||
| import eu.kanade.tachiyomi.data.preference.PreferenceValues as Values | ||||
| import eu.kanade.tachiyomi.data.preference.asImmediateFlow | ||||
| import eu.kanade.tachiyomi.util.preference.defaultValue | ||||
| import eu.kanade.tachiyomi.util.preference.entriesRes | ||||
| @@ -17,10 +19,8 @@ import eu.kanade.tachiyomi.util.preference.preferenceCategory | ||||
| import eu.kanade.tachiyomi.util.preference.switchPreference | ||||
| import eu.kanade.tachiyomi.util.preference.titleRes | ||||
| import eu.kanade.tachiyomi.util.system.LocaleHelper | ||||
| import kotlinx.coroutines.flow.launchIn | ||||
| import java.util.Date | ||||
| import eu.kanade.tachiyomi.data.preference.PreferenceKeys as Keys | ||||
| import eu.kanade.tachiyomi.data.preference.PreferenceValues as Values | ||||
| import kotlinx.coroutines.flow.launchIn | ||||
|  | ||||
| class SettingsGeneralController : SettingsController() { | ||||
|  | ||||
|   | ||||
| @@ -11,6 +11,7 @@ import eu.kanade.tachiyomi.R | ||||
| import eu.kanade.tachiyomi.data.database.DatabaseHelper | ||||
| import eu.kanade.tachiyomi.data.database.models.Category | ||||
| import eu.kanade.tachiyomi.data.library.LibraryUpdateJob | ||||
| import eu.kanade.tachiyomi.data.preference.PreferenceKeys as Keys | ||||
| import eu.kanade.tachiyomi.data.preference.PreferencesHelper | ||||
| import eu.kanade.tachiyomi.data.preference.asImmediateFlow | ||||
| import eu.kanade.tachiyomi.ui.base.controller.DialogController | ||||
| @@ -34,7 +35,6 @@ import kotlinx.coroutines.flow.launchIn | ||||
| import kotlinx.coroutines.flow.onEach | ||||
| import uy.kohesive.injekt.Injekt | ||||
| import uy.kohesive.injekt.api.get | ||||
| import eu.kanade.tachiyomi.data.preference.PreferenceKeys as Keys | ||||
|  | ||||
| class SettingsLibraryController : SettingsController() { | ||||
|  | ||||
|   | ||||
| @@ -2,14 +2,14 @@ package eu.kanade.tachiyomi.ui.setting | ||||
|  | ||||
| import androidx.preference.PreferenceScreen | ||||
| import eu.kanade.tachiyomi.R | ||||
| import eu.kanade.tachiyomi.data.preference.PreferenceKeys as Keys | ||||
| import eu.kanade.tachiyomi.data.preference.PreferenceValues as Values | ||||
| import eu.kanade.tachiyomi.util.preference.defaultValue | ||||
| import eu.kanade.tachiyomi.util.preference.entriesRes | ||||
| import eu.kanade.tachiyomi.util.preference.infoPreference | ||||
| import eu.kanade.tachiyomi.util.preference.listPreference | ||||
| import eu.kanade.tachiyomi.util.preference.preferenceCategory | ||||
| import eu.kanade.tachiyomi.util.preference.titleRes | ||||
| import eu.kanade.tachiyomi.data.preference.PreferenceKeys as Keys | ||||
| import eu.kanade.tachiyomi.data.preference.PreferenceValues as Values | ||||
|  | ||||
| class SettingsParentalControlsController : SettingsController() { | ||||
|  | ||||
|   | ||||
| @@ -3,6 +3,7 @@ package eu.kanade.tachiyomi.ui.setting | ||||
| import android.os.Build | ||||
| import androidx.preference.PreferenceScreen | ||||
| import eu.kanade.tachiyomi.R | ||||
| import eu.kanade.tachiyomi.data.preference.PreferenceKeys as Keys | ||||
| import eu.kanade.tachiyomi.data.preference.PreferenceValues.TappingInvertMode | ||||
| import eu.kanade.tachiyomi.data.preference.asImmediateFlow | ||||
| import eu.kanade.tachiyomi.util.preference.defaultValue | ||||
| @@ -15,7 +16,6 @@ import eu.kanade.tachiyomi.util.preference.switchPreference | ||||
| import eu.kanade.tachiyomi.util.preference.titleRes | ||||
| import eu.kanade.tachiyomi.util.system.hasDisplayCutout | ||||
| import kotlinx.coroutines.flow.launchIn | ||||
| import eu.kanade.tachiyomi.data.preference.PreferenceKeys as Keys | ||||
|  | ||||
| class SettingsReaderController : SettingsController() { | ||||
|  | ||||
|   | ||||
| @@ -3,6 +3,7 @@ package eu.kanade.tachiyomi.ui.setting | ||||
| import androidx.biometric.BiometricManager | ||||
| import androidx.preference.PreferenceScreen | ||||
| import eu.kanade.tachiyomi.R | ||||
| import eu.kanade.tachiyomi.data.preference.PreferenceKeys as Keys | ||||
| import eu.kanade.tachiyomi.data.preference.asImmediateFlow | ||||
| import eu.kanade.tachiyomi.util.preference.defaultValue | ||||
| import eu.kanade.tachiyomi.util.preference.intListPreference | ||||
| @@ -10,7 +11,6 @@ import eu.kanade.tachiyomi.util.preference.summaryRes | ||||
| import eu.kanade.tachiyomi.util.preference.switchPreference | ||||
| import eu.kanade.tachiyomi.util.preference.titleRes | ||||
| import kotlinx.coroutines.flow.launchIn | ||||
| import eu.kanade.tachiyomi.data.preference.PreferenceKeys as Keys | ||||
|  | ||||
| class SettingsSecurityController : SettingsController() { | ||||
|  | ||||
|   | ||||
| @@ -5,6 +5,7 @@ import android.content.Intent | ||||
| import androidx.browser.customtabs.CustomTabsIntent | ||||
| import androidx.preference.PreferenceScreen | ||||
| import eu.kanade.tachiyomi.R | ||||
| import eu.kanade.tachiyomi.data.preference.PreferenceKeys as Keys | ||||
| import eu.kanade.tachiyomi.data.track.TrackManager | ||||
| import eu.kanade.tachiyomi.data.track.TrackService | ||||
| import eu.kanade.tachiyomi.data.track.anilist.AnilistApi | ||||
| @@ -22,7 +23,6 @@ import eu.kanade.tachiyomi.util.preference.titleRes | ||||
| import eu.kanade.tachiyomi.util.system.getResourceColor | ||||
| import eu.kanade.tachiyomi.widget.preference.LoginPreference | ||||
| import uy.kohesive.injekt.injectLazy | ||||
| import eu.kanade.tachiyomi.data.preference.PreferenceKeys as Keys | ||||
|  | ||||
| class SettingsTrackingController : | ||||
|     SettingsController(), | ||||
|   | ||||
| @@ -7,10 +7,10 @@ import eu.kanade.tachiyomi.data.download.DownloadManager | ||||
| import eu.kanade.tachiyomi.source.Source | ||||
| import eu.kanade.tachiyomi.source.model.SChapter | ||||
| import eu.kanade.tachiyomi.source.online.HttpSource | ||||
| import uy.kohesive.injekt.Injekt | ||||
| import uy.kohesive.injekt.api.get | ||||
| import java.util.Date | ||||
| import java.util.TreeSet | ||||
| import uy.kohesive.injekt.Injekt | ||||
| import uy.kohesive.injekt.api.get | ||||
|  | ||||
| /** | ||||
|  * Helper method for syncing the list of chapters from the source with the ones from the database. | ||||
|   | ||||
| @@ -1,10 +1,10 @@ | ||||
| package eu.kanade.tachiyomi.util.lang | ||||
|  | ||||
| import java.util.concurrent.TimeUnit.MILLISECONDS | ||||
| import rx.Observable | ||||
| import rx.Scheduler | ||||
| import rx.functions.Func1 | ||||
| import rx.schedulers.Schedulers | ||||
| import java.util.concurrent.TimeUnit.MILLISECONDS | ||||
|  | ||||
| class RetryWithDelay( | ||||
|     private val maxRetries: Int = 1, | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| package eu.kanade.tachiyomi.util.lang | ||||
|  | ||||
| import net.greypanther.natsort.CaseInsensitiveSimpleNaturalComparator | ||||
| import kotlin.math.floor | ||||
| import net.greypanther.natsort.CaseInsensitiveSimpleNaturalComparator | ||||
|  | ||||
| /** | ||||
|  * Replaces the given string to have at most [count] characters using [replacement] at its end. | ||||
|   | ||||
| @@ -2,8 +2,6 @@ package eu.kanade.tachiyomi.util.storage | ||||
|  | ||||
| import eu.kanade.tachiyomi.source.model.SChapter | ||||
| import eu.kanade.tachiyomi.source.model.SManga | ||||
| import org.jsoup.Jsoup | ||||
| import org.jsoup.nodes.Document | ||||
| import java.io.Closeable | ||||
| import java.io.File | ||||
| import java.io.InputStream | ||||
| @@ -12,6 +10,8 @@ import java.text.SimpleDateFormat | ||||
| import java.util.Locale | ||||
| import java.util.zip.ZipEntry | ||||
| import java.util.zip.ZipFile | ||||
| import org.jsoup.Jsoup | ||||
| import org.jsoup.nodes.Document | ||||
|  | ||||
| /** | ||||
|  * Wrapper over ZipFile to load files in epub format. | ||||
|   | ||||
| @@ -1,10 +1,10 @@ | ||||
| package eu.kanade.tachiyomi.util.storage | ||||
|  | ||||
| import java.io.File | ||||
| import java.io.OutputStream | ||||
| import okio.BufferedSource | ||||
| import okio.buffer | ||||
| import okio.sink | ||||
| import java.io.File | ||||
| import java.io.OutputStream | ||||
|  | ||||
| /** | ||||
|  * Saves the given source to a file and closes it. Directories will be created if needed. | ||||
|   | ||||
| @@ -8,8 +8,8 @@ import android.view.ContextThemeWrapper | ||||
| import eu.kanade.tachiyomi.R | ||||
| import eu.kanade.tachiyomi.data.preference.PreferencesHelper | ||||
| import eu.kanade.tachiyomi.ui.browse.source.SourcePresenter | ||||
| import uy.kohesive.injekt.injectLazy | ||||
| import java.util.Locale | ||||
| import uy.kohesive.injekt.injectLazy | ||||
|  | ||||
| /** | ||||
|  * Utility class to change the application's language in runtime. | ||||
|   | ||||
| @@ -8,10 +8,10 @@ import androidx.annotation.StringRes | ||||
| import androidx.appcompat.widget.AppCompatButton | ||||
| import androidx.core.view.isVisible | ||||
| import eu.kanade.tachiyomi.R | ||||
| import kotlin.random.Random | ||||
| import kotlinx.android.synthetic.main.common_view_empty.view.actions_container | ||||
| import kotlinx.android.synthetic.main.common_view_empty.view.text_face | ||||
| import kotlinx.android.synthetic.main.common_view_empty.view.text_label | ||||
| import kotlin.random.Random | ||||
|  | ||||
| class EmptyView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) : | ||||
|     RelativeLayout(context, attrs) { | ||||
|   | ||||
| @@ -18,8 +18,8 @@ import androidx.recyclerview.widget.RecyclerView | ||||
| import com.google.android.material.R | ||||
| import com.google.android.material.internal.ScrimInsetsFrameLayout | ||||
| import com.google.android.material.textfield.TextInputLayout | ||||
| import eu.kanade.tachiyomi.util.view.inflate | ||||
| import eu.kanade.tachiyomi.R as TR | ||||
| import eu.kanade.tachiyomi.util.view.inflate | ||||
|  | ||||
| @Suppress("LeakingThis") | ||||
| @SuppressLint("PrivateResource", "RestrictedApi") | ||||
|   | ||||
| @@ -2,7 +2,7 @@ plugins { | ||||
|     id("com.android.application") version BuildPluginsVersion.AGP apply false | ||||
|     id("com.android.library") version BuildPluginsVersion.AGP apply false | ||||
|     kotlin("android") version BuildPluginsVersion.KOTLIN apply false | ||||
|     id("org.jlleitschuh.gradle.ktlint") version BuildPluginsVersion.KTLINT_PLUGIN | ||||
|     id("org.jlleitschuh.gradle.ktlint") version BuildPluginsVersion.KTLINT | ||||
|     id("com.github.ben-manes.versions") version BuildPluginsVersion.VERSIONS_PLUGIN | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -1,10 +1,10 @@ | ||||
| object Versions { | ||||
|     const val KTLINT = "0.37.2" | ||||
|     const val KTLINT = "0.36.0" | ||||
| } | ||||
|  | ||||
| object BuildPluginsVersion { | ||||
|     const val AGP = "4.0.1" | ||||
|     const val KOTLIN = "1.3.72" | ||||
|     const val KTLINT_PLUGIN = "9.3.0" | ||||
|     const val KTLINT = "9.2.1" | ||||
|     const val VERSIONS_PLUGIN = "0.28.0" | ||||
| } | ||||
|   | ||||
							
								
								
									
										
											BIN
										
									
								
								gradle/wrapper/gradle-wrapper.jar
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								gradle/wrapper/gradle-wrapper.jar
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										3
									
								
								gradle/wrapper/gradle-wrapper.properties
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								gradle/wrapper/gradle-wrapper.properties
									
									
									
									
										vendored
									
									
								
							| @@ -1,6 +1,5 @@ | ||||
| #Sun Jun 07 15:33:20 EDT 2020 | ||||
| distributionBase=GRADLE_USER_HOME | ||||
| distributionPath=wrapper/dists | ||||
| distributionUrl=https\://services.gradle.org/distributions/gradle-6.5.1-all.zip | ||||
| zipStoreBase=GRADLE_USER_HOME | ||||
| zipStorePath=wrapper/dists | ||||
| distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip | ||||
|   | ||||
							
								
								
									
										2
									
								
								gradlew
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								gradlew
									
									
									
									
										vendored
									
									
								
							| @@ -82,6 +82,7 @@ esac | ||||
|  | ||||
| CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar | ||||
|  | ||||
|  | ||||
| # Determine the Java command to use to start the JVM. | ||||
| if [ -n "$JAVA_HOME" ] ; then | ||||
|     if [ -x "$JAVA_HOME/jre/sh/java" ] ; then | ||||
| @@ -129,6 +130,7 @@ fi | ||||
| if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then | ||||
|     APP_HOME=`cygpath --path --mixed "$APP_HOME"` | ||||
|     CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` | ||||
|      | ||||
|     JAVACMD=`cygpath --unix "$JAVACMD"` | ||||
|  | ||||
|     # We build the pattern for arguments to be converted via cygpath | ||||
|   | ||||
							
								
								
									
										1
									
								
								gradlew.bat
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								gradlew.bat
									
									
									
									
										vendored
									
									
								
							| @@ -84,6 +84,7 @@ set CMD_LINE_ARGS=%* | ||||
|  | ||||
| set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar | ||||
|  | ||||
|  | ||||
| @rem Execute Gradle | ||||
| "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user