Skip to content

Commit 7e5eaae

Browse files
authored
Merge pull request #1436 from keymapperorg/develop
Version 2.8.0
2 parents 4d0582e + bf729fa commit 7e5eaae

File tree

229 files changed

+7377
-3661
lines changed

Some content is hidden

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

229 files changed

+7377
-3661
lines changed

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,28 +8,27 @@ assignees: sds100
88
---
99

1010
**Developer TODO (don't remove)**
11-
- [ ] write tests. put issue number in comment
1211
- [ ] update documentation
1312

14-
**Discord message link/email recipient**
15-
1613
**Describe the bug**
1714
A clear and concise description of what the bug is.
1815

16+
**Attach bug report**
17+
https://docs.keymapper.club/report-issues
18+
1919
**To Reproduce**
2020
Steps to reproduce the behavior:
2121

22-
Upload a backup of your keymaps. [Follow the guide here](https://keymapperorg.github.io/KeyMapper/user-guide/backup-restore)
22+
**Key maps**
23+
Upload a backup of your keymaps. [Follow the guide here](https://docs.keymapper.club/user-guide/backup-restore)
2324

2425
**Expected behavior**
2526
A clear and concise description of what you expected to happen.
2627

2728
**Screenshots**
2829
If applicable, add screenshots to help explain your problem.
2930

30-
**Smartphone (please complete the following information):**
31-
- Device: [e.g. OnePlus 6T]
32-
- Android version: [e.g. Android 10]
33-
34-
**Additional context**
35-
Add any other context about the problem here.
31+
**Device and app info**
32+
- Device:
33+
- Android version (include HyperOS, OneUI version as well):
34+
- Key Mapper version:

.github/workflows/pull-request.yml

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
uses: android-actions/setup-android@v2
2222

2323
- name: Unit tests
24-
run: bash ./gradlew testDebugUnitTest
24+
run: bash ./gradlew testFreeDebugUnitTest
2525

2626
style:
2727
name: Code style check
@@ -93,4 +93,13 @@ jobs:
9393
run: bundle install
9494

9595
- name: Build apk with fastlane
96-
run: bundle exec fastlane testing
96+
run: bundle exec fastlane testing
97+
98+
- name: set apk name env
99+
run: echo "APK_NAME=$(basename app/build/outputs/apk/free/ci/*.apk .apk)" >> $GITHUB_ENV
100+
101+
- name: Upload APK
102+
uses: actions/upload-artifact@v4
103+
with:
104+
name: ${{ env.APK_NAME }}
105+
path: app/build/outputs/apk/free/ci/${{ env.APK_NAME }}.apk

.github/workflows/testing.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
uses: android-actions/setup-android@v2
2828

2929
- name: Unit tests
30-
run: bash ./gradlew testDebugUnitTest
30+
run: bash ./gradlew testFreeDebugUnitTest
3131

3232
style:
3333
name: Code style check
@@ -113,13 +113,13 @@ jobs:
113113
run: bundle exec fastlane testing
114114

115115
- name: set apk name env
116-
run: echo "APK_NAME=$(basename app/build/outputs/apk/ci/*.apk .apk)" >> $GITHUB_ENV
116+
run: echo "APK_NAME=$(basename app/build/outputs/apk/free/ci/*.apk .apk)" >> $GITHUB_ENV
117117

118118
- name: Upload APK
119119
uses: actions/upload-artifact@v4
120120
with:
121121
name: ${{ env.APK_NAME }}
122-
path: app/build/outputs/apk/ci/${{ env.APK_NAME }}.apk
122+
path: app/build/outputs/apk/free/ci/${{ env.APK_NAME }}.apk
123123

124124
- name: Upload to Discord
125125
uses: sinshutu/upload-to-discord@v2.0.0

CHANGELOG.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,33 @@
1+
## [2.8.0](https://github.com/sds100/KeyMapper/releases/tag/v2.8.0)
2+
3+
#### 13 February 2025
4+
5+
## Added
6+
7+
- #491 remap DPAD buttons.
8+
- #1223 sort key maps by triggers, actions, constraints and options.
9+
- #1344 target Android 15 and support edge-to-edge display mode.
10+
- #1372 allow Shizuku features to work with Sui.
11+
- #1391 button in Settings to reset all settings to their defaults.
12+
13+
## Changed
14+
15+
- #1412 make the record trigger text clearer by saying it is recording.
16+
17+
## Removed
18+
19+
- #1411 remove the app intro screen for remapping fingerprint gestures because almost all new phones do not support them anyway.
20+
21+
## Bug fixes
22+
23+
- #1426, #1434 key map launcher shortcut icons were white.
24+
- #1410 vibrations not working on Android 13+.
25+
- #1342 add missing Meta modifier options for key event actions.
26+
- #1375 memory leak when rebinding to the relay service in the Key Mapper GUI Keyboard.
27+
- #1376 Key Mapper Basic Input Method would not work on Android 14+ in some situations.
28+
- #1094 wrong repository name in the introduction screen.
29+
- #1387 some app shortcuts would not open on Android 14+.
30+
131
## [2.7.2](https://github.com/sds100/KeyMapper/releases/tag/v2.7.2)
232

333
#### 22 December 2024

README.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
1-
**Project under slower development.**
2-
> Well, working on this project was a fun ride 🎢! This project has taught me so much about Android, software development and how to collaborate with an online community. It has been my dream to lead a big FOSS project with people from all over the world so a **huge** thank you goes to everyone that spread the word and helped on GitHub along the way ☺. Unfortunately, I do not have any more time to work on this project - I'm now studying Computer Science at university and I have landed software-dev side jobs, which has taken up any free-time I did have to code on the side.
1+
**Project back under slower development.**
2+
> **UPDATE**: I miss working on this project and Key Mapper still has so much potential so I am back! 😊
3+
>
4+
> Well, working on this project was a fun ride 🎢! This project has taught me so much about Android, software development and how to collaborate with an online community. It has been my dream to lead a big FOSS project with people from all over the world so a **huge** thank you goes to everyone that spread the word and helped on GitHub along the way ☺.
5+
>
6+
> ~~Unfortunately, I do not have any more time to work on this project - I'm now studying Computer Science at university and I have landed software-dev side jobs, which has taken up any free-time I did have to code on the side.~~
37
>
48
> A special thank you goes to everyone in the [Team](https://docs.keymapper.club/#our-team) for their long-term
59
> commitment to the project and for being so engaged with the community 👏 🎉.

app/build.gradle

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,21 @@ apply plugin: "androidx.navigation.safeargs.kotlin"
55
apply plugin: "kotlinx-serialization"
66
apply plugin: "org.jetbrains.kotlin.plugin.parcelize"
77
apply plugin: "org.jlleitschuh.gradle.ktlint"
8+
apply plugin: "org.jetbrains.kotlin.plugin.compose"
89

910
android {
1011

1112
namespace "io.github.sds100.keymapper"
12-
compileSdk 34
13-
buildToolsVersion = "34.0.0"
13+
compileSdk 35
14+
buildToolsVersion = "35.0.0"
1415

1516
def versionProperties = new Properties()
1617
file("version.properties").withInputStream { versionProperties.load(it) }
1718

1819
defaultConfig {
1920
applicationId "io.github.sds100.keymapper"
2021
minSdkVersion 21
21-
targetSdkVersion 34
22+
targetSdkVersion 35
2223
versionCode versionProperties.getProperty("VERSION_CODE").toInteger()
2324
versionName versionProperties.getProperty("VERSION_NAME")
2425
multiDexEnabled true
@@ -157,8 +158,8 @@ dependencies {
157158

158159
def room_version = "2.6.1"
159160
def coroutinesVersion = "1.9.0"
160-
def nav_version = '2.8.4'
161-
def work_version = "2.9.1"
161+
def nav_version = '2.8.5'
162+
def work_version = "2.10.0"
162163
def epoxy_version = "4.6.2"
163164
def splitties_version = "3.0.0"
164165
def multidex_version = "2.0.1"
@@ -170,13 +171,13 @@ dependencies {
170171
implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.0"
171172

172173
// random stuff
173-
implementation "com.google.android.material:material:1.12.0"
174+
implementation "com.google.android.material:material:1.13.0-alpha09"
174175
implementation "com.github.salomonbrys.kotson:kotson:2.5.0"
175176
implementation "com.airbnb.android:epoxy:$epoxy_version"
176177
implementation "com.github.AppIntro:AppIntro:6.1.0"
177178
implementation "com.airbnb.android:epoxy-databinding:$epoxy_version"
178179
kapt "com.airbnb.android:epoxy-processor:$epoxy_version"
179-
implementation "com.jakewharton.timber:timber:4.7.1"
180+
implementation "com.jakewharton.timber:timber:5.0.1"
180181
implementation "uk.co.samuelwall:material-tap-target-prompt:3.1.0"
181182
implementation "net.lingala.zip4j:zip4j:2.8.0"
182183
implementation "com.anggrayudi:storage:0.8.1"
@@ -185,7 +186,7 @@ dependencies {
185186
implementation "dev.rikka.shizuku:api:$shizuku_version"
186187
implementation "dev.rikka.shizuku:provider:$shizuku_version"
187188
implementation "org.lsposed.hiddenapibypass:hiddenapibypass:4.3"
188-
proImplementation 'com.revenuecat.purchases:purchases:8.8.1'
189+
proImplementation 'com.revenuecat.purchases:purchases:8.10.8'
189190

190191

191192
// splitties
@@ -198,9 +199,9 @@ dependencies {
198199

199200
// androidx
200201
implementation "androidx.legacy:legacy-support-core-ui:1.0.0"
201-
implementation "androidx.core:core-ktx:1.13.1"
202+
implementation "androidx.core:core-ktx:1.15.0"
202203

203-
implementation "androidx.activity:activity-ktx:1.9.3"
204+
implementation "androidx.activity:activity-ktx:1.10.0"
204205
implementation "androidx.fragment:fragment-ktx:1.8.5"
205206
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7"
206207
implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.8.7"
@@ -211,23 +212,23 @@ dependencies {
211212
implementation "androidx.navigation:navigation-ui-ktx:$nav_version"
212213
implementation "androidx.multidex:multidex:$multidex_version"
213214
implementation "androidx.appcompat:appcompat:1.7.0"
214-
implementation "androidx.recyclerview:recyclerview:1.3.2"
215+
implementation "androidx.recyclerview:recyclerview:1.4.0"
215216
implementation "androidx.preference:preference-ktx:1.2.1"
216217
implementation "androidx.constraintlayout:constraintlayout:2.2.0"
217218
implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"
218219
implementation "androidx.room:room-runtime:$room_version"
219220
implementation "androidx.viewpager2:viewpager2:1.1.0"
220-
implementation "androidx.datastore:datastore-preferences:1.1.1"
221+
implementation "androidx.datastore:datastore-preferences:1.1.2"
221222
implementation "androidx.core:core-splashscreen:1.0.1"
222223
kapt "androidx.room:room-compiler:$room_version"
223224

224225
// Compose
225-
implementation "androidx.compose.ui:ui-android:1.7.5"
226+
implementation "androidx.compose.ui:ui-android:1.7.6"
226227
implementation "androidx.compose.material3:material3-android:1.3.1"
227-
implementation "androidx.compose.ui:ui-tooling-preview-android:1.7.5"
228-
implementation "androidx.compose.material:material-icons-extended-android:1.7.5"
229-
debugImplementation "androidx.compose.ui:ui-tooling:1.7.5"
230-
debug_releaseImplementation "androidx.compose.ui:ui-tooling:1.7.5"
228+
implementation "androidx.compose.ui:ui-tooling-preview-android:1.7.6"
229+
implementation "androidx.compose.material:material-icons-extended-android:1.7.6"
230+
debugImplementation "androidx.compose.ui:ui-tooling:1.7.6"
231+
debug_releaseImplementation "androidx.compose.ui:ui-tooling:1.7.6"
231232

232233
// debugImplementation "com.squareup.leakcanary:leakcanary-android:2.6"
233234

0 commit comments

Comments
 (0)