2023-12-17 18:56:04 +08:00
|
|
|
import app.cash.licensee.LicenseeTask
|
2023-08-30 15:05:53 +08:00
|
|
|
import com.android.build.gradle.api.AndroidBasePlugin
|
2022-09-05 09:23:10 +08:00
|
|
|
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
|
|
|
|
|
|
|
|
|
plugins {
|
2024-08-30 09:45:12 +08:00
|
|
|
id 'com.android.application' version "8.6.0"
|
|
|
|
|
id 'com.android.library' version "8.6.0" apply false
|
|
|
|
|
id 'com.android.test' version '8.6.0' apply false
|
2024-08-22 08:05:53 +08:00
|
|
|
id 'androidx.baselineprofile' version '1.3.0'
|
2024-08-22 19:43:48 +08:00
|
|
|
id 'org.jetbrains.kotlin.android' version "2.0.20"
|
2024-08-22 19:31:45 +08:00
|
|
|
id 'org.jetbrains.kotlin.plugin.compose' version "2.0.20"
|
|
|
|
|
id 'org.jetbrains.kotlin.plugin.parcelize' version "2.0.20"
|
|
|
|
|
id 'org.jetbrains.kotlin.plugin.serialization' version "2.0.20"
|
2024-09-06 08:22:07 +08:00
|
|
|
id "com.google.devtools.ksp" version "2.0.20-1.0.25"
|
2023-07-15 11:57:16 +08:00
|
|
|
id 'com.google.protobuf' version "0.9.4"
|
2024-03-30 12:42:17 +08:00
|
|
|
id 'app.cash.licensee' version "1.11.0"
|
2023-10-27 07:33:48 +00:00
|
|
|
id 'dev.rikka.tools.refine' version "4.4.0"
|
2024-02-10 09:40:37 +08:00
|
|
|
id 'org.gradle.android.cache-fix' version '3.0.1'
|
2024-01-23 10:02:58 +00:00
|
|
|
id 'com.diffplug.spotless' version '6.25.0'
|
2015-08-29 23:16:27 -07:00
|
|
|
}
|
|
|
|
|
|
2021-02-28 02:55:46 +05:30
|
|
|
allprojects {
|
2023-08-30 15:05:53 +08:00
|
|
|
plugins.withType(AndroidBasePlugin).configureEach {
|
|
|
|
|
apply plugin: 'org.gradle.android.cache-fix'
|
|
|
|
|
|
2023-11-21 14:13:18 +08:00
|
|
|
android {
|
2024-06-20 10:07:31 +08:00
|
|
|
compileSdk 35
|
2022-09-18 02:48:38 +08:00
|
|
|
defaultConfig {
|
2023-12-17 20:44:39 +08:00
|
|
|
minSdk 26
|
2023-12-13 17:08:28 +08:00
|
|
|
targetSdk 34
|
2022-09-18 02:48:38 +08:00
|
|
|
vectorDrawables.useSupportLibrary = true
|
|
|
|
|
}
|
|
|
|
|
lint {
|
|
|
|
|
abortOnError true
|
|
|
|
|
checkReleaseBuilds false
|
|
|
|
|
}
|
|
|
|
|
}
|
2023-11-21 14:13:18 +08:00
|
|
|
dependencies {
|
2024-05-02 14:38:15 +08:00
|
|
|
implementation 'androidx.core:core-ktx:1.13.1'
|
2022-09-05 09:23:10 +08:00
|
|
|
}
|
2021-02-28 02:55:46 +05:30
|
|
|
}
|
|
|
|
|
|
2023-11-21 14:13:18 +08:00
|
|
|
plugins.withId('com.google.protobuf') {
|
2024-09-12 09:13:06 +08:00
|
|
|
def protocVersion = '4.28.1'
|
2023-11-21 14:13:18 +08:00
|
|
|
protobuf {
|
|
|
|
|
// Configure the protoc executable
|
|
|
|
|
protoc {
|
|
|
|
|
artifact = "com.google.protobuf:protoc:${protocVersion}"
|
|
|
|
|
}
|
|
|
|
|
generateProtoTasks {
|
|
|
|
|
all().configureEach { task ->
|
|
|
|
|
task.builtins {
|
|
|
|
|
remove java
|
|
|
|
|
java {
|
|
|
|
|
option "lite"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
dependencies {
|
|
|
|
|
implementation "com.google.protobuf:protobuf-javalite:$protocVersion"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2023-09-10 19:29:29 +08:00
|
|
|
plugins.withType(JavaBasePlugin).configureEach {
|
|
|
|
|
java {
|
2024-06-22 18:30:45 +08:00
|
|
|
toolchain.languageVersion = JavaLanguageVersion.of(17)
|
2023-09-10 19:29:29 +08:00
|
|
|
}
|
2023-02-03 23:07:11 +08:00
|
|
|
}
|
|
|
|
|
|
2023-11-14 10:58:50 +08:00
|
|
|
tasks.withType(KotlinCompile).configureEach {
|
2023-11-21 14:13:18 +08:00
|
|
|
compilerOptions.freeCompilerArgs.add(
|
|
|
|
|
"-Xjvm-default=all",
|
|
|
|
|
)
|
2023-11-14 10:58:50 +08:00
|
|
|
}
|
|
|
|
|
|
2023-11-24 20:31:53 +08:00
|
|
|
ext {
|
|
|
|
|
FRAMEWORK_PREBUILTS_DIR = "$rootDir/prebuilts/libs"
|
2024-08-06 12:10:53 +08:00
|
|
|
daggerVersion = '2.52'
|
2023-11-24 20:31:53 +08:00
|
|
|
|
|
|
|
|
addFrameworkJar = { String name ->
|
|
|
|
|
def frameworkJar = new File(FRAMEWORK_PREBUILTS_DIR, name)
|
|
|
|
|
if (!frameworkJar.exists()) {
|
|
|
|
|
throw new IllegalArgumentException("Framework jar path ${frameworkJar.path} doesn't exist")
|
2021-02-28 02:55:46 +05:30
|
|
|
}
|
2023-11-24 20:31:53 +08:00
|
|
|
gradle.projectsEvaluated {
|
|
|
|
|
tasks.withType(JavaCompile).configureEach {
|
|
|
|
|
classpath = files(frameworkJar, classpath)
|
|
|
|
|
}
|
|
|
|
|
tasks.withType(KotlinCompile).configureEach {
|
|
|
|
|
libraries.from(files(frameworkJar))
|
|
|
|
|
}
|
2022-01-12 22:12:55 +07:00
|
|
|
}
|
2024-01-26 05:59:47 +08:00
|
|
|
dependencies {
|
|
|
|
|
compileOnly files(frameworkJar)
|
|
|
|
|
}
|
2021-02-28 02:55:46 +05:30
|
|
|
}
|
2023-11-21 14:13:18 +08:00
|
|
|
|
2023-11-24 20:31:53 +08:00
|
|
|
compileOnlyCommonJars = {
|
|
|
|
|
dependencies {
|
|
|
|
|
compileOnly fileTree(dir: FRAMEWORK_PREBUILTS_DIR, include: 'SystemUI-core.jar')
|
|
|
|
|
compileOnly fileTree(dir: FRAMEWORK_PREBUILTS_DIR, include: 'SystemUI-statsd.jar')
|
2023-12-13 17:08:28 +08:00
|
|
|
compileOnly fileTree(dir: FRAMEWORK_PREBUILTS_DIR, include: 'WindowManager-Shell-14.jar')
|
2024-01-26 05:59:47 +08:00
|
|
|
|
|
|
|
|
compileOnly projects.compatLib
|
|
|
|
|
compileOnly projects.compatLib.compatLibVQ
|
|
|
|
|
compileOnly projects.compatLib.compatLibVR
|
|
|
|
|
compileOnly projects.compatLib.compatLibVS
|
|
|
|
|
compileOnly projects.compatLib.compatLibVT
|
|
|
|
|
compileOnly projects.compatLib.compatLibVU
|
2023-11-24 20:31:53 +08:00
|
|
|
}
|
2023-11-21 14:13:18 +08:00
|
|
|
}
|
|
|
|
|
}
|
2021-02-28 02:55:46 +05:30
|
|
|
}
|
2019-03-15 13:39:00 -07:00
|
|
|
|
2022-11-27 20:20:46 +08:00
|
|
|
final def buildCommit = providers.exec {
|
|
|
|
|
commandLine('git', 'rev-parse', '--short=7', 'HEAD')
|
|
|
|
|
}.standardOutput.asText.get().trim()
|
2021-03-17 09:30:20 +01:00
|
|
|
|
2022-11-28 00:52:22 +08:00
|
|
|
final def ciBuild = System.getenv("CI") == "true"
|
|
|
|
|
final def ciRef = System.getenv("GITHUB_REF") ?: ""
|
|
|
|
|
final def ciRunNumber = System.getenv("GITHUB_RUN_NUMBER") ?: ""
|
2024-04-03 19:27:30 +08:00
|
|
|
final def isReleaseBuild = ciBuild && ciRef.contains("beta")
|
2024-06-22 18:30:45 +08:00
|
|
|
final def devReleaseName = ciBuild ? "Dev.(#${ciRunNumber})" : "Dev.(${buildCommit})"
|
2023-12-13 17:08:28 +08:00
|
|
|
final def version = "14"
|
2024-08-20 21:57:24 +08:00
|
|
|
final def releaseName = "Beta 3"
|
2024-06-22 18:30:45 +08:00
|
|
|
final def versionDisplayName = "${version}.${isReleaseBuild ? releaseName : devReleaseName}"
|
2022-11-28 00:52:22 +08:00
|
|
|
final def majorVersion = versionDisplayName.split("\\.")[0]
|
2021-10-20 19:59:31 +07:00
|
|
|
|
2024-01-26 05:59:47 +08:00
|
|
|
final def quickstepMinSdk = "29"
|
2023-12-13 17:08:28 +08:00
|
|
|
final def quickstepMaxSdk = "34"
|
2022-05-08 23:20:37 +07:00
|
|
|
|
2015-08-29 23:16:27 -07:00
|
|
|
android {
|
2023-01-12 21:15:13 +08:00
|
|
|
namespace "com.android.launcher3"
|
2015-08-29 23:16:27 -07:00
|
|
|
defaultConfig {
|
2024-08-20 21:57:24 +08:00
|
|
|
// Lawnchair Launcher 14.0 Beta 3
|
2024-05-25 07:37:55 +03:00
|
|
|
// See CONTRIBUTING.md#versioning-scheme
|
2024-08-20 21:57:24 +08:00
|
|
|
versionCode 14_00_02_03
|
2021-10-20 19:59:31 +07:00
|
|
|
versionName "${versionDisplayName}"
|
2021-08-26 23:00:13 +07:00
|
|
|
buildConfigField "String", "VERSION_DISPLAY_NAME", "\"${versionDisplayName}\""
|
|
|
|
|
buildConfigField "String", "MAJOR_VERSION", "\"${majorVersion}\""
|
2021-10-26 15:34:48 +07:00
|
|
|
buildConfigField "String", "COMMIT_HASH", "\"${buildCommit}\""
|
2021-10-28 15:45:33 +07:00
|
|
|
buildConfigField "boolean", "ENABLE_AUTO_INSTALLS_LAYOUT", "false"
|
2015-10-16 17:18:54 -07:00
|
|
|
|
2022-05-08 23:20:37 +07:00
|
|
|
manifestPlaceholders.quickstepMinSdk = quickstepMinSdk
|
|
|
|
|
manifestPlaceholders.quickstepMaxSdk = quickstepMaxSdk
|
|
|
|
|
buildConfigField "int", "QUICKSTEP_MIN_SDK", quickstepMinSdk
|
|
|
|
|
buildConfigField "int", "QUICKSTEP_MAX_SDK", quickstepMaxSdk
|
2015-08-29 23:16:27 -07:00
|
|
|
}
|
2023-05-31 19:54:17 +08:00
|
|
|
|
2023-12-17 18:56:04 +08:00
|
|
|
applicationVariants.configureEach { variant ->
|
2023-01-19 13:34:09 +08:00
|
|
|
variant.outputs.configureEach {
|
2023-12-18 11:33:58 +08:00
|
|
|
def channel = variant.productFlavors.last().name
|
2024-06-22 18:30:45 +08:00
|
|
|
outputFileName = "Lawnchair.${variant.versionName}.$channel.${variant.buildType.name}.apk"
|
2021-03-17 10:29:38 +01:00
|
|
|
}
|
2022-08-10 17:37:14 +08:00
|
|
|
}
|
|
|
|
|
|
2024-04-21 12:24:27 +07:00
|
|
|
androidResources {
|
|
|
|
|
generateLocaleConfig true
|
|
|
|
|
}
|
|
|
|
|
|
2021-03-03 14:25:21 +01:00
|
|
|
buildFeatures {
|
2023-01-12 18:53:55 +08:00
|
|
|
aidl true
|
|
|
|
|
buildConfig true
|
|
|
|
|
resValues true
|
2021-03-03 14:25:21 +01:00
|
|
|
}
|
|
|
|
|
|
2022-08-10 17:37:14 +08:00
|
|
|
final def keystorePropertiesFile = rootProject.file("keystore.properties")
|
|
|
|
|
def releaseSigning = signingConfigs.debug
|
2021-03-27 13:46:33 +05:30
|
|
|
if (keystorePropertiesFile.exists()) {
|
|
|
|
|
final def keystoreProperties = new Properties()
|
|
|
|
|
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
|
2022-08-10 17:37:14 +08:00
|
|
|
releaseSigning = signingConfigs.create("release") {
|
|
|
|
|
keyAlias keystoreProperties['keyAlias']
|
|
|
|
|
keyPassword keystoreProperties['keyPassword']
|
|
|
|
|
storeFile rootProject.file(keystoreProperties['storeFile'])
|
|
|
|
|
storePassword keystoreProperties['storePassword']
|
2021-03-27 13:46:33 +05:30
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2022-09-09 02:46:07 +08:00
|
|
|
packagingOptions.resources.excludes += [
|
|
|
|
|
"**/*.proto",
|
|
|
|
|
"**/*.bin",
|
|
|
|
|
"**/*.java",
|
|
|
|
|
"**/*.properties",
|
|
|
|
|
"**/*.version",
|
|
|
|
|
"**/*.*_module",
|
|
|
|
|
"com/**",
|
|
|
|
|
"google/**",
|
|
|
|
|
"kotlin/**",
|
|
|
|
|
"kotlinx/**",
|
|
|
|
|
"okhttp3/**",
|
|
|
|
|
"META-INF/services/**",
|
|
|
|
|
"META-INF/com/**",
|
|
|
|
|
"META-INF/licenses/**",
|
|
|
|
|
"META-INF/AL2.0",
|
|
|
|
|
"META-INF/LGPL2.1",
|
|
|
|
|
]
|
|
|
|
|
|
2023-12-23 14:24:45 +08:00
|
|
|
// Load all proguard configs from AOSP
|
|
|
|
|
def proguardFilesFromAosp = allprojects
|
|
|
|
|
.collect { it.file("proguard.flags") }
|
|
|
|
|
.findAll { it.exists() }
|
|
|
|
|
.toArray()
|
|
|
|
|
|
2015-08-29 23:16:27 -07:00
|
|
|
buildTypes {
|
2024-04-21 12:24:27 +07:00
|
|
|
all {
|
|
|
|
|
signingConfig releaseSigning
|
|
|
|
|
pseudoLocalesEnabled true
|
|
|
|
|
}
|
|
|
|
|
|
2015-08-29 23:16:27 -07:00
|
|
|
debug {
|
2023-01-18 14:21:05 +08:00
|
|
|
applicationIdSuffix ".debug"
|
|
|
|
|
resValue("string", "derived_app_name", "Lawnchair (Debug)")
|
2015-08-29 23:16:27 -07:00
|
|
|
}
|
2021-03-27 07:39:44 +01:00
|
|
|
|
|
|
|
|
release {
|
2023-01-18 14:21:05 +08:00
|
|
|
resValue("string", "derived_app_name", "Lawnchair")
|
2021-03-27 13:41:28 +05:30
|
|
|
minifyEnabled true
|
2021-03-27 08:50:20 +01:00
|
|
|
shrinkResources true
|
2023-12-23 14:24:45 +08:00
|
|
|
proguardFiles proguardFilesFromAosp + "proguard.pro"
|
2021-03-27 07:39:44 +01:00
|
|
|
}
|
2015-08-29 23:16:27 -07:00
|
|
|
}
|
2016-08-25 22:21:40 -07:00
|
|
|
|
2023-11-29 00:04:14 +08:00
|
|
|
compileOptions {
|
|
|
|
|
coreLibraryDesugaringEnabled true
|
|
|
|
|
}
|
|
|
|
|
|
2022-08-10 17:37:14 +08:00
|
|
|
dependenciesInfo {
|
|
|
|
|
includeInApk = false
|
|
|
|
|
includeInBundle = false
|
|
|
|
|
}
|
|
|
|
|
|
2019-01-04 16:30:24 -08:00
|
|
|
// See: https://developer.android.com/studio/build/build-variants#flavor-dimensions
|
2023-12-18 11:33:58 +08:00
|
|
|
flavorDimensions += ["app", "recents", "channel"]
|
2018-04-23 14:03:04 -07:00
|
|
|
|
2016-08-25 22:21:40 -07:00
|
|
|
productFlavors {
|
2021-02-28 23:01:05 +05:30
|
|
|
lawn {
|
2019-01-04 16:30:24 -08:00
|
|
|
dimension "app"
|
2017-07-03 13:50:52 -07:00
|
|
|
}
|
2017-10-30 10:03:34 -07:00
|
|
|
|
2019-01-04 16:30:24 -08:00
|
|
|
withQuickstep {
|
|
|
|
|
dimension "recents"
|
2022-08-10 17:37:14 +08:00
|
|
|
minSdk 26
|
2017-10-30 10:03:34 -07:00
|
|
|
}
|
2019-01-04 16:30:24 -08:00
|
|
|
|
2023-12-18 11:33:58 +08:00
|
|
|
github {
|
|
|
|
|
applicationId 'app.lawnchair'
|
|
|
|
|
dimension "channel"
|
|
|
|
|
}
|
|
|
|
|
|
2024-08-26 07:02:16 +02:00
|
|
|
play {
|
|
|
|
|
applicationId "app.lawnchair.play"
|
2023-12-18 11:33:58 +08:00
|
|
|
dimension "channel"
|
|
|
|
|
isDefault true
|
2019-01-04 16:30:24 -08:00
|
|
|
}
|
2022-11-21 15:29:50 +08:00
|
|
|
|
2023-01-19 13:34:09 +08:00
|
|
|
configureEach {
|
2022-11-21 15:29:50 +08:00
|
|
|
resValue("string", "launcher_component", "${applicationId}/app.lawnchair.LawnchairLauncher")
|
|
|
|
|
}
|
2016-08-25 22:21:40 -07:00
|
|
|
}
|
2017-10-30 10:03:34 -07:00
|
|
|
|
2015-08-29 23:16:27 -07:00
|
|
|
sourceSets {
|
|
|
|
|
main {
|
2016-02-18 15:09:21 -08:00
|
|
|
res.srcDirs = ['res']
|
2019-01-04 15:55:42 -08:00
|
|
|
java.srcDirs = ['src', 'src_plugins']
|
2016-08-25 22:21:40 -07:00
|
|
|
manifest.srcFile 'AndroidManifest-common.xml'
|
2017-07-19 01:24:07 -07:00
|
|
|
proto {
|
2021-10-08 12:14:19 +07:00
|
|
|
srcDirs = ['protos/', 'quickstep/protos_overrides/']
|
2017-07-19 01:24:07 -07:00
|
|
|
}
|
2015-08-29 23:16:27 -07:00
|
|
|
}
|
2015-10-16 17:18:54 -07:00
|
|
|
|
2021-02-28 23:01:05 +05:30
|
|
|
lawn {
|
2023-12-13 17:08:28 +08:00
|
|
|
java.srcDirs = ['src_flags', 'src_shortcuts_overrides', 'lawnchair/src', 'tests/shared']
|
2021-03-19 03:38:39 +05:30
|
|
|
aidl.srcDirs = ['lawnchair/aidl']
|
2023-12-13 17:08:28 +08:00
|
|
|
res.srcDirs = ['lawnchair/res', 'platform_frameworks_libs_systemui/animationlib/res']
|
2021-02-28 23:01:05 +05:30
|
|
|
manifest.srcFile "lawnchair/AndroidManifest.xml"
|
2021-09-09 21:35:09 +07:00
|
|
|
assets {
|
|
|
|
|
srcDirs 'lawnchair/assets'
|
|
|
|
|
}
|
2022-05-18 18:31:18 +07:00
|
|
|
proto {
|
|
|
|
|
srcDirs = ['lawnchair/protos/']
|
|
|
|
|
}
|
2021-02-28 23:01:05 +05:30
|
|
|
}
|
|
|
|
|
|
2023-12-18 11:33:58 +08:00
|
|
|
lawnWithQuickstepGithub {
|
2021-02-28 23:01:05 +05:30
|
|
|
manifest.srcFile "quickstep/AndroidManifest-launcher.xml"
|
|
|
|
|
}
|
|
|
|
|
|
2024-08-26 07:02:16 +02:00
|
|
|
lawnWithQuickstepPlay {
|
2023-12-18 11:33:58 +08:00
|
|
|
manifest.srcFile "quickstep/AndroidManifest-launcher.xml"
|
2019-01-04 16:30:24 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
withQuickstep {
|
2019-01-04 17:54:51 -08:00
|
|
|
res.srcDirs = ['quickstep/res', 'quickstep/recents_ui_overrides/res']
|
|
|
|
|
java.srcDirs = ['quickstep/src', 'quickstep/recents_ui_overrides/src']
|
|
|
|
|
manifest.srcFile "quickstep/AndroidManifest.xml"
|
|
|
|
|
}
|
2015-08-29 23:16:27 -07:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2024-03-30 13:18:19 +08:00
|
|
|
androidComponents {
|
|
|
|
|
onVariants(selector().all()) { variant ->
|
|
|
|
|
def capName = variant.name.capitalize()
|
|
|
|
|
def licenseeTask = tasks.named("licenseeAndroid$capName", LicenseeTask)
|
|
|
|
|
def copyArtifactsTask = tasks.register("copy${capName}Artifacts", Copy) {
|
|
|
|
|
dependsOn(licenseeTask)
|
|
|
|
|
from(licenseeTask.map { it.jsonOutput })
|
|
|
|
|
// Copy artifacts.json to a new directory.
|
|
|
|
|
into(layout.buildDirectory.dir("generated/dependencyAssets/${variant.name}"))
|
|
|
|
|
}
|
|
|
|
|
variant.sources.assets?.addGeneratedSourceDirectory(licenseeTask) {
|
|
|
|
|
// Avoid using LicenseeTask::outputDir as it contains extra files that we don't need.
|
|
|
|
|
objects.directoryProperty().fileProvider(copyArtifactsTask.map { it.destinationDir })
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2024-09-12 03:07:33 -04:00
|
|
|
composeCompiler {
|
|
|
|
|
stabilityConfigurationFile = layout.projectDirectory.file("compose_compiler_config.conf")
|
|
|
|
|
reportsDestination = layout.buildDirectory.dir("compose_build_reports")
|
|
|
|
|
}
|
|
|
|
|
|
2023-12-13 17:08:28 +08:00
|
|
|
addFrameworkJar('framework-14.jar')
|
2023-11-18 10:10:55 +08:00
|
|
|
|
2015-08-29 23:16:27 -07:00
|
|
|
dependencies {
|
2022-09-05 09:23:10 +08:00
|
|
|
implementation projects.iconloaderlib
|
|
|
|
|
implementation projects.searchuilib
|
2023-12-13 17:08:28 +08:00
|
|
|
implementation projects.animationlib
|
2018-11-01 23:12:54 -07:00
|
|
|
|
2019-01-04 16:30:24 -08:00
|
|
|
// Recents lib dependency
|
2022-09-05 09:23:10 +08:00
|
|
|
withQuickstepCompileOnly projects.hiddenApi
|
2023-09-21 21:54:56 +08:00
|
|
|
withQuickstepImplementation projects.systemUIShared
|
|
|
|
|
withQuickstepImplementation projects.systemUIAnim
|
2023-11-02 08:08:42 +08:00
|
|
|
withQuickstepImplementation projects.systemUnFold
|
2023-09-21 21:54:56 +08:00
|
|
|
withQuickstepImplementation projects.systemUIViewCapture
|
2023-12-13 17:08:28 +08:00
|
|
|
withQuickstepImplementation projects.systemUILog
|
2023-12-29 08:40:28 +08:00
|
|
|
withQuickstepCompileOnly projects.systemUIPlugin
|
2023-12-13 17:08:28 +08:00
|
|
|
withQuickstepImplementation projects.systemUIPluginCore
|
2023-12-29 08:40:28 +08:00
|
|
|
withQuickstepCompileOnly projects.systemUICommon
|
2023-12-13 17:08:28 +08:00
|
|
|
|
2024-01-26 05:59:47 +08:00
|
|
|
// QuickSwitch Compat
|
|
|
|
|
withQuickstepImplementation projects.compatLib
|
|
|
|
|
withQuickstepImplementation projects.compatLib.compatLibVQ
|
|
|
|
|
withQuickstepImplementation projects.compatLib.compatLibVR
|
|
|
|
|
withQuickstepImplementation projects.compatLib.compatLibVS
|
|
|
|
|
withQuickstepImplementation projects.compatLib.compatLibVT
|
|
|
|
|
withQuickstepImplementation projects.compatLib.compatLibVU
|
|
|
|
|
|
2023-12-13 17:08:28 +08:00
|
|
|
implementation fileTree(dir: FRAMEWORK_PREBUILTS_DIR, include: 'SystemUI-statsd-14.jar')
|
|
|
|
|
|
|
|
|
|
implementation fileTree(dir: FRAMEWORK_PREBUILTS_DIR, include: 'WindowManager-Shell-14.jar')
|
|
|
|
|
withQuickstepCompileOnly fileTree(dir: FRAMEWORK_PREBUILTS_DIR, include: 'framework-14.jar')
|
2018-04-23 14:03:04 -07:00
|
|
|
|
2024-09-04 22:09:05 +08:00
|
|
|
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.1.2'
|
2023-11-29 00:04:14 +08:00
|
|
|
|
2023-12-06 10:45:39 +08:00
|
|
|
implementation 'androidx.profileinstaller:profileinstaller:1.3.1'
|
|
|
|
|
baselineProfile projects.baselineProfile
|
|
|
|
|
|
2023-01-19 13:34:09 +08:00
|
|
|
implementation "androidx.dynamicanimation:dynamicanimation:1.0.0"
|
2023-10-18 18:09:59 +00:00
|
|
|
implementation "androidx.recyclerview:recyclerview:1.3.2"
|
2023-08-10 09:29:24 +08:00
|
|
|
implementation "androidx.preference:preference-ktx:1.2.1"
|
2023-01-19 13:34:09 +08:00
|
|
|
|
2024-09-14 09:26:29 +08:00
|
|
|
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.9.0'
|
2024-08-29 09:18:09 +08:00
|
|
|
implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.2'
|
2021-02-28 02:55:46 +05:30
|
|
|
implementation 'com.github.ChickenHook:RestrictionBypass:2.2'
|
2023-10-27 07:33:48 +00:00
|
|
|
implementation 'dev.rikka.tools.refine:runtime:4.4.0'
|
2021-03-03 14:25:21 +01:00
|
|
|
|
2024-09-11 09:04:43 +08:00
|
|
|
implementation platform("androidx.compose:compose-bom:2024.09.01")
|
2022-12-09 22:22:14 +08:00
|
|
|
implementation "androidx.compose.ui:ui"
|
2023-08-15 09:25:53 +08:00
|
|
|
implementation "androidx.compose.ui:ui-util"
|
2023-01-12 01:59:54 +08:00
|
|
|
debugImplementation "androidx.compose.ui:ui-tooling"
|
2024-03-10 23:36:16 +08:00
|
|
|
implementation "androidx.compose.ui:ui-tooling-preview"
|
2022-12-09 22:22:14 +08:00
|
|
|
implementation "androidx.compose.ui:ui-text-google-fonts"
|
|
|
|
|
implementation "androidx.compose.foundation:foundation"
|
|
|
|
|
implementation "androidx.compose.material:material-icons-extended"
|
|
|
|
|
implementation "androidx.compose.material:material"
|
|
|
|
|
implementation "androidx.compose.runtime:runtime-livedata"
|
2024-09-05 09:25:59 +08:00
|
|
|
implementation 'androidx.compose.material3:material3'
|
|
|
|
|
implementation 'androidx.compose.material3:material3-window-size-class'
|
2024-09-05 09:09:49 +08:00
|
|
|
implementation "androidx.activity:activity-compose:1.9.2"
|
2024-09-05 09:11:57 +08:00
|
|
|
implementation "androidx.lifecycle:lifecycle-viewmodel-compose:2.8.5"
|
2024-09-05 09:22:56 +08:00
|
|
|
implementation "androidx.navigation:navigation-compose:2.8.0"
|
2024-09-05 09:25:59 +08:00
|
|
|
implementation "androidx.constraintlayout:constraintlayout:2.1.4"
|
2022-08-15 18:36:32 +08:00
|
|
|
implementation "androidx.palette:palette-ktx:1.0.0"
|
2021-10-07 09:42:24 +07:00
|
|
|
implementation "androidx.slice:slice-core:1.1.0-alpha02"
|
2024-09-05 14:19:47 +08:00
|
|
|
def accompanistVersion = '0.36.0'
|
2024-03-29 18:51:33 +08:00
|
|
|
implementation "com.google.accompanist:accompanist-adaptive:$accompanistVersion"
|
2023-11-24 20:31:53 +08:00
|
|
|
implementation "com.google.accompanist:accompanist-drawablepainter:$accompanistVersion"
|
|
|
|
|
implementation "com.google.accompanist:accompanist-permissions:$accompanistVersion"
|
2024-05-03 08:00:02 +08:00
|
|
|
implementation "com.google.android.material:material:1.12.0"
|
2024-06-02 15:22:51 +08:00
|
|
|
implementation "io.github.fornewid:material-motion-compose-core:1.2.1"
|
2022-05-16 15:40:23 +07:00
|
|
|
implementation 'dev.kdrag0n:colorkt:1.0.5'
|
2024-07-18 10:23:46 +08:00
|
|
|
implementation 'io.coil-kt:coil-compose:2.7.0'
|
2022-05-16 15:40:23 +07:00
|
|
|
implementation 'me.xdrop:fuzzywuzzy:1.4.0'
|
2023-11-24 20:31:53 +08:00
|
|
|
def optoVersion = "1.0.18"
|
2022-08-31 12:06:18 +08:00
|
|
|
implementation "com.patrykmichalik.opto:domain:$optoVersion"
|
|
|
|
|
implementation "com.patrykmichalik.opto:core:$optoVersion"
|
|
|
|
|
implementation "com.patrykmichalik.opto:compose:$optoVersion"
|
2024-05-02 14:38:08 +08:00
|
|
|
implementation "androidx.datastore:datastore-preferences:1.1.1"
|
2024-03-29 09:15:53 +08:00
|
|
|
def retrofitVersion = "2.11.0"
|
2024-03-19 10:31:11 +08:00
|
|
|
implementation "com.squareup.retrofit2:retrofit:$retrofitVersion"
|
|
|
|
|
implementation "com.squareup.retrofit2:converter-kotlinx-serialization:$retrofitVersion"
|
2021-06-15 20:26:41 +07:00
|
|
|
|
2023-11-29 18:38:03 +00:00
|
|
|
def roomVersion = '2.6.1'
|
2023-11-24 20:31:53 +08:00
|
|
|
implementation "androidx.room:room-runtime:$roomVersion"
|
|
|
|
|
implementation "androidx.room:room-ktx:$roomVersion"
|
|
|
|
|
ksp "androidx.room:room-compiler:$roomVersion"
|
2022-01-12 22:12:55 +07:00
|
|
|
|
2024-06-28 09:13:18 +00:00
|
|
|
implementation "com.github.topjohnwu.libsu:service:6.0.0"
|
2021-10-07 09:42:24 +07:00
|
|
|
|
2022-05-23 10:57:50 +04:30
|
|
|
// Persian Date
|
2023-09-09 11:38:35 +08:00
|
|
|
implementation 'com.github.samanzamani:PersianDate:1.7.1'
|
2022-05-23 10:57:50 +04:30
|
|
|
|
2024-09-04 09:36:37 +08:00
|
|
|
implementation 'com.airbnb.android:lottie:6.5.2'
|
2023-11-13 09:17:21 +00:00
|
|
|
|
2024-08-08 19:49:00 +08:00
|
|
|
// Compose drag and drop library
|
2024-09-13 08:05:43 +08:00
|
|
|
implementation 'sh.calvin.reorderable:reorderable:2.3.3'
|
2024-08-08 19:49:00 +08:00
|
|
|
|
2023-11-13 09:17:21 +00:00
|
|
|
// Smartspacer
|
2024-07-04 14:20:53 +08:00
|
|
|
implementation('com.kieronquinn.smartspacer:sdk-client:1.0.11') {
|
2023-11-16 09:35:19 +07:00
|
|
|
exclude group: "com.github.skydoves", module: "balloon"
|
|
|
|
|
}
|
2024-07-28 18:46:37 +08:00
|
|
|
|
|
|
|
|
implementation("com.github.android:renderscript-intrinsics-replacement-toolkit:b6363490c3")
|
2015-08-29 23:16:27 -07:00
|
|
|
}
|
|
|
|
|
|
2022-12-29 10:40:49 +08:00
|
|
|
ksp {
|
|
|
|
|
arg("room.schemaLocation", "$projectDir/schemas")
|
2023-10-19 02:43:38 +00:00
|
|
|
arg("room.generateKotlin", "true")
|
2022-12-29 10:40:49 +08:00
|
|
|
arg("room.incremental", "true")
|
|
|
|
|
}
|
|
|
|
|
|
2023-11-21 14:13:18 +08:00
|
|
|
spotless {
|
2024-01-26 05:59:47 +08:00
|
|
|
java {
|
|
|
|
|
target("compatLib/**/src/**/*.java")
|
|
|
|
|
googleJavaFormat().aosp()
|
2024-03-10 11:24:14 +08:00
|
|
|
removeUnusedImports()
|
2024-01-26 05:59:47 +08:00
|
|
|
}
|
2023-11-21 14:13:18 +08:00
|
|
|
kotlin {
|
2023-12-09 15:45:04 +08:00
|
|
|
target("lawnchair/src/**/*.kt")
|
|
|
|
|
ktlint().customRuleSets([
|
2024-09-10 19:46:09 +08:00
|
|
|
"io.nlopez.compose.rules:ktlint:0.4.12",
|
2023-12-09 15:45:04 +08:00
|
|
|
]).editorConfigOverride([
|
|
|
|
|
"ktlint_compose_compositionlocal-allowlist": "disabled",
|
|
|
|
|
])
|
2015-08-29 23:16:27 -07:00
|
|
|
}
|
|
|
|
|
}
|
2023-05-31 19:54:17 +08:00
|
|
|
|
|
|
|
|
licensee {
|
|
|
|
|
allow("Apache-2.0")
|
|
|
|
|
allow("BSD-3-Clause")
|
2023-09-27 10:14:55 +08:00
|
|
|
allow("GPL-2.0-or-later")
|
2024-06-28 09:13:18 +00:00
|
|
|
allowDependency("com.github.topjohnwu.libsu", "core", "6.0.0")
|
|
|
|
|
allowDependency("com.github.topjohnwu.libsu", "service", "6.0.0")
|
2023-05-31 19:54:17 +08:00
|
|
|
allowUrl("https://github.com/patrykmichalik/opto/blob/master/LICENSE")
|
|
|
|
|
allowUrl("https://github.com/RikkaApps/HiddenApiRefinePlugin/blob/main/LICENSE")
|
2023-09-27 10:14:55 +08:00
|
|
|
allowUrl("https://opensource.org/licenses/mit-license.php")
|
2023-05-31 19:54:17 +08:00
|
|
|
}
|