diff options
-rw-r--r-- | core/jni/android_util_AssetManager.cpp | 15 | ||||
-rw-r--r-- | include/androidfw/AssetManager.h | 2 |
2 files changed, 8 insertions, 9 deletions
diff --git a/core/jni/android_util_AssetManager.cpp b/core/jni/android_util_AssetManager.cpp index 5a4348e478dd..6dd7a6a08d5d 100644 --- a/core/jni/android_util_AssetManager.cpp +++ b/core/jni/android_util_AssetManager.cpp @@ -186,18 +186,17 @@ static void verifySystemIdmaps() argv[argc++] = AssetManager::IDMAP_DIR; // Directories to scan for overlays: if OVERLAY_SKU_DIR_PROPERTY is defined, - // use OVERLAY_DIR/<value of OVERLAY_SKU_DIR_PROPERTY> if exists, otherwise - // use OVERLAY_DIR if exists. + // use OVERLAY_DIR/<value of OVERLAY_SKU_DIR_PROPERTY> in addition to OVERLAY_DIR. char subdir[PROP_VALUE_MAX]; int len = __system_property_get(AssetManager::OVERLAY_SKU_DIR_PROPERTY, subdir); - String8 overlayPath; if (len > 0) { - overlayPath = String8(AssetManager::OVERLAY_DIR) + "/" + subdir; - } else { - overlayPath = String8(AssetManager::OVERLAY_DIR); + String8 overlayPath = String8(AssetManager::OVERLAY_DIR) + "/" + subdir; + if (stat(overlayPath.string(), &st) == 0) { + argv[argc++] = overlayPath.string(); + } } - if (stat(overlayPath.string(), &st) == 0) { - argv[argc++] = overlayPath.string(); + if (stat(AssetManager::OVERLAY_DIR, &st) == 0) { + argv[argc++] = AssetManager::OVERLAY_DIR; } // Finally, invoke idmap (if any overlay directory exists) diff --git a/include/androidfw/AssetManager.h b/include/androidfw/AssetManager.h index 3b5cdcefd631..7aec3239e1c0 100644 --- a/include/androidfw/AssetManager.h +++ b/include/androidfw/AssetManager.h @@ -71,7 +71,7 @@ public: static const char* OVERLAY_DIR; /* * If OVERLAY_SKU_DIR_PROPERTY is set, search for runtime resource overlay - * APKs in OVERLAY_DIR/<value of OVERLAY_SKU_DIR_PROPERTY> rather than in + * APKs in OVERLAY_DIR/<value of OVERLAY_SKU_DIR_PROPERTY> in addition to * OVERLAY_DIR. */ static const char* OVERLAY_SKU_DIR_PROPERTY; |