From: Nathaniel Wesley Filardo Date: Mon, 28 Feb 2022 21:37:09 +0000 (+0000) Subject: service binder: encapsulate handling of default server URL X-Git-Url: https://hydra-www.ietfng.org/gitweb/?a=commitdiff_plain;h=acea7a299f78109bfc945d20f339777bc20f6ea1;p=acmetensortoys-ctfws-android service binder: encapsulate handling of default server URL --- diff --git a/mobile/src/main/java/com/acmetensortoys/ctfwstimer/service/MainService.java b/mobile/src/main/java/com/acmetensortoys/ctfwstimer/service/MainService.java index f27e96b..682f460 100644 --- a/mobile/src/main/java/com/acmetensortoys/ctfwstimer/service/MainService.java +++ b/mobile/src/main/java/com/acmetensortoys/ctfwstimer/service/MainService.java @@ -312,23 +312,23 @@ public class MainService extends Service { Log.d("Service", "Connect dispatched"); } + private String getServerFromPrefs(SharedPreferences sharedPreferences) { + boolean useDefault = sharedPreferences.getBoolean("server_def", true); + return useDefault + ? getString(R.string.server_default) + : sharedPreferences.getString("server", null); + } + // Must hold strongly since Android only holds weakly once registered. private final SharedPreferences.OnSharedPreferenceChangeListener mOSPCL - = new SharedPreferences.OnSharedPreferenceChangeListener() { - @Override - public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { - switch(key) { - case "server_def" : - case "server": - boolean useDefault = sharedPreferences.getBoolean("server_def", true); - String server = useDefault - ? getString(R.string.server_default) - : sharedPreferences.getString("server", null); - doMqtt(server); - break; - } - } - }; + = (sharedPreferences, key) -> { + switch(key) { + case "server_def" : + case "server": + doMqtt(getServerFromPrefs(sharedPreferences)); + break; + } + }; // MQTT Observers public enum MqttServerEvent { @@ -388,7 +388,7 @@ public class MainService extends Service { SharedPreferences sp = PreferenceManager .getDefaultSharedPreferences(MainService.this); sp.registerOnSharedPreferenceChangeListener(mOSPCL); - doMqtt(sp.getString("server", null)); + doMqtt(getServerFromPrefs(sp)); } } public void registerObserver(Observer o) { @@ -411,6 +411,10 @@ public class MainService extends Service { public void exit() { mMsn.ensureNoNotification(true); } + + public String debugGetServerURL() { + return mMqc.getServerURI(); + } } private final LocalBinder mBinder = new LocalBinder();