Merge "Revert "[pm/incremental] start monitoring progress on storage creation"" into sc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
76e71ffa2c
@@ -36,7 +36,6 @@ import android.annotation.Nullable;
|
||||
import android.content.Context;
|
||||
import android.content.pm.DataLoaderParams;
|
||||
import android.content.pm.IDataLoaderStatusListener;
|
||||
import android.content.pm.IPackageLoadingProgressCallback;
|
||||
import android.content.pm.InstallationFileParcel;
|
||||
import android.text.TextUtils;
|
||||
|
||||
@@ -71,8 +70,7 @@ public final class IncrementalFileStorages {
|
||||
@Nullable StorageHealthCheckParams healthCheckParams,
|
||||
@Nullable IStorageHealthListener healthListener,
|
||||
@NonNull List<InstallationFileParcel> addedFiles,
|
||||
@NonNull PerUidReadTimeouts[] perUidReadTimeouts,
|
||||
IPackageLoadingProgressCallback progressCallback) throws IOException {
|
||||
@NonNull PerUidReadTimeouts[] perUidReadTimeouts) throws IOException {
|
||||
// TODO(b/136132412): validity check if session should not be incremental
|
||||
IncrementalManager incrementalManager = (IncrementalManager) context.getSystemService(
|
||||
Context.INCREMENTAL_SERVICE);
|
||||
@@ -97,11 +95,7 @@ public final class IncrementalFileStorages {
|
||||
throw new IOException("Unknown file location: " + file.location);
|
||||
}
|
||||
}
|
||||
// Register progress loading callback after files have been added
|
||||
if (progressCallback != null) {
|
||||
incrementalManager.registerLoadingProgressCallback(stageDir.getAbsolutePath(),
|
||||
progressCallback);
|
||||
}
|
||||
|
||||
result.startLoading();
|
||||
|
||||
return result;
|
||||
@@ -186,7 +180,6 @@ public final class IncrementalFileStorages {
|
||||
|
||||
try {
|
||||
mDefaultStorage.unBind(mStageDir.getAbsolutePath());
|
||||
mDefaultStorage.unregisterLoadingProgressListener();
|
||||
} catch (IOException ignored) {
|
||||
}
|
||||
mDefaultStorage = null;
|
||||
|
||||
@@ -70,7 +70,6 @@ import android.content.pm.IDataLoaderStatusListener;
|
||||
import android.content.pm.IPackageInstallObserver2;
|
||||
import android.content.pm.IPackageInstallerSession;
|
||||
import android.content.pm.IPackageInstallerSessionFileSystemConnector;
|
||||
import android.content.pm.IPackageLoadingProgressCallback;
|
||||
import android.content.pm.InstallationFile;
|
||||
import android.content.pm.InstallationFileParcel;
|
||||
import android.content.pm.PackageInfo;
|
||||
@@ -322,8 +321,6 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
|
||||
private float mProgress = 0;
|
||||
@GuardedBy("mLock")
|
||||
private float mReportedProgress = -1;
|
||||
@GuardedBy("mLock")
|
||||
private float mIncrementalProgress = 0;
|
||||
|
||||
/** State of the session. */
|
||||
@GuardedBy("mLock")
|
||||
@@ -1202,12 +1199,7 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
|
||||
|
||||
@GuardedBy("mLock")
|
||||
private void computeProgressLocked(boolean forcePublish) {
|
||||
// This method is triggered when the client progress is updated or the incremental progress
|
||||
// is updated. For incremental installs, ignore the progress values reported from client.
|
||||
// Instead, only use the progress reported by IncFs as the percentage of loading completion.
|
||||
final float loadingProgress =
|
||||
isIncrementalInstallation() ? mIncrementalProgress : mClientProgress;
|
||||
mProgress = MathUtils.constrain(loadingProgress * 0.8f, 0f, 0.8f)
|
||||
mProgress = MathUtils.constrain(mClientProgress * 0.8f, 0f, 0.8f)
|
||||
+ MathUtils.constrain(mInternalProgress * 0.2f, 0f, 0.2f);
|
||||
|
||||
// Only publish when meaningful change
|
||||
@@ -3767,16 +3759,7 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
|
||||
try {
|
||||
mIncrementalFileStorages = IncrementalFileStorages.initialize(mContext, stageDir,
|
||||
params, statusListener, healthCheckParams, healthListener, addedFiles,
|
||||
perUidReadTimeouts,
|
||||
new IPackageLoadingProgressCallback.Stub() {
|
||||
@Override
|
||||
public void onPackageLoadingProgressChanged(float progress) {
|
||||
synchronized (mLock) {
|
||||
mIncrementalProgress = progress;
|
||||
computeProgressLocked(true);
|
||||
}
|
||||
}
|
||||
});
|
||||
perUidReadTimeouts);
|
||||
return false;
|
||||
} catch (IOException e) {
|
||||
throw new PackageManagerException(INSTALL_FAILED_MEDIA_UNAVAILABLE, e.getMessage(),
|
||||
|
||||
Reference in New Issue
Block a user