1684 Commits

Author SHA1 Message Date
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
ByteHamster
cd5224d01b Charging constraint is related to auto download only 2019-05-06 23:08:45 +02:00
ByteHamster
dbda4a9aa8 Using WorkManager for feed updates 2019-05-06 23:04:19 +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
Cédric Cabessa
cf638a4978 use time converter and pref in MediaPlayer and Widget 2019-04-28 21:03:18 +02:00
Cédric Cabessa
6187945e8f add a time conversion class
convert time depending on current playback speed and preferences
2019-04-28 21:03:18 +02:00
Cédric Cabessa
743ec1927c add preference for "Time respects playback speed" 2019-04-28 21:03:18 +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
Brad Pitcher
a349865af3
use multi-line TextView for "No media playing" 2019-04-18 22:08:49 -07:00
Brad Pitcher
73c39fc3d0
no need to spell out android.view.View 2019-04-18 21:48:33 -07:00
Brad Pitcher
ee6e5ed5d0
space before ( for better style 2019-04-18 21:45:59 -07:00
Brad Pitcher
bf54e0e7c7
avoid "app not responding" errors loading widget image 2019-04-18 21:45:11 -07:00
Brad Pitcher
a60b6efc51
use ic_launcher_foreground for widget when nothing is playing 2019-04-18 21:43:35 -07: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
Brad Pitcher
25915453ba
hide widget text when displaying < 3 columns 2019-04-12 17:56:53 -07: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
Brad Pitcher
64ddf6ec96
use app_icon_size for layout width on widget components 2019-04-11 22:26:01 -07:00
Brad Pitcher
210afaeb3c
fix widget image glider 2019-04-11 22:25:24 -07: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
Brad Pitcher
f2af5192e6
Merge branch 'develop' into fix-2359 2019-04-10 08:21:55 -07: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