Ensure correct version of services is installed
This commit is contained in:
@@ -31,7 +31,7 @@ android {
|
|||||||
minSdkVersion 19
|
minSdkVersion 19
|
||||||
targetSdkVersion 30
|
targetSdkVersion 30
|
||||||
|
|
||||||
versionCode 30
|
versionCode 31
|
||||||
versionName "4.0.1"
|
versionName "4.0.1"
|
||||||
|
|
||||||
vectorDrawables.useSupportLibrary = true
|
vectorDrawables.useSupportLibrary = true
|
||||||
|
|||||||
@@ -39,6 +39,18 @@ object PackageUtil {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun isInstalled(context: Context, packageName: String,versionCode: Int): Boolean {
|
||||||
|
return try {
|
||||||
|
val packageInfo = getPackageInfo(context, packageName)
|
||||||
|
if (packageInfo != null) {
|
||||||
|
return versionCode == packageInfo.versionCode
|
||||||
|
}
|
||||||
|
true
|
||||||
|
} catch (e: PackageManager.NameNotFoundException) {
|
||||||
|
false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fun isUpdatable(context: Context, packageName: String, versionCode: Long): Boolean {
|
fun isUpdatable(context: Context, packageName: String, versionCode: Long): Boolean {
|
||||||
return try {
|
return try {
|
||||||
val packageInfo = getPackageInfo(context, packageName)
|
val packageInfo = getPackageInfo(context, packageName)
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ import android.view.ViewGroup
|
|||||||
import com.aurora.extensions.isMIUI
|
import com.aurora.extensions.isMIUI
|
||||||
import com.aurora.extensions.isMiuiOptimizationDisabled
|
import com.aurora.extensions.isMiuiOptimizationDisabled
|
||||||
import com.aurora.extensions.showDialog
|
import com.aurora.extensions.showDialog
|
||||||
|
import com.aurora.store.BuildConfig
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.data.installer.ServiceInstaller
|
import com.aurora.store.data.installer.ServiceInstaller
|
||||||
import com.aurora.store.data.model.Installer
|
import com.aurora.store.data.model.Installer
|
||||||
@@ -154,9 +155,18 @@ class InstallerFragment : BaseFragment() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun checkServicesAvailability(): Boolean {
|
private fun checkServicesAvailability(): Boolean {
|
||||||
return PackageUtil.isInstalled(
|
val isInstalled = PackageUtil.isInstalled(
|
||||||
requireContext(),
|
requireContext(),
|
||||||
ServiceInstaller.PRIVILEGED_EXTENSION_PACKAGE_NAME
|
ServiceInstaller.PRIVILEGED_EXTENSION_PACKAGE_NAME
|
||||||
)
|
)
|
||||||
|
|
||||||
|
val isCorrectVersionInstalled =
|
||||||
|
PackageUtil.isInstalled(
|
||||||
|
requireContext(),
|
||||||
|
ServiceInstaller.PRIVILEGED_EXTENSION_PACKAGE_NAME,
|
||||||
|
if (BuildConfig.VERSION_CODE < 31) 8 else 9
|
||||||
|
)
|
||||||
|
|
||||||
|
return isInstalled && isCorrectVersionInstalled
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -37,7 +37,6 @@ import com.aurora.extensions.toast
|
|||||||
import com.aurora.store.BuildConfig
|
import com.aurora.store.BuildConfig
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.data.model.Permission
|
import com.aurora.store.data.model.Permission
|
||||||
import com.aurora.store.databinding.FragmentOnboardingInstallerBinding
|
|
||||||
import com.aurora.store.databinding.FragmentOnboardingPermissionsBinding
|
import com.aurora.store.databinding.FragmentOnboardingPermissionsBinding
|
||||||
import com.aurora.store.view.epoxy.views.preference.PermissionViewModel_
|
import com.aurora.store.view.epoxy.views.preference.PermissionViewModel_
|
||||||
import com.aurora.store.view.ui.commons.BaseFragment
|
import com.aurora.store.view.ui.commons.BaseFragment
|
||||||
@@ -104,8 +103,8 @@ class PermissionsFragment : BaseFragment() {
|
|||||||
requireContext(),
|
requireContext(),
|
||||||
Manifest.permission.WRITE_EXTERNAL_STORAGE
|
Manifest.permission.WRITE_EXTERNAL_STORAGE
|
||||||
) == PackageManager.PERMISSION_GRANTED
|
) == PackageManager.PERMISSION_GRANTED
|
||||||
1 -> isRAndAbove() && Environment.isExternalStorageManager()
|
1 -> if (isRAndAbove()) Environment.isExternalStorageManager() else true
|
||||||
2 -> isOAndAbove() && requireContext().packageManager.canRequestPackageInstalls()
|
2 -> if (isOAndAbove()) requireContext().packageManager.canRequestPackageInstalls() else true
|
||||||
else -> false
|
else -> false
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ import androidx.preference.PreferenceFragmentCompat
|
|||||||
import com.aurora.extensions.runOnUiThread
|
import com.aurora.extensions.runOnUiThread
|
||||||
import com.aurora.extensions.showDialog
|
import com.aurora.extensions.showDialog
|
||||||
import com.aurora.extensions.toast
|
import com.aurora.extensions.toast
|
||||||
|
import com.aurora.store.BuildConfig
|
||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.data.installer.ServiceInstaller
|
import com.aurora.store.data.installer.ServiceInstaller
|
||||||
import com.aurora.store.util.CommonUtil
|
import com.aurora.store.util.CommonUtil
|
||||||
@@ -100,9 +101,18 @@ class InstallationPreference : PreferenceFragmentCompat() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun checkServicesAvailability(): Boolean {
|
private fun checkServicesAvailability(): Boolean {
|
||||||
return PackageUtil.isInstalled(
|
val isInstalled = PackageUtil.isInstalled(
|
||||||
requireContext(),
|
requireContext(),
|
||||||
ServiceInstaller.PRIVILEGED_EXTENSION_PACKAGE_NAME
|
ServiceInstaller.PRIVILEGED_EXTENSION_PACKAGE_NAME
|
||||||
)
|
)
|
||||||
|
|
||||||
|
val isCorrectVersionInstalled =
|
||||||
|
PackageUtil.isInstalled(
|
||||||
|
requireContext(),
|
||||||
|
ServiceInstaller.PRIVILEGED_EXTENSION_PACKAGE_NAME,
|
||||||
|
if (BuildConfig.VERSION_CODE < 31) 8 else 9
|
||||||
|
)
|
||||||
|
|
||||||
|
return isInstalled && isCorrectVersionInstalled
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -214,7 +214,7 @@
|
|||||||
<string name="installer_root_available">"Root access available"</string>
|
<string name="installer_root_available">"Root access available"</string>
|
||||||
<string name="installer_root_unavailable">"No Root, grant root access or change the installer."</string>
|
<string name="installer_root_unavailable">"No Root, grant root access or change the installer."</string>
|
||||||
<string name="installer_service_available">"Aurora services is available and ready to install."</string>
|
<string name="installer_service_available">"Aurora services is available and ready to install."</string>
|
||||||
<string name="installer_service_unavailable">"Aurora services not installed, kindly install it or change installer"</string>
|
<string name="installer_service_unavailable">"Aurora services is either not installed or version is incorrect (required >= 1.0.9), kindly install it or change installer"</string>
|
||||||
<string name="installer_service_misconfigured">"Aurora services not configured. Make sure service is enabled & all permissions are granted"</string>
|
<string name="installer_service_misconfigured">"Aurora services not configured. Make sure service is enabled & all permissions are granted"</string>
|
||||||
<string name="installer_status_failure">"Installation failed"</string>
|
<string name="installer_status_failure">"Installation failed"</string>
|
||||||
<string name="installer_status_failure_aborted">"Installation cancelled"</string>
|
<string name="installer_status_failure_aborted">"Installation cancelled"</string>
|
||||||
|
|||||||
Reference in New Issue
Block a user