graphics: Override system fonts with user-selected overlays

Only using user-selected fonts for a subset of system apps leads to an
inconsistent visual experience. While we've already applied them to the
system's Material UI themes, many apps have hard-code references to
sans-serif (whether it's through XML styles or Typeface.SANS_SERIF), so
it is also necessary to override Typeface fonts at runtime.

Changing overlays causes OverlayManagerService to schedule
ApplicationInfo updates for affected apps, which forces a configuration
change by incrementing Configuration#assetsSeq.

TODO: figure out why not all apps get consistent configuration updates
until manually relaunching activities

Co-authored-by: Adithya R <gh0strider.2k18.reborn@gmail.com>
Change-Id: I684a56315808f78f24a14cd6efeda0ea05e25abf
Signed-off-by: Chiranth A J <chiranth@m.ms.evolution-x.org>
Signed-off-by: mracar07 <umutcan@umutcanacar.me>
3 files changed