diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 13390561..9d47cb49 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -6,7 +6,9 @@
-
+
{
new MaterialDialog.Builder(getActivity())
.items(R.array.opml_import_export)
- .itemsCallback(((dialog, itemView, position, text) -> {
- if (position == 0) {
- OPMLHelper.openFileIntent(this);
- } else {
- if (PermissionManager.isPermissionGranted(getContext(), Manifest.permission.WRITE_EXTERNAL_STORAGE))
- exportAsOPMLFile();
- else
- requestExternalStoragePermission();
- }
- }))
+ .itemsCallback(((dialog, itemView, position, text) -> openOPMLMode(position)))
.show();
return true;
});
@@ -175,6 +167,22 @@ public class AccountSettingsFragment extends PreferenceFragmentCompat {
.show();
}
+ private void openOPMLMode(int position) {
+ if (position == 0) {
+ OPMLHelper.openFileIntent(this);
+ } else {
+ if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.P) {
+ if (PermissionManager.isPermissionGranted(getContext(), Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
+ exportAsOPMLFile();
+ } else {
+ requestExternalStoragePermission();
+ }
+ } else {
+ exportAsOPMLFile();
+ }
+ }
+ }
+
// region opml import
@Override
@@ -243,8 +251,7 @@ public class AccountSettingsFragment extends PreferenceFragmentCompat {
displayNotification(fileName, path);
} catch (Exception e) {
- Log.e(TAG, e.getMessage());
- Utils.showSnackbar(getView(), e.getMessage());
+ displayErrorMessage();
}
}