* The power level is passed down as the alpha channel now,
in order to preserve consistency and still pass down
the color of the battery lights given to the liblights
Change-Id: Ia44cf1f73f09da6c96ac3b98e9387f1e3ec42249
Extending the BrokerableCMSystemService allows a core
system service to declare a delegate provider interface
that can exist in another package, either in the same
or an external process.
Change-Id: Idf8d170b1504528b0d3aafb23895951e26459c98
Ensures the active profile is applied when user enables
system profiles. The profile will be automatically applied
upon activation if:
- No triggers are defined (i.e the profile does not respond
to events)
- A ON_CONNECT WiFi/BT trigger is defined and the device is
currently connected to such network/device
If system profiles are already enabled and a WiFi/BT event
is fired, apply the profile overrides
Change-Id: I362893151e52d35636d2ac05ab35e986d1f7237e
TICKET: CYNGNOS-3104
ThemeUtils has method for getting the default theme package name
which will return ThemeConfig.SYSTEM_DEFAULT if no default theme
package is defined in CMSettings. Use this method rather than read
the setting directly.
Change-Id: I924f8ee116d97a8f3fcf4703214376608b31f297
Notifies the ProfileTrustAgent when a WiFi/BT event was triggered even
if no new profile was selected so the trust agent can grant/revoke trust
Filters out the multiple network state change notifications to make sure
we notify the trust agent only when the event that the profile
is tracking actually happened
Change-Id: I047861a8b145762fff24568e341373a89ee01de9
TICKET: CYNGNOS-2719
Fixes an issue where audibles would be "unknown" causing them to
not play when phone rings, notifications arive or an alarm goes off
Change-Id: If279ed7e88784c025999822da7ee3a1a51d63bbd
TICKET: CYNGNOS-2728
There is a race condition between when onBootPhase(PHASE_SYSTEM_SERVICES_READY)
is handled and when clients request profiles, cpu boost, or launch boost.
Drop these requests in this condition.
OPO-702
Change-Id: I0860f824473767a4a4776e9febc7fb786b81f457
The mService member variable should not be used directly as this can
cause an NPE if the backing service has died. Instead, use the
getServiceGuarded() method which will take care of re-establishing
a connection to the backing service.
Change-Id: I290e69c07a2e56644de7a394543d1e36fac1cbcc
TICKET: CYNGNOS-2779
* We need this for vendor perf tools.
* This also adds a NativeHelper class which loads the JNI
library on-demand, since we don't have an entry point.
Change-Id: If76ad8f952e86366978ae9cf9d1f107febccc28b
* This is a rework of the session callback API which previously
lived in the framework due to JNI usage. This has been split out
and cleaned up for CMSDK.
* The JNI library lives on the server side, and the app-level
callback has been changed to a protected broadcast. This allows
us to wake up registered services when these events occur.
* Additionally, we support listing all active audio sessions.
* Also brings some JNI love/hate over to CMSDK.
Change-Id: I31c293943474419e3db088bb7ffab75f7440ac0f
* If the screen is off during the entire transition period,
when we turn the display back on it is not updated with
the correct color temperature.
* The code here is trying to be Mr. Smarty Pants and avoid
extra updates, but it's totally pointless and also broken.
There's no ill effects from writing to the hardware when
the screen comes on, and updateColorTemperature already
has all the other conditionals we need.
* Just call updateColorTemperature every time, regardless.
The LiveDisplayService ensures the callbacks run on the
handler thread and all this crap can be removed.
Change-Id: Ib9560e13870a5c6bbe9c5a26fad40f5ec1cefa83
* Fix issue with color adjustments not being applied at bootup.
* Fix issue where hardware was always updated twice.
* Check the display state inside the color animator- this was
occasionally racing and triggering kernel bugs on some devices.
Change-Id: Ieb9845e6b0f1c7ca979cbfa35c0b9b688ef1a8cf
* If the device is started in the middle of a transition period,
the transition would not occur. Always check for this condition
instead of only firing it when TwilightService updates.
Change-Id: Ibe6cfa69506ffc6a9bf6390ee7e13863f275ec2a
* Simplify the code and callback mechanisms
* Fix bug where settings weren't applied at startup
* Make stuff immutable where possible
* Corrected the sunrise calculation to start on time
* Fix issue where tile state could become out of sync
* Don't spam the hardware on screen on/off
* Stop trying to cache values in so many places, they get out of sync
too easily.
* Move the animator to the general display adjustments
* Clean up outdoor mode state on screen toggle
Change-Id: Ic14425e5294d78698b9280dfb1237b222bb706cc
mode.
There was a logic mistake that caused _all_ modes to be skipped if
outdoor mode isn't supported. In order to avoid such mistakes in the
future, also simplify the logic and make it more easily understandable.
Change-Id: I5fe8edbb3c4d2dd05fc4b4a7f94ca05d4ecd408b
* Don't create the mode observer or try to publish tiles if none
of the adaptive modes are supported.
Change-Id: Iee6fe8131b0614e10f35b5a03d65fb44c71c0da9
The Weather Manager Service should not impose rules regarding how
a weather provide service wants to react to back to back weather
update requests, nor impose the time a caller should wait before
a new request can be submitted. These constraints vary between
weather services, so it's up the each implementation to enforce
these constraints.
With this patch, the Weather manager service will pass the requests
as they come from the requester and it will be up to the active service
provider decide whether process or reject the request.
Changes to API:
- Moved the request statuses to new inner class RequestStatus in
CMWeatherManager
- Pass status arg to onLookupCityRequestCompleted()
- Added reject(int) method to ServiceRequest
Change-Id: I3512490688255e25395e955d506fe42ed52f8fe0
TICKET: CYNGNOS-2430