Initial commit
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="de.mm20.launcher2.compat">
|
||||
|
||||
</manifest>
|
||||
@@ -0,0 +1,33 @@
|
||||
package de.mm20.launcher2.compat
|
||||
|
||||
import android.content.pm.PackageManager
|
||||
import android.os.Build
|
||||
|
||||
object PackageManagerCompat {
|
||||
fun getInstallSource(
|
||||
packageManager: PackageManager,
|
||||
packageName: String
|
||||
): InstallSourceInfoCompat {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
||||
val installSourceInfo = packageManager.getInstallSourceInfo(packageName)
|
||||
return InstallSourceInfoCompat(
|
||||
originatingPackageName = installSourceInfo.originatingPackageName,
|
||||
initiatingPackageName = installSourceInfo.initiatingPackageName,
|
||||
installingPackageName = installSourceInfo.installingPackageName,
|
||||
)
|
||||
} else {
|
||||
val installerPackageName = packageManager.getInstallerPackageName(packageName)
|
||||
return InstallSourceInfoCompat(
|
||||
originatingPackageName = installerPackageName,
|
||||
initiatingPackageName = installerPackageName,
|
||||
installingPackageName = installerPackageName
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
data class InstallSourceInfoCompat(
|
||||
val originatingPackageName: String?,
|
||||
val initiatingPackageName: String?,
|
||||
val installingPackageName: String?
|
||||
)
|
||||
Reference in New Issue
Block a user