Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
The Thread is interrupted which leads to an empty notification
|
|
For use with RxJava2 where null was to be returned (RxJava2 requires non-null).
Cherry-picked from PR #2954
|
|
orionlee/bugfix_phantom_notification_rework_2716"
This reverts commit 643173de14ade8acfa5e6b92464482c7402e172e, reversing
changes made to f2d103736d20bca481817808ee73b240fc2f7be4.
|
|
The Android internal media player blocks its `start()` call until the
seek listener completes. The seek listener is called on the main thread
even though `start()` is called on the executor. This makes the main
thread wait for the lock and the executor (which has the lock) wait for the
main thread to finish the call to the listener.
|
|
|
|
Callbacks are called on the thread that created the MediaPlayer.
For Sonic, this is the executor. For ExoPlayer, this is the main thread.
When calling executor.submit, every thread waiting for the runnable to
complete gets blocked.
Because the callback is called in the thread that created the player,
we can simply remove the call to executor.submit and still be sure
that a background thread is used.
|
|
|
|
So it is easier to identify problems in bug reports
|
|
|
|
Prevent app crash during some automatic feed update
|
|
|
|
|
|
Executing all ExoPlayer methods on main thread
|
|
|
|
|
|
|
|
|
|
|
|
|
|
should never happen in the code path, e.g.,
return the current FeedItem in ItemFragment UI.
Mark underlying method as @Nullable, and let observer's existing
onError() to handle null case
Rx observer : underlying sources marked as @Nullable
ItemFragment.load : .loadInBackground
MediaplayerActivity.checkFavorite : DBReader.getFeedItem
ItemDescriptionFragment.onViewCreated : DBReader.getFeedItem
ItemlistFragment.loadItems : .loadData
|
|
to be on the safe side, for cases that the consuming observers checks null
unnecessarily.
Rx observer : underlying sources marked as NonNull
OnlineFeedViewActivity.startFeedDownload : Downloader.getResult
AllEpisodesFragment.loadItems : AllEpisodesFragment.loadData
PlaybackHistoryFragment.loadItems : DBReader.getPlaybackHistory
QueueFragment.loadItems : DBReader.getQueue
SearchFragment.search : .performSearch
|
|
to be on the safe side, for cases that the consuming observers
already assumes the result is not null.
Rx observer : underlying sources marked as NonNull
OnlineFeedViewActivity.listener member : DBReader.getFeedList
StatisticsActivity.loadStatistics : DBReader.getStatistics
CustomMRControllerDialog.updateViews : CustomMRControllerDialog.fetchArt
CompletedDownloadsFragment.loadItems : DBReader.getDownloadedItems
DownloadLogFragment.loadItems : DBReader.getDownloadedItems
ItemDescriptionFragment.onViewCreated : .loadData, Timeline.processShownotes
SubscriptionFragment.loadSubscriptions : DBReader.getNavDrawerData
SubscriptionFragment.onContextItemSelected (x2) : DBWriter.markFeedSeen, DBWriter.markFeedRead
PreferenceController.export : ExportWorker.output member
|
|
Bulk remove from queue
|
|
Fix phantom service notification
|
|
DBWriter.removeQueueItem(Context, FeedItem, boolean) to be consistent with the rest of the API.
|
|
|
|
|
|
|
|
remove
|
|
|
|
Probably got broken during my Glide update.
When using append or prepend, Glide uses the next one in the chain if ApOkHttpUrlLoader blocks
|
|
|
|
Follow-up to commit 8172d87477dd593745d4776417ef3dd7884d17fb (#3067)
that adds test coverage for the resolved issue.
Also, fix that commit by making the update condition more explicit:
the FeedItem state is only changed when a state switch is necessary.
In other words, an item marked as *new* that gets downloaded should
lose the *new* mark and gain the *unplayed* mark instead.
|
|
Fix #3040 Video playback control button shadow
|
|
Do not reset item "played" flag on media download
|
|
|
|
orionlee/bugfix_statistics_played_duration_inflated_2162
bugfix - statistics - inflated actual played duration
|
|
If an item has already been played, downloading its media will not
reset that "played" flag.
Fixes: #3067
|
|
|
|
|
|
|
|
stop the playback when unsupported media buttons are pressed.)
|
|
|
|
|
|
|
|
|
|
|