Coverage Summary for Class: ManifestPermissionReaderKt (kr.open.library.simple_ui.core.permissions.internal)

Class Class, % Method, % Branch, % Line, % Instruction, %
ManifestPermissionReaderKt 0% (0/1) 0% (0/1) 0% (0/4) 0% (0/9) 0% (0/33)


 package kr.open.library.simple_ui.core.permissions.internal
 
 import android.content.Context
 import android.content.pm.PackageManager
 import android.os.Build
 import kr.open.library.simple_ui.core.extensions.conditional.checkSdkVersion
 import kr.open.library.simple_ui.core.extensions.trycatch.safeCatch
 
 /**
  * Safely reads the permissions declared in AndroidManifest.xml.<br><br>
  * AndroidManifest.xml에 선언된 권한 목록을 안전하게 조회합니다.<br>
  *
  * @return Returns the set of manifest-declared permissions, or an empty set if retrieval fails.<br><br>
  *         조회에 실패하면 빈 집합을 반환하고, 성공하면 매니페스트 선언 권한 집합을 반환합니다.<br>
  */
 fun Context.readDeclaredManifestPermissions(): Set<String> = safeCatch(defaultValue = emptySet()) {
     val packageInfo = checkSdkVersion(
         Build.VERSION_CODES.TIRAMISU,
         positiveWork = {
             packageManager.getPackageInfo(
                 packageName,
                 PackageManager.PackageInfoFlags.of(PackageManager.GET_PERMISSIONS.toLong()),
             )
         },
         negativeWork = {
             @Suppress("DEPRECATION")
             packageManager.getPackageInfo(packageName, PackageManager.GET_PERMISSIONS)
         },
     )
     packageInfo.requestedPermissions?.toSet() ?: emptySet()
 }