try appCtx to persist NextCloud URI permission

for #1080
Also fixing a missing break in a switch statement.
This commit is contained in:
Peter Storch
2022-02-21 21:47:15 +01:00
parent 6fe38453b3
commit b5acfa022d
3 changed files with 8 additions and 9 deletions
@@ -32,8 +32,10 @@ public class ExportServiceResultReceiver extends ResultReceiver {
switch (resultCode) {
case RESULT_CODE_SUCCESS:
receiver.onExportSuccess(trackId);
break;
case RESULT_CODE_ERROR:
receiver.onExportError(trackId);
break;
default:
throw new RuntimeException("Unknown resultCode.");
}
@@ -54,10 +54,7 @@ public abstract class DirectoryChooserActivity extends AppCompatActivity {
protected void onActivityResultCustom(@NonNull Intent resultData) {
Uri directoryUri = resultData.getData();
int takeFlags = resultData.getFlags();
takeFlags &= (Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
getContentResolver().takePersistableUriPermission(directoryUri, takeFlags);
IntentUtils.persistDirectoryAccessPermission(this, directoryUri, resultData.getFlags());
startActivity(createNextActivityIntent(directoryUri));
}
@@ -111,11 +108,11 @@ public abstract class DirectoryChooserActivity extends AppCompatActivity {
Uri oldDirectoryUri = PreferencesUtils.getDefaultExportDirectoryUri();
Uri newDirectoryUri = resultData.getData();
if (oldDirectoryUri != null && !newDirectoryUri.equals(oldDirectoryUri)) {
IntentUtils.releaseDirectoryAccessPermission(getApplicationContext(), oldDirectoryUri);
IntentUtils.releaseDirectoryAccessPermission(this, oldDirectoryUri);
}
PreferencesUtils.setDefaultExportDirectoryUri(newDirectoryUri);
IntentUtils.persistDirectoryAccessPermission(getApplicationContext(), newDirectoryUri, resultData.getFlags());
IntentUtils.persistDirectoryAccessPermission(this, newDirectoryUri, resultData.getFlags());
}
@Override