mirror of
https://github.com/nerzhul/ownCloud-SMS-App.git
synced 2026-08-22 22:03:10 +00:00
Refactor and fix a problem when changing preferences.
Prepare a new setting to send bulk messages with a message limit
This commit is contained in:
+13
-3
@@ -56,13 +56,14 @@ public class GeneralSettingsActivity extends NrzSettingsActivity {
|
||||
NrzSettingsActivity._boolPrefs.add(new BindObjectPref("sync_others", DefaultPrefs.syncOthers));
|
||||
|
||||
// Bind our string preferences
|
||||
NrzSettingsActivity._stringPrefs.add(new BindObjectPref("sync_frequency", ""));
|
||||
NrzSettingsActivity._stringPrefs.add(new BindObjectPref("sync_frequency", "15"));
|
||||
NrzSettingsActivity._intPrefs.add(new BindObjectPref("sync_bulk_messages", -1));
|
||||
|
||||
// Must be at the end, after preference bind
|
||||
super.onPostCreate(savedInstanceState);
|
||||
}
|
||||
|
||||
protected static void handleCheckboxPreference(String key, Boolean value) {
|
||||
protected void handleCheckboxPreference(String key, Boolean value) {
|
||||
// Network types allowed for sync
|
||||
if("push_on_receive".equals(key) ||
|
||||
"sync_wifi".equals(key) || "sync_2g".equals(key) ||
|
||||
@@ -75,7 +76,7 @@ public class GeneralSettingsActivity extends NrzSettingsActivity {
|
||||
}
|
||||
}
|
||||
|
||||
protected static void handleListPreference(String key, String value,
|
||||
protected void handleListPreference(String key, String value,
|
||||
ListPreference preference) {
|
||||
// For list preferences, look up the correct display value in
|
||||
// the preference's 'entries' list.
|
||||
@@ -86,6 +87,10 @@ public class GeneralSettingsActivity extends NrzSettingsActivity {
|
||||
.setSummary((index >= 0) ? preference.getEntries()[index]
|
||||
: null);
|
||||
|
||||
Log.d(TAG, "Modifying listPreference " + key);
|
||||
|
||||
OCSMSSharedPrefs prefs = new OCSMSSharedPrefs(NrzSettingsActivity._context);
|
||||
|
||||
// Handle sync frequency change
|
||||
if ("sync_frequency".equals(key)) {
|
||||
Account[] myAccountList = GeneralSettingsActivity._accountMgr.getAccountsByType(GeneralSettingsActivity._accountType);
|
||||
@@ -114,7 +119,12 @@ public class GeneralSettingsActivity extends NrzSettingsActivity {
|
||||
ContentResolver.addPeriodicSync(myAccountList[i],
|
||||
GeneralSettingsActivity._accountAuthority, b, syncFreq * 60);
|
||||
}
|
||||
|
||||
prefs.putLong(key, syncFreq);
|
||||
}
|
||||
}
|
||||
else if ("sync_bulk_messages".equals(key)) {
|
||||
prefs.putInteger(key, Integer.parseInt(value));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user