Merge pull request #364 from meshtastic/ble-unbind

1.2.56
pull/365/head 1.2.56
Andre Kirchhoff 2022-02-03 10:43:45 -03:00 zatwierdzone przez GitHub
commit 35fe61e855
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
2 zmienionych plików z 19 dodań i 2 usunięć

Wyświetl plik

@ -42,8 +42,8 @@ android {
applicationId "com.geeksville.mesh"
minSdkVersion 21 // The oldest emulator image I have tried is 22 (though 21 probably works)
targetSdkVersion 30 // 30 can't work until an explicit location permissions dialog is added
versionCode 20255 // format is Mmmss (where M is 1+the numeric major number
versionName "1.2.55"
versionCode 20256 // format is Mmmss (where M is 1+the numeric major number
versionName "1.2.56"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
// per https://developer.android.com/studio/write/vector-asset-studio

Wyświetl plik

@ -2,6 +2,7 @@ package com.geeksville.mesh.service
import android.annotation.SuppressLint
import android.app.Service
import android.companion.CompanionDeviceManager
import android.content.Context
import android.content.Intent
import android.content.SharedPreferences
@ -285,6 +286,22 @@ class RadioInterfaceService : Service(), Logging {
debug("Setting bonded device to ${address.anonymize}")
// We only keep an association to one device at a time... (move to BluetoothInterface?)
if (BluetoothInterface.hasCompanionDeviceApi(this)) {
if (address != null) {
val deviceManager = getSystemService(CompanionDeviceManager::class.java)
val c = address[0]
val rest = address.substring(1)
deviceManager.associations.forEach { old ->
if (rest != old) {
debug("Forgetting old BLE association ${old.anonymize}")
deviceManager.disassociate(old)
}
}
}
}
getPrefs(this).edit(commit = true) {
if (address == null)
this.remove(DEVADDR_KEY)