Skip to content

Commit c1382b5

Browse files
authored
Merge pull request #1581 from keymapperorg/develop
Version 3.0.0 Beta 1
2 parents 515bf5c + fdd53c2 commit c1382b5

File tree

452 files changed

+19446
-24756
lines changed

Some content is hidden

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

452 files changed

+19446
-24756
lines changed

.editorconfig

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,8 @@
22
ktlint_standard_function-expression-body = disabled
33
ktlint_function_naming_ignore_when_annotated_with = Composable
44
ktlint_ignore_back_ticked_identifier = true
5-
ktlint_code_style = intellij_idea # Use IntelliJ style because it has trailing commas
5+
ktlint_code_style = intellij_idea # Use IntelliJ style because it has trailing commas
6+
7+
[app/src/main/java/io/github/sds100/keymapper/util/ui/compose/icons/*.{kt,kts}]
8+
ktlint_standard_property-naming = disabled
9+
ktlint_standard_backing-property-naming = disabled

.idea/runConfigurations/app.xml

Lines changed: 8 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/valkyrie_settings.xml

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

CHANGELOG.md

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,42 @@
1+
## [3.0 Beta 1](https://github.com/sds100/KeyMapper/releases/tag/v3.0.0-beta.1)
2+
3+
#### TO BE RELEASED
4+
5+
Most of the codebase has been touched and most of the user interface has been rewritten
6+
in Jetpack Compose, resulting in many improvements to the user experience.
7+
8+
## Added
9+
10+
- #1407 New trigger! Add floating buttons on top of other apps to input key maps.
11+
- Key maps are much more dense on the home screen.
12+
- Button to pause/resume key maps at the top of the home screen.
13+
- #1502 Constraint for lockscreen is (not) showing.
14+
- #1203 Show a share sheet after exporting key maps rather than asking where to store it. This solves the problem when no apps are installed to select where to back it up. You can still find the file in the Downloads file.
15+
- #1531 Show shortcuts to quickly add recently used actions and constraints.
16+
- #1487 Add confirmation dialog when importing key maps and offer the option to replace all the key maps or append to the list.
17+
- #1546 Add short explanation of what constraints mean on top of the list.
18+
- #1548 Dynamically change key map enabled switch label.
19+
- #1562 Import key maps by opening .json and .zip files from other apps and file managers.
20+
21+
## Bug fixes
22+
- #1518 detect more apps that are playing media (fix to previous fix).
23+
- #1545 support phone call constraints in more apps.
24+
- #1536 'Edit action' sometimes does not appear.
25+
- #1507 only vibrate once when mixing short, long, and double press key maps.
26+
- Prevent various system errors from crashing the apps.
27+
128
## [2.8.3](https://github.com/sds100/KeyMapper/releases/tag/v2.8.3)
229

330
#### 17 March 2025
431

532
## Changed
633

7-
- #1474 always allow specifying a name for key map launcher shortcuts
8-
- #1533 simplify naming of ringer mode actions
34+
- #1474 always allow specifying a name for key map launcher shortcuts.
35+
- #1533 simplify naming of ringer mode actions.
936

1037
## Bug fixes
1138

12-
- #1535 side key/assistant trigger does not trigger from non-assistant buttons
39+
- #1535 side key/assistant trigger does not trigger from non-assistant buttons.
1340

1441
## [2.8.2](https://github.com/sds100/KeyMapper/releases/tag/v2.8.2)
1542

app/build.gradle

Lines changed: 29 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ apply plugin: "kotlinx-serialization"
77
apply plugin: "org.jetbrains.kotlin.plugin.parcelize"
88
apply plugin: "org.jlleitschuh.gradle.ktlint"
99
apply plugin: "org.jetbrains.kotlin.plugin.compose"
10+
apply plugin: "androidx.room"
1011

1112
android {
1213

@@ -71,13 +72,8 @@ android {
7172
}
7273

7374
ci {
74-
postprocessing {
75-
removeUnusedCode true
76-
removeUnusedResources true
77-
obfuscate false
78-
optimizeCode true
79-
proguardFiles "proguard-rules.pro"
80-
}
75+
minifyEnabled true
76+
shrinkResources true
8177

8278
/*
8379
This is required because the splitties library does not have a ci build type.
@@ -86,6 +82,9 @@ android {
8682

8783
applicationIdSuffix ".ci"
8884
versionNameSuffix "-ci." + versionProperties.getProperty("VERSION_NUM")
85+
86+
proguardFiles getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro"
87+
8988
signingConfig signingConfigs.debug
9089
}
9190
}
@@ -121,7 +120,6 @@ android {
121120
targetCompatibility JavaVersion.VERSION_17
122121
}
123122

124-
// work-runtime-ktx 2.1.0 and above now requires Java 8
125123
kotlinOptions {
126124
jvmTarget = "17"
127125
}
@@ -150,6 +148,10 @@ android {
150148
outputFileName = "keymapper-${variant.versionName}.apk"
151149
}
152150
}
151+
152+
room {
153+
schemaDirectory "$projectDir/schemas"
154+
}
153155
}
154156

155157
dependencies {
@@ -172,23 +174,21 @@ dependencies {
172174
implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3"
173175

174176
// random stuff
175-
implementation "com.google.android.material:material:1.13.0-alpha11"
177+
implementation "com.google.android.material:material:1.13.0-alpha12"
176178
implementation "com.github.salomonbrys.kotson:kotson:2.5.0"
177179
implementation "com.airbnb.android:epoxy:$epoxy_version"
178-
implementation "com.github.AppIntro:AppIntro:6.1.0"
179180
implementation "com.airbnb.android:epoxy-databinding:$epoxy_version"
180181
kapt "com.airbnb.android:epoxy-processor:$epoxy_version"
181182
implementation "com.jakewharton.timber:timber:5.0.1"
182-
implementation "uk.co.samuelwall:material-tap-target-prompt:3.1.0"
183183
implementation "net.lingala.zip4j:zip4j:2.8.0"
184184
implementation "com.anggrayudi:storage:0.8.1"
185185
implementation "com.github.MFlisar:DragSelectRecyclerView:0.3"
186186
implementation "com.google.android.flexbox:flexbox:3.0.0"
187187
implementation "dev.rikka.shizuku:api:$shizuku_version"
188188
implementation "dev.rikka.shizuku:provider:$shizuku_version"
189189
implementation "org.lsposed.hiddenapibypass:hiddenapibypass:4.3"
190-
proImplementation 'com.revenuecat.purchases:purchases:8.11.0'
191-
190+
proImplementation 'com.revenuecat.purchases:purchases:8.14.2'
191+
proImplementation "com.airbnb.android:lottie-compose:6.6.3"
192192

193193
// splitties
194194
implementation "com.louiscad.splitties:splitties-bitflags:$splitties_version"
@@ -221,15 +221,25 @@ dependencies {
221221
implementation "androidx.viewpager2:viewpager2:1.1.0"
222222
implementation "androidx.datastore:datastore-preferences:1.1.3"
223223
implementation "androidx.core:core-splashscreen:1.0.1"
224+
implementation "androidx.activity:activity-compose:1.10.1"
225+
implementation "androidx.navigation:navigation-compose:2.8.9"
226+
implementation "androidx.navigation:navigation-fragment-compose:2.8.9"
224227
ksp "androidx.room:room-compiler:$room_version"
225228

226229
// Compose
227-
implementation "androidx.compose.ui:ui-android:1.7.8"
228-
implementation "androidx.compose.material3:material3-android:1.3.1"
229-
implementation "androidx.compose.ui:ui-tooling-preview-android:1.7.8"
230-
implementation "androidx.compose.material:material-icons-extended-android:1.7.8"
231-
debugImplementation "androidx.compose.ui:ui-tooling:1.7.8"
232-
debug_releaseImplementation "androidx.compose.ui:ui-tooling:1.7.8"
230+
Dependency composeBom = platform('androidx.compose:compose-bom-beta:2025.03.00')
231+
implementation composeBom
232+
implementation 'androidx.compose.foundation:foundation'
233+
implementation "androidx.compose.ui:ui-android"
234+
implementation "androidx.compose.material3:material3-android"
235+
implementation "androidx.compose.ui:ui-tooling-preview-android"
236+
implementation "androidx.compose.material:material-icons-extended-android"
237+
implementation 'androidx.compose.material3.adaptive:adaptive-android'
238+
implementation "androidx.compose.material3.adaptive:adaptive-navigation"
239+
implementation "com.google.accompanist:accompanist-drawablepainter:0.35.0-alpha"
240+
implementation "androidx.activity:activity-compose:1.10.1"
241+
debugImplementation "androidx.compose.ui:ui-tooling"
242+
debug_releaseImplementation "androidx.compose.ui:ui-tooling"
233243

234244
// debugImplementation "com.squareup.leakcanary:leakcanary-android:2.6"
235245

0 commit comments

Comments
 (0)