From fdcbd799f64000ecf78581ce46e82a5e8ee46ffa Mon Sep 17 00:00:00 2001 From: M66B Date: Thu, 20 Sep 2018 16:47:28 +0000 Subject: [PATCH] Lifecyle aware dialogs --- .../java/eu/faircode/email/ActivityView.java | 7 ++-- .../java/eu/faircode/email/AdapterFolder.java | 3 +- .../eu/faircode/email/AdapterMessage.java | 3 +- .../email/DialogBuilderLifecycle.java | 36 ++++++++++++++++++ .../eu/faircode/email/FragmentAccount.java | 7 ++-- .../eu/faircode/email/FragmentCompose.java | 37 +++++++++---------- .../eu/faircode/email/FragmentFolder.java | 3 +- .../eu/faircode/email/FragmentIdentity.java | 5 +-- .../eu/faircode/email/FragmentMessage.java | 7 ++-- .../java/eu/faircode/email/FragmentSetup.java | 3 +- 10 files changed, 69 insertions(+), 42 deletions(-) create mode 100644 app/src/main/java/eu/faircode/email/DialogBuilderLifecycle.java diff --git a/app/src/main/java/eu/faircode/email/ActivityView.java b/app/src/main/java/eu/faircode/email/ActivityView.java index cdee1db92c..b751339f04 100644 --- a/app/src/main/java/eu/faircode/email/ActivityView.java +++ b/app/src/main/java/eu/faircode/email/ActivityView.java @@ -69,7 +69,6 @@ import javax.net.ssl.HttpsURLConnection; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.ActionBarDrawerToggle; -import androidx.appcompat.app.AlertDialog; import androidx.drawerlayout.widget.DrawerLayout; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; @@ -345,7 +344,7 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB private void checkFirst() { final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); if (prefs.getBoolean("first", true)) { - new AlertDialog.Builder(this) + new DialogBuilderLifecycle(this, this) .setMessage(getString(R.string.title_hint_sync)) .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { @Override @@ -561,7 +560,7 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB final Intent update = new Intent(Intent.ACTION_VIEW, Uri.parse(info.html_url)); if (update.resolveActivity(getPackageManager()) != null) - new AlertDialog.Builder(ActivityView.this) + new DialogBuilderLifecycle(ActivityView.this, ActivityView.this) .setMessage(getString(R.string.title_updated, info.tag_name)) .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { @Override @@ -660,7 +659,7 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB if (faq.resolveActivity(getPackageManager()) == null) Helper.view(this, getIntentRate()); else { - new AlertDialog.Builder(this) + new DialogBuilderLifecycle(this, this) .setMessage(R.string.title_issue) .setPositiveButton(R.string.title_yes, new DialogInterface.OnClickListener() { @Override diff --git a/app/src/main/java/eu/faircode/email/AdapterFolder.java b/app/src/main/java/eu/faircode/email/AdapterFolder.java index 7fe45da41f..c12f686b44 100644 --- a/app/src/main/java/eu/faircode/email/AdapterFolder.java +++ b/app/src/main/java/eu/faircode/email/AdapterFolder.java @@ -41,7 +41,6 @@ import java.util.List; import java.util.Locale; import androidx.annotation.NonNull; -import androidx.appcompat.app.AlertDialog; import androidx.appcompat.widget.PopupMenu; import androidx.lifecycle.LifecycleOwner; import androidx.localbroadcastmanager.content.LocalBroadcastManager; @@ -219,7 +218,7 @@ public class AdapterFolder extends RecyclerView.Adapter