diff --git a/app/src/main/java/com/osfans/trime/ime/broadcast/InputBroadcaster.kt b/app/src/main/java/com/osfans/trime/ime/broadcast/InputBroadcaster.kt index 6e7f870eb3..e8d75c9db6 100644 --- a/app/src/main/java/com/osfans/trime/ime/broadcast/InputBroadcaster.kt +++ b/app/src/main/java/com/osfans/trime/ime/broadcast/InputBroadcaster.kt @@ -2,9 +2,11 @@ package com.osfans.trime.ime.broadcast import com.osfans.trime.core.RimeNotification.OptionNotification import com.osfans.trime.ime.dependency.InputScope +import me.tatarka.inject.annotations.Inject import java.util.concurrent.ConcurrentLinkedQueue @InputScope +@Inject class InputBroadcaster : InputBroadcastReceiver { private val receivers = ConcurrentLinkedQueue() diff --git a/app/src/main/java/com/osfans/trime/ime/core/InputView.kt b/app/src/main/java/com/osfans/trime/ime/core/InputView.kt index 3aa102cdc6..b73b4e3b7b 100644 --- a/app/src/main/java/com/osfans/trime/ime/core/InputView.kt +++ b/app/src/main/java/com/osfans/trime/ime/core/InputView.kt @@ -21,7 +21,6 @@ import com.osfans.trime.core.RimeNotification import com.osfans.trime.data.theme.ColorManager import com.osfans.trime.data.theme.ThemeManager import com.osfans.trime.ime.bar.QuickBar -import com.osfans.trime.ime.broadcast.InputBroadcaster import com.osfans.trime.ime.dependency.InputComponent import com.osfans.trime.ime.dependency.create import com.osfans.trime.ime.keyboard.KeyboardWindow @@ -87,8 +86,8 @@ class InputView( private val notificationHandlerJob: Job private val themedContext = context.withTheme(android.R.style.Theme_DeviceDefault_Settings) - private val broadcaster = InputBroadcaster() - private val inputComponent = InputComponent::class.create(themedContext, theme, service, broadcaster) + private val inputComponent = InputComponent::class.create(themedContext, theme, service) + private val broadcaster = inputComponent.broadcaster private val windowManager = inputComponent.windowManager val quickBar: QuickBar = inputComponent.quickBar val keyboardWindow: KeyboardWindow = inputComponent.keyboardWindow diff --git a/app/src/main/java/com/osfans/trime/ime/dependency/InputComponent.kt b/app/src/main/java/com/osfans/trime/ime/dependency/InputComponent.kt index 759222ae5c..1d2e5062d7 100644 --- a/app/src/main/java/com/osfans/trime/ime/dependency/InputComponent.kt +++ b/app/src/main/java/com/osfans/trime/ime/dependency/InputComponent.kt @@ -17,8 +17,8 @@ abstract class InputComponent( @get:InputScope @get:Provides val themedContext: Context, @get:InputScope @get:Provides val theme: Theme, @get:InputScope @get:Provides val service: TrimeInputMethodService, - @get:InputScope @get:Provides val broadcaster: InputBroadcaster, ) { + abstract val broadcaster: InputBroadcaster abstract val quickBar: QuickBar abstract val windowManager: BoardWindowManager abstract val keyboardWindow: KeyboardWindow