From cbf591446071facafd8fc65efd76931fe5848b4f Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Mon, 15 Aug 2016 22:49:49 +0200 Subject: [PATCH] if the "Keep Cache Time" pref changes, reschedule CleanCacheService Before, CleanCacheService was only scheduled at app start for once a day. If the user selects a time less than a day, then CleanCacheService should run more frequently. closes #719 --- .../fdroid/views/fragments/PreferencesFragment.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/app/src/main/java/org/fdroid/fdroid/views/fragments/PreferencesFragment.java b/app/src/main/java/org/fdroid/fdroid/views/fragments/PreferencesFragment.java index ff29171f6..4660ec344 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/fragments/PreferencesFragment.java +++ b/app/src/main/java/org/fdroid/fdroid/views/fragments/PreferencesFragment.java @@ -15,6 +15,7 @@ import android.text.Html; import android.text.TextUtils; import org.fdroid.fdroid.AppDetails; +import org.fdroid.fdroid.CleanCacheService; import org.fdroid.fdroid.FDroidApp; import org.fdroid.fdroid.Preferences; import org.fdroid.fdroid.PreferencesActivity; @@ -49,6 +50,7 @@ public class PreferencesFragment extends PreferenceFragment private static final int REQUEST_INSTALL_ORBOT = 0x1234; private CheckBoxPreference enableProxyCheckPref; private CheckBoxPreference useTorCheckPref; + private long currentKeepCacheTime; @Override public void onCreate(Bundle savedInstanceState) { @@ -144,6 +146,10 @@ public class PreferencesFragment extends PreferenceFragment case Preferences.PREF_KEEP_CACHE_TIME: entrySummary(key); + if (changing + && currentKeepCacheTime != Preferences.get().getKeepCacheTime()) { + CleanCacheService.schedule(getContext()); + } break; case Preferences.PREF_EXPERT: @@ -283,6 +289,8 @@ public class PreferencesFragment extends PreferenceFragment updateSummary(key, false); } + currentKeepCacheTime = Preferences.get().getKeepCacheTime(); + initPrivilegedInstallerPreference(); initManagePrivilegedAppPreference(); // this pref's default is dynamically set based on whether Orbot is installed