Commit Graph

65 Commits

Author SHA1 Message Date
Luca Stefani
e5545282f6 livedisplay: Update system-api
* Missing in 0ec60c69a0.

Change-Id: Ic649fe9831a4484c0331a1c6c1b97d1973039416
2016-04-15 07:03:55 -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
TICKET: CYNGNOS-2441
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
 CMWeatherManager
- Pass status arg to onLookupCityRequestCompleted()
- Added reject(int) method to ServiceRequest

Change-Id: I3512490688255e25395e955d506fe42ed52f8fe0
TICKET: CYNGNOS-2430
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
TICKET:CYNGNOS-2426
2016-04-13 12:45:25 -07:00
d34d
10da08aa5e cmsdk: correct naming of THIRD_PARTY_KEYGUARD perm
Change-Id: If2d062a90db340f8415d12897b16667fc834a848
TICKET: CYNGNOS-1705
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
  object.

Change-Id: Ib88dd0ecddd6fdb016b77ac29709fbae092dea29
TICKET: CYNGNOS-2425
TICKET: CYNGNOS-2423
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
   designed.

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
TICKET: CYNGNOS-2392
2016-04-12 09:09:33 -07:00
Luis Vidal
34bf4866db Fix nomenclature for RequestInfo types [1/2]
- 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
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
  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
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

TICKET: CYNGNOS-2384

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

TICKET: CYNGNOS-2383
TICKET: CYNGNOS-2385

Change-Id: Ic122f91e0ea8a24d81dbed48741ef1e33567b56c
2016-04-07 22:42:43 -07:00
Adnan Begovic
d8c2556c31 cmsdk: Actually return the system property in Build.
TICKET: CYNGNOS-2379
Change-Id: I7c7f3726b34db2b26d63fb4ef95df469fdf7e989
2016-04-06 15:19:22 -07:00
Adnan Begovic
6b879f36e4 cmsdk: Introduce Fig, api level 6.
Change-Id: I2916b1462c1f0b9582f4fefac82f60c20f820b85
TICKET: CYNGNOS-2303
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
updates.

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
TICKET: CYNGNOS-2295
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 <roman@cyngn.com>
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 <roman@cyngn.com>
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
11a4d480df Add missing WRITE_THEMES from cm_system-current
Change-Id: I607a3813f8b501e1cbd7765fb1df32b1bf1da47d
2016-03-04 15:33:47 -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
TICKET: CYNGNOS-2126
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
used.

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).
TICKET: CYNGNOS-1648
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 <roman@cyngn.com>
(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
Matt Garnes
087f2b536d Update API txt files for cyanogenmod.media.MediaRecorder.
Update API txt files for PartnerInterface.

Change-Id: I9a7d184791f9078b724c46cb5c9f7f2fe4557719
2015-09-09 11:57:43 -07:00
Matt Garnes
eabd575721 Add Broadcast action and query API for AudioSource.HOTWORD.
- Add ACTION_HOTWORD_INPUT_CHANGED broadcast action and related extras.
- Add getCurrentHotwordPackageName() API to SettingsManager to query the
  current package name of the application that controls the HOTWORD
  input.
- Rename SettingsManager to PartnerInterface.

Change-Id: I5987499cd32908c47a7e8e95d644c483dc32914c
2015-09-08 17:28:20 -07:00
Adnan Begovic
9971604ed5 cmsdk: Update cm-api for hasSensitiveData() and new permissions.
Change-Id: Iffc308a434ee9c82ba4278972bbfe774436bcfab
2015-09-01 17:19:51 -07:00
Yvonne Wong
0eb2999091 Add CMSettingsProvider and CMDatabaseHelper
issue-id: CYNGNOS-828

Change-Id: I01c08c0e432d6a941950a565e5ab6664664e2a7f
2015-08-31 13:52:27 -07:00
Yvonne Wong
a632fbcde5 cmsdk: Update cm api text files
Change-Id: I4330eed40d07b98031b76ce345fc8f032e00cf74
2015-08-28 16:18:17 -07:00