diff --git a/src/main/java/org/thoughtcrime/securesms/preferences/AdvancedPreferenceFragment.java b/src/main/java/org/thoughtcrime/securesms/preferences/AdvancedPreferenceFragment.java index b6225518e..21ebc923a 100644 --- a/src/main/java/org/thoughtcrime/securesms/preferences/AdvancedPreferenceFragment.java +++ b/src/main/java/org/thoughtcrime/securesms/preferences/AdvancedPreferenceFragment.java @@ -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) diff --git a/src/main/java/org/thoughtcrime/securesms/videochat/VideochatActivity.java b/src/main/java/org/thoughtcrime/securesms/videochat/VideochatActivity.java index 58814052b..572ab27e0 100644 --- a/src/main/java/org/thoughtcrime/securesms/videochat/VideochatActivity.java +++ b/src/main/java/org/thoughtcrime/securesms/videochat/VideochatActivity.java @@ -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 diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml index 64fdeea8d..d2d76b772 100644 --- a/src/main/res/values/strings.xml +++ b/src/main/res/values/strings.xml @@ -369,7 +369,7 @@ File saved to \"%1$s\". Call - Video Calls + Calls Answer Decline diff --git a/src/main/res/xml/preferences_advanced.xml b/src/main/res/xml/preferences_advanced.xml index 4cb87cfa1..8aebc9e4a 100644 --- a/src/main/res/xml/preferences_advanced.xml +++ b/src/main/res/xml/preferences_advanced.xml @@ -23,7 +23,7 @@ + android:title="@string/calls"/>