open unknown files with wildcard intent

This commit is contained in:
Daniel Gultsch 2015-10-20 17:41:07 +02:00
parent 569b9f4e66
commit f4a33a007c
2 changed files with 15 additions and 10 deletions

View File

@ -541,7 +541,7 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa
shareIntent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
String mime = message.getMimeType();
if (mime == null) {
mime = "image/webp";
mime = "*/*";
}
shareIntent.setType(mime);
}

View File

@ -603,7 +603,7 @@ public class MessageAdapter extends ArrayAdapter<Message> {
Toast.LENGTH_SHORT).show();
}
} else if (message.treatAsDownloadable() != Message.Decision.NEVER) {
activity.xmppConnectionService.getHttpConnectionManager().createNewDownloadConnection(message,true);
activity.xmppConnectionService.getHttpConnectionManager().createNewDownloadConnection(message, true);
}
}
@ -614,16 +614,21 @@ public class MessageAdapter extends ArrayAdapter<Message> {
return;
}
Intent openIntent = new Intent(Intent.ACTION_VIEW);
openIntent.setDataAndType(Uri.fromFile(file), file.getMimeType());
String mime = file.getMimeType();
if (mime == null) {
mime = "*/*";
}
openIntent.setDataAndType(Uri.fromFile(file), mime);
PackageManager manager = activity.getPackageManager();
List<ResolveInfo> infos = manager.queryIntentActivities(openIntent, 0);
if (infos.size() > 0) {
try {
getContext().startActivity(openIntent);
return;
} catch (ActivityNotFoundException e) {
//ignored
}
if (infos.size() == 0) {
openIntent.setDataAndType(Uri.fromFile(file),"*/*");
}
try {
getContext().startActivity(openIntent);
return;
} catch (ActivityNotFoundException e) {
//ignored
}
Toast.makeText(activity,R.string.no_application_found_to_open_file,Toast.LENGTH_SHORT).show();
}