@@ -21,17 +21,17 @@ import androidx.lifecycle.Lifecycle
2121import androidx.lifecycle.flowWithLifecycle
2222import androidx.lifecycle.lifecycleScope
2323import androidx.lifecycle.withStateAtLeast
24- import androidx.navigation.findNavController
2524import com.anggrayudi.storage.extension.openInputStream
2625import com.anggrayudi.storage.extension.openOutputStream
2726import com.anggrayudi.storage.extension.toDocumentFile
2827import io.github.sds100.keymapper.base.compose.ComposeColors
2928import io.github.sds100.keymapper.base.input.InputEventDetectionSource
3029import io.github.sds100.keymapper.base.input.InputEventHubImpl
30+ import io.github.sds100.keymapper.base.keymaps.ConfigKeyMapStateImpl
3131import io.github.sds100.keymapper.base.onboarding.OnboardingUseCase
3232import io.github.sds100.keymapper.base.system.accessibility.AccessibilityServiceAdapterImpl
3333import io.github.sds100.keymapper.base.system.permissions.RequestPermissionDelegate
34- import io.github.sds100.keymapper.base.trigger.RecordTriggerControllerImpl
34+ import io.github.sds100.keymapper.base.utils.navigation.NavigationProvider
3535import io.github.sds100.keymapper.base.utils.ui.ResourceProviderImpl
3636import io.github.sds100.keymapper.common.BuildConfigProvider
3737import io.github.sds100.keymapper.sysbridge.service.SystemBridgeSetupControllerImpl
@@ -56,9 +56,6 @@ abstract class BaseMainActivity : AppCompatActivity() {
5656 const val ACTION_SHOW_ACCESSIBILITY_SETTINGS_NOT_FOUND_DIALOG =
5757 " ${BuildConfig .LIBRARY_PACKAGE_NAME } .ACTION_SHOW_ACCESSIBILITY_SETTINGS_NOT_FOUND_DIALOG"
5858
59- const val ACTION_USE_FLOATING_BUTTONS =
60- " ${BuildConfig .LIBRARY_PACKAGE_NAME } .ACTION_USE_FLOATING_BUTTONS"
61-
6259 const val ACTION_SAVE_FILE = " ${BuildConfig .LIBRARY_PACKAGE_NAME } .ACTION_SAVE_FILE"
6360 const val EXTRA_FILE_URI = " ${BuildConfig .LIBRARY_PACKAGE_NAME } .EXTRA_FILE_URI"
6461
@@ -78,9 +75,6 @@ abstract class BaseMainActivity : AppCompatActivity() {
7875 @Inject
7976 lateinit var onboardingUseCase: OnboardingUseCase
8077
81- @Inject
82- lateinit var recordTriggerController: RecordTriggerControllerImpl
83-
8478 @Inject
8579 lateinit var notificationReceiverAdapter: NotificationReceiverAdapterImpl
8680
@@ -105,6 +99,12 @@ abstract class BaseMainActivity : AppCompatActivity() {
10599 @Inject
106100 lateinit var inputEventHub: InputEventHubImpl
107101
102+ @Inject
103+ lateinit var navigationProvider: NavigationProvider
104+
105+ @Inject
106+ lateinit var configKeyMapState: ConfigKeyMapStateImpl
107+
108108 private lateinit var requestPermissionDelegate: RequestPermissionDelegate
109109
110110 private val currentNightMode: Int
@@ -155,22 +155,23 @@ abstract class BaseMainActivity : AppCompatActivity() {
155155 )
156156 super .onCreate(savedInstanceState)
157157
158+ savedInstanceState?.let { configKeyMapState.restoreState(it) }
159+
158160 requestPermissionDelegate = RequestPermissionDelegate (
159161 this ,
160162 showDialogs = true ,
161163 permissionAdapter,
162164 notificationReceiverAdapter = notificationReceiverAdapter,
163165 buildConfigProvider = buildConfigProvider,
164166 shizukuAdapter = shizukuAdapter,
167+ navigationProvider = navigationProvider,
168+ coroutineScope = lifecycleScope,
165169 )
166170
167171 permissionAdapter.request
168172 .flowWithLifecycle(lifecycle, Lifecycle .State .STARTED )
169173 .onEach { permission ->
170- requestPermissionDelegate.requestPermission(
171- permission,
172- findNavController(R .id.container),
173- )
174+ requestPermissionDelegate.requestPermission(permission)
174175 }
175176 .launchIn(lifecycleScope)
176177
@@ -207,6 +208,12 @@ abstract class BaseMainActivity : AppCompatActivity() {
207208 onboardingUseCase.handledMigrateScreenOffKeyMapsNotification()
208209 }
209210
211+ override fun onSaveInstanceState (outState : Bundle ) {
212+ configKeyMapState.saveState(outState)
213+
214+ super .onSaveInstanceState(outState)
215+ }
216+
210217 override fun onDestroy () {
211218 onboardingUseCase.shownAppIntro = true
212219
0 commit comments