Merge remote-tracking branch 'origin/16-dev' into g/20260201/proguard-rules

This commit is contained in:
Goooler
2026-02-02 11:35:44 +08:00
18 changed files with 47 additions and 58 deletions

View File

@@ -12,7 +12,7 @@
> [!WARNING]
> This branch contains major changes from the rebase of Launcher3, including breaking changes and refactors that can cause Lawnchair to break.
>
> If you wish to contribute, read our [contributing guidelines](CONTRIBUTING.md). Note that this branch will undergo many changes as we slowly refactor our codebase, so the `16-dev` branch may be particularly unfriendly to new contributors. It is still possible to submit changes to `15-dev`, but new feature development will be focused on this branch.
> If you wish to contribute, read our [contributing guidelines](CONTRIBUTING.md). Note that this branch will undergo many changes as we slowly refactor our codebase, so the `16-dev` branch may be particularly unfriendly to new contributors. **It is now not possible to submit changes to `15-dev`, new feature development will be focused on this branch.**
>
> For regular users, we recommend staying on `15-dev` for stability purposes.

View File

@@ -57,7 +57,6 @@ allprojects {
generateProtoTasks {
all().configureEach { task ->
task.builtins {
remove java
java {
option "lite"
}
@@ -84,15 +83,6 @@ allprojects {
}
}
configurations.configureEach {
resolutionStrategy.eachDependency {
// Fix duplicate class kotlinx.android.parcel.* found in these 2 dependencies.
if (requested.module == libs.kotlin.androidExtensionRuntime.get().module) {
useTarget(libs.kotlin.parcelizeRuntime)
}
}
}
ext {
FRAMEWORK_PREBUILTS_DIR = "$rootDir/prebuilts/libs"
@@ -314,7 +304,7 @@ android {
// Lawnchair-TODO: Don't include Compose Disabled, but there's has to be another way of making this NOT long
java.srcDirs = ['src', 'src_plugins', 'compose/facade/core', 'compose/facade/enabled', 'compose/features']
kotlin.srcDirs = ['src', 'src_plugins', 'compose/facade/core', 'compose/facade/enabled', 'compose/features']
kotlin.directories.addAll('src', 'src_plugins', 'compose/facade/core', 'compose/facade/enabled', 'compose/features')
manifest.srcFile 'AndroidManifest-common.xml'
proto {
@@ -324,7 +314,7 @@ android {
lawn {
java.srcDirs = ['src_flags', 'src_shortcuts_overrides', 'lawnchair/src', 'tests/shared']
kotlin.srcDirs = ['src_flags', 'src_shortcuts_overrides', 'lawnchair/src', 'tests/shared']
kotlin.directories.addAll('src_flags', 'src_shortcuts_overrides', 'lawnchair/src', 'tests/shared')
aidl.srcDirs = ['lawnchair/aidl']
res.srcDirs = ['lawnchair/res', 'platform_frameworks_libs_systemui/animationlib/res']
manifest.srcFile "lawnchair/AndroidManifest.xml"
@@ -359,7 +349,7 @@ android {
withQuickstep {
res.srcDirs = ['quickstep/res', 'quickstep/recents_ui_overrides/res']
java.srcDirs = ['quickstep/src', 'quickstep/dagger', 'quickstep/recents_ui_overrides/src', 'quickstep/src_protolog']
kotlin.srcDirs = ['quickstep/src', 'quickstep/dagger', 'quickstep/recents_ui_overrides/src', 'quickstep/src_protolog']
kotlin.directories.addAll('quickstep/src', 'quickstep/dagger', 'quickstep/recents_ui_overrides/src', 'quickstep/src_protolog')
manifest.srcFile "quickstep/AndroidManifest.xml"
}
}
@@ -508,7 +498,7 @@ spotless {
}
kotlin {
target("lawnchair/src/**/*.kt")
ktlint("1.8.0").customRuleSets([
ktlint(libs.ktlint.get().version).customRuleSets([
libs.composeRules.get().toString()
]).editorConfigOverride([
"ktlint_compose_compositionlocal-allowlist": "disabled",

View File

@@ -8,7 +8,7 @@ android {
sourceSets {
main {
java.srcDirs = ['src']
kotlin.srcDirs = ['src']
kotlin.directories.add('src')
}
}
}

View File

@@ -7,7 +7,7 @@ android {
sourceSets {
main {
java.srcDirs = ['src']
kotlin.srcDirs = ['src']
kotlin.directories.add('src')
}
}
}

View File

@@ -1,13 +1,10 @@
# Improve build performance by enabling R8 parallelism.
android.r8.maxWorkers=4
kotlin.code.style=official
org.gradle.caching=true
org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g -Dfile.encoding=UTF-8 -XX:+UseParallelGC
org.gradle.jvmargs=-Xmx4g -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.configuration-cache=true
org.gradle.configuration-cache.parallel=true
# Lawnchair-TODO(Cleanup): Remove these flags once all configuration and plugins support DSL
# TODO: https://github.com/LawnchairLauncher/lawnchair/pull/6277
android.newDsl=false

View File

@@ -7,7 +7,7 @@ androidx-room = "2.8.4"
androidx-lifecycle = "2.10.0"
accompanist = "0.37.3"
opto = "1.0.18"
protobuf = "4.33.4"
protobuf = "4.33.5"
retrofit = "3.0.0"
dagger = "2.59"
libsu = "6.0.0"
@@ -16,7 +16,7 @@ refine = "4.4.0"
guava = "33.5.0-android"
junitVersion = "4.13.2"
mockito = "5.21.0"
mockitoKotlin = "5.4.0"
mockitoKotlin = "6.2.3"
truth = "1.4.5"
testRules = "1.7.0"
testRunner = "1.7.0"
@@ -38,7 +38,7 @@ diffplug-spotless = "com.diffplug.spotless:8.2.1"
[libraries]
# AndroidX
androidx-activity-compose = "androidx.activity:activity-compose:1.12.2"
androidx-activity-compose = "androidx.activity:activity-compose:1.12.3"
androidx-benchmark-macro-junit4 = "androidx.benchmark:benchmark-macro-junit4:1.4.1"
androidx-concurrent-futures = "androidx.concurrent:concurrent-futures:1.3.0"
androidx-constraintlayout = "androidx.constraintlayout:constraintlayout:2.2.1"
@@ -53,7 +53,7 @@ androidx-graphics-shapes = "androidx.graphics:graphics-shapes:1.1.0"
androidx-junit = "androidx.test.ext:junit:1.3.0"
androidx-lifecycle-common = { module = "androidx.lifecycle:lifecycle-common", version.ref = "androidx-lifecycle" }
androidx-lifecycle-viewmodel-compose = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-compose", version.ref = "androidx-lifecycle" }
androidx-navigation-compose = "androidx.navigation:navigation-compose:2.9.6"
androidx-navigation-compose = "androidx.navigation:navigation-compose:2.9.7"
androidx-palette-ktx = "androidx.palette:palette-ktx:1.0.0"
androidx-preference-ktx = "androidx.preference:preference-ktx:1.2.1"
androidx-profileinstaller = "androidx.profileinstaller:profileinstaller:1.4.1"
@@ -65,11 +65,11 @@ androidx-uiautomator = "androidx.test.uiautomator:uiautomator:2.3.0"
androidx-window = "androidx.window:window:1.5.1"
# Compose
compose-bom = "androidx.compose:compose-bom:2026.01.00"
compose-bom = "androidx.compose:compose-bom:2026.01.01"
compose-foundation = { module = "androidx.compose.foundation:foundation" }
compose-foundation-layout = { module = "androidx.compose.foundation:foundation-layout" }
compose-material-icons = "androidx.compose.material:material-icons-extended:1.7.8"
compose-material3 = "androidx.compose.material3:material3:1.5.0-alpha12"
compose-material3 = "androidx.compose.material3:material3:1.5.0-alpha13"
compose-material3-windowSizeClass = { module = "androidx.compose.material3:material3-window-size-class" }
compose-runtime-livedata = { module = "androidx.compose.runtime:runtime-livedata" }
compose-ui = { module = "androidx.compose.ui:ui" }
@@ -108,10 +108,6 @@ room-compiler = { group = "androidx.room", name = "room-compiler", version.ref =
room-ktx = { group = "androidx.room", name = "room-ktx", version.ref = "androidx-room" }
room-runtime = { group = "androidx.room", name = "room-runtime", version.ref = "androidx-room" }
# Kotlin
kotlin-androidExtensionRuntime = { module = "org.jetbrains.kotlin:kotlin-android-extensions-runtime", version.ref = "kotlin" }
kotlin-parcelizeRuntime = { module = "org.jetbrains.kotlin:kotlin-parcelize-runtime", version.ref = "kotlin" }
kotlin-stdlib-jdk7 = { module = "org.jetbrains.kotlin:kotlin-stdlib-jdk7", version.ref = "kotlin" }
# KotlinX
kotlinx-coroutines-android = "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.2"
kotlinx-coroutines-test = "org.jetbrains.kotlinx:kotlinx-coroutines-test:1.10.2"
@@ -143,6 +139,8 @@ rikka-refine-runtime = { group = "dev.rikka.tools.refine", name = "runtime", ver
smartspacer-sdk = "com.kieronquinn.smartspacer:sdk-client:1.1.2"
xdrop-fuzzywuzzy = "me.xdrop:fuzzywuzzy:1.4.0"
errorprone-annotations = "com.google.errorprone:error_prone_annotations:2.46.0"
# Dummy to get renovate updates, the version is used in rootProject build.gradle with spotless.
ktlint = "com.pinterest.ktlint:ktlint-cli:1.8.0"
composeRules = "io.nlopez.compose.rules:ktlint:0.5.3"
google-guava = { group = "com.google.guava", name = "guava", version.ref = "guava" }
@@ -152,7 +150,7 @@ junit = { group = "junit", name = "junit", version.ref = "junitVersion" }
mockito-kotlin = { group = "org.mockito.kotlin", name = "mockito-kotlin", version.ref = "mockitoKotlin" }
mockito-robolectric = { group = "org.mockito", name = "mockito-core", version.ref = "mockito" }
mockito-robolectric-bytebuddy = "net.bytebuddy:byte-buddy:1.18.4"
mockito-robolectric-bytebuddy-agent = "net.bytebuddy:byte-buddy-agent:1.15.11"
mockito-robolectric-bytebuddy-agent = "net.bytebuddy:byte-buddy-agent:1.18.4"
[bundles]
accompanist = ["accompanist-adaptive", "accompanist-drawablepainter", "accompanist-permissions"]

View File

@@ -32,28 +32,32 @@ android {
}
sourceSets {
named("main") {
java.srcDirs("src")
kotlin.srcDirs("src")
java.directories.add("src")
kotlin.directories.add("src")
manifest.srcFile("AndroidManifest.xml")
res.srcDirs("res")
res.directories.add("res")
}
named("androidTest") {
java.srcDirs(
"tests/multivalentScreenshotTests/src",
"tests/multivalentTestsForDevice/src",
java.directories.addAll(
listOf(
"tests/multivalentScreenshotTests/src",
"tests/multivalentTestsForDevice/src",
)
)
kotlin.srcDirs(
"tests/multivalentScreenshotTests/src",
"tests/multivalentTestsForDevice/src",
kotlin.directories.addAll(
listOf(
"tests/multivalentScreenshotTests/src",
"tests/multivalentTestsForDevice/src",
)
)
manifest.srcFile("tests/AndroidManifest.xml")
}
named("test") {
java.srcDirs("tests/multivalentTests/src")
kotlin.srcDirs("tests/multivalentTests/src")
resources.srcDirs("tests/config")
java.directories.add("tests/multivalentTests/src")
kotlin.directories.add("tests/multivalentTests/src")
resources.directories.add("tests/config")
manifest.srcFile("tests/AndroidManifest.xml")
res.srcDirs("tests/multivalentScreenshotTests/res")
res.directories.add("tests/multivalentScreenshotTests/res")
}
}

View File

@@ -12,7 +12,7 @@ android {
sourceSets {
main {
java.srcDirs = ['src']
kotlin.srcDirs = ['src']
kotlin.directories.add('src')
aidl.srcDirs = ['src']
manifest.srcFile 'AndroidManifest.xml'
res.srcDirs = ['res']

View File

@@ -9,7 +9,7 @@ android {
sourceSets {
main {
java.srcDirs = ['src']
kotlin.srcDirs = ['src']
kotlin.directories.add('src')
manifest.srcFile 'AndroidManifest.xml'
}
}

View File

@@ -11,7 +11,7 @@ android {
sourceSets {
main {
java.srcDirs = ['src']
kotlin.srcDirs = ['src']
kotlin.directories.add('src')
aidl.srcDirs = ['src']
manifest.srcFile 'AndroidManifest.xml'
}

View File

@@ -11,7 +11,7 @@ android {
sourceSets {
main {
java.srcDirs = ['src']
kotlin.srcDirs = ['src']
kotlin.directories.add('src')
aidl.srcDirs = ['src']
manifest.srcFile 'AndroidManifest.xml'
res.srcDirs = ['res']

View File

@@ -11,7 +11,7 @@ android {
sourceSets {
main {
java.srcDirs = ['src']
kotlin.srcDirs = ['src']
kotlin.directories.add('src')
aidl.srcDirs = ['src']
manifest.srcFile 'AndroidManifest.xml'
}

View File

@@ -12,7 +12,7 @@ android {
sourceSets {
main {
java.srcDirs = ['src']
kotlin.srcDirs = ['src']
kotlin.directories.add('src')
aidl.srcDirs = ['src']
manifest.srcFile 'AndroidManifest.xml'
res.srcDirs = ['res']

View File

@@ -12,7 +12,7 @@ android {
sourceSets {
main {
java.srcDirs = ['src']
kotlin.srcDirs = ['src']
kotlin.directories.add('src')
aidl.srcDirs = ['src']
}
}

View File

@@ -8,7 +8,7 @@ android {
sourceSets {
main {
java.srcDirs = ['src']
kotlin.srcDirs = ['src']
kotlin.directories.add('src')
}
}
}

View File

@@ -13,13 +13,13 @@ android {
sourceSets {
main {
java.srcDirs = ['src']
kotlin.srcDirs = ['src']
kotlin.directories.add('src')
manifest.srcFile 'AndroidManifest.xml'
proto.srcDirs = ['src']
}
androidTest {
java.srcDirs = ["tests"]
kotlin.srcDirs = ['tests']
kotlin.directories.add('tests')
manifest.srcFile "tests/AndroidManifest.xml"
}
}

View File

@@ -12,7 +12,7 @@ android {
sourceSets {
main {
java.srcDirs = ['shared/src']
kotlin.srcDirs = ['shared/src']
kotlin.directories.add('shared/src')
aidl.srcDirs = ['shared/src']
manifest.srcFile 'AndroidManifest.xml'
res.srcDirs = ['shared', 'shared/res']