feat: add official anime season structure - #568
Draft
Leyto59 wants to merge 1 commit into
Draft
Conversation
Owner
|
Would be better indeed. Can you show screenshots of it working? |
Author
Here are some screenshots showing the new implementation working. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



ARVIO-ANIME-001 — Official Anime Season Structure
Summary
This change separates an anime episode's user-facing identity from its canonical identity. The UI can display official ARM/Kitsu seasons without changing the coordinates used by TMDB, Trakt, and watch history.
Each episode can carry:
Movies and non-anime TV shows keep their existing behavior.
Behavior
Why not simply replace season and episode numbers?
A global number replacement would break the identifiers expected by Trakt, TMDB, resume handling, and some addons. The dual-identity model lets every subsystem use the appropriate coordinates: official season numbering for the user, canonical TMDB coordinates for tracking, and Kitsu coordinates for anime addons.
Files changed
app/src/main/kotlin/com/arflix/tv/util/AnimeSeasonStructure.ktapp/src/main/kotlin/com/arflix/tv/util/AnimeMapper.ktapp/src/main/kotlin/com/arflix/tv/data/model/Models.ktapp/src/main/kotlin/com/arflix/tv/data/repository/StreamRepository.ktapp/src/main/kotlin/com/arflix/tv/ui/screens/details/DetailsViewModel.ktapp/src/main/kotlin/com/arflix/tv/ui/screens/details/DetailsScreen.ktapp/src/main/kotlin/com/arflix/tv/navigation/AppNavigation.ktapp/src/main/kotlin/com/arflix/tv/ui/screens/player/PlayerScreen.ktapp/src/test/kotlin/com/arflix/tv/util/AnimeSeasonStructureTest.ktValidation completed
testPlayDebugUnitTest: 308 tests, 0 failures, 0 errors, 1 skipped.assemblePlayDebug: successful.assembleSideloadDebug: successful.git diff --check: successful.S2E08retains the Season 2 Kitsu identity.Validation still required from the maintainer
The last two items require the official project's private Trakt and Cloud credentials. Those credentials are not present in the public repository, so these integrations cannot be tested properly from a fork build.
Regression scenarios covered