Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit 7e512858 authored by Yurii Zubrytskyi's avatar Yurii Zubrytskyi
Browse files

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
parent 81f311d0
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment