diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseController.kt index 57d0464bd..db966a429 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/BrowseController.kt @@ -24,7 +24,7 @@ import eu.kanade.tachiyomi.ui.browse.extension.ExtensionController import eu.kanade.tachiyomi.ui.browse.latest.LatestController import eu.kanade.tachiyomi.ui.browse.migration.sources.MigrationSourcesController import eu.kanade.tachiyomi.ui.browse.source.SourceController -import kotlinx.android.synthetic.main.main_activity.tabs +import eu.kanade.tachiyomi.ui.main.MainActivity import uy.kohesive.injekt.injectLazy class BrowseController : @@ -75,7 +75,7 @@ class BrowseController : override fun onChangeStarted(handler: ControllerChangeHandler, type: ControllerChangeType) { super.onChangeStarted(handler, type) if (type.isEnter) { - activity?.tabs?.apply { + (activity as? MainActivity)?.binding?.tabs?.apply { setupWithViewPager(binding.pager) // Show badge on tab for extension updates @@ -97,7 +97,7 @@ class BrowseController : } fun setExtensionUpdateBadge() { - activity?.tabs?.apply { + (activity as? MainActivity)?.binding?.tabs?.apply { val updates = preferences.extensionUpdatesCount().get() if (updates > 0) { // SY --> diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt index 548bf1f9d..1bbea5d26 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt @@ -44,6 +44,7 @@ import eu.kanade.tachiyomi.ui.browse.extension.details.SourcePreferencesControll import eu.kanade.tachiyomi.ui.browse.source.SourceController import eu.kanade.tachiyomi.ui.browse.source.browse.SourceFilterSheet.FilterNavigationView.Companion.MAX_SAVED_SEARCHES import eu.kanade.tachiyomi.ui.library.ChangeMangaCategoriesDialog +import eu.kanade.tachiyomi.ui.main.MainActivity import eu.kanade.tachiyomi.ui.manga.MangaController import eu.kanade.tachiyomi.ui.webview.WebViewActivity import eu.kanade.tachiyomi.util.system.connectivityManager @@ -58,7 +59,6 @@ import exh.isEhBasedSource import exh.md.similar.ui.EnableMangaDexSimilarDialogController import exh.savedsearches.EXHSavedSearch import exh.source.getMainSource -import kotlinx.android.synthetic.main.main_activity.root_coordinator import kotlinx.coroutines.Job import kotlinx.coroutines.flow.drop import kotlinx.coroutines.flow.filter @@ -574,7 +574,7 @@ open class BrowseSourceController(bundle: Bundle) : binding.emptyView.show(message, actions) } else { - snack = activity!!.root_coordinator?.snack(message, Snackbar.LENGTH_INDEFINITE) { + snack = (activity as? MainActivity)?.binding?.rootCoordinator?.snack(message, Snackbar.LENGTH_INDEFINITE) { setAction(R.string.action_retry, retryAction) } } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryController.kt index 149460dc8..fc34bd68e 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryController.kt @@ -20,9 +20,9 @@ import eu.kanade.tachiyomi.databinding.CategoriesControllerBinding import eu.kanade.tachiyomi.ui.base.controller.FabController import eu.kanade.tachiyomi.ui.base.controller.NucleusController import eu.kanade.tachiyomi.ui.base.controller.applyBottomInsetPadding +import eu.kanade.tachiyomi.ui.main.MainActivity import eu.kanade.tachiyomi.util.system.toast import eu.kanade.tachiyomi.util.view.shrinkOnScroll -import kotlinx.android.synthetic.main.main_activity.root_coordinator import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import reactivecircus.flowbinding.android.view.clicks @@ -201,7 +201,7 @@ class CategoryController : undoHelper = UndoHelper(adapter, this) undoHelper?.start( adapter.selectedPositions, - activity!!.root_coordinator, + (activity as? MainActivity)?.binding?.rootCoordinator!!, R.string.snack_categories_deleted, R.string.action_undo, 3000 diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/category/biometric/BiometricTimesController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/category/biometric/BiometricTimesController.kt index 84c5be808..25509bd78 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/category/biometric/BiometricTimesController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/category/biometric/BiometricTimesController.kt @@ -18,9 +18,9 @@ import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.databinding.CategoriesControllerBinding import eu.kanade.tachiyomi.ui.base.controller.FabController import eu.kanade.tachiyomi.ui.base.controller.NucleusController +import eu.kanade.tachiyomi.ui.main.MainActivity import eu.kanade.tachiyomi.util.system.toast import eu.kanade.tachiyomi.util.view.shrinkOnScroll -import kotlinx.android.synthetic.main.main_activity.root_coordinator import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import reactivecircus.flowbinding.android.view.clicks @@ -198,7 +198,7 @@ class BiometricTimesController : undoHelper = UndoHelper(adapter, this) undoHelper?.start( adapter.selectedPositions, - activity!!.root_coordinator, + (activity as? MainActivity)?.binding?.rootCoordinator!!, R.string.biometric_lock_time_deleted_snack, R.string.action_undo, 3000 diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/category/genre/SortTagController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/category/genre/SortTagController.kt index 6929739f9..b288e35aa 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/category/genre/SortTagController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/category/genre/SortTagController.kt @@ -20,9 +20,9 @@ import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.databinding.CategoriesControllerBinding import eu.kanade.tachiyomi.ui.base.controller.FabController import eu.kanade.tachiyomi.ui.base.controller.NucleusController +import eu.kanade.tachiyomi.ui.main.MainActivity import eu.kanade.tachiyomi.util.system.toast import eu.kanade.tachiyomi.util.view.shrinkOnScroll -import kotlinx.android.synthetic.main.main_activity.root_coordinator import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import reactivecircus.flowbinding.android.view.clicks @@ -224,7 +224,7 @@ class SortTagController : undoHelper = UndoHelper(adapter, this) undoHelper?.start( adapter.selectedPositions, - activity!!.root_coordinator, + (activity as? MainActivity)?.binding?.rootCoordinator!!, R.string.snack_tags_deleted, R.string.action_undo, 3000 diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/category/sources/SourceCategoryController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/category/sources/SourceCategoryController.kt index 324e3ed77..98002e27e 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/category/sources/SourceCategoryController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/category/sources/SourceCategoryController.kt @@ -18,9 +18,9 @@ import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.databinding.CategoriesControllerBinding import eu.kanade.tachiyomi.ui.base.controller.FabController import eu.kanade.tachiyomi.ui.base.controller.NucleusController +import eu.kanade.tachiyomi.ui.main.MainActivity import eu.kanade.tachiyomi.util.system.toast import eu.kanade.tachiyomi.util.view.shrinkOnScroll -import kotlinx.android.synthetic.main.main_activity.root_coordinator import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import reactivecircus.flowbinding.android.view.clicks @@ -196,7 +196,7 @@ class SourceCategoryController : undoHelper = UndoHelper(adapter, this) undoHelper?.start( adapter.selectedPositions, - activity!!.root_coordinator, + (activity as? MainActivity)?.binding?.rootCoordinator!!, R.string.snack_categories_deleted, R.string.action_undo, 3000 diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt index c21cec209..401977e15 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt @@ -51,7 +51,6 @@ import exh.favorites.FavoritesSyncStatus import exh.mangaDexSourceIds import exh.nHentaiSourceIds import exh.ui.LoaderManager -import kotlinx.android.synthetic.main.main_activity.tabs import kotlinx.coroutines.flow.drop import kotlinx.coroutines.flow.filter import kotlinx.coroutines.flow.launchIn @@ -239,7 +238,7 @@ class LibraryController( override fun onChangeStarted(handler: ControllerChangeHandler, type: ControllerChangeType) { super.onChangeStarted(handler, type) if (type.isEnter) { - activity?.tabs?.setupWithViewPager(binding.libraryPager) + (activity as? MainActivity)?.binding?.tabs?.setupWithViewPager(binding.libraryPager) presenter.subscribeLibrary() } } @@ -310,7 +309,7 @@ class LibraryController( // Delay the scroll position to allow the view to be properly measured. view.post { if (isAttached) { - activity?.tabs?.setScrollPosition(binding.libraryPager.currentItem, 0f, true) + (activity as? MainActivity)?.binding?.tabs?.setScrollPosition(binding.libraryPager.currentItem, 0f, true) } } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt index de04f221f..4a0598a4c 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt @@ -104,8 +104,6 @@ import exh.md.similar.ui.MangaDexSimilarController import exh.metadata.metadata.base.FlatMetadata import exh.recs.RecommendsController import exh.source.getMainSource -import kotlinx.android.synthetic.main.main_activity.root_coordinator -import kotlinx.android.synthetic.main.main_activity.toolbar import kotlinx.coroutines.CancellationException import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.NonCancellable @@ -367,7 +365,7 @@ class MangaController : else -> min(binding.recycler.computeVerticalScrollOffset(), 255) } - activity?.toolbar?.setTitleTextColor( + (activity as? MainActivity)?.binding?.toolbar?.setTitleTextColor( Color.argb( calculatedAlpha, toolbarTextColor.red, @@ -786,7 +784,7 @@ class MangaController : private fun toggleFavorite() { val isNowFavorite = presenter.toggleFavorite() if (activity != null && !isNowFavorite && presenter.hasDownloads()) { - activity!!.root_coordinator?.snack(activity!!.getString(R.string.delete_downloads_for_manga)) { + (activity as? MainActivity)?.binding?.rootCoordinator?.snack(activity!!.getString(R.string.delete_downloads_for_manga)) { setAction(R.string.action_delete) { presenter.deleteDownloads() } @@ -1315,7 +1313,7 @@ class MangaController : val manga = presenter.manga presenter.downloadChapters(chapters) if (view != null && !manga.favorite) { - addSnackbar = activity!!.root_coordinator?.snack(view.context.getString(R.string.snack_add_to_library), Snackbar.LENGTH_INDEFINITE) { + addSnackbar = (activity as? MainActivity)?.binding?.rootCoordinator?.snack(view.context.getString(R.string.snack_add_to_library), Snackbar.LENGTH_INDEFINITE) { setAction(R.string.action_add) { addToLibrary(manga) } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsLibraryController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsLibraryController.kt index d5a31e0a0..007fdc719 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsLibraryController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsLibraryController.kt @@ -31,8 +31,7 @@ import eu.kanade.tachiyomi.util.preference.preferenceCategory import eu.kanade.tachiyomi.util.preference.summaryRes import eu.kanade.tachiyomi.util.preference.switchPreference import eu.kanade.tachiyomi.util.preference.titleRes -import kotlinx.android.synthetic.main.pref_library_columns.view.landscape_columns -import kotlinx.android.synthetic.main.pref_library_columns.view.portrait_columns +import eu.kanade.tachiyomi.widget.MinMaxNumberPicker import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach @@ -316,7 +315,7 @@ class SettingsLibraryController : SettingsController() { } fun onViewCreated(view: View) { - with(view.portrait_columns) { + with(view.findViewById(R.id.portrait_columns) as MinMaxNumberPicker) { displayedValues = arrayOf(context.getString(R.string.default_columns)) + IntRange(1, 10).map(Int::toString) value = portrait @@ -325,7 +324,7 @@ class SettingsLibraryController : SettingsController() { portrait = newValue } } - with(view.landscape_columns) { + with(view.findViewById(R.id.landscape_columns) as MinMaxNumberPicker) { displayedValues = arrayOf(context.getString(R.string.default_columns)) + IntRange(1, 10).map(Int::toString) value = landscape diff --git a/app/src/main/java/eu/kanade/tachiyomi/widget/preference/LoginPreference.kt b/app/src/main/java/eu/kanade/tachiyomi/widget/preference/LoginPreference.kt index 32ca1d720..eea07d977 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/widget/preference/LoginPreference.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/widget/preference/LoginPreference.kt @@ -2,10 +2,10 @@ package eu.kanade.tachiyomi.widget.preference import android.content.Context import android.util.AttributeSet +import android.widget.ImageView import androidx.preference.Preference import androidx.preference.PreferenceViewHolder import eu.kanade.tachiyomi.R -import kotlinx.android.synthetic.main.pref_widget_imageview.view.image_view class LoginPreference @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) : Preference(context, attrs) { @@ -17,7 +17,7 @@ class LoginPreference @JvmOverloads constructor(context: Context, attrs: Attribu override fun onBindViewHolder(holder: PreferenceViewHolder) { super.onBindViewHolder(holder) - holder.itemView.image_view.setImageResource( + (holder.findViewById(R.id.image_view) as ImageView).setImageResource( if (getPersistedString("").isNullOrEmpty()) { android.R.color.transparent } else { diff --git a/app/src/main/java/eu/kanade/tachiyomi/widget/preference/SwitchSettingsPreference.kt b/app/src/main/java/eu/kanade/tachiyomi/widget/preference/SwitchSettingsPreference.kt index f5e746af5..b0b905f78 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/widget/preference/SwitchSettingsPreference.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/widget/preference/SwitchSettingsPreference.kt @@ -6,7 +6,6 @@ import android.view.View import androidx.preference.PreferenceViewHolder import androidx.preference.SwitchPreferenceCompat import eu.kanade.tachiyomi.R -import kotlinx.android.synthetic.main.pref_settings.view.button class SwitchSettingsPreference @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) : SwitchPreferenceCompat(context, attrs) { @@ -20,7 +19,7 @@ class SwitchSettingsPreference @JvmOverloads constructor(context: Context, attrs override fun onBindViewHolder(holder: PreferenceViewHolder) { super.onBindViewHolder(holder) - holder.itemView.button.setOnClickListener { + holder.findViewById(R.id.button).setOnClickListener { onSettingsClick?.onClick(it) } }