summaryrefslogtreecommitdiff
path: root/libs/androidfw/StringPool.cpp
diff options
context:
space:
mode:
author Nan Wu <wnan@google.com> 2025-02-04 10:56:25 -0800
committer Nan Wu <wnan@google.com> 2025-02-06 14:52:56 +0000
commit82e10e4587e79cd7c8efdd0e7e195a00391c698c (patch)
tree687e896d254093b60dd2d286ed64447bb4d16ddb /libs/androidfw/StringPool.cpp
parentcc8b75ef40daaf4ccb779ba58814f30f509dd852 (diff)
Revert^2 "Fix LazyValue ClassLoader issue"
This reverts commit 2fd48af4c5f2cec41b8296b30836eed8c58408cb. Reason for revert: The revert broke Settings Add Account again. The original CL is to fix GmsCore side load module issue (Add Account and Wallet tap to pay) where the side loaded module relies on intent.setExtrasClassLoader to their modules classLoader and then unparcel values from the intent's extra bundle and use the new classLoader. But since collectExtraIntentKeys and checkCreatorToken now unparcel the values before the side loaded module retrieve their values, the original behavior would set the classLoader when they are first unparceled and wrong. This CL's original version fixed the issue so that retrieve value uses the most current classLoader of the bundle, instead of when the bundle first unparceled. But it missed a case where Bundle.putAll(bundle) method is used. In case of b1.putAll(b2), b2's nested bundles classLoaders are lost.see https://b.corp.google.com/issues/387716166#comment39 for detailed analysis of this case. That's why the CL was reverted. But revert broke Add Account feature again. So revert^2 and fix the putAll issue here by setting isFristRetrivedFromBundle to true for b2's nested bundles so that b2's nested bundles' classLoaders won't be changed again. Bug: 393185674 Bug: 387716166 Bug: 382633789 Change-Id: Ifa63d73e2b993708d8f14a356c4f53fba91c8698
Diffstat (limited to 'libs/androidfw/StringPool.cpp')
0 files changed, 0 insertions, 0 deletions