summaryrefslogtreecommitdiff
path: root/app/src/main/java/se/leap/bitmaskclient/tor/TorStatusObservable.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/tor/TorStatusObservable.java')
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/tor/TorStatusObservable.java12
1 files changed, 11 insertions, 1 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/tor/TorStatusObservable.java b/app/src/main/java/se/leap/bitmaskclient/tor/TorStatusObservable.java
index c924caee..7eee1a9d 100644
--- a/app/src/main/java/se/leap/bitmaskclient/tor/TorStatusObservable.java
+++ b/app/src/main/java/se/leap/bitmaskclient/tor/TorStatusObservable.java
@@ -178,7 +178,6 @@ public class TorStatusObservable extends Observable {
if (getInstance().status == TorStatus.OFF) {
getInstance().torNotificationManager.cancelNotifications(context);
getInstance().cancelled = false;
- getInstance().port = -1;
} else {
if (logKey != null) {
getInstance().lastTorLog = getStringFor(context, logKey);
@@ -264,6 +263,10 @@ public class TorStatusObservable extends Observable {
}
public static String getStringForCurrentStatus(Context context) {
+ if (context == null) {
+ return "";
+ }
+
switch (getInstance().status) {
case ON:
return context.getString(R.string.tor_started);
@@ -280,6 +283,8 @@ public class TorStatusObservable extends Observable {
public static void markCancelled() {
if (!getInstance().cancelled) {
getInstance().cancelled = true;
+ getInstance().port = -1;
+ getInstance().setChanged();
getInstance().notifyObservers();
}
}
@@ -287,4 +292,9 @@ public class TorStatusObservable extends Observable {
public static boolean isCancelled() {
return getInstance().cancelled;
}
+
+ public static boolean isRunning() {
+ return !TorStatusObservable.isCancelled() &&
+ TorStatusObservable.getStatus() != TorStatusObservable.TorStatus.OFF;
+ }
}