Commit Graph

710 Commits

Author SHA1 Message Date
Valdnet 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
ssaqua b41f470b24 Fix href tag closing (#660) 2019-07-10 19:04:42 +01:00
wbarnard 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
wbarnard 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 https://developer.android.com/about/versions/pie/android-9.0-migration#tya
2019-07-01 20:39:17 +02:00
Iñigo Zendegi 3497a5f464 Update strings.xml (#655) 2019-06-30 12:38:49 +01:00
wbarnard 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
pavreh fd7055282b Update Czech translation (#637) 2019-05-10 12:00:32 +01:00
ssaqua 53e1a62afe Refactor marquee setup for multi-line TextViews 2019-04-20 22:17:11 +02:00
ssaqua 2706210cef Set ellipsize and horizontally scrolling state based on selected state 2019-04-20 22:17:11 +02:00
ssaqua ce210e9683 Implement scrolling title on now playing and general media info screens 2019-04-20 22:17:11 +02:00
Martijn Brekhof 4dda3ac6e8 Improved performance in SquareGridLayout (#631) 2019-04-07 13:28:32 +01:00
Martijn Brekhof cdbdd98d6a Implemented showing playlists even when not playing (#618)
Implemented showing a music/video/picture playlist in PlaylistFragment even
when playback has stopped but the playlist is still available on Kodi.
The playlist is now only cleared if the Playlist.OnClear event is received
from Kodi.

As the pictures playlist does not support moving/removing items this has
been disabled for the pictures playlist only.

Added a new package org.xbmc.kore.host.actions to hold all Callable's that
we use to handle complex interactions with Kodi that use multiple JSON RPC
calls.

Fixed issue in HostConnectionObserver in method notifySomethingIsPlaying
where hostState.lastGetItemResult.label might not be set.

Reduced calling (force)refreshPlaylist considerably as it should now be
handled by the playlist observer.
2019-03-30 11:08:58 +00:00
Synced Synapse 46d4b5ffe1 Use standard media style notifications
Use the standard media style notifications instead of the custom one
2019-03-21 19:54:01 +01:00
Valdnet 5c61743b59 Update Polish translations (#626)
Corrected and added new translation.
2019-03-04 09:46:36 +00:00
Kévin Minions 04d1e1f09a Update French translation (#625) 2019-03-04 09:45:09 +00:00
Synced Synapse fb03153365 Tweak movie list items 2019-03-01 21:04:20 +01:00
Yaron Shahrabani 5f6d4051f0 Updated Hebrew translation (#623) 2019-03-01 10:11:32 +00:00
Synced Synapse 8748ab8218 Fix NPE introduced in last commit 2019-02-27 19:56:22 +01:00
Martijn Brekhof 00fe2d49a5 Added movie ratings to movie listview items (#613)
Redesigning rate text to a five star rating bar.
2019-02-26 20:08:46 +00:00
ssaqua d6b6e81b94 Fix adaptive icon foreground dimensions (#619) 2019-02-18 16:55:12 +00:00
Synced Synapse 851b8b9059 Bump version for release 2019-02-11 11:20:06 +00:00
Synced Synapse b824930d8e Tweak periodic checking Kodi version 2019-02-08 22:30:48 +01:00
Synced Synapse c043c04264 Add support for OnAVStart event and tweak HostConnectionOberver 2019-02-08 22:30:48 +01:00
Martijn Brekhof e60df7e8ac Fixed issue with registering observers multiple times (#605)
Registering observers would cause the runnables to be
posted multiple times to the checkerHandler. This resulted
in callbacks being called more than once when a result was
received.
2019-02-07 16:39:56 +00:00
Synced Synapse 0c68ad1610
Bump version for release (#614) 2019-01-14 11:40:19 +00:00
Martijn Brekhof 410169e802 Implemented scrolling title on remote control screen (#612)
When the title is longer than fits on screen, it wil first be ellipsized
and when user clicks on the title it will start scrolling to make it
fully readable.
2019-01-14 10:59:07 +00:00
Synced Synapse f7a63ae9a7 Add fastscroll to lists with RecyclerView 2019-01-12 14:26:36 +01:00
ferro9 6446ed7ad6 Catalan translation (#607) 2019-01-10 18:57:44 +00:00
Synced Synapse 6fdc82e60c Bump version for release 2018-12-27 18:25:33 +00:00
Synced Synapse 2da6643bb4 Update PT-pt translations 2018-12-27 18:25:33 +00:00
Erik Rudisch 2693d62702 Add addons search 2018-12-27 16:21:07 +00:00
tobhor c6e8957b27 Update german translation (#600)
* Update german translation
2018-12-11 20:01:27 +00:00
Aleš Gombač 94de77a908 Added Slovenian translation (#594) 2018-11-08 10:27:04 +00:00
Iñigo Zendegi 92378d6e09 Update Basque translation
Add new string translation
2018-11-02 09:45:03 +00:00
Synced Synapse b281462f9d Fix PVR bottom bar shortcut behaviour 2018-10-27 20:53:15 +02:00
Tomer Froumin e2bb7d7c55 Support local play when Kodi requires authentication 2018-09-27 03:12:45 +02:00
Throws Throwable 639162cc06 Changed "TV-programma's" to "series" 2018-09-26 17:23:19 +02:00
Throws Throwable afdb33909e Changed "speelfilm" back to "film" 2018-09-26 17:23:19 +02:00
Throws Throwable c48d6fdaa3 Updated Dutch translations and modified some to be consistent with Kodi translations 2018-09-26 17:23:19 +02:00
KowalskiOmniROM 3306a3d957 Update French translations (#577) 2018-09-20 09:44:31 +01:00
Tomer Froumin f774f42700 Addon list improvements (#575)
* Added disabled indicator on addon list

* Added menu options to hide disabled addons

* Code review changes
2018-09-14 16:59:17 +01:00
Dan Pasanen 456ac6a107 Use a ChooserTargetService to direct a shared url to a specific host (#572)
* This gives the user a choice of their hosts to share a url to.
* Sadly the youtube app doesn't appear to support this. It wants to
  use some sort of crappy "Message on Youtube" thing rather than using
  standard android stuff (go figure). It does, however, work from a
  chrome browser of the youtube video, or likely any other supported
  share.
2018-09-14 16:47:51 +01:00
Martijn Brekhof 3c7c4afea7 Fixed clearing focus on search view 2018-09-09 14:09:59 +01:00
Martijn Brekhof 9999f37869 Fixed searchClickBackTest for MoviesActivity tests 2018-09-09 14:09:59 +01:00
Martijn Brekhof d634d9455e Refactored instrumentation tests to support RecyclerViews
* Fixed Espresso not waiting on ViewPager switching
* Removed BaseMediaActivityTests abstract class.
  Unfortunately the click action on list items now requires
  a unique item to be able to select the item to click.
  Therefore the tests from BaseMediaActivityTests have been
  moved to the specific test classes. This made the
  BaseMediaActivityTests class obsolete.
* Removed dependency on Context class in AddonsHandler and inlined
  the json data to allow the AddonsHandler to be initialized before
  the test activity is started. This was needed to have the
  AddonsActivityTests directly start the AddonsActivity, instead of
  first starting MoviesActivity and from there start the AddonsActivity.
2018-09-09 14:09:59 +01:00
Iñigo Zendegi 90527708d2 Translation of new strings to Basque (#565) 2018-09-02 12:48:42 +01:00
Martijn Brekhof 3f5ccefe2e Refactored ListView into RecycleView
Implemented custom RecyclerView to support using an empty view and a
    auto fitted grid layout.

    Reenabled shared element transitions for Oreo
2018-09-01 16:44:10 +02:00
Synced Synapse f985f4132d Fix back button not exiting the app when on the remote activity
Hitting the back button in the remote activity was being ignored, thus preventing exiting the app. This issue was inadvertidely introduced in d11dbe6853
2018-07-20 14:36:10 +02:00
Synced Synapse 7346643fb9 Bump version for release 2018-07-07 14:10:36 +01:00
Synced Synapse 94693cb5a5 Fix NPE on volume change by not unbinding the controls in the Volume Level Indicator too soon 2018-07-04 20:54:12 +02:00
Martijn Brekhof 36675bba47 Fix NPE when listener is attached while view is destroyed (#560) 2018-07-03 19:48:51 +01:00
Martijn Brekhof d11dbe6853 Fixes a possible race condition and starting multiple instances (#559)
The onDestroyView method is used to unregister the application observer
from the dialog. However the parent got called first which destroys the
view of the dialog. This could lead to Null Pointer Exceptions when
the listener tries to update the UI of the dialog right after it was
destroyed.

The VolumeControllerDialogFragmentListener was created twice as creation
was triggered on both the down and up event of the volume keys. This has
been changed to only trigger on down events.
2018-06-22 11:05:38 +01:00
Synced Synapse 796576eaa4
Fix volume controller UI (#558) 2018-06-16 13:10:18 +01:00
Synced Synapse 4d53a377e0
Bump version for release (#556) 2018-06-09 19:06:05 +01:00
Martijn Brekhof e0f99c93c4 Fixed NPE in the VolumeControllerDialog (#553)
The applicationObserver was never unregistered resulting in a memory leak
and even worse, crashes when destroyed dialogs still got called through
the applicationOnVolumeChanged callback.

Also changed the view resource identifiers used by the controller dialog
as it used the same resource identifiers as the now playing panel.
2018-06-09 18:47:09 +01:00
Martijn Brekhof 16b4044edf Fixed reported NPE when calling notifySomethingIsPlaying (#552) 2018-06-09 18:46:05 +01:00
Synced Synapse 179e0fb46a
Bump version for release (#546) 2018-05-26 12:55:06 +01:00
Yaron Shahrabani 7d5113ea26 Updated Hebrew translation (#544)
Used Transifex.
2018-05-22 17:12:46 +01:00
KowalskiOmniROM 71f7254daa Update French translation 2018-05-21 10:10:55 +01:00
Synced Synapse 5cd60d531e Reinstante the ability to bookmark addons
Somewhere along the line, the edits made in b0f2adb876 where lost because the `AddonsActivity` was instantiating `AddonListFragment` instead of `AddonListContainerFragment`.
This PR reinstates the ability to bookmark and access addons, and refactors the way those settings were being stored in the Shared Preferences to use the default Shared Preferences and take into account the specific host we're connected to.
2018-05-10 21:24:24 +02:00
Synced Synapse 78162a78b5 Update pt-PT translations 2018-05-10 21:22:36 +02:00
Synced Synapse 4a2d94c361 Remove unused strings 2018-05-10 21:22:36 +02:00
Synced Synapse 169bb3f781 Use TabLayout instead of PagerTabStrip
TabLayout is more in line with current Android design guidelines
2018-05-10 21:09:15 +02:00
Synced Synapse de683826ad Add support for handling Player.OnResume event through TCP
As detailed in https://github.com/xbmc/xbmc/pull/13726#issuecomment-378188082, Kodi will stop using the event Player.OnPlay when resuming a video, sending a Player.OnResume event instead. This PR handles that change.
2018-05-04 21:10:06 +02:00
Synced Synapse d3dcb4eb82 Fix handling of drawables on pre Lollipop versions
Reverts the change introduced in f631efeca9 , which changed the way drawables were handled, which introduced issues on pre Lollipop.
2018-05-04 20:14:58 +02:00
Martijn Brekhof f631efeca9 Fixed issue with running many instrumentation tests (#536)
During tests, activities were not closed properly causing increasing
memory usage, which resulted in failing tests because of
out of memory errors.
This has been fixed by using the test orchestrator which runs
each test in its own instrumentation instance.

Removed the instrumentationTest flavor and replaced it by using the
default debug build type. The flavor was used to keep the required
permissions during testing separate from release versions. This can
also be accomplished using the debug build type.

The PagerSlidingTabStrip from astuetz doesn't work with the new
android build tools. As the project seems dead, I replaced it with
PagerTabStrip from the support library.
2018-05-03 11:04:04 +01:00
Synced Synapse 75f8326fe4 Simplify sharing intent handling
Redesign ApiFuture to be more generic and independent of other classes
2018-04-24 13:36:35 +02:00
Martijn Brekhof 1d6f9c225e Updated espresso and test support library (#533) 2018-04-18 08:58:26 +01:00
Synced Synapse bff69e1714 Clean up launcher icon color definition 2018-04-15 16:09:42 +01:00
Synced Synapse c96b59c9e7 Change skip forward/backward notification icons 2018-04-15 16:09:42 +01:00
Adrian 7c18df20cf Add setting to use skip steps instead of seeking (#152)
closes #147
2018-04-15 15:39:06 +01:00
Martijn Brekhof 93d4d37f1c Fixed issue with control pad button tests (#529)
* Fixed tests to determine which Kodi version Kore is connected too.
     This caused the long press tests to fail as Kore didn't see v17 as
     the version that should use the new JSON RPC call.
   * Refactored setting the Kodi version during testing to also set the
     correct version in the database, instead of only setting it in the HostInfo
     instance.
2018-04-06 19:13:44 +01:00
Martijn Brekhof ff67880999 Fixed issue testing TVShowActivity (#528)
As we now use a nested scroll view the tests for TV shows all
failed because the scroll action was performed on a normal scroll
view only. This has simply been fixed by implementing a custom action
that also accepts a nested scroll view.
2018-04-06 19:13:14 +01:00
Martijn Brekhof 2ed968456a Upgraded butterknife to 8.8.1 (#524)
Refactored MusicListFragment and PVRListFragment to use AbstractTabsFragment
Fixed scrolling in a nested scroll view using espresso
Fixed issue with setting and checking Kodi major version
2018-04-05 18:22:20 +01:00
Yaron Shahrabani 2f2791a795 Updated Hebrew translation (#521) 2018-03-29 19:09:35 +01:00
Synced Synapse 38e8a7a376 Improve ongoing notification presentation for PVR channels and unknown sources 2018-03-12 09:39:44 +01:00
Synced Synapse 94ed40a823 Fix PVR section back navigation 2018-03-12 09:36:44 +01:00
Synced Synapse 2206b90592 Fix memory leaks in lists that use CursorAdapter 2018-02-26 20:48:20 +01:00
Synced Synapse cda70ce109 Prevent the refresh animation from appearing in a sylent sync
When a silent sync is running the refresh animation shouldn't appear and this wasn't being repected in some situations. For instance, when not connected to Kodi, starting from a TV Show details, selecting one episode or season and hitting back, the animation would appear. This PR makes sure that it is only shown if it isn't silent.
2018-02-26 20:35:33 +01:00
Synced Synapse 246693a7cc Change the source of AlbumGenres table to support Kodi v18
As detailed in https://github.com/xbmc/xbmc/pull/13051, Kodi v18 changes the way album genres are handled, as the genre (by which i mean `genreId`) ceases to be available at the album level, being only available at the songs level.
This impacts Kore because `GetAlbums` and `GetAlbumDetails` won't return the `genreId` tag, from which the local AlbumGenres table was populated.

This PR changes the source of the local AlbumGenres table to be the `genreId` returned at the song level (by `GetSongs`), to make it somewhat more consistent with the way Kodi will handle things from now on.
2018-02-22 20:57:37 +01:00
Synced Synapse 1b329e2dd6 Tweak FAB speed dial design 2018-02-22 16:39:02 +01:00
KowalskiOmniROM 13b8d2732b Update strings.xml 2018-02-22 09:15:04 +00:00
Martijn Brekhof e2c39e35ba Redesigned playing movies on device running Kore
* Implemented a new widget "fabspeeddial"
   * Provides user with two options to play the media item. One
     option to play the item on Kodi, one to play it on the remote.
   * Replaced deprecated FAB button from
     com.melnykov:floatingactionbutton:1.3.0 with the FAB button from
     the design library
   * Implemented a busy indicator (pulsate) when fab button is clicked
     and JSON  API method is still pending
   * Added a setting to allow the user to disable local playback and
     revert back to the old behaviour
* Refactored AbstractFragmentInfo
   * Replaced RelativeLayout by CoordinatorLayout to support
     hiding/showing the FAB button when scrolling
   * Replaced the tree view observer to fade out art view when scrolling
     with a behavior for the CoordinaterLayout
* Removed empty theme file for v19
* Refactored HostConnection to allow new activities to attach its
  callbacks to any pending ApiMethod. This is required to support device
  configuration changes.
2018-02-09 11:23:52 +00:00
Yiyang Tsui 0cd91c3905 Enable playing movies on device which app is running
playing movie on local device using in-device video app such as
    kodi or mxplayer ...
2018-02-09 11:23:52 +00:00
Synced Synapse db81d44e62 Simplify hardware volume key handling
There's no need to have so many classes to handle the hardware volume keys. This PR simplifies it, without duplicating any more code than was already duplicated.
2018-02-06 11:45:12 +01:00
Iñigo Zendegi d0bd784629 Translating new strings to Basque (#506) 2018-01-26 14:07:29 +00:00
Martijn Brekhof e0d1e53d14 Refactored applying tint color on control pad (#505)
ControlPad now uses AppCompatImageView to support theme colors.
Instead of applying the colors programmatically they are now defined
in the layout file.
2018-01-26 14:06:12 +00:00
Mon Zafra 1e9160c733 Refactored share logic to show a notification when an item is added to the playlist (#473)
- added method to HostConnection that returns a Future object instead of
  taking a callback.
- added logic for handling null Handlers in HostConnection methods
- added method to HostManager to run a function that takes a HostConnection
  in a background thread where the Future API results above can be
  synchronously composed.
- replaced chain of callbacks in RemoteActivity with a sequence of
  future gets in OpenSharedUrl.
2018-01-26 14:03:30 +00:00
Martijn Brekhof 5f734bbd5c Fixed removing highlight on < v21 devices (#502)
* It seems tinting is applied on pre-Lollipop devices using
     a color filter. HighlightButton used clearColorFilter to remove
     the highlight color and revert back to the original color. This
     caused an issue on < v21 devices as the View would loose its tint.
2018-01-16 20:13:48 +00:00