mirror of
https://github.com/oxen-io/session-android.git
synced 2025-06-09 21:08:34 +00:00
Skip call dialog if signal call is already active.
This commit is contained in:
parent
e90705b459
commit
a079e479ec
@ -11,6 +11,11 @@ import androidx.annotation.NonNull;
|
|||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.appcompat.app.AlertDialog;
|
import androidx.appcompat.app.AlertDialog;
|
||||||
import androidx.core.app.TaskStackBuilder;
|
import androidx.core.app.TaskStackBuilder;
|
||||||
|
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.os.Handler;
|
||||||
|
import android.os.Looper;
|
||||||
|
import android.os.ResultReceiver;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
@ -21,6 +26,7 @@ import org.thoughtcrime.securesms.database.DatabaseFactory;
|
|||||||
import org.thoughtcrime.securesms.permissions.Permissions;
|
import org.thoughtcrime.securesms.permissions.Permissions;
|
||||||
import org.thoughtcrime.securesms.recipients.Recipient;
|
import org.thoughtcrime.securesms.recipients.Recipient;
|
||||||
import org.thoughtcrime.securesms.service.WebRtcCallService;
|
import org.thoughtcrime.securesms.service.WebRtcCallService;
|
||||||
|
import org.thoughtcrime.securesms.util.concurrent.SimpleTask;
|
||||||
|
|
||||||
public class CommunicationActions {
|
public class CommunicationActions {
|
||||||
|
|
||||||
@ -33,12 +39,21 @@ public class CommunicationActions {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
new AlertDialog.Builder(activity)
|
WebRtcCallService.isCallActive(activity, new ResultReceiver(new Handler(Looper.getMainLooper())) {
|
||||||
.setMessage(R.string.CommunicationActions_start_voice_call)
|
@Override
|
||||||
.setPositiveButton(R.string.CommunicationActions_call, (d, w) -> startCallInternal(activity, recipient, false))
|
protected void onReceiveResult(int resultCode, Bundle resultData) {
|
||||||
.setNegativeButton(R.string.CommunicationActions_cancel, (d, w) -> d.dismiss())
|
if (resultCode == 1) {
|
||||||
.setCancelable(true)
|
startCallInternal(activity, recipient, false);
|
||||||
.show();
|
} else {
|
||||||
|
new AlertDialog.Builder(activity)
|
||||||
|
.setMessage(R.string.CommunicationActions_start_voice_call)
|
||||||
|
.setPositiveButton(R.string.CommunicationActions_call, (d, w) -> startCallInternal(activity, recipient, false))
|
||||||
|
.setNegativeButton(R.string.CommunicationActions_cancel, (d, w) -> d.dismiss())
|
||||||
|
.setCancelable(true)
|
||||||
|
.show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void startVideoCall(@NonNull Activity activity, @NonNull Recipient recipient) {
|
public static void startVideoCall(@NonNull Activity activity, @NonNull Recipient recipient) {
|
||||||
@ -50,12 +65,21 @@ public class CommunicationActions {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
new AlertDialog.Builder(activity)
|
WebRtcCallService.isCallActive(activity, new ResultReceiver(new Handler(Looper.getMainLooper())) {
|
||||||
.setMessage(R.string.CommunicationActions_start_video_call)
|
@Override
|
||||||
.setPositiveButton(R.string.CommunicationActions_call, (d, w) -> startCallInternal(activity, recipient, true))
|
protected void onReceiveResult(int resultCode, Bundle resultData) {
|
||||||
.setNegativeButton(R.string.CommunicationActions_cancel, (d, w) -> d.dismiss())
|
if (resultCode == 1) {
|
||||||
.setCancelable(true)
|
startCallInternal(activity, recipient, false);
|
||||||
.show();
|
} else {
|
||||||
|
new AlertDialog.Builder(activity)
|
||||||
|
.setMessage(R.string.CommunicationActions_start_video_call)
|
||||||
|
.setPositiveButton(R.string.CommunicationActions_call, (d, w) -> startCallInternal(activity, recipient, true))
|
||||||
|
.setNegativeButton(R.string.CommunicationActions_cancel, (d, w) -> d.dismiss())
|
||||||
|
.setCancelable(true)
|
||||||
|
.show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void startConversation(@NonNull Context context, @NonNull Recipient recipient, @Nullable String text) {
|
public static void startConversation(@NonNull Context context, @NonNull Recipient recipient, @Nullable String text) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user