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
lsrom
28014eaadf
Add Czech localization ( #50 )
...
* Remove unused string
* Add czech localization
Co-authored-by: Jarne Demeulemeester <32322857+jarnedemeulemeester@users.noreply.github.com>
2021-10-24 18:11:19 +02:00
lsrom
b0b7d7f5b5
Add ability to swipe up and down to adjust volume ( #48 )
...
* Add ability to swipe up and down to adjust volume
Created AudioController to adjust global volume for media channel. Alarm, system and other volume levels are unaffected. This way it doesn't need specific implementation for separate players. During swiping system volume slider is shown and it is possible to change direction mid-swipe.
AudioController should probably be singleton and provided by DI but currently PlayerActivity is handling all the playback so it seemed unnecessarily complicated.
Sensitivity can be adjusted by threshold value in VerticalSwipeListener.
* Add audio controller class
Co-authored-by: Jarne Demeulemeester <32322857+jarnedemeulemeester@users.noreply.github.com>
2021-10-24 18:07:08 +02:00
lsrom
62d09b3566
Add person detail screen ( #47 )
...
* Add person detail screen
Displays actor/actresses portrait and text info + list of movies/show this person starred in. Text info is max 5 lines with View More button if ellipsized. View More toggle is reset upon orientation change since in landscape mode ellipsize might not be necessary.
* Remove useless StarredInAdapter.kt
* Fix image view shape
* Improve UI
Not exactly how I would like it but will do for now
* Add error handling
Adds a lot of LiveData which may not be ideal, but is better than crashing due to connection errors.
Co-authored-by: jarnedemeulemeester <jarnedemeulemeester@gmail.com>
2021-10-24 17:45:59 +02:00
Jarne Demeulemeester
e9e849d9e4
Update dependencies and improve server discovery
2021-10-23 17:39:46 +02:00
jarnedemeulemeester
69503f504d
Remove hardcoded strings from dialogs
2021-10-23 13:35:37 +02:00
jarnedemeulemeester
aa1ef5ca5b
Add sorting options to library (collection)
2021-10-23 11:29:22 +02:00
NIK679
11ff3b4e16
Add playback speed control to the player ( #46 )
...
* add playback speed control to MPV player
* add playback speed control to exoplayer
* remove unnecessary method
* remove unused import
* use gauge icon from lucide
* use gauge icon from lucide
* fix the gauge icon
2021-10-20 20:16:43 +02:00
newton181
e991fab24e
Enhace translations and add new key for search hint ( #45 )
...
* Make search hint translatable
* Add new key in string file for search hint
* Enhace and update spanish translations
2021-10-20 20:05:37 +02:00
Jarne Demeulemeester
c7a816ff6f
Sort items alphabetical on name
2021-10-12 20:41:08 +02:00
Jarne Demeulemeester
07d9ae676c
Add some spacing at bottom of media info fragment
2021-10-12 19:35:16 +02:00
Jarne Demeulemeester
234d44e9ce
Add placeholder (error) image for people
...
Fix #42
2021-10-12 19:21:54 +02:00
Jarne Demeulemeester
742ec71e56
Make ripple rounded just like other ui elements
2021-10-11 21:30:19 +02:00
jarnedemeulemeester
6beb5e8236
Move navigationBar color to v27 and v31
2021-10-10 22:00:58 +02:00
jarnedemeulemeester
8984493bb0
Remove InitializingFragment
2021-10-10 22:00:02 +02:00
jarnedemeulemeester
ac7c3405da
Add some icons to settings
2021-10-03 15:49:02 +02:00
jarnedemeulemeester
4c36785461
Add more shape styles + switch to material dialogs
2021-10-03 15:37:29 +02:00
jarnedemeulemeester
da39db03d0
Global shape theming
2021-10-03 11:43:34 +02:00
jarnedemeulemeester
976b56ce00
Add Android 12 dynamic colors
2021-10-03 11:07:28 +02:00
jarnedemeulemeester
f92efa31e8
Upgrade core-splashscreen and constraintlayout
2021-10-02 21:14:49 +02:00
jarnedemeulemeester
73fc37b4f1
Update material colors, dark mode pure black
2021-10-02 21:10:10 +02:00
jarnedemeulemeester
c43f9bad82
Add icon and name for debug and staging builds
2021-09-26 19:40:58 +02:00
jarnedemeulemeester
44f7d6fa6d
Bump versionCode to 5 and versionName to 0.2.1
2021-09-23 09:53:45 +02:00
jarnedemeulemeester
18b2867c3b
Create staging build type after release
2021-09-23 09:40:55 +02:00
jarnedemeulemeester
7fe197e3b6
Add mpvlib to proguard rules
...
Fix #35
2021-09-23 09:39:51 +02:00
jarnedemeulemeester
212f35cb8b
Bump versionCode to 4 and versionName to 0.2.0
2021-09-19 19:06:55 +02:00
jarnedemeulemeester
f4d2859090
Allow video to extend into the display cutout
2021-09-19 18:55:27 +02:00
Jarne Demeulemeester
1cbd08c517
Merge pull request #33 from newton181/newton181-spanish
...
Translate to spanish string files
2021-09-19 16:57:52 +02:00
jarnedemeulemeester
19e33c6404
Move some strings to strings.xml
2021-09-19 11:53:36 +02:00
jarnedemeulemeester
7509916ff4
Move libmpv lib out of seperate directory
2021-09-19 11:30:04 +02:00
jarnedemeulemeester
90d3cb8a7b
Update Jellyfin sdk to 1.0.3
2021-09-19 11:27:54 +02:00
jarnedemeulemeester
1d0f2b3358
MPVPlayer: Start from playback position
2021-09-18 21:11:45 +02:00
jarnedemeulemeester
64b86f2b40
MPVPlayer: Support for software decoding + clean up
2021-09-18 15:17:20 +02:00
jarnedemeulemeester
0baef5ec2e
MPVPlayer: Improve track selection and some code cleanup
2021-09-17 11:55:35 +02:00
jarnedemeulemeester
87edeabb9a
MPVPlayer: Use preferred languages
2021-09-16 19:00:11 +02:00
jarnedemeulemeester
9cddd50d0e
Select audio and subtitle tracks
2021-09-15 23:13:59 +02:00
jarnedemeulemeester
6d340bd7ab
Add new player controls
2021-09-15 13:42:17 +02:00
jarnedemeulemeester
c9d0d6ab17
Add experimental libMPV player
2021-09-14 16:39:57 +02:00
newton181
21c354df0b
Translate to spanish string files
...
This commit translate to spanish (Spain, México and LatAm) the string file.
2021-09-10 15:42:56 -05:00
jarnedemeulemeester
88b5d38ffc
Clean up player code
2021-09-05 18:34:07 +02:00
jarnedemeulemeester
70d0d62318
Fix trailer button produces crash if no trailers are available
2021-09-05 12:28:37 +02:00
jarnedemeulemeester
46727898fc
Convert gradle files from Groovy to KTS
2021-09-05 11:45:29 +02:00
jarnedemeulemeester
e474544a3d
Update versionCode to 3 and versionName to 0.1.2
2021-08-26 23:58:07 +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
fb1755e8b8
Update proguard rules
2021-08-26 10:21:10 +02:00
jarnedemeulemeester
bb208d68fd
Add missing episode icon
2021-08-25 18:45:04 +02:00
jarnedemeulemeester
653d41c68a
Fix continue watching movie image
2021-08-25 18:26:48 +02:00
jarnedemeulemeester
1417d97223
Fix crash in player when no connection to server
2021-08-25 18:10:00 +02:00
jarnedemeulemeester
be2c4dcb9a
Improve image loading
2021-08-25 18:01:18 +02:00
jarnedemeulemeester
d53fbf3369
Handle empty mediaSources
2021-08-25 11:00:58 +02:00
jarnedemeulemeester
2ff9239e8c
Improve home loading
2021-08-24 20:26:57 +02:00
jarnedemeulemeester
1c6c8640b0
Ask for login if server responds with 401
2021-08-24 18:01:52 +02:00
jarnedemeulemeester
e621032ab2
Show complete error message
2021-08-23 16:42:00 +02:00
jarnedemeulemeester
19ab3f85db
Fix underlined "View details" string
2021-08-23 12:28:57 +02:00
jarnedemeulemeester
45fc40b51e
Fix if media items are in folders
2021-08-23 11:14:34 +02:00
jarnedemeulemeester
59d687f5a0
Remove livetv section from home screen
2021-08-23 11:12:56 +02:00
jarnedemeulemeester
90681c6027
Update versionCode to 2 and versionName to 0.1.1
2021-08-22 20:27:19 +02:00
jarnedemeulemeester
5f3b1018bd
Remove books library from media screen
2021-08-22 20:15:13 +02:00
jarnedemeulemeester
1f2eb7a1ab
Remove books from home screen
2021-08-22 19:52:29 +02:00
jarnedemeulemeester
a2026ccb11
Move episode metadata to under the image
2021-08-22 19:05:49 +02:00
jarnedemeulemeester
0b32db0407
Add some more space between libraries
2021-08-22 19:01:12 +02:00
jarnedemeulemeester
a067b6b13d
New error panel with details dialog
2021-08-22 18:47:25 +02:00
jarnedemeulemeester
f2ce030856
View detailed error message for playerItemsError
2021-08-22 11:47:25 +02:00
jarnedemeulemeester
306c3b02c2
Improve server discovery (no longer need to type http:// or https:// or ports)
2021-08-21 17:52:39 +02:00
jarnedemeulemeester
2094ec9870
Add gradient to episode description
2021-08-21 16:43:50 +02:00
Jarne Demeulemeester
bf927ed073
Merge pull request #13 from jarnedemeulemeester/hotfix/smaller-library-images
...
Make library images smaller
2021-08-21 16:16:33 +02:00
jarnedemeulemeester
53d6fdb340
Make library images smaller
2021-08-21 16:10:18 +02:00
jarnedemeulemeester
eaa49596af
Update gradle plugin (7.0.1) & timber library (5.0.1)
2021-08-21 15:41:45 +02:00
jarnedemeulemeester
6ab22428d8
Switch to AboutLibraries for licenses screen
2021-08-21 15:33:23 +02:00
jarnedemeulemeester
3692f75692
Use application name to connect to Jellyfin server
2021-08-16 12:09:57 +02:00
jarnedemeulemeester
33bede159f
Add privacy policy in app
2021-08-16 12:09:20 +02:00
jarnedemeulemeester
1f8e6cd71f
Rename app to Findroid with updated logo
2021-08-15 17:07:39 +02:00
jarnedemeulemeester
be385e2519
Allow the user to rotate the player and fix resume playback
2021-08-13 17:38:32 +02:00
jarnedemeulemeester
189b8d02eb
Enable code minify and resource shrinking for release versions
2021-08-13 16:34:30 +02:00
jarnedemeulemeester
0ca8be9267
Upgrade libraries (jellyfin-sdk, hilt, exoplayer, timber)
2021-08-13 15:49:35 +02:00
jarnedemeulemeester
c7683e19b3
Stop playback when activity is paused
2021-08-12 15:16:59 +02:00
jarnedemeulemeester
09589cd813
Fix fullscreen action bar reappearing
2021-08-12 15:16:15 +02:00
jarnedemeulemeester
19c8b916e1
Set versionName to 0.1.0
2021-08-10 17:30:08 +02:00
jarnedemeulemeester
5cde430986
Adjust dimensions for next up item on tablets
2021-08-10 17:29:19 +02:00
jarnedemeulemeester
80ff96a5b4
Add open source licenses and app version to settings fragment
2021-08-10 17:26:02 +02:00
jarnedemeulemeester
06b9e145cd
Change "Switch server" to "Manage servers"
2021-08-09 18:50:59 +02:00
jarnedemeulemeester
cb095834f1
Fix episode items in ViewItemList
2021-08-09 18:50:24 +02:00
jarnedemeulemeester
fc902938db
Add server icon in server button
2021-08-09 17:19:56 +02:00
jarnedemeulemeester
d5b34cc996
Remove buttons from season_header (will probably add back later)
2021-08-08 14:40:14 +02:00
jarnedemeulemeester
d67e3fb39c
Add error handling to preparePlayerItems
2021-08-08 12:42:15 +02:00
jarnedemeulemeester
2a8b937402
Upgrade constraintlayout
2021-08-08 12:33:48 +02:00
jarnedemeulemeester
a8e9a40023
Play series from MediaInfoFragment
2021-08-06 20:01:30 +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
23a3937e86
Fix labels from setup fragments
2021-08-04 15:51:24 +02:00
jarnedemeulemeester
fd351f5088
Allow overriding theme
2021-08-04 12:29:51 +02:00
jarnedemeulemeester
72fb32fb52
Set nav start destination to home fragment
2021-08-04 11:29:04 +02:00
jarnedemeulemeester
8aa36cdd6e
Rework complete navigation
2021-08-03 19:04:03 +02:00
jarnedemeulemeester
d77243950b
Remove some unused files and strings
2021-08-03 11:01:02 +02:00
jarnedemeulemeester
2ed507a278
Add search
2021-08-03 11:00:19 +02:00
jarnedemeulemeester
2138a4979e
Remove unused fragment_settings.xml layout
2021-08-02 20:24:52 +02:00
jarnedemeulemeester
ea927793e3
Allow http connections + fix lifecycle warning
2021-08-02 18:14:41 +02:00
jarnedemeulemeester
52d65eba87
Media info fragment remember scroll position
2021-07-30 22:28:07 +02:00
jarnedemeulemeester
c0ab909114
Add favorites fragment + switch settings for favorites on bottom nav
2021-07-30 22:22:50 +02:00