Commit Graph

710 Commits

Author SHA1 Message Date
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
Synced Synapse a11fcc93ae Update copyright
Fix values-iw/arrays.xml
Create values-pt/arrays.xml
2018-01-04 20:42:51 +00:00
Synced Synapse 6713686604 Bump version for release 2018-01-03 19:56:40 +00:00
Synced Synapse d0fb6f28b7 Fix lint errors/warnings 2017-12-25 12:57:26 +00:00
Synced Synapse 3077653dd9 Fix notifications to work with Android Oreo
Whan the background service is launcher, it is launched on the foreground and a notification is always shown.
The service stays on while something is playing. It stops itself on a connection error, quitting Kodi or 5 seconds after stopping
Make the Pause Phone Calls preference dependent on the Show Notification preference, as we always need to show a notification when the service is running
2017-12-24 17:49:40 +00:00
Martijn Brekhof 250c1f0fd1 Disabled shared element transitions from API 27 (#494)
AdapterView is not supported by the transition framework. This
became an issue with the release of API 27. In Android 8.1 the
shared element view is removed from the exiting fragment. This
causes Android to call the removeView method from AdapterView
which is not implemented and causes the app to crash.

We can reenable shared element transitions for API 27 and up by
refactoring the GridView usage to RecycleView.
2017-12-22 18:21:45 +00:00
Martijn Brekhof b0e6d329f3 Fixed lint errors (#491)
Lint is complaining about the new launcher icons in 'res/mipmap-anydpi-v26'
are not in PNG format. These are now defined in XML and lint is probably
not aware of the new XML format for API v26 and higher.

This also fixes usage of "android:layout_marginEnd". Which is only
supported from API v17.

Added running lintFullRelease to travis-CI build.
2017-12-22 18:20:41 +00:00
KowalskiOmniROM 8daa342c94 Update strings.xml (#490) 2017-12-12 16:13:41 +00:00
Martijn Brekhof 2aa4f93aeb Refactored AbstractFragment to not depend on AbstractInfoFragment (#487)
Due to a previous refactoring, dataHolder was still of type
AbstractInfoFragment.DataHolder which should be just DataHolder
in AbstractFragment. Although AbstractInfoFragment inherits from
AbstractFragment the code works. However, on KitKat (4.4) some
devices reported a missing method which might be caused by this "weird"
inheriting. Hopefully this fixes that.
2017-12-05 09:58:55 +00:00
Synced Synapse 7e519ebd43 Fix NPE reported on Google Play, occurring in RemoteFragment.SetNowPlayingInfo, because the ListType.ItemsAll might be null after a call to Player.GetItem 2017-12-04 10:16:35 +00:00
Martijn Brekhof 4310d11892 Added default margin to control pad and bottom shortcuts (#485) 2017-11-29 19:54:49 +00:00
Martijn Brekhof ce664a08f8 Fixed tinting on pre-lollipop devices for custom widgets (#481) 2017-11-16 18:17:19 +00:00
Raafat Akkad fa6796475c Add Adaptive Icon For API 26+ (#450)
* Target Sdk Version 26
* Add Adaptive Icon For API 26+
* Update travis to compile against API 26
* Move SVG files to art/launcher/v26/ per CR
* Scale logo to 83%
* Update buildToolsVersion to 26.0.2
* Update travis build-tools to 26.0.2
2017-11-11 15:26:18 +00:00
Martijn Brekhof b764fc676c Implemented a scalable control pad (#477)
* Refactored RemoteFragment and created a compound view for the
     actual remote. I called it ControlPad to make it more clear what
     its main function is.
   * Implemented a custom grid layout (SquareGridLayout) that will
     always be square. When its width and height are both set to
     match_parent, it will take the smallest of the two as the
     actual size.
   * For devices with a smallest width smaller then 360dp the ControlPad
     is sized to the maximum available space. For larger devices we still
     use the old fixed sizes.

Refactored code to use styles
2017-10-27 19:24:23 +01:00
Martijn Brekhof bdefeafc3b Implemented integration tests for the control pad (#476)
* Added two abstract methods setSharedPreferences and
     configureHostInfo to allow test classes extending
     AbstractTestClass to set preferences or change the host info.
   * Implemented a mock event server to test event server commands
   * Implemented a handler to handle JSON input events over HTTP
2017-10-24 19:36:38 +01:00
Mon Zafra 8f6541e956 Handles the case where both v and list params are present in the url (#475) 2017-10-24 19:24:37 +01:00
Mon Zafra 206b5c9bc6 Apply markup to PVR text views; addresses #191 (#474) 2017-10-20 14:15:59 +01:00
Mon Zafra 45ecfc2e25 Implemented simple Kodi markup code applier for the Now Playing fragment (#471)
* Implemented simple Kodi markup code applier for the Now Playing fragment
* Moved to UIUtils; added early exit; now handles nesting of the same type
* Added handlers for LOWERCASE, CAPITALIZE, LIGHT and COLOR
- LOWERCASE and CAPITALIZE work, LIGHT and COLOR are just stripped out
- inlined the TextAppearanceSpan new's. Turns out they can't be reused.
* updated javadoc
* fixed crash when capitalizing an empty word
2017-10-19 09:05:45 +01:00
Mon Zafra 41a433c985 Added handler for shared playlists from the YouTube app (#472)
- also fixed missing "/play/" segment in Vimeo plugin url
2017-10-17 19:56:19 +01:00
Martijn Brekhof 9e65350b5a Bug/androidtests (#466)
* Fixed issue with selecting tabs

* Fixed issue with switching host on other thread than UI thread

* Fixed concurrent modification exception in JSONConnectionHandlerManager

* Fixed issue with drawer not closing

* Fixes issue with running method only supported on API 21 and higher
2017-10-10 11:06:10 +01:00
Tamás Varga 108fb88b9f Use hardware volume keys from anywhere inside Kore (#453)
* Allow the RemoteActivity and BaseMediaActivity to show a volume controller dialog when hardware volume keys are pressed
** The dialog handles the key events and makes callbacks to the activities to handle showing the dialog itself

* Minor improvements
** Make HighlightButton render in the IDE GUI Editor
** Minor code cleanup
** set currentActivePlayerId = -1; on playerOnStop in BaseMediaActivity to be more consistent

resolves xbmc/Kore#235
2017-10-08 19:48:00 +01:00
Tamás Varga 8fb24ee806 unit test IDE execution improvements (#463)
* update README about Run Configuration setting
* update task that needs to depend on assembleFullDebug
** this was needed to run individual local tests
2017-10-01 12:34:45 +01:00
Martijn Brekhof d447789dc6 Updated documentation on running local and instrumentation tests (#460) 2017-09-28 19:54:52 +01:00
Synced Synapse 01f90c145d Fix unnecessary creation of Handlers 2017-09-28 19:52:12 +01:00
Synced Synapse 324d1e6251 Bump version for release 2017-09-15 17:01:43 +01:00
Synced Synapse 7eb6c882dc Fix now playing panel height 2017-09-15 16:56:52 +01:00
Synced Synapse ed23f49dc0 Improve PT-pt/br translations. The string didn't fit the available space in most situations 2017-09-15 16:22:04 +01:00
Synced Synapse a9c8fd7e56 Revert "Implemented a scalable control pad (remote) (#428)"
This reverts commit 3106a5fd61.
2017-09-15 16:08:52 +01:00
Synced Synapse 306609e340 Revert "Removed dependency on GridLayout in SquareGridLayout" (#446)
* Revert "Removed dependency on GridLayout in SquareGridLayout (#445)"
This reverts commit 876db18023.
2017-09-15 16:01:13 +01:00
Synced Synapse 1a979b3d6e Bump version for release 2017-09-08 19:19:13 +01:00
Martijn Brekhof 876db18023 Removed dependency on GridLayout in SquareGridLayout (#445)
* Removed using the GridLayout from the support library
     as this might be causing problems on devices that don't
     include the library correctly.
   * Replaced using the GridLayout measurement and layout implementations
     by our own implementation of a simple grid layout that will evenly distribute
     its children among a square sized grid.
2017-09-08 15:16:45 +01:00
DamageIncorporated 352b9bf0c3 fixed string "confirm_songs_download" (issue 435) (#437)
Correction as in issue https://github.com/xbmc/Kore/issues/435 and aligned wording to similar strings in lines 272ff
2017-09-02 15:09:45 +01:00
Synced Synapse ee35c21a20 Bump version for release 2017-08-31 19:34:57 +01:00
Martijn Brekhof 3106a5fd61 Implemented a scalable control pad (remote) (#428)
* Refactored RemoteFragment and created a compound view for the
     actual remote. I called it ControlPad to make it more clear what
     its main function is.
   * Implemented a custom grid layout (SquareGridLayout) that will
     always be square. When its width and height are both set to
     match_parent, it will take the smallest of the two as the
     actual size.
   * For devices with a smallest width smaller then 360dp the ControlPad
     is sized to the maximum available space. For larger devices we still
     use the old fixed sizes.
2017-08-30 19:53:47 +01:00
Synced Synapse 2761c8651b Add progress bar to tv shows list, similar to the one present in the seasons list 2017-08-30 19:32:01 +01:00
Martijn Brekhof dcad05580c Fixes lint error regarding an API restriction (#433)
Know bug: https://issuetracker.google.com/issues/37130193
2017-08-14 15:38:18 +01:00
Martijn Brekhof 590050e751 Improved usability for NowPlayingPanel (#432)
* Panel now only closes when collapsed bar is clicked.
     This prevents unwanted closing when using the sliders and
     buttons.
   * Moved collapsed panel size to the compound view so users
     of the NowPlayingPanel don't need to look inside the
     compound view layout to determine the correct size.
2017-08-14 15:37:30 +01:00
Martijn Brekhof 8cd974137b Upgraded android gradle plugin to 2.3.3 (#431)
* Added dependency on assembleFullDebug before running unit tests.
     Apparently assembleFullDebugUnitTest does not include
     the sourceset for fullDebug as defined in app/build.gradle
2017-08-08 18:44:24 +01:00
Synced Synapse 0d73e278ba Update build tools 2017-07-27 20:22:49 +01:00
Synced Synapse cc6db7dc34 Fix translation issues 2017-07-27 20:20:30 +01:00
Synced Synapse f40c8c2f01 Use abbreviated season/episode number in now playing panel 2017-07-27 19:49:15 +01:00
Synced Synapse bea8700829 Update Portuguese translations 2017-07-27 19:45:31 +01:00
Yaron Shahrabani 99894aa6bd Updated Hebrew translation (#425) 2017-07-27 19:38:14 +01:00
Synced Synapse 3ce75bfa17 Tweak light theme colors 2017-07-25 19:44:38 +01:00
Martijn Brekhof 4b6bb27d00 Widgets use ButterKnife now and implement all View constructors. (#424)
The new widgets now implement all View constructors to make
the code more robust to any future changes in how the widgets
are used.
2017-07-25 19:34:53 +01:00
Synced Synapse f947912a23 Replace png icons by svg versions 2017-07-20 22:17:28 +01:00
Synced Synapse 859ad66424 Redesign Now Playing panel to make it fit the rest of the app look. Substitute png icons for svg ones. 2017-07-18 19:57:04 +01:00
mueller-ma 48529fa0c4 fix text formatting in german translation (#414) 2017-07-17 19:07:21 +01:00
Martijn Brekhof dbd08c07aa Implemented unit/integration tests for the now playing panel (#420)
* Fixed issue with opening drawer and Espresso not waiting for
    when drawer was actually opened.
  * Implemented new handlers for MockTcpServer to test
    media control functions.
  * Decreased delay for sending reponses in MockTcpServer from
    1 sec to 100 ms. This was needed to prevent race conditions with
    the progress bar that increases automatically once per second.
2017-07-17 19:07:11 +01:00
Synced Synapse 02a1d445f3 Use the same OnClickListener to handle buttons events 2017-07-13 19:22:14 +01:00
Martijn Brekhof cb430aa20d Implemented a slideup panel with media controls and info (#320)
* The slideup panel is only displayed when something is
         playing. It starts collapsed showing the media poster
         and title of what is currently playing.

       * Media controls implemented are volume, progress, shuffle,
         repeat and play/pause for all items. Next and previous are only
         available when a music item is playing.

       * In collapsed mode the panel will display the mute button only
         if Kodi is muted. The mute button in expanded mode is always
         visible.

       * Panel is enabled by default. Users can disable the panel
         in Settings

       * Implemented listening to Player.OnPropertyChanged notifications
         to update shuffle and repeat button states.
2017-07-13 19:10:49 +01:00
Synced Synapse 7186874471 Fix Travis build
Travis only gets the latest 50 git commits, which might not contain a tag that describes the version name, causing the build to fail. This change always returns a version name.
2017-06-26 10:45:15 +01:00
Martijn Brekhof 7b9ddaf69f Implemented a HighlightButton widget (#410)
This can be used by buttons that need to be highlighted such as
the shuffle and the mute buttons.
2017-06-25 10:19:41 +01:00
Synced Synapse 0933c68ef5 Update pt-pt translations 2017-06-23 20:01:54 +01:00
Synced Synapse 77a9a8ca0e Added option to show/hide watched indicator in movies and TV shows list 2017-06-23 19:50:46 +01:00
Synced Synapse 750478b164 Fix TV Shows margins 2017-06-23 19:12:02 +01:00
tomerf d596417b04 Added watched indicator for movies and tv shows lists (#412) 2017-06-23 18:36:31 +01:00
tomerf 70935d5e3f Changed sort of names and titles to be case insensitive (#411) 2017-06-23 17:29:31 +01:00
Martijn Brekhof eb8accb8fe Implemented RepeatModeButton widget (#408)
Its main purpose is to enable testing the repeat mode functionality.
2017-06-23 11:50:17 +01:00
Martijn Brekhof 85bcd846f2 Implemented VolumeLevelIndicator widget (#406)
* Refactored NowPlayingFragment to use new widget
  * Refactored UIUtils.highlightImageView to reduce code duplication
2017-06-22 18:37:00 +01:00
Martijn Brekhof 3be2d74f0a Fixed issue with filenames that contain question marks (#409) 2017-06-20 19:12:16 +01:00
Asier Iturralde Sarasola 3783a9a375 Update Basque translation (#407) 2017-06-20 19:09:52 +01:00
Martijn Brekhof 134ec550e8 Implemented MediaProgressIndicator widget to allow for code sharing (#405)
* Refactored NowPlayingFragment to use the new MediaProgressIndicator
2017-06-20 19:05:27 +01:00
mueller-ma 6b690f5882 Change position of play/pause and stop button (#396)
fixes #393

Signed-off-by: mueller-ma <mueller-ma@users.noreply.github.com>
2017-06-07 19:48:49 +01:00
mueller-ma 936649ed1c Update copyright year (#397)
Change the copyright year in the about screen to 2017

Signed-off-by: mueller-ma <mueller-ma@users.noreply.github.com>
2017-06-05 16:10:24 +01:00
Synced Synapse d80116ec67 Fix Lint error 2017-05-30 22:26:12 +01:00
Yaron Shahrabani a2cd4ad008 Updated Hebrew translation (#392)
I'm actually using Transifex for that:
https://www.transifex.com/yaron/kore/dashboard

If you don't like the fact it's not open source we can try and ask Weblate to host us.
2017-05-30 20:22:07 +01:00
KowalskiOmniROM 15d08c2226 Update French strings.xml (#390) 2017-05-30 11:37:23 +01:00
Ahmed I. Khalil 97b10f2b32 Fix ClassCastException when Favourites returned are empty. (#386) 2017-05-10 09:52:55 +01:00
Ahmed I. Khalil b6822fd0ad Support getting favourites in Kore (#81) (#384)
* Support getting favourites in Kore (#81)
2017-05-09 18:35:21 +01:00
Sebastian b42f6f8119 File view fixes (#379)
* Sort file lists by path and show filename/foldername in details
* rewrite diplay of file lists using java.io.File for platform independence. It also makes the code clearer by avoiding string acrobatics
* fix enqueue order of action_play_from_this_item
* remove java.io.File dependency again
instead add method getFilenameFromPath
* move playMediaFile to end of block
2017-05-03 09:28:12 +01:00
Martijn Brekhof 1cb77876be Implemented testing actionbar state (#382)
* Added JSON datafiles for TV shows and music videos
   * Implemented instrumentations tests for MoviesActivity, MusicActivity,
     TVShowActivity, and AddonsActivity.
   * Moved RestoreSearchQueryViewPagerTest to music package as it uses
     the MusicActivity
   * Moved RestoreSearchQueryListFragmentTest to movies packages as it
     uses the MoviesActivity
   * Added scripts to get JSON data for music videos, addons, and TV shows
   * Added sequence diagram for BaseMediaActivity to clarify new setup
   * Refactored BaseMediaActivity to comply with diagram
   * Refactored SyncMusicVideos and SyncTVShows so we can use the same code
     for adding test data as we use for adding real data.
   * Removed unused StringBuffer and synchronize block in MockTcpServer
2017-04-29 16:08:15 +01:00
Wikinaut 46bb4a4bfc Fix for #380 (#381) 2017-04-29 15:15:24 +01:00
Martijn Brekhof 6afaa60d74 Introduces BaseMediaActivity (#374)
* BaseMediaActivity enforces a common layout which allows us to more
     easily add new common UI elements
   * All activities that allow browsing media should extend BaseMediaActivity
     Currently CastActivity is the only exception.
2017-04-21 18:39:55 +01:00
Synced Synapse db7d689c3a Fix default color 2017-04-02 18:46:36 +01:00
Adrian fe3c8a1b50 Fix typo (Itent -> Intent) (#377) 2017-04-02 18:42:59 +01:00
darkz 6116be2d12 fix zhcn translate mistake (#376) 2017-03-29 14:23:34 +01:00
Synced Synapse 775944ea05 Use the same default primary colors as estuary 2017-03-24 19:12:37 +00:00
Synced Synapse 11f453c22f Bring the notification service to the foreground when a notification is shown, to avoid having it killed, which happens if it stays in the background 2017-03-24 18:18:10 +00:00
Martijn Brekhof a1cdedb93f Implemented a TCP server for unit testing (#373)
This allows us to test activities and fragments that require JSON RPC calls.
The ApplicationTest for JSON method and notification calls is mainly added
as example and for testing the MockTcpServer and friends.
2017-03-21 09:21:44 +00:00
Martijn Brekhof fcd1730784 Fixes NPE in ConnectionObserversManagerService.onDestroy (#372) 2017-03-15 18:49:38 +00:00
Martijn Brekhof 35724bb8be Fixes layout inflate exception due to missing width attribute (#371) 2017-03-15 14:04:34 +00:00
Artem Moskalchuk 8d983d605c update Ukrainian translation (#368) 2017-03-09 19:45:39 +00:00
Synced Synapse b713d916e3 Make remote bottom bar configurable in landscape also. 2017-03-06 20:07:21 +00:00
tomerf b80e3e0e7a Make remote bottom bar configurable (#355)
* Make remote bottom bar configurable
* Added new translations
* Added icons
* Moved preference to remote section
2017-03-06 19:58:31 +00:00
Synced Synapse d1b1827a5f Merge pull request #332 from poisdeux/refactor/detailsfragments
Refactor details fragments
2017-03-06 19:39:17 +00:00
tomerf dba7504e76 Unified translations in settings page (#365) 2017-03-03 18:52:24 +00:00
Martijn Brekhof 412931b8db Refactored AbstractDetailsFragment
This introduces the MVC model to details fragments. It moves as much
view and control code out of the concrete fragments into the abstract
classes.

   * Added UML class and sequence diagrams under doc/diagrams to clarify
     the new setup

   * Introduces new abstract classes
      * AbstractFragment class to hold the DataHolder
      * AbstractInfoFragment class to display media information
      * AbstractAddtionalInfoFragment class to allow *InfoFragments
        to add additional UI elements and propagate refresh requests.
        See for an example TVShowInfoFragment which adds
        TVShowProgressFragment to display next episodes and season
        progression.

   * Introduces new RefreshItem class to encapsulate all refresh
     functionality from AbstractDetailsFragment

   * Introduces new SharedElementTransition utility class to encapsulate
     all shared element transition code

   * Introduces new CastFragment class to encapsulate all code for
     displaying casts reducing code duplication

   * Introduces DataHolder class to replace passing the ViewHolder from
     the *ListFragment to the *DetailsFragment or *InfoFragment

   * Refactored AbstractDetailsFragment into two classes:

     o AbstractDetailsFragment: for fragments requiring a tab bar
     o AbstractInfoFragment:    for fragments showing media information

     We used to use <NAME>DetailsFragments for both fragments that show
     generic
     info about some media item and fragments that hold all details for
     some media item.
     For example, artist details showed artist info and used tabs to
     show artist albums and songs as well. Now Details fragments are
     used to show all details, Info fragments only show media item
     information like description, title, rating, etc.

   * Moved swiperefreshlayout code from AbstractCursorListFragment to
     AbstractListFragment
2017-03-02 11:55:19 +01:00
Martijn Brekhof d3a68b73c9 Fixed playing, queueing, downloading individual songs (#363) 2017-02-24 18:58:42 +00:00
Artem Moskalchuk 2365a14585 Move hard-coded strings (group titles Remote and Application) to strings.xml (#361)
* Move hard-coded strings (group titles Remote and Application) to strings.xml

* Add missing strings to Ukrainian localization

* Update strings.xml

* Update strings.xml
2017-02-22 19:40:53 +00:00
Yaron Shahrabani aa3308668c Fixed translation of "Down" to down (was up) (#360) 2017-02-21 19:49:56 +00:00
primaeval 668feb1355 remove [] formatting (#353) 2017-02-20 19:05:49 +00:00
Yaron Shahrabani 58e205272f Adding the Hebrew translation (#352)
* Adding the Hebrew translation
Managed under https://www.transifex.com/yaron/kore/Remote/, more languages are welcome.
2017-02-20 19:05:28 +00:00
Artem Moskalchuk 6f82cff588 Update ukrainian translation (#359)
* fixed typo

* Add missing string "sort_by_last_played"

* Update strings.xml
2017-02-20 19:01:54 +00:00
naofum de9b97836d japanese translation (#358) 2017-02-20 19:01:29 +00:00
Pavel Remygailo 83e96653fe Ukrainian translation fixes (#350)
* fixed few typos in ukrainian translation
* "Про додаток" -> "Про застосунок"
Додаток -- add-in
Застосунок, прикладна программа -- application
2017-02-13 19:48:00 +00:00
KowalskiOmniROM 770aa40df1 Update strings.xml (#349) 2017-02-13 19:46:29 +00:00
mueller-ma a8bfa0ffc4 updated german translation (#348) 2017-02-13 19:45:39 +00:00
Zapata11 b9b2a4d30c Update lithuanian translation (#346) 2017-02-13 19:44:06 +00:00
Synced Synapse 13abb4e9ea Bump version for release
Update release notes
2017-02-01 18:53:50 +00:00
Joel Hedlund 4c82094601 Add www.svtplay.se host to "Play on Kodi" intent filter. (#345) 2017-02-01 18:29:43 +00:00