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
Jannik 1ecd25bb06
update version and changelog for 1.0.0 release 2022-10-12 15:25:48 +02:00
Jannik 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
Jannik d3fe81224b
add missing play button functionality for highlight media in HomeFragment 2022-09-20 19:47:42 +02:00
Jannik 34c7f9d081
replace TextView in shimmer items with dummy ImageView with rounded corners 2022-09-20 15:20:49 +02:00
Jannik 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
Jannik 001141337d
add shimmer for highlight in home screen, update agp to version 7.3.0 2022-09-18 13:33:22 +02:00
Jannik 5cd3d25ebe
fix shimmer for light theme 2022-09-15 18:02:48 +02:00
Jannik 215e01c53a
add changelog for beta3 release 2022-09-14 22:00:00 +02:00
Jannik 1751963574
update gradle wrapper to version 7.5.1 2022-09-14 21:42:23 +02:00
Jannik 9c3548a866
add shimmer effect while loading to the lists in home fragment 2022-09-14 21:31:27 +02:00
Jannik 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
Jannik 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
Jannik f128efea0d
set compileSdkVersion and targetSdkVersion to 32 2022-08-27 13:56:15 +02:00
Jannik 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
Jannik 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
Jannik 326da147f1
update ktor to version 2.1.0 2022-08-19 18:18:09 +02:00
Jannik f398c82f62
update ktor to version 2.0.3 2022-08-19 18:15:37 +02:00
Jannik 821f8b5590
add subscription status and tier to the AccountFragment 2022-07-21 22:06:41 +02:00
Jannik 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
Jannik 127bd030b9
add unit test for token type serialization 2022-07-16 15:08:13 +02:00
Jannik 3cadaa5c7a
update playhead every 30 seconds while playback is active 2022-07-16 14:35:22 +02:00
Jannik 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
Jannik 4c55bb771f
partially revert c34b95795f 2022-07-16 13:48:28 +02:00
Jannik 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
Jannik 522b893dc8
update kotlin coroutines library
* kotlinx-coroutines-android 1.6.2 -> 1.6.3
2022-07-10 13:26:23 +02:00
Jannik 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
Jannik c34b95795f
fix rwd/ffwd button pos when animation is running, clean up rwd/ffwd animation handling 2022-07-10 12:53:03 +02:00
Jannik 9059306e90
add icon to fastlane metadata 2022-06-07 22:04:45 +02:00
Jannik 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
Jannik 03a79346b7
update version code and name -> beta3
update after tagging of beta2
2022-06-06 13:45:13 +02:00
Jannik ad1e3068cd
update changelog for beta2 release 2022-06-06 13:33:21 +02:00
Jannik 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
Jannik 12bbc2ef5f
add recommendations to home fragment 2022-05-22 11:21:49 +02:00
Jannik 0186cef79e
fix player progress bar skip intro/next ep button overlapping 2022-05-22 10:39:17 +02:00
Jannik bc5509cf93
use newSingleThreadContext instead of mutex for token refresh
fixes #57
2022-05-20 15:07:07 +02:00
Jannik ef9a0f00d0
hide the playbutton on media items in library- and searchfragment 2022-05-18 20:59:28 +02:00
Jannik 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
Jannik 69c9666d2b
fix crash if media is present in metadb, but season/episode are not present 2022-04-22 23:51:51 +02:00
Jannik 7d6c300f7e
implement runtime cache for Crunchyroll.browse() 2022-04-16 17:52:10 +02:00
Jannik 1ebc1194e6
add categories support to Crunchyroll.browse() 2022-04-16 17:23:53 +02:00
Jannik c48328723b
increase touch target height for exo_progress 2022-04-15 17:55:01 +02:00
Jannik 95c8a72c94
add playhead progress indicator to player episodes list 2022-04-15 17:47:17 +02:00
Jannik 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
Jannik a898a70653
migrate player episodes list to DialogFragment; change hideBars() behaviour 2022-04-15 16:28:15 +02:00
Jannik 58aab72097
fix FullScreenDialogStyle 2022-04-15 13:39:18 +02:00
Jannik 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
Jannik c6a00ea061
update agp
7.1.2 -> 7.1.3
2022-04-15 11:04:06 +02:00
Jannik 80a7fc4398
merge PlayerEpisodeItemAdapter into EpisodeItemAdapter 2022-04-10 21:24:09 +02:00
Jannik 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
Jannik e80e81af0f
use MediaItemListAdapter in MediaFragmentSimilar instead of MediaItemAdapter 2022-04-10 17:46:02 +02:00
Jannik f852600dc7
port HomeFragment to ViewModel and Kotlin flow; update gradle wrapper 2022-04-10 17:39:30 +02:00
Jannik 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
Jannik 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
Jannik 3a71bdd2c7
use fragment as scope for MediaFragmentViewModel 2022-04-03 16:55:54 +02:00
Jannik 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
Jannik b2196f11da
add playhead progress indicator to MediaFragment epsiodes 2022-04-03 14:57:14 +02:00
Jannik 5b5a74a1de
fix crunchroll parser login crash if login failed 2022-04-02 20:08:29 +02:00
Jannik 7a860a7270
update ExoPlayer
exoplayer 2.15.0 -> 2.17.1
2022-04-02 19:47:49 +02:00
Jannik 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
Jannik cf435fdb72
replace LoginDialog with material-components based LoginModalBottomSheet 2022-04-02 18:54:17 +02:00
Jannik 42895a6fba
Make token refresh thread safe 2022-03-30 20:42:46 +02:00
Jannik eaf1cf78e9
Set episodes title length to max 3 lines, ellipsize at end 2022-03-30 20:27:10 +02:00
Jannik 1af82f8370
update playheads on season change
updated playheads are needed for the "completed ep" indicator
2022-03-30 20:12:04 +02:00
Jannik d31a19a4f1
update fastlane metadata 2022-03-30 00:05:20 +02:00
Jannik 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
Jannik e76cbda04d
fix Onboarding not working; fix deprecation in Activity.hideBars() 2022-03-29 23:23:10 +02:00
Jannik 7fbf639a70
add metadb support for crunchyroll
also remove gson snice it's unused now
2022-03-29 22:39:16 +02:00
Jannik 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
Jannik 7d32cecd89
hide unused dev settings 2022-03-20 12:56:01 +01:00
Jannik 72280f29d8
add option to disable playhead updates/reporting 2022-03-20 12:38:49 +01:00
Jannik 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
Jannik 4a5a6c04ca
Update fastlane metadata AoD -> Crunchyroll 2022-03-19 20:56:37 +01:00
Jannik 554c66e11f
update agp
7.1.0 -> 7.1.2
2022-03-19 20:46:01 +01:00
Jannik 0aece1d8fa Merge pull request 'crunchyroll support' (#49) from feature/crunchyroll into develop
Reviewed-on: #49
2022-03-19 20:42:54 +01:00
Jannik f820d2aac0 Udate readme Aod -> Crunchyroll 2022-03-19 20:42:15 +01:00
Jannik 0ea2e5ee97
update version to 1.0.0-beta1 2022-03-19 20:38:23 +01:00
Jannik a092c5b8be
fix mosad/NonePublicIssues#1 2022-03-19 20:14:16 +01:00
Jannik ab660d0ae7
Show season number in MediaFragment 2022-03-19 13:10:36 +01:00
Jannik be1c001942
Fix getPreferredSeason() (again)
fix selection of preferred season for languages other than english
2022-03-07 19:43:26 +01:00
Jannik 30a5331bbc
load preferred sub/content language on startup 2022-03-06 18:57:55 +01:00
Jannik 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
Jannik 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
Jannik 2016e03e56
Use ktor instead of fuel for http requests [Part 1/2] 2022-03-05 19:22:47 +01:00
Jannik 4505f95309
don't show fully watched episodes in "Up next" 2022-03-04 20:42:21 +01:00
Jannik e8bf63a666
add preferred content language selection
followup to 0b5a8e69fb
2022-03-04 20:29:37 +01:00
Jannik a51001ec2e
replace MaterialDialog with MaterialAlertDialogBuilder in AboutFragment 2022-02-05 20:10:59 +01:00
Jannik 0b5a8e69fb
add preferred content language selection to AccountFragment
this contains only gui work
2022-02-05 20:02:33 +01:00
Jannik 61c96f5ce2
update playhead on manually selected next episode & start fully watched episodes from the beginning 2022-02-04 23:07:48 +01:00
Jannik 9bf0ae2f63
refresh access token, if it is expired, before doing a request 2022-02-01 17:21:42 +01:00
Jannik f66fca7ebb
MediaFragment: update playhead progress/fully watched on resume 2022-02-01 17:21:42 +01:00
Jannik df4f43c0a2
Player: load media async and use playhead for initial episode 2022-02-01 17:21:42 +01:00
Jannik 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
Jannik aa41884db5
the media type should not change while playing a media (tv show/movie) 2022-02-01 17:21:42 +01:00
Jannik bec0dc2628
implement playhead reporting to crunchyroll 2022-02-01 17:21:42 +01:00
Jannik 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
Jannik 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
Jannik 2f78fbea73
add highlight (random of newly added (n=10)) 2022-02-01 17:21:42 +01:00
Jannik a1fe08840f
add newly added title to HomeFragment
* add support for season_list to crunchyroll parser
2022-02-01 17:21:42 +01:00
Jannik 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
Jannik 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
Jannik d5d70e49d2
add watchlist to home fragment 2022-02-01 17:21:42 +01:00
Jannik f100b4abf3
fix proguard for changes in 7491e7fd93056569a823b292483a114300ca86fb 2022-02-01 17:21:42 +01:00
Jannik f2a798d4f7
add watchlist support for media fragment 2022-02-01 17:21:42 +01:00
Jannik d427691f6e
update copyright/license notice 2022-02-01 17:21:42 +01:00
Jannik 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
Jannik 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
Jannik 27e7f2a249
add subtitle selection to player 2022-02-01 17:21:42 +01:00
Jannik f97d07c2b8
implement season selection in MediaFragment 2022-02-01 17:21:42 +01:00
Jannik ecbbc5db7b
implement preferred season/languag choosing in MediaFragment 2022-02-01 17:21:42 +01:00
Jannik 4fd6f9ca7e
add search for tv shows
media items are currently not selectable, the app will crash
2022-02-01 17:21:42 +01:00
Jannik 63ce910ec5
implement lazy loading for LibraryFragment & code cleanup 2022-02-01 17:21:42 +01:00
Jannik 7dc41da13c
add support for crunchyroll media playback in player 2022-02-01 17:21:42 +01:00
Jannik 236ca9a6c9
Implement media fragment for tv shows 2022-02-01 17:21:42 +01:00
Jannik a46fd4c6d2
implement index call
index is needed to retrieve identifiers necessary for streaming
2022-02-01 17:21:42 +01:00
Jannik c4bc3c7ea2
add rudimentary parsing for browsing results 2022-02-01 17:21:42 +01:00
Jannik 844ff41dd3
add crunchyroll login and browse (no parsing for now) 2022-02-01 17:21:42 +01:00
Jannik 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
Jannik eafefd9a51
update kotlin and agp 2021-12-01 20:46:19 +01:00
Jannik 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
Jannik 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
Jannik eeb1c33e43
use the epsidoeId for the next epsiode in PlayerViewModel 2021-09-05 11:54:55 +02:00
Jannik 8753d4f36f
fix tmdb episode description in player 2021-09-05 00:08:53 +02:00
Jannik 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
Jannik 062013489d
use notifyItem...() instead of notifyDataSetChanged() in MediaFragment 2021-09-05 00:04:59 +02:00
Jannik 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
Jannik c2a5f768b8
AoDParser Media handling rework [Part 1/2] 2021-08-31 19:47:18 +02:00
Jannik a505315781
fix crash if media is not found in tmdb 2021-08-29 15:05:34 +02:00
Jannik d76538cf28
use locale instead of string for language in AoDPlaylist 2021-08-29 15:05:34 +02:00
Jannik 309a991007
fix for AoDParser related code clean up 2021-08-29 15:05:34 +02:00
Jannik 0340c83b47
clean up some AoDParser related code 2021-08-29 15:05:34 +02:00
Jannik 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
Jannik 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
Jannik c66c725ee3
use tmdb data if missing on aod
*  episode description
2021-08-29 15:05:34 +02:00
Jannik 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
Jannik 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
Jannik 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
Jannik cf3b1802d5
update kotlin coroutines
1.5.0 -> 1.5.1
2021-07-10 20:37:02 +02:00