From 0119e703ff4a8f3201610c2866702f7f92da0b26 Mon Sep 17 00:00:00 2001 From: Javier Date: Sun, 26 Jul 2020 18:11:10 +0200 Subject: initial import --- .../autobluetether/BtDeviceEnabledSetAdapter.java | 54 ++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 app/src/main/java/com/javispedro/autobluetether/BtDeviceEnabledSetAdapter.java (limited to 'app/src/main/java/com/javispedro/autobluetether/BtDeviceEnabledSetAdapter.java') diff --git a/app/src/main/java/com/javispedro/autobluetether/BtDeviceEnabledSetAdapter.java b/app/src/main/java/com/javispedro/autobluetether/BtDeviceEnabledSetAdapter.java new file mode 100644 index 0000000..7d2c8fc --- /dev/null +++ b/app/src/main/java/com/javispedro/autobluetether/BtDeviceEnabledSetAdapter.java @@ -0,0 +1,54 @@ +package com.javispedro.autobluetether; + +import android.bluetooth.BluetoothDevice; +import android.content.SharedPreferences; +import android.util.ArraySet; +import android.util.Log; + +import java.util.Set; + +public class BtDeviceEnabledSetAdapter { + private final static String TAG = "BtDeviceEnabledSetAd"; + + private final SharedPreferences mPrefs; + private final String mPrefsKey; + private final ArraySet mSet = new ArraySet<>(); + + public BtDeviceEnabledSetAdapter(SharedPreferences prefs, String key) { + mPrefs = prefs; + mPrefsKey = key; + + readPrefs(); + } + + public boolean contains(BluetoothDevice device) { + return mSet.contains(device.getAddress()); + } + + public void set(BluetoothDevice device, boolean enabled) { + String address = device.getAddress(); + boolean currently = mSet.contains(address); + if (enabled && !currently) { + mSet.add(address); + savePrefs(); + } else if (currently && !enabled) { + mSet.remove(address); + savePrefs(); + } + } + + private void readPrefs() { + mSet.clear(); + Set prefsSet = mPrefs.getStringSet(mPrefsKey, null); + if (prefsSet != null) { + mSet.addAll(prefsSet); + } + } + + private void savePrefs() { + SharedPreferences.Editor editor = mPrefs.edit(); + editor.putStringSet(mPrefsKey, mSet); + editor.apply(); + Log.d(TAG, "saved " + mPrefsKey + ":" + mSet); + } +} -- cgit v1.2.3