Thursday, June 29, 2017

3.0 Work in Progress 4: MultiSelect, Overflow Menu, and Sort

For those who havent noticed, I am trying to do post progess updates every 2 weeks.  This iteration doesnt have too much to actually show off, however a lot of work was done under the hood.  Everything has been wired for easily adding multi select (and its action menu), the overflow menu, and sort.   By "wired" I mean that the majority of the code was written and for each new view I only have to write a few lines of code to add the capabilities and then write the code to handle the actual selected actions.

Example:

This is in the album list view's presenter code (couldnt figure out a way to post code so the formatting is a bit weird).  As you can see its not much code at all to add a lot of functionality

override fun onViewAttached()
{
    super.onViewAttached()

    view?.let {        addBehavior(MenuBehavior::class
, ViewModeMenuBehavior(R.menu.menu_gm_shared_view_mode, state))
        addBehavior(MenuBehavior::class
, GridSizeMenuBehavior(R.menu.menu_gm_shared_gridsize, state))
        addBehavior(MenuBehavior::class
, SortMenuBehavior(R.menu.menu_gm_sort_album_list, state))
        addBehavior(SelectionBehavior::class
, AlbumSelectionBehavior())
        addBehavior(ActionModeBehavior::class
, AlbumActionModeBehavior(it))
    }}



Anyway here are some screenshots