Implement recursive theme expansion and custom theme loading
So far one would have to overwrite the whole theme. That was true for user themes and device specific themes.
One can now just change the relevant theme entries and specify a parent-theme
that will then get loaded.
In order to keep device specific themes intact when chaining up to the default
theme the device specific
them is interleaved to keep the current behavior. This will allow us to:
- make feedbackd-device-themes significantly smaller (since we can just grab most of the entries from the default theme)
- implement configuration bits in phosh-mobile-settings since we can just honor the users current theme and put a
__custom
them before that
This e.g overrides the message-missed-instant
led feedback:
{
"name" : "custom",
"parent-name": "default",
"profiles" : [
{
"name" : "silent",
"feedbacks" : [
{
"event-name" : "message-missed-instant",
"type" : "Led",
"color" : "blue",
"frequency" : 5000
}
]
}
]
}
For more examples see the tests/test-fbd-theme-expander.c
and the associated json files.
We also greatly reduce untested logic in fbd-feedback-manager
by now tested code in the fbd-theme-expander
. Other bits moved to gmobile
Closes: #38 (closed)