From aec429220370d3a6c00b86f4ac509b63ea1606d9 Mon Sep 17 00:00:00 2001 From: Aayush Gupta Date: Wed, 5 Oct 2022 10:37:03 +0530 Subject: [PATCH] Catima: Migrate to MaterialAlertDialogBuilder everywhere This follows Material theme and looks much better compared to AlertDialog Ref: https://developer.android.com/reference/com/google/android/material/dialog/MaterialAlertDialogBuilder Signed-off-by: Aayush Gupta --- .../java/protect/card_locker/AboutActivity.java | 5 +++-- .../protect/card_locker/ImportExportActivity.java | 15 +++++++++------ .../card_locker/LoyaltyCardEditActivity.java | 9 +++++---- .../card_locker/LoyaltyCardViewActivity.java | 5 +++-- .../java/protect/card_locker/MainActivity.java | 5 +++-- .../protect/card_locker/ManageGroupActivity.java | 3 ++- .../protect/card_locker/ManageGroupsActivity.java | 5 +++-- 7 files changed, 28 insertions(+), 19 deletions(-) diff --git a/app/src/main/java/protect/card_locker/AboutActivity.java b/app/src/main/java/protect/card_locker/AboutActivity.java index 6b12477cf..b839171c5 100644 --- a/app/src/main/java/protect/card_locker/AboutActivity.java +++ b/app/src/main/java/protect/card_locker/AboutActivity.java @@ -21,11 +21,12 @@ import java.util.Calendar; import java.util.List; import androidx.appcompat.app.ActionBar; -import androidx.appcompat.app.AlertDialog; import androidx.appcompat.widget.Toolbar; import androidx.constraintlayout.widget.ConstraintLayout; import androidx.core.text.HtmlCompat; +import com.google.android.material.dialog.MaterialAlertDialogBuilder; + import protect.card_locker.databinding.AboutActivityBinding; public class AboutActivity extends CatimaAppCompatActivity implements View.OnClickListener { @@ -131,7 +132,7 @@ public class AboutActivity extends CatimaAppCompatActivity implements View.OnCli contributorInfo.append("\n\n"); contributorInfo.append(HtmlCompat.fromHtml(String.format(getString(R.string.app_resources), resources.toString()), HtmlCompat.FROM_HTML_MODE_COMPACT)); - credits.setOnClickListener(view -> new AlertDialog.Builder(this) + credits.setOnClickListener(view -> new MaterialAlertDialogBuilder(this) .setTitle(R.string.credits) .setMessage(contributorInfo.toString()) .setPositiveButton(R.string.ok, (dialogInterface, i) -> { diff --git a/app/src/main/java/protect/card_locker/ImportExportActivity.java b/app/src/main/java/protect/card_locker/ImportExportActivity.java index fa7fcf0aa..4cea86013 100644 --- a/app/src/main/java/protect/card_locker/ImportExportActivity.java +++ b/app/src/main/java/protect/card_locker/ImportExportActivity.java @@ -29,6 +29,9 @@ import androidx.appcompat.app.AlertDialog; import androidx.appcompat.widget.Toolbar; import androidx.core.app.ActivityCompat; import androidx.core.content.ContextCompat; + +import com.google.android.material.dialog.MaterialAlertDialogBuilder; + import protect.card_locker.async.TaskHandler; import protect.card_locker.databinding.ImportExportActivityBinding; import protect.card_locker.importexport.DataFormat; @@ -131,7 +134,7 @@ public class ImportExportActivity extends CatimaAppCompatActivity { Button exportButton = binding.exportButton; exportButton.setOnClickListener(v -> { - AlertDialog.Builder builder = new AlertDialog.Builder(ImportExportActivity.this); + AlertDialog.Builder builder = new MaterialAlertDialogBuilder(ImportExportActivity.this); builder.setTitle(R.string.exportPassword); FrameLayout container = new FrameLayout(ImportExportActivity.this); @@ -194,7 +197,7 @@ public class ImportExportActivity extends CatimaAppCompatActivity { importOptions.add(importOption); } - AlertDialog.Builder builder = new AlertDialog.Builder(this); + AlertDialog.Builder builder = new MaterialAlertDialogBuilder(this); builder.setTitle(R.string.chooseImportType) .setItems(importOptions.toArray(new CharSequence[importOptions.size()]), (dialog, which) -> { switch (which) { @@ -232,7 +235,7 @@ public class ImportExportActivity extends CatimaAppCompatActivity { throw new IllegalArgumentException("Unknown DataFormat"); } - new AlertDialog.Builder(this) + new MaterialAlertDialogBuilder(this) .setTitle(importAlertTitle) .setMessage(importAlertMessage) .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() { @@ -343,7 +346,7 @@ public class ImportExportActivity extends CatimaAppCompatActivity { } private void retryWithPassword(DataFormat dataFormat, Uri uri) { - AlertDialog.Builder builder = new AlertDialog.Builder(this); + AlertDialog.Builder builder = new MaterialAlertDialogBuilder(this); builder.setTitle(R.string.passwordRequired); final EditText input = new EditText(this); @@ -386,7 +389,7 @@ public class ImportExportActivity extends CatimaAppCompatActivity { return; } - AlertDialog.Builder builder = new AlertDialog.Builder(this); + AlertDialog.Builder builder = new MaterialAlertDialogBuilder(this); builder.setTitle(resultType == ImportExportResultType.Success ? R.string.importSuccessfulTitle : R.string.importFailedTitle); builder.setMessage(buildResultDialogMessage(result, true)); builder.setNeutralButton(R.string.ok, (dialog, which) -> dialog.dismiss()); @@ -397,7 +400,7 @@ public class ImportExportActivity extends CatimaAppCompatActivity { private void onExportComplete(ImportExportResult result, final Uri path) { ImportExportResultType resultType = result.resultType(); - AlertDialog.Builder builder = new AlertDialog.Builder(this); + AlertDialog.Builder builder = new MaterialAlertDialogBuilder(this); builder.setTitle(resultType == ImportExportResultType.Success ? R.string.exportSuccessfulTitle : R.string.exportFailedTitle); builder.setMessage(buildResultDialogMessage(result, false)); builder.setNeutralButton(R.string.ok, (dialog, which) -> dialog.dismiss()); diff --git a/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java b/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java index 3530923bb..3f3eb39d0 100644 --- a/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java +++ b/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java @@ -38,6 +38,7 @@ import android.widget.Toast; import com.google.android.material.chip.Chip; import com.google.android.material.chip.ChipGroup; import com.google.android.material.color.MaterialColors; +import com.google.android.material.dialog.MaterialAlertDialogBuilder; import com.google.android.material.floatingactionbutton.FloatingActionButton; import com.google.android.material.snackbar.Snackbar; import com.google.android.material.tabs.TabLayout; @@ -513,7 +514,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity { barcodeIdField.setText(lastValue); } - AlertDialog.Builder builder = new AlertDialog.Builder(LoyaltyCardEditActivity.this); + AlertDialog.Builder builder = new MaterialAlertDialogBuilder(LoyaltyCardEditActivity.this); builder.setTitle(R.string.setBarcodeId); final EditText input = new EditText(LoyaltyCardEditActivity.this); input.setInputType(InputType.TYPE_CLASS_TEXT); @@ -1006,7 +1007,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity { return; } - new AlertDialog.Builder(this) + new MaterialAlertDialogBuilder(this) .setTitle(R.string.updateBarcodeQuestionTitle) .setMessage(R.string.updateBarcodeQuestionText) .setPositiveButton(R.string.yes, (dialog, which) -> { @@ -1040,7 +1041,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity { } if (confirmExitDialog == null) { - AlertDialog.Builder builder = new AlertDialog.Builder(this); + AlertDialog.Builder builder = new MaterialAlertDialogBuilder(this); builder.setTitle(R.string.leaveWithoutSaveTitle); builder.setMessage(R.string.leaveWithoutSaveConfirmation); builder.setPositiveButton(R.string.confirm, (dialog, which) -> { @@ -1210,7 +1211,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity { throw new IllegalArgumentException("Unknown ID type " + v.getId()); } - new AlertDialog.Builder(LoyaltyCardEditActivity.this) + new MaterialAlertDialogBuilder(LoyaltyCardEditActivity.this) .setTitle(getString(titleResource)) .setItems(cardOptions.keySet().toArray(new CharSequence[cardOptions.size()]), (dialog, which) -> { Iterator> callables = cardOptions.values().iterator(); diff --git a/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java b/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java index 6a9ceff30..7ad403bea 100644 --- a/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java +++ b/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java @@ -53,6 +53,7 @@ import androidx.core.widget.TextViewCompat; import com.google.android.material.appbar.AppBarLayout; import com.google.android.material.bottomappbar.BottomAppBar; +import com.google.android.material.dialog.MaterialAlertDialogBuilder; import com.google.android.material.floatingactionbutton.FloatingActionButton; import java.io.File; @@ -464,7 +465,7 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements } private void showInfoDialog() { - AlertDialog.Builder infoDialog = new AlertDialog.Builder(this); + AlertDialog.Builder infoDialog = new MaterialAlertDialogBuilder(this); TextView infoTitleView = new TextView(this); infoTitleView.setPadding(20, 20, 20, 20); @@ -843,7 +844,7 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements return true; } else if (id == R.id.action_delete) { - AlertDialog.Builder builder = new AlertDialog.Builder(this); + AlertDialog.Builder builder = new MaterialAlertDialogBuilder(this); builder.setTitle(R.string.deleteTitle); builder.setMessage(R.string.deleteConfirmation); builder.setPositiveButton(R.string.confirm, (dialog, which) -> { diff --git a/app/src/main/java/protect/card_locker/MainActivity.java b/app/src/main/java/protect/card_locker/MainActivity.java index 95a796b72..a2835c7fe 100644 --- a/app/src/main/java/protect/card_locker/MainActivity.java +++ b/app/src/main/java/protect/card_locker/MainActivity.java @@ -21,6 +21,7 @@ import android.widget.CheckBox; import android.widget.TextView; import android.widget.Toast; +import com.google.android.material.dialog.MaterialAlertDialogBuilder; import com.google.android.material.floatingactionbutton.FloatingActionButton; import com.google.android.material.tabs.TabLayout; @@ -150,7 +151,7 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard inputMode.finish(); return true; } else if (inputItem.getItemId() == R.id.action_delete) { - AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); + AlertDialog.Builder builder = new MaterialAlertDialogBuilder(MainActivity.this); // The following may seem weird, but it is necessary to give translators enough flexibility. // For example, in Russian, Android's plural quantity "one" actually refers to "any number ending on 1 but not ending in 11". // So while in English the extra non-plural form seems unnecessary duplication, it is necessary to give translators enough flexibility. @@ -620,7 +621,7 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard } } - AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); + AlertDialog.Builder builder = new MaterialAlertDialogBuilder(MainActivity.this); builder.setTitle(R.string.sort_by); SortingOptionBinding sortingOptionBinding = SortingOptionBinding diff --git a/app/src/main/java/protect/card_locker/ManageGroupActivity.java b/app/src/main/java/protect/card_locker/ManageGroupActivity.java index c07843e49..a64c41a8f 100644 --- a/app/src/main/java/protect/card_locker/ManageGroupActivity.java +++ b/app/src/main/java/protect/card_locker/ManageGroupActivity.java @@ -13,6 +13,7 @@ import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; +import com.google.android.material.dialog.MaterialAlertDialogBuilder; import com.google.android.material.floatingactionbutton.FloatingActionButton; import java.util.ArrayList; @@ -204,7 +205,7 @@ public class ManageGroupActivity extends CatimaAppCompatActivity implements Mana private void leaveWithoutSaving() { if (hasChanged()) { - AlertDialog.Builder builder = new AlertDialog.Builder(ManageGroupActivity.this); + AlertDialog.Builder builder = new MaterialAlertDialogBuilder(ManageGroupActivity.this); builder.setTitle(R.string.leaveWithoutSaveTitle); builder.setMessage(R.string.leaveWithoutSaveConfirmation); builder.setPositiveButton(R.string.confirm, (dialog, which) -> finish()); diff --git a/app/src/main/java/protect/card_locker/ManageGroupsActivity.java b/app/src/main/java/protect/card_locker/ManageGroupsActivity.java index afbb2fd0f..468578c41 100644 --- a/app/src/main/java/protect/card_locker/ManageGroupsActivity.java +++ b/app/src/main/java/protect/card_locker/ManageGroupsActivity.java @@ -13,6 +13,7 @@ import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; +import com.google.android.material.dialog.MaterialAlertDialogBuilder; import com.google.android.material.floatingactionbutton.FloatingActionButton; import java.util.List; @@ -113,7 +114,7 @@ public class ManageGroupsActivity extends CatimaAppCompatActivity implements Gro } private void createGroup() { - AlertDialog.Builder builder = new AlertDialog.Builder(this); + AlertDialog.Builder builder = new MaterialAlertDialogBuilder(this); builder.setTitle(R.string.enter_group_name); final EditText input = new EditText(this); input.setInputType(InputType.TYPE_CLASS_TEXT); @@ -197,7 +198,7 @@ public class ManageGroupsActivity extends CatimaAppCompatActivity implements Gro public void onDeleteButtonClicked(View view) { final String groupName = getGroupName(view); - AlertDialog.Builder builder = new AlertDialog.Builder(this); + AlertDialog.Builder builder = new MaterialAlertDialogBuilder(this); builder.setTitle(R.string.deleteConfirmationGroup); builder.setMessage(groupName);