Skip to content

Commit 08fe243

Browse files
authored
Merge pull request #25 from thegrizzlylabs/add-app-build-number
feat(Environment) Add app build number to signal payload
2 parents 2c4962e + fb23322 commit 08fe243

File tree

2 files changed

+17
-6
lines changed

2 files changed

+17
-6
lines changed

lib/src/main/java/com/telemetrydeck/sdk/EnvironmentMetadataProvider.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ class EnvironmentMetadataProvider : TelemetryProvider {
1717
if (!appVersion.isNullOrEmpty()) {
1818
metadata["appVersion"] = appVersion
1919
}
20+
ManifestMetadataReader.getBuildNumber(ctx)?.let { buildNumber ->
21+
metadata["buildNumber"] = buildNumber.toString()
22+
}
2023
} else {
2124
manager.logger?.error("EnvironmentMetadataProvider requires a context but received null. Signals will contain incomplete metadata.")
2225
}
@@ -73,4 +76,4 @@ class EnvironmentMetadataProvider : TelemetryProvider {
7376
}
7477
return signalPayload
7578
}
76-
}
79+
}

lib/src/main/java/com/telemetrydeck/sdk/ManifestMetadataReader.kt

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@ package com.telemetrydeck.sdk
22

33
import android.content.Context
44
import android.content.pm.ApplicationInfo
5+
import android.content.pm.PackageInfo
56
import android.content.pm.PackageManager
67
import android.os.Bundle
8+
import androidx.core.content.pm.PackageInfoCompat
79
import java.net.URL
810
import java.util.*
911

@@ -19,13 +21,20 @@ internal class ManifestMetadataReader {
1921
}
2022

2123
fun getAppVersion(context: Context): String? {
22-
try {
23-
val packageInfo = context.packageManager.getPackageInfo(context.packageName, 0)
24-
return packageInfo.versionName
24+
return getPackageInfo(context)?.versionName
25+
}
26+
27+
fun getBuildNumber(context: Context): Long? {
28+
return getPackageInfo(context)?.let { PackageInfoCompat.getLongVersionCode(it) }
29+
}
30+
31+
private fun getPackageInfo(context: Context): PackageInfo? {
32+
return try {
33+
context.packageManager.getPackageInfo(context.packageName, 0)
2534
} catch (e: PackageManager.NameNotFoundException) {
2635
e.printStackTrace()
36+
null
2737
}
28-
return null
2938
}
3039

3140
private fun getMetaData(context: Context): Bundle? {
@@ -82,4 +91,3 @@ internal class ManifestMetadataReader {
8291
}
8392
}
8493
}
85-

0 commit comments

Comments
 (0)