diff --git a/KDeviceInfo/build.gradle.kts b/KDeviceInfo/build.gradle.kts index 5c11357..f1bfd9c 100644 --- a/KDeviceInfo/build.gradle.kts +++ b/KDeviceInfo/build.gradle.kts @@ -74,6 +74,9 @@ android { defaultConfig { minSdk = 21 } + buildFeatures { + buildConfig = true + } compileOptions { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 diff --git a/KDeviceInfo/src/androidMain/kotlin/com/devx/kdeviceinfo/model/AndroidInfoImpl.kt b/KDeviceInfo/src/androidMain/kotlin/com/devx/kdeviceinfo/model/AndroidInfoImpl.kt index 756ad2d..39b9c8d 100644 --- a/KDeviceInfo/src/androidMain/kotlin/com/devx/kdeviceinfo/model/AndroidInfoImpl.kt +++ b/KDeviceInfo/src/androidMain/kotlin/com/devx/kdeviceinfo/model/AndroidInfoImpl.kt @@ -7,6 +7,7 @@ import android.os.Build import android.provider.Settings import androidx.core.app.LocaleManagerCompat import androidx.core.content.pm.PackageInfoCompat +import com.devx.kdeviceinfo.BuildConfig import com.devx.kdeviceinfo.initilizer.applicationContext import com.devx.kdeviceinfo.model.android.AndroidInfo import com.devx.kdeviceinfo.model.android.DisplayMetrics @@ -111,6 +112,9 @@ internal class AndroidInfoImpl : AndroidInfo { Settings.Secure.ANDROID_ID ) + override val isDebug: Boolean + get() = BuildConfig.DEBUG + private fun getIsPhysicalDevice(): Boolean { return !((Build.BRAND.startsWith("generic") && Build.DEVICE.startsWith("generic")) || Build.FINGERPRINT.startsWith("generic") diff --git a/KDeviceInfo/src/commonMain/kotlin/com/devx/kdeviceinfo/model/android/AndroidInfo.kt b/KDeviceInfo/src/commonMain/kotlin/com/devx/kdeviceinfo/model/android/AndroidInfo.kt index 007db51..57ae595 100644 --- a/KDeviceInfo/src/commonMain/kotlin/com/devx/kdeviceinfo/model/android/AndroidInfo.kt +++ b/KDeviceInfo/src/commonMain/kotlin/com/devx/kdeviceinfo/model/android/AndroidInfo.kt @@ -33,4 +33,5 @@ interface AndroidInfo { val locale: Locale val deviceOrientation: DeviceOrientation val androidId: String + val isDebug: Boolean } \ No newline at end of file diff --git a/KDeviceInfo/src/commonMain/kotlin/com/devx/kdeviceinfo/model/ios/IosInfo.kt b/KDeviceInfo/src/commonMain/kotlin/com/devx/kdeviceinfo/model/ios/IosInfo.kt index f229307..9f3a019 100644 --- a/KDeviceInfo/src/commonMain/kotlin/com/devx/kdeviceinfo/model/ios/IosInfo.kt +++ b/KDeviceInfo/src/commonMain/kotlin/com/devx/kdeviceinfo/model/ios/IosInfo.kt @@ -19,4 +19,5 @@ interface IosInfo { val appVersion: String val appShortVersion: String val locale: Locale + val isDebug: Boolean } \ No newline at end of file diff --git a/KDeviceInfo/src/iosMain/kotlin/com/devx/kdeviceinfo/model/IosInfoImpl.kt b/KDeviceInfo/src/iosMain/kotlin/com/devx/kdeviceinfo/model/IosInfoImpl.kt index 187e1f1..9f751bd 100644 --- a/KDeviceInfo/src/iosMain/kotlin/com/devx/kdeviceinfo/model/IosInfoImpl.kt +++ b/KDeviceInfo/src/iosMain/kotlin/com/devx/kdeviceinfo/model/IosInfoImpl.kt @@ -10,6 +10,7 @@ import platform.Foundation.currentLocale import platform.Foundation.languageCode import platform.Foundation.regionCode import platform.UIKit.UIDevice +import kotlin.experimental.ExperimentalNativeApi internal class IosInfoImpl : IosInfo { @@ -51,4 +52,8 @@ internal class IosInfoImpl : IosInfo { languageCode = NSLocale.currentLocale.languageCode, region = NSLocale.currentLocale.regionCode.orEmpty() ) + + @OptIn(ExperimentalNativeApi::class) + override val isDebug: Boolean + get() = Platform.isDebugBinary } \ No newline at end of file diff --git a/sampleApp/composeApp/build.gradle.kts b/sampleApp/composeApp/build.gradle.kts index a24fcca..8f92cbe 100644 --- a/sampleApp/composeApp/build.gradle.kts +++ b/sampleApp/composeApp/build.gradle.kts @@ -63,6 +63,11 @@ android { versionCode = 1 versionName = "1.0.0" } + buildTypes { + getByName("release") { + signingConfig = signingConfigs.getByName("debug") + } + } sourceSets["main"].apply { manifest.srcFile("src/androidMain/AndroidManifest.xml") res.srcDirs("src/androidMain/resources") diff --git a/sampleApp/composeApp/src/commonMain/kotlin/com/devx/kdeviceinfo/sample/App.kt b/sampleApp/composeApp/src/commonMain/kotlin/com/devx/kdeviceinfo/sample/App.kt index 9bd7ae6..d57e195 100644 --- a/sampleApp/composeApp/src/commonMain/kotlin/com/devx/kdeviceinfo/sample/App.kt +++ b/sampleApp/composeApp/src/commonMain/kotlin/com/devx/kdeviceinfo/sample/App.kt @@ -60,6 +60,7 @@ private fun ShowAndroidDeviceInfo(androidInfo: AndroidInfo) { Text(text = "Version Code : ${androidInfo.versionCode}") Text(text = "Version Name : ${androidInfo.versionName}") Text(text = "Package Name : ${androidInfo.packageName}") + Text(text = "Debug App : ${androidInfo.isDebug}") Spacer(modifier = Modifier.fillMaxWidth().height(height = 20.dp)) // Device Info @@ -97,6 +98,7 @@ private fun ShowIosDeviceInfo(iosInfo: IosInfo) { Text(text = "App Version : ${iosInfo.appVersion}") Text(text = "App Short Version : ${iosInfo.appShortVersion}") Text(text = "Bundle Id : ${iosInfo.bundleId}") + Text(text = "Debug App : ${iosInfo.isDebug}") Spacer(modifier = Modifier.fillMaxWidth().height(height = 20.dp)) // Device Info