Commit Graph

814 Commits

Author SHA1 Message Date
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 8ecd0b281e Fix F-Droid link 2017-07-18 19:58:05 +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

       * 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 7ce2c014e4 Add legal attribution (#404)
2017-06-20 18:49:09 +01:00
mueller-ma c6981ea32f Resize badges (#398)
as suggested in
2017-06-07 19:49:21 +01:00
mueller-ma 6b690f5882 Change position of play/pause and stop button (#396)
fixes #393

Signed-off-by: mueller-ma <>
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 <>
2017-06-05 16:10:24 +01:00
mueller-ma 3269f8584e add app store badges (#395)
fixes #220
2017-06-05 16:08:36 +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:

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 for platform independence. It also makes the code clearer by avoiding string acrobatics
* fix enqueue order of action_play_from_this_item
* remove 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

   * 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

   * 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
     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
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