From ae0aa370b2702d288214925f4637899f5e971346 Mon Sep 17 00:00:00 2001 From: Koitharu Date: Wed, 23 Mar 2022 09:39:01 +0200 Subject: [PATCH] Update dependencies and fix some warnings --- .editorconfig | 3 ++- README.md | 8 ++++---- app/build.gradle | 14 ++++++-------- app/src/debug/res/values/bools.xml | 4 ++-- app/src/main/AndroidManifest.xml | 5 ++++- .../kotatsu/base/ui/AlertDialogFragment.kt | 2 +- .../koitharu/kotatsu/base/ui/BaseViewModel.kt | 6 +++--- .../kotatsu/browser/ProgressChromeClient.kt | 5 ++--- .../kotatsu/core/backup/BackupArchive.kt | 6 +++--- .../koitharu/kotatsu/core/db/MangaDatabase.kt | 3 ++- .../kotatsu/download/ui/DownloadItemAD.kt | 19 ++++++++++--------- .../pager/reversed/ReversedReaderFragment.kt | 4 +++- .../reader/ui/pager/standard/PageHolder.kt | 3 +++ .../ui/pager/standard/PagerReaderFragment.kt | 4 +++- .../search/ui/widget/SearchBehavior.kt | 11 +++++------ .../settings/backup/BackupDialogFragment.kt | 3 +-- .../settings/backup/BackupViewModel.kt | 2 +- .../settings/backup/RestoreViewModel.kt | 9 ++++----- .../koitharu/kotatsu/utils/ext/AndroidExt.kt | 2 +- .../org/koitharu/kotatsu/utils/ext/ViewExt.kt | 14 -------------- app/src/main/res/layout/activity_crash.xml | 9 ++++++--- app/src/main/res/values/strings.xml | 1 + build.gradle | 4 ++-- 23 files changed, 69 insertions(+), 72 deletions(-) diff --git a/.editorconfig b/.editorconfig index 00754a4a4..e99fe5d60 100644 --- a/.editorconfig +++ b/.editorconfig @@ -8,11 +8,12 @@ indent_style = tab insert_final_newline = false max_line_length = 120 tab_width = 4 +# noinspection EditorConfigKeyCorrectness disabled_rules=no-wildcard-imports,no-unused-imports [{*.ant,*.fxml,*.jhm,*.jnlp,*.jrxml,*.rng,*.tld,*.wsdl,*.xml,*.xsd,*.xsl,*.xslt,*.xul}] ij_continuation_indent_size = 4 -[{*.gradle.kts,*.kt,*.kts,*.main.kts}] +[{*.kt,*.kts}] ij_kotlin_allow_trailing_comma = true ij_kotlin_code_style_defaults = KOTLIN_OFFICIAL diff --git a/README.md b/README.md index bf0ab9fee..cd5c23394 100644 --- a/README.md +++ b/README.md @@ -28,12 +28,12 @@ Download APK from Github Releases: ### Screenshots -| ![Screenshot_20200226-210337](https://github.com/nv95/Kotatsu/raw/devel/metadata/en-US/images/phoneScreenshots/1.png) | ![](https://github.com/nv95/Kotatsu/raw/devel/metadata/en-US/images/phoneScreenshots/2.png) | ![Screenshot_20200226-210232](https://github.com/nv95/Kotatsu/raw/devel/metadata/en-US/images/phoneScreenshots/3.png) | -|---|---|---| -| ![Screenshot_20200226-210405](https://github.com/nv95/Kotatsu/raw/devel/metadata/en-US/images/phoneScreenshots/4.png) | ![Screenshot_20200226-210151](https://github.com/nv95/Kotatsu/raw/devel/metadata/en-US/images/phoneScreenshots/5.png) | ![Screenshot_20200226-210223](https://github.com/nv95/Kotatsu/raw/devel/metadata/en-US/images/phoneScreenshots/6.png) | +| ![Screenshot_20200226-210337](https://github.com/nv95/Kotatsu/raw/devel/metadata/en-US/images/phoneScreenshots/1.png) | ![](https://github.com/nv95/Kotatsu/raw/devel/metadata/en-US/images/phoneScreenshots/2.png) | ![Screenshot_20200226-210232](https://github.com/nv95/Kotatsu/raw/devel/metadata/en-US/images/phoneScreenshots/3.png) | +|-----------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------| +| ![Screenshot_20200226-210405](https://github.com/nv95/Kotatsu/raw/devel/metadata/en-US/images/phoneScreenshots/4.png) | ![Screenshot_20200226-210151](https://github.com/nv95/Kotatsu/raw/devel/metadata/en-US/images/phoneScreenshots/5.png) | ![Screenshot_20200226-210223](https://github.com/nv95/Kotatsu/raw/devel/metadata/en-US/images/phoneScreenshots/6.png) | | ![](https://github.com/nv95/Kotatsu/raw/devel/metadata/en-US/images/tenInchScreenshots/1.png) | ![](https://github.com/nv95/Kotatsu/raw/devel/metadata/en-US/images/tenInchScreenshots/2.png) | -|---|---| +|-----------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------| ### License [![GNU GPLv3 Image](https://www.gnu.org/graphics/gplv3-127x51.png)](http://www.gnu.org/licenses/gpl-3.0.en.html) diff --git a/app/build.gradle b/app/build.gradle index 1bdb3f201..4a9ff09a9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -6,14 +6,14 @@ plugins { } android { - compileSdkVersion 31 - buildToolsVersion '30.0.3' + compileSdkVersion 32 + buildToolsVersion '32.0.0' namespace 'org.koitharu.kotatsu' defaultConfig { applicationId 'org.koitharu.kotatsu' minSdkVersion 21 - targetSdkVersion 31 + targetSdkVersion 32 versionCode 399 versionName '3.0-alpha1' generatedDensities = [] @@ -49,10 +49,9 @@ android { kotlinOptions { jvmTarget = JavaVersion.VERSION_1_8.toString() freeCompilerArgs += [ - '-Xjvm-default=enable', - '-Xopt-in=kotlinx.coroutines.ExperimentalCoroutinesApi', - '-Xopt-in=kotlinx.coroutines.FlowPreview', - '-Xopt-in=kotlin.contracts.ExperimentalContracts', + '-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi', + '-opt-in=kotlinx.coroutines.FlowPreview', + '-opt-in=kotlin.contracts.ExperimentalContracts', ] } lint { @@ -108,7 +107,6 @@ dependencies { debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.8.1' testImplementation 'junit:junit:4.13.2' - testImplementation 'org.json:json:20211205' testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6.0' testImplementation 'io.insert-koin:koin-test-junit4:3.1.5' diff --git a/app/src/debug/res/values/bools.xml b/app/src/debug/res/values/bools.xml index fc8a7be3d..037cba998 100644 --- a/app/src/debug/res/values/bools.xml +++ b/app/src/debug/res/values/bools.xml @@ -1,4 +1,4 @@ - - false + + false \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d3762ec2a..eb198b8ea 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -8,7 +8,10 @@ - + : DialogFragment() { protected fun bindingOrNull(): B? = viewBinding protected abstract fun onInflateView(inflater: LayoutInflater, container: ViewGroup?): B -} +} \ No newline at end of file diff --git a/app/src/main/java/org/koitharu/kotatsu/base/ui/BaseViewModel.kt b/app/src/main/java/org/koitharu/kotatsu/base/ui/BaseViewModel.kt index 8d1c5e279..50d8fe803 100644 --- a/app/src/main/java/org/koitharu/kotatsu/base/ui/BaseViewModel.kt +++ b/app/src/main/java/org/koitharu/kotatsu/base/ui/BaseViewModel.kt @@ -3,11 +3,11 @@ package org.koitharu.kotatsu.base.ui import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope +import kotlin.coroutines.CoroutineContext +import kotlin.coroutines.EmptyCoroutineContext import kotlinx.coroutines.* import org.koitharu.kotatsu.BuildConfig import org.koitharu.kotatsu.utils.SingleLiveEvent -import kotlin.coroutines.CoroutineContext -import kotlin.coroutines.EmptyCoroutineContext abstract class BaseViewModel : ViewModel() { @@ -33,7 +33,7 @@ abstract class BaseViewModel : ViewModel() { } } - protected fun createErrorHandler() = CoroutineExceptionHandler { _, throwable -> + private fun createErrorHandler() = CoroutineExceptionHandler { _, throwable -> if (BuildConfig.DEBUG) { throwable.printStackTrace() } diff --git a/app/src/main/java/org/koitharu/kotatsu/browser/ProgressChromeClient.kt b/app/src/main/java/org/koitharu/kotatsu/browser/ProgressChromeClient.kt index 0d890397e..1b29d7339 100644 --- a/app/src/main/java/org/koitharu/kotatsu/browser/ProgressChromeClient.kt +++ b/app/src/main/java/org/koitharu/kotatsu/browser/ProgressChromeClient.kt @@ -4,7 +4,6 @@ import android.webkit.WebChromeClient import android.webkit.WebView import androidx.core.view.isVisible import com.google.android.material.progressindicator.BaseProgressIndicator -import org.koitharu.kotatsu.utils.ext.setIndeterminateCompat private const val PROGRESS_MAX = 100 @@ -22,10 +21,10 @@ class ProgressChromeClient( return } if (newProgress in 1 until PROGRESS_MAX) { - progressIndicator.setIndeterminateCompat(false) + progressIndicator.isIndeterminate = false progressIndicator.setProgressCompat(newProgress.coerceAtMost(PROGRESS_MAX), true) } else { - progressIndicator.setIndeterminateCompat(true) + progressIndicator.setIndeterminate(true) } } } \ No newline at end of file diff --git a/app/src/main/java/org/koitharu/kotatsu/core/backup/BackupArchive.kt b/app/src/main/java/org/koitharu/kotatsu/core/backup/BackupArchive.kt index d0ec8a8cb..6a90243fa 100644 --- a/app/src/main/java/org/koitharu/kotatsu/core/backup/BackupArchive.kt +++ b/app/src/main/java/org/koitharu/kotatsu/core/backup/BackupArchive.kt @@ -1,6 +1,8 @@ package org.koitharu.kotatsu.core.backup import android.content.Context +import java.io.File +import java.util.* import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.runInterruptible import kotlinx.coroutines.withContext @@ -8,8 +10,6 @@ import org.json.JSONArray import org.koitharu.kotatsu.R import org.koitharu.kotatsu.utils.MutableZipFile import org.koitharu.kotatsu.utils.ext.format -import java.io.File -import java.util.* class BackupArchive(file: File) : MutableZipFile(file) { @@ -40,7 +40,7 @@ class BackupArchive(file: File) : MutableZipFile(file) { } dir.mkdirs() val filename = buildString { - append(context.getString(R.string.app_name).toLowerCase(Locale.ROOT)) + append(context.getString(R.string.app_name).lowercase(Locale.ROOT)) append('_') append(Date().format("ddMMyyyy")) append(".bak") diff --git a/app/src/main/java/org/koitharu/kotatsu/core/db/MangaDatabase.kt b/app/src/main/java/org/koitharu/kotatsu/core/db/MangaDatabase.kt index 89d90665e..075e6d02a 100644 --- a/app/src/main/java/org/koitharu/kotatsu/core/db/MangaDatabase.kt +++ b/app/src/main/java/org/koitharu/kotatsu/core/db/MangaDatabase.kt @@ -18,7 +18,8 @@ import org.koitharu.kotatsu.suggestions.data.SuggestionEntity MangaEntity::class, TagEntity::class, HistoryEntity::class, MangaTagsEntity::class, FavouriteCategoryEntity::class, FavouriteEntity::class, MangaPrefsEntity::class, TrackEntity::class, TrackLogEntity::class, SuggestionEntity::class - ], version = 9 + ], + version = 9 ) abstract class MangaDatabase : RoomDatabase() { diff --git a/app/src/main/java/org/koitharu/kotatsu/download/ui/DownloadItemAD.kt b/app/src/main/java/org/koitharu/kotatsu/download/ui/DownloadItemAD.kt index e854a23b8..30bb351c3 100644 --- a/app/src/main/java/org/koitharu/kotatsu/download/ui/DownloadItemAD.kt +++ b/app/src/main/java/org/koitharu/kotatsu/download/ui/DownloadItemAD.kt @@ -21,6 +21,7 @@ fun downloadItemAD( ) { var job: Job? = null + val percentPattern = context.resources.getString(R.string.percent_string_pattern) bind { job?.cancel() @@ -37,21 +38,21 @@ fun downloadItemAD( when (state) { is DownloadManager.State.Cancelling -> { binding.textViewStatus.setText(R.string.cancelling_) - binding.progressBar.setIndeterminateCompat(true) + binding.progressBar.isIndeterminate = true binding.progressBar.isVisible = true binding.textViewPercent.isVisible = false binding.textViewDetails.isVisible = false } is DownloadManager.State.Done -> { binding.textViewStatus.setText(R.string.download_complete) - binding.progressBar.setIndeterminateCompat(false) + binding.progressBar.isIndeterminate = false binding.progressBar.isVisible = false binding.textViewPercent.isVisible = false binding.textViewDetails.isVisible = false } is DownloadManager.State.Error -> { binding.textViewStatus.setText(R.string.error_occurred) - binding.progressBar.setIndeterminateCompat(false) + binding.progressBar.isIndeterminate = false binding.progressBar.isVisible = false binding.textViewPercent.isVisible = false binding.textViewDetails.text = state.error.getDisplayMessage(context.resources) @@ -59,38 +60,38 @@ fun downloadItemAD( } is DownloadManager.State.PostProcessing -> { binding.textViewStatus.setText(R.string.processing_) - binding.progressBar.setIndeterminateCompat(true) + binding.progressBar.isIndeterminate = true binding.progressBar.isVisible = true binding.textViewPercent.isVisible = false binding.textViewDetails.isVisible = false } is DownloadManager.State.Preparing -> { binding.textViewStatus.setText(R.string.preparing_) - binding.progressBar.setIndeterminateCompat(true) + binding.progressBar.isIndeterminate = true binding.progressBar.isVisible = true binding.textViewPercent.isVisible = false binding.textViewDetails.isVisible = false } is DownloadManager.State.Progress -> { binding.textViewStatus.setText(R.string.manga_downloading_) - binding.progressBar.setIndeterminateCompat(false) + binding.progressBar.isIndeterminate = false binding.progressBar.isVisible = true binding.progressBar.max = state.max binding.progressBar.setProgressCompat(state.progress, true) - binding.textViewPercent.text = (state.percent * 100f).format(1) + "%" + binding.textViewPercent.text = percentPattern.format((state.percent * 100f).format(1)) binding.textViewPercent.isVisible = true binding.textViewDetails.isVisible = false } is DownloadManager.State.Queued -> { binding.textViewStatus.setText(R.string.queued) - binding.progressBar.setIndeterminateCompat(false) + binding.progressBar.isIndeterminate = false binding.progressBar.isVisible = false binding.textViewPercent.isVisible = false binding.textViewDetails.isVisible = false } is DownloadManager.State.WaitingForNetwork -> { binding.textViewStatus.setText(R.string.waiting_for_network) - binding.progressBar.setIndeterminateCompat(false) + binding.progressBar.isIndeterminate = false binding.progressBar.isVisible = false binding.textViewPercent.isVisible = false binding.textViewDetails.isVisible = false diff --git a/app/src/main/java/org/koitharu/kotatsu/reader/ui/pager/reversed/ReversedReaderFragment.kt b/app/src/main/java/org/koitharu/kotatsu/reader/ui/pager/reversed/ReversedReaderFragment.kt index cff351d9c..d43f6aee3 100644 --- a/app/src/main/java/org/koitharu/kotatsu/reader/ui/pager/reversed/ReversedReaderFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/reader/ui/pager/reversed/ReversedReaderFragment.kt @@ -1,10 +1,12 @@ package org.koitharu.kotatsu.reader.ui.pager.reversed +import android.annotation.SuppressLint import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.core.view.children +import kotlin.math.absoluteValue import kotlinx.coroutines.async import org.koin.android.ext.android.get import org.koitharu.kotatsu.databinding.FragmentReaderStandardBinding @@ -17,7 +19,6 @@ import org.koitharu.kotatsu.utils.ext.doOnPageChanged import org.koitharu.kotatsu.utils.ext.recyclerView import org.koitharu.kotatsu.utils.ext.resetTransformations import org.koitharu.kotatsu.utils.ext.viewLifecycleScope -import kotlin.math.absoluteValue class ReversedReaderFragment : BaseReader() { @@ -28,6 +29,7 @@ class ReversedReaderFragment : BaseReader() { container: ViewGroup? ) = FragmentReaderStandardBinding.inflate(inflater, container, false) + @SuppressLint("NotifyDataSetChanged") override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) pagerAdapter = ReversedPagesAdapter(viewModel.pageLoader, get(), exceptionResolver) diff --git a/app/src/main/java/org/koitharu/kotatsu/reader/ui/pager/standard/PageHolder.kt b/app/src/main/java/org/koitharu/kotatsu/reader/ui/pager/standard/PageHolder.kt index 55e76b41a..1b672ec4d 100644 --- a/app/src/main/java/org/koitharu/kotatsu/reader/ui/pager/standard/PageHolder.kt +++ b/app/src/main/java/org/koitharu/kotatsu/reader/ui/pager/standard/PageHolder.kt @@ -1,5 +1,6 @@ package org.koitharu.kotatsu.reader.ui.pager.standard +import android.annotation.SuppressLint import android.graphics.PointF import android.net.Uri import android.view.View @@ -27,10 +28,12 @@ open class PageHolder( init { binding.ssiv.setOnImageEventListener(delegate) + @Suppress("LeakingThis") binding.buttonRetry.setOnClickListener(this) binding.textViewNumber.isVisible = settings.isPagesNumbersEnabled } + @SuppressLint("SetTextI18n") override fun onBind(data: ReaderPage) { delegate.onBind(data.toMangaPage()) binding.textViewNumber.text = (data.index + 1).toString() diff --git a/app/src/main/java/org/koitharu/kotatsu/reader/ui/pager/standard/PagerReaderFragment.kt b/app/src/main/java/org/koitharu/kotatsu/reader/ui/pager/standard/PagerReaderFragment.kt index a8cd77e17..a0a53b2d1 100644 --- a/app/src/main/java/org/koitharu/kotatsu/reader/ui/pager/standard/PagerReaderFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/reader/ui/pager/standard/PagerReaderFragment.kt @@ -1,10 +1,12 @@ package org.koitharu.kotatsu.reader.ui.pager.standard +import android.annotation.SuppressLint import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.core.view.children +import kotlin.math.absoluteValue import kotlinx.coroutines.async import org.koin.android.ext.android.get import org.koitharu.kotatsu.databinding.FragmentReaderStandardBinding @@ -16,7 +18,6 @@ import org.koitharu.kotatsu.utils.ext.doOnPageChanged import org.koitharu.kotatsu.utils.ext.recyclerView import org.koitharu.kotatsu.utils.ext.resetTransformations import org.koitharu.kotatsu.utils.ext.viewLifecycleScope -import kotlin.math.absoluteValue class PagerReaderFragment : BaseReader() { @@ -27,6 +28,7 @@ class PagerReaderFragment : BaseReader() { container: ViewGroup? ) = FragmentReaderStandardBinding.inflate(inflater, container, false) + @SuppressLint("NotifyDataSetChanged") override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) pagesAdapter = PagesAdapter(viewModel.pageLoader, get(), exceptionResolver) diff --git a/app/src/main/java/org/koitharu/kotatsu/search/ui/widget/SearchBehavior.kt b/app/src/main/java/org/koitharu/kotatsu/search/ui/widget/SearchBehavior.kt index ebd18fe81..e13a694de 100644 --- a/app/src/main/java/org/koitharu/kotatsu/search/ui/widget/SearchBehavior.kt +++ b/app/src/main/java/org/koitharu/kotatsu/search/ui/widget/SearchBehavior.kt @@ -17,15 +17,14 @@ class SearchBehavior(context: Context?, attrs: AttributeSet?) : child: SearchToolbar, dependency: View, ): Boolean { - return if (dependency is AppBarLayout) { - true - } else - if (dependency is LinearLayout || dependency is BottomNavigationView) { + return when (dependency) { + is AppBarLayout -> true + is LinearLayout, is BottomNavigationView -> { dependency.z = child.z + 1 true - } else { - super.layoutDependsOn(parent, child, dependency) } + else -> super.layoutDependsOn(parent, child, dependency) + } } override fun onDependentViewChanged( diff --git a/app/src/main/java/org/koitharu/kotatsu/settings/backup/BackupDialogFragment.kt b/app/src/main/java/org/koitharu/kotatsu/settings/backup/BackupDialogFragment.kt index b1d63684b..88f30c87b 100644 --- a/app/src/main/java/org/koitharu/kotatsu/settings/backup/BackupDialogFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/settings/backup/BackupDialogFragment.kt @@ -14,7 +14,6 @@ import org.koitharu.kotatsu.R import org.koitharu.kotatsu.base.ui.AlertDialogFragment import org.koitharu.kotatsu.databinding.DialogProgressBinding import org.koitharu.kotatsu.utils.ext.getDisplayMessage -import org.koitharu.kotatsu.utils.ext.setIndeterminateCompat import org.koitharu.kotatsu.utils.progress.Progress import java.io.File import java.io.FileOutputStream @@ -65,7 +64,7 @@ class BackupDialogFragment : AlertDialogFragment() { private fun onProgressChanged(progress: Progress?) { with(binding.progressBar) { - setIndeterminateCompat(progress == null) + isIndeterminate = progress == null isVisible = true if (progress != null) { this.max = progress.total diff --git a/app/src/main/java/org/koitharu/kotatsu/settings/backup/BackupViewModel.kt b/app/src/main/java/org/koitharu/kotatsu/settings/backup/BackupViewModel.kt index 930a0a714..8c3ac36a9 100644 --- a/app/src/main/java/org/koitharu/kotatsu/settings/backup/BackupViewModel.kt +++ b/app/src/main/java/org/koitharu/kotatsu/settings/backup/BackupViewModel.kt @@ -11,7 +11,7 @@ import java.io.File class BackupViewModel( private val repository: BackupRepository, - private val context: Context + context: Context ) : BaseViewModel() { val progress = MutableLiveData(null) diff --git a/app/src/main/java/org/koitharu/kotatsu/settings/backup/RestoreViewModel.kt b/app/src/main/java/org/koitharu/kotatsu/settings/backup/RestoreViewModel.kt index ed2613fb8..e7d185eb2 100644 --- a/app/src/main/java/org/koitharu/kotatsu/settings/backup/RestoreViewModel.kt +++ b/app/src/main/java/org/koitharu/kotatsu/settings/backup/RestoreViewModel.kt @@ -3,6 +3,8 @@ package org.koitharu.kotatsu.settings.backup import android.content.Context import android.net.Uri import androidx.lifecycle.MutableLiveData +import java.io.File +import java.io.FileNotFoundException import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.NonCancellable import kotlinx.coroutines.runInterruptible @@ -14,13 +16,11 @@ import org.koitharu.kotatsu.core.backup.CompositeResult import org.koitharu.kotatsu.core.backup.RestoreRepository import org.koitharu.kotatsu.utils.SingleLiveEvent import org.koitharu.kotatsu.utils.progress.Progress -import java.io.File -import java.io.FileNotFoundException class RestoreViewModel( uri: Uri?, private val repository: RestoreRepository, - private val context: Context + context: Context ) : BaseViewModel() { val progress = MutableLiveData(null) @@ -35,8 +35,7 @@ class RestoreViewModel( val backup = runInterruptible(Dispatchers.IO) { val tempFile = File.createTempFile("backup_", ".tmp") - (contentResolver.openInputStream(uri) - ?: throw FileNotFoundException()).use { input -> + (contentResolver.openInputStream(uri) ?: throw FileNotFoundException()).use { input -> tempFile.outputStream().use { output -> input.copyTo(output) } diff --git a/app/src/main/java/org/koitharu/kotatsu/utils/ext/AndroidExt.kt b/app/src/main/java/org/koitharu/kotatsu/utils/ext/AndroidExt.kt index 23a6dda8c..2fc663c9b 100644 --- a/app/src/main/java/org/koitharu/kotatsu/utils/ext/AndroidExt.kt +++ b/app/src/main/java/org/koitharu/kotatsu/utils/ext/AndroidExt.kt @@ -5,8 +5,8 @@ import android.net.ConnectivityManager import android.net.Network import android.net.NetworkRequest import android.net.Uri -import kotlinx.coroutines.suspendCancellableCoroutine import kotlin.coroutines.resume +import kotlinx.coroutines.suspendCancellableCoroutine val Context.connectivityManager: ConnectivityManager get() = getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager diff --git a/app/src/main/java/org/koitharu/kotatsu/utils/ext/ViewExt.kt b/app/src/main/java/org/koitharu/kotatsu/utils/ext/ViewExt.kt index 725013fad..c52d50290 100644 --- a/app/src/main/java/org/koitharu/kotatsu/utils/ext/ViewExt.kt +++ b/app/src/main/java/org/koitharu/kotatsu/utils/ext/ViewExt.kt @@ -14,7 +14,6 @@ import androidx.core.view.children import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import androidx.viewpager2.widget.ViewPager2 -import com.google.android.material.progressindicator.BaseProgressIndicator import com.google.android.material.slider.Slider import com.hannesdorfmann.adapterdelegates4.dsl.AdapterDelegateViewBindingViewHolder import kotlin.math.roundToInt @@ -138,19 +137,6 @@ inline fun RecyclerView.ViewHolder.getItem(): T? { return ((this as? AdapterDelegateViewBindingViewHolder<*, *>)?.item as? T) } -@Deprecated("Useless") -fun BaseProgressIndicator<*>.setIndeterminateCompat(indeterminate: Boolean) { - if (isIndeterminate != indeterminate) { - if (indeterminate && visibility == View.VISIBLE) { - visibility = View.INVISIBLE - isIndeterminate = indeterminate - visibility = View.VISIBLE - } else { - isIndeterminate = indeterminate - } - } -} - fun Slider.setValueRounded(newValue: Float) { val step = stepSize value = (newValue / step).roundToInt() * step diff --git a/app/src/main/res/layout/activity_crash.xml b/app/src/main/res/layout/activity_crash.xml index ba9c13511..f6a974b44 100644 --- a/app/src/main/res/layout/activity_crash.xml +++ b/app/src/main/res/layout/activity_crash.xml @@ -1,11 +1,11 @@ + android:orientation="vertical" + tools:context=".core.ui.CrashActivity"> Various languages Find chapter No chapters in this manga + %1$s%% \ No newline at end of file diff --git a/build.gradle b/build.gradle index b0699cf5a..390d5748a 100644 --- a/build.gradle +++ b/build.gradle @@ -5,8 +5,8 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:7.1.0' - classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.10' + classpath 'com.android.tools.build:gradle:7.1.2' + classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.20-M1' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files