Save/delete search

This commit is contained in:
M66B
2021-09-25 09:37:17 +02:00
parent 2ef248f535
commit 95be264f4c
6 changed files with 241 additions and 188 deletions

View File

@@ -51,7 +51,7 @@ public class AdapterNavSearch extends RecyclerView.Adapter<AdapterNavSearch.View
private boolean expanded = true;
private List<EntitySearch> items = new ArrayList<>();
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener, View.OnLongClickListener {
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
private View view;
private ImageView ivItem;
private ImageView ivBadge;
@@ -74,12 +74,10 @@ public class AdapterNavSearch extends RecyclerView.Adapter<AdapterNavSearch.View
private void wire() {
view.setOnClickListener(this);
view.setOnLongClickListener(this);
}
private void unwire() {
view.setOnClickListener(null);
view.setOnLongClickListener(null);
}
private void bindTo(EntitySearch search) {
@@ -107,6 +105,7 @@ public class AdapterNavSearch extends RecyclerView.Adapter<AdapterNavSearch.View
JSONObject json = new JSONObject(search.data);
BoundaryCallbackMessages.SearchCriteria criteria =
BoundaryCallbackMessages.SearchCriteria.fromJSON(json);
criteria.id = search.id;
FragmentMessages.search(
context, owner, manager,
-1L, -1L, false, criteria);
@@ -114,39 +113,6 @@ public class AdapterNavSearch extends RecyclerView.Adapter<AdapterNavSearch.View
Log.e(ex);
}
}
@Override
public boolean onLongClick(View v) {
int pos = getAdapterPosition();
if (pos == RecyclerView.NO_POSITION)
return false;
EntitySearch search = items.get(pos);
if (search == null)
return false;
Bundle args = new Bundle();
args.putLong("id", search.id);
new SimpleTask<Void>() {
@Override
protected Void onExecute(Context context, Bundle args) throws Throwable {
long id = args.getLong("id");
DB db = DB.getInstance(context);
db.search().deleteSearch(id);
return null;
}
@Override
protected void onException(Bundle args, Throwable ex) {
Log.unexpectedError(manager, ex);
}
}.execute(context, owner, args, "search:delete");
return true;
}
}
AdapterNavSearch(Context context, LifecycleOwner owner, FragmentManager manager) {