Commit graph

24 commits

Author SHA1 Message Date
Jarne Demeulemeester
dca9902e10
Only show download button when user is allow to download
Fix #75
2022-01-21 17:39:28 +01:00
Jarne Demeulemeester
4b2dd6c672
Save downloads metadata to database (#81)
* Change downloads from metadata files to room database (WIP)

* Disable download progress

* Add file available check + clean up
2022-01-21 17:34:50 +01:00
Jarne Demeulemeester
8e3c4a3a37
Add error handling to played and favorite buttons 2022-01-01 17:57:49 +01:00
Jarne Demeulemeester
1e9ddd1173
Clean up 2021-12-28 18:26:43 +01:00
Jarne Demeulemeester
c645ee3b81
New UI state system (#71)
* Convert MediaFragment to use new UiState

* Convert PersonDetailFragment to use new UiState

* Load PersonDetail data on start

* Convert FavoriteFragment to use new UiState

* Convert SeasonFragment to use new UiState

* Convert SearchResultFragment to use new UiState

* Convert EpisodeBottomSheetFragment to use new UiState (WIP)

* Convert EpisodeBottomSheetFragment to use new UiState (Part 2)

* Convert LibraryFragment to use new UiState

* Convert DownloadFragment to use new UiState

* Convert HomeFragment to use new UiState

* Convert MediaInfoFragment to use new UiState (WIP)

* Convert MediaInfoViewModel to use new UiState (Part 2)

* Convert ServerSelectViewModel to use new UiState (Semi)

* Fix MediaInfoFragment for downloaded movies
2021-12-19 15:35:36 +01:00
Jcuhfehl
598c11f299
Improve offline playback (#68)
* Fix download playback tracking bug

* Remove unused permission

* Add overview text to downloadmetadata

* Add visual indicator of whether item is downloaded

* Use downloaded item when available

* Fix "null" overview text in download metadata

* Fix crash when playing downloaded file with mpv

* Clean up

Co-authored-by: jarnedemeulemeester <jarnedemeulemeester@gmail.com>
2021-11-27 12:18:41 +01:00
Jcuhfehl
532e9adac1
Add offline playback (#51)
* Add offline playback

* Remove unused values

* Replace downloadutilities extension functions with normal functions

This is to not polute the namespace of fragment and context.

* Replace default Android icons with those from lucide

* Fix deleting downloaded movie

Co-authored-by: Jarne Demeulemeester <32322857+jarnedemeulemeester@users.noreply.github.com>
2021-10-29 21:11:01 +02:00
lsrom
308d97068f
Refactor playback code (#55)
* Refactor playback code

* Fix back state when playing media and rotating device

Problem was playerItems were re-emitted on fragment creation after config change. LiveData by design emit on every subscribe (observe) so to avoid that there are several possibilities.

1) easiest, observe playerItems not in onCreate but in playButton.clickListener. Stupid, since then we need to remember to only observe in this special place.

2) SingleLiveData - kind of hacky since LiveData were designed to behave this way so we don't want to go against their design.

3) Use Kotlin flow instead.

I chose the flow approach since it's Kotlin native and modern way to do things and behaves much more Rx-like. Since now we need to call collect instead of observe and launch in coroutine, I added utility method to make this easier. Also, in the future we might want to improve this further, either by coming up with new way entirely or by at least moving this to parent fragment from which all fragments that want to play media will inherit and thus making it easy to use and maintain.

Co-authored-by: Jarne Demeulemeester <32322857+jarnedemeulemeester@users.noreply.github.com>
2021-10-26 18:11:22 +02:00
jarnedemeulemeester
6d340bd7ab
Add new player controls 2021-09-15 13:42:17 +02:00
jarnedemeulemeester
4fdcf987d4
Fix missing episodes being sent to the player 2021-08-26 16:08:38 +02:00
jarnedemeulemeester
25ac5524d7
Rework how player items are created
Add support for intros and improve loading speed
2021-08-26 15:36:56 +02:00
jarnedemeulemeester
d53fbf3369
Handle empty mediaSources 2021-08-25 11:00:58 +02:00
jarnedemeulemeester
e621032ab2
Show complete error message 2021-08-23 16:42:00 +02:00
jarnedemeulemeester
f2ce030856
View detailed error message for playerItemsError 2021-08-22 11:47:25 +02:00
jarnedemeulemeester
d67e3fb39c
Add error handling to preparePlayerItems 2021-08-08 12:42:15 +02:00
jarnedemeulemeester
10e89a2df5
Load episodes mediasources when play button pressed in EpisodeBottomSheet 2021-08-06 15:15:01 +02:00
jarnedemeulemeester
d67f195789
Rework player to allow for playing multiple episodes in a row 2021-08-05 16:09:08 +02:00
jarnedemeulemeester
fe7775329a
Add error handling to all fragments 2021-07-29 12:20:49 +02:00
Jarne Demeulemeester
dbc2582724
Mark item as played 2021-07-16 17:07:45 +02:00
Jarne Demeulemeester
6cf1f5cc49
Mark items as favorite 2021-07-16 14:45:35 +02:00
Jarne Demeulemeester
5ee1cbf340
Play episodes 2021-07-11 17:41:36 +02:00
Jarne Demeulemeester
e79731f21b
First JellyfinRepository implementation 2021-07-06 14:24:53 +02:00
Jarne Demeulemeester
7c3640fa5f
Improve EpisodeBottomSheet 2021-07-03 16:24:58 +02:00
Jarne Demeulemeester
a3cfe35c13
Add EpisodeBottomSheet
Work in progress
2021-07-03 14:01:54 +02:00