diff options
author | Javier <dev.git@javispedro.com> | 2020-07-26 18:11:10 +0200 |
---|---|---|
committer | Javier <dev.git@javispedro.com> | 2021-03-21 01:53:33 +0100 |
commit | 0119e703ff4a8f3201610c2866702f7f92da0b26 (patch) | |
tree | 29e9b48c7850024bfa5270b661dfe2899a82affe /app/src/main/java/com/javispedro/autobluetether/BtDeviceEnabledSetAdapter.java | |
download | autobluetether-0119e703ff4a8f3201610c2866702f7f92da0b26.tar.gz autobluetether-0119e703ff4a8f3201610c2866702f7f92da0b26.zip |
initial import
Diffstat (limited to 'app/src/main/java/com/javispedro/autobluetether/BtDeviceEnabledSetAdapter.java')
-rw-r--r-- | app/src/main/java/com/javispedro/autobluetether/BtDeviceEnabledSetAdapter.java | 54 |
1 files changed, 54 insertions, 0 deletions
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<String> 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<String> 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); + } +} |