File tree Expand file tree Collapse file tree
Transmission/src/main/java/org/operatorfoundation/transmission Expand file tree Collapse file tree Original file line number Diff line number Diff 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
You can’t perform that action at this time.
0 commit comments