Commit Graph

1628 Commits

Author SHA1 Message Date
ByteHamster 73744e3d4c Merge branch 'develop' into eventbus-v3 2019-05-19 18:59:03 +02:00
Martin Fietz 135df61692
Merge pull request #3159 from andersonvom/3024-itunes-duration-format
Handle iTunes single-number duration format
2019-05-19 13:40:20 +02:00
H. Lehmann 6e29c37360
Merge pull request #3108 from ByteHamster/attr-redeclaration
Fixed attr redeclaration
2019-05-19 12:07:03 +02:00
Martin Fietz 8f93e3b2e2
Merge pull request #3172 from andersonvom/3169-cover-fragment-small-screen
Fix cover fragment in small screens
2019-05-19 12:01:45 +02:00
Joe Stein 49ef28877d Enable autodownload over Ethernet 2019-05-18 12:11:39 +02:00
ByteHamster b47f6e8f3c Moved notification setup to new class 2019-05-17 15:16:22 +02:00
ByteHamster 785dff0698 Added logging in cases where service did not know how to handle intent 2019-05-17 14:42:21 +02:00
ByteHamster 1f8f2be9ab Do not try to display notification two times
The Thread is interrupted which leads to an empty notification
2019-05-17 14:35:19 +02:00
orionlee 7c4b98be59 Cherry-Pick: Add a generic java8-like Optional class
For use with RxJava2 where null was to be returned (RxJava2 requires non-null).
Cherry-picked from PR #2954
2019-05-17 09:53:51 +02:00
ByteHamster 3fca616e30 Revert "Merge pull request #2954 from orionlee/bugfix_phantom_notification_rework_2716"
This reverts commit 643173de14, reversing
changes made to f2d103736d.
2019-05-17 09:45:22 +02:00
ByteHamster bf6f6376db Do not deadlock
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.
2019-05-08 19:18:44 +02:00
Anderson Mesquita e9e61776ed Fix cover fragment in small screens
The cover fragment would hide both podcast and episode names in small
screen devices or multi-window mode.

This replaces the deprecated PercentRelativeLayout in favor of a regular
LinearLayout with weights to make sure that each section of the fragment
(podcast title, image, episode name) will have the necessary space in
the screen.

Since PercentRelativeLayout was only being used here, it also removes
the dependencies from the gradle files.

Closes: #3169
2019-05-08 09:48:00 -04:00
ByteHamster e464569712 Fixed NPE 2019-05-08 15:37:53 +02:00
ByteHamster c6e81391b2 Updated translations 2019-05-07 15:56:29 +02:00
ByteHamster 5a99580985 Do not deadlock on seek when using Sonic
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.
2019-05-07 15:32:48 +02:00
ByteHamster c16bbdfc96 Do not block when using Sonic+Sleep timer 2019-05-07 14:58:34 +02:00
Anderson Mesquita fb3bfa9f80 Handle iTunes single-number duration format
Apple says this [1] about the `<itunes:duration>` tag:

    If you specify a single number as a value (without colons), Apple
    Podcasts displays the value as seconds.

This commit makes it also handle this single-number format.

Closes: #3024

[1]: https://help.apple.com/itc/podcasts_connect/#/itcb54353390
2019-05-05 00:04:06 -04:00
Anderson Mesquita 9b41139709 Extract DurationParser
This makes it easier to test the logic of parsing duration strings.

References: #3024
2019-05-05 00:04:06 -04:00
Anderson Mesquita a4c852dac0 Extract methods in NSITunes
References: #3024
2019-05-04 13:59:05 -04:00
ByteHamster 01616dd502 Added names for threads
So it is easier to identify problems in bug reports
2019-05-03 12:17:05 +02:00
ByteHamster d67aa6386e Updated string
Closes #3145
2019-05-01 11:02:29 +02:00
ByteHamster 5d124c476a Fixed sleep timer ANR (Closes #3139) 2019-04-27 10:50:13 +02:00
ByteHamster 0925078770 Translation updates 2019-04-24 23:19:52 +02:00
H. Lehmann 017a6ab3bc
Merge pull request #2957 from orionlee/bugfix_app_anr_in_auto_feed_update_2956
Prevent app crash during some automatic feed update
2019-04-19 12:02:25 +02:00
ByteHamster 2fca491f53 Made sure that there is not an ANR when switching media player 2019-04-17 20:52:13 +02:00
ByteHamster 1fe33fb351 Fixed NetworkOnMainThreadException 2019-04-16 22:50:59 +02:00
ByteHamster 0339ce7bca Do not set player status before player object is created 2019-04-14 13:56:04 +02:00
ByteHamster 28f424e3c1 No locks are needed if everything is executed on main thread 2019-04-14 13:42:32 +02:00
ByteHamster 09f4ebf08a Let PlaybackController handle listening for service start 2019-04-12 11:39:38 +02:00
ByteHamster 7d20baf4f9 Upgraded EventBus to v3
Also made sure that register/unregister are called in onStart/onStop
instead of onResume/onPause (prevents possible MultiWindow problems
where updates are not received because activity is not fucused).
2019-04-12 11:32:31 +02:00
H. Lehmann 3f1e6b5d50
Merge pull request #3106 from ByteHamster/subscriptions-columns
Set number of subscription columns
2019-04-12 10:56:26 +02:00
ByteHamster 11b085c68b Fixed attr redeclaration 2019-04-12 10:41:49 +02:00
H. Lehmann b4f04f6d6d
Merge pull request #3105 from ByteHamster/style-repetition
Reduced repetition in styles.xml
2019-04-12 10:36:06 +02:00
ByteHamster cfd0af55c4 Removed nb translation 2019-04-11 21:54:57 +02:00
ByteHamster 777d92d4be Set number of subscription columns 2019-04-11 21:24:51 +02:00
ByteHamster 6595f49f22 Reduced repetition in styles.xml 2019-04-11 21:02:45 +02:00
H. Lehmann 97d08f3b00
Merge pull request #3097 from ByteHamster/exoplayer-main-thread
Executing all ExoPlayer methods on main thread
2019-04-11 20:50:56 +02:00
ByteHamster 5745da75a6 Clarified that it is using caller thread. not main thread 2019-04-11 20:11:40 +02:00
ByteHamster 0e3cabb86d Do not hold state in fragments 2019-04-10 01:05:36 +02:00
ByteHamster 156a20734a Fix Sonic playback 2019-04-07 12:54:12 +02:00
ByteHamster 2c9cb25eda Merge branch 'develop' into exoplayer-main-thread 2019-04-07 11:52:24 +02:00
ByteHamster ebe32e795a Executing all ExoPlayer methods on main thread 2019-04-07 00:19:02 +02:00
orionlee 20f1445c06 fix rebase conflicts - remove the incorrect @NonNull from rxjava 2019-04-06 14:19:16 -07:00
orionlee 1655d234af #2966 RxJava2 null - case the underlying method may return null, but
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
2019-04-06 13:43:11 -07:00
orionlee 0472bb9237 #2966 RxJava2 null - explicit mark underlying Rx sources as NonNull
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
2019-04-06 13:43:11 -07:00
orionlee 670fc124eb #2966 RxJava2 null - explicit mark underlying Rx sources as NonNull
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
2019-04-06 13:43:11 -07:00
H. Lehmann 5f86af88b1
Merge pull request #3083 from orionlee/bulk_remove_from_queue_1145
Bulk remove from queue
2019-04-06 21:45:55 +02:00
orionlee cb14fd930f refactor - rename string resource name `remove_episode_lable` , which was ambiguous with typos, to `delete_episode_label`
- non-default string resources to be handled by Transifex
2019-04-06 11:27:20 -07:00
orionlee cc43af110a tweak - bulk edit UI - show a message after an action is applied. 2019-04-06 11:15:14 -07:00
orionlee b3fbf0b4aa refactor - UI - remove the old (and now used) select all / none /intermediate icons 2019-04-04 14:05:51 -07:00