USB: fix read-only permission intent crash, thx M0JMO

master 1.6.3d
Georg Lukas 2024-04-03 22:20:24 +02:00
rodzic 7ede1c26fc
commit d38a0dae39
1 zmienionych plików z 6 dodań i 1 usunięć

Wyświetl plik

@ -49,7 +49,7 @@ class UsbTnc(service : AprsService, prefs : PrefsWrapper) extends AprsBackend(pr
var alreadyRunning = false
val intent = new Intent(USB_PERM_ACTION)
val pendingIntent = PendingIntent.getBroadcast(service, 0, intent, PendingIntent.FLAG_IMMUTABLE)
val pendingIntent = PendingIntent.getBroadcast(service, 0, intent, PendingIntent.FLAG_MUTABLE)
val receiver = new BroadcastReceiver() {
override def onReceive(ctx : Context, i : Intent) {
@ -59,6 +59,11 @@ class UsbTnc(service : AprsService, prefs : PrefsWrapper) extends AprsBackend(pr
ctx.stopService(AprsService.intent(ctx, AprsService.SERVICE))
return
}
if (i.getExtras() == null) {
/* this shouldn't ever happen, don't need i18n */
service.postAbort("USB permission bug")
return
}
val granted = i.getExtras().getBoolean(UsbManager.EXTRA_PERMISSION_GRANTED)
if (!granted) {
service.postAbort(service.getString(R.string.p_serial_noperm))