From 8c47708d2f63e1b72a332beb4405888a8f064bd2 Mon Sep 17 00:00:00 2001 From: Simon Vetter Date: Thu, 11 Jul 2024 20:44:10 +0200 Subject: [PATCH] Dynamically set version string on About page --- app/build.gradle.kts | 2 +- .../stereophoniccalculator/AboutActivity.kt | 19 ++++++++++++++++--- app/src/main/res/layout/activity_about.xml | 4 ++-- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 003b11c..09bc3c7 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -12,7 +12,7 @@ android { minSdk = 24 targetSdk = 34 versionCode = 1 - versionName = "1.0" + versionName = "0.1.0" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } diff --git a/app/src/main/java/com/gmail/simetist/stereophoniccalculator/AboutActivity.kt b/app/src/main/java/com/gmail/simetist/stereophoniccalculator/AboutActivity.kt index 476b6b9..23e38e8 100644 --- a/app/src/main/java/com/gmail/simetist/stereophoniccalculator/AboutActivity.kt +++ b/app/src/main/java/com/gmail/simetist/stereophoniccalculator/AboutActivity.kt @@ -1,7 +1,10 @@ package com.gmail.simetist.stereophoniccalculator +import android.content.pm.PackageInfo +import android.content.pm.PackageManager import android.os.Bundle import android.widget.Button +import android.widget.TextView import androidx.activity.enableEdgeToEdge import androidx.appcompat.app.AppCompatActivity import androidx.core.view.ViewCompat @@ -10,6 +13,7 @@ import androidx.core.view.WindowInsetsCompat class AboutActivity : AppCompatActivity() { + private lateinit var versionLabel: TextView private lateinit var backButton: Button override fun onCreate(savedInstanceState: Bundle?) { @@ -17,13 +21,22 @@ class AboutActivity : AppCompatActivity() { setContentView(R.layout.activity_about) // Show notification bar in the same color as the app's background enableEdgeToEdge() - ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.mainLayout)) { v, insets -> + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.mainLayout)) { view, insets -> val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()) - v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom) + view.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom) insets } - backButton = findViewById(R.id.backButton) + versionLabel = findViewById(R.id.versionLabel) + backButton = findViewById(R.id.backButton) + + try { + val pInfo: PackageInfo = applicationContext.packageManager.getPackageInfo(applicationContext.packageName, 0) + val version = pInfo.versionName + versionLabel.text = "Version $version" + } catch (e: PackageManager.NameNotFoundException) { + e.printStackTrace() + } backButton.setOnClickListener { finish() diff --git a/app/src/main/res/layout/activity_about.xml b/app/src/main/res/layout/activity_about.xml index 094c447..e24a414 100644 --- a/app/src/main/res/layout/activity_about.xml +++ b/app/src/main/res/layout/activity_about.xml @@ -35,10 +35,10 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="8dp" - android:text="Version 0.1" android:textSize="16sp" app:layout_constraintBottom_toTopOf="@+id/logoDivider" - app:layout_constraintStart_toStartOf="@+id/appNameLabel" /> + app:layout_constraintStart_toStartOf="@+id/appNameLabel" + tools:text="Version X.X.X" />