From 965077218cbd6466d94f138c4b75253afa52af5d Mon Sep 17 00:00:00 2001 From: emanuele-f Date: Fri, 22 Jul 2022 11:25:03 +0200 Subject: [PATCH] Fix context menu action applied to wrong item When connections rollover occurred (after 8192 connections seen), a context menu action could be applied to a wrong item if a new connection appeared before the user selected an action from the context menu Fixes #237 --- .../remote_capture/adapters/AppsStatsAdapter.java | 14 ++++++++++---- .../adapters/ConnectionsAdapter.java | 8 ++++---- .../remote_capture/fragments/AppsFragment.java | 7 +++---- .../fragments/ConnectionsFragment.java | 4 ++-- 4 files changed, 19 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/com/emanuelef/remote_capture/adapters/AppsStatsAdapter.java b/app/src/main/java/com/emanuelef/remote_capture/adapters/AppsStatsAdapter.java index 3f7023ee..3eead886 100644 --- a/app/src/main/java/com/emanuelef/remote_capture/adapters/AppsStatsAdapter.java +++ b/app/src/main/java/com/emanuelef/remote_capture/adapters/AppsStatsAdapter.java @@ -54,7 +54,7 @@ public class AppsStatsAdapter extends RecyclerView.Adapter mStats; private final AppsResolver mApps; - private int mClickedPosition; + private AppStats mSelectedItem; public class ViewHolder extends RecyclerView.ViewHolder { ImageView icon; @@ -131,7 +131,7 @@ public class AppsStatsAdapter extends RecyclerView.Adapter { // see registerForContextMenu - mClickedPosition = holder.getAbsoluteAdapterPosition(); + mSelectedItem = getItem(holder.getAbsoluteAdapterPosition()); return false; }); } @@ -160,8 +160,14 @@ public class AppsStatsAdapter extends RecyclerView.Adapter= 0) + notifyItemChanged(pos); } public String getItemPackage(int pos) { diff --git a/app/src/main/java/com/emanuelef/remote_capture/adapters/ConnectionsAdapter.java b/app/src/main/java/com/emanuelef/remote_capture/adapters/ConnectionsAdapter.java index 940b3a94..2f0070d9 100644 --- a/app/src/main/java/com/emanuelef/remote_capture/adapters/ConnectionsAdapter.java +++ b/app/src/main/java/com/emanuelef/remote_capture/adapters/ConnectionsAdapter.java @@ -60,7 +60,7 @@ public class ConnectionsAdapter extends RecyclerView.Adapter { // see registerForContextMenu - mClickedPosition = holder.getAbsoluteAdapterPosition(); + mSelectedItem = getItem(holder.getAbsoluteAdapterPosition()); return false; }); @@ -431,8 +431,8 @@ public class ConnectionsAdapter extends RecyclerView.Adapter