android: fix crash on some devices not properly closing socket

This commit is contained in:
Kavish Devar
2026-04-28 12:10:47 +05:30
parent d4ee741224
commit 629b7b917e

View File

@@ -2768,6 +2768,7 @@ class AirPodsService : Service(), SharedPreferences.OnSharedPreferenceChangeList
while (socket.isConnected) { while (socket.isConnected) {
socket.let { it -> socket.let { it ->
try {
val buffer = ByteArray(1024) val buffer = ByteArray(1024)
val bytesRead = it.inputStream.read(buffer) val bytesRead = it.inputStream.read(buffer)
var data: ByteArray var data: ByteArray
@@ -2801,6 +2802,15 @@ class AirPodsService : Service(), SharedPreferences.OnSharedPreferenceChangeList
aacpManager.disconnected() aacpManager.disconnected()
return@launch return@launch
} }
} catch (e: Exception) {
Log.w(TAG, "Error reading data, we have probably disconnected.")
e.printStackTrace()
sendBroadcast(Intent(AirPodsNotifications.AIRPODS_DISCONNECTED).apply {
setPackage(packageName)
})
aacpManager.disconnected()
return@launch
}
} }
} }
Log.d("AirPods Service", "Socket closed") Log.d("AirPods Service", "Socket closed")