Commit Graph

1725 Commits

Author SHA1 Message Date
Unknown d2b3d5f220 remove german translation 2019-06-07 09:47:55 +02:00
H. Lehmann 2949fe61b6
Merge pull request #3218 from ByteHamster/mobile-download
Clarified mobile updates setting
2019-06-06 00:18:51 +02:00
ByteHamster 6712711ab2 Clarified setting 2019-06-05 23:50:52 +02:00
H. Lehmann 80ecfacb81
Merge pull request #3215 from ByteHamster/crashes
Fixed ArrayIndexOutOfBoundsException
2019-06-03 12:40:45 +02:00
ByteHamster ba96311e87 Fixed ArrayIndexOutOfBoundsException 2019-06-03 12:32:38 +02:00
ByteHamster 6a83d2a434 Handle disabled auto update 2019-06-03 12:19:34 +02:00
H. Lehmann 405db1f169
Merge pull request #3164 from ByteHamster/work-manager
Work manager
2019-06-03 11:59:23 +02:00
ByteHamster 5630bf756d Revert "Start WorkManager on upgrade"
This reverts commit d372aa9577.
2019-06-03 11:44:18 +02:00
ByteHamster d372aa9577 Start WorkManager on upgrade 2019-06-03 11:31:53 +02:00
Unknown 605e02fa70 add pref_episode_cache_summary 2019-06-01 18:16:47 +02:00
ByteHamster f05132a716 Allow to disable auto updates 2019-05-28 18:11:12 +02:00
ByteHamster 4443d629fc Merge branch 'develop' into work-manager 2019-05-28 17:56:05 +02:00
H. Lehmann 18d297a0e5
Merge pull request #3210 from ByteHamster/eventbus-annotation
Use annotation processor for EventBus
2019-05-28 17:52:39 +02:00
H. Lehmann cb3b3ac578
Merge pull request #3174 from skitt/spread-smart-shuffle
Smart shuffle: spread episodes evenly
2019-05-28 17:44:12 +02:00
ByteHamster ce8adc4b26 Use annotation processor for EventBus 2019-05-28 17:26:09 +02:00
alimemonzx 83a6d70387 bugfix #3009 - Podcast's feed search results listed in an odd order (#3128) 2019-05-28 16:44:18 +02:00
H. Lehmann 8380c18543
Merge pull request #2709 from brad/fix-2359
Display cover art for media in the widget
2019-05-28 16:29:43 +02:00
ByteHamster 88854ea6ba Make sure to clear old icon if loading fails 2019-05-28 16:23:46 +02:00
H. Lehmann d81cb2ff39
Merge pull request #3043 from CedricCabessa/remaining_time_playback_speed
Fixes #2197: Remaining time playback speed
2019-05-28 15:52:54 +02:00
Cédric Cabessa 60771673dc rename category title to match with "playback speeds"
also rename the key to be consistent with the content
2019-05-28 12:03:28 +02:00
H. Lehmann f563fe48b5
Merge pull request #3207 from ByteHamster/sort-description
Sort options: 'old to new' instead of 'ascending'
2019-05-27 22:54:21 +02:00
ByteHamster 81a3d756eb Sort options: 'old to new' instead of 'ascending' 2019-05-27 21:09:55 +02:00
H. Lehmann 46103883ce
Merge pull request #3191 from jas14/stricter-db-import
Check SQLite3 magic bytes before import
2019-05-27 12:44:44 +02:00
Joe Stein effa17c41d Fix scheduling tasks on shutdown executor 2019-05-21 18:36:04 -04:00
Joe Stein 09e138b51f Check SQLite3 magic bytes before import 2019-05-20 17:41:20 -04:00
H. Lehmann c98a7c0c38
Merge pull request #3136 from andersonvom/develop
Add progress bar with space information to data folder selection dialog
2019-05-19 19:38:37 +02:00
Anderson Mesquita e4a17562cb Improve space wording on choose data folder dialog
This makes it clear that the number refers to the **free** space left on
the device, as opposed to the total space available.
2019-05-19 13:25:27 -04:00
Anderson Mesquita 9396d41dcc Add space usage bar to data folder dialog
This displays a progress bar with the amount of used/free space in each
storage location to make it easier to identify storage devices. This is
particularly useful for devices that use non-standard names.

Reference: #3049
2019-05-19 13:25:27 -04:00
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
Stephen Kitt 0a1a54d28d
Smart shuffle: spread episodes evenly
This reworks the sort algorithm used in smart shuffle so that episodes
are spread out evenly, which avoids episodes bunching up at the bottom
of the queue when one feed has more episodes than others, and avoids
running through feeds with few episodes very quickly.

Signed-off-by: Stephen Kitt <steve@sk2.org>
2019-05-09 18:38:34 +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
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
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
orionlee d186309066 bulk edit - UI - new select all / none icons, based on
standard Material icons.
2019-04-04 13:50:55 -07:00
orionlee dfe2241b4c bulk remove episodes from queue - UI - icon for dark themes. 2019-04-04 13:12:09 -07:00
H. Lehmann 643173de14
Merge pull request #2954 from orionlee/bugfix_phantom_notification_rework_2716
Fix phantom service notification
2019-04-04 11:59:30 +02:00
orionlee b683d33bcb bulk edit - refactor - reorder method parameter for DBWriter.removeQueueItem(Context, FeedItem, boolean) to be consistent with the rest of the API. 2019-04-03 14:21:35 -07:00
orionlee 4322e8646f bulk edit - UI tweak - rename "Remove Episode" to "Delete Episode", to be consistent with other UIs 2019-04-03 13:27:31 -07:00
ByteHamster 46510c808a Respect 'keep updated' for new items counter 2019-04-03 18:11:55 +02:00
H. Lehmann 7a98e3c231
Merge pull request #3082 from ByteHamster/mobile-updates
Mobile updates: Allow images
2019-04-03 17:43:53 +02:00