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
Loading
Please register or sign in to comment