These blocks of yours are testing if the permission just granted is 'BLUETOOTH_CONNECT', and if so, they ask for that same permission all over again.
I don't see in your blocks anywhere asking for other permissions, like BLUETOOTH_SCAN.
Here's my latest canned response for Permissions:
(Canned Response ABG - Bluetooth non-BLE SCAN Permission Blocks)
The easiest solution, for immediate relief
(from @Barry_Meaker) ...
I had the same issue. The problem is your app does not have permission to see nearby devices. The solution is to give your app permission on your phone (no code changes in your app).
on your phone,
goto settings
search for your app
in App Info for your app select Permissions
change Nearby Devices from Not Allowed to Allowed
Done
By the way, the very first time you run the app, Android will ask if you want to grant the app this permission. If you say no, or ignore the pop-up, the permission will be set as Denied. Android will not ask again.
A more complex approach, for professional app development:
You can also use a Clock Timer to extend the time available for the scan of devices, after checking that Bluetooth is enabled on both devices. I always do this, and also use a timer for the initial connection too.
Also, how you exit a BT App is critical - make sure the Client is disconnected and any Clock timers disabled, otherwise they could still be running when you re-start the App!
We have not seen you device Script (Sketch) so we do not know if the App drives your Robot. However, I have tested the attached and the Device List works. See if it works for you.