diff --git a/src/main/java/org/thoughtcrime/securesms/ConversationActivity.java b/src/main/java/org/thoughtcrime/securesms/ConversationActivity.java index d481dd062..0bf5acc9a 100644 --- a/src/main/java/org/thoughtcrime/securesms/ConversationActivity.java +++ b/src/main/java/org/thoughtcrime/securesms/ConversationActivity.java @@ -567,10 +567,10 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity WebxdcActivity.openMaps(this, chatId); return true; } else if (itemId == R.id.menu_start_audio_call) { - CallUtil.startCall(this, chatId, true); + CallUtil.startCall(this, chatId, false); return true; } else if (itemId == R.id.menu_start_video_call) { - CallUtil.startCall(this, chatId, false); + CallUtil.startCall(this, chatId, true); return true; } else if (itemId == R.id.menu_all_media) { handleAllMedia(); diff --git a/src/main/java/org/thoughtcrime/securesms/ConversationItem.java b/src/main/java/org/thoughtcrime/securesms/ConversationItem.java index ccdcdacf4..bd0c7dc14 100644 --- a/src/main/java/org/thoughtcrime/securesms/ConversationItem.java +++ b/src/main/java/org/thoughtcrime/securesms/ConversationItem.java @@ -996,9 +996,9 @@ public class ConversationItem extends BaseConversationItem int chatId = messageRecord.getChatId(); if (!messageRecord.isOutgoing() && callInfo.state instanceof CallState.Alerting) { int callId = messageRecord.getId(); - CallUtil.openCall(getContext(), accId, chatId, callId, callInfo.sdpOffer, !callInfo.hasVideo); + CallUtil.openCall(getContext(), accId, chatId, callId, callInfo.sdpOffer, callInfo.hasVideo); } else { - CallUtil.startCall(getContext(), accId, chatId, !callInfo.hasVideo); + CallUtil.startCall(getContext(), accId, chatId, callInfo.hasVideo); } } } diff --git a/src/main/java/org/thoughtcrime/securesms/calls/CallActivity.java b/src/main/java/org/thoughtcrime/securesms/calls/CallActivity.java index 58e2caa29..b7da6e461 100644 --- a/src/main/java/org/thoughtcrime/securesms/calls/CallActivity.java +++ b/src/main/java/org/thoughtcrime/securesms/calls/CallActivity.java @@ -43,14 +43,14 @@ public class CallActivity extends WebViewActivity implements DcEventCenter.DcEve public static final String EXTRA_CHAT_ID = "chat_id"; public static final String EXTRA_CALL_ID = "call_id"; public static final String EXTRA_HASH = "hash"; - public static final String EXTRA_AUDIO_ONLY = "audio_only"; + public static final String EXTRA_HAS_VIDEO = "has_video"; private DcContext dcContext; private Rpc rpc; private int accId; private int chatId; private int callId; - private boolean audioOnly; + private boolean hasVideo; private boolean ended = false; @SuppressLint("SetJavaScriptEnabled") @@ -60,9 +60,9 @@ public class CallActivity extends WebViewActivity implements DcEventCenter.DcEve Bundle bundle = getIntent().getExtras(); assert bundle != null; - audioOnly = bundle.getBoolean(EXTRA_AUDIO_ONLY, false); + hasVideo = bundle.getBoolean(EXTRA_HAS_VIDEO, true); String hash = bundle.getString(EXTRA_HASH, ""); - String query = audioOnly? "?noOutgoingVideoInitially" : ""; + String query = hasVideo? "" : "?noOutgoingVideoInitially"; accId = bundle.getInt(EXTRA_ACCOUNT_ID, -1); chatId = bundle.getInt(EXTRA_CHAT_ID, 0); callId = bundle.getInt(EXTRA_CALL_ID, 0); @@ -172,7 +172,7 @@ public class CallActivity extends WebViewActivity implements DcEventCenter.DcEve @JavascriptInterface public void startCall(String payload) { try { - callId = rpc.placeOutgoingCall(accId, chatId, payload, !audioOnly); + callId = rpc.placeOutgoingCall(accId, chatId, payload, hasVideo); } catch (RpcException e) { Log.e(TAG, "Error", e); } diff --git a/src/main/java/org/thoughtcrime/securesms/calls/CallUtil.java b/src/main/java/org/thoughtcrime/securesms/calls/CallUtil.java index c78ef385e..3ef0e237f 100644 --- a/src/main/java/org/thoughtcrime/securesms/calls/CallUtil.java +++ b/src/main/java/org/thoughtcrime/securesms/calls/CallUtil.java @@ -18,29 +18,29 @@ import java.nio.charset.StandardCharsets; public class CallUtil { private static final String TAG = CallUtil.class.getSimpleName(); - public static void startCall(Activity activity, int chatId, boolean audioOnly) { + public static void startCall(Activity activity, int chatId, boolean hasVideo) { 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, audioOnly); + startCall(activity, accId, chatId, hasVideo); }) .execute(); } - public static void startCall(Context context, int accId, int chatId, boolean audioOnly) { + public static void startCall(Context context, int accId, int chatId, boolean hasVideo) { Intent intent = new Intent(context, CallActivity.class); intent.setAction(Intent.ACTION_VIEW); intent.putExtra(CallActivity.EXTRA_ACCOUNT_ID, accId); intent.putExtra(CallActivity.EXTRA_CHAT_ID, chatId); - intent.putExtra(CallActivity.EXTRA_AUDIO_ONLY, audioOnly); + intent.putExtra(CallActivity.EXTRA_HAS_VIDEO, hasVideo); intent.putExtra(CallActivity.EXTRA_HASH, "#startCall"); context.startActivity(intent); } - public static void openCall(Context context, int accId, int chatId, int callId, String payload, boolean audioOnly) { + public static void openCall(Context context, int accId, int chatId, int callId, String payload, boolean hasVideo) { String base64 = Base64.encodeToString(payload.getBytes(StandardCharsets.UTF_8), Base64.NO_WRAP); String hash = ""; try { @@ -54,7 +54,7 @@ public class CallUtil { intent.putExtra(CallActivity.EXTRA_ACCOUNT_ID, accId); intent.putExtra(CallActivity.EXTRA_CHAT_ID, chatId); intent.putExtra(CallActivity.EXTRA_CALL_ID, callId); - intent.putExtra(CallActivity.EXTRA_AUDIO_ONLY, audioOnly); + intent.putExtra(CallActivity.EXTRA_HAS_VIDEO, hasVideo); intent.putExtra(CallActivity.EXTRA_HASH, hash); context.startActivity(intent); } diff --git a/src/main/java/org/thoughtcrime/securesms/notifications/NotificationCenter.java b/src/main/java/org/thoughtcrime/securesms/notifications/NotificationCenter.java index dbbdceeac..323862231 100644 --- a/src/main/java/org/thoughtcrime/securesms/notifications/NotificationCenter.java +++ b/src/main/java/org/thoughtcrime/securesms/notifications/NotificationCenter.java @@ -166,7 +166,7 @@ public class NotificationCenter { return PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT | IntentUtils.FLAG_MUTABLE()); } - public PendingIntent getOpenCallIntent(ChatData chatData, int callId, String payload, boolean autoAccept, boolean audioOnly) { + public PendingIntent getOpenCallIntent(ChatData chatData, int callId, String payload, boolean autoAccept, boolean hasVideo) { final Intent chatIntent = new Intent(context, ConversationActivity.class) .putExtra(ConversationActivity.ACCOUNT_ID_EXTRA, chatData.accountId) .putExtra(ConversationActivity.CHAT_ID_EXTRA, chatData.chatId) @@ -186,7 +186,7 @@ public class NotificationCenter { intent.putExtra(CallActivity.EXTRA_CHAT_ID, chatData.chatId); intent.putExtra(CallActivity.EXTRA_CALL_ID, callId); intent.putExtra(CallActivity.EXTRA_HASH, hash); - intent.putExtra(CallActivity.EXTRA_AUDIO_ONLY, audioOnly); + intent.putExtra(CallActivity.EXTRA_HAS_VIDEO, hasVideo); intent.setPackage(context.getPackageName()); return TaskStackBuilder.create(context) .addNextIntentWithParentStack(chatIntent) @@ -430,12 +430,12 @@ public class NotificationCenter { Util.runOnAnyBackgroundThread(() -> { NotificationManagerCompat notificationManager = NotificationManagerCompat.from(context); DcContext dcContext = context.getDcAccounts().getAccount(accId); - boolean audioOnly; + boolean hasVideo; try { - audioOnly = !context.getRpc().callInfo(accId, callId).hasVideo; + hasVideo = context.getRpc().callInfo(accId, callId).hasVideo; } catch (RpcException e) { Log.e(TAG, "Rpc.callInfo() failed", e); - audioOnly = true; + hasVideo = false; } int chatId = dcContext.getMsg(callId).getChatId(); DcChat dcChat = dcContext.getChat(chatId); @@ -444,7 +444,7 @@ public class NotificationCenter { String notificationChannel = getCallNotificationChannel(notificationManager, chatData, name); PendingIntent declineCallIntent = getDeclineCallIntent(chatData, callId); - PendingIntent openCallIntent = getOpenCallIntent(chatData, callId, payload, false, audioOnly); + PendingIntent openCallIntent = getOpenCallIntent(chatData, callId, payload, false, hasVideo); NotificationCompat.Builder builder = new NotificationCompat.Builder(context, notificationChannel) .setSmallIcon(R.drawable.icon_notification) @@ -469,7 +469,7 @@ public class NotificationCenter { new NotificationCompat.Action.Builder( R.drawable.baseline_call_24, context.getString(R.string.answer_call), - getOpenCallIntent(chatData, callId, payload, true, audioOnly)).build()); + getOpenCallIntent(chatData, callId, payload, true, hasVideo)).build()); Bitmap bitmap = getAvatar(dcChat); if (bitmap != null) {