package com.checkoutreactnativecomponents.utils import android.content.Context import android.content.pm.PackageManager import android.os.Build public object ManifestUtils { public fun getBooleanMetaData( context: Context, keyName: String, defaultValue: Boolean = false, emitAndLogError: (String, Exception) -> Unit = { _, _ -> }, ): Boolean { return try { val appInfo = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { context.packageManager.getApplicationInfo( context.packageName, PackageManager.ApplicationInfoFlags.of( PackageManager.GET_META_DATA.toLong(), ), ) } else { @Suppress("DEPRECATION") context.packageManager.getApplicationInfo( context.packageName, PackageManager.GET_META_DATA, ) } val metaData = appInfo.metaData metaData?.getBoolean(keyName, defaultValue) ?: defaultValue } catch (e: Exception) { emitAndLogError(keyName, e) defaultValue } } }