summaryrefslogtreecommitdiff
path: root/app/src/main/java/se/leap/bitmaskclient/tethering/TetheringObservable.java
diff options
context:
space:
mode:
authorcyberta <cyberta@riseup.net>2020-01-30 16:14:22 -0600
committercyberta <cyberta@riseup.net>2020-01-30 16:14:22 -0600
commit97a117cb3bbc022ee16008dea9896a8dfea7c681 (patch)
tree8e3684e0012d3148ed1598ab6f839a562660cd13 /app/src/main/java/se/leap/bitmaskclient/tethering/TetheringObservable.java
parentb9e4195573da146d48e5921c65dc57273d94ccd2 (diff)
implement usb tethering
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/tethering/TetheringObservable.java')
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/tethering/TetheringObservable.java37
1 files changed, 23 insertions, 14 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/tethering/TetheringObservable.java b/app/src/main/java/se/leap/bitmaskclient/tethering/TetheringObservable.java
index b84f3494..75d29417 100644
--- a/app/src/main/java/se/leap/bitmaskclient/tethering/TetheringObservable.java
+++ b/app/src/main/java/se/leap/bitmaskclient/tethering/TetheringObservable.java
@@ -16,6 +16,8 @@
*/
package se.leap.bitmaskclient.tethering;
+import android.support.annotation.NonNull;
+
import java.util.Observable;
public class TetheringObservable extends Observable {
@@ -43,40 +45,47 @@ public class TetheringObservable extends Observable {
}
public static void allowVpnUsbTethering(boolean enabled) {
- if (getInstance().tetheringState.isUsbTetheringEnabled != enabled) {
- getInstance().tetheringState.isUsbTetheringEnabled = enabled;
+ if (getInstance().tetheringState.isVpnUsbTetheringAllowed != enabled) {
+ getInstance().tetheringState.isVpnUsbTetheringAllowed = enabled;
getInstance().setChanged();
getInstance().notifyObservers();
}
}
public static void allowVpnBluetoothTethering(boolean enabled) {
- if (getInstance().tetheringState.isBluetoothTetheringEnabled != enabled) {
- getInstance().tetheringState.isBluetoothTetheringEnabled = enabled;
+ if (getInstance().tetheringState.isVpnBluetoothTetheringAllowed != enabled) {
+ getInstance().tetheringState.isVpnBluetoothTetheringAllowed = enabled;
getInstance().setChanged();
getInstance().notifyObservers();
}
}
- static void setWifiTethering(boolean enabled, String address, String interfaceName) {
+ static void setWifiTethering(boolean enabled, @NonNull String address, @NonNull String interfaceName) {
if (getInstance().tetheringState.isWifiTetheringEnabled != enabled ||
!getInstance().tetheringState.wifiInterface.equals(interfaceName) ||
!getInstance().tetheringState.wifiAddress.equals(address)) {
- getInstance().tetheringState.isWifiTetheringEnabled = enabled;
- getInstance().tetheringState.wifiInterface = interfaceName;
- getInstance().tetheringState.wifiAddress = address;
- if ("".equals(address)) {
- getInstance().tetheringState.lastWifiAddress = address;
- }
+ TetheringState state = getInstance().tetheringState;
+ state.isWifiTetheringEnabled = enabled;
+ state.wifiInterface = interfaceName;
+ state.wifiAddress = address;
+ state.lastSeenWifiAddress = address.isEmpty() ? state.lastSeenWifiAddress : address;
+ state.lastSeenWifiInterface = interfaceName.isEmpty() ? state.lastSeenWifiInterface : interfaceName;
getInstance().setChanged();
getInstance().notifyObservers();
}
}
- static void setUsbTethering(boolean enabled) {
- if (getInstance().tetheringState.isUsbTetheringEnabled != enabled) {
- getInstance().tetheringState.isUsbTetheringEnabled = enabled;
+ static void setUsbTethering(boolean enabled, @NonNull String address, @NonNull String interfaceName) {
+ if (getInstance().tetheringState.isUsbTetheringEnabled != enabled ||
+ !getInstance().tetheringState.usbAddress.equals(address) ||
+ !getInstance().tetheringState.usbInterface.equals(interfaceName)) {
+ TetheringState state = getInstance().tetheringState;
+ state.isUsbTetheringEnabled = enabled;
+ state.usbAddress = address;
+ state.usbInterface = interfaceName;
+ state.lastSeenUsbAddress = address.isEmpty() ? state.lastSeenUsbAddress : address;
+ state.lastSeenUsbInterface = interfaceName.isEmpty() ? state.lastSeenUsbInterface : interfaceName;
getInstance().setChanged();
getInstance().notifyObservers();
}