Commit Graph

6 Commits

Author SHA1 Message Date
Synced Synapse b962fece80 Apply markup decoding to media file list and addon content list 2019-11-30 19:54:59 +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
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
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 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 b8fbf4e190 Refactored org.xbmc.kore.ui package into separate packages 2016-12-29 18:27:40 +00:00