* 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
The persisted one simply contains the user, the publishing package, and
the tile tag - items which can be persisted across reboots to restore
the tile's properties on boot properly.
Ticket: CYNGNOS-2530
Change-Id: If770557482e81ab0dd0d16c3ac8be0b2b51e653a
Signed-off-by: Roman Birg <roman@cyngn.com>
Because DEV_FORCE_SHOW_NAVBAR has lived in Settings.System,
Settings.Secure, and now in CMSettings.Secure, we need to return the
proper value no matter which place an app might query.
Ticket: CYNGNOS-2480
Change-Id: Ie84df9763aa3714ec4ce4d033dc73be4de3f1f00
Signed-off-by: Roman Birg <roman@cyngn.com>
Since the API for PerformanceManager returns the number
of profiles supported we can assume what the profiles are
since the HAL provides them in an ordered manner. Thus,
iterate through the size of the number of profiles and verify
each one that's possible.
Change-Id: I87f6d1a847c849bd9e544c1e89a666726c61fe83
TICKET: CYNGNOS-2603
Include a proguard file with can be consumed by the latest gradle plugin to
merge this ones rules without the rules of the app linked to.
This way devs doesn't need to declare (in a recent version of the gradle plugin)
-dontwarn and -dontnote for cyanogenmod.library when linked to it, because
proguard crashes the build because it cannot access to cm system private classes.
Change-Id: I7c94a9119db744b0029b4d9a8aa782adcbd47b93
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
In other case it will force to declare READ_PHONE_STATUS permission to apps
linked to
Change-Id: I384837c2bda2fe775dafd33b6f7690ca1db465d7
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
* 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
We need to store the state of _our_ setup wizard.
To not break existing devices' provisioning, copy the current state of the global
provisioned flag to the new key value.
Ticket: CYNGNOS-2431
Change-Id: I3d88361edc126788f42b28efd11f3c7598117138
Signed-off-by: Roman Birg <roman@cyngn.com>
* 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
Since the samples are going to grow with
each new interface addition, lets keep them
in separate git projects and overlap their path
into this directory.
Change-Id: Ie37283646fe8b1927a81a0f1fb299f56475e237d
The vales passed to setTodaysHigh() and setTodaysLow() have no effect.
This patch fixes that problem. The values provided in the Builder
helper class will be actually set when the WeatherInfo object is built
Change-Id: I5f47b16a56fd577349d3b3d45ea7a753262f90ea
TICKET: CYNGNOS-2484
* This is a range counter starting from -3 (initial value) which
counts upwards once a day. It's finally set to 1 when either the
feature is used or we gave up with the nudges.
Change-Id: Ia19b381aa35c598b31b46071479ae590dc8d9ffd
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
Since aar's contain the raw resource to be compiled into the
consumer package, having the compiled java from the resources
inside of the java archive can lead to multiple instances
of the class in the target package during compilation.
Avoid that scenario by excluding the compile 'cyanogenmod/library'
package from the final aar.
TICKET: CYNGNOS-2305
Change-Id: I3b40205f4c2173ecd059e034312ed18dc9c6de34
RequestStatus holds only final constants and should not provide
public constructors. This class also should be final.
This patch also fix minor typos on RequestStatus javadoc
Change-Id: I0deb1d6a9b23eed83451dec352bb4c410e2378d6
TICKET: CYNGNOS-2441
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
Make sure the the weather update requests are using the temperature
unit set by the user in the weather settings
Change-Id: Iac3a891b5afbcf36a87386f828b40bcbd0e1de02
TICKET: CYNGNOS-2429
Introduce WEATHER_TEMPERATURE_UNIT. This setting will be used to
store the temperature unit in which the weather data will be reported.
Users will be able to set this value in the weather settings menu.
Each weather service provider might choose to provide the user
with a way to overlay this value (for example via the settings
activity that each service provider can define)
Change-Id: Ib6e47c9790aba02e6c29bd7f783730efda9177f3
TICKET:CYNGNOS-2426
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
for common resources
TICKET: CYNGNOS-2305
Change-Id: Idc1872b5fa3884754b49b08d2f8381f18fba234d
Signed-off-by: Roman Birg <roman@cyngn.com>
Signed-off-by: Adnan Begovic <adnan@cyngn.com>
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