|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object sk.baka.ambient.activity.main.AbstractController sk.baka.ambient.activity.main.AbstractListController sk.baka.ambient.activity.main.FileBrowserController
public final class FileBrowserController
The file browser.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class sk.baka.ambient.activity.main.AbstractController |
---|
AbstractController.Listener |
Field Summary |
---|
Fields inherited from class sk.baka.ambient.activity.main.AbstractListController |
---|
highlightColor, listView |
Fields inherited from class sk.baka.ambient.activity.main.AbstractController |
---|
app, cycle, listener, mainActivity, mainView |
Constructor Summary | |
---|---|
FileBrowserController(MainActivity mainActivity,
GesturesListView playlistView)
|
Method Summary | |
---|---|
boolean |
canComputeItems()
Checks if the model currently supports computing tracks. |
List<TrackMetadataBean> |
computeTracks(Interval highlight)
Retrieve a list of tracks from the selection. |
void |
destroy()
The controller is about to be destroyed. |
String |
getHint(Interval highlight)
Returns a very short and simple string representation of the selected contents. |
boolean |
isComputeTracksLong(Interval interval)
Checks if the IGestureListViewListener.computeTracks(Interval) method will be a long
operation. |
boolean |
isComputeTracksOnlineOp(Interval interval)
Checks if the IGestureListViewListener.computeTracks(Interval) method will involve
polling of some data from the Internet. |
boolean |
isReadOnly()
Checks if the list view is currently read-only. |
void |
itemActivated(int index,
Object model)
The item was activated, either by clicking on it or using a keyboard. |
protected void |
onAction(ActionsEnum action)
Called when an action button is pressed. |
protected void |
performZoom(boolean zoom)
Zooms, or un-zooms the controller. |
protected void |
recomputeListItems()
Recomputes the model . |
void |
removeItems(Interval remove)
Remove these items from the list. |
void |
update(GesturesListView listView,
View itemView,
int index,
Object model)
An item view is being drawn (or re-drawn) on screen. |
Methods inherited from class sk.baka.ambient.activity.main.AbstractListController |
---|
canHighlight, dropItems, getClipboard, highlightChanged, moveItems, moveItemsByOne, setClipboard, update |
Methods inherited from class sk.baka.ambient.activity.main.AbstractController |
---|
equals, flipVisibility, hashCode, hide, initButtonBar, initButtonBar, initButtonBar, isDestroyed, isVisible, isZoomed, setVisibility, show, visibilityChanged, zoom |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public FileBrowserController(MainActivity mainActivity, GesturesListView playlistView)
mainActivity
- playlistView
- the playlist view.Method Detail |
---|
public void destroy()
AbstractController
super()
if you override
this method!
destroy
in class AbstractListController
protected void onAction(ActionsEnum action)
AbstractController
onAction
in class AbstractController
action
- the action to takepublic void itemActivated(int index, Object model)
IGestureListViewListener
index
- the index of the item.model
- the model for the item.public void removeItems(Interval remove)
IGestureListViewListener
Remove these items from the list. The list view sets the highlight automatically to zero interval.
This operation is invoked even when IGestureListViewListener.isReadOnly()
returns
false
as some use cases activates a "Go Back" activity
instead of deleting items.
removeItems
in interface IGestureListViewListener
removeItems
in class AbstractListController
remove
- remove these items. The interval is not null
however it may be empty.protected void recomputeListItems()
AbstractListController
model
. You don't have
to call the ModelHolder.notifyModified()
- it is called
automatically after the method finishes.
recomputeListItems
in class AbstractListController
public void update(GesturesListView listView, View itemView, int index, Object model)
IGestureListViewListener
GesturesListView.getModel()
list.
The only exception is the EOP special item. For more information please
read here
.
listView
- the listview containing the viewitemView
- the view representing a single itemindex
- the index in the GesturesListView.getModel()
list. May
point outside of the model list only when drawing an EOP item.model
- The model object, taken from the
GesturesListView.getModel()
list. This value may
optionally be the MutableListAdapter.EOP_MODEL_MARKER
object - in this case the special EndOfPlaylist item must be
drawn.public List<TrackMetadataBean> computeTracks(Interval highlight)
IGestureListViewListener
Retrieve a list of tracks from the selection. This operation may not be
invoked from the handler's thread (depending on the result of the
IGestureListViewListener.isComputeTracksLong(Interval)
method). The method implementation
should thus periodically check for the interrupted
flag. When interrupted, it should return an empty list or
null
ASAP. It may do so by throwing an exception
If the method is invoked in a non-handler thread the callee wraps the result in a thread-safe list.
The method may throw RuntimeException
- it will be caught and
displayed unless the thread is interrupted.
This method is only invoked when IGestureListViewListener.canComputeItems()
returns
true
.
computeTracks
in interface IGestureListViewListener
computeTracks
in class AbstractListController
highlight
- the selection
null
.public boolean isComputeTracksLong(Interval interval)
IGestureListViewListener
Checks if the IGestureListViewListener.computeTracks(Interval)
method will be a long
operation. If yes, then the operation will be run in new thread. If not,
the operation will be run in handler event thread.
This method is only invoked when IGestureListViewListener.canComputeItems()
returns
true
.
isComputeTracksLong
in interface IGestureListViewListener
isComputeTracksLong
in class AbstractListController
interval
- the selection
true
if long operation, false
otherwise.public boolean isComputeTracksOnlineOp(Interval interval)
IGestureListViewListener
Checks if the IGestureListViewListener.computeTracks(Interval)
method will involve
polling of some data from the Internet.
This method is only invoked when IGestureListViewListener.canComputeItems()
returns
true
.
isComputeTracksOnlineOp
in interface IGestureListViewListener
isComputeTracksOnlineOp
in class AbstractListController
interval
- the selection
true
if some Internet resources will be polled,
false
otherwise.public String getHint(Interval highlight)
IGestureListViewListener
Returns a very short and simple string representation of the selected contents.
This method is only invoked when IGestureListViewListener.canComputeItems()
returns
true
.
getHint
in interface IGestureListViewListener
getHint
in class AbstractListController
highlight
- the highlighted items.
null
if no hint should be shown.public boolean isReadOnly()
IGestureListViewListener
isReadOnly
in interface IGestureListViewListener
isReadOnly
in class AbstractListController
true
if the view cannot be modified,
false
otherwise.public boolean canComputeItems()
IGestureListViewListener
canComputeItems
in interface IGestureListViewListener
canComputeItems
in class AbstractListController
true
if the model can compute tracks,
false
otherwise.protected void performZoom(boolean zoom)
AbstractController
performZoom
in class AbstractListController
zoom
- true
zoom the controller in, false
zoom the controller out.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |