@@ -74,6 +74,8 @@ import androidx.recyclerview.widget.RecyclerView
7474import androidx.window.core.layout.WindowSizeClass
7575import androidx.window.core.layout.WindowWidthSizeClass
7676import com.google.android.material.dialog.MaterialAlertDialogBuilder
77+ import io.reactivex.rxjava3.subjects.PublishSubject
78+ import io.reactivex.rxjava3.subjects.Subject
7779import kotlinx.coroutines.Dispatchers
7880import kotlinx.coroutines.flow.collectLatest
7981import kotlinx.coroutines.flow.distinctUntilChangedBy
@@ -99,6 +101,8 @@ import org.thoughtcrime.securesms.components.compose.DeviceSpecificNotificationB
99101import org.thoughtcrime.securesms.components.settings.app.AppSettingsActivity
100102import org.thoughtcrime.securesms.components.settings.app.AppSettingsActivity.Companion.manageSubscriptions
101103import org.thoughtcrime.securesms.components.settings.app.notifications.manual.NotificationProfileSelectionFragment
104+ import org.thoughtcrime.securesms.components.settings.app.subscription.GooglePayComponent
105+ import org.thoughtcrime.securesms.components.settings.app.subscription.GooglePayRepository
102106import org.thoughtcrime.securesms.components.voice.VoiceNoteMediaController
103107import org.thoughtcrime.securesms.components.voice.VoiceNoteMediaControllerOwner
104108import org.thoughtcrime.securesms.conversation.ConversationIntents
@@ -178,7 +182,7 @@ import org.thoughtcrime.securesms.window.isSplitPane
178182import org.thoughtcrime.securesms.window.rememberThreePaneScaffoldNavigatorDelegate
179183import org.whispersystems.signalservice.api.websocket.WebSocketConnectionState
180184
181- class MainActivity : PassphraseRequiredActivity (), VoiceNoteMediaControllerOwner, MainNavigator.NavigatorProvider, Material3OnScrollHelperBinder, ConversationListFragment.Callback, CallLogFragment.Callback {
185+ class MainActivity : PassphraseRequiredActivity (), VoiceNoteMediaControllerOwner, MainNavigator.NavigatorProvider, Material3OnScrollHelperBinder, ConversationListFragment.Callback, CallLogFragment.Callback, GooglePayComponent {
182186
183187 companion object {
184188 private val TAG = Log .tag(MainActivity ::class )
@@ -235,6 +239,9 @@ class MainActivity : PassphraseRequiredActivity(), VoiceNoteMediaControllerOwner
235239 private val megaphoneActionController = MainMegaphoneActionController ()
236240 private val mainNavigationCallback = MainNavigationCallback ()
237241
242+ override val googlePayRepository: GooglePayRepository by lazy { GooglePayRepository (this ) }
243+ override val googlePayResultPublisher: Subject <GooglePayComponent .GooglePayResult > = PublishSubject .create()
244+
238245 override fun dispatchTouchEvent (ev : MotionEvent ? ): Boolean {
239246 return motionEventRelay.offer(ev) || super .dispatchTouchEvent(ev)
240247 }
0 commit comments