Compare commits

...

2 commits

Author SHA1 Message Date
adbenitez
a24069ce3d ask for required permissions in incoming call 2025-09-17 19:27:45 +02:00
adbenitez
f770f817d0 tweak preference name 2025-09-17 17:52:00 +02:00
4 changed files with 21 additions and 5 deletions

View file

@ -210,7 +210,7 @@ public class AdvancedPreferenceFragment extends ListSummaryPreferenceFragment
callsEnabled.setOnPreferenceChangeListener((preference, newValue) -> {
if ((Boolean)newValue) {
new AlertDialog.Builder(requireActivity())
.setTitle("Thanks for trying out \"Video Calls\"!")
.setTitle("Thanks for trying out \"Calls\"!")
.setMessage("• You can now call contacts\n\n"
+ "• If you want to quit the experimental feature, you can disable it at \"Settings / Advanced\"")
.setCancelable(false)

View file

@ -1,5 +1,6 @@
package org.thoughtcrime.securesms.videochat;
import android.Manifest;
import android.annotation.SuppressLint;
import android.content.Context;
import android.os.Bundle;
@ -18,9 +19,11 @@ import com.b44t.messenger.DcChat;
import com.b44t.messenger.DcContext;
import com.b44t.messenger.DcEvent;
import org.thoughtcrime.securesms.R;
import org.thoughtcrime.securesms.WebViewActivity;
import org.thoughtcrime.securesms.connect.DcEventCenter;
import org.thoughtcrime.securesms.connect.DcHelper;
import org.thoughtcrime.securesms.permissions.Permissions;
import org.thoughtcrime.securesms.recipients.Recipient;
import org.thoughtcrime.securesms.util.AvatarUtil;
import org.thoughtcrime.securesms.util.Util;
@ -79,8 +82,21 @@ public class VideochatActivity extends WebViewActivity implements DcEventCenter.
Util.runOnMain(() -> Objects.requireNonNull(getSupportActionBar()).setTitle(chat.getName()));
});
String url = "file:///android_asset/calls/index.html";
webView.loadUrl(url + hash);
Permissions.with(this)
.request(Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO)
.ifNecessary()
.withPermanentDenialDialog(getString(R.string.perm_explain_access_to_camera_denied))
.onAllGranted(() -> {
String url = "file:///android_asset/calls/index.html";
webView.loadUrl(url + hash);
}).onAnyDenied(this::finish)
.execute();
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
Permissions.onRequestPermissionsResult(this, requestCode, permissions, grantResults);
}
@Override

View file

@ -369,7 +369,7 @@
<string name="file_saved_to">File saved to \"%1$s\".</string>
<string name="start_call">Call</string>
<string name="video_calls">Video Calls</string>
<string name="calls">Calls</string>
<string name="answer_call">Answer</string>
<string name="end_call">Decline</string>

View file

@ -23,7 +23,7 @@
<org.thoughtcrime.securesms.components.SwitchPreferenceCompat
android:defaultValue="false"
android:key="pref_calls_enabled"
android:title="@string/video_calls"/>
android:title="@string/calls"/>
<org.thoughtcrime.securesms.components.SwitchPreferenceCompat
android:defaultValue="false"