Sync frequency adjustable
This commit is contained in:
@@ -369,7 +369,7 @@ public class MainActivity extends AppCompatActivity
|
||||
accountByType,
|
||||
KVVContentProvider.PROVIDER_NAME,
|
||||
Bundle.EMPTY,
|
||||
AccountGeneral.SYNC_INTERVAL);
|
||||
Long.parseLong(Preferences.getString(this, R.array.pref_sync_frequency)));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,12 +1,19 @@
|
||||
package de.sebse.fuplanner.fragments;
|
||||
|
||||
import android.accounts.Account;
|
||||
import android.content.ContentResolver;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.preference.ListPreference;
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceFragmentCompat;
|
||||
|
||||
import de.sebse.fuplanner.MainActivity;
|
||||
import de.sebse.fuplanner.R;
|
||||
import de.sebse.fuplanner.services.fulogin.AccountGeneral;
|
||||
import de.sebse.fuplanner.services.kvv.sync.KVVContentProvider;
|
||||
import de.sebse.fuplanner.tools.CustomAccountManager;
|
||||
import de.sebse.fuplanner.tools.Preferences;
|
||||
import de.sebse.fuplanner.tools.logging.Logger;
|
||||
|
||||
public class PrefsFragment extends PreferenceFragmentCompat implements SharedPreferences.OnSharedPreferenceChangeListener {
|
||||
@@ -46,5 +53,18 @@ public class PrefsFragment extends PreferenceFragmentCompat implements SharedPre
|
||||
Preference preference = getPreferenceScreen().findPreference(s);
|
||||
if (preference instanceof ListPreference)
|
||||
preference.setSummary(((ListPreference) preference).getEntry());
|
||||
|
||||
if (getActivity() != null && getActivity() instanceof MainActivity) {
|
||||
CustomAccountManager accountManager = ((MainActivity) getActivity()).getAccountManager();
|
||||
Account accountByType = accountManager.getAccountByType(AccountGeneral.ACCOUNT_TYPE);
|
||||
if (accountByType != null) {
|
||||
ContentResolver.setSyncAutomatically(accountByType, KVVContentProvider.PROVIDER_NAME, true);
|
||||
ContentResolver.addPeriodicSync(
|
||||
accountByType,
|
||||
KVVContentProvider.PROVIDER_NAME,
|
||||
Bundle.EMPTY,
|
||||
Long.parseLong(Preferences.getString(getActivity(), R.array.pref_sync_frequency)));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -55,7 +55,6 @@ public class KVVSyncAdapter extends AbstractThreadedSyncAdapter {
|
||||
|
||||
private void init(Context context) {
|
||||
mKVV = new KVV(new KVVListener() {
|
||||
|
||||
CustomAccountManager accountManager = null;
|
||||
@Override
|
||||
public CustomAccountManager getAccountManager() {
|
||||
|
||||
@@ -6,4 +6,13 @@
|
||||
<item>Angestellter</item>
|
||||
<item>Andere</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="pref_sync_frequency_entries">
|
||||
<item>Jede Stunde</item>
|
||||
<item>Alle 2 Stunden</item>
|
||||
<item>Alle 4 Stunden</item>
|
||||
<item>Alle 6 Stunden</item>
|
||||
<item>Alle 12 Stunden</item>
|
||||
<item>Alle 24 Stunden</item>
|
||||
</string-array>
|
||||
</resources>
|
||||
@@ -43,6 +43,9 @@
|
||||
<string name="pref_price_group_title">Kantinenpreisgruppe</string>
|
||||
<string name="pref_price_group_summary">Zeige nur Preise einer Gruppe</string>
|
||||
<string name="pref_price_group_dialog">Preisgruppe</string>
|
||||
<string name="pref_sync_frequency_title">Synchronisationshäufigkeit</string>
|
||||
<string name="pref_sync_frequency_summary">Stellt Häufigkeit der automatischen Synchronisation ein</string>
|
||||
<string name="pref_sync_frequency_dialog">Sync-Frequenz</string>
|
||||
<string name="meals">Hauptgerichte</string>
|
||||
<string name="special_meals">Spezial Gerichte</string>
|
||||
<string name="side_dishes">Beilagen</string>
|
||||
|
||||
@@ -12,4 +12,21 @@
|
||||
<item>employee</item>
|
||||
<item>other</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="pref_sync_frequency_entries">
|
||||
<item>Every hour</item>
|
||||
<item>Every 2 hours</item>
|
||||
<item>Every 4 hours</item>
|
||||
<item>Every 6 hours</item>
|
||||
<item>Every 12 hours</item>
|
||||
<item>Every 24 hours</item>
|
||||
</string-array>
|
||||
<string-array name="pref_sync_frequency_values" translatable="false">
|
||||
<item>1</item>
|
||||
<item>2</item>
|
||||
<item>4</item>
|
||||
<item>6</item>
|
||||
<item>12</item>
|
||||
<item>24</item>
|
||||
</string-array>
|
||||
</resources>
|
||||
@@ -10,4 +10,11 @@
|
||||
<string name="pref_last_visited_news" translatable="false">pref_last_visited_news</string>
|
||||
|
||||
<string name="pref_set_auto_sync_on_startup" translatable="false">pref_set_auto_sync_on_startup</string>
|
||||
|
||||
<string-array name="pref_sync_frequency" translatable="false">
|
||||
<item>@string/pref_sync_frequency</item>
|
||||
<item>@string/pref_sync_frequency_default</item>
|
||||
</string-array>
|
||||
<string name="pref_sync_frequency" translatable="false">pref_sync_frequency</string>
|
||||
<string name="pref_sync_frequency_default" translatable="false">6</string>
|
||||
</resources>
|
||||
@@ -50,6 +50,9 @@
|
||||
<string name="pref_price_group_title">Canteen Price Group</string>
|
||||
<string name="pref_price_group_summary">Only show specific price category</string>
|
||||
<string name="pref_price_group_dialog">Price Group Selection</string>
|
||||
<string name="pref_sync_frequency_title">Sync frequency</string>
|
||||
<string name="pref_sync_frequency_summary">Set automatic background sync frequency</string>
|
||||
<string name="pref_sync_frequency_dialog">Frequency selection</string>
|
||||
<string name="meals">Meals</string>
|
||||
<string name="special_meals">Special meals</string>
|
||||
<string name="side_dishes">Side Dishes</string>
|
||||
|
||||
@@ -9,6 +9,14 @@
|
||||
android:entries="@array/pref_price_group_entries"
|
||||
android:entryValues="@array/pref_price_group_values"
|
||||
android:dialogTitle="@string/pref_price_group_dialog" />
|
||||
<ListPreference
|
||||
android:key="@string/pref_sync_frequency"
|
||||
android:defaultValue="@string/pref_sync_frequency_default"
|
||||
android:title="@string/pref_sync_frequency_title"
|
||||
android:summary="@string/pref_sync_frequency_summary"
|
||||
android:entries="@array/pref_sync_frequency_entries"
|
||||
android:entryValues="@array/pref_sync_frequency_values"
|
||||
android:dialogTitle="@string/pref_sync_frequency_dialog" />
|
||||
<PreferenceScreen
|
||||
android:title="@string/open_data_policy"
|
||||
android:summary="@string/open_data_policy_summary">
|
||||
|
||||
Reference in New Issue
Block a user