Commit 2f682ef3 authored by Mygod's avatar Mygod

Fix service reattaching on entering settings

parent d3903cbc
......@@ -32,10 +32,7 @@ import com.takisoft.fix.support.v7.preference.PreferenceFragmentCompatDividers
class GlobalConfigFragment extends PreferenceFragmentCompatDividers {
override def onCreatePreferencesFix(bundle: Bundle, key: String) {
getPreferenceManager.setPreferenceDataStore(app.dataStore)
app.dataStore.putString(Key.serviceMode, app.dataStore.serviceMode) // temporary workaround for support lib bug
app.dataStore.putString(Key.portProxy, app.dataStore.portProxy.toString)
app.dataStore.putString(Key.portLocalDns, app.dataStore.portLocalDns.toString)
app.dataStore.putString(Key.portTransproxy, app.dataStore.portTransproxy.toString)
app.dataStore.initGlobal()
addPreferencesFromResource(R.xml.pref_global)
val switch = findPreference(Key.isAutoConnect).asInstanceOf[SwitchPreference]
switch.setOnPreferenceChangeListener((_, value) => {
......
......@@ -125,4 +125,12 @@ final class OrmLitePreferenceDataStore(dbHelper: DBHelper) extends PreferenceDat
def plugin_=(value: String): Unit = putString(Key.plugin, value)
def dirty: Boolean = getBoolean(Key.dirty)
def dirty_=(value: Boolean): Unit = putBoolean(Key.dirty, value)
def initGlobal() {
// temporary workaround for support lib bug
if (getString(Key.serviceMode) == null) putString(Key.serviceMode, serviceMode)
if (getString(Key.portProxy) == null) putString(Key.portProxy, portProxy.toString)
if (getString(Key.portLocalDns) == null) putString(Key.portLocalDns, portLocalDns.toString)
if (getString(Key.portTransproxy) == null) putString(Key.portTransproxy, portTransproxy.toString)
}
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment