From 7ab41e0c3aefd33317ecf50d128bcc8b6e4d12bf Mon Sep 17 00:00:00 2001 From: John Zhen Mo Date: Wed, 7 Feb 2018 14:20:16 -0800 Subject: [PATCH] -Added listener unregistration to local item adapters to release dependency and avoid memory leak. -Added listener unregistration on all listeners using contexts in local item related fragments. --- .../newpipe/fragments/local/LocalItemListAdapter.java | 4 ++++ .../newpipe/fragments/local/LocalPlaylistFragment.java | 5 +++++ .../newpipe/fragments/local/PlaylistAppendDialog.java | 1 + .../newpipe/fragments/local/bookmark/BookmarkFragment.java | 3 +++ .../local/bookmark/StatisticsPlaylistFragment.java | 6 ++++++ .../local/holder/LocalPlaylistStreamItemHolder.java | 2 +- 6 files changed, 20 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/schabi/newpipe/fragments/local/LocalItemListAdapter.java b/app/src/main/java/org/schabi/newpipe/fragments/local/LocalItemListAdapter.java index 0ccc13446..d36f56733 100644 --- a/app/src/main/java/org/schabi/newpipe/fragments/local/LocalItemListAdapter.java +++ b/app/src/main/java/org/schabi/newpipe/fragments/local/LocalItemListAdapter.java @@ -71,6 +71,10 @@ public class LocalItemListAdapter extends RecyclerView.Adapter data) { if (data != null) { if (DEBUG) { diff --git a/app/src/main/java/org/schabi/newpipe/fragments/local/LocalPlaylistFragment.java b/app/src/main/java/org/schabi/newpipe/fragments/local/LocalPlaylistFragment.java index ea7242055..abc12fb14 100644 --- a/app/src/main/java/org/schabi/newpipe/fragments/local/LocalPlaylistFragment.java +++ b/app/src/main/java/org/schabi/newpipe/fragments/local/LocalPlaylistFragment.java @@ -230,6 +230,11 @@ public class LocalPlaylistFragment extends BaseLocalListFragment { view.performClick(); - if (itemBuilder != null && + if (itemBuilder != null && itemBuilder.getOnItemSelectedListener() != null && motionEvent.getActionMasked() == MotionEvent.ACTION_DOWN) { itemBuilder.getOnItemSelectedListener().drag(item, LocalPlaylistStreamItemHolder.this);