Commit Graph

288 Commits

Author SHA1 Message Date
12bbc2ef5f
add recommendations to home fragment 2022-05-22 11:21:49 +02:00
0186cef79e
fix player progress bar skip intro/next ep button overlapping 2022-05-22 10:39:17 +02:00
bc5509cf93
use newSingleThreadContext instead of mutex for token refresh
fixes #57
2022-05-20 15:07:07 +02:00
ef9a0f00d0
hide the playbutton on media items in library- and searchfragment 2022-05-18 20:59:28 +02:00
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
69c9666d2b
fix crash if media is present in metadb, but season/episode are not present 2022-04-22 23:51:51 +02:00
7d6c300f7e
implement runtime cache for Crunchyroll.browse() 2022-04-16 17:52:10 +02:00
1ebc1194e6
add categories support to Crunchyroll.browse() 2022-04-16 17:23:53 +02:00
c48328723b
increase touch target height for exo_progress 2022-04-15 17:55:01 +02:00
95c8a72c94
add playhead progress indicator to player episodes list 2022-04-15 17:47:17 +02:00
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
a898a70653
migrate player episodes list to DialogFragment; change hideBars() behaviour 2022-04-15 16:28:15 +02:00
58aab72097
fix FullScreenDialogStyle 2022-04-15 13:39:18 +02:00
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
80a7fc4398
merge PlayerEpisodeItemAdapter into EpisodeItemAdapter 2022-04-10 21:24:09 +02:00
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
e80e81af0f
use MediaItemListAdapter in MediaFragmentSimilar instead of MediaItemAdapter 2022-04-10 17:46:02 +02:00
f852600dc7
port HomeFragment to ViewModel and Kotlin flow; update gradle wrapper 2022-04-10 17:39:30 +02:00
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
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
3a71bdd2c7
use fragment as scope for MediaFragmentViewModel 2022-04-03 16:55:54 +02:00
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
b2196f11da
add playhead progress indicator to MediaFragment epsiodes 2022-04-03 14:57:14 +02:00
5b5a74a1de
fix crunchroll parser login crash if login failed 2022-04-02 20:08:29 +02:00
7a860a7270
update ExoPlayer
exoplayer 2.15.0 -> 2.17.1
2022-04-02 19:47:49 +02:00
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
cf435fdb72
replace LoginDialog with material-components based LoginModalBottomSheet 2022-04-02 18:54:17 +02:00
42895a6fba
Make token refresh thread safe 2022-03-30 20:42:46 +02:00
eaf1cf78e9
Set episodes title length to max 3 lines, ellipsize at end 2022-03-30 20:27:10 +02:00
1af82f8370
update playheads on season change
updated playheads are needed for the "completed ep" indicator
2022-03-30 20:12:04 +02:00
e76cbda04d
fix Onboarding not working; fix deprecation in Activity.hideBars() 2022-03-29 23:23:10 +02:00
7fbf639a70
add metadb support for crunchyroll
also remove gson snice it's unused now
2022-03-29 22:39:16 +02:00
7d32cecd89
hide unused dev settings 2022-03-20 12:56:01 +01:00
72280f29d8
add option to disable playhead updates/reporting 2022-03-20 12:38:49 +01:00
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
a092c5b8be
fix mosad/NonePublicIssues#1 2022-03-19 20:14:16 +01:00
ab660d0ae7
Show season number in MediaFragment 2022-03-19 13:10:36 +01:00
be1c001942
Fix getPreferredSeason() (again)
fix selection of preferred season for languages other than english
2022-03-07 19:43:26 +01:00
30a5331bbc
load preferred sub/content language on startup 2022-03-06 18:57:55 +01:00
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
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
2016e03e56
Use ktor instead of fuel for http requests [Part 1/2] 2022-03-05 19:22:47 +01:00
4505f95309
don't show fully watched episodes in "Up next" 2022-03-04 20:42:21 +01:00
e8bf63a666
add preferred content language selection
followup to 0b5a8e69fb
2022-03-04 20:29:37 +01:00
a51001ec2e
replace MaterialDialog with MaterialAlertDialogBuilder in AboutFragment 2022-02-05 20:10:59 +01:00
0b5a8e69fb
add preferred content language selection to AccountFragment
this contains only gui work
2022-02-05 20:02:33 +01:00
61c96f5ce2
update playhead on manually selected next episode & start fully watched episodes from the beginning 2022-02-04 23:07:48 +01:00
9bf0ae2f63
refresh access token, if it is expired, before doing a request 2022-02-01 17:21:42 +01:00
f66fca7ebb
MediaFragment: update playhead progress/fully watched on resume 2022-02-01 17:21:42 +01:00
df4f43c0a2
Player: load media async and use playhead for initial episode 2022-02-01 17:21:42 +01:00
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
aa41884db5
the media type should not change while playing a media (tv show/movie) 2022-02-01 17:21:42 +01:00
bec0dc2628
implement playhead reporting to crunchyroll 2022-02-01 17:21:42 +01:00
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
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
2f78fbea73
add highlight (random of newly added (n=10)) 2022-02-01 17:21:42 +01:00
a1fe08840f
add newly added title to HomeFragment
* add support for season_list to crunchyroll parser
2022-02-01 17:21:42 +01:00
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
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
d5d70e49d2
add watchlist to home fragment 2022-02-01 17:21:42 +01:00
f2a798d4f7
add watchlist support for media fragment 2022-02-01 17:21:42 +01:00
d427691f6e
update copyright/license notice 2022-02-01 17:21:42 +01:00
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
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
27e7f2a249
add subtitle selection to player 2022-02-01 17:21:42 +01:00
f97d07c2b8
implement season selection in MediaFragment 2022-02-01 17:21:42 +01:00
ecbbc5db7b
implement preferred season/languag choosing in MediaFragment 2022-02-01 17:21:42 +01:00
4fd6f9ca7e
add search for tv shows
media items are currently not selectable, the app will crash
2022-02-01 17:21:42 +01:00
63ce910ec5
implement lazy loading for LibraryFragment & code cleanup 2022-02-01 17:21:42 +01:00
7dc41da13c
add support for crunchyroll media playback in player 2022-02-01 17:21:42 +01:00
236ca9a6c9
Implement media fragment for tv shows 2022-02-01 17:21:42 +01:00
a46fd4c6d2
implement index call
index is needed to retrieve identifiers necessary for streaming
2022-02-01 17:21:42 +01:00
c4bc3c7ea2
add rudimentary parsing for browsing results 2022-02-01 17:21:42 +01:00
844ff41dd3
add crunchyroll login and browse (no parsing for now) 2022-02-01 17:21:42 +01:00
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
eeb1c33e43
use the epsidoeId for the next epsiode in PlayerViewModel 2021-09-05 11:54:55 +02:00
8753d4f36f
fix tmdb episode description in player 2021-09-05 00:08:53 +02:00
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
062013489d
use notifyItem...() instead of notifyDataSetChanged() in MediaFragment 2021-09-05 00:04:59 +02:00
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
c2a5f768b8
AoDParser Media handling rework [Part 1/2] 2021-08-31 19:47:18 +02:00
a505315781
fix crash if media is not found in tmdb 2021-08-29 15:05:34 +02:00
d76538cf28
use locale instead of string for language in AoDPlaylist 2021-08-29 15:05:34 +02:00
309a991007
fix for AoDParser related code clean up 2021-08-29 15:05:34 +02:00
0340c83b47
clean up some AoDParser related code 2021-08-29 15:05:34 +02:00
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
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
c66c725ee3
use tmdb data if missing on aod
*  episode description
2021-08-29 15:05:34 +02:00
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
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
664959641f
fix tmdb search for movies
movies don't have name but titles
2021-07-04 13:01:49 +02:00
ba7d82bc2b
replace deprecated OnNavigationItemSelectedListener 2021-07-03 15:58:20 +02:00
e0a6485ed7
tmdb api improvements
* sort tmdb results by name
* remove season information in media title before searching
2021-07-03 15:51:52 +02:00
5555269877
sort tmdb results with String.compareTo 2021-07-03 13:46:13 +02:00
03e9c3dae5
fix crash on myList element not present in overall itemMediaList
fixes #42
2021-07-03 13:36:15 +02:00
8afbae1e1a
set pip source hint & update exo player
* exo player 2.14.0 -> 2.14.1
2021-06-17 19:36:13 +02:00
164db8ebd1
remove unneeded import 2021-06-12 21:03:19 +02:00
44d1825095
minor code clean up 2021-06-12 21:02:09 +02:00
1d071eafdb
add media session & update exo player to 2.14.0 2021-06-12 20:57:12 +02:00
0decf317d9
remove some unneeded resources 2021-06-06 18:06:59 +02:00