Payments.

Co-authored-by: Alan Evans <alan@signal.org>
Co-authored-by: Alex Hart <alex@signal.org>
Co-authored-by: Cody Henthorne <cody@signal.org>
This commit is contained in:
Android Team
2021-04-06 13:03:33 -03:00
committed by Alan Evans
parent c42023855b
commit fddba2906a
311 changed files with 18956 additions and 235 deletions

View File

@@ -20,6 +20,7 @@ import org.thoughtcrime.securesms.messages.IncomingMessageObserver;
import org.thoughtcrime.securesms.messages.IncomingMessageProcessor;
import org.thoughtcrime.securesms.net.PipeConnectivityListener;
import org.thoughtcrime.securesms.notifications.MessageNotifier;
import org.thoughtcrime.securesms.payments.Payments;
import org.thoughtcrime.securesms.push.SignalServiceNetworkAccess;
import org.thoughtcrime.securesms.recipients.LiveRecipientCache;
import org.thoughtcrime.securesms.service.TrimThreadsByDateManager;
@@ -74,6 +75,7 @@ public class ApplicationDependencies {
private static volatile TypingStatusSender typingStatusSender;
private static volatile DatabaseObserver databaseObserver;
private static volatile TrimThreadsByDateManager trimThreadsByDateManager;
private static volatile Payments payments;
private static volatile ShakeToReport shakeToReport;
private static volatile SignalCallManager signalCallManager;
@@ -373,6 +375,18 @@ public class ApplicationDependencies {
return databaseObserver;
}
public static @NonNull Payments getPayments() {
if (payments == null) {
synchronized (LOCK) {
if (payments == null) {
payments = provider.providePayments(getSignalServiceAccountManager());
}
}
}
return payments;
}
public static @NonNull ShakeToReport getShakeToReport() {
if (shakeToReport == null) {
synchronized (LOCK) {
@@ -422,6 +436,7 @@ public class ApplicationDependencies {
@NonNull TypingStatusRepository provideTypingStatusRepository();
@NonNull TypingStatusSender provideTypingStatusSender();
@NonNull DatabaseObserver provideDatabaseObserver();
@NonNull Payments providePayments(@NonNull SignalServiceAccountManager signalServiceAccountManager);
@NonNull ShakeToReport provideShakeToReport();
@NonNull AppForegroundObserver provideAppForegroundObserver();
@NonNull SignalCallManager provideSignalCallManager();

View File

@@ -37,6 +37,8 @@ import org.thoughtcrime.securesms.net.PipeConnectivityListener;
import org.thoughtcrime.securesms.notifications.DefaultMessageNotifier;
import org.thoughtcrime.securesms.notifications.MessageNotifier;
import org.thoughtcrime.securesms.notifications.OptimizedMessageNotifier;
import org.thoughtcrime.securesms.payments.MobileCoinConfig;
import org.thoughtcrime.securesms.payments.Payments;
import org.thoughtcrime.securesms.push.SecurityEventListener;
import org.thoughtcrime.securesms.push.SignalServiceNetworkAccess;
import org.thoughtcrime.securesms.recipients.LiveRecipientCache;
@@ -209,6 +211,18 @@ public class ApplicationDependencyProvider implements ApplicationDependencies.Pr
return new DatabaseObserver(context);
}
@SuppressWarnings("ConstantConditions")
@Override
public @NonNull Payments providePayments(@NonNull SignalServiceAccountManager signalServiceAccountManager) {
MobileCoinConfig network;
if (BuildConfig.MOBILE_COIN_ENVIRONMENT.equals("mainnet")) network = MobileCoinConfig.getMainNet(signalServiceAccountManager);
else if (BuildConfig.MOBILE_COIN_ENVIRONMENT.equals("testnet")) network = MobileCoinConfig.getTestNet(signalServiceAccountManager);
else throw new AssertionError("Unknown network " + BuildConfig.MOBILE_COIN_ENVIRONMENT);
return new Payments(network);
}
@Override
public @NonNull ShakeToReport provideShakeToReport() {
return new ShakeToReport(context);