Skip to content

Commit 9011a66

Browse files
authored
Merge pull request #1600 from keymapperorg/feature/320-group-key-maps
Feature/320 group key maps
2 parents 12c8f07 + 6c38254 commit 9011a66

File tree

89 files changed

+6717
-2313
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

89 files changed

+6717
-2313
lines changed

app/schemas/io.github.sds100.keymapper.data.db.AppDatabase/16.json

Lines changed: 402 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package io.github.sds100.keymapper.home
2+
3+
import androidx.compose.material3.SnackbarHostState
4+
import androidx.compose.runtime.Composable
5+
import androidx.compose.ui.Modifier
6+
import androidx.compose.ui.unit.Dp
7+
import androidx.navigation.NavHostController
8+
import io.github.sds100.keymapper.floating.ListFloatingLayoutsViewModel
9+
10+
@Composable
11+
fun HomeFloatingLayoutsScreen(
12+
modifier: Modifier = Modifier,
13+
viewModel: ListFloatingLayoutsViewModel,
14+
navController: NavHostController,
15+
snackbarState: SnackbarHostState,
16+
fabBottomPadding: Dp,
17+
) {
18+
}

app/src/free/java/io/github/sds100/keymapper/mappings/keymaps/detection/KeyMapController.kt

Lines changed: 234 additions & 245 deletions
Large diffs are not rendered by default.

app/src/free/java/io/github/sds100/keymapper/system/accessibility/AccessibilityServiceController.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import io.github.sds100.keymapper.actions.PerformActionsUseCase
44
import io.github.sds100.keymapper.constraints.DetectConstraintsUseCase
55
import io.github.sds100.keymapper.data.repositories.PreferenceRepository
66
import io.github.sds100.keymapper.mappings.FingerprintGesturesSupportedUseCase
7-
import io.github.sds100.keymapper.mappings.PauseMappingsUseCase
7+
import io.github.sds100.keymapper.mappings.PauseKeyMapsUseCase
88
import io.github.sds100.keymapper.mappings.keymaps.detection.DetectKeyMapsUseCase
99
import io.github.sds100.keymapper.reroutekeyevents.RerouteKeyEventsUseCase
1010
import io.github.sds100.keymapper.system.devices.DevicesAdapter
@@ -25,7 +25,7 @@ class AccessibilityServiceController(
2525
detectKeyMapsUseCase: DetectKeyMapsUseCase,
2626
fingerprintGesturesSupportedUseCase: FingerprintGesturesSupportedUseCase,
2727
rerouteKeyEventsUseCase: RerouteKeyEventsUseCase,
28-
pauseMappingsUseCase: PauseMappingsUseCase,
28+
pauseKeyMapsUseCase: PauseKeyMapsUseCase,
2929
devicesAdapter: DevicesAdapter,
3030
suAdapter: SuAdapter,
3131
inputMethodAdapter: InputMethodAdapter,
@@ -40,7 +40,7 @@ class AccessibilityServiceController(
4040
detectKeyMapsUseCase,
4141
fingerprintGesturesSupportedUseCase,
4242
rerouteKeyEventsUseCase,
43-
pauseMappingsUseCase,
43+
pauseKeyMapsUseCase,
4444
devicesAdapter,
4545
suAdapter,
4646
inputMethodAdapter,

app/src/main/java/io/github/sds100/keymapper/KeyMapperApp.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ class KeyMapperApp : MultiDexApplication() {
218218
suAdapter,
219219
permissionAdapter,
220220
),
221-
UseCases.pauseMappings(this),
221+
UseCases.pauseKeyMaps(this),
222222
UseCases.showImePicker(this),
223223
UseCases.controlAccessibilityService(this),
224224
UseCases.toggleCompatibleIme(this),
@@ -231,7 +231,7 @@ class KeyMapperApp : MultiDexApplication() {
231231
appCoroutineScope,
232232
ServiceLocator.settingsRepository(this),
233233
ServiceLocator.inputMethodAdapter(this),
234-
UseCases.pauseMappings(this),
234+
UseCases.pauseKeyMaps(this),
235235
devicesAdapter,
236236
popupMessageAdapter,
237237
resourceProvider,

app/src/main/java/io/github/sds100/keymapper/ServiceLocator.kt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,11 @@ import io.github.sds100.keymapper.backup.BackupManagerImpl
1010
import io.github.sds100.keymapper.data.db.AppDatabase
1111
import io.github.sds100.keymapper.data.repositories.FloatingButtonRepository
1212
import io.github.sds100.keymapper.data.repositories.FloatingLayoutRepository
13+
import io.github.sds100.keymapper.data.repositories.GroupRepository
1314
import io.github.sds100.keymapper.data.repositories.PreferenceRepository
1415
import io.github.sds100.keymapper.data.repositories.RoomFloatingButtonRepository
1516
import io.github.sds100.keymapper.data.repositories.RoomFloatingLayoutRepository
17+
import io.github.sds100.keymapper.data.repositories.RoomGroupRepository
1618
import io.github.sds100.keymapper.data.repositories.RoomKeyMapRepository
1719
import io.github.sds100.keymapper.data.repositories.RoomLogRepository
1820
import io.github.sds100.keymapper.data.repositories.SettingsPreferenceRepository
@@ -138,6 +140,20 @@ object ServiceLocator {
138140
}
139141
}
140142

143+
@Volatile
144+
private var groupRepository: GroupRepository? = null
145+
146+
fun groupRepository(context: Context): GroupRepository {
147+
synchronized(this) {
148+
return groupRepository ?: RoomGroupRepository(
149+
database(context).groupDao(),
150+
(context.applicationContext as KeyMapperApp).appCoroutineScope,
151+
).also {
152+
this.groupRepository = it
153+
}
154+
}
155+
}
156+
141157
@Volatile
142158
private var backupManager: BackupManager? = null
143159

@@ -156,6 +172,7 @@ object ServiceLocator {
156172
settingsRepository(context),
157173
floatingLayoutRepository(context),
158174
floatingButtonRepository(context),
175+
groupRepository(context),
159176
soundsManager(context),
160177
)
161178

app/src/main/java/io/github/sds100/keymapper/UseCases.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import io.github.sds100.keymapper.constraints.GetConstraintErrorUseCaseImpl
1010
import io.github.sds100.keymapper.floating.ListFloatingLayoutsUseCase
1111
import io.github.sds100.keymapper.floating.ListFloatingLayoutsUseCaseImpl
1212
import io.github.sds100.keymapper.mappings.FingerprintGesturesSupportedUseCaseImpl
13-
import io.github.sds100.keymapper.mappings.PauseMappingsUseCaseImpl
13+
import io.github.sds100.keymapper.mappings.PauseKeyMapsUseCaseImpl
1414
import io.github.sds100.keymapper.mappings.keymaps.ConfigKeyMapUseCase
1515
import io.github.sds100.keymapper.mappings.keymaps.CreateKeyMapShortcutUseCaseImpl
1616
import io.github.sds100.keymapper.mappings.keymaps.DisplayKeyMapUseCase
@@ -97,7 +97,7 @@ object UseCases {
9797

9898
fun fingerprintGesturesSupported(ctx: Context) = FingerprintGesturesSupportedUseCaseImpl(ServiceLocator.settingsRepository(ctx))
9999

100-
fun pauseMappings(ctx: Context) = PauseMappingsUseCaseImpl(
100+
fun pauseKeyMaps(ctx: Context) = PauseKeyMapsUseCaseImpl(
101101
ServiceLocator.settingsRepository(ctx),
102102
ServiceLocator.mediaAdapter(ctx),
103103
)
@@ -172,6 +172,7 @@ object UseCases {
172172
) = DetectKeyMapsUseCaseImpl(
173173
ServiceLocator.roomKeyMapRepository(ctx),
174174
ServiceLocator.floatingButtonRepository(ctx),
175+
ServiceLocator.groupRepository(ctx),
175176
ServiceLocator.settingsRepository(ctx),
176177
ServiceLocator.suAdapter(ctx),
177178
ServiceLocator.displayAdapter(ctx),

app/src/main/java/io/github/sds100/keymapper/actions/Action.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ data class Action(
3939
}
4040
}
4141

42-
object KeymapActionEntityMapper {
42+
object ActionEntityMapper {
4343
fun fromEntity(entity: ActionEntity): Action? {
4444
val data = ActionDataEntityMapper.fromEntity(entity) ?: return null
4545

app/src/main/java/io/github/sds100/keymapper/actions/ConfigActionsViewModel.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package io.github.sds100.keymapper.actions
22

33
import io.github.sds100.keymapper.R
4-
import io.github.sds100.keymapper.home.ChooseAppStoreModel
54
import io.github.sds100.keymapper.mappings.keymaps.ConfigKeyMapUseCase
65
import io.github.sds100.keymapper.mappings.keymaps.KeyMap
76
import io.github.sds100.keymapper.mappings.keymaps.ShortcutModel
@@ -14,6 +13,7 @@ import io.github.sds100.keymapper.util.getFullMessage
1413
import io.github.sds100.keymapper.util.isFixable
1514
import io.github.sds100.keymapper.util.mapData
1615
import io.github.sds100.keymapper.util.onFailure
16+
import io.github.sds100.keymapper.util.ui.ChooseAppStoreModel
1717
import io.github.sds100.keymapper.util.ui.DialogResponse
1818
import io.github.sds100.keymapper.util.ui.LinkType
1919
import io.github.sds100.keymapper.util.ui.NavDestination

app/src/main/java/io/github/sds100/keymapper/api/PauseMappingsBroadcastReceiver.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class PauseMappingsBroadcastReceiver : BroadcastReceiver() {
1616
override fun onReceive(context: Context?, intent: Intent?) {
1717
context ?: return
1818

19-
val useCase = UseCases.pauseMappings(context)
19+
val useCase = UseCases.pauseKeyMaps(context)
2020

2121
when (intent?.action) {
2222
Api.ACTION_PAUSE_MAPPINGS -> useCase.pause()

0 commit comments

Comments
 (0)