Add version to help differentiate app versions
Test: check UI
Change-Id: Iecd474a3fa15904d5dc2b9feeaa6b6ab240d998b
diff --git a/testapps/TestRcsApp/TestApp/AndroidManifest.xml b/testapps/TestRcsApp/TestApp/AndroidManifest.xml
index 9801faf..d71d051 100644
--- a/testapps/TestRcsApp/TestApp/AndroidManifest.xml
+++ b/testapps/TestRcsApp/TestApp/AndroidManifest.xml
@@ -18,7 +18,9 @@
*/
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.google.android.sample.rcsclient">
+ package="com.google.android.sample.rcsclient"
+ android:versionCode="1"
+ android:versionName="1.0.0">
<uses-sdk
android:minSdkVersion="30"
diff --git a/testapps/TestRcsApp/TestApp/res/layout/activity_main.xml b/testapps/TestRcsApp/TestApp/res/layout/activity_main.xml
index c406972..db7ea33 100644
--- a/testapps/TestRcsApp/TestApp/res/layout/activity_main.xml
+++ b/testapps/TestRcsApp/TestApp/res/layout/activity_main.xml
@@ -49,6 +49,14 @@
android:text="@string/test_msg_client"
android:textAlignment="center"
android:textAllCaps="false" />
+
+ <TextView
+ android:id="@+id/version_info"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/version_info"
+ android:textAlignment="center"
+ android:paddingTop="7dp"/>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/testapps/TestRcsApp/TestApp/res/values/strings.xml b/testapps/TestRcsApp/TestApp/res/values/donottranslate_strings.xml
similarity index 98%
rename from testapps/TestRcsApp/TestApp/res/values/strings.xml
rename to testapps/TestRcsApp/TestApp/res/values/donottranslate_strings.xml
index 2369449..3528add 100644
--- a/testapps/TestRcsApp/TestApp/res/values/strings.xml
+++ b/testapps/TestRcsApp/TestApp/res/values/donottranslate_strings.xml
@@ -41,6 +41,7 @@
<string name="chatbot_version">Chatbot Version</string>
<string name="provisioning_done">Provisioning Done</string>
<string name="registration_done">Registration Done</string>
+ <string name="version_info">Version: %s</string>
<string-array name="organization">
<item>NONE</item>
diff --git a/testapps/TestRcsApp/TestApp/src/com/google/android/sample/rcsclient/MainActivity.java b/testapps/TestRcsApp/TestApp/src/com/google/android/sample/rcsclient/MainActivity.java
index 04fdb5b..62302fe 100644
--- a/testapps/TestRcsApp/TestApp/src/com/google/android/sample/rcsclient/MainActivity.java
+++ b/testapps/TestRcsApp/TestApp/src/com/google/android/sample/rcsclient/MainActivity.java
@@ -18,9 +18,14 @@
package com.google.android.sample.rcsclient;
import android.content.Intent;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
import android.os.Bundle;
+import android.text.TextUtils;
+import android.util.Log;
import android.view.MenuItem;
import android.widget.Button;
+import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
@@ -32,6 +37,7 @@
private Button mUceButton;
private Button mGbaButton;
private Button mMessageClientButton;
+ private TextView mVersionInfo;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -47,6 +53,7 @@
mMessageClientButton = (Button) this.findViewById(R.id.msgClient);
mUceButton = (Button) this.findViewById(R.id.uce);
mGbaButton = (Button) this.findViewById(R.id.gba);
+ mVersionInfo = this.findViewById(R.id.version_info);
mProvisionButton.setOnClickListener(view -> {
Intent intent = new Intent(this, ProvisioningActivity.class);
MainActivity.this.startActivity(intent);
@@ -70,6 +77,13 @@
Intent intent = new Intent(this, ContactListActivity.class);
MainActivity.this.startActivity(intent);
});
+
+ String appVersionName = getVersionCode(getPackageName());
+ if (!TextUtils.isEmpty(appVersionName)) {
+ String version = String.format(getResources().getString(R.string.version_info),
+ appVersionName);
+ mVersionInfo.setText(version);
+ }
}
@Override
@@ -79,5 +93,15 @@
}
return super.onOptionsItemSelected(item);
}
-}
+ private String getVersionCode(String packageName) {
+ try {
+ // get android:versionName from the android manifest
+ PackageInfo info = getPackageManager().getPackageInfo(getPackageName(), 0 /*flags*/);
+ return info.versionName;
+ } catch (PackageManager.NameNotFoundException e) {
+ Log.w(TAG, "couldn't get version info for package name:" + packageName);
+ }
+ return null;
+ }
+}