Commit Graph

70 Commits

Author SHA1 Message Date
Zhao Wei Liew 4e300ec772 cmsdk: cmhw: Deprecate TAP_TO_WAKE feature
All devices should use the native implementation now.

Change-Id: Ic29472ba28569536a8556f61229a8a8fe783354a
2017-01-24 08:22:50 +00:00
d34d c4f27d5b81 Themes: Introduce theme mixes into ThemesContract
Change-Id: I6341bada8e3ef674b272621f90bc9beb28767a59
2016-10-07 10:14:28 -07:00
Alexander Martinz 6e5ab27fbb [1/2] cmsdk: cm custom boot dexopt UI
* Pass app info and number of installed packages to boot message UI
 * Ui by Asher and Joey, based on Alexander's previous work

Change-Id: I9298d7e2b85a703921abf62f8b91157e6f88803b
Signed-off-by: Joey Rizzoli <>
2016-08-10 16:52:21 -07:00
Steve Kondik 87590f0b1e cmsdk/livedisplay: Add support for picture adjustment
* Allows adjustment of hue, saturation, intensity, and contrast.

Change-Id: Icf8ff6200a07b68e09dcd7f140a82e57b53944f7
2016-08-08 12:41:27 -07:00
Steve Kondik 86cae92291 livedisplay: Add support for direct color balance control
* We currently use the DisplayColorCalibration API for setting display
   temperature which makes a lot of guesses about what temperature
   the display really is. Some devices will support the new ColorBalance
   API (via QDCM or other mechanism), which offers a calibrated
   alternative. Add support for this, which will supercede DCC if
 * Additionally, define the available color temperature range as a
   set of overlayable values so this can be specified per-device.
   This range will be mapped to balance values using the power curve
   calculations in the new MathUtils class.

Change-Id: I99608c09807b747d962680293c7b0cee8d669003
2016-07-20 10:07:31 -07:00
Dan Pasanen c4becbb3f4 CMSettings: fix lock screen rotation toggle [3/3]
Change-Id: I2940663c7476b0df9b3553a480fa33ea4f18a5bc
2016-06-03 14:03:50 -07:00
Steve Kondik 0ec60c69a0 livedisplay: Don't explode if no modes are available
* Don't create the mode observer or try to publish tiles if none
   of the adaptive modes are supported.

Change-Id: Iee6fe8131b0614e10f35b5a03d65fb44c71c0da9
2016-04-15 02:38:42 -07:00
Luis Vidal ad5e5d019f Remove public default constructor from CMWeatherManager.RequestStatus [1/2]
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
2016-04-13 17:52:16 -07:00
Luis Vidal fe1812fd38 Weather API: Delegate the responsability of rejecting back to back requests [1/2]
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
- Pass status arg to onLookupCityRequestCompleted()
- Added reject(int) method to ServiceRequest

Change-Id: I3512490688255e25395e955d506fe42ed52f8fe0
2016-04-13 15:22:40 -07:00
Luis Vidal ed4d063611 Add WEATHER_TEMPERATURE_UNIT to CMSettings [1/2]
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
2016-04-13 12:45:25 -07:00
d34d 10da08aa5e cmsdk: correct naming of THIRD_PARTY_KEYGUARD perm
Change-Id: If2d062a90db340f8415d12897b16667fc834a848
2016-04-13 12:21:24 -07:00
Luis Vidal ad0d8c53a0 Weather API: Return ID rather than RequestInfo [1/2]
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

Change-Id: Ib88dd0ecddd6fdb016b77ac29709fbae092dea29
2016-04-13 11:57:38 -07:00
Steve Kondik 1dab5a0ca9 cmsdk: Refactoring LiveDisplay
* Moving LiveDisplay to CMSDK!
 * Completely redesigned the feature for future expansion.
 * No new features in this patch, but a proper API is being

Change-Id: Ic8f55678f9141bf3386b2a1cf2fd1e8b3916c278
2016-04-13 01:37:08 -07:00
d34d 16d3dc672e LLS: Deprecate collapseNotificationPanel [1/2]
collapseNotificationPanel is no longer applicable with the updated
UX so deprecate it and document that it will essentially be a no-op

Change-Id: I285bb48e3a9ffec8d554f880edf17e5105c94018
2016-04-12 09:09:33 -07:00
Luis Vidal 34bf4866db Fix nomenclature for RequestInfo types [1/2]
- Prevent null argument on setter methods. Documentation updated to
  warn user of IllegalArgumentException if null is passed

Change-Id: I6ba8fb7fb3a10d8c964414b58e00d9ce77a74e84
2016-04-08 13:19:48 -07:00
Luis Vidal baaf4a1baf Refactor WeatherInfo class
- 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
- 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
2016-04-08 11:17:22 -07:00
Luis Vidal 06d5c89c43 Add state member to WeatherLocation class
Some weather service providers might require an additional
state (territory) field to better identify a location, so
a new field has been added to WeatherLocation class to hold
this data.

This patch also adds javadoc to public methods


Change-Id: I927f58d436f044df3c8af496b0f27e017f5e73e3
2016-04-08 10:55:44 -07:00
Luis Vidal 343245f4e6 Add API to cancel an active weather request
Add new API cancelRequest to CMWeatherManager. This will allow
clients to cancel a request that was previuosly submitted to
the weather service.

As part of this change, requestWeatherUpdate(weatherLocation),
requestWeatherUpdate(Location) and lookupCity(cityName) will
now return the RequestInfo object created if the request
was successfully submitted to the weather manager service


Change-Id: Ic122f91e0ea8a24d81dbed48741ef1e33567b56c
2016-04-07 22:42:43 -07:00
Adnan Begovic d8c2556c31 cmsdk: Actually return the system property in Build.
Change-Id: I7c7f3726b34db2b26d63fb4ef95df469fdf7e989
2016-04-06 15:19:22 -07:00
Adnan Begovic 6b879f36e4 cmsdk: Introduce Fig, api level 6.
Change-Id: I2916b1462c1f0b9582f4fefac82f60c20f820b85
2016-04-01 16:36:38 -07:00
gkipnis 1ee5f204cc Added READ_DATAUSAGE and WRITE_DATAUSAGE permissions
These permissions are used to control access to the DataUsageProvider

Change-Id: I3c0df3900c964d274081fe3bd9038705334819c8
2016-04-01 12:11:03 -07:00
Adnan Begovic df4486fb0e cmsdk: Unhide the Concierge.
Change-Id: I82adee7f9acb67623725acea723b52e08bab7311
2016-04-01 11:21:49 -07:00
Danesh M d549053b2d CmSdk : Swipe offsets and show lockscreen
Allows live lockscreen to listen to keyguard offsets
and show lockscreen.

Change-Id: I1a06c78b95e4e6940e063c6e0ba0e4db44a3c380
2016-04-01 11:17:16 -07:00
Adnan Begovic 127c0cf8fe cmsdk: Change parameter type of unregisterProcessingListener.
Change-Id: I96dde056e2f83218a27024ebc94de51fd45299d1
2016-03-31 17:58:28 -07:00
Luis Vidal 4195a1cf89 Add Weather Content Provider [4/5]
Introduce CM Weather Manager and Weather Provider Services API.
The CM Weather Manager can be used by apps to request weather

The Weather Provider Services API allows a third party developer to
implement a weather service to process weather update requests and
update the CM Weather Content Provider data which can be consumed by
any other app holding the required permission.

Change-Id: Idcc80712ba92715109d3577d120f7fea85d6c996
2016-03-31 17:36:53 -07:00
d34d bfa500dd15 LLS: Add live lock screen service [1/4]
The live lock screen service is resposonsible for deciding what
LLS should be displayed at any given time.  Live lock screens can
be swapped out using a priority based system.

Change-Id: Ifba73e839b749fe78a9e4ee347dd20eea6bf0a22
2016-03-29 15:02:45 -07:00
Adnan Begovic ccdb292eec cmsdk: Mandate themes feature xml's for service implementation.
The feature xml plays two roles:

      1) To allow sdk interface (constructor) to throw when system
      service is unavailable. This allows for clearer platform
      development debugging.

      2) To allow for simpler disambiguation of what services to
      instrument in a modular environment.

Change-Id: I67b16a0725ed89d5ddbc973b09337d6227087e4d
2016-03-25 11:19:46 -07:00
Roman Birg 45f57c5c9b update api
I made Cid angry

Change-Id: Ide114bdb0877cdfbce0060f2d0068a63a15ecc63
Signed-off-by: Roman Birg <>
2016-03-17 15:29:22 -07:00
Roman Birg c46e0ffb69 cmsdk: send connection value when changing network modes
Ref: CYNGNOS-1463

Change-Id: I2ef1feb0d1f135f360dc553e3426bdd7610087bd
Signed-off-by: Roman Birg <>
2016-03-15 16:08:46 -07:00
Adnan Begovic 2f2d432495 Revert "Allow to ignore presentation indicator of outgoing calls [1/3]"
This adds public cmsdk symbols to the bootclasspath. :(

  2)   testBootClassPathIsClean(org.cyanogenmod.tests.versioning.unit.ClassPathTest)
java.lang.AssertionError: Jar file /system/framework/telephony-common.jar should not have cyanogenmod.alarmclock.ClockContract$AlarmsColumns !

This reverts commit 3a590c3057.

Change-Id: I03cc2796e84e602933e7132f9181a5822c7f327c
2016-03-10 11:46:03 -08:00
Adnan Begovic b4eafda7de cmsdk: Add PerformanceManager tests, Change target permission.
Since PerformanceManager is strictly a CyanogenMod construct,
  it doesn't make sense to enforce the interfaces with an android
  specific permission (even though the implementation is delegated
  to power manager). To keep consistency with the other api's,
  modify the enforcing permission to a cm specific declaration.

  Also add test cases for the PerformanceManager public interfaces.

Change-Id: I430b69dbee73bf94bb60932d1942ab97e3ba193e
2016-03-08 09:24:34 -08:00
Gabriele M 3a590c3057 Allow to ignore presentation indicator of outgoing calls [1/3]
With some mobile network operators, the presentation indicator of
outgoing calls is always set to either "unknown" or "restricted".
As consequence, the dialed number doesn't show up in clear in the
call history. Allow to ignore the presentation indicator of outgoing
calls to never hide the dialed numbers.

Change-Id: Ia7b9fef3a929e512d8ecb704204b36e3836a056b
2016-03-07 17:06:40 -08:00
d34d f2fd836c23 Update stubs to include cyanogenmod.themes package
This patch also adds a new variable stub_packages which is used
when generating docs for public and system api, instead of defining
it twice.

Change-Id: I7d87b94088fca5b053f0447067c239006af72ad9
2016-03-04 16:16:22 -08:00
d34d b3ea2859fd Themes: Refactor themes to CMSDK [2/6]
First attempt at moving as much as possible out of F/B
and into cmsdk

Change-Id: I9e53d1c32e01e88fc3918663dabe0001df922bc2
2016-03-04 13:59:33 -08:00
Steve Kondik 567b43017a cmsdk: Add cyanogenmod.util to stubs and update API
* ColorUtils was recently added here and it's suitable for general
   consumption. Add this to the API.

Change-Id: Iff89d5714092d02070f1c6805e0e8f95debd980d
2016-03-04 12:46:48 -08:00
Michael Bestas 73fafc1140 cmsdk: Add touch gesture haptic feedback setting
Change-Id: I1e26287a700ccc071c0c5dc5ff71c01df86ef6a0
2016-02-27 02:27:28 -08:00
niks255 783463c739 CMSDK: Allow/Prevent notification light in Zen mode (3 of 3)
Change-Id: Icad93cf6166359debd774259aa186640de34d432
2016-02-15 10:30:26 -08:00
Michael Bestas fcadbf539c cmsdk: launch default music player on headset connect [3/3]
Change-Id: Ibbb0607a56ab4d9246c14632eb4199558866854a
2016-02-12 13:31:31 -08:00
Adnan Begovic cdf4d0d699 cmsdk: Update api for new notification lights profiles options.
Change-Id: I7697308f34c89f6391810e114b12bc7457def725
2016-02-10 18:14:35 -08:00
Adnan Begovic 1d2351e0fc cmsdk: Add elderberry interfaces to api text.
Change-Id: I391f4089e97af6cf8bd55c982979e110d7d8ca91
2016-02-09 11:12:57 -08:00
Matt Wagantall eb82dbf050 cmsdk: cmhw: Add UniqueDeviceId support
It's sometimes useful to know what physical device you're using.

CMHW SerialNumber and an "ro.serialno" property already exists, but
are not guaranteed to be unique. Different OEM may use overlapping
numbering schemes, and sometimes placeholder like "012345ABCDE" are

Attempt to work around these shortcomings by defining a new
UniqueDeviceId class that provides a globally unique device ID that
is both deterministic for a given device and designed not to overlap
with IDs of any other devices.

Change-Id: I3f426972558394ba8e78261273ac8521aa603327
2016-02-02 16:37:59 -08:00
Adnan Begovic 588c05aeb8 cmsdk: Update for new ll interfaces.
Change-Id: I48a7b6aff3ed21db69539b7733e0159db866c270
2016-01-22 17:35:58 -08:00
Adnan Begovic ebf0f55125 cmsdk: Finalize DragonFruit (api level 4).
Change-Id: I5844bc0bad9968b2c1d2d9e1ca3d65ae9d2d70c8
2016-01-18 13:36:21 -08:00
Adnan Begovic b4b1321666 cmsdk: Update api text.
Change-Id: I76297c11050e7b33ccfc530330ab37cfb8a07916
2016-01-06 17:52:18 -08:00
Adnan Begovic 2d4d51479e cmsdk: Update current api text.
Change-Id: Ib13c389ec64ee04fb8d189b22a94ca676835bfa6
2016-01-02 12:12:37 -08:00
Roman Birg d29499ddf7 cmsdk: update api for level 3
Change-Id: Ie5ed566934ff7a69ba71a5f080bd49929f7f71fe
Signed-off-by: Roman Birg <>
(cherry picked from commit 1bb37d9676a97c9b5bbb7fea8493afdfeebb64c8)
2015-12-23 09:33:51 -08:00
Adnan Begovic 10d20252e4 cmsdk: Update API text for constants changes.
Change-Id: Ie820bae6db375e6d5429f495829d3d24f8a3469c
2015-09-30 17:49:52 -07:00
Danesh M c56b48eac0 CmSdk : Update api text for thermal monitor
Change-Id: I5e58a86244dc40572305d52244dda6e230fb56f5
2015-09-24 18:19:23 -07:00
herriojr e78ca4d6fe Added Application Suggestions.
Added in custom Resolver to handle providing suggestions.

Added in Service to handle providing suggestions to custom resolver.

Added in ability to provider suggestions through a Proxy to another
application which must be installed during compile time if one is
to be used. This is a similar implementation to how the Location
Services work.

Change-Id: Id960260596b7bb6485caa1e1d07744e387a4c6e9
2015-09-14 14:29:43 -07:00
Adnan Begovic 9f381bc89f cmsdk: Update api text for Persistent Storage API.
Change-Id: Icdbe63ba416f62d12f25b521541162d72c8040d4
2015-09-09 17:29:30 -07:00