Don't run post-install steps for shared libs
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
@@ -100,7 +100,8 @@ class RootInstaller @Inject constructor(
|
|||||||
val shellResult = Shell.cmd("pm install-commit $sessionId").exec()
|
val shellResult = Shell.cmd("pm install-commit $sessionId").exec()
|
||||||
|
|
||||||
if (shellResult.isSuccess) {
|
if (shellResult.isSuccess) {
|
||||||
onInstallationSuccess()
|
// Installation is not yet finished if this is a shared library
|
||||||
|
if (packageName == download?.packageName) onInstallationSuccess()
|
||||||
} else {
|
} else {
|
||||||
removeFromInstallQueue(packageName)
|
removeFromInstallQueue(packageName)
|
||||||
val event = InstallerEvent.Failed(
|
val event = InstallerEvent.Failed(
|
||||||
|
|||||||
@@ -247,7 +247,8 @@ class ServiceInstaller @Inject constructor(
|
|||||||
context.getString(R.string.installer_status_success)
|
context.getString(R.string.installer_status_success)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
onInstallationSuccess()
|
// Installation is not yet finished if this is a shared library
|
||||||
|
if (packageName == download?.packageName) onInstallationSuccess()
|
||||||
}
|
}
|
||||||
else -> {
|
else -> {
|
||||||
val error = AppInstaller.getErrorString(
|
val error = AppInstaller.getErrorString(
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ import com.aurora.store.data.installer.AppInstaller.Companion.EXTRA_DOWNLOAD
|
|||||||
import com.aurora.store.data.room.download.Download
|
import com.aurora.store.data.room.download.Download
|
||||||
import com.aurora.store.util.CommonUtil.inForeground
|
import com.aurora.store.util.CommonUtil.inForeground
|
||||||
import com.aurora.store.util.NotificationUtil
|
import com.aurora.store.util.NotificationUtil
|
||||||
|
import com.aurora.store.util.PackageUtil
|
||||||
import com.aurora.store.util.PathUtil
|
import com.aurora.store.util.PathUtil
|
||||||
import com.aurora.store.util.Preferences
|
import com.aurora.store.util.Preferences
|
||||||
import com.aurora.store.util.Preferences.PREFERENCE_AUTO_DELETE
|
import com.aurora.store.util.Preferences.PREFERENCE_AUTO_DELETE
|
||||||
@@ -52,7 +53,7 @@ class InstallerStatusReceiver : BroadcastReceiver() {
|
|||||||
|
|
||||||
override fun onReceive(context: Context, intent: Intent) {
|
override fun onReceive(context: Context, intent: Intent) {
|
||||||
if (intent.action == ACTION_INSTALL_STATUS) {
|
if (intent.action == ACTION_INSTALL_STATUS) {
|
||||||
val packageName = intent.getStringExtra(PackageInstaller.EXTRA_PACKAGE_NAME)
|
val packageName = intent.getStringExtra(PackageInstaller.EXTRA_PACKAGE_NAME)!!
|
||||||
val status = intent.getIntExtra(PackageInstaller.EXTRA_STATUS, -1)
|
val status = intent.getIntExtra(PackageInstaller.EXTRA_STATUS, -1)
|
||||||
val extra = intent.getStringExtra(PackageInstaller.EXTRA_STATUS_MESSAGE)
|
val extra = intent.getStringExtra(PackageInstaller.EXTRA_STATUS_MESSAGE)
|
||||||
val download = IntentCompat.getParcelableExtra(
|
val download = IntentCompat.getParcelableExtra(
|
||||||
@@ -61,6 +62,9 @@ class InstallerStatusReceiver : BroadcastReceiver() {
|
|||||||
|
|
||||||
// If package was successfully installed, exit after notifying user and doing cleanup
|
// If package was successfully installed, exit after notifying user and doing cleanup
|
||||||
if (status == PackageInstaller.STATUS_SUCCESS && download != null) {
|
if (status == PackageInstaller.STATUS_SUCCESS && download != null) {
|
||||||
|
// No post-install steps for shared libraries
|
||||||
|
if (PackageUtil.isSharedLibrary(context, packageName)) return
|
||||||
|
|
||||||
AppInstaller.notifyInstallation(context, download)
|
AppInstaller.notifyInstallation(context, download)
|
||||||
if (Preferences.getBoolean(context, PREFERENCE_AUTO_DELETE)) {
|
if (Preferences.getBoolean(context, PREFERENCE_AUTO_DELETE)) {
|
||||||
PathUtil.getAppDownloadDir(context, download.packageName, download.versionCode)
|
PathUtil.getAppDownloadDir(context, download.packageName, download.versionCode)
|
||||||
@@ -73,7 +77,7 @@ class InstallerStatusReceiver : BroadcastReceiver() {
|
|||||||
promptUser(intent, context)
|
promptUser(intent, context)
|
||||||
} else {
|
} else {
|
||||||
postStatus(status, packageName, extra, context)
|
postStatus(status, packageName, extra, context)
|
||||||
notifyUser(context, packageName!!, status)
|
notifyUser(context, packageName, status)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user