From 3477927db40933f02a5719d7cf46feba17a4257d Mon Sep 17 00:00:00 2001 From: Adam Lesinski Date: Wed, 20 Apr 2016 13:36:19 -0700 Subject: 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 --- core/java/android/app/ResourcesManager.java | 7 ++++--- 1 file 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); } } } -- cgit v1.2.3-59-g8ed1b