@@ -416,7 +416,7 @@ private void update()
416
416
if (ext .equals (".nds" ))
417
417
{
418
418
Uri uri = file .getUri ();
419
- setNdsRom (uri .getPath (), getRomFd (uri ), getSaveFd (file ), getStateFd (file ), getCheatFd (file ));
419
+ setNdsRom (uri .getPath (), getRomFd (uri , false ), getSaveFd (file ), getStateFd (file ), getCheatFd (file ));
420
420
421
421
if (isGbaLoaded ())
422
422
{
@@ -460,7 +460,7 @@ public void onCancel(DialogInterface dialog)
460
460
else
461
461
{
462
462
Uri uri = file .getUri ();
463
- setGbaRom (uri .getPath (), getRomFd (uri ), getSaveFd (file ), getStateFd (file ));
463
+ setGbaRom (uri .getPath (), getRomFd (uri , false ), getSaveFd (file ), getStateFd (file ));
464
464
465
465
if (isNdsLoaded ())
466
466
{
@@ -569,7 +569,7 @@ private void processFile(FileAdapter.FileInfo info, boolean directory)
569
569
if (ext .equals (".nds" ))
570
570
{
571
571
Bitmap bitmap = Bitmap .createBitmap (32 , 32 , Bitmap .Config .ARGB_8888 );
572
- getNdsIcon (getRomFd (info .uri ), bitmap );
572
+ getNdsIcon (getRomFd (info .uri , true ), bitmap );
573
573
info .icon = bitmap ;
574
574
fileInfo .add (info );
575
575
}
@@ -580,12 +580,12 @@ else if (ext.equals(".gba"))
580
580
}
581
581
}
582
582
583
- private int getRomFd (Uri romUri )
583
+ private int getRomFd (Uri romUri , boolean override )
584
584
{
585
585
try
586
586
{
587
587
// Get a descriptor for the file in scoped mode
588
- if (!scoped ) return -1 ;
588
+ if (!scoped && ! override ) return -1 ;
589
589
return getContentResolver ().openFileDescriptor (romUri , "r" ).detachFd ();
590
590
}
591
591
catch (Exception e )
0 commit comments