From 810e8eae0d2d77d55574f9b9310afb6f9c064571 Mon Sep 17 00:00:00 2001 From: Peter Serwylo Date: Thu, 26 May 2016 10:58:17 +1000 Subject: [PATCH] Use initLoader instead of resetartLoader. Call onResume after setting category. While investigating the infamous issue #606, I noticed these two things which were a little off. Firstly, we were doing more queries than required, because the loader was being forceably recreated when it could instead be reused in onResume. Also, the onResume method (which results in a cursor beign created) should be called _after_ setting the selected category. This ensures that the query which is run has the correct category the first time, and needn't be run again. I am not confident that this fixes the issue, but it seems to help, and I believe it is the correct thing to do even if it doesn't fix 606. --- .../java/org/fdroid/fdroid/views/fragments/AppListFragment.java | 2 +- .../fdroid/fdroid/views/fragments/AvailableAppsFragment.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/fdroid/fdroid/views/fragments/AppListFragment.java b/app/src/main/java/org/fdroid/fdroid/views/fragments/AppListFragment.java index 3a37171a7..fa49019f8 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/fragments/AppListFragment.java +++ b/app/src/main/java/org/fdroid/fdroid/views/fragments/AppListFragment.java @@ -117,7 +117,7 @@ public abstract class AppListFragment extends ListFragment implements super.onResume(); //Starts a new or restarts an existing Loader in this manager - getLoaderManager().restartLoader(0, null, this); + getLoaderManager().initLoader(0, null, this); } @Override diff --git a/app/src/main/java/org/fdroid/fdroid/views/fragments/AvailableAppsFragment.java b/app/src/main/java/org/fdroid/fdroid/views/fragments/AvailableAppsFragment.java index 2ee13edf4..aae67ffd7 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/fragments/AvailableAppsFragment.java +++ b/app/src/main/java/org/fdroid/fdroid/views/fragments/AvailableAppsFragment.java @@ -206,7 +206,6 @@ public class AvailableAppsFragment extends AppListFragment implements @Override public void onResume() { - super.onResume(); /* restore the saved Category Spinner position */ Activity activity = getActivity(); SharedPreferences p = activity.getSharedPreferences(PREFERENCES_FILE, Context.MODE_PRIVATE); @@ -222,6 +221,7 @@ public class AvailableAppsFragment extends AppListFragment implements } setCurrentCategory(currentCategory); + super.onResume(); } @Override