Loading cmds/idmap/create.cpp +6 −2 Original line number Diff line number Diff line Loading @@ -104,13 +104,17 @@ fail: } } uint32_t cached_target_crc, cached_overlay_crc; uint32_t version, cached_target_crc, cached_overlay_crc; String8 cached_target_path, cached_overlay_path; if (!ResTable::getIdmapInfo(buf, N, NULL, &cached_target_crc, &cached_overlay_crc, if (!ResTable::getIdmapInfo(buf, N, &version, &cached_target_crc, &cached_overlay_crc, &cached_target_path, &cached_overlay_path)) { return true; } if (version != ResTable::IDMAP_CURRENT_VERSION) { return true; } if (cached_target_path != target_apk_path) { return true; } Loading libs/androidfw/ResourceTypes.cpp +3 −4 Original line number Diff line number Diff line Loading @@ -59,7 +59,6 @@ namespace android { #endif #define IDMAP_MAGIC 0x504D4449 #define IDMAP_CURRENT_VERSION 0x00000001 #define APP_PACKAGE_ID 0x7f #define SYS_PACKAGE_ID 0x01 Loading Loading @@ -246,11 +245,11 @@ static bool assertIdmapHeader(const void* idmap, size_t size) { } const uint32_t version = htodl(*(reinterpret_cast<const uint32_t*>(idmap) + 1)); if (version != IDMAP_CURRENT_VERSION) { if (version != ResTable::IDMAP_CURRENT_VERSION) { // We are strict about versions because files with this format are // auto-generated and don't need backwards compatibility. ALOGW("idmap: version mismatch in header (is 0x%08x, expected 0x%08x)", version, IDMAP_CURRENT_VERSION); version, ResTable::IDMAP_CURRENT_VERSION); return false; } return true; Loading Loading @@ -6855,7 +6854,7 @@ status_t ResTable::createIdmap(const ResTable& overlay, uint32_t* data = (uint32_t*)*outData; *data++ = htodl(IDMAP_MAGIC); *data++ = htodl(IDMAP_CURRENT_VERSION); *data++ = htodl(ResTable::IDMAP_CURRENT_VERSION); *data++ = htodl(targetCrc); *data++ = htodl(overlayCrc); const char* paths[] = { targetPath, overlayPath }; Loading libs/androidfw/include/androidfw/ResourceTypes.h +1 −0 Original line number Diff line number Diff line Loading @@ -1933,6 +1933,7 @@ public: void** outData, size_t* outSize) const; static const size_t IDMAP_HEADER_SIZE_BYTES = 4 * sizeof(uint32_t) + 2 * 256; static const uint32_t IDMAP_CURRENT_VERSION = 0x00000001; // Retrieve idmap meta-data. // Loading Loading
cmds/idmap/create.cpp +6 −2 Original line number Diff line number Diff line Loading @@ -104,13 +104,17 @@ fail: } } uint32_t cached_target_crc, cached_overlay_crc; uint32_t version, cached_target_crc, cached_overlay_crc; String8 cached_target_path, cached_overlay_path; if (!ResTable::getIdmapInfo(buf, N, NULL, &cached_target_crc, &cached_overlay_crc, if (!ResTable::getIdmapInfo(buf, N, &version, &cached_target_crc, &cached_overlay_crc, &cached_target_path, &cached_overlay_path)) { return true; } if (version != ResTable::IDMAP_CURRENT_VERSION) { return true; } if (cached_target_path != target_apk_path) { return true; } Loading
libs/androidfw/ResourceTypes.cpp +3 −4 Original line number Diff line number Diff line Loading @@ -59,7 +59,6 @@ namespace android { #endif #define IDMAP_MAGIC 0x504D4449 #define IDMAP_CURRENT_VERSION 0x00000001 #define APP_PACKAGE_ID 0x7f #define SYS_PACKAGE_ID 0x01 Loading Loading @@ -246,11 +245,11 @@ static bool assertIdmapHeader(const void* idmap, size_t size) { } const uint32_t version = htodl(*(reinterpret_cast<const uint32_t*>(idmap) + 1)); if (version != IDMAP_CURRENT_VERSION) { if (version != ResTable::IDMAP_CURRENT_VERSION) { // We are strict about versions because files with this format are // auto-generated and don't need backwards compatibility. ALOGW("idmap: version mismatch in header (is 0x%08x, expected 0x%08x)", version, IDMAP_CURRENT_VERSION); version, ResTable::IDMAP_CURRENT_VERSION); return false; } return true; Loading Loading @@ -6855,7 +6854,7 @@ status_t ResTable::createIdmap(const ResTable& overlay, uint32_t* data = (uint32_t*)*outData; *data++ = htodl(IDMAP_MAGIC); *data++ = htodl(IDMAP_CURRENT_VERSION); *data++ = htodl(ResTable::IDMAP_CURRENT_VERSION); *data++ = htodl(targetCrc); *data++ = htodl(overlayCrc); const char* paths[] = { targetPath, overlayPath }; Loading
libs/androidfw/include/androidfw/ResourceTypes.h +1 −0 Original line number Diff line number Diff line Loading @@ -1933,6 +1933,7 @@ public: void** outData, size_t* outSize) const; static const size_t IDMAP_HEADER_SIZE_BYTES = 4 * sizeof(uint32_t) + 2 * 256; static const uint32_t IDMAP_CURRENT_VERSION = 0x00000001; // Retrieve idmap meta-data. // Loading