summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorpeking_ling <lingbjsz@gmail.com>2023-02-24 04:53:56 +0800
committerGitHub <noreply@github.com>2023-02-23 21:53:56 +0100
commit240737e3acee6d6c56ce8ca782b99f54205a4ea9 (patch)
treedb9dd039a1fc2fcc72670b99728f93b5784e684d /app
parent9fed944392ee31f00ef91a01a2c34dddc876a86a (diff)
downloadAntennaPod-240737e3acee6d6c56ce8ca782b99f54205a4ea9.zip
Fix memory leaks (#6335)
Diffstat (limited to 'app')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java8
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java7
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/FeedInfoFragment.java4
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java4
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java4
5 files changed, 22 insertions, 5 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java
index fad586328..9c771f161 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java
@@ -230,6 +230,14 @@ public class MainActivity extends CastEnabledActivity {
}
}
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if (drawerLayout != null) {
+ drawerLayout.removeDrawerListener(drawerToggle);
+ }
+ }
+
private void checkFirstLaunch() {
SharedPreferences prefs = getSharedPreferences(PREF_NAME, MODE_PRIVATE);
if (prefs.getBoolean(PREF_IS_FIRST_LAUNCH, true)) {
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java
index 6d91765da..f615252bd 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/CompletedDownloadsFragment.java
@@ -73,12 +73,13 @@ public class CompletedDownloadsFragment extends Fragment
private SpeedDialView speedDialView;
private SwipeActions swipeActions;
private ProgressBar progressBar;
+ private MaterialToolbar toolbar;
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
View root = inflater.inflate(R.layout.simple_list_fragment, container, false);
- MaterialToolbar toolbar = root.findViewById(R.id.toolbar);
+ toolbar = root.findViewById(R.id.toolbar);
toolbar.setTitle(R.string.downloads_label);
toolbar.inflateMenu(R.menu.downloads_completed);
inflateSortMenu(toolbar);
@@ -168,6 +169,10 @@ public class CompletedDownloadsFragment extends Fragment
public void onDestroyView() {
EventBus.getDefault().unregister(this);
adapter.endSelectMode();
+ if (toolbar != null) {
+ toolbar.setOnMenuItemClickListener(null);
+ toolbar.setOnLongClickListener(null);
+ }
super.onDestroyView();
}
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/FeedInfoFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/FeedInfoFragment.java
index 32ab5d9e5..930440b39 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/FeedInfoFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/FeedInfoFragment.java
@@ -196,7 +196,7 @@ public class FeedInfoFragment extends Fragment implements MaterialToolbar.OnMenu
Log.d(TAG, "Language is " + feed.getLanguage());
Log.d(TAG, "Author is " + feed.getAuthor());
Log.d(TAG, "URL is " + feed.getDownload_url());
- Glide.with(getContext())
+ Glide.with(this)
.load(feed.getImageUrl())
.apply(new RequestOptions()
.placeholder(R.color.light_gray)
@@ -204,7 +204,7 @@ public class FeedInfoFragment extends Fragment implements MaterialToolbar.OnMenu
.fitCenter()
.dontAnimate())
.into(imgvCover);
- Glide.with(getContext())
+ Glide.with(this)
.load(feed.getImageUrl())
.apply(new RequestOptions()
.placeholder(R.color.image_readability_tint)
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java
index 31a7d81fb..df48c9a98 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java
@@ -297,9 +297,9 @@ public class ItemFragment extends Fragment {
new RoundedCorners((int) (8 * getResources().getDisplayMetrics().density)))
.dontAnimate();
- Glide.with(getActivity())
+ Glide.with(this)
.load(item.getImageLocation())
- .error(Glide.with(getActivity())
+ .error(Glide.with(this)
.load(ImageResourceUtils.getFallbackImageLocation(item))
.apply(options))
.apply(options)
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java
index 4e8999d0f..bb22c5652 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java
@@ -251,6 +251,10 @@ public class QueueFragment extends Fragment implements MaterialToolbar.OnMenuIte
recyclerAdapter.endSelectMode();
}
recyclerAdapter = null;
+ if (toolbar != null) {
+ toolbar.setOnMenuItemClickListener(null);
+ toolbar.setOnLongClickListener(null);
+ }
}
private void refreshToolbarState() {