AppInstaller: Check if aurora services is also enabled

This ensures that users aren't shown Aurora Services as a valid installer
in case it is disabled by user or system.

* Also hardcode the required version to be 9 or above as it is the case right now.

Test: adb shell pm disable com.aurora.services

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
Aayush Gupta
2024-05-31 17:56:44 +05:30
parent 7bd15138df
commit 9004aa6df8

View File

@@ -28,9 +28,9 @@ import android.content.pm.PackageManager
import android.net.Uri import android.net.Uri
import android.os.Build import android.os.Build
import androidx.annotation.RequiresApi import androidx.annotation.RequiresApi
import androidx.core.content.pm.PackageInfoCompat
import com.aurora.extensions.isOAndAbove import com.aurora.extensions.isOAndAbove
import com.aurora.extensions.isPAndAbove import com.aurora.extensions.isPAndAbove
import com.aurora.store.BuildConfig
import com.aurora.store.R import com.aurora.store.R
import com.aurora.store.data.model.InstallerInfo import com.aurora.store.data.model.InstallerInfo
import com.aurora.store.data.room.download.Download import com.aurora.store.data.room.download.Download
@@ -108,19 +108,17 @@ class AppInstaller @Inject constructor(
} }
fun hasAuroraService(context: Context): Boolean { fun hasAuroraService(context: Context): Boolean {
val isInstalled = PackageUtil.isInstalled( return try {
context, val packageInfo = PackageUtil.getPackageInfo(
ServiceInstaller.PRIVILEGED_EXTENSION_PACKAGE_NAME
)
val isCorrectVersionInstalled =
PackageUtil.isInstalled(
context, context,
ServiceInstaller.PRIVILEGED_EXTENSION_PACKAGE_NAME, ServiceInstaller.PRIVILEGED_EXTENSION_PACKAGE_NAME
if (BuildConfig.VERSION_CODE < 31) 8 else 9
) )
val version = PackageInfoCompat.getLongVersionCode(packageInfo)
return isInstalled && isCorrectVersionInstalled packageInfo.applicationInfo.enabled && version >= 9
} catch (exception: Exception) {
false
}
} }
fun hasAppManager(context: Context): Boolean { fun hasAppManager(context: Context): Boolean {