Skip to content

Commit ace51bf

Browse files
committed
Update USBPermissionManager.kt
1 parent f361dc2 commit ace51bf

1 file changed

Lines changed: 11 additions & 3 deletions

File tree

Transmission/src/main/java/org/operatorfoundation/transmission/USBPermissionManager.kt

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -152,15 +152,23 @@ class USBPermissionManager(private val activityContext: Context)
152152
// Verify the response is for our device.
153153
if (receivedDevice != null && getDeviceKey(receivedDevice) == deviceKey)
154154
{
155-
val granted = intent.getBooleanExtra(UsbManager.EXTRA_PERMISSION_GRANTED, false)
156-
permissionCache[deviceKey] = granted
155+
val broadcastGrantedFlag = intent.getBooleanExtra(UsbManager.EXTRA_PERMISSION_GRANTED, false)
156+
Timber.d("Broadcast granted flag: $broadcastGrantedFlag")
157157

158-
val result = if (granted)
158+
// CRITICAL: Don't trust the broadcast flag - check actual permission state
159+
val actuallyHasPermission = usbManager.hasPermission(receivedDevice)
160+
Timber.d("Actual permission state from UsbManager: $actuallyHasPermission")
161+
162+
permissionCache[deviceKey] = actuallyHasPermission
163+
164+
val result = if (actuallyHasPermission)
159165
{
166+
Timber.d("🟢 Permission GRANTED - confirmed by UsbManager")
160167
PermissionResult.Granted
161168
}
162169
else
163170
{
171+
Timber.d("🔴 Permission DENIED - confirmed by UsbManager")
164172
PermissionResult.Denied
165173
}
166174

0 commit comments

Comments
 (0)