Skip to content

Commit e721c9a

Browse files
authored
Release 1.2.2 (#15)
* Migrate to version catalog (#14) * Refactor :benchmark * Add update manager
1 parent 5bed2a7 commit e721c9a

510 files changed

Lines changed: 9292 additions & 1846 deletions

File tree

Some content is hidden

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

.editorconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
[*.{kt,kts}]
55
ij_kotlin_allow_trailing_comma=true
66
ij_kotlin_allow_trailing_comma_on_call_site=true
7+
ktlint_function_naming_ignore_when_annotated_with=Composable, Test
78
ktlint_no-wildcard-imports=disabled
89
ktlint_standard_no-wildcard-imports=disabled
910
ktlint_standard_function-naming=disabled

.idea/androidTestResultsUserPreferences.xml

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

.idea/gradle.xml

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

.idea/inspectionProfiles/Project_Default.xml

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

app/build.gradle.kts

Lines changed: 75 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
1+
import com.hellguy39.hellnotes.HellNotesBuildType
12
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.util.archivesName
23
import java.util.Properties
34

45
plugins {
5-
id("app-setup")
6-
id("com.google.devtools.ksp")
7-
id("com.google.dagger.hilt.android")
8-
id("com.google.gms.google-services")
9-
id("com.google.firebase.crashlytics")
6+
id("hellnotes.android.application")
7+
id("hellnotes.android.application.compose")
8+
id("hellnotes.hilt")
9+
id("hellnotes.android.room")
10+
id("hellnotes.android.application.firebase")
11+
id("hellnotes.android.application.flavors")
12+
alias(libs.plugins.baselineprofile)
1013
}
1114

1215
val signingProperties = readProperties(file("signing.properties"))
@@ -35,97 +38,87 @@ android {
3538
}
3639

3740
defaultConfig {
41+
applicationId = Configuration.applicationId
42+
minSdk = Configuration.minSdk
43+
targetSdk = Configuration.targetSdk
44+
versionCode = Configuration.versionCode
45+
versionName = Configuration.versionName
46+
47+
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
48+
49+
vectorDrawables {
50+
useSupportLibrary = true
51+
}
52+
3853
archivesName.set("HellNotes v$versionName")
3954
}
4055

4156
buildTypes {
4257
debug {
4358
signingConfig = signingConfigs.getByName("debug")
59+
applicationIdSuffix = HellNotesBuildType.DEBUG.applicationIdSuffix
4460
}
4561
release {
46-
isMinifyEnabled = false
62+
isMinifyEnabled = true
4763
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
64+
applicationIdSuffix = HellNotesBuildType.RELEASE.applicationIdSuffix
4865
signingConfig = signingConfigs.getByName("release")
66+
67+
// Ensure Baseline Profile is fresh for release builds.
68+
baselineProfile.automaticGenerationDuringBuild = true
4969
}
50-
create("benchmark") {
51-
signingConfig = signingConfigs.getByName("debug")
52-
matchingFallbacks += listOf("release")
53-
isDebuggable = false
54-
}
70+
}
71+
72+
packaging {
73+
resources.excludes.add("/META-INF/{AL2.0,LGPL2.1}")
74+
resources.excludes.add("/META-INF/INDEX.LIST")
5575
}
5676
}
5777

5878
dependencies {
79+
implementation(projects.feature.onBoarding)
80+
implementation(projects.feature.lock)
81+
implementation(projects.feature.search)
82+
implementation(projects.feature.home)
83+
implementation(projects.feature.labelEdit)
84+
implementation(projects.feature.noteDetail)
85+
implementation(projects.feature.reminderEdit)
86+
implementation(projects.feature.aboutApp)
87+
implementation(projects.feature.settings)
88+
implementation(projects.feature.lockSelection)
89+
implementation(projects.feature.languageSelection)
90+
implementation(projects.feature.lockSetup)
91+
implementation(projects.feature.labelSelection)
92+
implementation(projects.feature.noteStyleEdit)
93+
implementation(projects.feature.noteSwipeEdit)
94+
implementation(projects.feature.changelog)
95+
implementation(projects.feature.privacyPolicy)
96+
implementation(projects.feature.termsAndConditions)
97+
implementation(projects.feature.reset)
98+
implementation(projects.feature.update)
99+
implementation(projects.feature.backup)
100+
101+
implementation(projects.core.ui)
102+
implementation(projects.core.data)
103+
implementation(projects.core.common)
104+
implementation(projects.core.domain)
105+
implementation(projects.core.database)
106+
implementation(projects.core.datastore)
107+
implementation(projects.core.storeApi)
108+
implementation(projects.core.model)
109+
110+
testImplementation(libs.junit)
111+
androidTestImplementation(libs.junit.android)
112+
androidTestImplementation(libs.androidx.test.espresso.core)
113+
114+
baselineProfile(projects.benchmark)
115+
}
116+
117+
baselineProfile {
118+
// Don't build on every iteration of a full assemble.
119+
// Instead enable generation directly for the release build variant.
120+
automaticGenerationDuringBuild = false
59121

60-
implementation(project(Modules.Feature.OnBoarding))
61-
implementation(project(Modules.Feature.Lock))
62-
implementation(project(Modules.Feature.Search))
63-
implementation(project(Modules.Feature.Home))
64-
implementation(project(Modules.Feature.LabelEdit))
65-
implementation(project(Modules.Feature.NoteDetail))
66-
implementation(project(Modules.Feature.ReminderEdit))
67-
implementation(project(Modules.Feature.AboutApp))
68-
implementation(project(Modules.Feature.Settings))
69-
implementation(project(Modules.Feature.LockSelection))
70-
implementation(project(Modules.Feature.LanguageSelection))
71-
implementation(project(Modules.Feature.LockSetup))
72-
implementation(project(Modules.Feature.LabelSelection))
73-
implementation(project(Modules.Feature.NoteStyleEdit))
74-
implementation(project(Modules.Feature.NoteSwipesEdit))
75-
implementation(project(Modules.Feature.Changelog))
76-
implementation(project(Modules.Feature.PrivacyPolicy))
77-
implementation(project(Modules.Feature.TermsAndConditions))
78-
implementation(project(Modules.Feature.Reset))
79-
implementation(project(Modules.Feature.Update))
80-
implementation(project(Modules.Feature.Backup))
81-
82-
implementation(project(Modules.Core.Ui))
83-
implementation(project(Modules.Core.Data))
84-
implementation(project(Modules.Core.Common))
85-
implementation(project(Modules.Core.Domain))
86-
implementation(project(Modules.Core.Database))
87-
implementation(project(Modules.Core.Datastore))
88-
implementation(project(Modules.Core.Model))
89-
90-
implementation(Dependencies.AndroidX.CoreKtx)
91-
implementation(Dependencies.AndroidX.LifecycleKtx)
92-
implementation(Dependencies.AndroidX.AppCompat)
93-
implementation(Dependencies.AndroidX.WorkKtx)
94-
implementation(Dependencies.AndroidX.Biometric)
95-
implementation(Dependencies.AndroidX.SplashScreen)
96-
implementation(Dependencies.AndroidX.ProfileInstaller)
97-
98-
implementation(Dependencies.Google.Material)
99-
100-
implementation(Dependencies.Compose.Lifecycle)
101-
implementation(Dependencies.Compose.Activity)
102-
implementation(Dependencies.Compose.Ui)
103-
implementation(Dependencies.Compose.ToolingPreview)
104-
implementation(Dependencies.Compose.Material3)
105-
implementation(Dependencies.Compose.Navigation)
106-
androidTestImplementation(Dependencies.Compose.UiTestJUnit)
107-
debugImplementation(Dependencies.Compose.UiTooling)
108-
debugImplementation(Dependencies.Compose.UiTestManifest)
109-
110-
testImplementation(Dependencies.JUnit)
111-
androidTestImplementation(Dependencies.AndroidX.JUnit)
112-
androidTestImplementation(Dependencies.AndroidX.Espresso)
113-
114-
implementation(Dependencies.Room.RoomKtx)
115-
ksp(Dependencies.Room.RoomCompiler)
116-
117-
implementation(Dependencies.Kotlin.Coroutines)
118-
119-
implementation(Dependencies.Hilt.Android)
120-
ksp(Dependencies.Hilt.Compiler)
121-
ksp(Dependencies.Hilt.AndroidXCompiler)
122-
implementation(Dependencies.Hilt.NavigationCompose)
123-
implementation(Dependencies.Hilt.Work)
124-
125-
implementation(Dependencies.SquareUp.Moshi)
126-
127-
implementation(Dependencies.Firebase.Analytics)
128-
implementation(Dependencies.Firebase.Crashlytics)
129-
130-
implementation(Dependencies.RuStore.AppUpdate)
122+
// Make use of Dex Layout Optimizations via Startup Profiles
123+
dexLayoutOptimization = true
131124
}

app/proguard-rules.pro

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,7 @@
1818

1919
# If you keep the line number information, uncomment this to
2020
# hide the original source file name.
21-
#-renamesourcefileattribute SourceFile
21+
#-renamesourcefileattribute SourceFile
22+
23+
-dontwarn org.slf4j.impl.StaticLoggerBinder
24+
-dontwarn com.google.android.gms.common.annotation.NoNullnessRewrite

app/src/androidTest/java/com/hellguy39/hellnotes/ExampleInstrumentedTest.kt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,18 @@
1+
/*
2+
* Copyright 2024 Aleksey Gadzhiev
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
116
package com.hellguy39.hellnotes
217

318
import androidx.test.ext.junit.runners.AndroidJUnit4
-7.66 KB
Binary file not shown.

app/src/main/java/com/hellguy39/hellnotes/app/App.kt

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,18 @@
1+
/*
2+
* Copyright 2024 Aleksey Gadzhiev
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
116
package com.hellguy39.hellnotes.app
217

318
import android.app.Application
@@ -8,7 +23,7 @@ import androidx.work.WorkManager
823
import com.google.firebase.analytics.FirebaseAnalytics
924
import com.google.firebase.crashlytics.FirebaseCrashlytics
1025
import com.hellguy39.hellnotes.BuildConfig
11-
import com.hellguy39.hellnotes.core.domain.tools.InAppNotificationManager
26+
import com.hellguy39.hellnotes.core.domain.repository.system.InAppNotificationManager
1227
import com.hellguy39.hellnotes.worker.DeleteAllExpiredNoteWrappersAtTrashWorker
1328
import dagger.hilt.android.HiltAndroidApp
1429
import javax.inject.Inject

0 commit comments

Comments
 (0)