public abstract class DonkyMessagingBaseListFragment<T,GFT,CAT extends CursorAdapterWithImageCache> extends DonkyFragment implements MultipleSelectionListener, DualPaneLeftFragment, Selectable<T>, GenericBuilder<GFT>, DetailViewDisplayedListener, DeletionListener
| Modifier and Type | Field and Description |
|---|---|
protected android.content.Context |
appContext |
static java.lang.String |
KEY_MULTIPLE_IDS_SELECTED_TO_DELETE |
static java.lang.String |
KEY_SINGLE_ID_SELECTED |
static java.lang.String |
KEY_SINGLE_ID_SELECTED_TO_DELETE |
static java.lang.String |
KEY_SINGLE_POSITION_SELECTED |
| Constructor and Description |
|---|
DonkyMessagingBaseListFragment() |
| Modifier and Type | Method and Description |
|---|---|
protected abstract void |
checkListItem(java.lang.String contentId) |
protected void |
clearListViewMultipleSelectionState(int checkboxResourceId)
Clear the state of list view when exiting Action Mode.
|
protected void |
clearListViewSingleSelection()
Clears dual pane list row selection.
|
android.view.ActionMode |
getActionMode()
Get the ActionMode object.
|
protected abstract CAT |
getAdapter()
Get
CursorAdapterWithImageCache set for parent class. |
android.widget.ListView |
getListView()
Gets the list view.
|
protected android.util.Pair<java.lang.String,java.lang.Integer> |
getSelection()
Gets the dual pane selection.
|
SelectionListener<T> |
getSelectionListener()
Gets the listener for list row selections.
|
java.lang.String |
getSingleSelectedIdToDelete()
Gets the id of item marked as to be deleted.
|
protected void |
hideMultiChoiceModeAnimation(int checkboxResourceId)
Animate transition to list view standard mode.
|
boolean |
isDualPane()
Mode split view fragment.
|
void |
onActivityCreated(android.os.Bundle savedInstanceState) |
void |
onDestroy() |
void |
onMessageDisplayed(java.lang.String contentId) |
void |
onMultipleSelectionChanged()
The selected rows in multi-selection mode changed.
|
void |
onPause() |
void |
onResume() |
void |
onSaveInstanceState(android.os.Bundle outState) |
void |
onStart() |
protected abstract void |
refreshListView()
refresh list view content.
|
protected abstract void |
searchViewActionClosed()
Search view has been closed callback.
|
protected abstract void |
searchViewActionOpened()
Search view has been opened callback.
|
void |
setActionMode(android.view.ActionMode actionMode)
Sets the Action mode.
|
void |
setIsInDualPaneDisplayMode(boolean dualPane)
Sets the display mode
|
void |
setListView(android.widget.ListView listView)
Stets the list view.
|
protected void |
setOverlayVisibility(int visibility)
Change detail view overlay visibility.
|
void |
setOverlayVisibilityController(OverlayVisibilityController overlayVisibilityController)
Set the interface to change overlay visibility
|
protected void |
setSelection(java.lang.String selectedInternalDataBaseID,
java.lang.Integer listViewPosition)
Sets selection for dual pane mode.
|
void |
setSelectionListener(SelectionListener<T> selectionListener) |
void |
setSingleSelectedIdToDelete(java.lang.String singleSelectedIdToDelete)
Sets the id of item marked as to be deleted.
|
protected void |
setSwipeToRefreshLayouts(SwipeRefreshLayout swipeRefreshLayout,
SwipeRefreshLayout swipeRefreshLayoutEmptyList)
Pass swipe to refresh layouts in onCreateView method.
|
protected void |
setupOptionsPopup(ListPopupWindow popup,
android.view.View richMsgListElementAnchorView,
android.widget.ArrayAdapter arrayAdapter,
android.widget.AdapterView.OnItemClickListener onItemClickListener)
Setup the window list option menu.
|
protected void |
setupSearchMenuItem(android.view.MenuItem searchMenuItem,
android.widget.CursorAdapter adapter)
Setup search view.
|
protected void |
setupSwipeToRefreshLayouts()
Set listeners for swipe to refresh widgets.
|
protected void |
showMultiChoiceModeAnimation(int checkboxResourceId)
Animate transition to list view multi-choice mode.
|
protected void |
startUpdateTimestampsTimer()
Start the timer periodically calling
updateTimestamps(). |
protected void |
stopUpdateTimestampsTimer()
Stops the timer periodically calling
updateTimestamps(). |
protected abstract void |
updateTimestamps()
Update visible timestamps in list elements.
|
hideSoftKeyboard, onDetachclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitsetSelectionListenerbuildonContentDeletedpublic static java.lang.String KEY_SINGLE_POSITION_SELECTED
public static java.lang.String KEY_SINGLE_ID_SELECTED
public static java.lang.String KEY_SINGLE_ID_SELECTED_TO_DELETE
public static java.lang.String KEY_MULTIPLE_IDS_SELECTED_TO_DELETE
protected android.content.Context appContext
public void onActivityCreated(android.os.Bundle savedInstanceState)
public void onStart()
public void onResume()
public void onPause()
public void onDestroy()
public void onSaveInstanceState(android.os.Bundle outState)
protected void setupSearchMenuItem(android.view.MenuItem searchMenuItem,
android.widget.CursorAdapter adapter)
searchMenuItem - Menu Item with the search widget.adapter - Cursor adapter providing data to filtered list view.protected void setSwipeToRefreshLayouts(SwipeRefreshLayout swipeRefreshLayout,
SwipeRefreshLayout swipeRefreshLayoutEmptyList)
swipeRefreshLayout - Layout embedding list view with swipe to refresh widget.swipeRefreshLayoutEmptyList - Layout embedding empty list view TextView with swipe to refresh widget.protected void setupSwipeToRefreshLayouts()
protected void clearListViewSingleSelection()
protected void setSelection(java.lang.String selectedInternalDataBaseID,
java.lang.Integer listViewPosition)
selectedInternalDataBaseID - The row content id.listViewPosition - The position of selected row in list view.protected android.util.Pair<java.lang.String,java.lang.Integer> getSelection()
public java.lang.String getSingleSelectedIdToDelete()
public void setSingleSelectedIdToDelete(java.lang.String singleSelectedIdToDelete)
singleSelectedIdToDelete - Id of item top deletepublic boolean isDualPane()
public SelectionListener<T> getSelectionListener()
public android.widget.ListView getListView()
public void setListView(android.widget.ListView listView)
listView - ListView to be set.public android.view.ActionMode getActionMode()
public void setActionMode(android.view.ActionMode actionMode)
actionMode - Toolbar ActionMode object or null if action mode is not active.protected void startUpdateTimestampsTimer()
updateTimestamps(). Should be called in Fragment onResume.protected void stopUpdateTimestampsTimer()
updateTimestamps(). Should be called in Fragment onPause.protected void setupOptionsPopup(ListPopupWindow popup,
android.view.View richMsgListElementAnchorView,
android.widget.ArrayAdapter arrayAdapter,
android.widget.AdapterView.OnItemClickListener onItemClickListener)
popup - List popup window instancerichMsgListElementAnchorView - The selected list row viewarrayAdapter - Adapter with array of optionsonItemClickListener - List item click listener.protected void showMultiChoiceModeAnimation(int checkboxResourceId)
checkboxResourceId - Resource id of list element checkbox.protected void hideMultiChoiceModeAnimation(int checkboxResourceId)
checkboxResourceId - Resource id of list element checkbox.protected void clearListViewMultipleSelectionState(int checkboxResourceId)
protected void setOverlayVisibility(int visibility)
visibility - View.VISIBLE, View.GONE or View.INVISIBLEprotected abstract void refreshListView()
protected abstract void updateTimestamps()
protected abstract CAT getAdapter()
CursorAdapterWithImageCache set for parent class.protected abstract void searchViewActionClosed()
protected abstract void searchViewActionOpened()
protected abstract void checkListItem(java.lang.String contentId)
public void onMultipleSelectionChanged()
MultipleSelectionListeneronMultipleSelectionChanged in interface MultipleSelectionListenerpublic void setIsInDualPaneDisplayMode(boolean dualPane)
DualPaneModeListenersetIsInDualPaneDisplayMode in interface DualPaneModeListenerdualPane - True if two fragments are visible.public void setSelectionListener(SelectionListener<T> selectionListener)
public void onMessageDisplayed(java.lang.String contentId)
onMessageDisplayed in interface DetailViewDisplayedListenerpublic void setOverlayVisibilityController(OverlayVisibilityController overlayVisibilityController)
DualPaneLeftFragmentsetOverlayVisibilityController in interface DualPaneLeftFragmentoverlayVisibilityController - Interface to change overlay visibility