Add in-chat payment activation requests.

Co-authored-by: Varsha <varsha@mobilecoin.com>
This commit is contained in:
Cody Henthorne
2022-11-01 11:50:41 -04:00
parent 8c915572fb
commit 77beeda62a
36 changed files with 595 additions and 51 deletions

View File

@@ -8,6 +8,7 @@ import org.signal.core.util.logging.Log;
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
import org.thoughtcrime.securesms.jobs.PaymentLedgerUpdateJob;
import org.thoughtcrime.securesms.jobs.ProfileUploadJob;
import org.thoughtcrime.securesms.jobs.SendPaymentsActivatedJob;
import org.thoughtcrime.securesms.keyvalue.SignalStore;
import org.thoughtcrime.securesms.util.AsynchronousCallback;
import org.thoughtcrime.securesms.util.ProfileUtil;
@@ -25,7 +26,10 @@ public class PaymentsHomeRepository {
SignalStore.paymentsValues().setMobileCoinPaymentsEnabled(true);
try {
ProfileUtil.uploadProfile(ApplicationDependencies.getApplication());
ApplicationDependencies.getJobManager().add(PaymentLedgerUpdateJob.updateLedger());
ApplicationDependencies.getJobManager()
.startChain(PaymentLedgerUpdateJob.updateLedger())
.then(new SendPaymentsActivatedJob())
.enqueue();
callback.onComplete(null);
} catch (PaymentsRegionException e) {
SignalStore.paymentsValues().setMobileCoinPaymentsEnabled(false);

View File

@@ -1,11 +1,12 @@
package org.thoughtcrime.securesms.payments.preferences;
import android.app.AlertDialog;
import android.content.Context;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import org.thoughtcrime.securesms.R;
/**
@@ -19,16 +20,17 @@ public final class RecipientHasNotEnabledPaymentsDialog {
public static void show(@NonNull Context context) {
show(context, null);
}
public static void show(@NonNull Context context, @Nullable Runnable onDismissed) {
new AlertDialog.Builder(context).setTitle(R.string.ConfirmPaymentFragment__invalid_recipient)
.setMessage(R.string.ConfirmPaymentFragment__this_person_has_not_activated_payments)
.setPositiveButton(android.R.string.ok, (dialog, which) -> {
dialog.dismiss();
if (onDismissed != null) {
onDismissed.run();
}
})
.setCancelable(false)
.show();
new MaterialAlertDialogBuilder(context).setTitle(R.string.ConfirmPaymentFragment__invalid_recipient)
.setMessage(R.string.ConfirmPaymentFragment__this_person_has_not_activated_payments)
.setPositiveButton(android.R.string.ok, (dialog, which) -> {
dialog.dismiss();
if (onDismissed != null) {
onDismissed.run();
}
})
.setCancelable(false)
.show();
}
}