mirror of
https://github.com/deltachat/deltachat-android.git
synced 2025-10-06 11:59:58 +02:00
undo temporary test
This commit is contained in:
parent
fa868077b0
commit
3086c72304
5 changed files with 41 additions and 47 deletions
|
@ -951,7 +951,12 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
|
|||
case AttachmentTypeSelector.ADD_DOCUMENT:
|
||||
AttachmentManager.selectDocument(this, PICK_DOCUMENT); break;
|
||||
case AttachmentTypeSelector.INVITE_VIDEO_CHAT:
|
||||
new VideochatUtil().invite(this, chatId); break;
|
||||
if (isMultiUser()) {
|
||||
VideochatUtil.startMeeting(this, chatId);
|
||||
} else {
|
||||
VideochatUtil.startCall(this, chatId);
|
||||
}
|
||||
break;
|
||||
case AttachmentTypeSelector.ADD_CONTACT_INFO:
|
||||
startContactChooserActivity(); break;
|
||||
case AttachmentTypeSelector.ADD_LOCATION:
|
||||
|
|
|
@ -741,7 +741,7 @@ public class ConversationFragment extends MessageSelectorFragment
|
|||
}
|
||||
}
|
||||
else if (messageRecord.getType()==DcMsg.DC_MSG_VIDEOCHAT_INVITATION) {
|
||||
new VideochatUtil().join(getActivity(), messageRecord.getId());
|
||||
VideochatUtil.joinMeeting(getActivity(), messageRecord.getId());
|
||||
}
|
||||
else if(DozeReminder.isDozeReminderMsg(getContext(), messageRecord)) {
|
||||
DozeReminder.dozeReminderTapped(getContext());
|
||||
|
|
|
@ -18,7 +18,6 @@ import android.view.MenuItem;
|
|||
import android.view.View;
|
||||
import android.webkit.JavascriptInterface;
|
||||
import android.webkit.MimeTypeMap;
|
||||
import android.webkit.PermissionRequest;
|
||||
import android.webkit.ValueCallback;
|
||||
import android.webkit.WebChromeClient;
|
||||
import android.webkit.WebResourceResponse;
|
||||
|
@ -35,7 +34,6 @@ import androidx.core.content.pm.ShortcutManagerCompat;
|
|||
import androidx.core.graphics.drawable.IconCompat;
|
||||
|
||||
import com.b44t.messenger.DcChat;
|
||||
import com.b44t.messenger.DcContact;
|
||||
import com.b44t.messenger.DcContext;
|
||||
import com.b44t.messenger.DcEvent;
|
||||
import com.b44t.messenger.DcMsg;
|
||||
|
@ -165,13 +163,6 @@ public class WebxdcActivity extends WebViewActivity implements DcEventCenter.DcE
|
|||
setScreenMode(getResources().getConfiguration());
|
||||
|
||||
webView.setWebChromeClient(new WebChromeClient() {
|
||||
@Override
|
||||
public void onPermissionRequest(PermissionRequest request) {
|
||||
Util.runOnMain(() -> {
|
||||
request.grant(request.getResources());
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
@RequiresApi(21)
|
||||
public boolean onShowFileChooser(WebView webView, ValueCallback<Uri[]> filePathCallback, WebChromeClient.FileChooserParams fileChooserParams) {
|
||||
|
@ -215,7 +206,7 @@ public class WebxdcActivity extends WebViewActivity implements DcEventCenter.DcE
|
|||
this.baseURL = "https://acc" + dcContext.getAccountId() + "-msg" + appMessageId + ".localhost";
|
||||
|
||||
final JSONObject info = this.dcAppMsg.getWebxdcInfo();
|
||||
internetAccess = true; //JsonUtils.optBoolean(info, "internet_access");
|
||||
internetAccess = JsonUtils.optBoolean(info, "internet_access");
|
||||
selfAddr = info.optString("self_addr");
|
||||
sendUpdateMaxSize = info.optInt("send_update_max_size");
|
||||
sendUpdateInterval = info.optInt("send_update_interval");
|
||||
|
@ -238,10 +229,6 @@ public class WebxdcActivity extends WebViewActivity implements DcEventCenter.DcE
|
|||
String extraHref = b.getString(EXTRA_HREF, "");
|
||||
if (TextUtils.isEmpty(extraHref)) {
|
||||
extraHref = "index.html";
|
||||
if (this.dcAppMsg.getFromId() == DcContact.DC_CONTACT_ID_SELF) {
|
||||
extraHref += "#call";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
String href = baseURL + "/" + extraHref;
|
||||
|
|
|
@ -17,10 +17,10 @@ public class VideochatActivity extends WebViewActivity {
|
|||
private static final String TAG = VideochatActivity.class.getSimpleName();
|
||||
|
||||
public static final String EXTRA_CHAT_ID = "chat_id";
|
||||
public static final String EXTRA_URL = "url";
|
||||
public static final String EXTRA_HASH = "hash";
|
||||
|
||||
private DcContext dcContext;
|
||||
private String url = "";
|
||||
private String url = "file:///android_asset/call.html";
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle state, boolean ready) {
|
||||
|
@ -28,12 +28,12 @@ public class VideochatActivity extends WebViewActivity {
|
|||
this.dcContext = DcHelper.getContext(getApplicationContext());
|
||||
|
||||
Bundle b = getIntent().getExtras();
|
||||
url = b.getString(EXTRA_URL, "");
|
||||
String hash = b.getString(EXTRA_HASH, "");
|
||||
int chatId = b.getInt(EXTRA_CHAT_ID, 0);
|
||||
|
||||
WebSettings webSettings = webView.getSettings();
|
||||
webSettings.setJavaScriptEnabled(true);
|
||||
webSettings.setUserAgentString("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36");
|
||||
webSettings.setMediaPlaybackRequiresUserGesture(false);
|
||||
|
||||
webView.setWebChromeClient(new WebChromeClient() {
|
||||
@Override
|
||||
|
@ -51,7 +51,7 @@ public class VideochatActivity extends WebViewActivity {
|
|||
});
|
||||
});
|
||||
|
||||
webView.loadUrl(url);
|
||||
webView.loadUrl(url+hash);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -20,7 +20,7 @@ import java.nio.charset.StandardCharsets;
|
|||
|
||||
public class VideochatUtil {
|
||||
|
||||
public void invite(Activity activity, int chatId) {
|
||||
public static void startMeeting(Activity activity, int chatId) {
|
||||
DcContext dcContext = DcHelper.getContext(activity);
|
||||
DcChat dcChat = dcContext.getChat(chatId);
|
||||
|
||||
|
@ -29,18 +29,7 @@ public class VideochatUtil {
|
|||
.setMessage(R.string.videochat_invite_user_hint)
|
||||
.setNegativeButton(R.string.cancel, null)
|
||||
.setPositiveButton(R.string.ok, (dialog, which) -> {
|
||||
String instance = dcContext.getConfig(DcHelper.CONFIG_WEBRTC_INSTANCE);
|
||||
boolean unset = instance == null || instance.isEmpty();
|
||||
if (unset) {
|
||||
dcContext.setConfig(DcHelper.CONFIG_WEBRTC_INSTANCE, DcHelper.DEFAULT_VIDEOCHAT_URL);
|
||||
}
|
||||
|
||||
int msgId = dcContext.sendVideochatInvitation(dcChat.getId());
|
||||
|
||||
if (unset) {
|
||||
dcContext.setConfig(DcHelper.CONFIG_WEBRTC_INSTANCE, null);
|
||||
}
|
||||
|
||||
if (msgId != 0) {
|
||||
join(activity, msgId);
|
||||
}
|
||||
|
@ -48,27 +37,40 @@ public class VideochatUtil {
|
|||
.show();
|
||||
}
|
||||
|
||||
public void join(Activity activity, int msgId) {
|
||||
public static void joinMeeting(Activity activity, int msgId) {
|
||||
DcContext dcContext = DcHelper.getContext(activity);
|
||||
DcMsg dcMsg = dcContext.getMsg(msgId);
|
||||
String videochatUrl = dcMsg.getVideochatUrl();
|
||||
IntentUtils.showInBrowser(activity, videochatUrl);
|
||||
}
|
||||
|
||||
public static void startCall(Activity activity, int chatId) {
|
||||
DcContext dcContext = DcHelper.getContext(activity);
|
||||
DcChat dcChat = dcContext.getChat(chatId);
|
||||
|
||||
new AlertDialog.Builder(activity)
|
||||
.setTitle(activity.getString(R.string.videochat_invite_user_to_videochat, dcChat.getName()))
|
||||
.setNegativeButton(R.string.cancel, null)
|
||||
.setPositiveButton(R.string.ok, (dialog, which) -> {
|
||||
joinCall(activity, chatId, "#call");
|
||||
})
|
||||
.show();
|
||||
}
|
||||
|
||||
public static void joinCall(Activity activity, int chatId) {
|
||||
joinCall(activity, chatId, "");
|
||||
}
|
||||
|
||||
private static void joinCall(Activity activity, int chatId, String hash) {
|
||||
Permissions.with(activity)
|
||||
.request(Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO)
|
||||
.ifNecessary()
|
||||
.withPermanentDenialDialog(activity.getString(R.string.perm_explain_access_to_camera_denied))
|
||||
.onAllGranted(() -> {
|
||||
DcContext dcContext = DcHelper.getContext(activity);
|
||||
DcMsg dcMsg = dcContext.getMsg(msgId);
|
||||
String url = dcMsg.getVideochatUrl();
|
||||
if (url.startsWith(DcHelper.DEFAULT_VIDEOCHAT_URL_PREFIX) && url.contains("#")) {
|
||||
String name = dcContext.getName();
|
||||
try {
|
||||
name = URLEncoder.encode(dcContext.getName(), StandardCharsets.UTF_8.toString());
|
||||
} catch (UnsupportedEncodingException ignored) {}
|
||||
url += "&userInfo.displayName=%22" + name +"%22";
|
||||
}
|
||||
|
||||
Intent intent = new Intent(activity, VideochatActivity.class);
|
||||
intent.setAction(Intent.ACTION_VIEW);
|
||||
intent.putExtra(VideochatActivity.EXTRA_CHAT_ID, dcMsg.getChatId());
|
||||
intent.putExtra(VideochatActivity.EXTRA_URL, url);
|
||||
intent.putExtra(VideochatActivity.EXTRA_CHAT_ID, chatId);
|
||||
intent.putExtra(VideochatActivity.EXTRA_HASH, hash);
|
||||
activity.startActivity(intent);
|
||||
})
|
||||
.execute();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue