diff --git a/briar-android/src/main/java/org/briarproject/briar/android/activity/BriarActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/activity/BriarActivity.java
index ed349038b..456339ffd 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/activity/BriarActivity.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/activity/BriarActivity.java
@@ -7,6 +7,8 @@ import android.view.Window;
import android.widget.CheckBox;
import android.widget.Toast;
+import com.google.android.material.dialog.MaterialAlertDialogBuilder;
+
import org.briarproject.android.dontkillmelib.wakelock.AndroidWakeLockManager;
import org.briarproject.bramble.api.system.Wakeful;
import org.briarproject.briar.R;
@@ -177,8 +179,8 @@ public abstract class BriarActivity extends BaseActivity {
}
protected void showDozeDialog(@StringRes int message) {
- AlertDialog.Builder b =
- new AlertDialog.Builder(this, R.style.BriarDialogTheme);
+ MaterialAlertDialogBuilder b =
+ new MaterialAlertDialogBuilder(this, R.style.BriarDialogTheme);
b.setMessage(message);
b.setView(R.layout.checkbox);
b.setPositiveButton(R.string.fix,
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogFragment.java
index d77e847e8..439a59f63 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogFragment.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogFragment.java
@@ -10,6 +10,8 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;
+import com.google.android.material.dialog.MaterialAlertDialogBuilder;
+
import org.briarproject.bramble.api.sync.GroupId;
import org.briarproject.briar.R;
import org.briarproject.briar.android.activity.ActivityComponent;
@@ -27,7 +29,6 @@ import javax.inject.Inject;
import androidx.annotation.Nullable;
import androidx.annotation.UiThread;
-import androidx.appcompat.app.AlertDialog;
import androidx.lifecycle.ViewModelProvider;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView.LayoutManager;
@@ -220,8 +221,8 @@ public class BlogFragment extends BaseFragment
}
private void showDeleteDialog() {
- AlertDialog.Builder builder = new AlertDialog.Builder(requireContext(),
- R.style.BriarDialogTheme);
+ MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(
+ requireContext(), R.style.BriarDialogTheme);
builder.setTitle(getString(R.string.blogs_remove_blog));
builder.setMessage(
getString(R.string.blogs_remove_blog_dialog_message));
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/RssFeedDeleteFeedDialogFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/RssFeedDeleteFeedDialogFragment.java
index 611ac6f55..b208970d9 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/blog/RssFeedDeleteFeedDialogFragment.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/RssFeedDeleteFeedDialogFragment.java
@@ -4,6 +4,8 @@ import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
+import com.google.android.material.dialog.MaterialAlertDialogBuilder;
+
import org.briarproject.bramble.api.sync.GroupId;
import org.briarproject.briar.R;
import org.briarproject.briar.android.activity.BaseActivity;
@@ -13,7 +15,6 @@ import org.briarproject.nullsafety.ParametersNotNullByDefault;
import javax.inject.Inject;
import androidx.annotation.Nullable;
-import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.DialogFragment;
import androidx.lifecycle.ViewModelProvider;
@@ -51,8 +52,8 @@ public class RssFeedDeleteFeedDialogFragment extends DialogFragment {
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
GroupId groupId = new GroupId(
requireNonNull(requireArguments().getByteArray(GROUP_ID)));
- AlertDialog.Builder builder = new AlertDialog.Builder(requireActivity(),
- R.style.BriarDialogTheme);
+ MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(
+ requireActivity(), R.style.BriarDialogTheme);
builder.setTitle(getString(R.string.blogs_rss_remove_feed));
builder.setMessage(
getString(R.string.blogs_rss_remove_feed_dialog_message));
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/RssFeedImportFailedDialogFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/RssFeedImportFailedDialogFragment.java
index a8f44f3d0..4b08c8ec4 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/blog/RssFeedImportFailedDialogFragment.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/RssFeedImportFailedDialogFragment.java
@@ -4,6 +4,8 @@ import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
+import com.google.android.material.dialog.MaterialAlertDialogBuilder;
+
import org.briarproject.briar.R;
import org.briarproject.briar.android.activity.BaseActivity;
import org.briarproject.nullsafety.MethodsNotNullByDefault;
@@ -12,7 +14,6 @@ import org.briarproject.nullsafety.ParametersNotNullByDefault;
import javax.inject.Inject;
import androidx.annotation.Nullable;
-import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.DialogFragment;
import androidx.lifecycle.ViewModelProvider;
@@ -47,8 +48,8 @@ public class RssFeedImportFailedDialogFragment extends DialogFragment {
@Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
- AlertDialog.Builder builder =
- new AlertDialog.Builder(requireActivity(),
+ MaterialAlertDialogBuilder builder =
+ new MaterialAlertDialogBuilder(requireActivity(),
R.style.BriarDialogTheme);
builder.setMessage(R.string.blogs_rss_feeds_import_error);
builder.setNegativeButton(R.string.cancel, null);
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/contact/add/remote/PendingContactListActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/contact/add/remote/PendingContactListActivity.java
index 2918935b9..87fd666fe 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/contact/add/remote/PendingContactListActivity.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/contact/add/remote/PendingContactListActivity.java
@@ -4,6 +4,7 @@ import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
import android.view.MenuItem;
+import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.snackbar.Snackbar;
import org.briarproject.bramble.api.contact.PendingContactId;
@@ -21,7 +22,6 @@ import javax.annotation.Nullable;
import javax.inject.Inject;
import androidx.appcompat.app.ActionBar;
-import androidx.appcompat.app.AlertDialog;
import androidx.lifecycle.ViewModelProvider;
import androidx.recyclerview.widget.LinearLayoutManager;
@@ -110,7 +110,7 @@ public class PendingContactListActivity extends BriarActivity
// show warning dialog
OnClickListener removeListener = (dialog, which) ->
removePendingContact(item.getPendingContact().getId());
- AlertDialog.Builder builder = new AlertDialog.Builder(
+ MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(
PendingContactListActivity.this, R.style.BriarDialogTheme);
builder.setTitle(
getString(R.string.dialog_title_remove_pending_contact));
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationActivity.java
index e0bbc3150..ad763eda9 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationActivity.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationActivity.java
@@ -19,6 +19,7 @@ import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
+import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.snackbar.Snackbar;
import org.briarproject.bramble.api.FeatureFlags;
@@ -101,7 +102,6 @@ import javax.inject.Inject;
import androidx.activity.result.ActivityResultLauncher;
import androidx.annotation.Nullable;
import androidx.annotation.UiThread;
-import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.ActionMenuView;
import androidx.appcompat.widget.Toolbar;
import androidx.core.app.ActivityCompat;
@@ -812,8 +812,8 @@ public class ConversationActivity extends BriarActivity
}
private void askToDeleteAllMessages() {
- AlertDialog.Builder builder =
- new AlertDialog.Builder(this, R.style.BriarDialogTheme);
+ MaterialAlertDialogBuilder builder =
+ new MaterialAlertDialogBuilder(this, R.style.BriarDialogTheme);
builder.setTitle(getString(R.string.dialog_title_delete_all_messages));
builder.setMessage(
getString(R.string.dialog_message_delete_all_messages));
@@ -892,8 +892,8 @@ public class ConversationActivity extends BriarActivity
}
String msg = join(fails, "\n\n");
// show dialog
- AlertDialog.Builder builder =
- new AlertDialog.Builder(this, R.style.BriarDialogTheme);
+ MaterialAlertDialogBuilder builder =
+ new MaterialAlertDialogBuilder(this, R.style.BriarDialogTheme);
builder.setTitle(
getString(R.string.dialog_title_not_all_messages_deleted));
builder.setMessage(msg);
@@ -904,8 +904,8 @@ public class ConversationActivity extends BriarActivity
private void askToRemoveContact() {
DialogInterface.OnClickListener okListener =
(dialog, which) -> removeContact();
- AlertDialog.Builder builder =
- new AlertDialog.Builder(ConversationActivity.this,
+ MaterialAlertDialogBuilder builder =
+ new MaterialAlertDialogBuilder(ConversationActivity.this,
R.style.BriarDialogTheme);
builder.setTitle(getString(R.string.dialog_title_delete_contact));
builder.setMessage(
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumActivity.java
index 364d730b1..c601696f4 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumActivity.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumActivity.java
@@ -7,6 +7,8 @@ import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
+import com.google.android.material.dialog.MaterialAlertDialogBuilder;
+
import org.briarproject.briar.R;
import org.briarproject.briar.android.activity.ActivityComponent;
import org.briarproject.briar.android.sharing.ForumSharingStatusActivity;
@@ -20,7 +22,6 @@ import org.briarproject.nullsafety.ParametersNotNullByDefault;
import javax.annotation.Nullable;
import javax.inject.Inject;
-import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.Toolbar;
import androidx.lifecycle.ViewModelProvider;
@@ -128,7 +129,7 @@ public class ForumActivity extends
private void showUnsubscribeDialog() {
OnClickListener okListener = (dialog, which) -> viewModel.deleteForum();
- AlertDialog.Builder builder = new AlertDialog.Builder(this,
+ MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this,
R.style.BriarDialogTheme);
builder.setTitle(getString(R.string.dialog_title_leave_forum));
builder.setMessage(getString(R.string.dialog_message_leave_forum));
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/fragment/ScreenFilterDialogFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/fragment/ScreenFilterDialogFragment.java
index 2e2ed6bf2..8091b5a61 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/fragment/ScreenFilterDialogFragment.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/fragment/ScreenFilterDialogFragment.java
@@ -13,6 +13,8 @@ import android.view.View;
import android.widget.CheckBox;
import android.widget.TextView;
+import com.google.android.material.dialog.MaterialAlertDialogBuilder;
+
import org.briarproject.briar.R;
import org.briarproject.briar.android.activity.BaseActivity;
import org.briarproject.briar.api.android.ScreenFilterMonitor;
@@ -27,7 +29,6 @@ import java.util.Collection;
import javax.annotation.Nullable;
import javax.inject.Inject;
-import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.DialogFragment;
import static android.os.Build.VERSION.SDK_INT;
@@ -75,8 +76,8 @@ public class ScreenFilterDialogFragment extends DialogFragment {
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
Activity activity = getActivity();
if (activity == null) throw new IllegalStateException();
- AlertDialog.Builder builder = new AlertDialog.Builder(activity,
- R.style.BriarDialogThemeNoFilter);
+ MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(
+ activity, R.style.BriarDialogThemeNoFilter);
builder.setTitle(R.string.screen_filter_title);
Bundle args = getArguments();
if (args == null) throw new IllegalStateException();
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/hotspot/AbstractConditionManager.java b/briar-android/src/main/java/org/briarproject/briar/android/hotspot/AbstractConditionManager.java
index 435a486a8..06b6dd60d 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/hotspot/AbstractConditionManager.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/hotspot/AbstractConditionManager.java
@@ -6,12 +6,13 @@ import android.content.Intent;
import android.net.wifi.WifiManager;
import android.widget.Toast;
+import com.google.android.material.dialog.MaterialAlertDialogBuilder;
+
import org.briarproject.briar.R;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.annotation.StringRes;
-import androidx.appcompat.app.AlertDialog;
import androidx.core.util.Consumer;
import androidx.fragment.app.FragmentActivity;
@@ -73,7 +74,8 @@ abstract class AbstractConditionManager {
void showRationale(Context ctx, @StringRes int title,
@StringRes int body, Runnable onContinueClicked,
Runnable onDismiss) {
- AlertDialog.Builder builder = new AlertDialog.Builder(ctx);
+ MaterialAlertDialogBuilder builder =
+ new MaterialAlertDialogBuilder(ctx);
builder.setTitle(title);
builder.setMessage(body);
builder.setNeutralButton(R.string.continue_button,
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/login/LoginUtils.java b/briar-android/src/main/java/org/briarproject/briar/android/login/LoginUtils.java
index fe706bc84..048656bcc 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/login/LoginUtils.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/login/LoginUtils.java
@@ -2,6 +2,8 @@ package org.briarproject.briar.android.login;
import android.content.Context;
+import com.google.android.material.dialog.MaterialAlertDialogBuilder;
+
import org.briarproject.briar.R;
import org.briarproject.nullsafety.NotNullByDefault;
@@ -13,8 +15,8 @@ import static org.briarproject.briar.android.util.UiUtils.getDialogIcon;
class LoginUtils {
static AlertDialog createKeyStrengthenerErrorDialog(Context ctx) {
- AlertDialog.Builder builder =
- new AlertDialog.Builder(ctx, R.style.BriarDialogTheme);
+ MaterialAlertDialogBuilder builder =
+ new MaterialAlertDialogBuilder(ctx, R.style.BriarDialogTheme);
builder.setIcon(getDialogIcon(ctx, R.drawable.alerts_and_states_error));
builder.setTitle(R.string.dialog_title_cannot_check_password);
builder.setMessage(R.string.dialog_message_cannot_check_password);
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/login/PasswordFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/login/PasswordFragment.java
index ceab9ce6d..5376cd996 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/login/PasswordFragment.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/login/PasswordFragment.java
@@ -9,6 +9,7 @@ import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ProgressBar;
+import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.textfield.TextInputEditText;
import com.google.android.material.textfield.TextInputLayout;
@@ -154,9 +155,11 @@ public class PasswordFragment extends BaseFragment implements TextWatcher {
}
private void onForgottenPasswordClick() {
- AlertDialog.Builder builder = new AlertDialog.Builder(requireContext(),
- R.style.BriarDialogTheme);
+ MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(
+ requireContext(), R.style.BriarDialogTheme);
builder.setTitle(R.string.dialog_title_lost_password);
+ builder.setBackgroundInsetStart(25);
+ builder.setBackgroundInsetEnd(25);
builder.setMessage(R.string.dialog_message_lost_password);
builder.setPositiveButton(R.string.cancel, null);
builder.setNegativeButton(R.string.delete,
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/mailbox/ErrorWizardFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/mailbox/ErrorWizardFragment.java
index c0f789fb2..11f06fd7c 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/mailbox/ErrorWizardFragment.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/mailbox/ErrorWizardFragment.java
@@ -11,6 +11,7 @@ import android.widget.RadioGroup;
import android.widget.ScrollView;
import com.google.android.material.animation.ArgbEvaluatorCompat;
+import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import org.briarproject.briar.R;
import org.briarproject.briar.android.view.BriarButton;
@@ -24,7 +25,6 @@ import javax.inject.Inject;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
-import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity;
import androidx.lifecycle.ViewModelProvider;
@@ -148,8 +148,8 @@ public class ErrorWizardFragment extends Fragment {
}
private void onUnlinkButtonClicked(View v) {
- AlertDialog.Builder builder = new AlertDialog.Builder(requireContext(),
- R.style.BriarDialogTheme);
+ MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(
+ requireContext(), R.style.BriarDialogTheme);
builder.setTitle(R.string.mailbox_status_unlink_dialog_title);
builder.setMessage(R.string.mailbox_status_unlink_dialog_question);
builder.setPositiveButton(R.string.cancel,
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/mailbox/MailboxActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/mailbox/MailboxActivity.java
index 2ca96f426..5eb000f36 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/mailbox/MailboxActivity.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/mailbox/MailboxActivity.java
@@ -5,6 +5,8 @@ import android.view.MenuItem;
import android.widget.ProgressBar;
import android.widget.Toast;
+import com.google.android.material.dialog.MaterialAlertDialogBuilder;
+
import org.briarproject.bramble.api.mailbox.MailboxPairingState;
import org.briarproject.bramble.api.mailbox.MailboxPairingState.ConnectionError;
import org.briarproject.bramble.api.mailbox.MailboxPairingState.InvalidQrCode;
@@ -31,7 +33,6 @@ import org.briarproject.nullsafety.ParametersNotNullByDefault;
import javax.inject.Inject;
import androidx.annotation.Nullable;
-import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.lifecycle.ViewModelProvider;
@@ -249,8 +250,8 @@ public class MailboxActivity extends BriarActivity {
if (tellUserToWipeMailbox) {
showFragment(getSupportFragmentManager(), new BlankFragment(),
BlankFragment.TAG);
- AlertDialog.Builder builder =
- new AlertDialog.Builder(this, R.style.BriarDialogTheme);
+ MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(
+ this, R.style.BriarDialogTheme);
builder.setTitle(R.string.mailbox_status_unlink_no_wipe_title);
builder.setMessage(R.string.mailbox_status_unlink_no_wipe_message);
builder.setNeutralButton(R.string.got_it,
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/mailbox/MailboxStatusFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/mailbox/MailboxStatusFragment.java
index 86510c4e8..278d06311 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/mailbox/MailboxStatusFragment.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/mailbox/MailboxStatusFragment.java
@@ -13,6 +13,8 @@ import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.TextView;
+import com.google.android.material.dialog.MaterialAlertDialogBuilder;
+
import org.briarproject.bramble.api.mailbox.MailboxStatus;
import org.briarproject.briar.R;
import org.briarproject.briar.android.view.BriarButton;
@@ -214,8 +216,8 @@ public class MailboxStatusFragment extends Fragment {
}
private void onUnlinkButtonClicked(boolean showWarning) {
- AlertDialog.Builder builder = new AlertDialog.Builder(requireContext(),
- R.style.BriarDialogTheme);
+ MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(
+ requireContext(), R.style.BriarDialogTheme);
builder.setTitle(R.string.mailbox_status_unlink_dialog_title);
String msg = getString(R.string.mailbox_status_unlink_dialog_question);
if (showWarning) {
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/panic/PanicPreferencesFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/panic/PanicPreferencesFragment.java
index dde17a075..0a02f9b81 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/panic/PanicPreferencesFragment.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/panic/PanicPreferencesFragment.java
@@ -10,6 +10,8 @@ import android.net.Uri;
import android.os.Bundle;
import android.text.TextUtils;
+import com.google.android.material.dialog.MaterialAlertDialogBuilder;
+
import org.briarproject.briar.R;
import java.util.ArrayList;
@@ -17,7 +19,6 @@ import java.util.logging.Logger;
import javax.annotation.Nullable;
-import androidx.appcompat.app.AlertDialog;
import androidx.preference.ListPreference;
import androidx.preference.PreferenceFragmentCompat;
import androidx.preference.SwitchPreferenceCompat;
@@ -201,8 +202,8 @@ public class PanicPreferencesFragment extends PreferenceFragmentCompat
getActivity().finish();
};
- AlertDialog.Builder builder = new AlertDialog.Builder(getContext(),
- R.style.BriarDialogTheme);
+ MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(
+ requireContext(), R.style.BriarDialogTheme);
builder.setTitle(getString(R.string.dialog_title_connect_panic_app));
CharSequence app = getString(R.string.unknown_app);
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/conversation/GroupActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/conversation/GroupActivity.java
index 44742c5c7..23269b21c 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/conversation/GroupActivity.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/conversation/GroupActivity.java
@@ -6,6 +6,8 @@ import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
+import com.google.android.material.dialog.MaterialAlertDialogBuilder;
+
import org.briarproject.briar.R;
import org.briarproject.briar.android.activity.ActivityComponent;
import org.briarproject.briar.android.privategroup.creation.GroupInviteActivity;
@@ -20,7 +22,6 @@ import org.briarproject.nullsafety.ParametersNotNullByDefault;
import javax.annotation.Nullable;
import javax.inject.Inject;
-import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.Toolbar;
import androidx.lifecycle.ViewModelProvider;
@@ -178,8 +179,8 @@ public class GroupActivity extends
}
private void showLeaveGroupDialog() {
- AlertDialog.Builder builder =
- new AlertDialog.Builder(this, R.style.BriarDialogTheme);
+ MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(
+ this, R.style.BriarDialogTheme);
builder.setTitle(getString(R.string.groups_leave_dialog_title));
builder.setMessage(getString(R.string.groups_leave_dialog_message));
builder.setNegativeButton(R.string.dialog_button_leave,
@@ -189,8 +190,8 @@ public class GroupActivity extends
}
private void showDissolveGroupDialog() {
- AlertDialog.Builder builder =
- new AlertDialog.Builder(this, R.style.BriarDialogTheme);
+ MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(
+ this, R.style.BriarDialogTheme);
builder.setTitle(getString(R.string.groups_dissolve_dialog_title));
builder.setMessage(getString(R.string.groups_dissolve_dialog_message));
builder.setNegativeButton(R.string.groups_dissolve_button,
@@ -206,8 +207,8 @@ public class GroupActivity extends
}
private void onGroupDissolved() {
- AlertDialog.Builder builder =
- new AlertDialog.Builder(this, R.style.BriarDialogTheme);
+ MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(
+ this, R.style.BriarDialogTheme);
builder.setTitle(getString(R.string.groups_dissolved_dialog_title));
builder.setMessage(getString(R.string.groups_dissolved_dialog_message));
builder.setNeutralButton(R.string.ok, null);
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/reveal/RevealContactsActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/reveal/RevealContactsActivity.java
index 201eaba17..f163add4f 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/reveal/RevealContactsActivity.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/reveal/RevealContactsActivity.java
@@ -9,6 +9,8 @@ import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
+import com.google.android.material.dialog.MaterialAlertDialogBuilder;
+
import org.briarproject.bramble.api.contact.ContactId;
import org.briarproject.bramble.api.db.DbException;
import org.briarproject.bramble.api.sync.GroupId;
@@ -26,7 +28,6 @@ import javax.annotation.Nullable;
import javax.inject.Inject;
import androidx.annotation.LayoutRes;
-import androidx.appcompat.app.AlertDialog;
@MethodsNotNullByDefault
@ParametersNotNullByDefault
@@ -105,7 +106,8 @@ public class RevealContactsActivity extends ContactSelectorActivity
}
private void showOnboardingDialog() {
- new AlertDialog.Builder(this, R.style.OnboardingDialogTheme)
+ new MaterialAlertDialogBuilder(this,
+ R.style.OnboardingDialogTheme)
.setMessage(getString(R.string.groups_reveal_dialog_message))
.setNeutralButton(R.string.got_it,
(dialog, which) -> dialog.cancel())
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/settings/ConfirmAvatarDialogFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/settings/ConfirmAvatarDialogFragment.java
index 72775dd20..452b862e8 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/settings/ConfirmAvatarDialogFragment.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/settings/ConfirmAvatarDialogFragment.java
@@ -10,6 +10,7 @@ import android.widget.ImageView;
import android.widget.TextView;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
+import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import org.briarproject.briar.R;
import org.briarproject.briar.android.activity.BaseActivity;
@@ -20,7 +21,6 @@ import org.briarproject.nullsafety.ParametersNotNullByDefault;
import javax.inject.Inject;
import androidx.annotation.Nullable;
-import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.DialogFragment;
import androidx.fragment.app.FragmentActivity;
import androidx.lifecycle.ViewModelProvider;
@@ -86,7 +86,7 @@ public class ConfirmAvatarDialogFragment extends DialogFragment {
);
int theme = R.style.BriarDialogTheme;
- return new AlertDialog.Builder(activity, theme)
+ return new MaterialAlertDialogBuilder(activity, theme)
.setView(view)
.setTitle(R.string.dialog_confirm_profile_picture_title)
.setNegativeButton(R.string.cancel, null)
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/settings/DisplayFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/settings/DisplayFragment.java
index 119a407c0..40aba199d 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/settings/DisplayFragment.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/settings/DisplayFragment.java
@@ -1,9 +1,10 @@
package org.briarproject.briar.android.settings;
-import android.app.AlertDialog;
import android.content.Intent;
import android.os.Bundle;
+import com.google.android.material.dialog.MaterialAlertDialogBuilder;
+
import org.briarproject.briar.R;
import org.briarproject.briar.android.Localizer;
import org.briarproject.briar.android.util.UiUtils;
@@ -101,8 +102,8 @@ public class DisplayFragment extends PreferenceFragmentCompat {
private boolean onLanguageChanged(Preference preference, Object newValue) {
ListPreference language = (ListPreference) preference;
if (!language.getValue().equals(newValue)) {
- AlertDialog.Builder builder =
- new AlertDialog.Builder(getActivity());
+ MaterialAlertDialogBuilder builder =
+ new MaterialAlertDialogBuilder(requireContext());
builder.setTitle(R.string.pref_language_title);
builder.setMessage(R.string.pref_language_changed);
builder.setPositiveButton(R.string.sign_out_button, (d, i) -> {
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/util/PermissionUtils.java b/briar-android/src/main/java/org/briarproject/briar/android/util/PermissionUtils.java
index d1c6432a8..51c33ea94 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/util/PermissionUtils.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/util/PermissionUtils.java
@@ -6,6 +6,8 @@ import android.content.Intent;
import android.location.LocationManager;
import android.net.Uri;
+import com.google.android.material.dialog.MaterialAlertDialogBuilder;
+
import org.briarproject.briar.R;
import org.briarproject.nullsafety.MethodsNotNullByDefault;
import org.briarproject.nullsafety.ParametersNotNullByDefault;
@@ -16,7 +18,6 @@ import androidx.activity.result.ActivityResultLauncher;
import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi;
import androidx.annotation.StringRes;
-import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.FragmentActivity;
import static android.Manifest.permission.BLUETOOTH_ADVERTISE;
@@ -108,8 +109,8 @@ public class PermissionUtils {
}
public static void showLocationDialog(Context ctx, boolean forBluetooth) {
- AlertDialog.Builder builder =
- new AlertDialog.Builder(ctx, R.style.BriarDialogTheme);
+ MaterialAlertDialogBuilder builder =
+ new MaterialAlertDialogBuilder(ctx, R.style.BriarDialogTheme);
builder.setTitle(R.string.permission_location_setting_title);
if (forBluetooth) {
builder.setMessage(R.string.permission_location_setting_body);
@@ -136,8 +137,8 @@ public class PermissionUtils {
public static void showDenialDialog(FragmentActivity ctx,
@StringRes int title, @StringRes int body, Runnable onDenied) {
- AlertDialog.Builder builder =
- new AlertDialog.Builder(ctx, R.style.BriarDialogTheme);
+ MaterialAlertDialogBuilder builder =
+ new MaterialAlertDialogBuilder(ctx, R.style.BriarDialogTheme);
builder.setTitle(title);
builder.setMessage(body);
builder.setPositiveButton(R.string.ok, getGoToSettingsListener(ctx));
@@ -148,8 +149,8 @@ public class PermissionUtils {
public static void showRationale(FragmentActivity ctx, @StringRes int title,
@StringRes int body, @Nullable Runnable onOk) {
- AlertDialog.Builder builder =
- new AlertDialog.Builder(ctx, R.style.BriarDialogTheme);
+ MaterialAlertDialogBuilder builder =
+ new MaterialAlertDialogBuilder(ctx, R.style.BriarDialogTheme);
builder.setTitle(title);
builder.setMessage(body);
builder.setNeutralButton(R.string.continue_button, (dialog, which) -> {
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/util/UiUtils.java b/briar-android/src/main/java/org/briarproject/briar/android/util/UiUtils.java
index 19b92a574..a601feeac 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/util/UiUtils.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/util/UiUtils.java
@@ -28,6 +28,7 @@ import android.view.inputmethod.InputMethodManager;
import android.widget.TextView;
import android.widget.Toast;
+import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.textfield.TextInputLayout;
import org.briarproject.bramble.api.contact.Contact;
@@ -52,7 +53,6 @@ import androidx.annotation.ColorRes;
import androidx.annotation.DrawableRes;
import androidx.annotation.Nullable;
import androidx.annotation.UiThread;
-import androidx.appcompat.app.AlertDialog;
import androidx.core.content.ContextCompat;
import androidx.core.hardware.fingerprint.FingerprintManagerCompat;
import androidx.core.text.HtmlCompat;
@@ -322,7 +322,7 @@ public class UiUtils {
}
public static void showOnboardingDialog(Context ctx, String text) {
- new AlertDialog.Builder(ctx, R.style.OnboardingDialogTheme)
+ new MaterialAlertDialogBuilder(ctx, R.style.OnboardingDialogTheme)
.setMessage(text)
.setNeutralButton(R.string.got_it,
(dialog, which) -> dialog.cancel())
diff --git a/briar-android/src/main/res/layout/fragment_contact_list.xml b/briar-android/src/main/res/layout/fragment_contact_list.xml
index d4575794b..b1a01ae7f 100644
--- a/briar-android/src/main/res/layout/fragment_contact_list.xml
+++ b/briar-android/src/main/res/layout/fragment_contact_list.xml
@@ -18,8 +18,7 @@
app:fab_fabDrawable="@drawable/ic_action_add"
app:fab_fabRippleColor="@android:color/transparent"
app:fab_menu="@menu/contact_list_actions"
- app:fab_miniFabTextBackground="@color/briar_accent"
- app:fab_miniFabTextColor="@android:color/white"
+ app:fab_miniFabTextBackground="?attr/colorPrimary"
app:layout_anchorGravity="bottom|right|end"
app:layout_behavior="org.briarproject.briar.android.view.SnackbarAwareBehavior" />
diff --git a/briar-android/src/main/res/layout/power_view.xml b/briar-android/src/main/res/layout/power_view.xml
index 693070293..4170dbd08 100644
--- a/briar-android/src/main/res/layout/power_view.xml
+++ b/briar-android/src/main/res/layout/power_view.xml
@@ -36,7 +36,7 @@
\ No newline at end of file
diff --git a/briar-android/src/main/res/values/color.xml b/briar-android/src/main/res/values/color.xml
index aa1b1f6f2..e87d5f56b 100644
--- a/briar-android/src/main/res/values/color.xml
+++ b/briar-android/src/main/res/values/color.xml
@@ -1,7 +1,9 @@
+ #283E0F
#67a60f
#65A30D
+ #82C91E
#82c91e
#A3E635
@@ -91,8 +93,8 @@
- @color/briar_lime_600_new
- #FFFFFF
+ @color/briar_lime_500
+ @color/briar_lime_950
@color/briar_night_700
@android:color/white
@color/briar_night_700
diff --git a/briar-android/src/main/res/values/styles.xml b/briar-android/src/main/res/values/styles.xml
index 16be110ad..5d993fb22 100644
--- a/briar-android/src/main/res/values/styles.xml
+++ b/briar-android/src/main/res/values/styles.xml
@@ -23,6 +23,7 @@
- @dimen/text_size_medium
- @dimen/margin_large
- @dimen/button_size
+ - 6dp
-