Created
March 14, 2019 18:23
-
-
Save nominalista/cd9b12fdc3b5873fcc43e1f5851237a4 to your computer and use it in GitHub Desktop.
Signal overloaded function
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Override | |
public void onActivityResult(final int reqCode, int resultCode, Intent data) { | |
Log.i(TAG, "onActivityResult called: " + reqCode + ", " + resultCode + " , " + data); | |
super.onActivityResult(reqCode, resultCode, data); | |
if ((data == null && reqCode != TAKE_PHOTO && reqCode != SMS_DEFAULT) || | |
(resultCode != RESULT_OK && reqCode != SMS_DEFAULT)) { | |
updateLinkPreviewState(); | |
return; | |
} | |
switch (reqCode) { | |
case PICK_DOCUMENT: | |
setMedia(data.getData(), MediaType.DOCUMENT); | |
break; | |
case PICK_AUDIO: | |
setMedia(data.getData(), MediaType.AUDIO); | |
break; | |
case PICK_CONTACT: | |
if (isSecureText && !isSmsForced()) { | |
openContactShareEditor(data.getData()); | |
} else { | |
addAttachmentContactInfo(data.getData()); | |
} | |
break; | |
case GET_CONTACT_DETAILS: | |
sendSharedContact(data.getParcelableArrayListExtra(ContactShareEditActivity.KEY_CONTACTS)); | |
break; | |
case GROUP_EDIT: | |
recipient = Recipient.from(this, data.getParcelableExtra(GroupCreateActivity.GROUP_ADDRESS_EXTRA), true); | |
recipient.addListener(this); | |
titleView.setTitle(glideRequests, recipient); | |
NotificationChannels.updateContactChannelName(this, recipient); | |
setBlockedUserState(recipient, isSecureText, isDefaultSms); | |
supportInvalidateOptionsMenu(); | |
break; | |
case TAKE_PHOTO: | |
if (attachmentManager.getCaptureUri() != null) { | |
setMedia(attachmentManager.getCaptureUri(), MediaType.IMAGE); | |
} | |
break; | |
case ADD_CONTACT: | |
recipient = Recipient.from(this, recipient.getAddress(), true); | |
recipient.addListener(this); | |
fragment.reloadList(); | |
break; | |
case PICK_LOCATION: | |
SignalPlace place = new SignalPlace(PlacePicker.getPlace(data, this)); | |
attachmentManager.setLocation(place, getCurrentMediaConstraints()); | |
break; | |
case PICK_GIF: | |
setMedia(data.getData(), | |
MediaType.GIF, | |
data.getIntExtra(GiphyActivity.EXTRA_WIDTH, 0), | |
data.getIntExtra(GiphyActivity.EXTRA_HEIGHT, 0)); | |
break; | |
case ScribbleActivity.SCRIBBLE_REQUEST_CODE: | |
setMedia(data.getData(), MediaType.IMAGE); | |
break; | |
case SMS_DEFAULT: | |
initializeSecurity(isSecureText, isDefaultSms); | |
break; | |
case PICK_CAMERA: | |
int imageWidth = data.getIntExtra(CameraActivity.EXTRA_WIDTH, 0); | |
int imageHeight = data.getIntExtra(CameraActivity.EXTRA_HEIGHT, 0); | |
long imageSize = data.getLongExtra(CameraActivity.EXTRA_SIZE, 0); | |
TransportOption transport = data.getParcelableExtra(CameraActivity.EXTRA_TRANSPORT); | |
String message = data.getStringExtra(CameraActivity.EXTRA_MESSAGE); | |
SlideDeck slideDeck = new SlideDeck(); | |
long expiresIn = recipient.getExpireMessages() * 1000L; | |
int subscriptionId = sendButton.getSelectedTransport().getSimSubscriptionId().or(-1); | |
boolean initiating = threadId == -1; | |
if (transport == null) { | |
throw new IllegalStateException("Received a null transport from the CameraActivity."); | |
} | |
sendButton.setTransport(transport); | |
slideDeck.addSlide(new ImageSlide(this, data.getData(), imageSize, imageWidth, imageHeight)); | |
sendMediaMessage(transport.isSms(), message, slideDeck, Collections.emptyList(), Collections.emptyList(), expiresIn, subscriptionId, initiating); | |
break; | |
case MEDIA_SENDER: | |
expiresIn = recipient.getExpireMessages() * 1000L; | |
subscriptionId = sendButton.getSelectedTransport().getSimSubscriptionId().or(-1); | |
initiating = threadId == -1; | |
transport = data.getParcelableExtra(MediaSendActivity.EXTRA_TRANSPORT); | |
message = data.getStringExtra(MediaSendActivity.EXTRA_MESSAGE); | |
slideDeck = new SlideDeck(); | |
if (transport == null) { | |
throw new IllegalStateException("Received a null transport from the MediaSendActivity."); | |
} | |
sendButton.setTransport(transport); | |
List<Media> mediaList = data.getParcelableArrayListExtra(MediaSendActivity.EXTRA_MEDIA); | |
for (Media mediaItem : mediaList) { | |
if (MediaUtil.isVideoType(mediaItem.getMimeType())) { | |
slideDeck.addSlide(new VideoSlide(this, mediaItem.getUri(), 0, mediaItem.getCaption().orNull())); | |
} else if (MediaUtil.isGif(mediaItem.getMimeType())) { | |
slideDeck.addSlide(new GifSlide(this, mediaItem.getUri(), 0, mediaItem.getWidth(), mediaItem.getHeight(), mediaItem.getCaption().orNull())); | |
} else if (MediaUtil.isImageType(mediaItem.getMimeType())) { | |
slideDeck.addSlide(new ImageSlide(this, mediaItem.getUri(), 0, mediaItem.getWidth(), mediaItem.getHeight(), mediaItem.getCaption().orNull())); | |
} else { | |
Log.w(TAG, "Asked to send an unexpected mimeType: '" + mediaItem.getMimeType() + "'. Skipping."); | |
} | |
} | |
sendMediaMessage(transport.isSms(), message, slideDeck, Collections.emptyList(), Collections.emptyList(), expiresIn, subscriptionId, initiating); | |
break; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment