Commit graph

75 commits

Author SHA1 Message Date
renovate[bot]
07efae6f4c
chore(deps): update dependency org.jlleitschuh.gradle.ktlint to v11.4.0 (#293)
* chore(deps): update dependency org.jlleitschuh.gradle.ktlint to v11.4.0

* fix: use .editorconfig

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: jarnedemeulemeester <jarnedemeulemeester@gmail.com>
2023-06-19 23:16:02 +02:00
renovate[bot]
2969a7a729
chore(deps): update kotlin monorepo to v1.8.22 (#404)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-08 09:29:39 +02:00
renovate[bot]
3706ec9f54
chore(deps): update androidx.navigation to v2.6.0 (#403)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-08 09:29:08 +02:00
Jarne Demeulemeester
1399c77b5d
refactor: switch to coil for image loading (#388) 2023-05-29 16:44:03 +02:00
renovate[bot]
53df89311f
fix(deps): update dependency androidx.activity:activity-ktx to v1.7.2 (#379)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-27 10:54:59 +02:00
renovate[bot]
9d4d1319c6
chore(deps): update android-plugin to v8.0.2 (#378)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-27 10:52:37 +02:00
renovate[bot]
b63bc6d68a
chore(deps): update aboutlibraries to v10.7.0 (#376)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-20 00:28:43 +02:00
renovate[bot]
22d941b627
fix(deps): update androidx-media3 to v1.0.2 (#373)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-20 00:28:30 +02:00
renovate[bot]
ac88455a35
fix(deps): update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.5.1 (#366)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-14 10:59:25 +02:00
renovate[bot]
3894846ada
chore(deps): update hilt to v2.46.1 (#365)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-14 10:58:07 +02:00
renovate[bot]
28bcd492b9
fix(deps): update dependency androidx.core:core-ktx to v1.10.1 (#355)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-13 21:54:48 +02:00
renovate[bot]
f02f639ce9
fix(deps): update dependency dev.jdtech.mpv:libmpv to v0.1.2 (#351)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-09 00:01:23 +02:00
renovate[bot]
3744a38246
fix(deps): update dependency com.google.android.material:material to v1.9.0 (#350)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-07 16:30:15 +02:00
renovate[bot]
1155596e20
chore(deps): update aboutlibraries to v10.6.3 (#349)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-07 16:26:07 +02:00
renovate[bot]
499c83816c
chore(deps): update android-plugin to v8.0.1 (#348)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-07 16:24:11 +02:00
renovate[bot]
b0583b8c7f
chore(deps): update hilt to v2.46 (#346)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-07 16:21:15 +02:00
renovate[bot]
18d2eb788b
fix(deps): update dependency org.jellyfin.sdk:jellyfin-core to v1.4.2 (#345)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-07 16:14:12 +02:00
renovate[bot]
e8ad4d1dca
chore(deps): update kotlin monorepo to v1.8.21 (#344)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-07 16:11:29 +02:00
Jarne Demeulemeester
00c84fa9d5
Items and downloads rework (#329)
* refactor WIP: stop using `BaseItemDto` but use custom items specific to Findroid

This will make it easier to support downloaded items

* refactor: split `MediaInfoFragment` into `MovieFragment` and `ShowFragment`

* feat: add download icons to items

* feat WIP: download movies

* feat: download movie and play local file

* fix: remove `VideoVersionDialogFragment` from `ShowFragment`

* feat: select which version you want to download

* feat: delete downloaded movie

* feat: download progress indicator

* refactor: rename JellyfinItems to FindroidItems

* feat: offline mode (movies only)

* feat: offline mode card

* feat: download external files

* feat: toggle played on downloads

* feat: convert intros to `FindroidIntro`

* refactor: add itemId and sourceId to external downloaded subtitle filenames

* refactor: simplify `onMediaItemTransition`

* refactor: clean up some player item logic

* feat: download trickPlay data

* refactor: downloading of item to only require the item and a source id

* fix: external subtitle title

* feat: add `DownloadsFragment`

* feat: download episodes

* fix: cascade deletion if last item

* feat: download intro timestamps

* feat WIP: add storage activity

* feat: user data in separate table

* feat: add buttons to season fragment

* fix: improve responsiveness of the watched and favorite buttons

* fix: move `ic_database.xml` to main

* perf: optimize home fragment by limiting the number of items

* fix: database improvements

- use compound primary key for FindroidUserDataDto instead of id
- set played to false when playback percentage is below 90%
- capitalize SQL keywords
- update favorite in userdata
- set primary key of TrickPlayManifestDto to itemId
- prepare to sync data back to server

* feat: sync playback progress

This includes playback position, played and favorite

* fix: use non-transitive r classes

* lint: ktlint fix

* refactor: centralize item buttons in `item_actions.xml`

* feat: show intermediate progress when progress is less than 5

Also remove delete button from item_actions.xml

* feat: remove intros

* feat: check available storage space before downloading

* fix: trailer button

* refactor: make indexNumberEnd nullable

* feat: add offline mode toggle in settings

* fix: download over mobile data and roaming

* feat: immediately show spinner when tapping download

* revert: season fragment buttons

* feat: snackbar in downloads fragment

This snackbar is displayed when there is no connection to the server but the app is not in Offline Mode (Offline Mode is required to play content when the server is unavailable)

* refactor: make onReceive arguments non nullable

* fix: handle download finished / failed when BroadcastReceiver does not work

* fix: download multiple episodes

* feat: download to external storage (SD card)

* fix: reset download button when dialog is dismissed

* feat(offline): show "continue watching" episodes on home

* fix: watch progress bar on episode item in season

* feat(offline): next up items

* lint: fix some linting issues

* lint: fix some linting issues

* lint: fix some linting issues

* feat: remove StorageActivity

StorageActivity is not ready yet and out of scope for this PR

* fix: collection types that are not known crash the media fragment

* fix: downloading trick play data

* fix: sort downloaded items

* fix: navigate back if item is deleted instead of showing error

Navigate back based on NullPointerException in loadData method of viewmodels. This may not be the best approach but it works well enough.

Navigating back from BottomSheetFragment does not trigger onResume of previous fragment which in turn does not refresh its contents.

* fix: play from local storage instead of server when downloaded

* fix: missing items

* fix: `SyncWorker` using the app JellyfinApi instance instead of it's own

* fix: only show downloaded items when navigating from `DownloadsFragment`

* fix: make chips horizontal scrollable

* feat: migrate database (retain) and downloads (wipe)

Also add indexes on seriesId and seasonId

* fix: remove temp testing in downloadsMigrated

* lint: fix some linting issues

* fix: add error handling to downloading item

* feat: add "Preparing download" dialog to make sure the user waits for the download to start

* refactor: first show dialog then start downloading

* fix: add error handling to user configuration in `PlayerViewModel`

* feat: allow downloads to be cancelled

* fix: "View details" is cut off when text is too long

* lint: fix indent
2023-05-07 16:05:40 +02:00
renovate[bot]
46c0d76058
chore(deps): update dependency gradle to v8.1.1 (#342)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-22 01:23:17 +02:00
renovate[bot]
c3424e17e9
chore(deps): update dependency androidx.activity:activity-ktx to v1.7.1 (#339)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-22 01:22:46 +02:00
renovate[bot]
afc518c70a
chore(deps): update androidx-media3 to v1.0.1 (#338)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-22 01:22:28 +02:00
renovate[bot]
2e6d069136
chore(deps): update dependency gradle to v8.1 (#332)
* Update dependency gradle to v8.1

* fix: remove @Suppress("DSL_SCOPE_VIOLATION") from build.gradle files

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jarne Demeulemeester <jarnedemeulemeester@gmail.com>
2023-04-15 01:01:41 +02:00
renovate[bot]
22542614cd
chore(deps): update android-plugin to v8 (major) (#333)
* Update android-plugin to v8

* ci: upgrade to java 17

* fix: transitive R classes and buildconfig

* lint: fix ktlint issues

* lint: fix ktlint issues

* lint: fix ktlint issues

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: jarnedemeulemeester <jarnedemeulemeester@gmail.com>
2023-04-15 00:43:42 +02:00
renovate[bot]
0d4c38d34b
chore(deps): update dependency com.mikepenz.aboutlibraries.plugin to v10.6.2 (#330)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-14 09:14:11 +02:00
renovate[bot]
0c5469d3c6
chore(deps): update kotlin monorepo to v1.8.20 (#326)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-14 08:55:49 +02:00
renovate[bot]
a58108ed4b
chore(deps): update dependency androidx.core:core-ktx to v1.10.0 (#327)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-07 08:49:02 +02:00
renovate[bot]
a7c7113b9f
chore(deps): update dependency androidx.activity:activity-ktx to v1.7.0 (#324)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-30 19:17:50 +02:00
renovate[bot]
0a4e3bd0a7
chore(deps): update dependency androidx.recyclerview:recyclerview to v1.3.0 (#315)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-30 19:17:28 +02:00
renovate[bot]
033b891068
chore(deps): update androidx-lifecycle to v2.6.1 (#314)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-30 19:17:02 +02:00
renovate[bot]
74ec9a6ba4
chore(deps): update androidx-media3 to v1.0.0 (#312)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-30 18:42:18 +02:00
renovate[bot]
cf3ac630e9
chore(deps): update androidx-room to v2.5.1 (#323)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-30 17:25:03 +02:00
renovate[bot]
0a2d4a2cda
chore(deps): update glide to v4.15.1 (#320)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-30 17:22:56 +02:00
renovate[bot]
bd334c3d70
chore(deps): update dependency gradle to v8.0.2 (#313)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-30 17:19:40 +02:00
renovate[bot]
17d8967042
chore(deps): update android-plugin to v7.4.2 (#311)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-30 08:33:11 +02:00
renovate[bot]
9e7769ef92
chore(deps): update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.5.0 (#308)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-25 00:40:06 +01:00
renovate[bot]
75efe237ae
chore(deps): update glide to v4.15.0 (#309)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-25 00:36:53 +01:00
renovate[bot]
5599811625
chore(deps): update aboutlibraries to v10.6.1 (#307)
* Update aboutlibraries to v10.6.1

* refactor: remove aboutlibraries-plugin version

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jarne Demeulemeester <32322857+jarnedemeulemeester@users.noreply.github.com>
2023-02-24 09:52:18 +01:00
renovate[bot]
75b8a594e8
chore(deps): update aboutlibraries to v10.6.0 (#299)
* Update aboutlibraries

* fix: update plugin to 10.6.1

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jarne Demeulemeester <jarnedemeulemeester@gmail.com>
2023-02-23 07:57:18 +01:00
renovate[bot]
1a8e71a8a9
Update androidx-media3 to v1.0.0-rc01 (#296)
* Update androidx-media3 to v1.0.0-rc01

* fix: add new arguments to `seekTo` method

* lint: run ktlintFormat

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jarne Demeulemeester <jarnedemeulemeester@gmail.com>
2023-02-18 12:22:13 +01:00
renovate[bot]
71d80590c1
Update dependency gradle to v8.0.1 (#297)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-18 00:41:25 +01:00
renovate[bot]
86abe204f9
Update dependency gradle to v8 (#289)
* Update dependency gradle to v8

* fix: add compatibility with AGP 7.4 and remove some kotlin jvmTarget

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jarne Demeulemeester <jarnedemeulemeester@gmail.com>
2023-02-13 21:58:05 +01:00
renovate[bot]
3a8aaaa0f6
Update hilt to v2.45 (#284)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-10 23:40:41 +01:00
renovate[bot]
7208d85b09
Update dependency androidx.appcompat:appcompat to v1.6.1 (#279)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-09 20:15:55 +01:00
renovate[bot]
2521b4102c
Update dependency dev.jdtech.mpv:libmpv to v0.1.1 (#278)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-09 20:15:41 +01:00
renovate[bot]
b1925e2f50
Update kotlin monorepo to v1.8.10 (#263)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-09 20:15:21 +01:00
renovate[bot]
5364e6991f
Update android-plugin to v7.4.1 (#262)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-02 00:25:43 +01:00
Jarne Demeulemeester
0f03261ecc
Enable HLS playback in ExoPlayer (#254) 2023-01-28 22:46:13 +01:00
renovate[bot]
e6e5cf05ca
Update dependency org.jlleitschuh.gradle.ktlint to v11.1.0 (#250)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-27 21:31:14 +01:00
renovate[bot]
1a55519ac5
Update dependency com.google.android.material:material to v1.8.0 (#241)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-26 00:34:41 +01:00