use of it.niedermann.owncloud.notes.model.ItemAdapter in project nextcloud-notes by stefan-niedermann.
the class NotesListViewActivity method initList.
public void initList() {
adapter = new ItemAdapter(this);
RecyclerView listView = findViewById(R.id.recycler_view);
listView.setAdapter(adapter);
listView.setLayoutManager(new LinearLayoutManager(this));
ItemTouchHelper touchHelper = new ItemTouchHelper(new SimpleCallback(0, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) {
@Override
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
return false;
}
/**
* Disable swipe on sections
*
* @param recyclerView RecyclerView
* @param viewHolder RecyclerView.ViewHoler
* @return 0 if section, otherwise super()
*/
@Override
public int getSwipeDirs(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
if (viewHolder instanceof ItemAdapter.SectionViewHolder)
return 0;
return super.getSwipeDirs(recyclerView, viewHolder);
}
/**
* Delete note if note is swiped to left or right
*
* @param viewHolder RecyclerView.ViewHoler
* @param direction int
*/
@Override
public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
if (direction == ItemTouchHelper.LEFT || direction == ItemTouchHelper.RIGHT) {
final DBNote dbNote = (DBNote) adapter.getItem(viewHolder.getAdapterPosition());
db.deleteNoteAndSync((dbNote).getId());
adapter.remove(dbNote);
refreshLists();
Log.v("Note", "Item deleted through swipe ----------------------------------------------");
Snackbar.make(swipeRefreshLayout, R.string.action_note_deleted, Snackbar.LENGTH_LONG).setAction(R.string.action_undo, new View.OnClickListener() {
@Override
public void onClick(View v) {
db.addNoteAndSync(dbNote);
refreshLists();
Snackbar.make(swipeRefreshLayout, R.string.action_note_restored, Snackbar.LENGTH_SHORT).show();
}
}).show();
}
}
@Override
public void onChildDraw(Canvas c, RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, float dX, float dY, int actionState, boolean isCurrentlyActive) {
ItemAdapter.NoteViewHolder noteViewHolder = (ItemAdapter.NoteViewHolder) viewHolder;
// show delete icon on the right side
noteViewHolder.showSwipeDelete(dX > 0);
// move only swipeable part of item (not leave-behind)
getDefaultUIUtil().onDraw(c, recyclerView, noteViewHolder.noteSwipeable, dX, dY, actionState, isCurrentlyActive);
}
@Override
public void clearView(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
getDefaultUIUtil().clearView(((ItemAdapter.NoteViewHolder) viewHolder).noteSwipeable);
}
});
touchHelper.attachToRecyclerView(listView);
}
use of it.niedermann.owncloud.notes.model.ItemAdapter in project nextcloud-notes by stefan-niedermann.
the class SelectSingleNoteActivity method onNoteClick.
@Override
public void onNoteClick(int position, View v) {
ItemAdapter adapter = getItemAdapter();
Item item = adapter.getItem(position);
DBNote note = (DBNote) item;
long noteID = note.getId();
Intent intent = getIntent();
Bundle extras = intent.getExtras();
int mAppWidgetId = -1;
if (extras != null) {
mAppWidgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID);
}
SharedPreferences.Editor sp = PreferenceManager.getDefaultSharedPreferences(this).edit();
sp.putLong(SingleNoteWidget.WIDGET_KEY + mAppWidgetId, noteID);
sp.apply();
Intent retIntent = new Intent(this, SingleNoteWidget.class);
retIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, mAppWidgetId);
retIntent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
sendBroadcast(retIntent);
setResult(RESULT_OK, retIntent);
finish();
}
Aggregations