mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-21 00:59:49 +01:00
Convert calling and payments apis to WebSocket.
This commit is contained in:
committed by
Greyson Parrelli
parent
224a85f5db
commit
92e590aa3b
@@ -45,11 +45,12 @@ import org.whispersystems.signalservice.api.SignalServiceMessageSender
|
||||
import org.whispersystems.signalservice.api.account.AccountApi
|
||||
import org.whispersystems.signalservice.api.archive.ArchiveApi
|
||||
import org.whispersystems.signalservice.api.attachment.AttachmentApi
|
||||
import org.whispersystems.signalservice.api.calling.CallingApi
|
||||
import org.whispersystems.signalservice.api.groupsv2.GroupsV2Operations
|
||||
import org.whispersystems.signalservice.api.keys.KeysApi
|
||||
import org.whispersystems.signalservice.api.link.LinkDeviceApi
|
||||
import org.whispersystems.signalservice.api.payments.PaymentsApi
|
||||
import org.whispersystems.signalservice.api.registration.RegistrationApi
|
||||
import org.whispersystems.signalservice.api.services.CallLinksService
|
||||
import org.whispersystems.signalservice.api.services.DonationsService
|
||||
import org.whispersystems.signalservice.api.services.ProfileService
|
||||
import org.whispersystems.signalservice.api.storage.StorageServiceApi
|
||||
@@ -278,10 +279,6 @@ object AppDependencies {
|
||||
val payments: Payments
|
||||
get() = networkModule.payments
|
||||
|
||||
@JvmStatic
|
||||
val callLinksService: CallLinksService
|
||||
get() = networkModule.callLinksService
|
||||
|
||||
@JvmStatic
|
||||
val profileService: ProfileService
|
||||
get() = networkModule.profileService
|
||||
@@ -319,6 +316,12 @@ object AppDependencies {
|
||||
val usernameApi: UsernameApi
|
||||
get() = networkModule.usernameApi
|
||||
|
||||
val callingApi: CallingApi
|
||||
get() = networkModule.callingApi
|
||||
|
||||
val paymentsApi: PaymentsApi
|
||||
get() = networkModule.paymentsApi
|
||||
|
||||
@JvmStatic
|
||||
val okHttpClient: OkHttpClient
|
||||
get() = networkModule.okHttpClient
|
||||
@@ -365,7 +368,7 @@ object AppDependencies {
|
||||
fun provideTypingStatusRepository(): TypingStatusRepository
|
||||
fun provideTypingStatusSender(): TypingStatusSender
|
||||
fun provideDatabaseObserver(): DatabaseObserver
|
||||
fun providePayments(signalServiceAccountManager: SignalServiceAccountManager): Payments
|
||||
fun providePayments(paymentsApi: PaymentsApi): Payments
|
||||
fun provideShakeToReport(): ShakeToReport
|
||||
fun provideSignalCallManager(): SignalCallManager
|
||||
fun providePendingRetryReceiptManager(): PendingRetryReceiptManager
|
||||
@@ -375,7 +378,6 @@ object AppDependencies {
|
||||
fun provideExoPlayerPool(): SimpleExoPlayerPool
|
||||
fun provideAndroidCallAudioManager(): AudioManagerCompat
|
||||
fun provideDonationsService(pushServiceSocket: PushServiceSocket): DonationsService
|
||||
fun provideCallLinksService(pushServiceSocket: PushServiceSocket): CallLinksService
|
||||
fun provideProfileService(profileOperations: ClientZkProfileOperations, signalServiceMessageReceiver: SignalServiceMessageReceiver, authWebSocket: SignalWebSocket.AuthenticatedWebSocket, unauthWebSocket: SignalWebSocket.UnauthenticatedWebSocket): ProfileService
|
||||
fun provideDeadlockDetector(): DeadlockDetector
|
||||
fun provideClientZkReceiptOperations(signalServiceConfiguration: SignalServiceConfiguration): ClientZkReceiptOperations
|
||||
@@ -392,5 +394,7 @@ object AppDependencies {
|
||||
fun provideUnauthWebSocket(signalServiceConfigurationSupplier: Supplier<SignalServiceConfiguration>, libSignalNetworkSupplier: Supplier<Network>): SignalWebSocket.UnauthenticatedWebSocket
|
||||
fun provideAccountApi(authWebSocket: SignalWebSocket.AuthenticatedWebSocket): AccountApi
|
||||
fun provideUsernameApi(unauthWebSocket: SignalWebSocket.UnauthenticatedWebSocket): UsernameApi
|
||||
fun provideCallingApi(authWebSocket: SignalWebSocket.AuthenticatedWebSocket, pushServiceSocket: PushServiceSocket): CallingApi
|
||||
fun providePaymentsApi(authWebSocket: SignalWebSocket.AuthenticatedWebSocket): PaymentsApi
|
||||
}
|
||||
}
|
||||
|
||||
@@ -83,14 +83,15 @@ import org.whispersystems.signalservice.api.SignalServiceMessageSender;
|
||||
import org.whispersystems.signalservice.api.account.AccountApi;
|
||||
import org.whispersystems.signalservice.api.archive.ArchiveApi;
|
||||
import org.whispersystems.signalservice.api.attachment.AttachmentApi;
|
||||
import org.whispersystems.signalservice.api.calling.CallingApi;
|
||||
import org.whispersystems.signalservice.api.groupsv2.ClientZkOperations;
|
||||
import org.whispersystems.signalservice.api.groupsv2.GroupsV2Operations;
|
||||
import org.whispersystems.signalservice.api.keys.KeysApi;
|
||||
import org.whispersystems.signalservice.api.link.LinkDeviceApi;
|
||||
import org.whispersystems.signalservice.api.payments.PaymentsApi;
|
||||
import org.whispersystems.signalservice.api.push.ServiceId.ACI;
|
||||
import org.whispersystems.signalservice.api.push.ServiceId.PNI;
|
||||
import org.whispersystems.signalservice.api.registration.RegistrationApi;
|
||||
import org.whispersystems.signalservice.api.services.CallLinksService;
|
||||
import org.whispersystems.signalservice.api.services.DonationsService;
|
||||
import org.whispersystems.signalservice.api.services.ProfileService;
|
||||
import org.whispersystems.signalservice.api.storage.StorageServiceApi;
|
||||
@@ -267,11 +268,11 @@ public class ApplicationDependencyProvider implements AppDependencies.Provider {
|
||||
|
||||
@SuppressWarnings("ConstantConditions")
|
||||
@Override
|
||||
public @NonNull Payments providePayments(@NonNull SignalServiceAccountManager signalServiceAccountManager) {
|
||||
public @NonNull Payments providePayments(@NonNull PaymentsApi paymentsApi) {
|
||||
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);
|
||||
if (BuildConfig.MOBILE_COIN_ENVIRONMENT.equals("mainnet")) network = MobileCoinConfig.getMainNet(paymentsApi);
|
||||
else if (BuildConfig.MOBILE_COIN_ENVIRONMENT.equals("testnet")) network = MobileCoinConfig.getTestNet(paymentsApi);
|
||||
else throw new AssertionError("Unknown network " + BuildConfig.MOBILE_COIN_ENVIRONMENT);
|
||||
|
||||
return new Payments(network);
|
||||
@@ -388,11 +389,6 @@ public class ApplicationDependencyProvider implements AppDependencies.Provider {
|
||||
return new DonationsService(pushServiceSocket);
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NonNull CallLinksService provideCallLinksService(@NonNull PushServiceSocket pushServiceSocket) {
|
||||
return new CallLinksService(pushServiceSocket);
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NonNull ProfileService provideProfileService(@NonNull ClientZkProfileOperations clientZkProfileOperations,
|
||||
@NonNull SignalServiceMessageReceiver receiver,
|
||||
@@ -504,6 +500,16 @@ public class ApplicationDependencyProvider implements AppDependencies.Provider {
|
||||
return new UsernameApi(unauthWebSocket);
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NonNull CallingApi provideCallingApi(@NonNull SignalWebSocket.AuthenticatedWebSocket authWebSocket, @NonNull PushServiceSocket pushServiceSocket) {
|
||||
return new CallingApi(authWebSocket, pushServiceSocket);
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NonNull PaymentsApi providePaymentsApi(@NonNull SignalWebSocket.AuthenticatedWebSocket authWebSocket) {
|
||||
return new PaymentsApi(authWebSocket);
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
static class DynamicCredentialsProvider implements CredentialsProvider {
|
||||
|
||||
|
||||
@@ -29,12 +29,13 @@ import org.whispersystems.signalservice.api.SignalServiceMessageSender
|
||||
import org.whispersystems.signalservice.api.account.AccountApi
|
||||
import org.whispersystems.signalservice.api.archive.ArchiveApi
|
||||
import org.whispersystems.signalservice.api.attachment.AttachmentApi
|
||||
import org.whispersystems.signalservice.api.calling.CallingApi
|
||||
import org.whispersystems.signalservice.api.groupsv2.GroupsV2Operations
|
||||
import org.whispersystems.signalservice.api.keys.KeysApi
|
||||
import org.whispersystems.signalservice.api.link.LinkDeviceApi
|
||||
import org.whispersystems.signalservice.api.payments.PaymentsApi
|
||||
import org.whispersystems.signalservice.api.push.TrustStore
|
||||
import org.whispersystems.signalservice.api.registration.RegistrationApi
|
||||
import org.whispersystems.signalservice.api.services.CallLinksService
|
||||
import org.whispersystems.signalservice.api.services.DonationsService
|
||||
import org.whispersystems.signalservice.api.services.ProfileService
|
||||
import org.whispersystems.signalservice.api.storage.StorageServiceApi
|
||||
@@ -120,11 +121,7 @@ class NetworkDependenciesModule(
|
||||
}
|
||||
|
||||
val payments: Payments by lazy {
|
||||
provider.providePayments(signalServiceAccountManager)
|
||||
}
|
||||
|
||||
val callLinksService: CallLinksService by lazy {
|
||||
provider.provideCallLinksService(pushServiceSocket)
|
||||
provider.providePayments(paymentsApi)
|
||||
}
|
||||
|
||||
val profileService: ProfileService by lazy {
|
||||
@@ -167,6 +164,14 @@ class NetworkDependenciesModule(
|
||||
provider.provideUsernameApi(unauthWebSocket)
|
||||
}
|
||||
|
||||
val callingApi: CallingApi by lazy {
|
||||
provider.provideCallingApi(authWebSocket, pushServiceSocket)
|
||||
}
|
||||
|
||||
val paymentsApi: PaymentsApi by lazy {
|
||||
provider.providePaymentsApi(authWebSocket)
|
||||
}
|
||||
|
||||
val okHttpClient: OkHttpClient by lazy {
|
||||
OkHttpClient.Builder()
|
||||
.addInterceptor(StandardUserAgentInterceptor())
|
||||
|
||||
Reference in New Issue
Block a user