Fix FDroid filter

This commit is contained in:
Rahul Kumar Patel
2021-02-27 02:58:46 +05:30
parent 8ebb362f58
commit 9f5016f438
2 changed files with 13 additions and 14 deletions

View File

@@ -35,22 +35,24 @@ object CertUtil {
private fun getX509Certificates(
context: Context,
packageName: String
): List<X509Certificate?> {
val certificates: MutableList<X509Certificate?> = mutableListOf()
): List<X509Certificate> {
val certificates: MutableList<X509Certificate> = mutableListOf()
val packageManager = context.applicationContext.packageManager
try {
val packageInfo = if (isPAndAbove())
val packageInfo = if (isPAndAbove()) {
packageManager.getPackageInfo(
packageName,
PackageManager.GET_SIGNING_CERTIFICATES
)
else
}
else {
packageManager.getPackageInfo(
packageName,
PackageManager.GET_SIGNATURES
)
}
val certificateFactory = CertificateFactory.getInstance("X509")
@@ -63,7 +65,7 @@ object CertUtil {
)
}
} else {
for (i in 0..packageInfo.signatures.size) {
for (i in packageInfo.signatures.indices) {
val bytes = packageInfo.signatures[i].toByteArray()
val inStream: InputStream = ByteArrayInputStream(bytes)
certificates.add(
@@ -72,7 +74,7 @@ object CertUtil {
}
}
} catch (e: Exception) {
Log.e(e.message)
}
return certificates
@@ -85,13 +87,10 @@ object CertUtil {
false
else {
val cert = certificates[0]
if (cert != null) {
if (cert.subjectDN != null) {
val DN = cert.subjectDN.name.toUpperCase(Locale.getDefault())
DN.contains(FDROID) || DN.contains(GUARDIAN)
} else {
false
}
if (cert.subjectDN != null) {
val DN = cert.subjectDN.name.toUpperCase(Locale.getDefault())
DN.contains(FDROID) || DN.contains(GUARDIAN)
} else {
false
}

View File

@@ -124,7 +124,7 @@ object PackageUtil {
}
if (isFdroidFilterEnabled) {
packageInfoList
packageInfoList = packageInfoList
.filter {
val packageInstaller = packageManager.getInstallerPackageName(it.packageName)
packageInstaller != "org.fdroid.fdroid.privileged"