diff --git a/app/build.gradle b/app/build.gradle index 00a9d4e72..d02ff880a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -59,8 +59,6 @@ tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all { jvmTarget = JavaVersion.VERSION_1_8.toString() freeCompilerArgs += [ '-Xopt-in=kotlinx.coroutines.ExperimentalCoroutinesApi', - '-Xopt-in=kotlinx.coroutines.FlowPreview', - '-Xopt-in=org.koin.core.component.KoinApiExtension' ] } } @@ -69,14 +67,14 @@ dependencies { implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.2' implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.2' - implementation 'androidx.core:core-ktx:1.6.0' - implementation 'androidx.activity:activity-ktx:1.3.1' + implementation 'androidx.core:core-ktx:1.7.0' + implementation 'androidx.activity:activity-ktx:1.4.0' implementation 'androidx.fragment:fragment-ktx:1.3.6' - implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.1' - implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1' - implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.3.1' - implementation 'androidx.lifecycle:lifecycle-service:2.3.1' - implementation 'androidx.lifecycle:lifecycle-process:2.3.1' + implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.4.0' + implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0' + implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.4.0' + implementation 'androidx.lifecycle:lifecycle-service:2.4.0' + implementation 'androidx.lifecycle:lifecycle-process:2.4.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.1' implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0' implementation 'androidx.recyclerview:recyclerview:1.2.1' @@ -85,7 +83,7 @@ dependencies { implementation 'androidx.work:work-runtime-ktx:2.7.0' implementation 'com.google.android.material:material:1.4.0' //noinspection LifecycleAnnotationProcessorWithJava8 - kapt 'androidx.lifecycle:lifecycle-compiler:2.3.1' + kapt 'androidx.lifecycle:lifecycle-compiler:2.4.0' implementation 'androidx.room:room-runtime:2.3.0' implementation 'androidx.room:room-ktx:2.3.0' @@ -98,7 +96,7 @@ dependencies { implementation 'com.hannesdorfmann:adapterdelegates4-kotlin-dsl:4.3.0' implementation 'com.hannesdorfmann:adapterdelegates4-kotlin-dsl-viewbinding:4.3.0' - implementation 'io.insert-koin:koin-android:3.1.2' + implementation 'io.insert-koin:koin-android:3.1.3' implementation 'io.coil-kt:coil-base:1.4.0' implementation 'com.davemorrissey.labs:subsampling-scale-image-view-androidx:3.10.0' implementation 'com.github.solkin:disk-lru-cache:1.3' @@ -109,7 +107,7 @@ dependencies { testImplementation 'com.google.truth:truth:1.1.3' testImplementation 'org.json:json:20210307' testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.5.2' - testImplementation 'io.insert-koin:koin-test-junit4:3.1.2' + testImplementation 'io.insert-koin:koin-test-junit4:3.1.3' androidTestImplementation 'androidx.test:runner:1.4.0' androidTestImplementation 'androidx.test:rules:1.4.0' diff --git a/app/src/main/java/org/koitharu/kotatsu/details/ui/DetailsActivity.kt b/app/src/main/java/org/koitharu/kotatsu/details/ui/DetailsActivity.kt index 57213f9df..2d7166ae6 100644 --- a/app/src/main/java/org/koitharu/kotatsu/details/ui/DetailsActivity.kt +++ b/app/src/main/java/org/koitharu/kotatsu/details/ui/DetailsActivity.kt @@ -44,7 +44,7 @@ import org.koitharu.kotatsu.utils.ext.getDisplayMessage class DetailsActivity : BaseActivity(), TabLayoutMediator.TabConfigurationStrategy { - private val viewModel by viewModel(mode = LazyThreadSafetyMode.NONE) { + private val viewModel by viewModel { parametersOf(MangaIntent.from(intent)) } diff --git a/app/src/main/java/org/koitharu/kotatsu/favourites/ui/FavouritesContainerFragment.kt b/app/src/main/java/org/koitharu/kotatsu/favourites/ui/FavouritesContainerFragment.kt index 399314311..096d26cfd 100644 --- a/app/src/main/java/org/koitharu/kotatsu/favourites/ui/FavouritesContainerFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/favourites/ui/FavouritesContainerFragment.kt @@ -30,9 +30,7 @@ class FavouritesContainerFragment : BaseFragment(), override val recycledViewPool = RecyclerView.RecycledViewPool() - private val viewModel by viewModel( - mode = LazyThreadSafetyMode.NONE - ) + private val viewModel by viewModel() private val editDelegate by lazy(LazyThreadSafetyMode.NONE) { CategoriesEditDelegate(requireContext(), this) } diff --git a/app/src/main/java/org/koitharu/kotatsu/favourites/ui/categories/CategoriesActivity.kt b/app/src/main/java/org/koitharu/kotatsu/favourites/ui/categories/CategoriesActivity.kt index 17639f06f..5461152a6 100644 --- a/app/src/main/java/org/koitharu/kotatsu/favourites/ui/categories/CategoriesActivity.kt +++ b/app/src/main/java/org/koitharu/kotatsu/favourites/ui/categories/CategoriesActivity.kt @@ -30,9 +30,7 @@ class CategoriesActivity : BaseActivity(), OnListItemClickListener, View.OnClickListener, CategoriesEditDelegate.CategoriesEditCallback { - private val viewModel by viewModel( - mode = LazyThreadSafetyMode.NONE - ) + private val viewModel by viewModel() private lateinit var adapter: CategoriesAdapter private lateinit var reorderHelper: ItemTouchHelper diff --git a/app/src/main/java/org/koitharu/kotatsu/favourites/ui/categories/select/FavouriteCategoriesDialog.kt b/app/src/main/java/org/koitharu/kotatsu/favourites/ui/categories/select/FavouriteCategoriesDialog.kt index 3736b959a..c1496aa4c 100644 --- a/app/src/main/java/org/koitharu/kotatsu/favourites/ui/categories/select/FavouriteCategoriesDialog.kt +++ b/app/src/main/java/org/koitharu/kotatsu/favourites/ui/categories/select/FavouriteCategoriesDialog.kt @@ -25,7 +25,7 @@ class FavouriteCategoriesDialog : BaseBottomSheet, CategoriesEditDelegate.CategoriesEditCallback, View.OnClickListener { - private val viewModel by viewModel(mode = LazyThreadSafetyMode.NONE) { + private val viewModel by viewModel { parametersOf(requireNotNull(arguments?.getParcelable(MangaIntent.KEY_MANGA))) } @@ -36,7 +36,7 @@ class FavouriteCategoriesDialog : BaseBottomSheet(mode = LazyThreadSafetyMode.NONE) { + override val viewModel by viewModel { parametersOf(categoryId) } diff --git a/app/src/main/java/org/koitharu/kotatsu/history/ui/HistoryListFragment.kt b/app/src/main/java/org/koitharu/kotatsu/history/ui/HistoryListFragment.kt index 311adb720..76dc36ee8 100644 --- a/app/src/main/java/org/koitharu/kotatsu/history/ui/HistoryListFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/history/ui/HistoryListFragment.kt @@ -15,7 +15,7 @@ import org.koitharu.kotatsu.utils.ext.ellipsize class HistoryListFragment : MangaListFragment() { - override val viewModel by viewModel(mode = LazyThreadSafetyMode.NONE) + override val viewModel by viewModel() override val isSwipeRefreshEnabled = false override fun onViewCreated(view: View, savedInstanceState: Bundle?) { diff --git a/app/src/main/java/org/koitharu/kotatsu/local/domain/LocalMangaRepository.kt b/app/src/main/java/org/koitharu/kotatsu/local/domain/LocalMangaRepository.kt index 0be6da157..4361d00a6 100644 --- a/app/src/main/java/org/koitharu/kotatsu/local/domain/LocalMangaRepository.kt +++ b/app/src/main/java/org/koitharu/kotatsu/local/domain/LocalMangaRepository.kt @@ -124,7 +124,9 @@ class LocalMangaRepository(private val context: Context) : MangaRepository { number = i + 1, source = MangaSource.LOCAL, uploadDate = 0L, - url = uriBuilder.fragment(s).build().toString() + url = uriBuilder.fragment(s).build().toString(), + scanlator = null, + branch = null, ) } ) diff --git a/app/src/main/java/org/koitharu/kotatsu/local/ui/LocalListFragment.kt b/app/src/main/java/org/koitharu/kotatsu/local/ui/LocalListFragment.kt index 319cf5619..63a0e6c66 100644 --- a/app/src/main/java/org/koitharu/kotatsu/local/ui/LocalListFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/local/ui/LocalListFragment.kt @@ -19,9 +19,9 @@ import org.koitharu.kotatsu.download.ui.service.DownloadService import org.koitharu.kotatsu.list.ui.MangaListFragment import org.koitharu.kotatsu.utils.ext.ellipsize -class LocalListFragment : MangaListFragment(), ActivityResultCallback { +class LocalListFragment : MangaListFragment(), ActivityResultCallback { - override val viewModel by viewModel(mode = LazyThreadSafetyMode.NONE) + override val viewModel by viewModel() private val importCall = registerForActivityResult( ActivityResultContracts.OpenDocument(), this diff --git a/app/src/main/java/org/koitharu/kotatsu/main/ui/MainActivity.kt b/app/src/main/java/org/koitharu/kotatsu/main/ui/MainActivity.kt index ce4ef0ff7..9dbbcba28 100644 --- a/app/src/main/java/org/koitharu/kotatsu/main/ui/MainActivity.kt +++ b/app/src/main/java/org/koitharu/kotatsu/main/ui/MainActivity.kt @@ -57,10 +57,8 @@ class MainActivity : BaseActivity(), NavigationView.OnNavigationItemSelectedListener, AppBarOwner, View.OnClickListener, View.OnFocusChangeListener, SearchSuggestionListener { - private val viewModel by viewModel(mode = LazyThreadSafetyMode.NONE) - private val searchSuggestionViewModel by viewModel( - mode = LazyThreadSafetyMode.NONE - ) + private val viewModel by viewModel() + private val searchSuggestionViewModel by viewModel() private lateinit var navHeaderBinding: NavigationHeaderBinding private lateinit var drawerToggle: ActionBarDrawerToggle diff --git a/app/src/main/java/org/koitharu/kotatsu/main/ui/protect/ProtectActivity.kt b/app/src/main/java/org/koitharu/kotatsu/main/ui/protect/ProtectActivity.kt index 19ad00c4b..97ca1df3a 100644 --- a/app/src/main/java/org/koitharu/kotatsu/main/ui/protect/ProtectActivity.kt +++ b/app/src/main/java/org/koitharu/kotatsu/main/ui/protect/ProtectActivity.kt @@ -19,7 +19,7 @@ import org.koitharu.kotatsu.utils.ext.getDisplayMessage class ProtectActivity : BaseActivity(), TextView.OnEditorActionListener, TextWatcher, View.OnClickListener { - private val viewModel by viewModel(mode = LazyThreadSafetyMode.NONE) + private val viewModel by viewModel() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) diff --git a/app/src/main/java/org/koitharu/kotatsu/reader/ui/ReaderActivity.kt b/app/src/main/java/org/koitharu/kotatsu/reader/ui/ReaderActivity.kt index 444913403..5f1c103af 100644 --- a/app/src/main/java/org/koitharu/kotatsu/reader/ui/ReaderActivity.kt +++ b/app/src/main/java/org/koitharu/kotatsu/reader/ui/ReaderActivity.kt @@ -55,7 +55,7 @@ class ReaderActivity : BaseFullscreenActivity(), GridTouchHelper.OnGridTouchListener, OnPageSelectListener, ReaderConfigDialog.Callback, ActivityResultCallback, ReaderControlDelegate.OnInteractionListener { - private val viewModel by viewModel(mode = LazyThreadSafetyMode.NONE) { + private val viewModel by viewModel { parametersOf(MangaIntent.from(intent), intent?.getParcelableExtra(EXTRA_STATE)) } diff --git a/app/src/main/java/org/koitharu/kotatsu/remotelist/ui/RemoteListFragment.kt b/app/src/main/java/org/koitharu/kotatsu/remotelist/ui/RemoteListFragment.kt index 1f9b543a6..d3e593838 100644 --- a/app/src/main/java/org/koitharu/kotatsu/remotelist/ui/RemoteListFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/remotelist/ui/RemoteListFragment.kt @@ -15,7 +15,7 @@ import org.koitharu.kotatsu.utils.ext.withArgs class RemoteListFragment : MangaListFragment() { - override val viewModel by viewModel(mode = LazyThreadSafetyMode.NONE) { + override val viewModel by viewModel { parametersOf(source) } diff --git a/app/src/main/java/org/koitharu/kotatsu/search/ui/SearchActivity.kt b/app/src/main/java/org/koitharu/kotatsu/search/ui/SearchActivity.kt index cf05ff106..2484dcb76 100644 --- a/app/src/main/java/org/koitharu/kotatsu/search/ui/SearchActivity.kt +++ b/app/src/main/java/org/koitharu/kotatsu/search/ui/SearchActivity.kt @@ -18,9 +18,7 @@ import org.koitharu.kotatsu.utils.ext.showKeyboard class SearchActivity : BaseActivity(), SearchView.OnQueryTextListener { - private val searchSuggestionViewModel by viewModel( - mode = LazyThreadSafetyMode.NONE - ) + private val searchSuggestionViewModel by viewModel() private lateinit var source: MangaSource override fun onCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/org/koitharu/kotatsu/search/ui/SearchFragment.kt b/app/src/main/java/org/koitharu/kotatsu/search/ui/SearchFragment.kt index 3ebafa633..6f2621475 100644 --- a/app/src/main/java/org/koitharu/kotatsu/search/ui/SearchFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/search/ui/SearchFragment.kt @@ -10,7 +10,7 @@ import org.koitharu.kotatsu.utils.ext.withArgs class SearchFragment : MangaListFragment() { - override val viewModel by viewModel(mode = LazyThreadSafetyMode.NONE) { + override val viewModel by viewModel { parametersOf(source, query) } diff --git a/app/src/main/java/org/koitharu/kotatsu/search/ui/global/GlobalSearchFragment.kt b/app/src/main/java/org/koitharu/kotatsu/search/ui/global/GlobalSearchFragment.kt index 4680fa8b1..2f6ca1ae3 100644 --- a/app/src/main/java/org/koitharu/kotatsu/search/ui/global/GlobalSearchFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/search/ui/global/GlobalSearchFragment.kt @@ -9,7 +9,7 @@ import org.koitharu.kotatsu.utils.ext.withArgs class GlobalSearchFragment : MangaListFragment() { - override val viewModel by viewModel(mode = LazyThreadSafetyMode.NONE) { + override val viewModel by viewModel { parametersOf(query) } 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 50c448149..f7181bb20 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 @@ -21,7 +21,7 @@ import java.io.FileOutputStream class BackupDialogFragment : AlertDialogFragment() { - private val viewModel by viewModel(mode = LazyThreadSafetyMode.NONE) + private val viewModel by viewModel() private var backup: File? = null private val saveFileContract = diff --git a/app/src/main/java/org/koitharu/kotatsu/settings/backup/BackupSettingsFragment.kt b/app/src/main/java/org/koitharu/kotatsu/settings/backup/BackupSettingsFragment.kt index 93bde0e64..b41ebb205 100644 --- a/app/src/main/java/org/koitharu/kotatsu/settings/backup/BackupSettingsFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/settings/backup/BackupSettingsFragment.kt @@ -13,7 +13,7 @@ import org.koitharu.kotatsu.base.ui.BasePreferenceFragment import org.koitharu.kotatsu.core.prefs.AppSettings class BackupSettingsFragment : BasePreferenceFragment(R.string.backup_restore), - ActivityResultCallback { + ActivityResultCallback { private val backupSelectCall = registerForActivityResult( ActivityResultContracts.OpenDocument(), diff --git a/app/src/main/java/org/koitharu/kotatsu/settings/backup/RestoreDialogFragment.kt b/app/src/main/java/org/koitharu/kotatsu/settings/backup/RestoreDialogFragment.kt index 5353cdefc..97701f82b 100644 --- a/app/src/main/java/org/koitharu/kotatsu/settings/backup/RestoreDialogFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/settings/backup/RestoreDialogFragment.kt @@ -22,10 +22,10 @@ class RestoreDialogFragment : AlertDialogFragment() { override fun onInflateView( inflater: LayoutInflater, - container: ViewGroup? + container: ViewGroup?, ) = DialogProgressBinding.inflate(inflater, container, false) - private val viewModel by viewModel(mode = LazyThreadSafetyMode.NONE) { + private val viewModel by viewModel { parametersOf(arguments?.getString(ARG_FILE)?.toUriOrNull()) } diff --git a/app/src/main/java/org/koitharu/kotatsu/settings/onboard/OnboardDialogFragment.kt b/app/src/main/java/org/koitharu/kotatsu/settings/onboard/OnboardDialogFragment.kt index b6945a7e4..d732abaef 100644 --- a/app/src/main/java/org/koitharu/kotatsu/settings/onboard/OnboardDialogFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/settings/onboard/OnboardDialogFragment.kt @@ -21,7 +21,7 @@ import org.koitharu.kotatsu.utils.ext.withArgs class OnboardDialogFragment : AlertDialogFragment(), OnListItemClickListener, DialogInterface.OnClickListener { - private val viewModel by viewModel(mode = LazyThreadSafetyMode.NONE) + private val viewModel by viewModel() private var isWelcome: Boolean = false override fun onCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/org/koitharu/kotatsu/settings/protect/ProtectSetupActivity.kt b/app/src/main/java/org/koitharu/kotatsu/settings/protect/ProtectSetupActivity.kt index f57e5990a..5ab950d69 100644 --- a/app/src/main/java/org/koitharu/kotatsu/settings/protect/ProtectSetupActivity.kt +++ b/app/src/main/java/org/koitharu/kotatsu/settings/protect/ProtectSetupActivity.kt @@ -17,7 +17,7 @@ import org.koitharu.kotatsu.databinding.ActivitySetupProtectBinding class ProtectSetupActivity : BaseActivity(), TextWatcher, View.OnClickListener, TextView.OnEditorActionListener { - private val viewModel by viewModel(mode = LazyThreadSafetyMode.NONE) + private val viewModel by viewModel() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) diff --git a/app/src/main/java/org/koitharu/kotatsu/tracker/ui/FeedFragment.kt b/app/src/main/java/org/koitharu/kotatsu/tracker/ui/FeedFragment.kt index 66413a5f5..57605b4d4 100644 --- a/app/src/main/java/org/koitharu/kotatsu/tracker/ui/FeedFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/tracker/ui/FeedFragment.kt @@ -26,7 +26,7 @@ import org.koitharu.kotatsu.utils.progress.Progress class FeedFragment : BaseFragment(), PaginationScrollListener.Callback, OnListItemClickListener { - private val viewModel by viewModel(mode = LazyThreadSafetyMode.NONE) + private val viewModel by viewModel() private var feedAdapter: FeedAdapter? = null private var updateStatusSnackbar: Snackbar? = null diff --git a/app/src/main/java/org/koitharu/kotatsu/utils/ext/StringExt.kt b/app/src/main/java/org/koitharu/kotatsu/utils/ext/StringExt.kt index 7c66bacaf..380019019 100644 --- a/app/src/main/java/org/koitharu/kotatsu/utils/ext/StringExt.kt +++ b/app/src/main/java/org/koitharu/kotatsu/utils/ext/StringExt.kt @@ -122,7 +122,7 @@ fun ByteArray.byte2HexFormatted(): String { if (l > 2) { h = h.substring(l - 2, l) } - str.append(h.toUpperCase(Locale.ROOT)) + str.append(h.uppercase(Locale.ROOT)) if (i < size - 1) { str.append(':') } diff --git a/app/src/main/java/org/koitharu/kotatsu/widget/shelf/ShelfConfigActivity.kt b/app/src/main/java/org/koitharu/kotatsu/widget/shelf/ShelfConfigActivity.kt index 1946fb0dd..8acc69b8b 100644 --- a/app/src/main/java/org/koitharu/kotatsu/widget/shelf/ShelfConfigActivity.kt +++ b/app/src/main/java/org/koitharu/kotatsu/widget/shelf/ShelfConfigActivity.kt @@ -27,9 +27,10 @@ import org.koitharu.kotatsu.utils.ext.getDisplayMessage import org.koitharu.kotatsu.widget.shelf.adapter.CategorySelectAdapter import org.koitharu.kotatsu.widget.shelf.model.CategoryItem -class ShelfConfigActivity : BaseActivity(), OnListItemClickListener { +class ShelfConfigActivity : BaseActivity(), + OnListItemClickListener { - private val viewModel by viewModel(mode = LazyThreadSafetyMode.NONE) + private val viewModel by viewModel() private lateinit var adapter: CategorySelectAdapter private lateinit var config: AppWidgetConfig