diff --git a/app/src/main/java/org/thoughtcrime/securesms/MainActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/MainActivity.kt index 7088a44c76..fab3c5e22f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/MainActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/MainActivity.kt @@ -74,6 +74,8 @@ import androidx.recyclerview.widget.RecyclerView import androidx.window.core.layout.WindowSizeClass import androidx.window.core.layout.WindowWidthSizeClass import com.google.android.material.dialog.MaterialAlertDialogBuilder +import io.reactivex.rxjava3.subjects.PublishSubject +import io.reactivex.rxjava3.subjects.Subject import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.flow.distinctUntilChangedBy @@ -99,6 +101,8 @@ import org.thoughtcrime.securesms.components.compose.DeviceSpecificNotificationB import org.thoughtcrime.securesms.components.settings.app.AppSettingsActivity import org.thoughtcrime.securesms.components.settings.app.AppSettingsActivity.Companion.manageSubscriptions import org.thoughtcrime.securesms.components.settings.app.notifications.manual.NotificationProfileSelectionFragment +import org.thoughtcrime.securesms.components.settings.app.subscription.GooglePayComponent +import org.thoughtcrime.securesms.components.settings.app.subscription.GooglePayRepository import org.thoughtcrime.securesms.components.voice.VoiceNoteMediaController import org.thoughtcrime.securesms.components.voice.VoiceNoteMediaControllerOwner import org.thoughtcrime.securesms.conversation.ConversationIntents @@ -178,7 +182,7 @@ import org.thoughtcrime.securesms.window.isSplitPane import org.thoughtcrime.securesms.window.rememberThreePaneScaffoldNavigatorDelegate import org.whispersystems.signalservice.api.websocket.WebSocketConnectionState -class MainActivity : PassphraseRequiredActivity(), VoiceNoteMediaControllerOwner, MainNavigator.NavigatorProvider, Material3OnScrollHelperBinder, ConversationListFragment.Callback, CallLogFragment.Callback { +class MainActivity : PassphraseRequiredActivity(), VoiceNoteMediaControllerOwner, MainNavigator.NavigatorProvider, Material3OnScrollHelperBinder, ConversationListFragment.Callback, CallLogFragment.Callback, GooglePayComponent { companion object { private val TAG = Log.tag(MainActivity::class) @@ -235,6 +239,9 @@ class MainActivity : PassphraseRequiredActivity(), VoiceNoteMediaControllerOwner private val megaphoneActionController = MainMegaphoneActionController() private val mainNavigationCallback = MainNavigationCallback() + override val googlePayRepository: GooglePayRepository by lazy { GooglePayRepository(this) } + override val googlePayResultPublisher: Subject = PublishSubject.create() + override fun dispatchTouchEvent(ev: MotionEvent?): Boolean { return motionEventRelay.offer(ev) || super.dispatchTouchEvent(ev) }