Loading cmds/idmap2/libidmap2/Idmap.cpp +10 −4 Original line number Diff line number Diff line Loading @@ -117,6 +117,12 @@ const LoadedPackage* GetPackageAtIndex0(const LoadedArsc& loaded_arsc) { return loaded_arsc.GetPackageById(id); } Result<uint32_t> GetCrc(const ZipFile& zip) { const Result<uint32_t> a = zip.Crc("resources.arsc"); const Result<uint32_t> b = zip.Crc("AndroidManifest.xml"); return a && b ? Result<uint32_t>(*a ^ *b) : kResultError; } } // namespace std::unique_ptr<const IdmapHeader> IdmapHeader::FromBinaryStream(std::istream& stream) { Loading Loading @@ -153,7 +159,7 @@ bool IdmapHeader::IsUpToDate(std::ostream& out_error) const { return false; } Result<uint32_t> target_crc = target_zip->Crc("resources.arsc"); Result<uint32_t> target_crc = GetCrc(*target_zip); if (!target_crc) { out_error << "error: failed to get target crc" << std::endl; return false; Loading @@ -173,7 +179,7 @@ bool IdmapHeader::IsUpToDate(std::ostream& out_error) const { return false; } Result<uint32_t> overlay_crc = overlay_zip->Crc("resources.arsc"); Result<uint32_t> overlay_crc = GetCrc(*overlay_zip); if (!overlay_crc) { out_error << "error: failed to get overlay crc" << std::endl; return false; Loading Loading @@ -356,14 +362,14 @@ std::unique_ptr<const Idmap> Idmap::FromApkAssets( header->magic_ = kIdmapMagic; header->version_ = kIdmapCurrentVersion; Result<uint32_t> crc = target_zip->Crc("resources.arsc"); Result<uint32_t> crc = GetCrc(*target_zip); if (!crc) { out_error << "error: failed to get zip crc for target" << std::endl; return nullptr; } header->target_crc_ = *crc; crc = overlay_zip->Crc("resources.arsc"); crc = GetCrc(*overlay_zip); if (!crc) { out_error << "error: failed to get zip crc for overlay" << std::endl; return nullptr; Loading cmds/idmap2/tests/IdmapTests.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -191,8 +191,8 @@ TEST(IdmapTests, CreateIdmapFromApkAssets) { ASSERT_THAT(idmap->GetHeader(), NotNull()); ASSERT_EQ(idmap->GetHeader()->GetMagic(), 0x504d4449U); ASSERT_EQ(idmap->GetHeader()->GetVersion(), 0x01U); ASSERT_EQ(idmap->GetHeader()->GetTargetCrc(), 0xab7cf70d); ASSERT_EQ(idmap->GetHeader()->GetOverlayCrc(), 0xd470336b); ASSERT_EQ(idmap->GetHeader()->GetTargetCrc(), 0xdd53ca29); ASSERT_EQ(idmap->GetHeader()->GetOverlayCrc(), 0xa71ccd77); ASSERT_EQ(idmap->GetHeader()->GetTargetPath().to_string(), target_apk_path); ASSERT_EQ(idmap->GetHeader()->GetOverlayPath(), overlay_apk_path); ASSERT_EQ(idmap->GetHeader()->GetOverlayPath(), overlay_apk_path); Loading cmds/idmap2/tests/RawPrintVisitorTests.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -52,8 +52,8 @@ TEST(RawPrintVisitorTests, CreateRawPrintVisitor) { ASSERT_NE(stream.str().find("00000000: 504d4449 magic\n"), std::string::npos); ASSERT_NE(stream.str().find("00000004: 00000001 version\n"), std::string::npos); ASSERT_NE(stream.str().find("00000008: ab7cf70d target crc\n"), std::string::npos); ASSERT_NE(stream.str().find("0000000c: d470336b overlay crc\n"), std::string::npos); ASSERT_NE(stream.str().find("00000008: dd53ca29 target crc\n"), std::string::npos); ASSERT_NE(stream.str().find("0000000c: a71ccd77 overlay crc\n"), std::string::npos); ASSERT_NE(stream.str().find("0000021c: 00000000 0x7f010000 -> 0x7f010000 integer/int1\n"), std::string::npos); } Loading Loading
cmds/idmap2/libidmap2/Idmap.cpp +10 −4 Original line number Diff line number Diff line Loading @@ -117,6 +117,12 @@ const LoadedPackage* GetPackageAtIndex0(const LoadedArsc& loaded_arsc) { return loaded_arsc.GetPackageById(id); } Result<uint32_t> GetCrc(const ZipFile& zip) { const Result<uint32_t> a = zip.Crc("resources.arsc"); const Result<uint32_t> b = zip.Crc("AndroidManifest.xml"); return a && b ? Result<uint32_t>(*a ^ *b) : kResultError; } } // namespace std::unique_ptr<const IdmapHeader> IdmapHeader::FromBinaryStream(std::istream& stream) { Loading Loading @@ -153,7 +159,7 @@ bool IdmapHeader::IsUpToDate(std::ostream& out_error) const { return false; } Result<uint32_t> target_crc = target_zip->Crc("resources.arsc"); Result<uint32_t> target_crc = GetCrc(*target_zip); if (!target_crc) { out_error << "error: failed to get target crc" << std::endl; return false; Loading @@ -173,7 +179,7 @@ bool IdmapHeader::IsUpToDate(std::ostream& out_error) const { return false; } Result<uint32_t> overlay_crc = overlay_zip->Crc("resources.arsc"); Result<uint32_t> overlay_crc = GetCrc(*overlay_zip); if (!overlay_crc) { out_error << "error: failed to get overlay crc" << std::endl; return false; Loading Loading @@ -356,14 +362,14 @@ std::unique_ptr<const Idmap> Idmap::FromApkAssets( header->magic_ = kIdmapMagic; header->version_ = kIdmapCurrentVersion; Result<uint32_t> crc = target_zip->Crc("resources.arsc"); Result<uint32_t> crc = GetCrc(*target_zip); if (!crc) { out_error << "error: failed to get zip crc for target" << std::endl; return nullptr; } header->target_crc_ = *crc; crc = overlay_zip->Crc("resources.arsc"); crc = GetCrc(*overlay_zip); if (!crc) { out_error << "error: failed to get zip crc for overlay" << std::endl; return nullptr; Loading
cmds/idmap2/tests/IdmapTests.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -191,8 +191,8 @@ TEST(IdmapTests, CreateIdmapFromApkAssets) { ASSERT_THAT(idmap->GetHeader(), NotNull()); ASSERT_EQ(idmap->GetHeader()->GetMagic(), 0x504d4449U); ASSERT_EQ(idmap->GetHeader()->GetVersion(), 0x01U); ASSERT_EQ(idmap->GetHeader()->GetTargetCrc(), 0xab7cf70d); ASSERT_EQ(idmap->GetHeader()->GetOverlayCrc(), 0xd470336b); ASSERT_EQ(idmap->GetHeader()->GetTargetCrc(), 0xdd53ca29); ASSERT_EQ(idmap->GetHeader()->GetOverlayCrc(), 0xa71ccd77); ASSERT_EQ(idmap->GetHeader()->GetTargetPath().to_string(), target_apk_path); ASSERT_EQ(idmap->GetHeader()->GetOverlayPath(), overlay_apk_path); ASSERT_EQ(idmap->GetHeader()->GetOverlayPath(), overlay_apk_path); Loading
cmds/idmap2/tests/RawPrintVisitorTests.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -52,8 +52,8 @@ TEST(RawPrintVisitorTests, CreateRawPrintVisitor) { ASSERT_NE(stream.str().find("00000000: 504d4449 magic\n"), std::string::npos); ASSERT_NE(stream.str().find("00000004: 00000001 version\n"), std::string::npos); ASSERT_NE(stream.str().find("00000008: ab7cf70d target crc\n"), std::string::npos); ASSERT_NE(stream.str().find("0000000c: d470336b overlay crc\n"), std::string::npos); ASSERT_NE(stream.str().find("00000008: dd53ca29 target crc\n"), std::string::npos); ASSERT_NE(stream.str().find("0000000c: a71ccd77 overlay crc\n"), std::string::npos); ASSERT_NE(stream.str().find("0000021c: 00000000 0x7f010000 -> 0x7f010000 integer/int1\n"), std::string::npos); } Loading