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
Instead of exposing the RequestInfo object created by the WeatherMgr
return an ID to identify the request. This ID can be later used to
cancel the request if needed. The WeatherProviderService base class
keeps track of the ongoing requests and can map this ID to the
corresponding request
This patch also include the following minor changes:
- Use List instead of ArrayList in API
- Update javadoc to public methods to reflect API changes
- Use UUID random generator in immutable classes to generate the
hashcode rather than relying solely in the hashcode of the builder
object.
Change-Id: Ib88dd0ecddd6fdb016b77ac29709fbae092dea29
TICKET: CYNGNOS-2425
TICKET: CYNGNOS-2423
* Moving LiveDisplay to CMSDK!
* Completely redesigned the feature for future expansion.
* No new features in this patch, but a proper API is being
designed.
Change-Id: Ic8f55678f9141bf3386b2a1cf2fd1e8b3916c278
An empty string for the package name implies the given component
should be cleared out, so make sure updateBootAnim respects that.
Change-Id: I07c7fc64970546c2d73a610d9c0b71f1e757657d
TICKET: CRACKLING-1043
- Renamed TYPE_GEO_LOCATION_REQ to TYPE_WEATHER_BY_GEO_LOCATION_REQ
and TYPE_WEATHER_LOCATION_REQ to TYPE_WEATHER_BY_WEATHER_LCATION_REQ
- Prevent null argument on setter methods. Documentation updated to
warn user of IllegalArgumentException if null is passed
Change-Id: I6ba8fb7fb3a10d8c964414b58e00d9ce77a74e84
TICKET: CYNGNOS-2377
- Builder constructor takes now 3 args: city name, temp and temp
unit. This is the minimun data that a weather service should
provide when a weather update request is processed.
- Float members have been changed to double. Setter/getter methods
updated.
- New setter/getter methods have been added to set current day high
and low temp. Forecast list should be used only to provide weather
forecast for upcoming days (this has been clearly documented).
WeatherContract was updated to include these 2 new columns
- Added javadoc to all public methods
- Timestamp is not longer required in constructor. A new method
setTimestamp has been added
Change-Id: Ia1edcfef0e2268f3881fed076c6ad74a81ca7334
TICKET: CYNGNOS-2365
TICKET: CYNGNOS-2382
TICKET: CYNGNOS-2356
TICKET: CYNGNOS-2360