summaryrefslogtreecommitdiff
path: root/app/src/main/java/com/javispedro/autobluetether/BtConnectReceiver.java
diff options
context:
space:
mode:
authorJavier <dev.git@javispedro.com>2020-07-26 18:11:10 +0200
committerJavier <dev.git@javispedro.com>2021-03-21 01:53:33 +0100
commit0119e703ff4a8f3201610c2866702f7f92da0b26 (patch)
tree29e9b48c7850024bfa5270b661dfe2899a82affe /app/src/main/java/com/javispedro/autobluetether/BtConnectReceiver.java
downloadautobluetether-0119e703ff4a8f3201610c2866702f7f92da0b26.tar.gz
autobluetether-0119e703ff4a8f3201610c2866702f7f92da0b26.zip
initial import
Diffstat (limited to 'app/src/main/java/com/javispedro/autobluetether/BtConnectReceiver.java')
-rw-r--r--app/src/main/java/com/javispedro/autobluetether/BtConnectReceiver.java46
1 files changed, 46 insertions, 0 deletions
diff --git a/app/src/main/java/com/javispedro/autobluetether/BtConnectReceiver.java b/app/src/main/java/com/javispedro/autobluetether/BtConnectReceiver.java
new file mode 100644
index 0000000..680f4fc
--- /dev/null
+++ b/app/src/main/java/com/javispedro/autobluetether/BtConnectReceiver.java
@@ -0,0 +1,46 @@
+package com.javispedro.autobluetether;
+
+import android.bluetooth.BluetoothDevice;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.SharedPreferences;
+import android.preference.PreferenceManager;
+import android.util.Log;
+
+import java.util.Set;
+
+public class BtConnectReceiver extends BroadcastReceiver {
+ private static final String TAG = "BtConnectReceiver";
+
+ private boolean isDeviceEnabled(Context context, BluetoothDevice device) {
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
+ Set<String> enabledAddresses = prefs.getStringSet(context.getString(R.string.prefs_key_device_list), null);
+ if (enabledAddresses == null) return false;
+ Log.d(TAG, "enabled devices in prefs: " + enabledAddresses);
+ return enabledAddresses.contains(device.getAddress());
+ }
+
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ final String action = intent.getAction();
+ if (action == null) return;
+
+ if (action.equals(BluetoothDevice.ACTION_ACL_CONNECTED)) {
+ BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
+ if (device == null) return;
+
+ Log.d(TAG, "ACL connected: " + device.getName());
+
+ if (isDeviceEnabled(context, device)) {
+ Log.d(TAG, "trying to enable tethering");
+ try {
+ new BtTetherEnabler(context).startTethering();
+ } catch (BtTetherEnabler.EnableException e) {
+ e.printStackTrace();
+ Log.e(TAG, "Can't enable tethering: " + e.getMessage());
+ }
+ }
+ }
+ }
+}