diff options
author | Fup Duck <fupduck@sacknagel.com> | 2018-01-21 18:01:26 +0100 |
---|---|---|
committer | Fup Duck <fupduck@sacknagel.com> | 2018-01-21 18:01:26 +0100 |
commit | 6e45a5bcb4de152543b5dd5d9bd2027fb62f7375 (patch) | |
tree | 426b1e4ffe9578c106884ce6aef01d9dfa1ca56e /app/src/main/java/se/leap/bitmaskclient/ConfigHelper.java | |
parent | 3b6bc548f6197dfbd8a4e55524a3f6e0cdd224c0 (diff) | |
parent | df8b1fcf1ecc55f15229935294a337c897960ff4 (diff) |
Merge remote-tracking branch '0xacab/0.9.8' into 8819_config_wizard_design
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/ConfigHelper.java')
-rw-r--r-- | app/src/main/java/se/leap/bitmaskclient/ConfigHelper.java | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/ConfigHelper.java b/app/src/main/java/se/leap/bitmaskclient/ConfigHelper.java index 0e861059..ccdf5064 100644 --- a/app/src/main/java/se/leap/bitmaskclient/ConfigHelper.java +++ b/app/src/main/java/se/leap/bitmaskclient/ConfigHelper.java @@ -16,6 +16,7 @@ */ package se.leap.bitmaskclient; +import android.content.SharedPreferences; import android.support.annotation.NonNull; import android.util.Log; @@ -28,8 +29,9 @@ import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; -import java.io.UnsupportedEncodingException; import java.math.BigInteger; +import java.net.MalformedURLException; +import java.net.URL; import java.security.KeyFactory; import java.security.KeyStore; import java.security.KeyStoreException; @@ -45,6 +47,7 @@ import java.security.spec.InvalidKeySpecException; import java.security.spec.PKCS8EncodedKeySpec; import static android.R.attr.name; +import static se.leap.bitmaskclient.Constants.PROVIDER_CONFIGURED; /** * Stores constants, and implements auxiliary methods used across all Bitmask Android classes. @@ -256,4 +259,33 @@ public class ConfigHelper { public static KeyStore getKeystore() { return keystore_trusted; } + + + public static String getCurrentProviderName(@NonNull SharedPreferences preferences) { + try { + JSONObject providerDefintion = new JSONObject(preferences.getString(Provider.KEY, "")); + return providerDefintion.getString(Provider.DOMAIN); + } catch (JSONException e) { + e.printStackTrace(); + } + return null; + } + + public static boolean providerInSharedPreferences(@NonNull SharedPreferences preferences) { + return preferences.getBoolean(PROVIDER_CONFIGURED, false); + } + + public static Provider getSavedProviderFromSharedPreferences(@NonNull SharedPreferences preferences) { + Provider provider = new Provider(); + try { + provider.setUrl(new URL(preferences.getString(Provider.MAIN_URL, ""))); + provider.define(new JSONObject(preferences.getString(Provider.KEY, ""))); + provider.setCACert(preferences.getString(Provider.CA_CERT, "")); + } catch (MalformedURLException | JSONException e) { + e.printStackTrace(); + } + + return provider; + } + } |