diff options
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/os/incremental/IncrementalFileStorages.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/core/java/android/os/incremental/IncrementalFileStorages.java b/core/java/android/os/incremental/IncrementalFileStorages.java index 73520e07d118..2a42b981ac26 100644 --- a/core/java/android/os/incremental/IncrementalFileStorages.java +++ b/core/java/android/os/incremental/IncrementalFileStorages.java @@ -51,6 +51,8 @@ import java.util.UUID; public final class IncrementalFileStorages { private static final String TAG = "IncrementalFileStorages"; + private static final String SYSTEM_DATA_LOADER_PACKAGE = "android"; + private @NonNull final IncrementalManager mIncrementalManager; private @NonNull final File mStageDir; private @Nullable IncrementalStorage mInheritedStorage; @@ -116,7 +118,10 @@ public final class IncrementalFileStorages { mInheritedStorage = mIncrementalManager.openStorage( inheritedDir.getAbsolutePath()); if (mInheritedStorage != null) { - if (!mInheritedStorage.isFullyLoaded()) { + boolean systemDataLoader = SYSTEM_DATA_LOADER_PACKAGE.equals( + dataLoaderParams.getComponentName().getPackageName()); + if (systemDataLoader && !mInheritedStorage.isFullyLoaded()) { + // System data loader does not support incomplete storages. throw new IOException("Inherited storage has missing pages."); } |
