summaryrefslogtreecommitdiff
path: root/libs/androidfw/StringPool.cpp
diff options
context:
space:
mode:
author Yurii Zubrytskyi <zyy@google.com> 2024-04-17 19:10:38 -0700
committer Yurii Zubrytskyi <zyy@google.com> 2024-05-01 15:30:58 -0700
commit7e51285885ff2a562c44f5bfcc2078c2a8bc6c4d (patch)
tree8f40539abb9f21895aadd0e38a4824d440d6f915 /libs/androidfw/StringPool.cpp
parent81f311d0379abb443d702ece39b1ff963c4b7e25 (diff)
Fix the system gender in ActivityRecord objects
There are two sources of the Configuration objects for each process - one in WindowProcessController and one in ActivityRecord. Inside each of those objects there are two kinds of the configuration - one is the copy of the global config, and another one is a local override, only filling in the fields that are supposed to take precedence over the global one. This CL reimplments the way system-global grammatical gender is propagated to the running processes: 1. AR and WPC reimplement setOverrideGender() to apply the per-process visibility logic 2. Per-process configuration settings are now explicitly applied even when there are none yet, with nulls in all arguments. This way the code can recalculate per-process gender value even with no app override. 3. Global configuration never leaves the gender value unset, making sure UNDEFINED is only used for overrides. This prevents the processes getting spurious config updates with the value being either undefined or not_specified, which is effectively the same 4. Set up a proper grammatical manager service mock in WmTests to not rely on external device config or even developer settings. + Small refactoring in GrammaticalInflectionManager + fix the backup helper cache clearing to not skip the next record Bug: 332955145 Test: atest WmTests + manual privileged/regular app installation Change-Id: I60edb71f3fae6360f7e7a09b37ecd0e6bfe84db6
Diffstat (limited to 'libs/androidfw/StringPool.cpp')
0 files changed, 0 insertions, 0 deletions