mirror of
https://github.com/oxen-io/session-android.git
synced 2025-06-09 21:28:34 +00:00
Fix a crash when starting a call from the system contacts.
This commit is contained in:
parent
840c493265
commit
6d339cd023
@ -8,9 +8,9 @@ import android.provider.ContactsContract;
|
|||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
|
||||||
import org.thoughtcrime.securesms.WebRtcCallActivity;
|
import org.thoughtcrime.securesms.WebRtcCallActivity;
|
||||||
import org.thoughtcrime.securesms.database.Address;
|
import org.thoughtcrime.securesms.recipients.Recipient;
|
||||||
import org.thoughtcrime.securesms.phonenumbers.PhoneNumberFormatter;
|
|
||||||
import org.thoughtcrime.securesms.service.WebRtcCallService;
|
import org.thoughtcrime.securesms.service.WebRtcCallService;
|
||||||
|
import org.thoughtcrime.securesms.util.concurrent.SimpleTask;
|
||||||
|
|
||||||
public class VoiceCallShare extends Activity {
|
public class VoiceCallShare extends Activity {
|
||||||
|
|
||||||
@ -27,19 +27,20 @@ public class VoiceCallShare extends Activity {
|
|||||||
cursor = getContentResolver().query(getIntent().getData(), null, null, null, null);
|
cursor = getContentResolver().query(getIntent().getData(), null, null, null, null);
|
||||||
|
|
||||||
if (cursor != null && cursor.moveToNext()) {
|
if (cursor != null && cursor.moveToNext()) {
|
||||||
String destination = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.RawContacts.Data.DATA1));
|
String destination = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.RawContacts.Data.DATA1));
|
||||||
Address address = Address.fromSerialized(PhoneNumberFormatter.get(this).format(destination));
|
|
||||||
|
|
||||||
if (!TextUtils.isEmpty(destination)) {
|
|
||||||
Intent serviceIntent = new Intent(this, WebRtcCallService.class);
|
|
||||||
serviceIntent.setAction(WebRtcCallService.ACTION_OUTGOING_CALL);
|
|
||||||
serviceIntent.putExtra(WebRtcCallService.EXTRA_REMOTE_RECIPIENT, address);
|
|
||||||
startService(serviceIntent);
|
|
||||||
|
|
||||||
Intent activityIntent = new Intent(this, WebRtcCallActivity.class);
|
SimpleTask.run(() -> Recipient.external(this, destination), recipient -> {
|
||||||
activityIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
if (!TextUtils.isEmpty(destination)) {
|
||||||
startActivity(activityIntent);
|
Intent serviceIntent = new Intent(this, WebRtcCallService.class);
|
||||||
}
|
serviceIntent.setAction(WebRtcCallService.ACTION_OUTGOING_CALL);
|
||||||
|
serviceIntent.putExtra(WebRtcCallService.EXTRA_REMOTE_RECIPIENT, recipient.getId());
|
||||||
|
startService(serviceIntent);
|
||||||
|
|
||||||
|
Intent activityIntent = new Intent(this, WebRtcCallActivity.class);
|
||||||
|
activityIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||||
|
startActivity(activityIntent);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
if (cursor != null) cursor.close();
|
if (cursor != null) cursor.close();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user