Fix crash on task import

pull/820/head
Alex Baker 7 years ago
parent cbec568084
commit 569f5e57f1

@ -2,6 +2,7 @@ package org.tasks.dialogs;
import android.app.Dialog; import android.app.Dialog;
import android.app.ProgressDialog; import android.app.ProgressDialog;
import android.content.ContentResolver;
import android.content.Context; import android.content.Context;
import android.net.Uri; import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
@ -45,7 +46,11 @@ public class ImportTasksDialog extends InjectingNativeDialogFragment {
progressDialog.show(); progressDialog.show();
setCancelable(false); setCancelable(false);
try { try {
String extension = MimeTypeMap.getFileExtensionFromUrl(data.getPath()); String extension =
data.getScheme().equals(ContentResolver.SCHEME_CONTENT)
? MimeTypeMap.getSingleton()
.getExtensionFromMimeType(context.getContentResolver().getType(data))
: MimeTypeMap.getFileExtensionFromUrl(data.getPath());
switch (extension) { switch (extension) {
case "json": case "json":
jsonImporter.importTasks(getActivity(), data, progressDialog); jsonImporter.importTasks(getActivity(), data, progressDialog);
@ -56,7 +61,7 @@ public class ImportTasksDialog extends InjectingNativeDialogFragment {
tracker.reportEvent(Tracking.Events.IMPORT_XML); tracker.reportEvent(Tracking.Events.IMPORT_XML);
break; break;
default: default:
throw new IOException("Invalid file type"); throw new IOException("Invalid file type: " + extension);
} }
return progressDialog; return progressDialog;
} catch (IOException e) { } catch (IOException e) {

Loading…
Cancel
Save