[PM-24411] Introduce BuildInfoManager for build-related information (#5654)

This commit is contained in:
Patrick Honkonen
2025-08-06 14:53:03 -04:00
committed by GitHub
parent 72250dce90
commit 905e3248f2
6 changed files with 208 additions and 1 deletions

View File

@@ -0,0 +1,47 @@
package com.bitwarden.authenticator.ui.platform.manager
import com.bitwarden.annotation.OmitFromCoverage
import com.bitwarden.authenticator.BuildConfig
import com.bitwarden.core.data.manager.BuildInfoManager
/**
* Implementation of [BuildInfoManager] for Bitwarden Authenticator.
*/
@OmitFromCoverage
class AuthenticatorBuildInfoManagerImpl : BuildInfoManager {
override val applicationId: String
get() = BuildConfig.APPLICATION_ID
/**
* Indicates whether the build is from the F-Droid flavor.
* This is always false for Authenticator as it does not have an F-Droid compatible flavor.
*/
override val isFdroid: Boolean
get() = false
override val isDevBuild: Boolean
get() = BuildConfig.BUILD_TYPE == "debug"
override val versionData: String
get() = "${BuildConfig.VERSION_NAME} (${BuildConfig.VERSION_CODE})"
override val sdkData: String
get() = BuildConfig.SDK_VERSION
override val ciBuildInfo: String?
get() = BuildConfig.CI_INFO.takeUnless { it.isBlank() }
/**
* Returns the build flavor name.
* For Authenticator, this is always an empty string as it does not have different flavors.
*/
override val buildFlavorName: String
get() = ""
override val buildTypeName: String
get() = when (BuildConfig.BUILD_TYPE) {
"debug" -> "dev"
"release" -> "prod"
else -> BuildConfig.BUILD_TYPE
}
}