From e30dfc13b33491dcfb1e0575f56e1566b449f337 Mon Sep 17 00:00:00 2001 From: Twig N Date: Wed, 8 Jan 2020 00:36:08 +1100 Subject: [PATCH] Dont store loaders and adapters in class variables if we dont need to --- .../transdroid/core/gui/remoterss/RemoteRssFragment.java | 8 ++++++-- .../org/transdroid/core/gui/rss/RssfeedsActivity.java | 5 ++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/org/transdroid/core/gui/remoterss/RemoteRssFragment.java b/app/src/main/java/org/transdroid/core/gui/remoterss/RemoteRssFragment.java index 34b9b259..e73de91c 100644 --- a/app/src/main/java/org/transdroid/core/gui/remoterss/RemoteRssFragment.java +++ b/app/src/main/java/org/transdroid/core/gui/remoterss/RemoteRssFragment.java @@ -62,7 +62,7 @@ public class RemoteRssFragment extends Fragment { @ViewById protected TextView remoterssStatusMessage; - protected RemoteRssItemsAdapter adapter; +// protected RemoteRssItemsAdapter adapter; @AfterViews protected void init() { @@ -70,7 +70,7 @@ public class RemoteRssFragment extends Fragment { setHasOptionsMenu(true); // Set up details adapter - adapter = new RemoteRssItemsAdapter(getActivity()); + RemoteRssItemsAdapter adapter = new RemoteRssItemsAdapter(getActivity()); torrentsList.setAdapter(adapter); torrentsList.setFastScrollEnabled(true); } @@ -85,8 +85,11 @@ public class RemoteRssFragment extends Fragment { * Updates the UI with a new list of RSS items. */ public void updateRemoteItems(List remoteItems, boolean scrollToTop) { + RemoteRssItemsAdapter adapter = (RemoteRssItemsAdapter) torrentsList.getAdapter(); + remoteRssItems = new ArrayList<>(remoteItems); adapter.updateItems(remoteRssItems); + if (scrollToTop) { torrentsList.smoothScrollToPosition(0); } @@ -109,6 +112,7 @@ public class RemoteRssFragment extends Fragment { */ @ItemClick(resName = "torrents_list") protected void detailsListClicked(int position) { + RemoteRssItemsAdapter adapter = (RemoteRssItemsAdapter) torrentsList.getAdapter(); RemoteRssItem item = (RemoteRssItem) adapter.getItem(position); ((RssfeedsActivity) getActivity()).downloadRemoteRssItem(item); diff --git a/app/src/main/java/org/transdroid/core/gui/rss/RssfeedsActivity.java b/app/src/main/java/org/transdroid/core/gui/rss/RssfeedsActivity.java index c2d0e494..e5671ded 100644 --- a/app/src/main/java/org/transdroid/core/gui/rss/RssfeedsActivity.java +++ b/app/src/main/java/org/transdroid/core/gui/rss/RssfeedsActivity.java @@ -83,11 +83,10 @@ public class RssfeedsActivity extends AppCompatActivity { @Bean protected ApplicationSettings applicationSettings; - protected List loaders; - // Contained feeds and items fragments protected RssfeedsFragment fragmentFeeds; protected RemoteRssFragment fragmentRemoteFeeds; + @FragmentById(R.id.rssitems_fragment) protected RssitemsFragment fragmentItems; @ViewById @@ -183,7 +182,7 @@ public class RssfeedsActivity extends AppCompatActivity { * Reload the RSS feed settings and start loading all the feeds. To be called from contained fragments. */ public void refreshFeeds() { - loaders = new ArrayList<>(); + List loaders = new ArrayList<>(); // For each RSS feed setting the user created, start a loader that retrieved the RSS feed (via a background // thread) and, on success, determines the new items in the feed for (RssfeedSetting setting : applicationSettings.getRssfeedSettings()) {