summaryrefslogtreecommitdiff
path: root/app/src/main/java/se/leap/bitmaskclient/base/utils
diff options
context:
space:
mode:
authorcyBerta <cyberta@riseup.net>2021-11-25 03:21:51 +0100
committercyBerta <cyberta@riseup.net>2021-11-25 03:23:07 +0100
commit4795e984c940a7bbf1c2e2cae6e5eb1cf143ba4e (patch)
tree7f9ecf27ea203335fddcee3085d55e0c7fe5b8cf /app/src/main/java/se/leap/bitmaskclient/base/utils
parent5a2ff7c85f13fe2e875e4ca7ec4192df0e896d01 (diff)
implement UI to enable/disable tor in settings fragment
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/base/utils')
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/base/utils/PreferenceHelper.java37
1 files changed, 28 insertions, 9 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/base/utils/PreferenceHelper.java b/app/src/main/java/se/leap/bitmaskclient/base/utils/PreferenceHelper.java
index 40b7fc05..515ec282 100644
--- a/app/src/main/java/se/leap/bitmaskclient/base/utils/PreferenceHelper.java
+++ b/app/src/main/java/se/leap/bitmaskclient/base/utils/PreferenceHelper.java
@@ -2,6 +2,7 @@ package se.leap.bitmaskclient.base.utils;
import android.content.Context;
import android.content.SharedPreferences;
+import android.preference.Preference;
import androidx.annotation.NonNull;
import androidx.annotation.WorkerThread;
@@ -37,7 +38,7 @@ import static se.leap.bitmaskclient.base.models.Constants.SHARED_PREFERENCES;
import static se.leap.bitmaskclient.base.models.Constants.SHOW_EXPERIMENTAL;
import static se.leap.bitmaskclient.base.models.Constants.USE_BRIDGES;
import static se.leap.bitmaskclient.base.models.Constants.USE_IPv6_FIREWALL;
-import static se.leap.bitmaskclient.base.models.Constants.USE_TOR;
+import static se.leap.bitmaskclient.base.models.Constants.USE_SNOWFLAKE;
/**
* Created by cyberta on 18.03.18.
@@ -155,20 +156,29 @@ public class PreferenceHelper {
public static void useBridges(Context context, boolean isEnabled) {
putBoolean(context, USE_BRIDGES, isEnabled);
- putBoolean(context, USE_TOR, isEnabled);
+ }
+
+ public static Boolean getUseSnowflake(SharedPreferences preferences) {
+ return preferences.getBoolean(USE_SNOWFLAKE, true);
+ }
+
+ public static void useSnowflake(Context context, boolean isEnabled) {
+ putBoolean(context, USE_SNOWFLAKE, isEnabled);
if (!isEnabled) {
TorStatusObservable.setProxyPort(-1);
}
}
- // in contrast to USE_BRIDGES, USE_TOR in enabled by default
- // This way the initial provider setup can rely on tor as fallback circumvention mechanism
- public static Boolean getUseTor(SharedPreferences preferences) {
- return preferences.getBoolean(USE_TOR, true);
+ public static boolean hasSnowflakePrefs(SharedPreferences preferences) {
+ return preferences.contains(USE_SNOWFLAKE);
}
- public static Boolean getUseTor(Context context) {
- return getBoolean(context, USE_TOR, true);
+ public static boolean hasSnowflakePrefs(Context context) {
+ return hasKey(context, USE_SNOWFLAKE);
+ }
+
+ public static Boolean getUseSnowflake(Context context) {
+ return getBoolean(context, USE_SNOWFLAKE, true);
}
public static void saveBattery(Context context, boolean isEnabled) {
@@ -306,7 +316,7 @@ public class PreferenceHelper {
preferences.edit().putString(key, value).apply();
}
- public static Boolean getBoolean(Context context, String key, Boolean defValue) {
+ public static boolean getBoolean(Context context, String key, Boolean defValue) {
if (context == null) {
return false;
}
@@ -323,4 +333,13 @@ public class PreferenceHelper {
SharedPreferences preferences = context.getSharedPreferences(SHARED_PREFERENCES, MODE_PRIVATE);
preferences.edit().putBoolean(key, value).apply();
}
+
+ private static Boolean hasKey(Context context, String key) {
+ if (context == null) {
+ return false;
+ }
+
+ SharedPreferences preferences = context.getSharedPreferences(SHARED_PREFERENCES, MODE_PRIVATE);
+ return preferences.contains(key);
+ }
}