show menu to select audio/video call modes

This commit is contained in:
adbenitez
2026-02-04 19:36:34 +01:00
parent e2efa1f913
commit df7d80319c
4 changed files with 24 additions and 8 deletions
@@ -566,8 +566,11 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
} else if (itemId == R.id.menu_show_map) {
WebxdcActivity.openMaps(this, chatId);
return true;
} else if (itemId == R.id.menu_start_call) {
CallUtil.startCall(this, chatId);
} else if (itemId == R.id.menu_start_audio_call) {
CallUtil.startCall(this, chatId, true);
return true;
} else if (itemId == R.id.menu_start_video_call) {
CallUtil.startCall(this, chatId, false);
return true;
} else if (itemId == R.id.menu_all_media) {
handleAllMedia();
@@ -18,19 +18,19 @@ import java.nio.charset.StandardCharsets;
public class CallUtil {
private static final String TAG = CallUtil.class.getSimpleName();
public static void startCall(Activity activity, int chatId) {
public static void startCall(Activity activity, int chatId, boolean audioOnly) {
Permissions.with(activity)
.request(Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO)
.ifNecessary()
.withPermanentDenialDialog(activity.getString(R.string.perm_explain_access_to_camera_denied))
.onAllGranted(() -> {
int accId = DcHelper.getContext(activity).getAccountId();
startCall(activity, accId, chatId);
startCall(activity, accId, chatId, audioOnly);
})
.execute();
}
public static void startCall(Context context, int accId, int chatId) {
public static void startCall(Context context, int accId, int chatId, boolean audioOnly) {
Intent intent = new Intent(context, CallActivity.class);
intent.setAction(Intent.ACTION_VIEW);
intent.putExtra(CallActivity.EXTRA_ACCOUNT_ID, accId);