Commit Graph

329 Commits

Author SHA1 Message Date
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 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 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 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 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
Jannik 4de97ca42e
version 0.4.2 2021-07-09 18:54:44 +02:00
Jannik 664959641f
fix tmdb search for movies
movies don't have name but titles
2021-07-04 13:01:49 +02:00
Jannik ba7d82bc2b
replace deprecated OnNavigationItemSelectedListener 2021-07-03 15:58:20 +02:00
Jannik 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
Jannik 5555269877
sort tmdb results with String.compareTo 2021-07-03 13:46:13 +02:00
Jannik 3fcd1a96b2
update kotlin, some libs & agp
* kotlin 1.5.10 -> 1.5.20
* core-ktx 1.5.0 -> 1.6.0
* material-components-android 1.3.0 -> 1.4.0
2021-07-03 13:45:59 +02:00
Jannik 03e9c3dae5
fix crash on myList element not present in overall itemMediaList
fixes #42
2021-07-03 13:36:15 +02:00
Jannik 8afbae1e1a
set pip source hint & update exo player
* exo player 2.14.0 -> 2.14.1
2021-06-17 19:36:13 +02:00
Jannik 164db8ebd1
remove unneeded import 2021-06-12 21:03:19 +02:00
Jannik 44d1825095
minor code clean up 2021-06-12 21:02:09 +02:00
Jannik 1d071eafdb
add media session & update exo player to 2.14.0 2021-06-12 20:57:12 +02:00
Jannik 0decf317d9
remove some unneeded resources 2021-06-06 18:06:59 +02:00
Jannik 5e48e724a7
update some libraries & coroutines 1.5.0
* androidx.core 1.3.2 -> 1.5.0
* androidx.appcompat 1.2.0 -> 1.3.0
* gson 2.8.6 -> 2.8.7
* coroutines-android 1.4.3 -> 1.5.0
  * don't use GlobalScope, use lifecycleScope and vieModelScope instead. This fixes a few issues when fragments where destroied befor the coroutine finished.
* gradle wrapper 7.0 -> 7.9.2
2021-06-06 17:54:19 +02:00
Jannik 46e3d1f1b6
don't use "save" when selecting the media language, use "apply" instead 2021-06-04 00:18:33 +02:00
Jannik a3a89c6b64
don't use deprecated startActivityForResult() use registerForActivityResult() instead 2021-05-27 19:50:00 +02:00
Jannik 7ce67f57cd
add export/import of my list
fixes #39
2021-05-26 19:46:46 +02:00
Jannik 063b5405fc
add dev settings gui
enable dev settings by clicking the app icon in the about screen 5 times
2021-05-09 20:31:51 +02:00
Jannik be591a961a
update agp and kotlin
apg 4.1.3 -> 4.2.0
kotlin 1.4.32 -> 1.5.0
2021-05-09 19:32:31 +02:00
Jannik 8160641b8f
update exoplayer and gradle wrapper
* exoplayer 2.13.2 -> 2.13.3
* gradle 6.7.1 -> 7.0
* remove jcenter repository (fixes #29)
2021-04-17 21:38:03 +02:00
Jannik 86dfd69b4b
add subscription info to settings fragment
* update androidx.navigation: 2.3.4 -> 2.3.5
2021-04-17 20:59:37 +02:00
Jannik e8ab11d5ff
version 0.4.1 2021-03-13 22:17:25 +01:00
Jannik 0bb433b5cb
set timeout for laoding the playlist to 120 seconds
fixes #36
2021-03-13 22:08:53 +01:00
Jannik b05ecf64a6
minor code clean up 2021-03-11 19:11:12 +01:00
Jannik 7a2f3ad265
update some libraries
* coroutines-android 1.4.2 -> 1.4.3
* androidx.navigation 2.3.3 -> 2.3.4
2021-03-11 18:25:28 +01:00
Jannik 06770559ee
version 0.4.0 2021-03-04 20:35:11 +01:00
Jannik 1a9de4124d
minor pip mode fixes 2021-03-04 20:19:54 +01:00
Jannik 6cc59a72fc
don't exclude player from history
Previously it was possible to exit the player without going into pip mode and having no option to open this player activity again.
2021-03-02 14:52:46 +01:00
Jannik a07f291098
only update media title if there is one & update exoplayer to 2.13.2 2021-02-27 21:12:42 +01:00
Jannik fad64ad385
update exoplayer to version 2.13.1 2021-02-21 13:59:23 +01:00
Jannik 9d3e9c5019
dsiable scrolling on appbar if no tabs where added to media fragment
fixes #33
2021-02-20 22:57:00 +01:00
Jannik 09191f6732
fix possible and rare index out of bounds 2021-02-13 00:31:58 +01:00
Jannik e762745705
use CoordinatorLayout instead of NestedScrollView in media fragment 2021-02-08 00:22:50 +01:00
Jannik f342d1a3f4
udpate some libraries
* kotlin 1.4.21 -> 1.4.30
* material components 1.3.0-rc01 -> 1.3.0
* glide 4.11.0 -> 4.12.0
2021-02-06 23:01:14 +01:00
Jannik b02fadaa89
fix unchecked single choice button in theme dialog beeing white 2021-02-06 22:45:28 +01:00
Jannik 5bb51c9054 Add similar titles to media fragment (#28)
* update androidx navigation libraries
* add similar media to MediaFragment
* parse similar media in AoDParser

Reviewed-on: #28
Co-Authored-By: Jannik <seil0@mosad.xyz>
Co-Committed-By: Jannik <seil0@mosad.xyz>
2021-02-06 19:02:12 +01:00
Jannik 67c1e2bfdc
minor clean up 2021-01-21 20:31:15 +01:00
Jannik 70aafb1a14
update gradle plugin to 4.1.2 2021-01-21 19:57:01 +01:00
Jannik 373f5c56c9
rework the about fragment 2021-01-21 19:53:16 +01:00
Jannik 4c5d6e6e24
add top ten to home screen & minor fixes
* use plural for runtime and episodes
* code clean up
2021-01-21 18:22:53 +01:00
Jannik c6874d0e54
move showFragment to ActivityUtils 2021-01-20 16:10:41 +01:00
Jannik a740ccfee1
update libs
* exoplayer 2.12.2 -> 2.12.3
* material components 1.3.0-beta01 -> 1.3.0-rc01
2021-01-16 00:22:31 +01:00
Jannik 8a22554846
add onboarding (login), change default theme to dark
closes #14
2021-01-16 00:16:47 +01:00
Jannik 3f45d769d2
rework initial loading, don't crash on login timeout on app start
closes #25
2021-01-13 20:57:21 +01:00
Jannik 7a95304ee1
fix episodes not showing, if scroll is not needed in MediaFragment 2021-01-11 22:12:21 +01:00
Jannik 8e8db386a0
play new media if selected while player is in pip & minor code clean up
move some player avtivity stuff to ActivityUtils
2021-01-08 10:58:24 +01:00
Jannik 86e07ba2cf
return to main activity if pip was launched before 2021-01-08 09:31:50 +01:00
Jannik e5037cf9ac
add pip support to player activity 2021-01-06 15:07:31 +01:00
Jannik e4ac01605f
fix crash after clicking on the highlight play button 2021-01-01 13:08:25 +01:00
Jannik 75ecac6144
always visible next ep button fix
the always visible next ep button cloud be hidden, when playing the last ep of a tv show and changing to a previous ep via the episodes list
2021-01-01 12:15:17 +01:00
Jannik 1efc108bd7
version 0.3.0 2020-12-31 13:43:57 +01:00
Jannik 31197a5d44
minor fixes
* fix current language is set to preferred and not to actual language
* fix player episodes lists sometimes missing the play icon
2020-12-31 13:12:37 +01:00
Jannik 489ef02a35
fix controls autohide not working when epsiodes list was shown
fixes #19
2020-12-30 20:08:19 +01:00
Jannik 9705a752fb
don't crash if initial loading was not successful 2020-12-30 14:18:04 +01:00
Jannik 7a5f90cb82
don't initialize exoplayer, if view model exists and player is ready
this prevents the media being reloaded, when the app is moved to the background and to the foreground again
2020-12-28 20:45:52 +01:00
Jannik 800c2a144c
polish player episodes list ui
closes #16
2020-12-28 20:17:11 +01:00
Jannik 6bec0512ba
minor player fixes
* fix exoplayer access on wrong thread
* fix remaining time calculation sometimes failed
2020-12-27 20:41:18 +01:00
Jannik b3ce43c614
release player in PlayerVIewModel onCleared()
this fixes playback after the activity has been destroyed, while being in background
2020-12-27 20:31:18 +01:00
Jannik 7845770067
Clean up PlayerActivity and PlayerViewModel
* use Local instead of streamURL to save selected language, this allows nextEp/ selected Eps to use previously selected language
* hide episodes button, if media is a movie
2020-12-27 20:11:01 +01:00
Jannik 94da8c6cee
player language settings [Part 2]
* move player object to PlayerViewModel
* minor code clean up
2020-12-26 20:09:35 +01:00
Jannik 8a43567737
rework how different streams/languages per episode are handled
* potentially support more than 2 streams
* part of language settings in player
2020-12-26 14:39:35 +01:00
Jannik 8f60a30d61
improve media parsing / loadStreams()
* fix #20, return 0 as episode number on NumberFormatException
* don't crash if a episode can not be parsed
* update material components: 1.3.0-alpha04 -> 1.3.0-beta01
2020-12-26 11:32:09 +01:00
Jannik 00699aaec7
add language settings to player [Part 1] 2020-12-20 20:21:27 +01:00
Jannik bba642e9e3
use a random new title, if highlights is empty 2020-12-18 17:23:04 +01:00
Jannik 04893060e4
add episodes list to player [Part 2] 2020-12-15 23:15:14 +01:00
Jannik 6fc7bb2c1e
add episodes list to player [Part 1] 2020-12-14 23:46:55 +01:00
Jannik ab180ddd89
add new simulcasts and new titles to home screen
* simulcasts and new titles
* update some libraries
* don't crash if AoDPraser fails to parse mediaId
2020-12-11 10:54:40 +01:00
Jannik 98636d326e
make sure highlighted media has a valid mediaId
this also prevents non media from showing as highlights
2020-12-07 17:50:10 +01:00
Jannik 6775a4da2e
show AoD highlights on home fragment 2020-12-06 15:18:15 +01:00
Jannik a390bc9686
update exoplayer to version 2.12.2 2020-12-05 22:17:54 +01:00
Jannik 82bf34e4cb
update theme colors to better reflect material design guidelines
* dark primary: #000000 -> #121212
2020-12-05 21:51:12 +01:00
Jannik e34e5b2bbd
replace licenses dialog and about dialog with about fragment 2020-12-05 21:03:14 +01:00
Jannik 77e657d37c
version 0.2.1 2020-12-02 11:25:36 +01:00
Jannik 20407d9cac
add permanently visible next episode button & fix autoplay
* autoplay / play next episode could sometimes skip episodes
2020-12-02 11:14:09 +01:00
Jannik dbd4b26a65
minor text change 2020-11-29 20:25:22 +01:00
Jannik ac5aee20de
update material components to alpha 4 2020-11-29 18:23:02 +01:00
Jannik 32844223fc
minor episodes ui improvements
* show 3 lines of episode description
* episodes title: Episode xy -> Ep. xy
2020-11-28 15:09:39 +01:00
Jannik d01e87bf14
use suspending functions for coroutines when possible
* fix crash, when media is selected, but MediaFragment is removed before AoDParser could load data
2020-11-27 11:06:16 +01:00
Jannik 3ed55ca3c9
fix episodes without a streaming link make AoDParser crash 2020-11-26 17:32:15 +01:00
Jannik dfaf359952
fix poster not being scaled correctly
regression from 2de1419d36
2020-11-26 17:07:33 +01:00
Jannik 78d9f3cfa5
version 0.2.0 2020-11-26 15:01:19 +01:00
Jannik db5758edf9
minor code clean up 2020-11-25 23:33:06 +01:00
Jannik 2de1419d36
fix theme not applying to nav bar
regression from 7df99ea0cc
2020-11-25 23:26:46 +01:00
Jannik 7df99ea0cc
use view binding wherever possible 2020-11-25 22:35:55 +01:00