diff --git a/services/core/java/com/android/server/pm/PackageSetting.java b/services/core/java/com/android/server/pm/PackageSetting.java index 9b926973945c3..494709c17e066 100644 --- a/services/core/java/com/android/server/pm/PackageSetting.java +++ b/services/core/java/com/android/server/pm/PackageSetting.java @@ -1195,8 +1195,11 @@ public class PackageSetting extends SettingBase implements PackageStateInternal } public PackageSetting setLoadingProgress(float progress) { - mLoadingProgress = progress; - onChanged(); + // To prevent race conditions, we don't allow progress to ever go down + if (mLoadingProgress < progress) { + mLoadingProgress = progress; + onChanged(); + } return this; }