From 26443f9f14f15762c9b4e7409bcf1066cb950675 Mon Sep 17 00:00:00 2001 From: Michael Zh Date: Tue, 15 Jul 2025 19:54:06 -0400 Subject: [PATCH] WIP: Fix compile --- .../player/mediabrowser/PackageValidator.kt | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/player/mediabrowser/PackageValidator.kt b/app/src/main/java/org/schabi/newpipe/player/mediabrowser/PackageValidator.kt index 973b11b37..436bcc43d 100644 --- a/app/src/main/java/org/schabi/newpipe/player/mediabrowser/PackageValidator.kt +++ b/app/src/main/java/org/schabi/newpipe/player/mediabrowser/PackageValidator.kt @@ -147,16 +147,18 @@ internal class PackageValidator(context: Context) { private fun buildCallerInfo(callingPackage: String): CallerPackageInfo? { val packageInfo = getPackageInfo(callingPackage) ?: return null - val appName = packageInfo.applicationInfo.loadLabel(packageManager).toString() - val uid = packageInfo.applicationInfo.uid + val appName = packageInfo.applicationInfo?.loadLabel(packageManager).toString() + val uid = packageInfo.applicationInfo?.uid ?: -1 val signature = getSignature(packageInfo) val requestedPermissions = packageInfo.requestedPermissions val permissionFlags = packageInfo.requestedPermissionsFlags val activePermissions = mutableSetOf() - requestedPermissions?.forEachIndexed { index, permission -> - if (permissionFlags[index] and REQUESTED_PERMISSION_GRANTED != 0) { - activePermissions += permission + if (permissionFlags != null) { + requestedPermissions?.forEachIndexed { index, permission -> + if (permissionFlags[index] and REQUESTED_PERMISSION_GRANTED != 0) { + activePermissions += permission + } } } @@ -189,12 +191,12 @@ internal class PackageValidator(context: Context) { */ @Suppress("deprecation") private fun getSignature(packageInfo: PackageInfo): String? = - if (packageInfo.signatures == null || packageInfo.signatures.size != 1) { + if (packageInfo.signatures == null || packageInfo.signatures!!.size != 1) { // Security best practices dictate that an app should be signed with exactly one (1) // signature. Because of this, if there are multiple signatures, reject it. null } else { - val certificate = packageInfo.signatures[0].toByteArray() + val certificate = packageInfo.signatures!![0].toByteArray() getSignatureSha256(certificate) }