summaryrefslogtreecommitdiff
path: root/app/src/main/java/se/leap/bitmaskclient/fragments
diff options
context:
space:
mode:
authorcyBerta <cyberta@riseup.net>2020-01-08 05:06:23 +0100
committercyberta <cyberta@riseup.net>2020-01-24 10:38:35 -0600
commite67c55d2d39fea60ee06ca14ca7b61ba638b7f2a (patch)
treeae79cbe449a572542d669f194341ca552d5569fb /app/src/main/java/se/leap/bitmaskclient/fragments
parent01e2f7e8f76248c791bd61429687da7c2cb584b9 (diff)
implement bluetooth tethering detection, refactor TetheringObservable
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/fragments')
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/fragments/TetheringDialog.java38
1 files changed, 31 insertions, 7 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/fragments/TetheringDialog.java b/app/src/main/java/se/leap/bitmaskclient/fragments/TetheringDialog.java
index 65287afe..1d125245 100644
--- a/app/src/main/java/se/leap/bitmaskclient/fragments/TetheringDialog.java
+++ b/app/src/main/java/se/leap/bitmaskclient/fragments/TetheringDialog.java
@@ -15,15 +15,19 @@ import android.text.Spannable;
import android.text.SpannableString;
import android.text.method.LinkMovementMethod;
import android.text.style.ClickableSpan;
+import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import java.util.Observable;
+import java.util.Observer;
+
import butterknife.ButterKnife;
import butterknife.InjectView;
import se.leap.bitmaskclient.R;
import se.leap.bitmaskclient.eip.EipCommand;
-import se.leap.bitmaskclient.tethering.TetheringObserver;
+import se.leap.bitmaskclient.tethering.TetheringObservable;
import se.leap.bitmaskclient.utils.PreferenceHelper;
import se.leap.bitmaskclient.views.IconCheckboxEntry;
@@ -31,7 +35,7 @@ import se.leap.bitmaskclient.views.IconCheckboxEntry;
* Created by cyberta on 25.02.18.
*/
-public class TetheringDialog extends AppCompatDialogFragment {
+public class TetheringDialog extends AppCompatDialogFragment implements Observer {
public final static String TAG = TetheringDialog.class.getName();
@@ -142,9 +146,17 @@ public class TetheringDialog extends AppCompatDialogFragment {
@Override
public void onResume() {
super.onResume();
- dataset[0].enabled = TetheringObserver.getInstance().isWifiTetheringEnabled();
- dataset[1].enabled = TetheringObserver.getInstance().isUsbTetheringEnabled();
+ dataset[0].enabled = TetheringObservable.getInstance().isWifiTetheringEnabled();
+ dataset[1].enabled = TetheringObservable.getInstance().isUsbTetheringEnabled();
+ dataset[2].enabled = TetheringObservable.getInstance().isBluetoothTetheringEnabled();
adapter.notifyDataSetChanged();
+ TetheringObservable.getInstance().addObserver(this);
+ }
+
+ @Override
+ public void onPause() {
+ super.onPause();
+ TetheringObservable.getInstance().deleteObserver(this);
}
public void onItemClick(DialogListAdapter.ViewModel item) {
@@ -176,16 +188,28 @@ public class TetheringDialog extends AppCompatDialogFragment {
new DialogListAdapter.ViewModel(getContext().getResources().getDrawable(R.drawable.ic_wifi),
getContext().getString(R.string.tethering_wifi),
PreferenceHelper.getWifiTethering(getContext()),
- TetheringObserver.getInstance().isWifiTetheringEnabled()),
+ TetheringObservable.getInstance().isWifiTetheringEnabled()),
new DialogListAdapter.ViewModel(getContext().getResources().getDrawable(R.drawable.ic_usb),
getContext().getString(R.string.tethering_usb),
PreferenceHelper.getUsbTethering(getContext()),
- TetheringObserver.getInstance().isUsbTetheringEnabled()),
+ TetheringObservable.getInstance().isUsbTetheringEnabled()),
new DialogListAdapter.ViewModel(getContext().getResources().getDrawable(R.drawable.ic_bluetooth),
getContext().getString(R.string.tethering_bluetooth),
PreferenceHelper.getBluetoothTethering(getContext()),
- true)
+ TetheringObservable.getInstance().isUsbTetheringEnabled())
};
}
+ @Override
+ public void update(Observable o, Object arg) {
+ if (o instanceof TetheringObservable) {
+ TetheringObservable observable = (TetheringObservable) o;
+ Log.d(TAG, "TetheringObservable is updated");
+ dataset[0].enabled = observable.isWifiTetheringEnabled();
+ dataset[1].enabled = observable.isUsbTetheringEnabled();
+ dataset[2].enabled = observable.isBluetoothTetheringEnabled();
+ adapter.notifyDataSetChanged();
+ }
+ }
+
}