Skip to content
This repository was archived by the owner on Aug 21, 2025. It is now read-only.

Commit 67a660c

Browse files
Inject AppVersion
1 parent 8cbe6dd commit 67a660c

File tree

6 files changed

+23
-4
lines changed

6 files changed

+23
-4
lines changed

app/src/main/java/com/gravatar/app/di/AppModule.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,6 @@ val appModule = module {
1515
dispatcherModule,
1616
clockModule,
1717
networkMonitorModule,
18+
buildConfigModule,
1819
)
1920
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package com.gravatar.app.di
2+
3+
import com.gravatar.app.BuildConfig
4+
import com.gravatar.app.homeUi.AppVersion
5+
import org.koin.dsl.module
6+
7+
val buildConfigModule = module {
8+
single { AppVersion(BuildConfig.VERSION_NAME) }
9+
}

build-logic/convention/src/main/kotlin/GravatarAndroidApplicationConventionPlugin.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ class GravatarAndroidApplicationConventionPlugin : Plugin<Project> {
2828
versionCode = 1
2929
versionName = "1.0"
3030
}
31+
buildFeatures.buildConfig = true
3132
configureBuildTypes()
3233
lint {
3334
sarifReport = true
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package com.gravatar.app.homeUi
2+
3+
@JvmInline
4+
value class AppVersion(
5+
val value: String
6+
)

homeUi/src/main/kotlin/com/gravatar/app/homeUi/presentation/home/components/topbar/components/AboutAppDialog.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,9 @@ import androidx.compose.ui.window.Dialog
2727
import androidx.compose.ui.window.DialogProperties
2828
import androidx.core.net.toUri
2929
import com.gravatar.app.design.theme.GravatarAppTheme
30+
import com.gravatar.app.homeUi.AppVersion
3031
import com.gravatar.app.homeUi.R
32+
import org.koin.compose.koinInject
3133

3234
@OptIn(ExperimentalMaterial3Api::class)
3335
@Composable
@@ -36,14 +38,15 @@ internal fun AboutAppDialog(
3638
onDismissRequest: () -> Unit,
3739
) {
3840
if (visible) {
41+
val appVersion: AppVersion = koinInject()
3942
Dialog(
4043
onDismissRequest = onDismissRequest,
4144
properties = DialogProperties(
4245
usePlatformDefaultWidth = false,
4346
),
4447
content = {
4548
AboutAppDialogContent(
46-
appVersion = "0.0.1",
49+
appVersion = appVersion.value,
4750
onDone = onDismissRequest,
4851
modifier = Modifier
4952
)
@@ -88,7 +91,7 @@ internal fun AboutAppDialogContent(
8891
}
8992
Column {
9093
Text(
91-
text = stringResource(R.string.about_abb_dialog_get_help),
94+
text = stringResource(R.string.about_app_dialog_get_help),
9295
style = MaterialTheme.typography.titleMedium.copy(
9396
fontWeight = FontWeight.SemiBold
9497
),

homeUi/src/main/res/values/strings.xml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@
5656
<string name="gravatar_tab_topbar_menu_gravatar" translatable="false">Gravatar.com</string>
5757
<string name="gravatar_tab_topbar_menu_sign_out">Sign out</string>
5858
<string name="gravatar_tab_topbar_menu_about">About this app</string>
59-
<string name="about_app_description">Gravatar is a service for providing globally unique avatars. This app allows you to manage your Gravatar profile and avatars.</string>
6059
<string name="permission_required_alert_title">Permission required</string>
6160
<string name="permission_required_open_settings">Open settings</string>
6261
<string name="permission_required_dismiss">Dismiss</string>
@@ -73,7 +72,7 @@
7372
<string name="share_tab_private_contact_email_placeholder">Email</string>
7473
<string name="share_tab_private_contact_phone_number_placeholder">Phone Number</string>
7574
<string name="about_app_dialog_about_gravatar">About Gravatar</string>
76-
<string name="about_abb_dialog_get_help">Get help</string>
75+
<string name="about_app_dialog_get_help">Get help</string>
7776
<string name="about_app_dialog_legal">Legal</string>
7877
<string name="about_app_dialog_terms_of_service">Terms of Service</string>
7978
<string name="about_app_dialog_privacy_policy">Privacy Policy</string>

0 commit comments

Comments
 (0)