Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ab60442c authored by Songchun Fan's avatar Songchun Fan
Browse files

[pm] fix progress on commit for non-incremental apps

Previous change resets non-incremental install progress to 0 upon
committing.

BUG: 182698653
Test: manual
Change-Id: I6124660362e8d6cbf9fc8af47886c3fc4077c5a0
parent f3a77c8f
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -1212,12 +1212,18 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
            mProgress = MathUtils.constrain(mClientProgress * 0.8f, 0f, 0.8f)
                    + MathUtils.constrain(mInternalProgress * 0.2f, 0f, 0.2f);
        } else {
            // For incremental installs, continue publishing the install progress during committing.
            // For incremental install, continue to publish incremental progress during committing.
            if (isIncrementalInstallation() && (mIncrementalProgress - mProgress) >= 0.01) {
                // It takes some time for data loader to write to incremental file system, so at the
                // beginning of the commit, the incremental progress might be very small.
                // Wait till the incremental progress is larger than what's already displayed.
                // This way we don't see the progress ring going backwards.
                mProgress = mIncrementalProgress;
            }
        }

        // Only publish when meaningful change
        if (forcePublish || Math.abs(mProgress - mReportedProgress) >= 0.01) {
        if (forcePublish || (mProgress - mReportedProgress) >= 0.01) {
            mReportedProgress = mProgress;
            mCallback.onSessionProgressChanged(this, mProgress);
        }