diff options
| author | 2016-04-20 13:36:19 -0700 | |
|---|---|---|
| committer | 2016-04-20 13:36:19 -0700 | |
| commit | 3477927db40933f02a5719d7cf46feba17a4257d (patch) | |
| tree | 3b80137a7327f10ea32bd89d62fcfcfc1452e7ed | |
| parent | fdb26b90cbbd1db31d2ee1b2c4c38cfcc7d6a46c (diff) | |
ResourcesManager: Throw exception if failed to load asset path
Previously if we failed to load an asset path, we would return a
null AssetManager which would lead to an immediate NPE.
Throw a proper exception instead, detailing which path failed to load.
Bug:28216288
Change-Id: I491b9316b837bf333b5ae78d4eb1ee31741617ec
| -rw-r--r-- | core/java/android/app/ResourcesManager.java | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/core/java/android/app/ResourcesManager.java b/core/java/android/app/ResourcesManager.java index aef92cf21711..d8a3d4f3fa07 100644 --- a/core/java/android/app/ResourcesManager.java +++ b/core/java/android/app/ResourcesManager.java @@ -224,7 +224,7 @@ public class ResourcesManager { * @return a new AssetManager. */ @VisibleForTesting - protected AssetManager createAssetManager(@NonNull final ResourcesKey key) { + protected @NonNull AssetManager createAssetManager(@NonNull final ResourcesKey key) { AssetManager assets = new AssetManager(); // resDir can be null if the 'android' package is creating a new Resources object. @@ -232,14 +232,15 @@ public class ResourcesManager { // already. if (key.mResDir != null) { if (assets.addAssetPath(key.mResDir) == 0) { - return null; + throw new IllegalArgumentException("failed to add asset path " + key.mResDir); } } if (key.mSplitResDirs != null) { for (final String splitResDir : key.mSplitResDirs) { if (assets.addAssetPath(splitResDir) == 0) { - return null; + throw new IllegalArgumentException( + "failed to add split asset path " + splitResDir); } } } |