From 5b6e351a56ffee16474e89fd941c9afec9a57b05 Mon Sep 17 00:00:00 2001 From: Finnley Somdahl <87634197+rebelonion@users.noreply.github.com> Date: Tue, 31 Oct 2023 01:02:54 -0500 Subject: [PATCH] extension fixes --- .../ani/dantotsu/media/anime/ExoplayerView.kt | 8 ++--- .../ani/dantotsu/parsers/AniyomiAdapter.kt | 31 ++++++++++++++++--- app/src/main/res/layout/activity_main.xml | 2 +- app/src/main/res/values/colors.xml | 2 +- 4 files changed, 33 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/ani/dantotsu/media/anime/ExoplayerView.kt b/app/src/main/java/ani/dantotsu/media/anime/ExoplayerView.kt index 9afe3901..472939b5 100644 --- a/app/src/main/java/ani/dantotsu/media/anime/ExoplayerView.kt +++ b/app/src/main/java/ani/dantotsu/media/anime/ExoplayerView.kt @@ -17,6 +17,7 @@ import android.graphics.drawable.Animatable import android.hardware.SensorManager import android.media.AudioManager import android.media.AudioManager.* +import android.media.PlaybackParams import android.net.Uri import android.os.Build import android.os.Bundle @@ -807,16 +808,15 @@ class ExoplayerView : AppCompatActivity(), Player.Listener { } fun fastForward() { - val newSpeed = playbackParameters.speed * 2f - exoPlayer.playbackParameters = playbackParameters.withSpeed(newSpeed) isFastForwarding = true - snackString("Playing at ${newSpeed}x speed") + exoPlayer.setPlaybackSpeed(2f) + snackString("Playing at 2x speed") } fun stopFastForward() { if (isFastForwarding) { - exoPlayer.playbackParameters = playbackParameters isFastForwarding = false + exoPlayer.setPlaybackSpeed(1f) snackString("Playing at normal speed") } } diff --git a/app/src/main/java/ani/dantotsu/parsers/AniyomiAdapter.kt b/app/src/main/java/ani/dantotsu/parsers/AniyomiAdapter.kt index 887e6608..b1f9cf33 100644 --- a/app/src/main/java/ani/dantotsu/parsers/AniyomiAdapter.kt +++ b/app/src/main/java/ani/dantotsu/parsers/AniyomiAdapter.kt @@ -84,8 +84,27 @@ class DynamicAnimeParser(extension: AnimeExtension.Installed) : AnimeParser() { try { val res = source.getEpisodeList(sAnime) - // Sort episodes by episode_number - val sortedEpisodes = res.sortedBy { it.episode_number } + val sortedEpisodes = if (res[0].episode_number == -1f) { + // Find the number in the string and sort by that number + val sortedByStringNumber = res.sortedBy { + val matchResult = "\\d+".toRegex().find(it.name) + val number = matchResult?.value?.toFloat() ?: Float.MAX_VALUE + it.episode_number = number // Store the found number in episode_number + number + } + + // If there is no number, reverse the order and give them an incrementing number + var incrementingNumber = 1f + sortedByStringNumber.map { + if (it.episode_number == Float.MAX_VALUE) { + it.episode_number = incrementingNumber++ // Update episode_number with the incrementing number + } + it + } + } else { + // Sort by the episode_number field + res.sortedBy { it.episode_number } + } // Transform SEpisode objects to Episode objects @@ -167,7 +186,11 @@ class DynamicAnimeParser(extension: AnimeExtension.Installed) : AnimeParser() { sEpisode.episode_number } return Episode( - episodeNumberInt.toString(), + if(episodeNumberInt.toInt() != -1){ + episodeNumberInt.toString() + }else{ + sEpisode.name + }, sEpisode.url, sEpisode.name, null, @@ -530,7 +553,7 @@ class VideoServerPassthrough(val videoServer: VideoServer) : VideoExtractor() { fileName.endsWith(".mp4", ignoreCase = true) || fileName.endsWith(".mkv", ignoreCase = true) -> VideoType.CONTAINER fileName.endsWith(".m3u8", ignoreCase = true) -> VideoType.M3U8 fileName.endsWith(".mpd", ignoreCase = true) -> VideoType.DASH - else -> null + else -> VideoType.CONTAINER } } diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index d6f6cd8d..b416c33f 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -45,7 +45,7 @@ app:abb_indicatorLocation="bottom" app:abb_indicatorMargin="28dp" app:abb_selectedTabType="text" - app:abb_tabColor="?attr/colorTertiary" + app:abb_tabColor="?attr/colorSecondary" app:abb_tabColorDisabled="?attr/colorPrimaryContainer" app:abb_tabColorSelected="?attr/colorPrimary" app:abb_tabs="@menu/bottom_navbar_menu" diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 7eaa3516..4bc1f79f 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -20,7 +20,7 @@ #FF0000 #444444 #999999 - #030201 + #000000 #E8EDEDED