Commit Graph

792 Commits

Author SHA1 Message Date
Martijn Brekhof
Issue/play from here (#713)
* Fixes race condition in MediaFileListFragment

The "Play from here" feature previously queued all songs at once using
a loop and did not wait until an add action was confirmed by Kodi
before queueing the next item. This sometimes resulted in a seemingly
random play order on Kodi.

* Fixed play from here adding first item twice

When selecting "Play from here" in the file browser the current
item is started using "playMediaFile" and the subsequent items
 are queued. However, the current item was added to the queue
list as well. Resulting in the first item always being added twice
to the playlist.
2020-02-20 19:53:00 +00:00
Martijn Brekhof
Added support for user certs (#714)
To support connecting to Kodi over SSL using self-signed certificates
we need to allow this explicitly for Android versions 6 and higher.
2020-02-20 19:49:10 +00:00
Martijn Brekhof
Fixed OutOfBounds exception (#708)
This fixes an array out of bounds exception when the playlist is cleared
and the PlaylistFragment.playlistsAvailable is called with an empty
2020-02-13 08:46:12 +00:00
Minho Park
Update Korean translation (#702) 2020-02-13 08:45:41 +00:00
Kévin Minions
Update French Translation 2020-02-13 08:44:45 +00:00
Updated Russian localization (#711)
Revisited translations, many minor improvements
Minor change (Телепередачи -> Сериалы)
2020-02-13 08:43:34 +00:00
1977600a54 Added ability to play media files locally (#125) 2020-02-04 20:34:13 +01:00
Artem Moskalchuk
dcdac90faa Update Ukrainian localization (minor fix, add new strings) (#700) 2019-12-28 18:07:21 +00:00
Synced Synapse
093ac09ef2 Bump version for release 2019-12-26 21:20:16 +01:00
Synced Synapse
7ce2d3131d Update pt-pt translations 2019-12-26 21:20:16 +01:00
dd53f621e5 Implemented search field for PVR views
* Implemented search field for PVR views. (#695)
* Implemented search field for PVRChannelEPGListFragment. (#695)
2019-12-22 15:52:36 +00:00
a3ed983fee Allow sorting of PVR Recordings and optionally hide watched items. (#694)
* Added menu options to PVR recordings view fragment: Sorting and hide_watched option.
Default to unsorted (showing the order delivered by Kodi). Default to not hide watched recordings. (#385)

* Implemented sorting and filtering of PVR recordings as per user's selection. (#385)
2019-12-17 19:34:42 +00:00
Francesco Bonazzi
37ef130a7c Share local files - part 2 (#693)
* Local media files (image, audio, video) can now be shared with Kore. Added token to HttpApp to improve security.

* Added 'Queue on Kodi' share option. 'Play on Kodi' skips the playlist while 'Queue on Kodi' puts the media link at the end of the playlist
2019-12-16 18:37:46 +00:00
Synced Synapse
5d0969c66e Fix preferences saving of nav drawer and bottom bar shortcuts
Preferences for the Nav Drawer and Bottom Bar shortcuts weren't being properly saved. This fixes that and also fixes the order or the Navigation Drawer items, after the addition of the Local Files option.
2019-12-08 20:12:08 +01:00
Francesco Bonazzi
b14524963f Stream local files with NanoHTTPD server (#681)
Added local file browser. NanoHTTPD is used to create a local HTTP server to allow to stream files stored on in Android device to Kodi. Added support for multiple local files streaming.
2019-12-03 18:17:19 +00:00
Martijn Brekhof
83527db928 Fixed issue setting preferred locale in Settings (#689)
SettingsActivity does not inherit from BaseActivity which caused
the preferred locale not to be set. This was not apparent when
switching to the Settings screen as the preferred locale would
already have been set by a previous activity which does inherit
from BaseActivity (e.g. RemoteActivity). Therefore we needed
to explicitly set the preferred locale as well in SettingsActivity.
2019-12-02 19:15:52 +00:00
Synced Synapse
b962fece80 Apply markup decoding to media file list and addon content list 2019-11-30 19:54:59 +01:00
Artem Moskalchuk
4897c3fd43 Update Ukrainian localization (#687) 2019-11-28 19:21:25 +00:00
Kévin Minions
e0de5e3bdc Update strings.xml (#684) 2019-11-27 18:26:38 +00:00
Martijn Brekhof
41b9f33cd2 Implemented changing language in-app (#680)
This allows users to use a different supported locale than the one that
matches the device's locale.
2019-11-15 18:11:21 +00:00
6899a53e2c corrected translation (#682)
geschalten -> corrected to geschaltet
2019-11-04 08:37:01 +00:00
Nick Grimshaw
f91d799823 Fix issue with showing multiple bookmarked addons (#678) 2019-10-14 17:58:40 +01:00
Jordane Quincy
1ea54b8d7f Add color support to UIUtils.applyMarkup (#667) 2019-10-07 15:14:48 +01:00
Anatoly Nikiforov
f7ed2f3bc3 Update russian strings (#676) 2019-09-30 12:36:15 +01:00
Martijn Brekhof
f024c13ca5 Implemented UI tests for PlaylistFragment (#658) 2019-09-30 12:35:17 +01:00
Synced Synapse
7dfd982643 Tweak connection threads
This PR fixes some issues with connections and threading. Specifically, the  change in #618 introduced threading in `HostConnection`, which had some issues. To fix them, the following changes were made:
- A specific TCP listener thread is used and manually started, instead of using one of the threads in the pool. The TCP listener thread is a long lived thread that should always be running (as long as the connection is through TCP), blocked listening on the TCP socket, so it shouldn't be managed in a pool, where, theoretically, it can be paused and reused. 
- Changed the number of threads to 5. We shouldn't need more than this, otherwise we can overwhelm some Kodi hardware.
- Had to sprinkle some `synchronized` to avoid race conditions. For instance, through a TCP connection, as soon as Kore is opened (on the remote screen) it will call at least `GetActivePlayers`, `GetProperties`, `Ping`. If the TCP socket isn't set up yet, each of these calls would create a socket (and a TCP listener thread), so we would open 3 or more sockets when we should just open 1. A `synchronized` in `executeThroughTcp` prevents this. The others prevent similar issues.

- Tweaked the playlist fetching code, so that it happens exclusively in `HostConnectionObserver` and when PlaylistFragment is notified of changes, it already gets the playlist data. This somewhat simplifies the code, and makes it more consistent with the Player Observer code;
- Change `EventServerConnection` to accept a Handler on which to post the result of the connection, so that the caller can control on which thread the result is called;
- Calls to the various `RegisterObserver` loose the reply immediately parameter, as it was always true.
2019-09-28 22:10:04 +02:00
Tibor Repček
4ac37f3f02 Added slovak language (slovenčina) (#672)
* Create strings.xml

* Update strings.xml
2019-09-07 12:29:49 +01:00
Jay Linski
8e0176e326 Support sharing SoundCloud tracks (#671) 2019-09-07 12:28:51 +01:00
384e2c0e83 Update strings.xml [PL] (#666)
Improving the translation.
2019-07-22 11:30:29 +01:00
Synced Synapse
e24dcca1ce Fix HTML in translations 2019-07-11 12:40:39 +02:00
Synced Synapse
795e45fc52 Fix field id in view 2019-07-11 12:39:55 +02:00
b41f470b24 Fix href tag closing (#660) 2019-07-10 19:04:42 +01:00
fd2d1359ac Add sort by year section thumb text (#659) 2019-07-10 18:57:14 +01:00
Martijn Brekhof
3b2447607b Implemented support for handling multiple playlists in tests (#657)
Added support for handling multiple playlists in the Mock TCP server.
Refactored SlideUpPanelTests to support the new playlist handler.

Some code cleanup and enhancements
- Removed throw exception declarations from methods that never throw the exception.
- Changed deleting the test database on the test device to delete all databases.
  The former method of only deleting the test database resulted in many old databases
  that were not removed when the test run crashed.
- Enhanced robustness of testing async code by explicitly waiting for a view
  to reach a certain state.
2019-07-03 18:54:51 +01:00
1020b8b7de Fix invisible media details in info fragment (#656) 2019-07-03 18:41:21 +01:00
Synced Synapse
a2e4362564 Fix addons content sort
Don't specify a sort method in the listing of addon contents, so that the addon can sort its contents as it sees fit.
2019-07-01 20:57:53 +02:00
Synced Synapse
e7a17e87ae Fix force close caused by migration to Android 9
Android 9 requires that apps that launch foreground services request that permission, as detailed in
2019-07-01 20:39:17 +02:00
Iñigo Zendegi
3497a5f464 Update strings.xml (#655) 2019-06-30 12:38:49 +01:00
4043883a8a Add sort by year option for albums (#649) 2019-06-30 12:38:16 +01:00
Synced Synapse
87a18cfe51 Don't sync TV Shows that have no episodes
After a library clean operation on Kodi, if a TV Show that was previously present is absent it is still returned in a call to `VideoLibrary.GetTVShows` with 0 episodes. Kore shouldn't consider these TV Shows, as they have no episodes.
2019-06-20 19:32:34 +02:00
Min-ho Park
1a2321d961 Add Korean translation (#646) 2019-06-12 18:20:31 +01:00
Martijn Brekhof
d1d8412654 Refactored unit tests (#643)
* Removed redundant configureHostInfo
  It was only used to set the Kodi backend version which is also
  set using setKodiMajorVersion.

* Removed unused annotations and throwables

* Improved robustness of SlideUpPanelTests
  Replaced explicit sleeps with the waitForView action.
  Fixed issue in waitForView action as it required the UI
  to be idle which is mostly not the case for the bottom
  panel with the progress indicator.

* Improved robustness of eventserver
  When eventserver handles a wrong payload this should not crash
  but simply show a log message and let the actual test fail.
2019-06-11 08:47:11 +01:00
Martijn Brekhof
e5ab122b1d Updated gradle and compile and target SDK version (#640)
Had to upgrade robolectric as well as old version didn't
seem to cooperate with new gradle version.
2019-06-03 10:50:31 +01:00
Synced Synapse
c68235fcfc Tweak Themes
Use more consistent color Schemes
2019-05-21 20:51:21 +02:00
Synced Synapse
c7fef43deb Fix ANR in service launch
Some ANRs are reported on Google Play. This is an atempt to remove them, by making sure that `startForeground` is always called when the service starts.
2019-05-14 22:06:34 +02:00
Synced Synapse
c81e553589 Fix Jenkins build to upload the correctly signed apk 2019-05-14 20:02:18 +02:00
fd7055282b Update Czech translation (#637) 2019-05-10 12:00:32 +01:00
53e1a62afe Refactor marquee setup for multi-line TextViews 2019-04-20 22:17:11 +02:00
2706210cef Set ellipsize and horizontally scrolling state based on selected state 2019-04-20 22:17:11 +02:00
ce210e9683 Implement scrolling title on now playing and general media info screens 2019-04-20 22:17:11 +02:00