This commit is contained in:
Niels Andriesse 2021-06-28 10:50:35 +10:00
parent ca3034cb05
commit 0e23e45e89
3 changed files with 27 additions and 41 deletions

View File

@ -1424,7 +1424,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
case AttachmentTypeSelector.ADD_SOUND: case AttachmentTypeSelector.ADD_SOUND:
AttachmentManager.selectAudio(this, PICK_AUDIO); break; AttachmentManager.selectAudio(this, PICK_AUDIO); break;
case AttachmentTypeSelector.ADD_CONTACT_INFO: case AttachmentTypeSelector.ADD_CONTACT_INFO:
AttachmentManager.selectContactInfo(this, PICK_CONTACT); break; break;
case AttachmentTypeSelector.ADD_LOCATION: case AttachmentTypeSelector.ADD_LOCATION:
break; break;
case AttachmentTypeSelector.TAKE_PHOTO: case AttachmentTypeSelector.TAKE_PHOTO:

View File

@ -717,7 +717,6 @@ class ConversationActivityV2 : PassphraseRequiredActionBarActivity(), InputBarDe
override fun onActivityResult(requestCode: Int, resultCode: Int, intent: Intent?) { override fun onActivityResult(requestCode: Int, resultCode: Int, intent: Intent?) {
super.onActivityResult(requestCode, resultCode, intent) super.onActivityResult(requestCode, resultCode, intent)
intent ?: return
val mediaPreppedListener = object : ListenableFuture.Listener<Boolean> { val mediaPreppedListener = object : ListenableFuture.Listener<Boolean> {
override fun onSuccess(result: Boolean?) { override fun onSuccess(result: Boolean?) {
@ -730,7 +729,7 @@ class ConversationActivityV2 : PassphraseRequiredActionBarActivity(), InputBarDe
} }
when (requestCode) { when (requestCode) {
PICK_DOCUMENT -> { PICK_DOCUMENT -> {
val uri = intent.data ?: return val uri = intent?.data ?: return
prepMediaForSending(uri, AttachmentManager.MediaType.DOCUMENT).addListener(mediaPreppedListener) prepMediaForSending(uri, AttachmentManager.MediaType.DOCUMENT).addListener(mediaPreppedListener)
} }
TAKE_PHOTO -> { TAKE_PHOTO -> {
@ -738,6 +737,7 @@ class ConversationActivityV2 : PassphraseRequiredActionBarActivity(), InputBarDe
prepMediaForSending(uri, AttachmentManager.MediaType.IMAGE).addListener(mediaPreppedListener) prepMediaForSending(uri, AttachmentManager.MediaType.IMAGE).addListener(mediaPreppedListener)
} }
PICK_GIF -> { PICK_GIF -> {
intent ?: return
val uri = intent.data ?: return val uri = intent.data ?: return
val type = AttachmentManager.MediaType.GIF val type = AttachmentManager.MediaType.GIF
val width = intent.getIntExtra(GiphyActivity.EXTRA_WIDTH, 0) val width = intent.getIntExtra(GiphyActivity.EXTRA_WIDTH, 0)
@ -745,6 +745,7 @@ class ConversationActivityV2 : PassphraseRequiredActionBarActivity(), InputBarDe
prepMediaForSending(uri, type, width, height).addListener(mediaPreppedListener) prepMediaForSending(uri, type, width, height).addListener(mediaPreppedListener)
} }
PICK_FROM_LIBRARY -> { PICK_FROM_LIBRARY -> {
intent ?: return
val body = intent.getStringExtra(MediaSendActivity.EXTRA_MESSAGE) val body = intent.getStringExtra(MediaSendActivity.EXTRA_MESSAGE)
val media = intent.getParcelableArrayListExtra<Media>(MediaSendActivity.EXTRA_MEDIA) ?: return val media = intent.getParcelableArrayListExtra<Media>(MediaSendActivity.EXTRA_MEDIA) ?: return
val slideDeck = SlideDeck() val slideDeck = SlideDeck()

View File

@ -266,17 +266,6 @@ public class AttachmentManager {
selectMediaType(activity, "audio/*", null, requestCode); selectMediaType(activity, "audio/*", null, requestCode);
} }
public static void selectContactInfo(Activity activity, int requestCode) {
Permissions.with(activity)
.request(Manifest.permission.WRITE_CONTACTS)
.withPermanentDenialDialog(activity.getString(R.string.AttachmentManager_signal_requires_contacts_permission_in_order_to_attach_contact_information))
.onAllGranted(() -> {
Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
activity.startActivityForResult(intent, requestCode);
})
.execute();
}
public static void selectGif(Activity activity, int requestCode) { public static void selectGif(Activity activity, int requestCode) {
Intent intent = new Intent(activity, GiphyActivity.class); Intent intent = new Intent(activity, GiphyActivity.class);
intent.putExtra(GiphyActivity.EXTRA_IS_MMS, false); intent.putExtra(GiphyActivity.EXTRA_IS_MMS, false);
@ -297,10 +286,7 @@ public class AttachmentManager {
.withPermanentDenialDialog(activity.getString(R.string.AttachmentManager_signal_requires_the_camera_permission_in_order_to_take_photos_but_it_has_been_permanently_denied)) .withPermanentDenialDialog(activity.getString(R.string.AttachmentManager_signal_requires_the_camera_permission_in_order_to_take_photos_but_it_has_been_permanently_denied))
.onAllGranted(() -> { .onAllGranted(() -> {
try { try {
File captureFile = File.createTempFile( File captureFile = File.createTempFile("conversation-capture", ".jpg", ExternalStorageUtil.getImageDir(activity));
"conversation-capture",
".jpg",
ExternalStorageUtil.getImageDir(activity));
Uri captureUri = FileProviderUtil.getUriFor(context, captureFile); Uri captureUri = FileProviderUtil.getUriFor(context, captureFile);
Intent captureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); Intent captureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
captureIntent.putExtra(EXTRA_OUTPUT, captureUri); captureIntent.putExtra(EXTRA_OUTPUT, captureUri);
@ -392,6 +378,5 @@ public class AttachmentManager {
return DOCUMENT; return DOCUMENT;
} }
} }
} }