Fix dynamic permissions problem for MMS messages

master
Moxie Marlinspike 2017-12-20 11:21:00 -08:00
parent 425d6b8adf
commit 512dc19471
2 changed files with 10 additions and 2 deletions

View File

@ -1668,7 +1668,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
}
Permissions.with(this)
.request(Manifest.permission.SEND_SMS)
.request(Manifest.permission.SEND_SMS, Manifest.permission.READ_SMS)
.ifNecessary(!isSecureText || forceSms)
.withPermanentDenialDialog(getString(R.string.ConversationActivity_signal_needs_sms_permission_in_order_to_send_an_sms))
.onAllGranted(() -> {

View File

@ -172,7 +172,7 @@ public class MmsSendJob extends SendJob {
throws UndeliverableMessageException
{
SendReq req = new SendReq();
String lineNumber = Utils.getMyPhoneNumber(context);
String lineNumber = getMyNumber(context);
Address destination = message.getRecipient().getAddress();
MediaConstraints mediaConstraints = MediaConstraints.getMmsMediaConstraints(message.getSubscriptionId());
List<Attachment> scaledAttachments = scaleAttachments(masterSecret, mediaConstraints, message.getAttachments());
@ -287,4 +287,12 @@ public class MmsSendJob extends SendJob {
MessageNotifier.notifyMessageDeliveryFailed(context, recipient, threadId);
}
}
private String getMyNumber(Context context) throws UndeliverableMessageException {
try {
return Utils.getMyPhoneNumber(context);
} catch (SecurityException e) {
throw new UndeliverableMessageException(e);
}
}
}