diff --git a/src/main/java/eu/siacs/conversations/persistance/FileBackend.java b/src/main/java/eu/siacs/conversations/persistance/FileBackend.java index 505a3ebb5..c36011577 100644 --- a/src/main/java/eu/siacs/conversations/persistance/FileBackend.java +++ b/src/main/java/eu/siacs/conversations/persistance/FileBackend.java @@ -1147,19 +1147,13 @@ public class FileBackend { } public Uri getTakePhotoUri() { + final String filename = String.format("IMG_%s.%s", IMAGE_DATE_FORMAT.format(new Date()),"jpg"); File file; if (Config.ONLY_INTERNAL_STORAGE) { - file = - new File( - mXmppConnectionService.getCacheDir().getAbsolutePath(), - "Camera/IMG_" + IMAGE_DATE_FORMAT.format(new Date()) + ".jpg"); + final File dcimCache = new File(mXmppConnectionService.getCacheDir(), "Camera"); + file = new File(dcimCache, filename); } else { - file = - new File( - getTakePhotoPath() - + "IMG_" - + IMAGE_DATE_FORMAT.format(new Date()) - + ".jpg"); + file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM), filename); } file.getParentFile().mkdirs(); return getUriForFile(mXmppConnectionService, file); diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java index b7215c22d..a42fa6766 100644 --- a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java +++ b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java @@ -6,6 +6,7 @@ import android.app.Activity; import android.app.Fragment; import android.app.FragmentManager; import android.app.PendingIntent; +import android.content.ActivityNotFoundException; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; @@ -1744,7 +1745,7 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke if (context == null) { return; } - if (intent.resolveActivity(context.getPackageManager()) != null) { + try { if (chooser) { startActivityForResult( Intent.createChooser(intent, getString(R.string.perform_action_with)), @@ -1752,7 +1753,7 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke } else { startActivityForResult(intent, attachmentChoice); } - } else { + } catch (final ActivityNotFoundException e) { Toast.makeText(context, R.string.no_application_found, Toast.LENGTH_LONG).show(); } }