mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-21 17:29:32 +01:00
Rewrite the AppDependencies system.
This commit is contained in:
committed by
Cody Henthorne
parent
a0131bf39b
commit
b6a4e1f145
@@ -8,7 +8,7 @@ import androidx.annotation.RequiresApi;
|
||||
|
||||
import org.thoughtcrime.securesms.database.PaymentTable;
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase;
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||
import org.thoughtcrime.securesms.dependencies.AppDependencies;
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore;
|
||||
import org.thoughtcrime.securesms.payments.reconciliation.LedgerReconcile;
|
||||
import org.thoughtcrime.securesms.recipients.Recipient;
|
||||
@@ -42,7 +42,7 @@ public final class DataExportUtil {
|
||||
|
||||
@RequiresApi(api = 26)
|
||||
private static @NonNull String createTsv(@NonNull List<Payment> payments) {
|
||||
Context context = ApplicationDependencies.getApplication();
|
||||
Context context = AppDependencies.getApplication();
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
sb.append(String.format(Locale.US, "%s\t%s\t%s\t%s\t%s%n", "Date Time", "From", "To", "Amount", "Fee"));
|
||||
|
||||
@@ -7,7 +7,7 @@ import androidx.lifecycle.LiveData;
|
||||
import org.signal.core.util.logging.Log;
|
||||
import org.signal.core.util.money.FiatMoney;
|
||||
import org.thoughtcrime.securesms.R;
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||
import org.thoughtcrime.securesms.dependencies.AppDependencies;
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore;
|
||||
import org.thoughtcrime.securesms.util.DateUtils;
|
||||
import org.thoughtcrime.securesms.util.livedata.LiveDataUtil;
|
||||
@@ -33,10 +33,10 @@ public final class FiatMoneyUtil {
|
||||
public static @NonNull LiveData<Optional<FiatMoney>> getExchange(@NonNull LiveData<Money> amount) {
|
||||
return LiveDataUtil.mapAsync(amount, a -> {
|
||||
try {
|
||||
return ApplicationDependencies.getPayments()
|
||||
.getCurrencyExchange(false)
|
||||
.getExchangeRate(SignalStore.paymentsValues().currentCurrency())
|
||||
.exchange(a);
|
||||
return AppDependencies.getPayments()
|
||||
.getCurrencyExchange(false)
|
||||
.getExchangeRate(SignalStore.paymentsValues().currentCurrency())
|
||||
.exchange(a);
|
||||
} catch (IOException e) {
|
||||
Log.w(TAG, e);
|
||||
return Optional.empty();
|
||||
@@ -68,7 +68,7 @@ public final class FiatMoneyUtil {
|
||||
if (amount.getTimestamp() > 0 && options.displayTime) {
|
||||
return resources.getString(R.string.CurrencyAmountFormatter_s_at_s,
|
||||
formattedAmount,
|
||||
DateUtils.getTimeString(ApplicationDependencies.getApplication(), Locale.getDefault(), amount.getTimestamp()));
|
||||
DateUtils.getTimeString(AppDependencies.getApplication(), Locale.getDefault(), amount.getTimestamp()));
|
||||
}
|
||||
return formattedAmount;
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ import androidx.annotation.RawRes;
|
||||
|
||||
import com.mobilecoin.lib.ClientConfig;
|
||||
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||
import org.thoughtcrime.securesms.dependencies.AppDependencies;
|
||||
import org.whispersystems.signalservice.api.SignalServiceAccountManager;
|
||||
import org.whispersystems.signalservice.internal.push.AuthCredentials;
|
||||
|
||||
@@ -45,7 +45,7 @@ public abstract class MobileCoinConfig {
|
||||
}
|
||||
|
||||
protected static Set<X509Certificate> getTrustRoots(@RawRes int pemResource) {
|
||||
try (InputStream inputStream = ApplicationDependencies.getApplication().getResources().openRawResource(pemResource)) {
|
||||
try (InputStream inputStream = AppDependencies.getApplication().getResources().openRawResource(pemResource)) {
|
||||
Collection<? extends Certificate> certificates = CertificateFactory.getInstance("X.509")
|
||||
.generateCertificates(inputStream);
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ import androidx.appcompat.widget.AppCompatTextView;
|
||||
import androidx.core.content.ContextCompat;
|
||||
|
||||
import org.thoughtcrime.securesms.R;
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||
import org.thoughtcrime.securesms.dependencies.AppDependencies;
|
||||
import org.thoughtcrime.securesms.util.DateUtils;
|
||||
import org.whispersystems.signalservice.api.payments.Currency;
|
||||
import org.whispersystems.signalservice.api.payments.FormatterOptions;
|
||||
@@ -101,7 +101,7 @@ public final class MoneyView extends AppCompatTextView {
|
||||
if (timestamp > 0L) {
|
||||
balanceSpan = new SpannableString(getResources().getString(R.string.CurrencyAmountFormatter_s_at_s,
|
||||
balance,
|
||||
DateUtils.getTimeString(ApplicationDependencies.getApplication(), Locale.getDefault(), timestamp)));
|
||||
DateUtils.getTimeString(AppDependencies.getApplication(), Locale.getDefault(), timestamp)));
|
||||
} else {
|
||||
balanceSpan = new SpannableString(balance);
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ import org.signal.core.util.concurrent.SignalExecutors;
|
||||
import org.thoughtcrime.securesms.database.DatabaseObserver;
|
||||
import org.thoughtcrime.securesms.database.PaymentTable;
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase;
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||
import org.thoughtcrime.securesms.dependencies.AppDependencies;
|
||||
import org.thoughtcrime.securesms.util.concurrent.SerialMonoLifoExecutor;
|
||||
|
||||
import java.util.UUID;
|
||||
@@ -30,12 +30,12 @@ public final class PaymentTransactionLiveData extends LiveData<PaymentTable.Paym
|
||||
@Override
|
||||
protected void onActive() {
|
||||
getPaymentTransaction();
|
||||
ApplicationDependencies.getDatabaseObserver().registerPaymentObserver(paymentId, observer);
|
||||
AppDependencies.getDatabaseObserver().registerPaymentObserver(paymentId, observer);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onInactive() {
|
||||
ApplicationDependencies.getDatabaseObserver().unregisterObserver(observer);
|
||||
AppDependencies.getDatabaseObserver().unregisterObserver(observer);
|
||||
}
|
||||
|
||||
private void getPaymentTransaction() {
|
||||
|
||||
@@ -4,7 +4,7 @@ import androidx.annotation.NonNull;
|
||||
import androidx.annotation.WorkerThread;
|
||||
|
||||
import org.signal.core.util.logging.Log;
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||
import org.thoughtcrime.securesms.dependencies.AppDependencies;
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore;
|
||||
import org.thoughtcrime.securesms.payments.currency.CurrencyExchange;
|
||||
import org.whispersystems.signalservice.api.payments.CurrencyConversion;
|
||||
@@ -46,7 +46,7 @@ public final class Payments {
|
||||
public synchronized @NonNull CurrencyExchange getCurrencyExchange(boolean refreshIfAble) throws IOException {
|
||||
if (currencyConversions == null || shouldRefresh(refreshIfAble, currencyConversions.getTimestamp())) {
|
||||
Log.i(TAG, "Currency conversion data is unavailable or a refresh was requested and available");
|
||||
CurrencyConversions newCurrencyConversions = ApplicationDependencies.getSignalServiceAccountManager().getCurrencyConversions();
|
||||
CurrencyConversions newCurrencyConversions = AppDependencies.getSignalServiceAccountManager().getCurrencyConversions();
|
||||
if (currencyConversions == null || (newCurrencyConversions != null && newCurrencyConversions.getTimestamp() > currencyConversions.getTimestamp())) {
|
||||
currencyConversions = newCurrencyConversions;
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ import androidx.annotation.WorkerThread;
|
||||
|
||||
import org.signal.core.util.concurrent.SignalExecutors;
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase;
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||
import org.thoughtcrime.securesms.dependencies.AppDependencies;
|
||||
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.Executor;
|
||||
@@ -26,13 +26,13 @@ public class UnreadPaymentsRepository {
|
||||
|
||||
@WorkerThread
|
||||
private void markAllPaymentsSeenInternal() {
|
||||
Context context = ApplicationDependencies.getApplication();
|
||||
Context context = AppDependencies.getApplication();
|
||||
SignalDatabase.payments().markAllSeen();
|
||||
}
|
||||
|
||||
@WorkerThread
|
||||
private void markPaymentSeenInternal(@NonNull UUID paymentId) {
|
||||
Context context = ApplicationDependencies.getApplication();
|
||||
Context context = AppDependencies.getApplication();
|
||||
SignalDatabase.payments().markPaymentSeen(paymentId);
|
||||
}
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ import androidx.core.util.Consumer;
|
||||
import org.signal.core.util.concurrent.SignalExecutors;
|
||||
import org.signal.core.util.logging.Log;
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase;
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||
import org.thoughtcrime.securesms.dependencies.AppDependencies;
|
||||
import org.thoughtcrime.securesms.jobs.PaymentLedgerUpdateJob;
|
||||
import org.thoughtcrime.securesms.jobs.ProfileUploadJob;
|
||||
import org.thoughtcrime.securesms.keyvalue.PaymentsValues;
|
||||
@@ -30,7 +30,7 @@ class PaymentsRecoveryPhraseRepository {
|
||||
case ENTROPY_CHANGED:
|
||||
Log.i(TAG, "restoreMnemonic: mnemonic resulted in entropy mismatch, flushing cached values");
|
||||
SignalDatabase.payments().deleteAll();
|
||||
ApplicationDependencies.getPayments().closeWallet();
|
||||
AppDependencies.getPayments().closeWallet();
|
||||
updateProfileAndFetchLedger();
|
||||
break;
|
||||
case ENTROPY_UNCHANGED:
|
||||
@@ -47,9 +47,9 @@ class PaymentsRecoveryPhraseRepository {
|
||||
}
|
||||
|
||||
private void updateProfileAndFetchLedger() {
|
||||
ApplicationDependencies.getJobManager()
|
||||
.startChain(new ProfileUploadJob())
|
||||
.then(PaymentLedgerUpdateJob.updateLedger())
|
||||
.enqueue();
|
||||
AppDependencies.getJobManager()
|
||||
.startChain(new ProfileUploadJob())
|
||||
.then(PaymentLedgerUpdateJob.updateLedger())
|
||||
.enqueue();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ import androidx.lifecycle.ViewModelProvider;
|
||||
import org.signal.core.util.logging.Log;
|
||||
import org.signal.core.util.money.FiatMoney;
|
||||
import org.thoughtcrime.securesms.database.PaymentTable.PaymentTransaction;
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||
import org.thoughtcrime.securesms.dependencies.AppDependencies;
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore;
|
||||
import org.thoughtcrime.securesms.payments.CreatePaymentDetails;
|
||||
import org.thoughtcrime.securesms.payments.FiatMoneyUtil;
|
||||
@@ -201,7 +201,7 @@ final class ConfirmPaymentViewModel extends ViewModel {
|
||||
return modelClass.cast(new ConfirmPaymentViewModel(new ConfirmPaymentState(createPaymentDetails.getPayee(),
|
||||
createPaymentDetails.getAmount(),
|
||||
createPaymentDetails.getNote()),
|
||||
new ConfirmPaymentRepository(ApplicationDependencies.getPayments().getWallet())));
|
||||
new ConfirmPaymentRepository(AppDependencies.getPayments().getWallet())));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ import androidx.lifecycle.ViewModelProvider;
|
||||
|
||||
import org.signal.core.util.logging.Log;
|
||||
import org.signal.core.util.money.FiatMoney;
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||
import org.thoughtcrime.securesms.dependencies.AppDependencies;
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore;
|
||||
import org.thoughtcrime.securesms.payments.Balance;
|
||||
import org.thoughtcrime.securesms.payments.CreatePaymentDetails;
|
||||
@@ -74,15 +74,15 @@ public class CreatePaymentViewModel extends ViewModel {
|
||||
LiveData<Optional<CurrencyExchange.ExchangeRate>> liveExchangeRate = LiveDataUtil.mapAsync(SignalStore.paymentsValues().liveCurrentCurrency(),
|
||||
currency -> {
|
||||
try {
|
||||
return Optional.ofNullable(ApplicationDependencies.getPayments()
|
||||
.getCurrencyExchange(true)
|
||||
.getExchangeRate(currency));
|
||||
return Optional.ofNullable(AppDependencies.getPayments()
|
||||
.getCurrencyExchange(true)
|
||||
.getExchangeRate(currency));
|
||||
} catch (IOException e1) {
|
||||
Log.w(TAG, "Unable to get fresh exchange data, falling back to cached", e1);
|
||||
try {
|
||||
return Optional.ofNullable(ApplicationDependencies.getPayments()
|
||||
.getCurrencyExchange(false)
|
||||
.getExchangeRate(currency));
|
||||
return Optional.ofNullable(AppDependencies.getPayments()
|
||||
.getCurrencyExchange(false)
|
||||
.getExchangeRate(currency));
|
||||
} catch (IOException e2) {
|
||||
Log.w(TAG, "Unable to get any exchange data", e2);
|
||||
return Optional.empty();
|
||||
@@ -90,7 +90,7 @@ public class CreatePaymentViewModel extends ViewModel {
|
||||
}
|
||||
});
|
||||
|
||||
inputState.update(liveExchangeRate, (rate, state) -> updateAmount(ApplicationDependencies.getApplication(), state.updateExchangeRate(rate), AmountKeyboardGlyph.NONE));
|
||||
inputState.update(liveExchangeRate, (rate, state) -> updateAmount(AppDependencies.getApplication(), state.updateExchangeRate(rate), AmountKeyboardGlyph.NONE));
|
||||
}
|
||||
|
||||
@NonNull LiveData<Boolean> getEnclaveFailure() {
|
||||
|
||||
@@ -11,7 +11,7 @@ import androidx.navigation.Navigation;
|
||||
|
||||
import org.thoughtcrime.securesms.PassphraseRequiredActivity;
|
||||
import org.thoughtcrime.securesms.R;
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||
import org.thoughtcrime.securesms.dependencies.AppDependencies;
|
||||
import org.thoughtcrime.securesms.jobs.PaymentLedgerUpdateJob;
|
||||
import org.thoughtcrime.securesms.payments.preferences.details.PaymentDetailsFragmentArgs;
|
||||
import org.thoughtcrime.securesms.payments.preferences.details.PaymentDetailsParcelable;
|
||||
@@ -58,7 +58,7 @@ public class PaymentsActivity extends PassphraseRequiredActivity {
|
||||
|
||||
dynamicTheme.onResume(this);
|
||||
|
||||
ApplicationDependencies.getJobManager()
|
||||
.add(PaymentLedgerUpdateJob.updateLedger());
|
||||
AppDependencies.getJobManager()
|
||||
.add(PaymentLedgerUpdateJob.updateLedger());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ import androidx.core.util.Consumer;
|
||||
|
||||
import org.signal.core.util.concurrent.SignalExecutors;
|
||||
import org.signal.core.util.logging.Log;
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||
import org.thoughtcrime.securesms.dependencies.AppDependencies;
|
||||
import org.thoughtcrime.securesms.jobs.PaymentLedgerUpdateJob;
|
||||
import org.thoughtcrime.securesms.jobs.ProfileUploadJob;
|
||||
import org.thoughtcrime.securesms.jobs.SendPaymentsActivatedJob;
|
||||
@@ -25,11 +25,11 @@ public class PaymentsHomeRepository {
|
||||
SignalExecutors.BOUNDED.execute(() -> {
|
||||
SignalStore.paymentsValues().setMobileCoinPaymentsEnabled(true);
|
||||
try {
|
||||
ProfileUtil.uploadProfile(ApplicationDependencies.getApplication());
|
||||
ApplicationDependencies.getJobManager()
|
||||
.startChain(PaymentLedgerUpdateJob.updateLedger())
|
||||
.then(new SendPaymentsActivatedJob())
|
||||
.enqueue();
|
||||
ProfileUtil.uploadProfile(AppDependencies.getApplication());
|
||||
AppDependencies.getJobManager()
|
||||
.startChain(PaymentLedgerUpdateJob.updateLedger())
|
||||
.then(new SendPaymentsActivatedJob())
|
||||
.enqueue();
|
||||
callback.onComplete(null);
|
||||
} catch (PaymentsRegionException e) {
|
||||
SignalStore.paymentsValues().setMobileCoinPaymentsEnabled(false);
|
||||
@@ -50,7 +50,7 @@ public class PaymentsHomeRepository {
|
||||
|
||||
private void tryToRestoreProfile() {
|
||||
try {
|
||||
ProfileUtil.uploadProfile(ApplicationDependencies.getApplication());
|
||||
ProfileUtil.uploadProfile(AppDependencies.getApplication());
|
||||
Log.i(TAG, "Restored profile");
|
||||
} catch (IOException e) {
|
||||
Log.w(TAG, "Problem uploading profile", e);
|
||||
@@ -60,7 +60,7 @@ public class PaymentsHomeRepository {
|
||||
public void deactivatePayments(@NonNull Consumer<Boolean> consumer) {
|
||||
SignalExecutors.BOUNDED.execute(() -> {
|
||||
SignalStore.paymentsValues().setMobileCoinPaymentsEnabled(false);
|
||||
ApplicationDependencies.getJobManager().add(new ProfileUploadJob());
|
||||
AppDependencies.getJobManager().add(new ProfileUploadJob());
|
||||
consumer.accept(!SignalStore.paymentsValues().mobileCoinPaymentsEnabled());
|
||||
});
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ import org.signal.core.util.logging.Log;
|
||||
import org.signal.core.util.money.FiatMoney;
|
||||
import org.thoughtcrime.securesms.R;
|
||||
import org.thoughtcrime.securesms.components.settings.SettingHeader;
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||
import org.thoughtcrime.securesms.dependencies.AppDependencies;
|
||||
import org.thoughtcrime.securesms.keyvalue.PaymentsAvailability;
|
||||
import org.thoughtcrime.securesms.keyvalue.PaymentsValues;
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore;
|
||||
@@ -284,7 +284,7 @@ public class PaymentsHomeViewModel extends ViewModel {
|
||||
//noinspection ConstantConditions
|
||||
return modelClass.cast(new PaymentsHomeViewModel(new PaymentsHomeRepository(),
|
||||
new PaymentsRepository(),
|
||||
new CurrencyExchangeRepository(ApplicationDependencies.getPayments())));
|
||||
new CurrencyExchangeRepository(AppDependencies.getPayments())));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ import org.thoughtcrime.securesms.R;
|
||||
import org.thoughtcrime.securesms.components.settings.SettingHeader;
|
||||
import org.thoughtcrime.securesms.components.settings.SettingProgress;
|
||||
import org.thoughtcrime.securesms.components.settings.SingleSelectSetting;
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||
import org.thoughtcrime.securesms.dependencies.AppDependencies;
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore;
|
||||
import org.thoughtcrime.securesms.payments.currency.CurrencyExchange;
|
||||
import org.thoughtcrime.securesms.payments.currency.CurrencyExchangeRepository;
|
||||
@@ -206,7 +206,7 @@ public final class SetCurrencyViewModel extends ViewModel {
|
||||
@Override
|
||||
public @NonNull <T extends ViewModel> T create(@NonNull Class<T> modelClass) {
|
||||
//noinspection ConstantConditions
|
||||
return modelClass.cast(new SetCurrencyViewModel(new CurrencyExchangeRepository(ApplicationDependencies.getPayments())));
|
||||
return modelClass.cast(new SetCurrencyViewModel(new CurrencyExchangeRepository(AppDependencies.getPayments())));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ package org.thoughtcrime.securesms.payments.preferences.addmoney
|
||||
import androidx.annotation.MainThread
|
||||
import io.reactivex.rxjava3.core.Single
|
||||
import io.reactivex.rxjava3.schedulers.Schedulers
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
|
||||
import org.thoughtcrime.securesms.dependencies.AppDependencies
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore
|
||||
import org.signal.core.util.Result as SignalResult
|
||||
|
||||
@@ -15,7 +15,7 @@ internal class PaymentsAddMoneyRepository {
|
||||
}
|
||||
|
||||
return Single.fromCallable<SignalResult<AddressAndUri, Error>> {
|
||||
val publicAddress = ApplicationDependencies.getPayments().wallet.mobileCoinPublicAddress
|
||||
val publicAddress = AppDependencies.payments.wallet.mobileCoinPublicAddress
|
||||
val paymentAddressBase58 = publicAddress.paymentAddressBase58
|
||||
val paymentAddressUri = publicAddress.paymentAddressUri
|
||||
SignalResult.success(AddressAndUri(paymentAddressBase58, paymentAddressUri))
|
||||
|
||||
@@ -7,7 +7,7 @@ import androidx.lifecycle.MutableLiveData;
|
||||
import androidx.lifecycle.ViewModel;
|
||||
import androidx.lifecycle.ViewModelProvider;
|
||||
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||
import org.thoughtcrime.securesms.dependencies.AppDependencies;
|
||||
import org.thoughtcrime.securesms.payments.MobileCoinPublicAddress;
|
||||
|
||||
final class PaymentsTransferViewModel extends ViewModel {
|
||||
@@ -16,7 +16,7 @@ final class PaymentsTransferViewModel extends ViewModel {
|
||||
private final MobileCoinPublicAddress ownAddress;
|
||||
|
||||
PaymentsTransferViewModel() {
|
||||
ownAddress = ApplicationDependencies.getPayments().getWallet().getMobileCoinPublicAddress();
|
||||
ownAddress = AppDependencies.getPayments().getWallet().getMobileCoinPublicAddress();
|
||||
}
|
||||
|
||||
LiveData<String> getAddress() {
|
||||
|
||||
Reference in New Issue
Block a user