version 1.0.0 #67

Merged
Seil0 merged 137 commits from develop into master 2022-10-12 15:36:39 +02:00

137 Commits

Author SHA1 Message Date
Seil0 1ecd25bb06 update version and changelog for 1.0.0 release 2022-10-12 15:25:48 +02:00
Seil0 fa28eb35ab fix crash in TMDBApiController when searchMovie() returns no title
* make title/name optional
* for movies use the movie search endpoint instead of multi

fixes #65
2022-09-21 21:06:52 +02:00
Seil0 d3fe81224b add missing play button functionality for highlight media in HomeFragment 2022-09-20 19:47:42 +02:00
Seil0 34c7f9d081 replace TextView in shimmer items with dummy ImageView with rounded corners 2022-09-20 15:20:49 +02:00
Seil0 e835715b9c fix item_media width
don't hardcode layout_width to 195dp, set layout_constraintWidth_max and image_poster layout_constraintWidth this fixes issues if the screen is not wide enough to show multiple item_media elements
2022-09-18 13:53:19 +02:00
Seil0 001141337d add shimmer for highlight in home screen, update agp to version 7.3.0 2022-09-18 13:33:22 +02:00
Seil0 5cd3d25ebe fix shimmer for light theme 2022-09-15 18:02:48 +02:00
Seil0 215e01c53a add changelog for beta3 release 2022-09-14 22:00:00 +02:00
Seil0 1751963574 update gradle wrapper to version 7.5.1 2022-09-14 21:42:23 +02:00
Seil0 9c3548a866 add shimmer effect while loading to the lists in home fragment 2022-09-14 21:31:27 +02:00
Seil0 ebd96f9849 compileSdkVersion 33 and library updates
* core-ktx 1.8.0 -> 1.9.0
* appcompat 1.5.0 -> 1.5.1
* navigation-fragment-ktx 2.5.1 -> 2.5.2
* navigation-ui-ktx 2.5.1 -> 2.5.2
2022-09-14 20:33:08 +02:00
Seil0 85b17d7a76 improve buttonNextEp hiding behaviour
* the button will be diabled on PlayerActivity.playNextEpisode()
* the button will only be enabled if PlayerViewModel.playNextEpisode() returns
* remainingTime will be set to 0, if duration < 0, this fixes the button reapring after a few 100 ms when beeing pressed

fixes #53
2022-08-27 13:59:30 +02:00
Seil0 f128efea0d set compileSdkVersion and targetSdkVersion to 32 2022-08-27 13:56:15 +02:00
Seil0 da94003368 update agp and libraries
* agp 7.2.1 -> 7.2.2
* kotlinx-coroutines-android 1.6.3 -> 1.6.4
* core-splashscreen 1.0.0-rc01 -> 1.0.0
* appcompat 1.4.2 -> 1.5.0
* navigation-fragment-ktx 2.5.0 -> 2.5.1
* navigation-ui-ktx 2.5.0 -> 2.5.1
* lifecycle-runtime-ktx 2.5.0 -> 2.5.1
* lifecycle-viewmodel-ktx 2.5.0 -> 2.5.1
2022-08-19 22:54:38 +02:00
Seil0 3fdc2aff1b Merge pull request 'update ktor to version 2.x' (#63) from feature/ktor_update into develop
Reviewed-on: #63
2022-08-19 22:40:55 +02:00
Seil0 326da147f1 update ktor to version 2.1.0 2022-08-19 18:18:09 +02:00
Seil0 f398c82f62 update ktor to version 2.0.3 2022-08-19 18:15:37 +02:00
Seil0 821f8b5590 add subscription status and tier to the AccountFragment 2022-07-21 22:06:41 +02:00
Seil0 0028cb6dd7 fix EpisodesListDialogFragment current episode selection
fix EpisodesListDialogFragment not selecting the correct episode, if the episode number doens't start at 0, if episodes are count across seasons
2022-07-21 18:49:29 +02:00
Seil0 127bd030b9 add unit test for token type serialization 2022-07-16 15:08:13 +02:00
Seil0 3cadaa5c7a update playhead every 30 seconds while playback is active 2022-07-16 14:35:22 +02:00
Seil0 97966f5ad3 fix a crash when url or vcodes are missing for a stream
always initialize them, also initialize hardsub_locale since it might be optional too
2022-07-16 14:13:08 +02:00
Seil0 4c55bb771f partially revert c34b95795f 2022-07-16 13:48:28 +02:00
Seil0 8eb737a831 use a separate scope to update playheads
viewModelScope will be cleard when the activity is stopped, but the playhead update should be done anyway

fixes #62
2022-07-10 13:50:53 +02:00
Seil0 522b893dc8 update kotlin coroutines library
* kotlinx-coroutines-android 1.6.2 -> 1.6.3
2022-07-10 13:26:23 +02:00
Seil0 69e0b6bcca update kotlin and libraries
* kotlin 1.6.21 -> 1.7.10
* navigation-fragment-ktx 2.4.2 -> 2.5.0
* navigation-ui-ktx 2.4.2 -> 2.5.0
* lifecycle-runtime-ktx 2.4.1 -> 2.5.0
* lifecycle-viewmodel-ktx 2.4.1 -> 2.5.0
2022-07-10 13:19:59 +02:00
Seil0 c34b95795f fix rwd/ffwd button pos when animation is running, clean up rwd/ffwd animation handling 2022-07-10 12:53:03 +02:00
Seil0 9059306e90 add icon to fastlane metadata 2022-06-07 22:04:45 +02:00
Seil0 ed0c0a4c61 update libraries
* kotlinx-coroutines 1.6.1 -> 1.6.2
* core-ktx 1.7.0 -> 1.8.0
* appcompat 1.4.1 -> 1.4.2
* constraintlayout 2.1.3 -> 2.1.4
* material 1.5.0 -> 1.6.1
* glide 4.13.1 -> 4.13.2
2022-06-06 13:53:49 +02:00
Seil0 03a79346b7 update version code and name -> beta3
update after tagging of beta2
2022-06-06 13:45:13 +02:00
Seil0 ad1e3068cd update changelog for beta2 release 2022-06-06 13:33:21 +02:00
Seil0 de1f19c2b7 catch exceprion in playheads() and postPlayheads() & update agp
* fix a crash, if there is no internet connection while in playback (closes #60)
* agp 7.2.0 -> 7.2.1
2022-06-06 13:14:41 +02:00
Seil0 12bbc2ef5f add recommendations to home fragment 2022-05-22 11:21:49 +02:00
Seil0 0186cef79e fix player progress bar skip intro/next ep button overlapping 2022-05-22 10:39:17 +02:00
Seil0 bc5509cf93 use newSingleThreadContext instead of mutex for token refresh
fixes #57
2022-05-20 15:07:07 +02:00
Seil0 ef9a0f00d0 hide the playbutton on media items in library- and searchfragment 2022-05-18 20:59:28 +02:00
Seil0 b85d7ae025 update kotlin, agp, dependecies
* kotlin 1.6.10 -> 1.6.21
* agp 7.1.3 -> 7.2.0
* splashscreen 1.0.0-beta02 -> 1.0.0-rc1
* coroutines 1.6.0 -> 1.6.1
* serialization-json 1.3.2 -> 1.3.3
2022-05-18 20:58:02 +02:00
Seil0 69c9666d2b fix crash if media is present in metadb, but season/episode are not present 2022-04-22 23:51:51 +02:00
Seil0 7d6c300f7e implement runtime cache for Crunchyroll.browse() 2022-04-16 17:52:10 +02:00
Seil0 1ebc1194e6 add categories support to Crunchyroll.browse() 2022-04-16 17:23:53 +02:00
Seil0 c48328723b increase touch target height for exo_progress 2022-04-15 17:55:01 +02:00
Seil0 95c8a72c94 add playhead progress indicator to player episodes list 2022-04-15 17:47:17 +02:00
Seil0 fc04e8e222 remove kotlin-android-extensions, use viewBinding in Player
also replace exo_progress_placeholder with exoplayer2.ui.DefaultTimeBar since the placehoder wont work with viewbinding
2022-04-15 17:25:31 +02:00
Seil0 a898a70653 migrate player episodes list to DialogFragment; change hideBars() behaviour 2022-04-15 16:28:15 +02:00
Seil0 58aab72097 fix FullScreenDialogStyle 2022-04-15 13:39:18 +02:00
Seil0 35157b78f5 migrate player language settings to DialogFragment; update hideBars()
* player language settings is now aDialogFragment
* update hideBars() to work with any window & view combination
* update hideBars() to use WindowCompat
2022-04-15 13:32:16 +02:00
Seil0 c6a00ea061 update agp
7.1.2 -> 7.1.3
2022-04-15 11:04:06 +02:00
Seil0 80a7fc4398 merge PlayerEpisodeItemAdapter into EpisodeItemAdapter 2022-04-10 21:24:09 +02:00
Seil0 dd6ca8b90e up next rework
* start playback, when up next episode is clicked
* add playhead progress indicator to up next episodes
2022-04-10 20:15:13 +02:00
Seil0 e80e81af0f use MediaItemListAdapter in MediaFragmentSimilar instead of MediaItemAdapter 2022-04-10 17:46:02 +02:00
Seil0 f852600dc7 port HomeFragment to ViewModel and Kotlin flow; update gradle wrapper 2022-04-10 17:39:30 +02:00
Seil0 aa49169034 fix (workaround) a crash in MediaFragment if one opens and closes multiple new MediaFragment via the similar tab 2022-04-03 17:33:29 +02:00
Seil0 7abb5cd3e8 fix fragments cleanup on recreation
after back press if other MediaFragments where created via similar tab
2022-04-03 17:22:28 +02:00
Seil0 3a71bdd2c7 use fragment as scope for MediaFragmentViewModel 2022-04-03 16:55:54 +02:00
Seil0 629c144c5b add similarTo function to crunchyroll parser
This will allow us to show similar tv shows in MediaFragment
2022-04-03 16:14:22 +02:00
Seil0 b2196f11da add playhead progress indicator to MediaFragment epsiodes 2022-04-03 14:57:14 +02:00
Seil0 5b5a74a1de fix crunchroll parser login crash if login failed 2022-04-02 20:08:29 +02:00
Seil0 7a860a7270 update ExoPlayer
exoplayer 2.15.0 -> 2.17.1
2022-04-02 19:47:49 +02:00
Seil0 e97ad9a245 update libraries
* kotlinx-coroutines-android 1.5.2 -> 1.6.0
* kotlinx-serialization 1.3.1 -> 1.3.2
* glide 4.12.0 -> 4.13.1
* ktor 1.6.7 -> 1.6.8
2022-04-02 19:28:19 +02:00
Seil0 cf435fdb72 replace LoginDialog with material-components based LoginModalBottomSheet 2022-04-02 18:54:17 +02:00
Seil0 42895a6fba Make token refresh thread safe 2022-03-30 20:42:46 +02:00
Seil0 eaf1cf78e9 Set episodes title length to max 3 lines, ellipsize at end 2022-03-30 20:27:10 +02:00
Seil0 1af82f8370 update playheads on season change
updated playheads are needed for the "completed ep" indicator
2022-03-30 20:12:04 +02:00
Seil0 d31a19a4f1 update fastlane metadata 2022-03-30 00:05:20 +02:00
Seil0 b27666ee69 Merge pull request 'add metadb support for crunchyroll' (#54) from featur/metadb_crunchyroll into develop
Reviewed-on: #54
2022-03-29 23:24:57 +02:00
Seil0 e76cbda04d fix Onboarding not working; fix deprecation in Activity.hideBars() 2022-03-29 23:23:10 +02:00
Seil0 7fbf639a70 add metadb support for crunchyroll
also remove gson snice it's unused now
2022-03-29 22:39:16 +02:00
Seil0 ff63b3d7a4 update gradle wrapper & core-splashscreen
* wrapper 7.3.3 -> 7.4.1
* core-splashscreen 1.0.0-beta01 -> 1.0.0-beta02
2022-03-29 22:39:02 +02:00
Seil0 7d32cecd89 hide unused dev settings 2022-03-20 12:56:01 +01:00
Seil0 72280f29d8 add option to disable playhead updates/reporting 2022-03-20 12:38:49 +01:00
Seil0 cd4cfb7a0c update libraries & targetSdk; use core-splashscreen for splashscreen
* targetSdk 30 -> 31
* core-ktx 1.6.0 -> 1.7.0
* appcompat 1.3.1 -> 1.4.1
* constraintlayout 2.1.0 -> 2.1.3
* navigation-fragment-ktx 2.3.5 -> 2.4.1
* navigation-ui-ktx 2.3.5 -> 2.4.1
* lifecycle-runtime-ktx 2.3.5 -> 2.4.1
* lifecycle-viewmodel-ktx 2.3.5 -> 2.4.1
* material 1.4.0 -> 1.5.0
2022-03-19 22:09:47 +01:00
Seil0 4a5a6c04ca Update fastlane metadata AoD -> Crunchyroll 2022-03-19 20:56:37 +01:00
Seil0 554c66e11f update agp
7.1.0 -> 7.1.2
2022-03-19 20:46:01 +01:00
Seil0 0aece1d8fa Merge pull request 'crunchyroll support' (#49) from feature/crunchyroll into develop
Reviewed-on: #49
2022-03-19 20:42:54 +01:00
Seil0 f820d2aac0 Udate readme Aod -> Crunchyroll 2022-03-19 20:42:15 +01:00
Seil0 0ea2e5ee97 update version to 1.0.0-beta1 2022-03-19 20:38:23 +01:00
Seil0 a092c5b8be fix mosad/NonePublicIssues#1 2022-03-19 20:14:16 +01:00
Seil0 ab660d0ae7 Show season number in MediaFragment 2022-03-19 13:10:36 +01:00
Seil0 be1c001942 Fix getPreferredSeason() (again)
fix selection of preferred season for languages other than english
2022-03-07 19:43:26 +01:00
Seil0 30a5331bbc load preferred sub/content language on startup 2022-03-06 18:57:55 +01:00
Seil0 0797e9fa3d Fix multiple language related issues
* fix playback for other  shows with no language set in cr API
* fix selection of preferred season for languages other than german
* add support for all content languages to TMDBApiController
* preferSecondary is now preferSubbed, this describes the function more clearly
* remove jsoup, not used anymore
2022-03-06 18:43:02 +01:00
Seil0 75204e522d Use ktor instead of fuel for http requests [Part 2/2]
* update preferred locale in preferences, is is the actual locale implementation
* update token handling for crunchy (country via token)
* update TMDBApiController to use ktor
* add parsable dates to NoneTMDBTVShow and NoneTMDBMovie
2022-03-05 20:41:39 +01:00
Seil0 2016e03e56 Use ktor instead of fuel for http requests [Part 1/2] 2022-03-05 19:22:47 +01:00
Seil0 4505f95309 don't show fully watched episodes in "Up next" 2022-03-04 20:42:21 +01:00
Seil0 e8bf63a666 add preferred content language selection
followup to 0b5a8e69fb
2022-03-04 20:29:37 +01:00
Seil0 a51001ec2e replace MaterialDialog with MaterialAlertDialogBuilder in AboutFragment 2022-02-05 20:10:59 +01:00
Seil0 0b5a8e69fb add preferred content language selection to AccountFragment
this contains only gui work
2022-02-05 20:02:33 +01:00
Seil0 61c96f5ce2 update playhead on manually selected next episode & start fully watched episodes from the beginning 2022-02-04 23:07:48 +01:00
Seil0 9bf0ae2f63 refresh access token, if it is expired, before doing a request 2022-02-01 17:21:42 +01:00
Seil0 f66fca7ebb MediaFragment: update playhead progress/fully watched on resume 2022-02-01 17:21:42 +01:00
Seil0 df4f43c0a2 Player: load media async and use playhead for initial episode 2022-02-01 17:21:42 +01:00
Seil0 287ef57bdb don't show next ep button or autoplay if the current ep is the last ep
next_episode_id can be non null, even if it's the last episode
2022-02-01 17:21:42 +01:00
Seil0 aa41884db5 the media type should not change while playing a media (tv show/movie) 2022-02-01 17:21:42 +01:00
Seil0 bec0dc2628 implement playhead reporting to crunchyroll 2022-02-01 17:21:42 +01:00
Seil0 4fed3ddb91 add upNextSeries
the MediaFragment will show the next episodes title instead for the series title and play the "next up" episode when the play button is clicked
2022-02-01 17:21:42 +01:00
Seil0 e652c001d3 Update the onboarding process to support crunchyroll
* only save credentials during onboarding, if login was successful
* show onboarding, if login failed
2022-02-01 17:21:42 +01:00
Seil0 2f78fbea73 add highlight (random of newly added (n=10)) 2022-02-01 17:21:42 +01:00
Seil0 a1fe08840f add newly added title to HomeFragment
* add support for season_list to crunchyroll parser
2022-02-01 17:21:42 +01:00
Seil0 402fb06c9e add playheads to crunchyroll parser
* show watched icon, if episode has been fully watched
* add seasonTag to browse()
2022-02-01 17:21:42 +01:00
Seil0 188d0d9162 add up next to home screen
for now up next will show the series and not play the actual episode
2022-02-01 17:21:42 +01:00
Seil0 d5d70e49d2 add watchlist to home fragment 2022-02-01 17:21:42 +01:00
Seil0 f100b4abf3 fix proguard for changes in 7491e7fd93056569a823b292483a114300ca86fb 2022-02-01 17:21:42 +01:00
Seil0 f2a798d4f7 add watchlist support for media fragment 2022-02-01 17:21:42 +01:00
Seil0 d427691f6e update copyright/license notice 2022-02-01 17:21:42 +01:00
Seil0 b4daac0814 replace tmdb multi search with type search (movie/tv)
multi search often retuns a wrong result, therfore use movie or tv show search
2022-02-01 17:21:42 +01:00
Seil0 554af530e3 move TMDBApiCOntroller to Fuel and kotlinx.serialization
* add year and maturityRatings to MediaFragment
* don't show season selection if only one season is present
2022-02-01 17:21:42 +01:00
Seil0 27e7f2a249 add subtitle selection to player 2022-02-01 17:21:42 +01:00
Seil0 f97d07c2b8 implement season selection in MediaFragment 2022-02-01 17:21:42 +01:00
Seil0 ecbbc5db7b implement preferred season/languag choosing in MediaFragment 2022-02-01 17:21:42 +01:00
Seil0 4fd6f9ca7e add search for tv shows
media items are currently not selectable, the app will crash
2022-02-01 17:21:42 +01:00
Seil0 63ce910ec5 implement lazy loading for LibraryFragment & code cleanup 2022-02-01 17:21:42 +01:00
Seil0 7dc41da13c add support for crunchyroll media playback in player 2022-02-01 17:21:42 +01:00
Seil0 236ca9a6c9 Implement media fragment for tv shows 2022-02-01 17:21:42 +01:00
Seil0 a46fd4c6d2 implement index call
index is needed to retrieve identifiers necessary for streaming
2022-02-01 17:21:42 +01:00
Seil0 c4bc3c7ea2 add rudimentary parsing for browsing results 2022-02-01 17:21:42 +01:00
Seil0 844ff41dd3 add crunchyroll login and browse (no parsing for now) 2022-02-01 17:21:42 +01:00
Seil0 487c0c3c39 update gradle wrapper, kotlin and agp
* gradle wrapper 7.2 ->7.3.3
* kotlin 1.6.0 -> 1.6.10
* agp 7.0.3 -> 7.1.0
2022-02-01 17:20:58 +01:00
Seil0 eafefd9a51 update kotlin and agp 2021-12-01 20:46:19 +01:00
Seil0 3935f37267 update libraries
* kotlinx-coroutines-android 1.5.1 -> 1.5.2
* exoplayer 2.14.2 -> 2.15.0
* jsoup 1.13.1 -> 1.14.2
* gradle agp 7.0.1 -> 7.0.2
2021-09-05 13:43:27 +02:00
Seil0 39e740cd92 Merge pull request 'tmdb rework and metadb integration' (#46) from feature/tmdb_rework_and_metadb into develop
Reviewed-on: #46
2021-09-05 12:10:57 +02:00
Seil0 eeb1c33e43 use the epsidoeId for the next epsiode in PlayerViewModel 2021-09-05 11:54:55 +02:00
Seil0 8753d4f36f fix tmdb episode description in player 2021-09-05 00:08:53 +02:00
Seil0 5ea94b7ded add numberStr to AoDEpisode type & show tmdb episode info in player
* use numberStr instead of index to display the correct episode number, allowing for number such as "12.5"
* show tmdb episode description in player if found and aod description is missing
2021-09-05 00:08:03 +02:00
Seil0 062013489d use notifyItem...() instead of notifyDataSetChanged() in MediaFragment 2021-09-05 00:04:59 +02:00
Seil0 ed9eff433b AoDParser Media handling rework [Part 2/2]
* move Player to new AoD media Implementation
* remove old AoD media Implementation from AoDParser
2021-09-04 13:33:46 +02:00
Seil0 c2a5f768b8 AoDParser Media handling rework [Part 1/2] 2021-08-31 19:47:18 +02:00
Seil0 a505315781 fix crash if media is not found in tmdb 2021-08-29 15:05:34 +02:00
Seil0 d76538cf28 use locale instead of string for language in AoDPlaylist 2021-08-29 15:05:34 +02:00
Seil0 309a991007 fix for AoDParser related code clean up 2021-08-29 15:05:34 +02:00
Seil0 0340c83b47 clean up some AoDParser related code 2021-08-29 15:05:34 +02:00
Seil0 9dfd2cf70b added skip opening for tv shows
* available for tv shows, where metaDB has the needed information
2021-08-29 15:05:34 +02:00
Seil0 26d2da923b use Gson in TMDBApiController, adapt tmdb types to api documentation
* use gson fromJson() to parse tmdb response
* adapt tmd types to documentation (nullable/non nullable)
2021-08-29 15:05:34 +02:00
Seil0 c66c725ee3 use tmdb data if missing on aod
*  episode description
2021-08-29 15:05:34 +02:00
Seil0 44f99295e9 rework the tmdb controller
the tmdb interation now provides additional information:
* tv seasons & episodes
* movie & tv show (air date, status)
2021-08-29 15:05:34 +02:00
Seil0 d417181b70 update kotlin, gradle & libraries
* kotlin 1.5.21 -> 1.5.30
* gradle wrapper 7.0.2 -> 7.2
* gradle agp 7.0.0 -> 7.0.1
* constraintlayout 2.0.4 -> 2.1.0
2021-08-29 15:02:40 +02:00
Seil0 9df5be003b update agp, kotlin, appcompat and exoplayer
* agp 4.2.2 -> 7.0.0
* kotlin 1.5.20 -> 1.5.21
* appcompat 1.3.0 -> 1.2.1
* exoplayer 1.14.1 -> 1.14.2
2021-08-15 00:39:17 +02:00
Seil0 cf3b1802d5 update kotlin coroutines
1.5.0 -> 1.5.1
2021-07-10 20:37:02 +02:00