properly index take photo uris from file provider
This commit is contained in:
parent
b6e7def9db
commit
f4a883848c
|
@ -432,14 +432,12 @@ public class FileBackend {
|
|||
return frame;
|
||||
}
|
||||
|
||||
private static String getTakePhotoPath() {
|
||||
return Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM)+"/Camera/";
|
||||
}
|
||||
|
||||
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");
|
||||
File file = new File(pathBuilder.toString());
|
||||
File file = new File(getTakePhotoPath()+"IMG_" + this.imageDateFormat.format(new Date()) + ".jpg");
|
||||
file.getParentFile().mkdirs();
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
||||
return FileProvider.getUriForFile(mXmppConnectionService, "eu.siacs.conversations.files", file);
|
||||
|
@ -448,6 +446,15 @@ public class FileBackend {
|
|||
}
|
||||
}
|
||||
|
||||
public static Uri getIndexableTakePhotoUri(Uri original) {
|
||||
if ("file".equals(original.getScheme())) {
|
||||
return original;
|
||||
} else {
|
||||
List<String> segments = original.getPathSegments();
|
||||
return Uri.parse("file://"+getTakePhotoPath()+segments.get(segments.size() - 1));
|
||||
}
|
||||
}
|
||||
|
||||
public Avatar getPepAvatar(Uri image, int size, Bitmap.CompressFormat format) {
|
||||
try {
|
||||
Avatar avatar = new Avatar();
|
||||
|
|
|
@ -1411,7 +1411,7 @@ public class ConversationActivity extends XmppActivity
|
|||
mPendingImageUris.clear();
|
||||
}
|
||||
Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
|
||||
intent.setData(uri);
|
||||
intent.setData(FileBackend.getIndexableTakePhotoUri(uri));
|
||||
sendBroadcast(intent);
|
||||
} else {
|
||||
mPendingImageUris.clear();
|
||||
|
|
Loading…
Reference in a new issue