From 53c0c20c8a4aeb0f46dbecea6fd254598a8c9e9e Mon Sep 17 00:00:00 2001 From: Michael Rennie Date: Mon, 12 Jun 2017 11:55:41 +0100 Subject: [PATCH] Prevent connection to server until Android permissions granted. Server pops up dialog requesting file system access when the server is launched. This is only obvious when the device is unlocked, otherwise this pop up is never displayed. Fixed by waiting for the user to grant permissions by preventing starting a target app until the server is ready to open captures. --- .../android/src/org/renderdoc/renderdoccmd/Loader.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/renderdoccmd/android/src/org/renderdoc/renderdoccmd/Loader.java b/renderdoccmd/android/src/org/renderdoc/renderdoccmd/Loader.java index 9b9a64b63..9c226ce1a 100644 --- a/renderdoccmd/android/src/org/renderdoc/renderdoccmd/Loader.java +++ b/renderdoccmd/android/src/org/renderdoc/renderdoccmd/Loader.java @@ -13,5 +13,15 @@ public class Loader extends android.app.NativeActivity super.onCreate(savedInstanceState); // Popup a dialog if we haven't granted Android storage permissions. requestPermissions(new String[]{android.Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1); + // Request is asynchronous, so prevent connection to server until permissions granted. + while(checkSelfPermission(android.Manifest.permission.WRITE_EXTERNAL_STORAGE) + != android.content.pm.PackageManager.PERMISSION_GRANTED) + { + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + break; + } + } } }