Skip to content

Commit 4da8fc9

Browse files
committed
Fix request of storage permission
1 parent 9c032e0 commit 4da8fc9

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

android/project/src/main/java/org/libsdl/app/SDLActivity.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
/**
3838
SDL Activity
3939
*/
40-
public class SDLActivity extends Activity {
40+
public class SDLActivity extends Activity implements ActivityCompat.OnRequestPermissionsResultCallback {
4141
private static final String TAG = "SDL";
4242

4343
// Keep track of the paused state
@@ -64,6 +64,8 @@ public class SDLActivity extends Activity {
6464
// Audio
6565
protected static AudioTrack mAudioTrack;
6666

67+
private Object requestPermissionsMonitor = new Object();
68+
6769
/**
6870
* This method is called by SDL before loading the native shared libraries.
6971
* It can be overridden to provide names of shared libraries to be loaded.
@@ -168,9 +170,9 @@ public void onClick(DialogInterface dialog,int id) {
168170
if (!haveStoragePermissions()) {
169171
String[] requiredPermissions = {Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE};
170172
ActivityCompat.requestPermissions(this, requiredPermissions, 1);
171-
synchronized(this) {
173+
synchronized(requestPermissionsMonitor) {
172174
try {
173-
wait();
175+
requestPermissionsMonitor.wait();
174176
} catch (InterruptedException ex) {
175177
ex.printStackTrace();
176178
}
@@ -223,8 +225,10 @@ public void onClick(DialogInterface dialog,int id) {
223225
}
224226

225227
@Override
226-
public synchronized void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
227-
notify();
228+
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
229+
synchronized(requestPermissionsMonitor) {
230+
requestPermissionsMonitor.notify();
231+
}
228232
}
229233

230234
private boolean haveStoragePermissions() {

0 commit comments

Comments
 (0)