aboutsummaryrefslogtreecommitdiffstats
path: root/src/eu/siacs/conversations/persistance/FileBackend.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/eu/siacs/conversations/persistance/FileBackend.java')
-rw-r--r--src/eu/siacs/conversations/persistance/FileBackend.java31
1 files changed, 17 insertions, 14 deletions
diff --git a/src/eu/siacs/conversations/persistance/FileBackend.java b/src/eu/siacs/conversations/persistance/FileBackend.java
index f4067f87..8fdc7ee7 100644
--- a/src/eu/siacs/conversations/persistance/FileBackend.java
+++ b/src/eu/siacs/conversations/persistance/FileBackend.java
@@ -2,7 +2,6 @@ package eu.siacs.conversations.persistance;
import java.io.ByteArrayOutputStream;
import java.io.File;
-import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
@@ -11,6 +10,9 @@ import java.io.OutputStream;
import java.security.DigestOutputStream;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Locale;
import android.content.Context;
import android.database.Cursor;
@@ -42,6 +44,8 @@ public class FileBackend {
private Context context;
private LruCache<String, Bitmap> thumbnailCache;
+
+ private SimpleDateFormat imageDateFormat = new SimpleDateFormat("yyyyMMdd_HHmmssSSS",Locale.US);
public FileBackend(Context context) {
this.context = context;
@@ -140,13 +144,7 @@ public class FileBackend {
private JingleFile copyImageToPrivateStorage(Message message, Uri image,
int sampleSize) throws ImageCopyException {
try {
- InputStream is;
- if (image != null) {
- is = context.getContentResolver().openInputStream(image);
- } else {
- is = new FileInputStream(getIncomingFile());
- image = getIncomingUri();
- }
+ InputStream is = context.getContentResolver().openInputStream(image);
JingleFile file = getJingleFile(message);
file.getParentFile().mkdirs();
file.createNewFile();
@@ -273,12 +271,17 @@ public class FileBackend {
f.delete();
}
- public File getIncomingFile() {
- return new File(context.getFilesDir().getAbsolutePath() + "/incoming");
- }
-
- public Uri getIncomingUri() {
- return Uri.parse(context.getFilesDir().getAbsolutePath() + "/incoming");
+ public Uri getTakePhotoUri() {
+ StringBuilder pathBuilder = new StringBuilder();
+ pathBuilder.append(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM));
+ pathBuilder.append('/');
+ pathBuilder.append("Camera");
+ pathBuilder.append('/');
+ pathBuilder.append("IMG_"+this.imageDateFormat.format(new Date())+".jpg");
+ Uri uri = Uri.parse("file://"+pathBuilder.toString());
+ File file = new File(uri.toString());
+ file.getParentFile().mkdirs();
+ return uri;
}
public Avatar getPepAvatar(Uri image, int size, Bitmap.CompressFormat format) {