reschedule UpdateService based on data/wifi/interval preference changes
JobScheduler also take network type into account. #1381
This commit is contained in:
parent
5946d198b0
commit
9c7d97a379
@ -72,6 +72,9 @@ public class PreferencesFragment extends PreferenceFragment
|
|||||||
private Preference updateAutoDownloadPref;
|
private Preference updateAutoDownloadPref;
|
||||||
private Preference updatePrivilegedExtensionPref;
|
private Preference updatePrivilegedExtensionPref;
|
||||||
private long currentKeepCacheTime;
|
private long currentKeepCacheTime;
|
||||||
|
private int overWifiPrevious;
|
||||||
|
private int overDataPrevious;
|
||||||
|
private int updateIntervalPrevious;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreatePreferences(Bundle bundle, String s) {
|
public void onCreatePreferences(Bundle bundle, String s) {
|
||||||
@ -85,8 +88,11 @@ public class PreferencesFragment extends PreferenceFragment
|
|||||||
updatePrivilegedExtensionPref = findPreference(Preferences.PREF_UNINSTALL_PRIVILEGED_APP);
|
updatePrivilegedExtensionPref = findPreference(Preferences.PREF_UNINSTALL_PRIVILEGED_APP);
|
||||||
|
|
||||||
overWifiSeekBar = (SeekBarPreference) findPreference(Preferences.PREF_OVER_WIFI);
|
overWifiSeekBar = (SeekBarPreference) findPreference(Preferences.PREF_OVER_WIFI);
|
||||||
|
overWifiPrevious = overWifiSeekBar.getValue();
|
||||||
overDataSeekBar = (SeekBarPreference) findPreference(Preferences.PREF_OVER_DATA);
|
overDataSeekBar = (SeekBarPreference) findPreference(Preferences.PREF_OVER_DATA);
|
||||||
|
overDataPrevious = overDataSeekBar.getValue();
|
||||||
updateIntervalSeekBar = (SeekBarPreference) findPreference(Preferences.PREF_UPDATE_INTERVAL);
|
updateIntervalSeekBar = (SeekBarPreference) findPreference(Preferences.PREF_UPDATE_INTERVAL);
|
||||||
|
updateIntervalPrevious = updateIntervalSeekBar.getValue();
|
||||||
|
|
||||||
ListPreference languagePref = (ListPreference) findPreference(Preferences.PREF_LANGUAGE);
|
ListPreference languagePref = (ListPreference) findPreference(Preferences.PREF_LANGUAGE);
|
||||||
if (Build.VERSION.SDK_INT >= 24) {
|
if (Build.VERSION.SDK_INT >= 24) {
|
||||||
@ -422,6 +428,13 @@ public class PreferencesFragment extends PreferenceFragment
|
|||||||
super.onPause();
|
super.onPause();
|
||||||
getPreferenceScreen().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this);
|
getPreferenceScreen().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this);
|
||||||
Preferences.get().configureProxy();
|
Preferences.get().configureProxy();
|
||||||
|
|
||||||
|
if (updateIntervalPrevious != updateIntervalSeekBar.getValue()) {
|
||||||
|
UpdateService.schedule(getActivity());
|
||||||
|
} else if (Build.VERSION.SDK_INT >= 21 &&
|
||||||
|
(overWifiPrevious != overWifiSeekBar.getValue() || overDataPrevious != overDataSeekBar.getValue())) {
|
||||||
|
UpdateService.schedule(getActivity());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -436,5 +449,4 @@ public class PreferencesFragment extends PreferenceFragment
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user