@@ -29,12 +29,14 @@ import com.anggrayudi.storage.extension.toDocumentFile
2929import io.github.sds100.keymapper.Constants.PACKAGE_NAME
3030import io.github.sds100.keymapper.compose.ComposeColors
3131import io.github.sds100.keymapper.databinding.ActivityMainBinding
32+ import io.github.sds100.keymapper.home.HomeViewModel
3233import io.github.sds100.keymapper.mappings.keymaps.trigger.RecordTriggerController
3334import io.github.sds100.keymapper.system.accessibility.AccessibilityServiceAdapter
3435import io.github.sds100.keymapper.system.files.FileUtils
3536import io.github.sds100.keymapper.system.inputevents.MyMotionEvent
3637import io.github.sds100.keymapper.system.permissions.AndroidPermissionAdapter
3738import io.github.sds100.keymapper.system.permissions.RequestPermissionDelegate
39+ import io.github.sds100.keymapper.util.Inject
3840import io.github.sds100.keymapper.util.launchRepeatOnLifecycle
3941import io.github.sds100.keymapper.util.ui.showPopups
4042import kotlinx.coroutines.Dispatchers
@@ -72,6 +74,10 @@ abstract class BaseMainActivity : AppCompatActivity() {
7274 ActivityViewModel .Factory (ServiceLocator .resourceProvider(this ))
7375 }
7476
77+ val homeViewModel by viewModels<HomeViewModel > {
78+ Inject .homeViewModel(this )
79+ }
80+
7581 private val currentNightMode: Int
7682 get() = resources.configuration.uiMode and Configuration .UI_MODE_NIGHT_MASK
7783
@@ -179,6 +185,8 @@ abstract class BaseMainActivity : AppCompatActivity() {
179185 ContextCompat .RECEIVER_EXPORTED ,
180186 )
181187 }
188+
189+ importKeyMaps(intent)
182190 }
183191
184192 override fun onResume () {
@@ -200,6 +208,12 @@ abstract class BaseMainActivity : AppCompatActivity() {
200208 super .onDestroy()
201209 }
202210
211+ override fun onNewIntent (intent : Intent ) {
212+ super .onNewIntent(intent)
213+
214+ importKeyMaps(intent)
215+ }
216+
203217 override fun onGenericMotionEvent (event : MotionEvent ? ): Boolean {
204218 event ? : return super .onGenericMotionEvent(event)
205219
@@ -214,6 +228,14 @@ abstract class BaseMainActivity : AppCompatActivity() {
214228 }
215229 }
216230
231+ private fun importKeyMaps (intent : Intent ) {
232+ if (intent.action == Intent .ACTION_VIEW ) {
233+ intent.data?.let {
234+ homeViewModel.onChooseImportFile(it.toString())
235+ }
236+ }
237+ }
238+
217239 private fun saveFile (originalFile : Uri , targetFile : Uri ) {
218240 lifecycleScope.launch(Dispatchers .IO ) {
219241 targetFile.openOutputStream(this @BaseMainActivity)?.use { output ->
0 commit comments