From 9ddd17496bc7ab0b33725e670bf037d205bc3397 Mon Sep 17 00:00:00 2001 From: arkon Date: Sun, 26 Mar 2023 13:27:31 -0400 Subject: [PATCH] Refactor away some unnecessary lambda expressions (cherry picked from commit be54b8862e53af94f08549cbfae0afb2cc4c2f3e) # Conflicts: # app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt --- .../eu/kanade/core/util/CollectionUtils.kt | 6 ++--- .../presentation/browse/GlobalSearchScreen.kt | 2 +- .../browse/MigrateSearchScreen.kt | 2 +- .../tachiyomi/data/backup/BackupManager.kt | 2 +- .../base/delegate/SecureActivityDelegate.kt | 2 +- .../ui/base/delegate/ThemingDelegate.kt | 2 +- .../browse/extension/ExtensionFilterScreen.kt | 2 +- .../browse/extension/ExtensionsScreenModel.kt | 2 +- .../details/ExtensionDetailsScreen.kt | 6 ++--- .../migration/search/SourceSearchScreen.kt | 2 +- .../source/browse/BrowseSourceScreen.kt | 22 +++++-------------- .../source/browse/BrowseSourceScreenModel.kt | 1 + .../ui/browse/source/feed/SourceFeedScreen.kt | 4 +--- .../kanade/tachiyomi/ui/library/LibraryTab.kt | 4 ++-- .../tachiyomi/ui/reader/ReaderActivity.kt | 16 +++++++------- .../setting/ReaderColorFilterSettings.kt | 8 +++---- .../viewer/pager/PagerTransitionHolder.kt | 2 +- .../ui/reader/viewer/pager/PagerViewer.kt | 12 ++++------ 18 files changed, 41 insertions(+), 56 deletions(-) diff --git a/app/src/main/java/eu/kanade/core/util/CollectionUtils.kt b/app/src/main/java/eu/kanade/core/util/CollectionUtils.kt index 07d5933ad..501763150 100644 --- a/app/src/main/java/eu/kanade/core/util/CollectionUtils.kt +++ b/app/src/main/java/eu/kanade/core/util/CollectionUtils.kt @@ -12,10 +12,10 @@ fun List.insertSeparators( val newList = mutableListOf() for (i in -1..lastIndex) { val before = getOrNull(i) - before?.let { newList.add(it) } + before?.let(newList::add) val after = getOrNull(i + 1) val separator = generator.invoke(before, after) - separator?.let { newList.add(it) } + separator?.let(newList::add) } return newList } @@ -80,7 +80,7 @@ inline fun List.fastMapNotNull(transform: (T) -> R?): List { contract { callsInPlace(transform) } val destination = ArrayList() fastForEach { element -> - transform(element)?.let { destination.add(it) } + transform(element)?.let(destination::add) } return destination } diff --git a/app/src/main/java/eu/kanade/presentation/browse/GlobalSearchScreen.kt b/app/src/main/java/eu/kanade/presentation/browse/GlobalSearchScreen.kt index 9735e7536..b9a8f636e 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/GlobalSearchScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/GlobalSearchScreen.kt @@ -96,7 +96,7 @@ private fun GlobalSearchContent( GlobalSearchCardRow( titles = result.result, - getManga = { getManga(it) }, + getManga = getManga, onClick = onClickItem, onLongClick = onLongClickItem, ) diff --git a/app/src/main/java/eu/kanade/presentation/browse/MigrateSearchScreen.kt b/app/src/main/java/eu/kanade/presentation/browse/MigrateSearchScreen.kt index a424de809..4b7b70c45 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/MigrateSearchScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/MigrateSearchScreen.kt @@ -85,7 +85,7 @@ private fun MigrateSearchContent( GlobalSearchCardRow( titles = result.result, - getManga = { getManga(it) }, + getManga = getManga, onClick = onClickItem, onLongClick = onLongClickItem, ) diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt b/app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt index 62745c4db..f5ef308ef 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/backup/BackupManager.kt @@ -181,7 +181,7 @@ class BackupManager( .map(Manga::source) .distinct() .map(sourceManager::getOrStub) - .map { BackupSource.copyFrom(it) } + .map(BackupSource::copyFrom) .toList() } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/base/delegate/SecureActivityDelegate.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/base/delegate/SecureActivityDelegate.kt index 949d11b8e..463c15c3e 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/base/delegate/SecureActivityDelegate.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/base/delegate/SecureActivityDelegate.kt @@ -140,7 +140,7 @@ class SecureActivityDelegateImpl : SecureActivityDelegate, DefaultLifecycleObser secureScreen == SecurityPreferences.SecureScreenMode.ALWAYS || secureScreen == SecurityPreferences.SecureScreenMode.INCOGNITO && incognitoMode } - .onEach { activity.window.setSecureScreen(it) } + .onEach(activity.window::setSecureScreen) .launchIn(activity.lifecycleScope) } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/base/delegate/ThemingDelegate.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/base/delegate/ThemingDelegate.kt index 4ad7474fe..c8846a34c 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/base/delegate/ThemingDelegate.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/base/delegate/ThemingDelegate.kt @@ -62,6 +62,6 @@ class ThemingDelegateImpl : ThemingDelegate { override fun applyAppTheme(activity: Activity) { val uiPreferences = Injekt.get() ThemingDelegate.getThemeResIds(uiPreferences.appTheme().get(), uiPreferences.themeDarkAmoled().get()) - .forEach { activity.setTheme(it) } + .forEach(activity::setTheme) } } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionFilterScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionFilterScreen.kt index 5ef612092..53e709528 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionFilterScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionFilterScreen.kt @@ -34,7 +34,7 @@ class ExtensionFilterScreen : Screen() { ExtensionFilterScreen( navigateUp = navigator::pop, state = successState, - onClickToggle = { screenModel.toggle(it) }, + onClickToggle = screenModel::toggle, ) LaunchedEffect(Unit) { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionsScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionsScreenModel.kt index f701cb27d..10677639f 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionsScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionsScreenModel.kt @@ -141,7 +141,7 @@ class ExtensionsScreenModel( else -> it.extension } } - .forEach { updateExtension(it) } + .forEach(::updateExtension) } } } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/details/ExtensionDetailsScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/details/ExtensionDetailsScreen.kt index 7d071e90f..1797dc89d 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/details/ExtensionDetailsScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/details/ExtensionDetailsScreen.kt @@ -40,9 +40,9 @@ data class ExtensionDetailsScreen( onClickReadme = { uriHandler.openUri(screenModel.getReadmeUrl()) }, onClickEnableAll = { screenModel.toggleSources(true) }, onClickDisableAll = { screenModel.toggleSources(false) }, - onClickClearCookies = { screenModel.clearCookies() }, - onClickUninstall = { screenModel.uninstallExtension() }, - onClickSource = { screenModel.toggleSource(it) }, + onClickClearCookies = screenModel::clearCookies, + onClickUninstall = screenModel::uninstallExtension, + onClickSource = screenModel::toggleSource, ) LaunchedEffect(Unit) { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt index 865b0852f..8f98f2a8a 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt @@ -48,7 +48,7 @@ data class SourceSearchScreen( searchQuery = state.toolbarQuery ?: "", onChangeSearchQuery = screenModel::setToolbarQuery, onClickCloseSearch = navigator::pop, - onSearch = { screenModel.search(it) }, + onSearch = screenModel::search, scrollBehavior = scrollBehavior, ) }, diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt index d9ffc247d..b35bdc5ca 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt @@ -150,7 +150,7 @@ data class BrowseSourceScreen( onWebViewClick = onWebViewClick, onHelpClick = onHelpClick, onSettingsClick = { navigator.push(SourcePreferencesScreen(sourceId)) }, - onSearch = { screenModel.search(it) }, + onSearch = screenModel::search, ) Row( @@ -270,29 +270,19 @@ data class BrowseSourceScreen( SourceFilterDialog( onDismissRequest = onDismissRequest, filters = state.filters, - onReset = { - screenModel.resetFilters() - }, - onFilter = { - screenModel.search(filters = state.filters) - }, - onUpdate = { - screenModel.setFilters(it) - }, + onReset = screenModel::resetFilters, + onFilter = { screenModel.search(filters = state.filters) }, + onUpdate = screenModel::setFilters, // SY --> startExpanded = screenModel.startExpanded, - onSave = { - screenModel.onSaveSearch() - }, + onSave = screenModel::onSaveSearch, savedSearches = state.savedSearches, onSavedSearch = { search -> screenModel.onSavedSearch(search) { context.toast(it) } }, - onSavedSearchPress = { - screenModel.onSavedSearchPress(it) - }, + onSavedSearchPress = screenModel::onSavedSearchPress, openMangaDexRandom = if (screenModel.sourceIsMangaDex) { { screenModel.onMangaDexRandom { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt index 0de883c56..d12d43895 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt @@ -44,6 +44,7 @@ import kotlinx.coroutines.flow.flatMapLatest import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.map +import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.stateIn import kotlinx.coroutines.flow.update import kotlinx.coroutines.launch diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/feed/SourceFeedScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/feed/SourceFeedScreen.kt index 51e827f2f..af60aebcf 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/feed/SourceFeedScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/feed/SourceFeedScreen.kt @@ -86,9 +86,7 @@ class SourceFeedScreen(val sourceId: Long) : Screen() { ) } }, - onUpdate = { - screenModel.setFilters(it) - }, + onUpdate = screenModel::setFilters, startExpanded = screenModel.startExpanded, onSave = {}, savedSearches = state.savedSearches, diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt index d7c47a17f..988bdf1fc 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt @@ -141,7 +141,7 @@ object LibraryTab : Tab { onClickUnselectAll = screenModel::clearSelection, onClickSelectAll = { screenModel.selectAll(screenModel.activeCategoryIndex) }, onClickInvertSelection = { screenModel.invertSelection(screenModel.activeCategoryIndex) }, - onClickFilter = { screenModel.showSettingsDialog() }, + onClickFilter = screenModel::showSettingsDialog, onClickRefresh = { onClickRefresh(state.categories[screenModel.activeCategoryIndex]) }, onClickGlobalUpdate = { onClickRefresh(null) }, onClickOpenRandomManga = { @@ -232,7 +232,7 @@ object LibraryTab : Tab { } Unit }.takeIf { state.showMangaContinueButton }, - onToggleSelection = { screenModel.toggleSelection(it) }, + onToggleSelection = screenModel::toggleSelection, onToggleRangeSelection = { screenModel.toggleRangeSelection(it) haptic.performHapticFeedback(HapticFeedbackType.LongPress) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt index 4091d4c7b..3616dd757 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt @@ -1616,29 +1616,29 @@ class ReaderActivity : BaseActivity() { .launchIn(lifecycleScope) readerPreferences.showPageNumber().changes() - .onEach { setPageNumberVisibility(it) } + .onEach(::setPageNumberVisibility) .launchIn(lifecycleScope) readerPreferences.trueColor().changes() - .onEach { setTrueColor(it) } + .onEach(::setTrueColor) .launchIn(lifecycleScope) if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { readerPreferences.cutoutShort().changes() - .onEach { setCutoutShort(it) } + .onEach(::setCutoutShort) .launchIn(lifecycleScope) } readerPreferences.keepScreenOn().changes() - .onEach { setKeepScreenOn(it) } + .onEach(::setKeepScreenOn) .launchIn(lifecycleScope) readerPreferences.customBrightness().changes() - .onEach { setCustomBrightness(it) } + .onEach(::setCustomBrightness) .launchIn(lifecycleScope) readerPreferences.colorFilter().changes() - .onEach { setColorFilter(it) } + .onEach(::setColorFilter) .launchIn(lifecycleScope) readerPreferences.colorFilterMode().changes() @@ -1738,7 +1738,7 @@ class ReaderActivity : BaseActivity() { if (enabled) { readerPreferences.customBrightnessValue().changes() .sample(100) - .onEach { setCustomBrightnessValue(it) } + .onEach(::setCustomBrightnessValue) .launchIn(lifecycleScope) } else { setCustomBrightnessValue(0) @@ -1752,7 +1752,7 @@ class ReaderActivity : BaseActivity() { if (enabled) { readerPreferences.colorFilterValue().changes() .sample(100) - .onEach { setColorFilterValue(it) } + .onEach(::setColorFilterValue) .launchIn(lifecycleScope) } else { binding.colorOverlay.isVisible = false diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderColorFilterSettings.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderColorFilterSettings.kt index 2695ce198..7f76dbb76 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderColorFilterSettings.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderColorFilterSettings.kt @@ -33,7 +33,7 @@ class ReaderColorFilterSettings @JvmOverloads constructor(context: Context, attr addView(binding.root) readerPreferences.colorFilter().changes() - .onEach { setColorFilter(it) } + .onEach(::setColorFilter) .launchIn((context as ReaderActivity).lifecycleScope) readerPreferences.colorFilterMode().changes() @@ -41,7 +41,7 @@ class ReaderColorFilterSettings @JvmOverloads constructor(context: Context, attr .launchIn(context.lifecycleScope) readerPreferences.customBrightness().changes() - .onEach { setCustomBrightness(it) } + .onEach(::setCustomBrightness) .launchIn(context.lifecycleScope) // Get color and update values @@ -141,7 +141,7 @@ class ReaderColorFilterSettings @JvmOverloads constructor(context: Context, attr if (enabled) { readerPreferences.customBrightnessValue().changes() .sample(100) - .onEach { setCustomBrightnessValue(it) } + .onEach(::setCustomBrightnessValue) .launchIn((context as ReaderActivity).lifecycleScope) } else { setCustomBrightnessValue(0, true) @@ -169,7 +169,7 @@ class ReaderColorFilterSettings @JvmOverloads constructor(context: Context, attr if (enabled) { readerPreferences.colorFilterValue().changes() .sample(100) - .onEach { setColorFilterValue(it) } + .onEach(::setColorFilterValue) .launchIn((context as ReaderActivity).lifecycleScope) } setColorFilterSeekBar(enabled) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerTransitionHolder.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerTransitionHolder.kt index d11ef8e4d..7ba46f5e0 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerTransitionHolder.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerTransitionHolder.kt @@ -63,7 +63,7 @@ class PagerTransitionHolder( transitionView.bind(transition, viewer.downloadManager, viewer.activity.viewModel.manga) - transition.to?.let { observeStatus(it) } + transition.to?.let(::observeStatus) } /** diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewer.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewer.kt index eda2723b6..0982dfcb5 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewer.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewer.kt @@ -76,9 +76,7 @@ abstract class PagerViewer(val activity: ReaderActivity) : BaseViewer { setChaptersDoubleShift(viewerChapters) awaitingIdleViewerChapters = null if (viewerChapters.currChapter.pages?.size == 1) { - adapter.nextTransition?.to?.let { - activity.requestPreloadChapter(it) - } + adapter.nextTransition?.to?.let(activity::requestPreloadChapter) } } } @@ -250,9 +248,7 @@ abstract class PagerViewer(val activity: ReaderActivity) : BaseViewer { val inPreloadRange = pages.size - page.number < 5 if (inPreloadRange && allowPreload && page.chapter == adapter.currentChapter) { logcat { "Request preload next chapter because we're at page ${page.number} of ${pages.size}" } - adapter.nextTransition?.to?.let { - activity.requestPreloadChapter(it) - } + adapter.nextTransition?.to?.let(activity::requestPreloadChapter) } } @@ -344,7 +340,7 @@ abstract class PagerViewer(val activity: ReaderActivity) : BaseViewer { */ protected open fun moveRight() { if (pager.currentItem != adapter.count - 1) { - val holder = (currentPage as? ReaderPage)?.let { getPageHolder(it) } + val holder = (currentPage as? ReaderPage)?.let(::getPageHolder) if (holder != null && config.navigateToPan && holder.canPanRight()) { holder.panRight() } else { @@ -358,7 +354,7 @@ abstract class PagerViewer(val activity: ReaderActivity) : BaseViewer { */ protected open fun moveLeft() { if (pager.currentItem != 0) { - val holder = (currentPage as? ReaderPage)?.let { getPageHolder(it) } + val holder = (currentPage as? ReaderPage)?.let(::getPageHolder) if (holder != null && config.navigateToPan && holder.canPanLeft()) { holder.panLeft() } else {