mirror of
https://github.com/M66B/FairEmail.git
synced 2026-04-06 09:03:56 +02:00
Fixed item touch helper memory leak
This commit is contained in:
@@ -370,7 +370,6 @@ public class FragmentMessages extends FragmentBase
|
||||
private boolean navigating = false;
|
||||
|
||||
private AdapterMessage adapter;
|
||||
private ItemTouchHelper itemTouchHelper;
|
||||
|
||||
private AdapterMessage.ViewType viewType;
|
||||
private SelectionPredicateMessage selectionPredicate = null;
|
||||
@@ -2043,13 +2042,10 @@ public class FragmentMessages extends FragmentBase
|
||||
public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {
|
||||
}
|
||||
});
|
||||
} else {
|
||||
itemTouchHelper = new ItemTouchHelper(touchHelper);
|
||||
itemTouchHelper.attachToRecyclerView(rvMessage);
|
||||
}
|
||||
} else
|
||||
new ItemTouchHelper(touchHelper).attachToRecyclerView(rvMessage);
|
||||
} else {
|
||||
itemTouchHelper = new ItemTouchHelper(touchHelper);
|
||||
itemTouchHelper.attachToRecyclerView(rvMessage);
|
||||
new ItemTouchHelper(touchHelper).attachToRecyclerView(rvMessage);
|
||||
|
||||
selectionPredicate = new SelectionPredicateMessage(rvMessage);
|
||||
|
||||
@@ -3252,9 +3248,10 @@ public class FragmentMessages extends FragmentBase
|
||||
}
|
||||
|
||||
private void redraw(RecyclerView.ViewHolder vh) {
|
||||
if (vh != null && itemTouchHelper != null)
|
||||
if (vh != null)
|
||||
try {
|
||||
itemTouchHelper.onChildViewDetachedFromWindow(vh.itemView);
|
||||
rvMessage.getLayoutManager().detachView(vh.itemView);
|
||||
rvMessage.getLayoutManager().removeDetachedView(vh.itemView);
|
||||
} catch (Throwable ex) {
|
||||
Log.e(ex);
|
||||
}
|
||||
|
||||
@@ -130,7 +130,6 @@ import androidx.lifecycle.LifecycleOwner;
|
||||
import androidx.lifecycle.OnLifecycleEvent;
|
||||
import androidx.preference.PreferenceManager;
|
||||
import androidx.recyclerview.selection.SelectionTracker;
|
||||
import androidx.recyclerview.widget.ItemTouchHelper;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.viewpager.widget.PagerAdapter;
|
||||
|
||||
@@ -1876,7 +1875,6 @@ public class Helper {
|
||||
SelectionTracker.SelectionPredicate.class.isAssignableFrom(type) ||
|
||||
PagerAdapter.class.isAssignableFrom(type) ||
|
||||
RecyclerView.Adapter.class.isAssignableFrom(type) ||
|
||||
ItemTouchHelper.class.isAssignableFrom(type) ||
|
||||
TwoStateOwner.class.isAssignableFrom(type))
|
||||
try {
|
||||
Log.i("Clearing " + fname);
|
||||
|
||||
Reference in New Issue
Block a user