From 5f782440c62eeec9826f741b32210b04dd57dfe7 Mon Sep 17 00:00:00 2001 From: LuftVerbot <97435834+LuftVerbot@users.noreply.github.com> Date: Sat, 25 Nov 2023 00:22:45 +0100 Subject: [PATCH] merge34.5 Last commit merged: https://github.com/tachiyomiorg/tachiyomi/commit/8e4cedf1735f80c604f971b0a03bf72b040cdade --- .../browse/GlobalSearchResultItems.kt | 2 +- .../anime/AnimeExtensionDetailsScreen.kt | 3 +- .../browse/anime/AnimeExtensionsScreen.kt | 5 ++- .../browse/anime/BrowseAnimeSourceScreen.kt | 5 ++- .../components/BrowseAnimeSourceToolbar.kt | 2 +- .../browse/manga/BrowseMangaSourceScreen.kt | 5 ++- .../manga/MangaExtensionDetailsScreen.kt | 3 +- .../browse/manga/MangaExtensionsScreen.kt | 5 ++- .../components/BrowseMangaSourceToolbar.kt | 2 +- .../components/GlobalMangaSearchToolbar.kt | 2 +- .../category/components/CategoryListItem.kt | 2 +- .../kanade/presentation/components/AppBar.kt | 6 +-- .../presentation/components/DropdownMenu.kt | 4 +- .../presentation/components/EmptyScreen.kt | 3 +- .../presentation/components/TabbedDialog.kt | 4 +- .../presentation/components/TabbedScreen.kt | 8 ++-- .../entries/EntryBottomActionMenu.kt | 2 +- .../components/EpisodeDownloadIndicator.kt | 3 +- .../components/ChapterDownloadIndicator.kt | 3 +- .../presentation/library/LibraryTabs.kt | 4 +- .../eu/kanade/presentation/more/MoreScreen.kt | 6 ++- .../presentation/more/NewUpdateScreen.kt | 3 +- .../settings/screen/SettingsMainScreen.kt | 2 +- .../settings/screen/SettingsSearchScreen.kt | 5 ++- .../track/anime/AnimeTrackerSearch.kt | 3 +- .../track/manga/MangaTrackerSearch.kt | 3 +- .../webview/WebViewScreenContent.kt | 5 ++- .../tachiyomi/data/track/BaseTracker.kt | 39 +++++++++++++++++ .../eu/kanade/tachiyomi/data/track/Tracker.kt | 43 ++++++++----------- .../tachiyomi/data/track/anilist/Anilist.kt | 4 +- .../tachiyomi/data/track/bangumi/Bangumi.kt | 4 +- .../tachiyomi/data/track/kavita/Kavita.kt | 5 +-- .../tachiyomi/data/track/kitsu/Kitsu.kt | 4 +- .../tachiyomi/data/track/komga/Komga.kt | 4 +- .../data/track/mangaupdates/MangaUpdates.kt | 4 +- .../data/track/myanimelist/MyAnimeList.kt | 4 +- .../data/track/shikimori/Shikimori.kt | 4 +- .../tachiyomi/data/track/simkl/Simkl.kt | 4 +- .../tachiyomi/data/track/suwayomi/Suwayomi.kt | 4 +- .../migration/search/MigrateAnimeDialog.kt | 2 - .../sources/MigrateAnimeSourceTab.kt | 3 +- .../migration/search/MigrateMangaDialog.kt | 2 - .../sources/MigrateMangaSourceTab.kt | 3 +- .../ui/library/anime/AnimeLibraryTab.kt | 2 +- .../ui/library/manga/MangaLibraryTab.kt | 3 +- .../settings/sheets/StreamsCatalogSheet.kt | 2 +- gradle/compose.versions.toml | 4 +- gradle/libs.versions.toml | 2 +- .../components/CircularProgressIndicator.kt | 2 +- 49 files changed, 148 insertions(+), 100 deletions(-) create mode 100644 app/src/main/java/eu/kanade/tachiyomi/data/track/BaseTracker.kt diff --git a/app/src/main/java/eu/kanade/presentation/browse/GlobalSearchResultItems.kt b/app/src/main/java/eu/kanade/presentation/browse/GlobalSearchResultItems.kt index f00605983..50215a2bb 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/GlobalSearchResultItems.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/GlobalSearchResultItems.kt @@ -54,7 +54,7 @@ fun GlobalSearchResultItem( Text(text = subtitle) } IconButton(onClick = onClick) { - Icon(imageVector = Icons.Outlined.ArrowForward, contentDescription = null) + Icon(imageVector = Icons.AutoMirrored.Outlined.ArrowForward, contentDescription = null) } } content() diff --git a/app/src/main/java/eu/kanade/presentation/browse/anime/AnimeExtensionDetailsScreen.kt b/app/src/main/java/eu/kanade/presentation/browse/anime/AnimeExtensionDetailsScreen.kt index 9a446ad7e..77bcebb6a 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/anime/AnimeExtensionDetailsScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/anime/AnimeExtensionDetailsScreen.kt @@ -16,6 +16,7 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.lazy.items import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.automirrored.outlined.HelpOutline import androidx.compose.material.icons.outlined.HelpOutline import androidx.compose.material.icons.outlined.History import androidx.compose.material.icons.outlined.Settings @@ -91,7 +92,7 @@ fun AnimeExtensionDetailsScreen( add( AppBar.Action( title = stringResource(R.string.action_faq_and_guides), - icon = Icons.Outlined.HelpOutline, + icon = Icons.AutoMirrored.Outlined.HelpOutline, onClick = onClickReadme, ), ) diff --git a/app/src/main/java/eu/kanade/presentation/browse/anime/AnimeExtensionsScreen.kt b/app/src/main/java/eu/kanade/presentation/browse/anime/AnimeExtensionsScreen.kt index aa7ad2675..77498b3fd 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/anime/AnimeExtensionsScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/anime/AnimeExtensionsScreen.kt @@ -246,7 +246,10 @@ private fun AnimeExtensionItem( ) } - val padding by animateDpAsState(targetValue = if (idle) 0.dp else 8.dp) + val padding by animateDpAsState( + targetValue = if (idle) 0.dp else 8.dp, + label = "iconPadding", + ) AnimeExtensionIcon( extension = extension, modifier = Modifier diff --git a/app/src/main/java/eu/kanade/presentation/browse/anime/BrowseAnimeSourceScreen.kt b/app/src/main/java/eu/kanade/presentation/browse/anime/BrowseAnimeSourceScreen.kt index 0e844d434..ce4f6107f 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/anime/BrowseAnimeSourceScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/anime/BrowseAnimeSourceScreen.kt @@ -4,6 +4,7 @@ import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.grid.GridCells import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.automirrored.outlined.HelpOutline import androidx.compose.material.icons.outlined.HelpOutline import androidx.compose.material.icons.outlined.Public import androidx.compose.material.icons.outlined.Refresh @@ -79,7 +80,7 @@ fun BrowseAnimeSourceContent( listOf( EmptyScreenAction( stringResId = R.string.local_source_help_guide, - icon = Icons.Outlined.HelpOutline, + icon = Icons.AutoMirrored.Outlined.HelpOutline, onClick = onLocalAnimeSourceHelpClick, ), ) @@ -97,7 +98,7 @@ fun BrowseAnimeSourceContent( ), EmptyScreenAction( stringResId = R.string.label_help, - icon = Icons.Outlined.HelpOutline, + icon = Icons.AutoMirrored.Outlined.HelpOutline, onClick = onHelpClick, ), ) diff --git a/app/src/main/java/eu/kanade/presentation/browse/anime/components/BrowseAnimeSourceToolbar.kt b/app/src/main/java/eu/kanade/presentation/browse/anime/components/BrowseAnimeSourceToolbar.kt index 95e85b4c8..e0c1091d2 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/anime/components/BrowseAnimeSourceToolbar.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/anime/components/BrowseAnimeSourceToolbar.kt @@ -56,7 +56,7 @@ fun BrowseAnimeSourceToolbar( actions = listOfNotNull( AppBar.Action( title = stringResource(R.string.action_display_mode), - icon = if (displayMode == LibraryDisplayMode.List) Icons.Filled.ViewList else Icons.Filled.ViewModule, + icon = if (displayMode == LibraryDisplayMode.List) Icons.AutoMirrored.Filled.ViewList else Icons.Filled.ViewModule, onClick = { selectingDisplayMode = true }, ), if (isLocalSource) { diff --git a/app/src/main/java/eu/kanade/presentation/browse/manga/BrowseMangaSourceScreen.kt b/app/src/main/java/eu/kanade/presentation/browse/manga/BrowseMangaSourceScreen.kt index 5968c08dc..fc61f275a 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/manga/BrowseMangaSourceScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/manga/BrowseMangaSourceScreen.kt @@ -4,6 +4,7 @@ import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.grid.GridCells import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.automirrored.outlined.HelpOutline import androidx.compose.material.icons.outlined.HelpOutline import androidx.compose.material.icons.outlined.Public import androidx.compose.material.icons.outlined.Refresh @@ -79,7 +80,7 @@ fun BrowseSourceContent( listOf( EmptyScreenAction( stringResId = R.string.local_source_help_guide, - icon = Icons.Outlined.HelpOutline, + icon = Icons.AutoMirrored.Outlined.HelpOutline, onClick = onLocalSourceHelpClick, ), ) @@ -97,7 +98,7 @@ fun BrowseSourceContent( ), EmptyScreenAction( stringResId = R.string.label_help, - icon = Icons.Outlined.HelpOutline, + icon = Icons.AutoMirrored.Outlined.HelpOutline, onClick = onHelpClick, ), ) diff --git a/app/src/main/java/eu/kanade/presentation/browse/manga/MangaExtensionDetailsScreen.kt b/app/src/main/java/eu/kanade/presentation/browse/manga/MangaExtensionDetailsScreen.kt index 9bd22b61d..c4668b638 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/manga/MangaExtensionDetailsScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/manga/MangaExtensionDetailsScreen.kt @@ -16,6 +16,7 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.lazy.items import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.automirrored.outlined.HelpOutline import androidx.compose.material.icons.outlined.HelpOutline import androidx.compose.material.icons.outlined.History import androidx.compose.material.icons.outlined.Settings @@ -92,7 +93,7 @@ fun ExtensionDetailsScreen( add( AppBar.Action( title = stringResource(R.string.action_faq_and_guides), - icon = Icons.Outlined.HelpOutline, + icon = Icons.AutoMirrored.Outlined.HelpOutline, onClick = onClickReadme, ), ) diff --git a/app/src/main/java/eu/kanade/presentation/browse/manga/MangaExtensionsScreen.kt b/app/src/main/java/eu/kanade/presentation/browse/manga/MangaExtensionsScreen.kt index d8f63171f..10f142613 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/manga/MangaExtensionsScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/manga/MangaExtensionsScreen.kt @@ -247,7 +247,10 @@ private fun ExtensionItem( ) } - val padding by animateDpAsState(targetValue = if (idle) 0.dp else 8.dp) + val padding by animateDpAsState( + targetValue = if (idle) 0.dp else 8.dp, + label = "iconPadding", + ) MangaExtensionIcon( extension = extension, modifier = Modifier diff --git a/app/src/main/java/eu/kanade/presentation/browse/manga/components/BrowseMangaSourceToolbar.kt b/app/src/main/java/eu/kanade/presentation/browse/manga/components/BrowseMangaSourceToolbar.kt index f9fb4bca9..4ad0593a2 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/manga/components/BrowseMangaSourceToolbar.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/manga/components/BrowseMangaSourceToolbar.kt @@ -56,7 +56,7 @@ fun BrowseMangaSourceToolbar( actions = listOfNotNull( AppBar.Action( title = stringResource(R.string.action_display_mode), - icon = if (displayMode == LibraryDisplayMode.List) Icons.Filled.ViewList else Icons.Filled.ViewModule, + icon = if (displayMode == LibraryDisplayMode.List) Icons.AutoMirrored.Filled.ViewList else Icons.Filled.ViewModule, onClick = { selectingDisplayMode = true }, ), if (isLocalSource) { diff --git a/app/src/main/java/eu/kanade/presentation/browse/manga/components/GlobalMangaSearchToolbar.kt b/app/src/main/java/eu/kanade/presentation/browse/manga/components/GlobalMangaSearchToolbar.kt index a208119eb..3a0d70ad2 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/manga/components/GlobalMangaSearchToolbar.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/manga/components/GlobalMangaSearchToolbar.kt @@ -58,7 +58,7 @@ fun GlobalMangaSearchToolbar( ) if (progress in 1.. Unit, ) { return if (scrollable) { - ScrollableTabRow( + PrimaryScrollableTabRow( selectedTabIndex = selectedTabIndex, indicator = indicator, edgePadding = 13.dp, @@ -150,7 +150,7 @@ private fun FlexibleTabRow( block() } } else { - TabRow( + PrimaryTabRow( selectedTabIndex = selectedTabIndex, indicator = indicator, ) { diff --git a/app/src/main/java/eu/kanade/presentation/entries/EntryBottomActionMenu.kt b/app/src/main/java/eu/kanade/presentation/entries/EntryBottomActionMenu.kt index ccb23d55e..fd8ef181c 100644 --- a/app/src/main/java/eu/kanade/presentation/entries/EntryBottomActionMenu.kt +++ b/app/src/main/java/eu/kanade/presentation/entries/EntryBottomActionMenu.kt @@ -296,7 +296,7 @@ fun LibraryBottomActionMenu( ) { Button( title = stringResource(R.string.action_move_category), - icon = Icons.Outlined.Label, + icon = Icons.AutoMirrored.Outlined.Label, toConfirm = confirm[0], onLongClick = { onLongClickItem(0) }, onClick = onChangeCategoryClicked, diff --git a/app/src/main/java/eu/kanade/presentation/entries/anime/components/EpisodeDownloadIndicator.kt b/app/src/main/java/eu/kanade/presentation/entries/anime/components/EpisodeDownloadIndicator.kt index 1ad96a228..15a66cea4 100644 --- a/app/src/main/java/eu/kanade/presentation/entries/anime/components/EpisodeDownloadIndicator.kt +++ b/app/src/main/java/eu/kanade/presentation/entries/anime/components/EpisodeDownloadIndicator.kt @@ -137,6 +137,7 @@ private fun DownloadingIndicator( val animatedProgress by animateFloatAsState( targetValue = downloadProgress / 100f, animationSpec = ProgressIndicatorDefaults.ProgressAnimationSpec, + label = "progress", ) arrowColor = if (animatedProgress < 0.5f) { strokeColor @@ -144,7 +145,7 @@ private fun DownloadingIndicator( MaterialTheme.colorScheme.background } CircularProgressIndicator( - progress = animatedProgress, + progress = { animatedProgress }, modifier = IndicatorModifier, color = strokeColor, strokeWidth = IndicatorSize / 2, diff --git a/app/src/main/java/eu/kanade/presentation/entries/manga/components/ChapterDownloadIndicator.kt b/app/src/main/java/eu/kanade/presentation/entries/manga/components/ChapterDownloadIndicator.kt index ec8361472..60e4b4ed0 100644 --- a/app/src/main/java/eu/kanade/presentation/entries/manga/components/ChapterDownloadIndicator.kt +++ b/app/src/main/java/eu/kanade/presentation/entries/manga/components/ChapterDownloadIndicator.kt @@ -136,6 +136,7 @@ private fun DownloadingIndicator( val animatedProgress by animateFloatAsState( targetValue = downloadProgress / 100f, animationSpec = ProgressIndicatorDefaults.ProgressAnimationSpec, + label = "progress", ) arrowColor = if (animatedProgress < 0.5f) { strokeColor @@ -143,7 +144,7 @@ private fun DownloadingIndicator( MaterialTheme.colorScheme.background } CircularProgressIndicator( - progress = animatedProgress, + progress = { animatedProgress }, modifier = IndicatorModifier, color = strokeColor, strokeWidth = IndicatorSize / 2, diff --git a/app/src/main/java/eu/kanade/presentation/library/LibraryTabs.kt b/app/src/main/java/eu/kanade/presentation/library/LibraryTabs.kt index 22ae43eda..a10c49c56 100644 --- a/app/src/main/java/eu/kanade/presentation/library/LibraryTabs.kt +++ b/app/src/main/java/eu/kanade/presentation/library/LibraryTabs.kt @@ -4,7 +4,7 @@ import androidx.compose.foundation.layout.Column import androidx.compose.foundation.pager.PagerState import androidx.compose.material3.HorizontalDivider import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.ScrollableTabRow +import androidx.compose.material3.PrimaryScrollableTabRow import androidx.compose.material3.Tab import androidx.compose.runtime.Composable import androidx.compose.ui.unit.dp @@ -21,7 +21,7 @@ fun LibraryTabs( onTabItemClick: (Int) -> Unit, ) { Column { - ScrollableTabRow( + PrimaryScrollableTabRow( selectedTabIndex = pagerState.currentPage, edgePadding = 0.dp, indicator = { diff --git a/app/src/main/java/eu/kanade/presentation/more/MoreScreen.kt b/app/src/main/java/eu/kanade/presentation/more/MoreScreen.kt index 43ec4bc5f..be2a6b38e 100644 --- a/app/src/main/java/eu/kanade/presentation/more/MoreScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/MoreScreen.kt @@ -9,6 +9,8 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.systemBars import androidx.compose.foundation.layout.windowInsetsPadding import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.automirrored.outlined.HelpOutline +import androidx.compose.material.icons.automirrored.outlined.Label import androidx.compose.material.icons.outlined.CloudOff import androidx.compose.material.icons.outlined.CollectionsBookmark import androidx.compose.material.icons.outlined.GetApp @@ -164,7 +166,7 @@ fun MoreScreen( item { TextPreferenceWidget( title = stringResource(R.string.general_categories), - icon = Icons.Outlined.Label, + icon = Icons.AutoMirrored.Outlined.Label, onPreferenceClick = onClickCategories, ) } @@ -209,7 +211,7 @@ fun MoreScreen( item { TextPreferenceWidget( title = stringResource(R.string.label_help), - icon = Icons.Outlined.HelpOutline, + icon = Icons.AutoMirrored.Outlined.HelpOutline, onPreferenceClick = { uriHandler.openUri(Constants.URL_HELP) }, ) } diff --git a/app/src/main/java/eu/kanade/presentation/more/NewUpdateScreen.kt b/app/src/main/java/eu/kanade/presentation/more/NewUpdateScreen.kt index 5e1c4d7ce..c1480a965 100644 --- a/app/src/main/java/eu/kanade/presentation/more/NewUpdateScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/NewUpdateScreen.kt @@ -5,6 +5,7 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.width import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.automirrored.outlined.OpenInNew import androidx.compose.material.icons.filled.OpenInNew import androidx.compose.material.icons.outlined.NewReleases import androidx.compose.material3.Icon @@ -60,7 +61,7 @@ fun NewUpdateScreen( ) { Text(text = stringResource(R.string.update_check_open)) Spacer(modifier = Modifier.width(MaterialTheme.padding.tiny)) - Icon(imageVector = Icons.Default.OpenInNew, contentDescription = null) + Icon(imageVector = Icons.AutoMirrored.Outlined.OpenInNew, contentDescription = null) } } } diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsMainScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsMainScreen.kt index 36aa1e4db..d1912a7cc 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsMainScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsMainScreen.kt @@ -188,7 +188,7 @@ object SettingsMainScreen : Screen() { Item( titleRes = R.string.pref_category_reader, subtitleRes = R.string.pref_reader_summary, - icon = Icons.Outlined.ChromeReaderMode, + icon = Icons.AutoMirrored.Outlined.ChromeReaderMode, screen = SettingsReaderScreen, ), Item( diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSearchScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSearchScreen.kt index 64d99511a..1f417cde5 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSearchScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSearchScreen.kt @@ -220,7 +220,10 @@ private fun SearchResult( .toList() } - Crossfade(targetState = result) { + Crossfade( + targetState = result, + label = "results", + ) { when { it == null -> {} it.isEmpty() -> { diff --git a/app/src/main/java/eu/kanade/presentation/track/anime/AnimeTrackerSearch.kt b/app/src/main/java/eu/kanade/presentation/track/anime/AnimeTrackerSearch.kt index 847dfcd66..63b517b3f 100644 --- a/app/src/main/java/eu/kanade/presentation/track/anime/AnimeTrackerSearch.kt +++ b/app/src/main/java/eu/kanade/presentation/track/anime/AnimeTrackerSearch.kt @@ -18,6 +18,7 @@ import androidx.compose.foundation.text.BasicTextField import androidx.compose.foundation.text.KeyboardActions import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.automirrored.outlined.ArrowBack import androidx.compose.material.icons.filled.ArrowBack import androidx.compose.material.icons.filled.Close import androidx.compose.material3.Button @@ -77,7 +78,7 @@ fun AnimeTrackerSearch( navigationIcon = { IconButton(onClick = onDismissRequest) { Icon( - imageVector = Icons.Default.ArrowBack, + imageVector = Icons.AutoMirrored.Outlined.ArrowBack, contentDescription = null, tint = MaterialTheme.colorScheme.onSurfaceVariant, ) diff --git a/app/src/main/java/eu/kanade/presentation/track/manga/MangaTrackerSearch.kt b/app/src/main/java/eu/kanade/presentation/track/manga/MangaTrackerSearch.kt index e3ebc3c87..6485c5619 100644 --- a/app/src/main/java/eu/kanade/presentation/track/manga/MangaTrackerSearch.kt +++ b/app/src/main/java/eu/kanade/presentation/track/manga/MangaTrackerSearch.kt @@ -28,6 +28,7 @@ import androidx.compose.foundation.text.BasicTextField import androidx.compose.foundation.text.KeyboardActions import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.automirrored.outlined.ArrowBack import androidx.compose.material.icons.filled.ArrowBack import androidx.compose.material.icons.filled.CheckCircle import androidx.compose.material.icons.filled.Close @@ -94,7 +95,7 @@ fun MangaTrackerSearch( navigationIcon = { IconButton(onClick = onDismissRequest) { Icon( - imageVector = Icons.Default.ArrowBack, + imageVector = Icons.AutoMirrored.Outlined.ArrowBack, contentDescription = null, tint = MaterialTheme.colorScheme.onSurfaceVariant, ) diff --git a/app/src/main/java/eu/kanade/presentation/webview/WebViewScreenContent.kt b/app/src/main/java/eu/kanade/presentation/webview/WebViewScreenContent.kt index 04133bc49..34bc20410 100644 --- a/app/src/main/java/eu/kanade/presentation/webview/WebViewScreenContent.kt +++ b/app/src/main/java/eu/kanade/presentation/webview/WebViewScreenContent.kt @@ -11,6 +11,7 @@ import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.automirrored.outlined.ArrowForward import androidx.compose.material.icons.outlined.ArrowBack import androidx.compose.material.icons.outlined.ArrowForward import androidx.compose.material.icons.outlined.Close @@ -129,7 +130,7 @@ fun WebViewScreenContent( ), AppBar.Action( title = stringResource(R.string.action_webview_forward), - icon = Icons.Outlined.ArrowForward, + icon = Icons.AutoMirrored.Outlined.ArrowForward, onClick = { if (navigator.canGoForward) { navigator.navigateForward() @@ -180,7 +181,7 @@ fun WebViewScreenContent( .align(Alignment.BottomCenter), ) is LoadingState.Loading -> LinearProgressIndicator( - progress = (loadingState as? LoadingState.Loading)?.progress ?: 1f, + progress = { (loadingState as? LoadingState.Loading)?.progress ?: 1f }, modifier = Modifier .fillMaxWidth() .align(Alignment.BottomCenter), diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/track/BaseTracker.kt b/app/src/main/java/eu/kanade/tachiyomi/data/track/BaseTracker.kt new file mode 100644 index 000000000..7c126e969 --- /dev/null +++ b/app/src/main/java/eu/kanade/tachiyomi/data/track/BaseTracker.kt @@ -0,0 +1,39 @@ +package eu.kanade.tachiyomi.data.track + +import androidx.annotation.CallSuper +import eu.kanade.domain.track.service.TrackPreferences +import eu.kanade.tachiyomi.network.NetworkHelper +import okhttp3.OkHttpClient +import uy.kohesive.injekt.injectLazy + +abstract class BaseTracker( + override val id: Long, + override val name: String, +) : Tracker { + + val trackPreferences: TrackPreferences by injectLazy() + val networkService: NetworkHelper by injectLazy() + + override val client: OkHttpClient + get() = networkService.client + + // Application and remote support for reading dates + override val supportsReadingDates: Boolean = false + + @CallSuper + override fun logout() { + trackPreferences.setCredentials(this, "", "") + } + + override val isLoggedIn: Boolean + get() = getUsername().isNotEmpty() && + getPassword().isNotEmpty() + + override fun getUsername() = trackPreferences.trackUsername(this).get() + + override fun getPassword() = trackPreferences.trackPassword(this).get() + + override fun saveCredentials(username: String, password: String) { + trackPreferences.setCredentials(this, username, password) + } +} diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/track/Tracker.kt b/app/src/main/java/eu/kanade/tachiyomi/data/track/Tracker.kt index 4a480a051..838618b67 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/track/Tracker.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/track/Tracker.kt @@ -4,53 +4,44 @@ import androidx.annotation.CallSuper import androidx.annotation.ColorInt import androidx.annotation.DrawableRes import androidx.annotation.StringRes -import eu.kanade.domain.track.service.TrackPreferences -import eu.kanade.tachiyomi.network.NetworkHelper import okhttp3.OkHttpClient -import uy.kohesive.injekt.injectLazy -abstract class Tracker(val id: Long, val name: String) { +interface Tracker { - val trackPreferences: TrackPreferences by injectLazy() - val networkService: NetworkHelper by injectLazy() + val id: Long - open val client: OkHttpClient - get() = networkService.client + val name: String + + val client: OkHttpClient // Application and remote support for reading dates - open val supportsReadingDates: Boolean = false + val supportsReadingDates: Boolean @DrawableRes - abstract fun getLogo(): Int + fun getLogo(): Int @ColorInt - abstract fun getLogoColor(): Int + fun getLogoColor(): Int @StringRes - abstract fun getStatus(status: Int): Int? + fun getStatus(status: Int): Int? - abstract suspend fun login(username: String, password: String) + suspend fun login(username: String, password: String) @CallSuper - open fun logout() { - trackPreferences.setCredentials(this, "", "") - } + fun logout() - open val isLoggedIn: Boolean - get() = getUsername().isNotEmpty() && - getPassword().isNotEmpty() + val isLoggedIn: Boolean - fun getUsername() = trackPreferences.trackUsername(this).get() + fun getUsername(): String - fun getPassword() = trackPreferences.trackPassword(this).get() + fun getPassword(): String - fun saveCredentials(username: String, password: String) { - trackPreferences.setCredentials(this, username, password) - } + fun saveCredentials(username: String, password: String) - open val animeService: AnimeTracker + val animeService: AnimeTracker get() = this as AnimeTracker - open val mangaService: MangaTracker + val mangaService: MangaTracker get() = this as MangaTracker } diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/track/anilist/Anilist.kt b/app/src/main/java/eu/kanade/tachiyomi/data/track/anilist/Anilist.kt index 7cde41d1a..fc5675dfd 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/track/anilist/Anilist.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/track/anilist/Anilist.kt @@ -6,10 +6,10 @@ import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.data.database.models.anime.AnimeTrack import eu.kanade.tachiyomi.data.database.models.manga.MangaTrack import eu.kanade.tachiyomi.data.track.AnimeTracker +import eu.kanade.tachiyomi.data.track.BaseTracker import eu.kanade.tachiyomi.data.track.DeletableAnimeTracker import eu.kanade.tachiyomi.data.track.DeletableMangaTracker import eu.kanade.tachiyomi.data.track.MangaTracker -import eu.kanade.tachiyomi.data.track.Tracker import eu.kanade.tachiyomi.data.track.model.AnimeTrackSearch import eu.kanade.tachiyomi.data.track.model.MangaTrackSearch import kotlinx.serialization.decodeFromString @@ -19,7 +19,7 @@ import uy.kohesive.injekt.injectLazy import tachiyomi.domain.track.anime.model.AnimeTrack as DomainAnimeTrack import tachiyomi.domain.track.manga.model.MangaTrack as DomainTrack -class Anilist(id: Long) : Tracker(id, "AniList"), MangaTracker, AnimeTracker, DeletableMangaTracker, DeletableAnimeTracker { +class Anilist(id: Long) : BaseTracker(id, "AniList"), MangaTracker, AnimeTracker, DeletableMangaTracker, DeletableAnimeTracker { companion object { const val READING = 1 diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/track/bangumi/Bangumi.kt b/app/src/main/java/eu/kanade/tachiyomi/data/track/bangumi/Bangumi.kt index 9786d0b18..e260c3690 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/track/bangumi/Bangumi.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/track/bangumi/Bangumi.kt @@ -6,8 +6,8 @@ import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.data.database.models.anime.AnimeTrack import eu.kanade.tachiyomi.data.database.models.manga.MangaTrack import eu.kanade.tachiyomi.data.track.AnimeTracker +import eu.kanade.tachiyomi.data.track.BaseTracker import eu.kanade.tachiyomi.data.track.MangaTracker -import eu.kanade.tachiyomi.data.track.Tracker import eu.kanade.tachiyomi.data.track.model.AnimeTrackSearch import eu.kanade.tachiyomi.data.track.model.MangaTrackSearch import kotlinx.serialization.decodeFromString @@ -15,7 +15,7 @@ import kotlinx.serialization.encodeToString import kotlinx.serialization.json.Json import uy.kohesive.injekt.injectLazy -class Bangumi(id: Long) : Tracker(id, "Bangumi"), MangaTracker, AnimeTracker { +class Bangumi(id: Long) : BaseTracker(id, "Bangumi"), MangaTracker, AnimeTracker { private val json: Json by injectLazy() diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/track/kavita/Kavita.kt b/app/src/main/java/eu/kanade/tachiyomi/data/track/kavita/Kavita.kt index bb2407d87..e1ed12c0f 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/track/kavita/Kavita.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/track/kavita/Kavita.kt @@ -1,14 +1,13 @@ package eu.kanade.tachiyomi.data.track.kavita -import android.content.Context import android.graphics.Color import androidx.annotation.StringRes import com.google.common.base.Strings.isNullOrEmpty import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.data.database.models.manga.MangaTrack +import eu.kanade.tachiyomi.data.track.BaseTracker import eu.kanade.tachiyomi.data.track.EnhancedMangaTracker import eu.kanade.tachiyomi.data.track.MangaTracker -import eu.kanade.tachiyomi.data.track.Tracker import eu.kanade.tachiyomi.data.track.model.MangaTrackSearch import eu.kanade.tachiyomi.source.ConfigurableSource import eu.kanade.tachiyomi.source.MangaSource @@ -19,7 +18,7 @@ import uy.kohesive.injekt.injectLazy import java.security.MessageDigest import tachiyomi.domain.track.manga.model.MangaTrack as DomainTrack -class Kavita(private val context: Context, id: Long) : Tracker(id, "Kavita"), EnhancedMangaTracker, MangaTracker { +class Kavita(id: Long) : BaseTracker(id, "Kavita"), EnhancedMangaTracker, MangaTracker { companion object { const val UNREAD = 1 diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/track/kitsu/Kitsu.kt b/app/src/main/java/eu/kanade/tachiyomi/data/track/kitsu/Kitsu.kt index f455f7c7e..2b68720ea 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/track/kitsu/Kitsu.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/track/kitsu/Kitsu.kt @@ -6,10 +6,10 @@ import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.data.database.models.anime.AnimeTrack import eu.kanade.tachiyomi.data.database.models.manga.MangaTrack import eu.kanade.tachiyomi.data.track.AnimeTracker +import eu.kanade.tachiyomi.data.track.BaseTracker import eu.kanade.tachiyomi.data.track.DeletableAnimeTracker import eu.kanade.tachiyomi.data.track.DeletableMangaTracker import eu.kanade.tachiyomi.data.track.MangaTracker -import eu.kanade.tachiyomi.data.track.Tracker import eu.kanade.tachiyomi.data.track.model.AnimeTrackSearch import eu.kanade.tachiyomi.data.track.model.MangaTrackSearch import kotlinx.serialization.decodeFromString @@ -18,7 +18,7 @@ import kotlinx.serialization.json.Json import uy.kohesive.injekt.injectLazy import java.text.DecimalFormat -class Kitsu(id: Long) : Tracker(id, "Kitsu"), AnimeTracker, MangaTracker, DeletableMangaTracker, DeletableAnimeTracker { +class Kitsu(id: Long) : BaseTracker(id, "Kitsu"), AnimeTracker, MangaTracker, DeletableMangaTracker, DeletableAnimeTracker { companion object { const val READING = 1 diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/track/komga/Komga.kt b/app/src/main/java/eu/kanade/tachiyomi/data/track/komga/Komga.kt index c394d04a3..e1a428049 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/track/komga/Komga.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/track/komga/Komga.kt @@ -4,9 +4,9 @@ import android.graphics.Color import androidx.annotation.StringRes import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.data.database.models.manga.MangaTrack +import eu.kanade.tachiyomi.data.track.BaseTracker import eu.kanade.tachiyomi.data.track.EnhancedMangaTracker import eu.kanade.tachiyomi.data.track.MangaTracker -import eu.kanade.tachiyomi.data.track.Tracker import eu.kanade.tachiyomi.data.track.model.MangaTrackSearch import eu.kanade.tachiyomi.source.MangaSource import okhttp3.Dns @@ -14,7 +14,7 @@ import okhttp3.OkHttpClient import tachiyomi.domain.entries.manga.model.Manga import tachiyomi.domain.track.manga.model.MangaTrack as DomainTrack -class Komga(id: Long) : Tracker(id, "Komga"), EnhancedMangaTracker, MangaTracker { +class Komga(id: Long) : BaseTracker(id, "Komga"), EnhancedMangaTracker, MangaTracker { companion object { const val UNREAD = 1 diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/track/mangaupdates/MangaUpdates.kt b/app/src/main/java/eu/kanade/tachiyomi/data/track/mangaupdates/MangaUpdates.kt index f15189368..304180d59 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/track/mangaupdates/MangaUpdates.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/track/mangaupdates/MangaUpdates.kt @@ -4,14 +4,14 @@ import android.graphics.Color import androidx.annotation.StringRes import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.data.database.models.manga.MangaTrack +import eu.kanade.tachiyomi.data.track.BaseTracker import eu.kanade.tachiyomi.data.track.DeletableMangaTracker import eu.kanade.tachiyomi.data.track.MangaTracker -import eu.kanade.tachiyomi.data.track.Tracker import eu.kanade.tachiyomi.data.track.mangaupdates.dto.copyTo import eu.kanade.tachiyomi.data.track.mangaupdates.dto.toTrackSearch import eu.kanade.tachiyomi.data.track.model.MangaTrackSearch -class MangaUpdates(id: Long) : Tracker(id, "MangaUpdates"), MangaTracker, DeletableMangaTracker { +class MangaUpdates(id: Long) : BaseTracker(id, "MangaUpdates"), MangaTracker, DeletableMangaTracker { companion object { const val READING_LIST = 0 diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/track/myanimelist/MyAnimeList.kt b/app/src/main/java/eu/kanade/tachiyomi/data/track/myanimelist/MyAnimeList.kt index a83d8b3f4..4f59e9326 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/track/myanimelist/MyAnimeList.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/track/myanimelist/MyAnimeList.kt @@ -6,10 +6,10 @@ import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.data.database.models.anime.AnimeTrack import eu.kanade.tachiyomi.data.database.models.manga.MangaTrack import eu.kanade.tachiyomi.data.track.AnimeTracker +import eu.kanade.tachiyomi.data.track.BaseTracker import eu.kanade.tachiyomi.data.track.DeletableAnimeTracker import eu.kanade.tachiyomi.data.track.DeletableMangaTracker import eu.kanade.tachiyomi.data.track.MangaTracker -import eu.kanade.tachiyomi.data.track.Tracker import eu.kanade.tachiyomi.data.track.model.AnimeTrackSearch import eu.kanade.tachiyomi.data.track.model.MangaTrackSearch import kotlinx.serialization.decodeFromString @@ -17,7 +17,7 @@ import kotlinx.serialization.encodeToString import kotlinx.serialization.json.Json import uy.kohesive.injekt.injectLazy -class MyAnimeList(id: Long) : Tracker(id, "MyAnimeList"), MangaTracker, AnimeTracker, DeletableMangaTracker, DeletableAnimeTracker { +class MyAnimeList(id: Long) : BaseTracker(id, "MyAnimeList"), MangaTracker, AnimeTracker, DeletableMangaTracker, DeletableAnimeTracker { companion object { const val READING = 1 diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/track/shikimori/Shikimori.kt b/app/src/main/java/eu/kanade/tachiyomi/data/track/shikimori/Shikimori.kt index af8f66021..49cae3751 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/track/shikimori/Shikimori.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/track/shikimori/Shikimori.kt @@ -6,10 +6,10 @@ import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.data.database.models.anime.AnimeTrack import eu.kanade.tachiyomi.data.database.models.manga.MangaTrack import eu.kanade.tachiyomi.data.track.AnimeTracker +import eu.kanade.tachiyomi.data.track.BaseTracker import eu.kanade.tachiyomi.data.track.DeletableAnimeTracker import eu.kanade.tachiyomi.data.track.DeletableMangaTracker import eu.kanade.tachiyomi.data.track.MangaTracker -import eu.kanade.tachiyomi.data.track.Tracker import eu.kanade.tachiyomi.data.track.model.AnimeTrackSearch import eu.kanade.tachiyomi.data.track.model.MangaTrackSearch import kotlinx.serialization.decodeFromString @@ -17,7 +17,7 @@ import kotlinx.serialization.encodeToString import kotlinx.serialization.json.Json import uy.kohesive.injekt.injectLazy -class Shikimori(id: Long) : Tracker(id, "Shikimori"), MangaTracker, AnimeTracker, DeletableMangaTracker, DeletableAnimeTracker { +class Shikimori(id: Long) : BaseTracker(id, "Shikimori"), MangaTracker, AnimeTracker, DeletableMangaTracker, DeletableAnimeTracker { companion object { const val READING = 1 diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/track/simkl/Simkl.kt b/app/src/main/java/eu/kanade/tachiyomi/data/track/simkl/Simkl.kt index b7e491b45..a440b0b76 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/track/simkl/Simkl.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/track/simkl/Simkl.kt @@ -5,14 +5,14 @@ import androidx.annotation.StringRes import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.data.database.models.anime.AnimeTrack import eu.kanade.tachiyomi.data.track.AnimeTracker -import eu.kanade.tachiyomi.data.track.Tracker +import eu.kanade.tachiyomi.data.track.BaseTracker import eu.kanade.tachiyomi.data.track.model.AnimeTrackSearch import kotlinx.serialization.decodeFromString import kotlinx.serialization.encodeToString import kotlinx.serialization.json.Json import uy.kohesive.injekt.injectLazy -class Simkl(id: Long) : Tracker(id, "Simkl"), AnimeTracker { +class Simkl(id: Long) : BaseTracker(id, "Simkl"), AnimeTracker { companion object { const val WATCHING = 1 diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/track/suwayomi/Suwayomi.kt b/app/src/main/java/eu/kanade/tachiyomi/data/track/suwayomi/Suwayomi.kt index f5f5e6843..c4835635c 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/track/suwayomi/Suwayomi.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/track/suwayomi/Suwayomi.kt @@ -4,15 +4,15 @@ import android.graphics.Color import androidx.annotation.StringRes import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.data.database.models.manga.MangaTrack +import eu.kanade.tachiyomi.data.track.BaseTracker import eu.kanade.tachiyomi.data.track.EnhancedMangaTracker import eu.kanade.tachiyomi.data.track.MangaTracker -import eu.kanade.tachiyomi.data.track.Tracker import eu.kanade.tachiyomi.data.track.model.MangaTrackSearch import eu.kanade.tachiyomi.source.MangaSource import tachiyomi.domain.entries.manga.model.Manga as DomainManga import tachiyomi.domain.track.manga.model.MangaTrack as DomainTrack -class Suwayomi(id: Long) : Tracker(id, "Suwayomi"), EnhancedMangaTracker, MangaTracker { +class Suwayomi(id: Long) : BaseTracker(id, "Suwayomi"), EnhancedMangaTracker, MangaTracker { val api by lazy { SuwayomiApi(id) } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/anime/migration/search/MigrateAnimeDialog.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/anime/migration/search/MigrateAnimeDialog.kt index 0d505446a..cf9df726e 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/anime/migration/search/MigrateAnimeDialog.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/anime/migration/search/MigrateAnimeDialog.kt @@ -19,7 +19,6 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.toMutableStateList import androidx.compose.ui.Modifier -import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import cafe.adriel.voyager.core.model.StateScreenModel @@ -65,7 +64,6 @@ internal fun MigrateAnimeDialog( onClickTitle: () -> Unit, onPopScreen: () -> Unit, ) { - val context = LocalContext.current val scope = rememberCoroutineScope() val state by screenModel.state.collectAsState() diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/anime/migration/sources/MigrateAnimeSourceTab.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/anime/migration/sources/MigrateAnimeSourceTab.kt index bf59b9135..04e1b1b2f 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/anime/migration/sources/MigrateAnimeSourceTab.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/anime/migration/sources/MigrateAnimeSourceTab.kt @@ -1,6 +1,7 @@ package eu.kanade.tachiyomi.ui.browse.anime.migration.sources import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.automirrored.outlined.HelpOutline import androidx.compose.material.icons.outlined.HelpOutline import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState @@ -29,7 +30,7 @@ fun Screen.migrateAnimeSourceTab(): TabContent { actions = listOf( AppBar.Action( title = stringResource(R.string.migration_help_guide), - icon = Icons.Outlined.HelpOutline, + icon = Icons.AutoMirrored.Outlined.HelpOutline, onClick = { uriHandler.openUri("https://aniyomi.org/help/guides/source-migration/") }, diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/manga/migration/search/MigrateMangaDialog.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/manga/migration/search/MigrateMangaDialog.kt index 61cc5765d..a00fa15b1 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/manga/migration/search/MigrateMangaDialog.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/manga/migration/search/MigrateMangaDialog.kt @@ -19,7 +19,6 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.toMutableStateList import androidx.compose.ui.Modifier -import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import cafe.adriel.voyager.core.model.StateScreenModel @@ -65,7 +64,6 @@ internal fun MigrateMangaDialog( onClickTitle: () -> Unit, onPopScreen: () -> Unit, ) { - val context = LocalContext.current val scope = rememberCoroutineScope() val state by screenModel.state.collectAsState() diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/manga/migration/sources/MigrateMangaSourceTab.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/manga/migration/sources/MigrateMangaSourceTab.kt index 2b652f823..bcbee88a1 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/manga/migration/sources/MigrateMangaSourceTab.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/manga/migration/sources/MigrateMangaSourceTab.kt @@ -1,6 +1,7 @@ package eu.kanade.tachiyomi.ui.browse.manga.migration.sources import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.automirrored.outlined.HelpOutline import androidx.compose.material.icons.outlined.HelpOutline import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState @@ -29,7 +30,7 @@ fun Screen.migrateMangaSourceTab(): TabContent { actions = listOf( AppBar.Action( title = stringResource(R.string.migration_help_guide), - icon = Icons.Outlined.HelpOutline, + icon = Icons.AutoMirrored.Outlined.HelpOutline, onClick = { uriHandler.openUri("https://aniyomi.org/help/guides/source-migration/") }, diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/anime/AnimeLibraryTab.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/library/anime/AnimeLibraryTab.kt index 912de9071..3c9083a7c 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/anime/AnimeLibraryTab.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/anime/AnimeLibraryTab.kt @@ -195,7 +195,7 @@ object AnimeLibraryTab : Tab() { actions = listOf( EmptyScreenAction( stringResId = R.string.getting_started_guide, - icon = Icons.Outlined.HelpOutline, + icon = Icons.AutoMirrored.Outlined.HelpOutline, onClick = { handler.openUri( "https://aniyomi.org/docs/guides/getting-started", diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/manga/MangaLibraryTab.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/library/manga/MangaLibraryTab.kt index 2236dfd01..4aadeaa93 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/manga/MangaLibraryTab.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/manga/MangaLibraryTab.kt @@ -7,6 +7,7 @@ import androidx.compose.animation.graphics.res.rememberAnimatedVectorPainter import androidx.compose.animation.graphics.vector.AnimatedImageVector import androidx.compose.foundation.layout.padding import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.automirrored.outlined.HelpOutline import androidx.compose.material.icons.outlined.HelpOutline import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.SnackbarHost @@ -190,7 +191,7 @@ object MangaLibraryTab : Tab() { actions = listOf( EmptyScreenAction( stringResId = R.string.getting_started_guide, - icon = Icons.Outlined.HelpOutline, + icon = Icons.AutoMirrored.Outlined.HelpOutline, onClick = { handler.openUri( "https://aniyomi.org/docs/guides/getting-started", diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/player/settings/sheets/StreamsCatalogSheet.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/player/settings/sheets/StreamsCatalogSheet.kt index 6d8bfd3ba..c03f29abd 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/player/settings/sheets/StreamsCatalogSheet.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/player/settings/sheets/StreamsCatalogSheet.kt @@ -67,7 +67,7 @@ fun StreamsCatalogSheet( ) { page -> Column( modifier = Modifier - .padding(vertical = TabbedDialogPaddings.Vertical) + .padding(vertical = TabbedDialogPaddings.Vertical), ) { @Composable fun QualityTracksPage() = StreamsPageBuilder( diff --git a/gradle/compose.versions.toml b/gradle/compose.versions.toml index 26f0809d0..ad2e6e603 100644 --- a/gradle/compose.versions.toml +++ b/gradle/compose.versions.toml @@ -1,7 +1,7 @@ [versions] compiler = "1.5.3" -compose-bom = "2023.09.00-alpha02" -accompanist = "0.33.1-alpha" +compose-bom = "2023.11.00-alpha02" +accompanist = "0.33.2-alpha" [libraries] activity = "androidx.activity:activity-compose:1.8.0" diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 88a349de3..9ac11fae3 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -24,7 +24,7 @@ conscrypt-android = "org.conscrypt:conscrypt-android:2.5.2" quickjs-android = "app.cash.quickjs:quickjs-android:0.9.2" -jsoup = "org.jsoup:jsoup:1.16.1" +jsoup = "org.jsoup:jsoup:1.16.2" disklrucache = "com.jakewharton:disklrucache:2.0.2" unifile = "com.github.tachiyomiorg:unifile:17bec43" diff --git a/presentation-core/src/main/java/tachiyomi/presentation/core/components/CircularProgressIndicator.kt b/presentation-core/src/main/java/tachiyomi/presentation/core/components/CircularProgressIndicator.kt index dafe3237d..58266cea7 100644 --- a/presentation-core/src/main/java/tachiyomi/presentation/core/components/CircularProgressIndicator.kt +++ b/presentation-core/src/main/java/tachiyomi/presentation/core/components/CircularProgressIndicator.kt @@ -66,7 +66,7 @@ fun CombinedCircularProgressIndicator( label = "rotation", ) CircularProgressIndicator( - progress = animatedProgress, + progress = { animatedProgress }, modifier = Modifier.rotate(rotation), ) }