From 417ed4e121b27a4da582cc2adc3fc7a9a749b252 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Thu, 6 Sep 2018 12:16:22 +0200 Subject: [PATCH] Fixed incoming files display + store them in a Linphone directory instead of / --- src/android/org/linphone/LinphoneUtils.java | 4 ++++ src/android/org/linphone/chat/ChatEventsAdapter.java | 8 ++++---- src/android/org/linphone/chat/GroupChatFragment.java | 2 +- .../org/linphone/contacts/ContactEditorFragment.java | 6 +++--- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/android/org/linphone/LinphoneUtils.java b/src/android/org/linphone/LinphoneUtils.java index afe1fcd88..c0d3ffbd7 100644 --- a/src/android/org/linphone/LinphoneUtils.java +++ b/src/android/org/linphone/LinphoneUtils.java @@ -757,5 +757,9 @@ public final class LinphoneUtils { } return null; } + + public static String getStorageDirectory(Context mContext) { + return Environment.getExternalStorageDirectory() + "/" + mContext.getString(mContext.getResources().getIdentifier("app_name", "string", mContext.getPackageName())); + } } diff --git a/src/android/org/linphone/chat/ChatEventsAdapter.java b/src/android/org/linphone/chat/ChatEventsAdapter.java index 33c0707c4..5365f8c6d 100644 --- a/src/android/org/linphone/chat/ChatEventsAdapter.java +++ b/src/android/org/linphone/chat/ChatEventsAdapter.java @@ -325,10 +325,10 @@ public class ChatEventsAdapter extends SelectableAdapter { if (mContext.getPackageManager().checkPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE, mContext.getPackageName()) == PackageManager.PERMISSION_GRANTED) { v.setEnabled(false); String filename = message.getFileTransferInformation().getName(); - File file = new File(Environment.getExternalStorageDirectory(), filename); + File file = new File(LinphoneUtils.getStorageDirectory(mContext), filename); int prefix = 1; while (file.exists()) { - file = new File(Environment.getExternalStorageDirectory(), prefix + "_" + filename); + file = new File(LinphoneUtils.getStorageDirectory(mContext), prefix + "_" + filename); Log.w("File with that name already exists, renamed to " + prefix + "_" + filename); prefix += 1; } @@ -468,8 +468,8 @@ public class ChatEventsAdapter extends SelectableAdapter { private void openFile(String path) { Intent intent = new Intent(Intent.ACTION_VIEW); - File file = null; - Uri contentUri = null; + File file; + Uri contentUri; if (path.startsWith("file://")) { path = path.substring("file://".length()); file = new File(path); diff --git a/src/android/org/linphone/chat/GroupChatFragment.java b/src/android/org/linphone/chat/GroupChatFragment.java index e2e8cbaaf..0fb7fbb4f 100644 --- a/src/android/org/linphone/chat/GroupChatFragment.java +++ b/src/android/org/linphone/chat/GroupChatFragment.java @@ -589,7 +589,7 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con private void pickFile() { List cameraIntents = new ArrayList<>(); Intent captureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); - File file = new File(Environment.getExternalStorageDirectory(), getString(R.string.temp_photo_name_with_date).replace("%s", String.valueOf(System.currentTimeMillis()) + ".jpeg")); + File file = new File(LinphoneUtils.getStorageDirectory(mContext), getString(R.string.temp_photo_name_with_date).replace("%s", String.valueOf(System.currentTimeMillis()) + ".jpeg")); mImageToUploadUri = Uri.fromFile(file); captureIntent.putExtra(MediaStore.EXTRA_OUTPUT, mImageToUploadUri); cameraIntents.add(captureIntent); diff --git a/src/android/org/linphone/contacts/ContactEditorFragment.java b/src/android/org/linphone/contacts/ContactEditorFragment.java index d8b42bbe0..a24f8f855 100644 --- a/src/android/org/linphone/contacts/ContactEditorFragment.java +++ b/src/android/org/linphone/contacts/ContactEditorFragment.java @@ -339,9 +339,9 @@ public class ContactEditorFragment extends Fragment { private void pickImage() { pickedPhotoForContactUri = null; - final List cameraIntents = new ArrayList(); + final List cameraIntents = new ArrayList<>(); final Intent captureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); - File file = new File(Environment.getExternalStorageDirectory(), getString(R.string.temp_photo_name)); + File file = new File(LinphoneUtils.getStorageDirectory(LinphoneActivity.instance()), getString(R.string.temp_photo_name)); pickedPhotoForContactUri = Uri.fromFile(file); captureIntent.putExtra("outputX", PHOTO_SIZE); captureIntent.putExtra("outputY", PHOTO_SIZE); @@ -381,7 +381,7 @@ public class ContactEditorFragment extends Fragment { String filePath = pickedPhotoForContactUri.getPath(); editContactPicture(filePath, null); } else { - File file = new File(Environment.getExternalStorageDirectory(), getString(R.string.temp_photo_name)); + File file = new File(LinphoneUtils.getStorageDirectory(LinphoneActivity.instance()), getString(R.string.temp_photo_name)); if (file.exists()) { pickedPhotoForContactUri = Uri.fromFile(file); String filePath = pickedPhotoForContactUri.getPath();