update proguard rules and bump version

This commit is contained in:
tapframe 2026-06-22 21:12:43 +05:30
parent 6e815b91ed
commit 3c1bdd3e18
6 changed files with 44 additions and 64 deletions

View file

@ -51,6 +51,9 @@
-keep class com.google.android.exoplayer2.** { *; }
-keep interface com.google.android.exoplayer2.** { *; }
-keep class is.xyz.mpv.** { *; }
-keep interface is.xyz.mpv.** { *; }
# Common optional security providers used by okhttp on some devices.
-dontwarn okhttp3.internal.platform.**
-dontwarn org.conscrypt.**

View file

@ -51,7 +51,6 @@ import androidx.media3.exoplayer.ForwardingRenderer
import androidx.media3.exoplayer.Renderer
import androidx.media3.exoplayer.source.DefaultMediaSourceFactory
import androidx.media3.exoplayer.source.MergingMediaSource
import com.nuvio.app.features.trailer.YoutubeChunkedDataSourceFactory
import androidx.media3.exoplayer.text.TextOutput
import androidx.media3.exoplayer.trackselection.DefaultTrackSelector
import androidx.media3.extractor.DefaultExtractorsFactory

View file

@ -746,7 +746,7 @@ fun HomeScreen(
when {
!hasActiveAddons && !hasRenderableCollectionRows -> {
if (continueWatchingPreferences.isVisible && continueWatchingItems.isNotEmpty()) {
item {
item(key = HOME_CONTINUE_WATCHING_SECTION_KEY) {
HomeContinueWatchingSection(
items = continueWatchingItems,
style = continueWatchingPreferences.style,
@ -771,7 +771,7 @@ fun HomeScreen(
homeUiState.isLoading && homeUiState.sections.isEmpty() && !hasRenderableCollectionRows -> {
if (continueWatchingPreferences.isVisible && continueWatchingItems.isNotEmpty()) {
item {
item(key = HOME_CONTINUE_WATCHING_SECTION_KEY) {
HomeContinueWatchingSection(
items = continueWatchingItems,
style = continueWatchingPreferences.style,
@ -819,7 +819,7 @@ fun HomeScreen(
else -> {
if (continueWatchingPreferences.isVisible && continueWatchingItems.isNotEmpty()) {
item {
item(key = HOME_CONTINUE_WATCHING_SECTION_KEY) {
HomeContinueWatchingSection(
items = continueWatchingItems,
style = continueWatchingPreferences.style,
@ -877,6 +877,7 @@ fun HomeScreen(
}
private const val HOME_CATALOG_PREVIEW_LIMIT = 18
private const val HOME_CONTINUE_WATCHING_SECTION_KEY = "home_continue_watching"
internal const val HomeContinueWatchingMaxRecentProgressItems = 300
internal const val HomeNextUpInitialResolutionLimit = 32
private const val MILLIS_PER_DAY = 24L * 60L * 60L * 1000L

View file

@ -26,7 +26,6 @@ import androidx.compose.material3.Text
import androidx.compose.material3.contentColorFor
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.key
import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
@ -241,67 +240,44 @@ private fun HomeContinueWatchingSectionContent(
HomeCatalogSettingsRepository.uiState
}.collectAsStateWithLifecycle()
val itemOrderKey = remember(items) {
items.joinToString(separator = "|") { item -> item.continueWatchingRowOrderKey() }
}
key(itemOrderKey) {
NuvioShelfSection(
title = stringResource(Res.string.compose_settings_page_continue_watching),
entries = items,
modifier = modifier,
headerHorizontalPadding = sectionPadding,
rowContentPadding = PaddingValues(horizontal = sectionPadding),
itemSpacing = layout.itemGap,
showHeaderAccent = !homeCatalogSettings.hideCatalogUnderline,
key = { item -> item.videoId },
) { item ->
when (style) {
ContinueWatchingSectionStyle.Card -> ContinueWatchingCard(
item = item,
useEpisodeThumbnails = useEpisodeThumbnails,
blurNextUp = blurNextUp,
onClick = onItemClick?.let { { it(item) } },
onLongClick = onItemLongPress?.let { { it(item) } },
)
ContinueWatchingSectionStyle.Wide -> ContinueWatchingWideCard(
item = item,
layout = layout,
useEpisodeThumbnails = useEpisodeThumbnails,
blurNextUp = blurNextUp,
onClick = onItemClick?.let { { it(item) } },
onLongClick = onItemLongPress?.let { { it(item) } },
)
ContinueWatchingSectionStyle.Poster -> ContinueWatchingPosterCard(
item = item,
layout = layout,
useEpisodeThumbnails = useEpisodeThumbnails,
blurNextUp = blurNextUp,
onClick = onItemClick?.let { { it(item) } },
onLongClick = onItemLongPress?.let { { it(item) } },
)
}
NuvioShelfSection(
title = stringResource(Res.string.compose_settings_page_continue_watching),
entries = items,
modifier = modifier,
headerHorizontalPadding = sectionPadding,
rowContentPadding = PaddingValues(horizontal = sectionPadding),
itemSpacing = layout.itemGap,
showHeaderAccent = !homeCatalogSettings.hideCatalogUnderline,
key = { item -> item.videoId },
) { item ->
when (style) {
ContinueWatchingSectionStyle.Card -> ContinueWatchingCard(
item = item,
useEpisodeThumbnails = useEpisodeThumbnails,
blurNextUp = blurNextUp,
onClick = onItemClick?.let { { it(item) } },
onLongClick = onItemLongPress?.let { { it(item) } },
)
ContinueWatchingSectionStyle.Wide -> ContinueWatchingWideCard(
item = item,
layout = layout,
useEpisodeThumbnails = useEpisodeThumbnails,
blurNextUp = blurNextUp,
onClick = onItemClick?.let { { it(item) } },
onLongClick = onItemLongPress?.let { { it(item) } },
)
ContinueWatchingSectionStyle.Poster -> ContinueWatchingPosterCard(
item = item,
layout = layout,
useEpisodeThumbnails = useEpisodeThumbnails,
blurNextUp = blurNextUp,
onClick = onItemClick?.let { { it(item) } },
onLongClick = onItemLongPress?.let { { it(item) } },
)
}
}
}
private fun ContinueWatchingItem.continueWatchingRowOrderKey(): String =
buildString {
append(if (isNextUp) "next" else "progress")
append(':')
append(parentMetaId)
append(':')
append(videoId)
append(':')
append(seasonNumber)
append('x')
append(episodeNumber)
append(":seed=")
append(nextUpSeedSeasonNumber)
append('x')
append(nextUpSeedEpisodeNumber)
}
@Composable
fun ContinueWatchingStylePreview(
style: ContinueWatchingSectionStyle,

View file

@ -1,3 +1,3 @@
CURRENT_PROJECT_VERSION=83
MARKETING_VERSION=0.2.11
CURRENT_PROJECT_VERSION=84
MARKETING_VERSION=0.2.12

1
mpvKt Submodule

@ -0,0 +1 @@
Subproject commit 01a93062dd73f642cbb0511f6a05f1fd344b36a9