Sync frequency adjustable
This commit is contained in:
@@ -369,7 +369,7 @@ public class MainActivity extends AppCompatActivity
|
|||||||
accountByType,
|
accountByType,
|
||||||
KVVContentProvider.PROVIDER_NAME,
|
KVVContentProvider.PROVIDER_NAME,
|
||||||
Bundle.EMPTY,
|
Bundle.EMPTY,
|
||||||
AccountGeneral.SYNC_INTERVAL);
|
Long.parseLong(Preferences.getString(this, R.array.pref_sync_frequency)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,19 @@
|
|||||||
package de.sebse.fuplanner.fragments;
|
package de.sebse.fuplanner.fragments;
|
||||||
|
|
||||||
|
import android.accounts.Account;
|
||||||
|
import android.content.ContentResolver;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
|
||||||
import androidx.preference.ListPreference;
|
import androidx.preference.ListPreference;
|
||||||
import androidx.preference.Preference;
|
import androidx.preference.Preference;
|
||||||
import androidx.preference.PreferenceFragmentCompat;
|
import androidx.preference.PreferenceFragmentCompat;
|
||||||
|
import de.sebse.fuplanner.MainActivity;
|
||||||
import de.sebse.fuplanner.R;
|
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;
|
import de.sebse.fuplanner.tools.logging.Logger;
|
||||||
|
|
||||||
public class PrefsFragment extends PreferenceFragmentCompat implements SharedPreferences.OnSharedPreferenceChangeListener {
|
public class PrefsFragment extends PreferenceFragmentCompat implements SharedPreferences.OnSharedPreferenceChangeListener {
|
||||||
@@ -46,5 +53,18 @@ public class PrefsFragment extends PreferenceFragmentCompat implements SharedPre
|
|||||||
Preference preference = getPreferenceScreen().findPreference(s);
|
Preference preference = getPreferenceScreen().findPreference(s);
|
||||||
if (preference instanceof ListPreference)
|
if (preference instanceof ListPreference)
|
||||||
preference.setSummary(((ListPreference) preference).getEntry());
|
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) {
|
private void init(Context context) {
|
||||||
mKVV = new KVV(new KVVListener() {
|
mKVV = new KVV(new KVVListener() {
|
||||||
|
|
||||||
CustomAccountManager accountManager = null;
|
CustomAccountManager accountManager = null;
|
||||||
@Override
|
@Override
|
||||||
public CustomAccountManager getAccountManager() {
|
public CustomAccountManager getAccountManager() {
|
||||||
|
|||||||
@@ -6,4 +6,13 @@
|
|||||||
<item>Angestellter</item>
|
<item>Angestellter</item>
|
||||||
<item>Andere</item>
|
<item>Andere</item>
|
||||||
</string-array>
|
</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>
|
</resources>
|
||||||
@@ -43,6 +43,9 @@
|
|||||||
<string name="pref_price_group_title">Kantinenpreisgruppe</string>
|
<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_summary">Zeige nur Preise einer Gruppe</string>
|
||||||
<string name="pref_price_group_dialog">Preisgruppe</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="meals">Hauptgerichte</string>
|
||||||
<string name="special_meals">Spezial Gerichte</string>
|
<string name="special_meals">Spezial Gerichte</string>
|
||||||
<string name="side_dishes">Beilagen</string>
|
<string name="side_dishes">Beilagen</string>
|
||||||
|
|||||||
@@ -12,4 +12,21 @@
|
|||||||
<item>employee</item>
|
<item>employee</item>
|
||||||
<item>other</item>
|
<item>other</item>
|
||||||
</string-array>
|
</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>
|
</resources>
|
||||||
@@ -10,4 +10,11 @@
|
|||||||
<string name="pref_last_visited_news" translatable="false">pref_last_visited_news</string>
|
<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 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>
|
</resources>
|
||||||
@@ -50,6 +50,9 @@
|
|||||||
<string name="pref_price_group_title">Canteen Price Group</string>
|
<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_summary">Only show specific price category</string>
|
||||||
<string name="pref_price_group_dialog">Price Group Selection</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="meals">Meals</string>
|
||||||
<string name="special_meals">Special meals</string>
|
<string name="special_meals">Special meals</string>
|
||||||
<string name="side_dishes">Side Dishes</string>
|
<string name="side_dishes">Side Dishes</string>
|
||||||
|
|||||||
@@ -9,6 +9,14 @@
|
|||||||
android:entries="@array/pref_price_group_entries"
|
android:entries="@array/pref_price_group_entries"
|
||||||
android:entryValues="@array/pref_price_group_values"
|
android:entryValues="@array/pref_price_group_values"
|
||||||
android:dialogTitle="@string/pref_price_group_dialog" />
|
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
|
<PreferenceScreen
|
||||||
android:title="@string/open_data_policy"
|
android:title="@string/open_data_policy"
|
||||||
android:summary="@string/open_data_policy_summary">
|
android:summary="@string/open_data_policy_summary">
|
||||||
|
|||||||
Reference in New Issue
Block a user