mirror of
https://github.com/deltachat/deltachat-android.git
synced 2025-10-03 01:39:18 +02:00
update to new calls-app's API
This commit is contained in:
parent
6b1c6b37ac
commit
bee804e095
5 changed files with 50 additions and 28 deletions
|
@ -1 +1 @@
|
||||||
Subproject commit 75bcf8660bca5b80bea7835bd85df11518a0f7e4
|
Subproject commit 5d9b887624f8c1641e40e009727b977de1c62bee
|
File diff suppressed because one or more lines are too long
|
@ -17,6 +17,7 @@ import android.media.RingtoneManager;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
import android.util.Base64;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
|
@ -50,7 +51,10 @@ import org.thoughtcrime.securesms.util.Prefs;
|
||||||
import org.thoughtcrime.securesms.util.Util;
|
import org.thoughtcrime.securesms.util.Util;
|
||||||
import org.thoughtcrime.securesms.videochat.VideochatActivity;
|
import org.thoughtcrime.securesms.videochat.VideochatActivity;
|
||||||
|
|
||||||
|
import java.io.UnsupportedEncodingException;
|
||||||
import java.math.BigInteger;
|
import java.math.BigInteger;
|
||||||
|
import java.net.URLEncoder;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.security.MessageDigest;
|
import java.security.MessageDigest;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
@ -166,7 +170,14 @@ public class NotificationCenter {
|
||||||
.putExtra(ConversationActivity.CHAT_ID_EXTRA, chatData.chatId)
|
.putExtra(ConversationActivity.CHAT_ID_EXTRA, chatData.chatId)
|
||||||
.setAction(Intent.ACTION_VIEW);
|
.setAction(Intent.ACTION_VIEW);
|
||||||
|
|
||||||
String hash = "#offer=" + payload;
|
String base64 = Base64.encodeToString(payload.getBytes(StandardCharsets.UTF_8), Base64.NO_WRAP);
|
||||||
|
String hash = "";
|
||||||
|
try {
|
||||||
|
hash = "#acceptCall=" + URLEncoder.encode(base64, "UTF-8");
|
||||||
|
} catch (UnsupportedEncodingException e) {
|
||||||
|
Log.e(TAG, "Error", e);
|
||||||
|
}
|
||||||
|
|
||||||
Intent intent = new Intent(context, VideochatActivity.class);
|
Intent intent = new Intent(context, VideochatActivity.class);
|
||||||
intent.setAction(Intent.ACTION_VIEW);
|
intent.setAction(Intent.ACTION_VIEW);
|
||||||
intent.putExtra(VideochatActivity.EXTRA_ACCOUNT_ID, chatData.accountId);
|
intent.putExtra(VideochatActivity.EXTRA_ACCOUNT_ID, chatData.accountId);
|
||||||
|
|
|
@ -4,6 +4,8 @@ import android.annotation.SuppressLint;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
import android.util.Base64;
|
||||||
|
import android.util.Log;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.webkit.JavascriptInterface;
|
import android.webkit.JavascriptInterface;
|
||||||
import android.webkit.PermissionRequest;
|
import android.webkit.PermissionRequest;
|
||||||
|
@ -23,9 +25,13 @@ import org.thoughtcrime.securesms.recipients.Recipient;
|
||||||
import org.thoughtcrime.securesms.util.AvatarUtil;
|
import org.thoughtcrime.securesms.util.AvatarUtil;
|
||||||
import org.thoughtcrime.securesms.util.Util;
|
import org.thoughtcrime.securesms.util.Util;
|
||||||
|
|
||||||
|
import java.io.UnsupportedEncodingException;
|
||||||
|
import java.net.URLEncoder;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
public class VideochatActivity extends WebViewActivity implements DcEventCenter.DcEventDelegate {
|
public class VideochatActivity extends WebViewActivity implements DcEventCenter.DcEventDelegate {
|
||||||
|
private static final String TAG = VideochatActivity.class.getSimpleName();
|
||||||
|
|
||||||
public static final String EXTRA_ACCOUNT_ID = "acc_id";
|
public static final String EXTRA_ACCOUNT_ID = "acc_id";
|
||||||
public static final String EXTRA_CHAT_ID = "chat_id";
|
public static final String EXTRA_CHAT_ID = "chat_id";
|
||||||
|
@ -101,8 +107,13 @@ public class VideochatActivity extends WebViewActivity implements DcEventCenter.
|
||||||
switch (event.getId()) {
|
switch (event.getId()) {
|
||||||
case DcContext.DC_EVENT_OUTGOING_CALL_ACCEPTED:
|
case DcContext.DC_EVENT_OUTGOING_CALL_ACCEPTED:
|
||||||
if (event.getData1Int() == callId) {
|
if (event.getData1Int() == callId) {
|
||||||
String hash = "#answer=" + event.getData2Str();
|
try {
|
||||||
webView.evaluateJavascript("window.location.hash = `"+hash+"`", null);
|
String base64 = Base64.encodeToString(event.getData2Str().getBytes(StandardCharsets.UTF_8), Base64.NO_WRAP);
|
||||||
|
String hash = "#onAnswer=" + URLEncoder.encode(base64, "UTF-8");
|
||||||
|
webView.evaluateJavascript("window.location.hash = `"+hash+"`", null);
|
||||||
|
} catch (UnsupportedEncodingException e) {
|
||||||
|
Log.e(TAG, "Error", e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case DcContext.DC_EVENT_CALL_ENDED:
|
case DcContext.DC_EVENT_CALL_ENDED:
|
||||||
|
|
|
@ -21,7 +21,7 @@ public class VideochatUtil {
|
||||||
intent.setAction(Intent.ACTION_VIEW);
|
intent.setAction(Intent.ACTION_VIEW);
|
||||||
intent.putExtra(VideochatActivity.EXTRA_ACCOUNT_ID, accId);
|
intent.putExtra(VideochatActivity.EXTRA_ACCOUNT_ID, accId);
|
||||||
intent.putExtra(VideochatActivity.EXTRA_CHAT_ID, chatId);
|
intent.putExtra(VideochatActivity.EXTRA_CHAT_ID, chatId);
|
||||||
intent.putExtra(VideochatActivity.EXTRA_HASH, "#call");
|
intent.putExtra(VideochatActivity.EXTRA_HASH, "#startCall");
|
||||||
activity.startActivity(intent);
|
activity.startActivity(intent);
|
||||||
})
|
})
|
||||||
.execute();
|
.execute();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue