mirror of
https://github.com/oxen-io/session-android.git
synced 2023-12-14 02:53:01 +01:00
ea0945d406
// FREEBIE
70 lines
2.8 KiB
Java
70 lines
2.8 KiB
Java
package org.thoughtcrime.redphone;
|
|
|
|
import android.app.Activity;
|
|
import android.content.Intent;
|
|
import android.database.Cursor;
|
|
import android.os.Bundle;
|
|
import android.provider.ContactsContract;
|
|
import android.text.TextUtils;
|
|
import android.util.Log;
|
|
|
|
import org.thoughtcrime.securesms.WebRtcCallActivity;
|
|
import org.thoughtcrime.securesms.recipients.RecipientFactory;
|
|
import org.thoughtcrime.securesms.recipients.Recipients;
|
|
import org.thoughtcrime.securesms.service.WebRtcCallService;
|
|
import org.thoughtcrime.securesms.util.DirectoryHelper;
|
|
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
|
|
|
public class VoiceCallShare extends Activity {
|
|
|
|
private static final String TAG = VoiceCallShare.class.getSimpleName();
|
|
|
|
@Override
|
|
public void onCreate(Bundle icicle) {
|
|
super.onCreate(icicle);
|
|
|
|
if (getIntent().getData() != null && "content".equals(getIntent().getData().getScheme())) {
|
|
Cursor cursor = null;
|
|
|
|
try {
|
|
cursor = getContentResolver().query(getIntent().getData(), null, null, null, null);
|
|
|
|
if (cursor != null && cursor.moveToNext()) {
|
|
String destination = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.RawContacts.Data.DATA1));
|
|
|
|
if (!TextUtils.isEmpty(destination)) {
|
|
Recipients recipients = RecipientFactory.getRecipientsFromString(this, destination, true);
|
|
DirectoryHelper.UserCapabilities capabilities = DirectoryHelper.getUserCapabilities(this, recipients);
|
|
|
|
if (TextSecurePreferences.isWebrtcCallingEnabled(this) &&
|
|
capabilities.getVideoCapability() == DirectoryHelper.UserCapabilities.Capability.SUPPORTED)
|
|
{
|
|
Intent serviceIntent = new Intent(this, WebRtcCallService.class);
|
|
serviceIntent.setAction(WebRtcCallService.ACTION_OUTGOING_CALL);
|
|
serviceIntent.putExtra(WebRtcCallService.EXTRA_REMOTE_NUMBER, destination);
|
|
startService(serviceIntent);
|
|
|
|
Intent activityIntent = new Intent(this, WebRtcCallActivity.class);
|
|
activityIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
|
startActivity(activityIntent);
|
|
} else {
|
|
Intent serviceIntent = new Intent(this, RedPhoneService.class);
|
|
serviceIntent.setAction(RedPhoneService.ACTION_OUTGOING_CALL);
|
|
serviceIntent.putExtra(RedPhoneService.EXTRA_REMOTE_NUMBER, destination);
|
|
startService(serviceIntent);
|
|
|
|
Intent activityIntent = new Intent(this, RedPhone.class);
|
|
activityIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
|
startActivity(activityIntent);
|
|
}
|
|
}
|
|
}
|
|
} finally {
|
|
if (cursor != null) cursor.close();
|
|
}
|
|
}
|
|
|
|
finish();
|
|
}
|
|
|
|
}
|