Commit graph

58 commits

Author SHA1 Message Date
Mauricio Colli
c726639484
Avoid unnecessary changes to the upload date of saved streams
The upload date was being updated regardless if the new one had more
precision or not, this caused items on the feed to jump around when the
user opened one of them.

This changes it to only update when the existent upload date is null or
the new one has a higher precision (i.e. is not an approximation).
2020-04-05 10:57:54 -03:00
wb9688
fda5405e48 Improve code style to be more consistent 2020-04-02 15:57:50 +02:00
TobiGr
a5153f5375 Improve database migration SQL statement 2020-03-31 00:20:13 +02:00
Mauricio Colli
053440c4a8
Fix handling of null values in database migration to version 3
Some values prior to this version could be null, this wasn't handled
properly before.
2020-03-30 15:50:46 -03:00
Mauricio Colli
d1d5f6821f
Implement feed groups manual sorting
Now, the user can sort its groups to his liking even after he created
them.

Also updated the database diagram to reflect the table's new column.
2020-03-14 00:12:45 -03:00
Mauricio Colli
3f32573638
Replace hardcoded value that represents the group "All" with a constant 2020-03-14 00:12:41 -03:00
Mauricio Colli
b2f317ab7c
Load only the selected group and customizable updated status timeout
Now only the subscriptions from the selected group by the user will be
loaded.

Also add an option to decide how much time have to pass since the last
refresh before the subscription is deemed as not up to date. This helps
when a subscription appear in multiple groups, since updating in one
will not require to be fetched again in the others.
2020-03-14 00:12:38 -03:00
Mauricio Colli
20a4bb0936
Implement new feed and subscriptions groups
- Introduce Groupie for easier lists implementations
- Use some of the new components of the Android Architecture libraries
- Add a bunch of icons for groups, using vectors, which still is
compatible with older APIs through the compatibility layer
2020-03-14 00:12:31 -03:00
Mauricio Colli
e8ab5aacc7
Setup initial database for feed implementation
- Update the database diagram
- Add new migration for the new tables and fields
- Enable schema exports
2020-03-14 00:12:30 -03:00
Peter Hindes
87378fc79c Fixed library showing null 2019-10-16 19:56:31 -06:00
Peter Hindes
ad2de3a828 only use TextUtils.equals (fixes more crashes) 2019-10-15 17:22:17 -06:00
Peter Hindes
797e1a105d Comment out debuging code 2019-10-15 14:02:37 -06:00
Peter Hindes
df2bb228c5 Much Simpler Fix 2019-10-15 09:11:04 -06:00
Peter Hindes
8c73253a52 follow stye on debug 2019-10-15 08:48:36 -06:00
Peter Hindes
4106645d6e Polished Results 2019-10-15 08:40:51 -06:00
Peter Hindes
c68c35e084 Better FIx, Improved Comment Style 2019-10-15 07:19:11 -06:00
Peter Hindes
c93c52a58c Wrap in multiline comment so it colapses 2019-10-14 16:55:16 -06:00
Peter Hindes
e72c6eed24 Explain What we did in the code itself 2019-10-14 16:48:44 -06:00
Peter Hindes
3794002c7b much simpler, "uploader" will never change on a playlist 2019-10-14 14:56:04 -06:00
Peter Hindes
bd2b32bfbc Fixed Playlists With No Uploader Crashing The App 2019-10-14 11:55:55 -06:00
Robin
bf2a3ca043 Migrate to AndroidX 2019-10-04 14:59:08 +02:00
Christian Schabesberger
fabb07bb28 fix import settings not working 2019-08-04 17:27:56 +02:00
Vasiliy
41fb6f5464
Update states in lists 2019-04-27 18:12:00 +03:00
Vasiliy
4e1423d224
Implement playback state management 2019-04-13 13:34:36 +03:00
BO41
802b26e870 error handling + imports + unboxing 2018-09-11 19:18:50 +02:00
BO41
0ab86937d2 data flow issue + declaration redundancy
make final
unused methods
make final

BUILD SUCCESSFUL in 0s
39 actionable tasks: 39 up-to-date
2018-09-11 19:18:41 +02:00
John Zhen Mo
7fb9345344 -Fixed remote playlist metadata not updated when remote source data has changed. 2018-06-18 18:22:52 -07:00
Christian Schabesberger
a099fe35d2 reorder playqueue/localPlaylist classes 2018-04-29 12:51:57 +02:00
Christian Schabesberger
bcfd8a2450 rename playlist to player.playqueue 2018-04-29 12:49:52 +02:00
Christian Schabesberger
96a327af17 made frontend combatible to latest extractor refactorings 2018-03-18 16:37:49 +01:00
Mauricio Colli
83b084a90b Implement subscriptions import/export
- Import subscriptions from YouTube and SoundCloud (all services that the extractor support)
- Import/export a JSON representation of the subscriptions
- [Minor] Remove some javax annotations in favor of the one provided by the android support library
2018-03-08 10:39:24 -03:00
John Zhen Mo
cb41afb11f -Fixed Soundcloud playlist bookmark button not working when entered from search page.
-Fixed NPE when playlist fragment is destroyed while renaming.
-Fixed remote playlist thumbnail to use uploader avatar when thumbnail url is unavailable.
-Added dispose on exit to all database requests in local playlist fragment.
2018-02-10 17:20:56 -08:00
John Zhen Mo
c3941d5bec -Added remote playlist table creation to migrations. 2018-02-07 19:24:36 -08:00
John Zhen Mo
c0a75f5b98 -Added ability to save playlist as remote playlist link rather than storing it in database.
-Added LeakCanary as part of debug build.
-Modified bookmark list to show both remote and local playlists.
-Removed ability to save channel items as local playlist, in favor of subscribe.
2018-02-07 19:24:36 -08:00
John Zhen Mo
3c3fe7bf83 -Fixed database updates cause outdated record to overwrite reordered local playlist when fragment is active.
-Fixed save on exit causes empty list being saved after orientation changes on older devices.
-Fixed NPE on animating garbage collected views on local item fragments.
-Reduced drag speed from 15 to 12 items per second.
2018-02-07 19:24:36 -08:00
John Zhen Mo
225b43ca3c -Modified BaseLocalItemFragment to no longer cache items when going into background.
-Refactored and restructured all LocalItem related fragments and dialogs.
-Added error logging to unmonitored single-use observables.
-Modified playlist metadata query to return by alphabetical order.
-Removed sending toast when playlist is renamed or deleted as it is obvious.
-Removed unused code in main fragment.
2018-02-07 19:24:35 -08:00
John Zhen Mo
75a58d6381 -Fixed memory leak on rogue observable in history fragment.
-Removed stream id from playlist stream join table since only foreign constraint is needed.
-Added bar to playlist control UI.
-Modified local playlist fragment to no longer save when out of focus.
2018-02-07 19:24:35 -08:00
John Zhen Mo
d3160eed9d -Added state saving for streams on skip and player exception events.
-Added query for loading saved stream states.
-Modified orphan record removal to no longer consider stream table records.
2018-02-07 19:24:35 -08:00
John Zhen Mo
d31eeac49e -Condensed repeating entries on stream history.
-Changed search history to show service name and stream history to show repeat count.
-Removed history entry abstract and unused info items.
2018-02-07 19:24:35 -08:00
John Zhen Mo
84c5d27416 -Revamped local items to display more information such as service name, etc.
-Enabled reordering, renaming, removing of items on playlist fragment.
-Enabled removal of dangling streams entries when history is cleared.
-Changed playlist append menu item to icon on service player activity.
-Added adapter and builder for local items, removed dependency on infoitem and existing infolist for database entry items.
-Removed watch history entity and DAO.
-Extracted info item selected listener to remove adding boilerplate code when long click functionality is optional.
-Fixed query returning no record on left join when right table is empty.
2018-02-07 19:24:35 -08:00
John Zhen Mo
17d77aa31f -Removed watch history table.
-Added migration for dropping watch history table.
2018-02-07 19:24:35 -08:00
John Zhen Mo
388ec3e3d3 -Added history record manager as single entry for all database history transactions.
-Merged stream record manager into history record manager.
-Removed subject-based history database actions.
-Merged normalized history table into watch history fragment.
-Modified history fragments to use long click for delete actions.
-Refactored DAO operations from search fragment to record manager.
-Added index to search history table on search string.
-Fix baseplayer round repeat not detected by discontinuity.
2018-02-07 19:24:35 -08:00
John Zhen Mo
f0829f9ef3 -Added support for changing local playlist name and thumbnail url.
-Added query to remove stream table orphans.
-Added query for retrieving flattened watch history records.
-Added holder for local playlist stream info items.
-Refactored info item on select listener as on touch gesture.
2018-02-07 19:24:35 -08:00
John Zhen Mo
a74c4168f3 -Improved bulk stream upsert into playlist performance by 5x.
-Added custom info item type for plain stream entity.
2018-02-07 19:24:34 -08:00
John Zhen Mo
776dbc34f7 -Added bulk playlist creation and append.
-Added UI to create playlist from service player activity.
-Added state saving to playlist dialogs.
-Removed access to history activity on service player activity.
-Made StreamEntity serializable.
2018-02-07 19:24:34 -08:00
John Zhen Mo
4ae81a2de4 -Deprecating database get instance without context.
-Added comments to migrations.
2018-02-07 19:24:34 -08:00
John Zhen Mo
3c314ced0a -Bump database version to 2.
-Added migration script for upgrading database from version 1 to 2.
-Fixed database name of stream type in stream entity.
2018-02-07 19:24:34 -08:00
John Zhen Mo
ba9d0d7707 -Added basic UI for local playlists.
-Added UI for watch history and most played fragments.
-Added stream state table for storing playback timestamp and future usage.
-Enabled playlist deletion.
2018-02-07 19:24:34 -08:00
John Zhen Mo
38946e4b0f -Added UI for creating playlist.
-Added UI for appending item to playlists.
-Added mini variant of playlist info item.
2018-02-07 19:24:34 -08:00
John Zhen Mo
f71242a036 -Added schema for local playlist and stream statistics.
-Added normalized schema for stream history.
-Added managers for specialized database access for stream and local playlist.
2018-02-07 19:24:34 -08:00