mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-22 01:40:07 +01:00
Add additional call links moderation ui.
This commit is contained in:
@@ -84,11 +84,11 @@ public class CommunicationActions {
|
||||
@Override
|
||||
protected void onReceiveResult(int resultCode, Bundle resultData) {
|
||||
if (resultCode == 1) {
|
||||
startCallInternal(callContext, recipient, false);
|
||||
startCallInternal(callContext, recipient, false, false);
|
||||
} else {
|
||||
new MaterialAlertDialogBuilder(callContext.getContext())
|
||||
.setMessage(R.string.CommunicationActions_start_voice_call)
|
||||
.setPositiveButton(R.string.CommunicationActions_call, (d, w) -> startCallInternal(callContext, recipient, false))
|
||||
.setPositiveButton(R.string.CommunicationActions_call, (d, w) -> startCallInternal(callContext, recipient, false, false))
|
||||
.setNegativeButton(R.string.CommunicationActions_cancel, (d, w) -> d.dismiss())
|
||||
.setCancelable(true)
|
||||
.show();
|
||||
@@ -104,17 +104,17 @@ public class CommunicationActions {
|
||||
* Start a video call. Assumes that permission request results will be routed to a handler on the Fragment.
|
||||
*/
|
||||
public static void startVideoCall(@NonNull Fragment fragment, @NonNull Recipient recipient) {
|
||||
startVideoCall(new FragmentCallContext(fragment), recipient);
|
||||
startVideoCall(new FragmentCallContext(fragment), recipient, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Start a video call. Assumes that permission request results will be routed to a handler on the Activity.
|
||||
*/
|
||||
public static void startVideoCall(@NonNull Activity activity, @NonNull Recipient recipient) {
|
||||
startVideoCall(new ActivityCallContext(activity), recipient);
|
||||
startVideoCall(new ActivityCallContext(activity), recipient, false);
|
||||
}
|
||||
|
||||
private static void startVideoCall(@NonNull CallContext callContext, @NonNull Recipient recipient) {
|
||||
private static void startVideoCall(@NonNull CallContext callContext, @NonNull Recipient recipient, boolean fromCallLink) {
|
||||
if (TelephonyUtil.isAnyPstnLineBusy(callContext.getContext())) {
|
||||
Toast.makeText(callContext.getContext(),
|
||||
R.string.CommunicationActions_a_cellular_call_is_already_in_progress,
|
||||
@@ -126,7 +126,7 @@ public class CommunicationActions {
|
||||
ApplicationDependencies.getSignalCallManager().isCallActive(new ResultReceiver(new Handler(Looper.getMainLooper())) {
|
||||
@Override
|
||||
protected void onReceiveResult(int resultCode, Bundle resultData) {
|
||||
startCallInternal(callContext, recipient, resultCode != 1);
|
||||
startCallInternal(callContext, recipient, resultCode != 1, fromCallLink);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -377,7 +377,7 @@ public class CommunicationActions {
|
||||
.setPositiveButton(android.R.string.ok, null)
|
||||
.show();
|
||||
} else {
|
||||
startVideoCall(callContext, callLinkRecipient.get());
|
||||
startVideoCall(callContext, callLinkRecipient.get(), true);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -394,8 +394,8 @@ public class CommunicationActions {
|
||||
}
|
||||
}
|
||||
|
||||
private static void startCallInternal(@NonNull CallContext callContext, @NonNull Recipient recipient, boolean isVideo) {
|
||||
if (isVideo) startVideoCallInternal(callContext, recipient);
|
||||
private static void startCallInternal(@NonNull CallContext callContext, @NonNull Recipient recipient, boolean isVideo, boolean fromCallLink) {
|
||||
if (isVideo) startVideoCallInternal(callContext, recipient, fromCallLink);
|
||||
else startAudioCallInternal(callContext, recipient);
|
||||
}
|
||||
|
||||
@@ -420,7 +420,7 @@ public class CommunicationActions {
|
||||
.execute();
|
||||
}
|
||||
|
||||
private static void startVideoCallInternal(@NonNull CallContext callContext, @NonNull Recipient recipient) {
|
||||
private static void startVideoCallInternal(@NonNull CallContext callContext, @NonNull Recipient recipient, boolean fromCallLink) {
|
||||
callContext.getPermissionsBuilder()
|
||||
.request(Manifest.permission.RECORD_AUDIO, Manifest.permission.CAMERA)
|
||||
.ifNecessary()
|
||||
@@ -434,7 +434,8 @@ public class CommunicationActions {
|
||||
Intent activityIntent = new Intent(callContext.getContext(), WebRtcCallActivity.class);
|
||||
|
||||
activityIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
.putExtra(WebRtcCallActivity.EXTRA_ENABLE_VIDEO_IF_AVAILABLE, true);
|
||||
.putExtra(WebRtcCallActivity.EXTRA_ENABLE_VIDEO_IF_AVAILABLE, true)
|
||||
.putExtra(WebRtcCallActivity.EXTRA_STARTED_FROM_CALL_LINK, fromCallLink);
|
||||
|
||||
callContext.startActivity(activityIntent);
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user