package com.unitreactnativecomponents.extensions import android.content.Context import android.content.pm.PackageInfo import android.content.pm.PackageManager import android.os.Build fun Context.getPackageInfo(): PackageInfo { return packageManager.getPackageInfo(packageName, 0) } fun Context.getAppName(): String = try { applicationInfo.loadLabel(packageManager).toString() } catch (e: PackageManager.NameNotFoundException) { "unknown" } fun Context.getAppIdentifier(): String = try { getPackageInfo().packageName } catch (e: PackageManager.NameNotFoundException) { "unknown" } fun Context.getVersionName(): String? = try { getPackageInfo().versionName } catch (e: PackageManager.NameNotFoundException) { "unknown" } @Suppress("DEPRECATION") fun Context.getVersionCode(): Int = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { getPackageInfo().longVersionCode.toInt() } else { getPackageInfo().versionCode }