Fix progress dialog deprecation warnings.
Moves everything under our own class and ignores the deprecation. Also gives us future ability to re-style all blocking UI dialogs in the future for mat3 compat.
This commit is contained in:
parent
5f0d37739a
commit
3478e13d38
6 changed files with 61 additions and 22 deletions
|
@ -0,0 +1,39 @@
|
||||||
|
@file:Suppress("DEPRECATION")
|
||||||
|
|
||||||
|
package org.thoughtcrime.securesms.components
|
||||||
|
|
||||||
|
import android.app.ProgressDialog
|
||||||
|
import android.content.Context
|
||||||
|
import android.content.DialogInterface
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Wraps a normal progress dialog for showing blocking in-progress UI.
|
||||||
|
*/
|
||||||
|
class SignalProgressDialog private constructor(val progressDialog: ProgressDialog) {
|
||||||
|
|
||||||
|
val isShowing: Boolean
|
||||||
|
get() = progressDialog.isShowing
|
||||||
|
|
||||||
|
fun hide() {
|
||||||
|
progressDialog.hide()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun dismiss() {
|
||||||
|
progressDialog.dismiss()
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
@JvmStatic
|
||||||
|
@JvmOverloads
|
||||||
|
fun show(
|
||||||
|
context: Context,
|
||||||
|
title: CharSequence? = null,
|
||||||
|
message: CharSequence? = null,
|
||||||
|
indeterminate: Boolean = false,
|
||||||
|
cancelable: Boolean = false,
|
||||||
|
cancelListener: DialogInterface.OnCancelListener? = null
|
||||||
|
): SignalProgressDialog {
|
||||||
|
return SignalProgressDialog(ProgressDialog.show(context, title, message, indeterminate, cancelable, cancelListener))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,6 +1,5 @@
|
||||||
package org.thoughtcrime.securesms.components.settings.app.privacy.advanced
|
package org.thoughtcrime.securesms.components.settings.app.privacy.advanced
|
||||||
|
|
||||||
import android.app.ProgressDialog
|
|
||||||
import android.content.BroadcastReceiver
|
import android.content.BroadcastReceiver
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
|
@ -18,6 +17,7 @@ import androidx.lifecycle.ViewModelProvider
|
||||||
import androidx.preference.PreferenceManager
|
import androidx.preference.PreferenceManager
|
||||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
import org.thoughtcrime.securesms.R
|
import org.thoughtcrime.securesms.R
|
||||||
|
import org.thoughtcrime.securesms.components.SignalProgressDialog
|
||||||
import org.thoughtcrime.securesms.components.settings.DSLConfiguration
|
import org.thoughtcrime.securesms.components.settings.DSLConfiguration
|
||||||
import org.thoughtcrime.securesms.components.settings.DSLSettingsFragment
|
import org.thoughtcrime.securesms.components.settings.DSLSettingsFragment
|
||||||
import org.thoughtcrime.securesms.components.settings.DSLSettingsText
|
import org.thoughtcrime.securesms.components.settings.DSLSettingsText
|
||||||
|
@ -48,7 +48,7 @@ class AdvancedPrivacySettingsFragment : DSLSettingsFragment(R.string.preferences
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var progressDialog: ProgressDialog? = null
|
var progressDialog: SignalProgressDialog? = null
|
||||||
|
|
||||||
val statusIcon: CharSequence by lazy {
|
val statusIcon: CharSequence by lazy {
|
||||||
val unidentifiedDeliveryIcon = requireNotNull(
|
val unidentifiedDeliveryIcon = requireNotNull(
|
||||||
|
@ -85,7 +85,7 @@ class AdvancedPrivacySettingsFragment : DSLSettingsFragment(R.string.preferences
|
||||||
viewModel.state.observe(viewLifecycleOwner) {
|
viewModel.state.observe(viewLifecycleOwner) {
|
||||||
if (it.showProgressSpinner) {
|
if (it.showProgressSpinner) {
|
||||||
if (progressDialog?.isShowing == false) {
|
if (progressDialog?.isShowing == false) {
|
||||||
progressDialog = ProgressDialog.show(requireContext(), null, null, true)
|
progressDialog = SignalProgressDialog.show(requireContext(), null, null, true)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
progressDialog?.hide()
|
progressDialog?.hide()
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package org.thoughtcrime.securesms.components.settings.app.subscription.receipts.detail
|
package org.thoughtcrime.securesms.components.settings.app.subscription.receipts.detail
|
||||||
|
|
||||||
import android.app.ProgressDialog
|
|
||||||
import android.content.ActivityNotFoundException
|
import android.content.ActivityNotFoundException
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.graphics.Bitmap
|
import android.graphics.Bitmap
|
||||||
|
@ -16,6 +15,7 @@ import com.google.android.material.button.MaterialButton
|
||||||
import org.signal.core.util.concurrent.SimpleTask
|
import org.signal.core.util.concurrent.SimpleTask
|
||||||
import org.signal.core.util.logging.Log
|
import org.signal.core.util.logging.Log
|
||||||
import org.thoughtcrime.securesms.R
|
import org.thoughtcrime.securesms.R
|
||||||
|
import org.thoughtcrime.securesms.components.SignalProgressDialog
|
||||||
import org.thoughtcrime.securesms.components.settings.DSLConfiguration
|
import org.thoughtcrime.securesms.components.settings.DSLConfiguration
|
||||||
import org.thoughtcrime.securesms.components.settings.DSLSettingsFragment
|
import org.thoughtcrime.securesms.components.settings.DSLSettingsFragment
|
||||||
import org.thoughtcrime.securesms.components.settings.DSLSettingsText
|
import org.thoughtcrime.securesms.components.settings.DSLSettingsText
|
||||||
|
@ -31,7 +31,7 @@ import java.util.Locale
|
||||||
|
|
||||||
class DonationReceiptDetailFragment : DSLSettingsFragment(layoutId = R.layout.donation_receipt_detail_fragment) {
|
class DonationReceiptDetailFragment : DSLSettingsFragment(layoutId = R.layout.donation_receipt_detail_fragment) {
|
||||||
|
|
||||||
private lateinit var progressDialog: ProgressDialog
|
private lateinit var progressDialog: SignalProgressDialog
|
||||||
|
|
||||||
private val viewModel: DonationReceiptDetailViewModel by viewModels(
|
private val viewModel: DonationReceiptDetailViewModel by viewModels(
|
||||||
factoryProducer = {
|
factoryProducer = {
|
||||||
|
@ -63,8 +63,7 @@ class DonationReceiptDetailFragment : DSLSettingsFragment(layoutId = R.layout.do
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun renderPng(record: DonationReceiptRecord, subscriptionName: String) {
|
private fun renderPng(record: DonationReceiptRecord, subscriptionName: String) {
|
||||||
progressDialog = ProgressDialog(requireContext())
|
progressDialog = SignalProgressDialog.show(requireContext())
|
||||||
progressDialog.show()
|
|
||||||
|
|
||||||
val today: String = DateUtils.formatDateWithDayOfWeek(Locale.getDefault(), System.currentTimeMillis())
|
val today: String = DateUtils.formatDateWithDayOfWeek(Locale.getDefault(), System.currentTimeMillis())
|
||||||
val amount: String = FiatMoneyUtil.format(resources, record.amount)
|
val amount: String = FiatMoneyUtil.format(resources, record.amount)
|
||||||
|
|
|
@ -19,7 +19,6 @@ package org.thoughtcrime.securesms.conversationlist;
|
||||||
import android.Manifest;
|
import android.Manifest;
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.app.ProgressDialog;
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.res.Configuration;
|
import android.content.res.Configuration;
|
||||||
|
@ -90,6 +89,7 @@ import org.thoughtcrime.securesms.badges.self.expired.CantProcessSubscriptionPay
|
||||||
import org.thoughtcrime.securesms.badges.self.expired.ExpiredBadgeBottomSheetDialogFragment;
|
import org.thoughtcrime.securesms.badges.self.expired.ExpiredBadgeBottomSheetDialogFragment;
|
||||||
import org.thoughtcrime.securesms.components.Material3SearchToolbar;
|
import org.thoughtcrime.securesms.components.Material3SearchToolbar;
|
||||||
import org.thoughtcrime.securesms.components.RatingManager;
|
import org.thoughtcrime.securesms.components.RatingManager;
|
||||||
|
import org.thoughtcrime.securesms.components.SignalProgressDialog;
|
||||||
import org.thoughtcrime.securesms.components.UnreadPaymentsView;
|
import org.thoughtcrime.securesms.components.UnreadPaymentsView;
|
||||||
import org.thoughtcrime.securesms.components.menu.ActionItem;
|
import org.thoughtcrime.securesms.components.menu.ActionItem;
|
||||||
import org.thoughtcrime.securesms.components.menu.SignalBottomActionBar;
|
import org.thoughtcrime.securesms.components.menu.SignalBottomActionBar;
|
||||||
|
@ -1035,14 +1035,15 @@ public class ConversationListFragment extends MainFragment implements ActionMode
|
||||||
|
|
||||||
if (!selectedConversations.isEmpty()) {
|
if (!selectedConversations.isEmpty()) {
|
||||||
new AsyncTask<Void, Void, Void>() {
|
new AsyncTask<Void, Void, Void>() {
|
||||||
private ProgressDialog dialog;
|
private SignalProgressDialog dialog;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onPreExecute() {
|
protected void onPreExecute() {
|
||||||
dialog = ProgressDialog.show(requireActivity(),
|
dialog = SignalProgressDialog.show(requireActivity(),
|
||||||
context.getString(R.string.ConversationListFragment_deleting),
|
context.getString(R.string.ConversationListFragment_deleting),
|
||||||
context.getString(R.string.ConversationListFragment_deleting_selected_conversations),
|
context.getString(R.string.ConversationListFragment_deleting_selected_conversations),
|
||||||
true, false);
|
true,
|
||||||
|
false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -1,17 +1,18 @@
|
||||||
package org.thoughtcrime.securesms.util.task;
|
package org.thoughtcrime.securesms.util.task;
|
||||||
|
|
||||||
import android.app.ProgressDialog;
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.AsyncTask;
|
import android.os.AsyncTask;
|
||||||
|
|
||||||
import androidx.annotation.CallSuper;
|
import androidx.annotation.CallSuper;
|
||||||
|
|
||||||
|
import org.thoughtcrime.securesms.components.SignalProgressDialog;
|
||||||
|
|
||||||
import java.lang.ref.WeakReference;
|
import java.lang.ref.WeakReference;
|
||||||
|
|
||||||
public abstract class ProgressDialogAsyncTask<Params, Progress, Result> extends AsyncTask<Params, Progress, Result> {
|
public abstract class ProgressDialogAsyncTask<Params, Progress, Result> extends AsyncTask<Params, Progress, Result> {
|
||||||
|
|
||||||
private final WeakReference<Context> contextReference;
|
private final WeakReference<Context> contextReference;
|
||||||
private ProgressDialog progress;
|
private SignalProgressDialog progress;
|
||||||
private final String title;
|
private final String title;
|
||||||
private final String message;
|
private final String message;
|
||||||
|
|
||||||
|
@ -29,7 +30,7 @@ public abstract class ProgressDialogAsyncTask<Params, Progress, Result> extends
|
||||||
@Override
|
@Override
|
||||||
protected void onPreExecute() {
|
protected void onPreExecute() {
|
||||||
final Context context = contextReference.get();
|
final Context context = contextReference.get();
|
||||||
if (context != null) progress = ProgressDialog.show(context, title, message, true);
|
if (context != null) progress = SignalProgressDialog.show(context, title, message, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@CallSuper
|
@CallSuper
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
package org.thoughtcrime.securesms.util.task;
|
package org.thoughtcrime.securesms.util.task;
|
||||||
|
|
||||||
import android.app.ProgressDialog;
|
|
||||||
import android.graphics.Color;
|
|
||||||
import android.os.AsyncTask;
|
import android.os.AsyncTask;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
|
||||||
|
@ -12,6 +10,7 @@ import androidx.lifecycle.Lifecycle;
|
||||||
import com.google.android.material.snackbar.Snackbar;
|
import com.google.android.material.snackbar.Snackbar;
|
||||||
|
|
||||||
import org.signal.core.util.logging.Log;
|
import org.signal.core.util.logging.Log;
|
||||||
|
import org.thoughtcrime.securesms.components.SignalProgressDialog;
|
||||||
|
|
||||||
public abstract class SnackbarAsyncTask<Params>
|
public abstract class SnackbarAsyncTask<Params>
|
||||||
extends AsyncTask<Params, Void, Void>
|
extends AsyncTask<Params, Void, Void>
|
||||||
|
@ -27,8 +26,8 @@ public abstract class SnackbarAsyncTask<Params>
|
||||||
private final int snackbarDuration;
|
private final int snackbarDuration;
|
||||||
private final boolean showProgress;
|
private final boolean showProgress;
|
||||||
|
|
||||||
private @Nullable Params reversibleParameter;
|
private @Nullable Params reversibleParameter;
|
||||||
private @Nullable ProgressDialog progressDialog;
|
private @Nullable SignalProgressDialog progressDialog;
|
||||||
|
|
||||||
public SnackbarAsyncTask(@NonNull Lifecycle lifecycle,
|
public SnackbarAsyncTask(@NonNull Lifecycle lifecycle,
|
||||||
@NonNull View view,
|
@NonNull View view,
|
||||||
|
@ -49,7 +48,7 @@ public abstract class SnackbarAsyncTask<Params>
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onPreExecute() {
|
protected void onPreExecute() {
|
||||||
if (this.showProgress) this.progressDialog = ProgressDialog.show(view.getContext(), "", "", true);
|
if (this.showProgress) this.progressDialog = SignalProgressDialog.show(view.getContext(), "", "", true);
|
||||||
else this.progressDialog = null;
|
else this.progressDialog = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -83,7 +82,7 @@ public abstract class SnackbarAsyncTask<Params>
|
||||||
new AsyncTask<Void, Void, Void>() {
|
new AsyncTask<Void, Void, Void>() {
|
||||||
@Override
|
@Override
|
||||||
protected void onPreExecute() {
|
protected void onPreExecute() {
|
||||||
if (showProgress) progressDialog = ProgressDialog.show(view.getContext(), "", "", true);
|
if (showProgress) progressDialog = SignalProgressDialog.show(view.getContext(), "", "", true);
|
||||||
else progressDialog = null;
|
else progressDialog = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue