From 0622858d3adbe6f1bb6b00f2dd9ddf0e8e510573 Mon Sep 17 00:00:00 2001 From: Goooler Date: Sun, 24 Jul 2022 09:49:59 +0800 Subject: [PATCH 1/6] Cleanup gradle.properties --- gradle.properties | 27 +++++++-------------------- 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/gradle.properties b/gradle.properties index bc6ce417f..7affea4b6 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,21 +1,8 @@ -# Project-wide Gradle settings. -# IDE (e.g. Android Studio) users: -# Gradle settings configured through the IDE *will override* -# any settings specified in this file. -# For more details on how to configure your build environment visit -# http://www.gradle.org/docs/current/userguide/build_environment.html -# Specifies the JVM arguments used for the daemon process. -# The setting is particularly useful for tweaking memory settings. -org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 -# When configured, Gradle will run in incubating parallel mode. -# This option should only be used with decoupled projects. More details, visit -# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects -org.gradle.parallel=true -# AndroidX package structure to make it clearer which packages are bundled with the -# Android operating system, and which are packaged with your app"s APK -# https://developer.android.com/topic/libraries/support-library/androidx-rn +android.injected.testOnly=false android.useAndroidX=true -# Automatically convert third-party libraries to use AndroidX -android.enableJetifier=false -# Kotlin code style for this project: "official" or "obsolete": -kotlin.code.style=official \ No newline at end of file +kapt.verbose=true +kotlin.code.style=official +org.gradle.caching=true +org.gradle.configureondemand=true +org.gradle.jvmargs=-Xmx4g -XX:+UseParallelGC -Dfile.encoding=UTF-8 +org.gradle.parallel=true \ No newline at end of file From 24238226156e551103f5e2167cba7be74bf575bd Mon Sep 17 00:00:00 2001 From: Goooler Date: Sun, 24 Jul 2022 09:53:47 +0800 Subject: [PATCH 2/6] Enable Kotlin's new incremental build flag --- gradle.properties | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 7affea4b6..a5127fa39 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,4 +5,7 @@ kotlin.code.style=official org.gradle.caching=true org.gradle.configureondemand=true org.gradle.jvmargs=-Xmx4g -XX:+UseParallelGC -Dfile.encoding=UTF-8 -org.gradle.parallel=true \ No newline at end of file +org.gradle.parallel=true + +# https://blog.jetbrains.com/kotlin/2022/07/a-new-approach-to-incremental-compilation-in-kotlin/ +kotlin.incremental.useClasspathSnapshot=true \ No newline at end of file From bc83f0a497bfce1e054fa0a5609e8d433feb44f3 Mon Sep 17 00:00:00 2001 From: Goooler Date: Sun, 24 Jul 2022 09:59:02 +0800 Subject: [PATCH 3/6] Enable configuration cache & gradle enterprise --- app/build.gradle | 5 ++++- gradle.properties | 4 +++- settings.gradle | 13 +++++++++++++ 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 2709c1a8b..e46d66c2d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -73,7 +73,10 @@ android { kotlinOptions { jvmTarget = "1.8" } - + dependenciesInfo { + includeInApk = false + includeInBundle = false + } configurations.all { resolutionStrategy.force 'com.google.code.findbugs:jsr305:1.3.9' } diff --git a/gradle.properties b/gradle.properties index a5127fa39..1edc6dfd3 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,4 +8,6 @@ org.gradle.jvmargs=-Xmx4g -XX:+UseParallelGC -Dfile.encoding=UTF-8 org.gradle.parallel=true # https://blog.jetbrains.com/kotlin/2022/07/a-new-approach-to-incremental-compilation-in-kotlin/ -kotlin.incremental.useClasspathSnapshot=true \ No newline at end of file +kotlin.incremental.useClasspathSnapshot=true +# https://docs.gradle.org/7.5/userguide/configuration_cache.html +org.gradle.unsafe.configuration-cache=true \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index 27bc031ae..08e2f668d 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,3 +1,15 @@ +// https://docs.gradle.com/enterprise/gradle-plugin/ +plugins { + id "com.gradle.enterprise" version "3.10.3" +} + +gradleEnterprise { + buildScan { + termsOfServiceUrl = "https://gradle.com/terms-of-service" + termsOfServiceAgree = "yes" + } +} + dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { @@ -6,4 +18,5 @@ dependencyResolutionManagement { maven { url "https://jitpack.io" } } } + include ':app', ':appthemehelper' \ No newline at end of file From bd8278343f35ac00ddc762757e65f2411d5f439b Mon Sep 17 00:00:00 2001 From: Goooler Date: Sun, 24 Jul 2022 10:10:30 +0800 Subject: [PATCH 4/6] Use room's ksp --- app/build.gradle | 3 ++- build.gradle | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index e46d66c2d..6185dfa6c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,6 +1,7 @@ apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-kapt' +apply plugin: 'com.google.devtools.ksp' apply plugin: "androidx.navigation.safeargs.kotlin" apply plugin: 'kotlin-parcelize' @@ -122,7 +123,7 @@ dependencies { def room_version = '2.5.0-alpha02' implementation "androidx.room:room-runtime:$room_version" implementation "androidx.room:room-ktx:$room_version" - kapt "androidx.room:room-compiler:$room_version" + ksp "androidx.room:room-compiler:$room_version" implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version" implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version" diff --git a/build.gradle b/build.gradle index a7c795284..18e4ce640 100644 --- a/build.gradle +++ b/build.gradle @@ -21,6 +21,7 @@ buildscript { } } plugins { + id 'com.google.devtools.ksp' version '1.7.10-1.0.6' apply false id "com.github.ben-manes.versions" version "0.42.0" } From bdd4039785b42614ee586a19afb1b3ec98cc3feb Mon Sep 17 00:00:00 2001 From: Goooler Date: Sun, 24 Jul 2022 10:19:31 +0800 Subject: [PATCH 5/6] Split lint & assemble tasks on CI --- .github/workflows/android.yml | 35 +++++++++++++++++++++++------------ app/build.gradle | 1 + 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 5508155e5..e450294c1 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -7,17 +7,28 @@ on: branches: [ dev ] jobs: - build: - + check: runs-on: ubuntu-latest - + timeout-minutes: 10 steps: - - uses: actions/checkout@v3 - - name: set up JDK 11 - uses: actions/setup-java@v3 - with: - java-version: '11' - distribution: 'temurin' - - uses: gradle/gradle-build-action@v2 - - name: Build with Gradle - run: ./gradlew build + - uses: actions/checkout@v3 + - uses: gradle/wrapper-validation-action@v1 + - uses: actions/setup-java@v3 + with: + distribution: 'zulu' + java-version: 17 + - uses: gradle/gradle-build-action@v2 + - name: Lint Android + run: ./gradlew lint + + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'zulu' + - uses: gradle/gradle-build-action@v2 + - name: Build + run: ./gradlew app:assemble diff --git a/app/build.gradle b/app/build.gradle index 6185dfa6c..554f875b5 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -65,6 +65,7 @@ android { } } lint { + abortOnError true warning 'ImpliedQuantity', 'Instantiatable', 'MissingQuantity', 'MissingTranslation' } compileOptions { From 41497b5f91dbc752602f2a6128de089a47c8bfd9 Mon Sep 17 00:00:00 2001 From: Goooler Date: Mon, 25 Jul 2022 12:41:39 +0800 Subject: [PATCH 6/6] Migrate to nonTransitiveRClass --- .../main/java/code/name/monkey/retromusic/App.kt | 2 +- .../retromusic/activities/ErrorActivity.kt | 14 +++++++------- .../activities/saf/SAFGuideActivity.java | 12 ++++++------ .../monkey/retromusic/adapter/SongFileAdapter.kt | 4 ++-- .../adapter/album/AlbumCoverPagerAdapter.kt | 2 +- .../retromusic/appwidgets/AppWidgetText.kt | 16 ++++++++-------- .../retromusic/extensions/ColorExtensions.kt | 10 +++++----- .../fragments/backup/RestoreActivity.kt | 2 +- .../player/blur/BlurPlaybackControlsFragment.kt | 2 +- .../fragments/player/md3/MD3PlayerFragment.kt | 6 +++--- .../monkey/retromusic/glide/SingleColorTarget.kt | 4 ++-- .../notification/PlayingNotificationClassic.kt | 6 +++--- .../monkey/retromusic/util/RetroColorUtil.java | 3 +-- .../util/color/MediaNotificationProcessor.java | 3 +-- .../util/color/NotificationColorUtil.java | 4 +--- .../retromusic/views/ColorIconsImageView.kt | 2 +- .../monkey/retromusic/views/PopupBackground.java | 6 ++---- .../name/monkey/appthemehelper/ThemeStore.kt | 6 +++--- .../common/ATHToolbarActivity.java | 3 +-- .../prefs/supportv7/ATESeekBarPreference.kt | 4 ++-- .../dialogs/ATEPreferenceDialogFragment.java | 4 +--- .../appthemehelper/util/MaterialValueHelper.kt | 16 ++++++++-------- .../monkey/appthemehelper/util/TintHelper.java | 4 ++-- .../util/ToolbarContentTintHelper.java | 11 +++++------ gradle.properties | 2 ++ 25 files changed, 70 insertions(+), 78 deletions(-) diff --git a/app/src/main/java/code/name/monkey/retromusic/App.kt b/app/src/main/java/code/name/monkey/retromusic/App.kt index 705ce5ef7..81da2dd5d 100644 --- a/app/src/main/java/code/name/monkey/retromusic/App.kt +++ b/app/src/main/java/code/name/monkey/retromusic/App.kt @@ -43,7 +43,7 @@ class App : Application() { // default theme if (!ThemeStore.isConfigured(this, 3)) { ThemeStore.editTheme(this) - .accentColorRes(R.color.md_deep_purple_A200) + .accentColorRes(code.name.monkey.appthemehelper.R.color.md_deep_purple_A200) .coloredNavigationBar(true) .commit() } diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/ErrorActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/ErrorActivity.kt index 99bff34cb..6823b80f8 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/ErrorActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/ErrorActivity.kt @@ -18,17 +18,17 @@ class ErrorActivity : AppCompatActivity() { private val reportPrefix = "bug_report-" override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - setContentView(R.layout.customactivityoncrash_default_error_activity) + setContentView(cat.ereza.customactivityoncrash.R.layout.customactivityoncrash_default_error_activity) val restartButton = - findViewById