Commit Graph

693 Commits

Author SHA1 Message Date
Synced Synapse
e6470a1f6d
Fix signing release apk (#548) 2018-05-28 10:16:14 +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
mueller-ma
68b5586aed Add metadata for fdroid (#527) 2018-04-05 18:30:52 +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