Commit Graph

44 Commits

Author SHA1 Message Date
Luis Vidal
147522b86c Instruct AIDL to generate NoOp inner class
Use custom AIDL flag to auto-generate the inner static class NoOp

Change-Id: I98005a99b3df168b4fb9951006eb9aff72e499ff
2016-07-15 13:14:34 -07:00
Jorge Ruesga
c6550fd803 cmsdk: include our own consumer proguard rules
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>
2016-05-02 10:08:21 -07:00
Adnan Begovic
62604cf540 cmsdk: Exclude compiled 'cyanogenmod/library' java package.
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
2016-04-14 10:51:47 -07:00
Roman Birg
620b1eb908 cmsdk: compile as aar
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>
2016-04-12 15:27:07 -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
Adnan Begovic
5f6c9f40c7 cmsdk: Move sdk classes under new sdk directory.
TICKET: CYNGNOS-2299
Change-Id: Ia6c6a1ee901f4f94446c379cbceabfdfced651ef
2016-04-01 12:22:14 -07:00
Adnan Begovic
0ab2886e38 Revert "cmsdk: Fix cm system api stub generation."
This reverts commit d2e7e04bc4.

Change-Id: I307847bfa41cf2dcf3203ff199188422150618be
2016-04-01 11:22:11 -07:00
Adnan Begovic
d2e7e04bc4 cmsdk: Fix cm system api stub generation.
Change-Id: I04287107d1f2cdfdf9c8cd7f5b713db3466239ec
2016-03-31 17:58:20 -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
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
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
Adnan Begovic
182b972c0b cmsdk: Set explicity dependency for res package files.
During checkapi-cm invocation under make, the api
  text generation dependant on the stubs (which depend
  on the sdk intermediates) needs the res package files:
  Manifest and R.java, to be available in the intermediates.

Change-Id: I19921f1b5531822341a6804cf83e1b0b21b9f8bf
TICKET: CYNGNOS-2049
2016-02-17 11:33:35 -08:00
Adnan Begovic
c02c64b772 cmsdk: Disable verbose logging on doclava, add cleanspec.
Change-Id: I44e8b458d4e46cf03ec18776c4ca296c53b440dd
TICKET: CYNGNOS-1950
2016-02-09 11:05:20 -08:00
Adnan Begovic
24f2bb4235 cmsdk: Introduce Elderberry, api level 5.
Change-Id: I916cb96e86e7dcee04b3b4cd08fec934b1ce5876
2016-01-18 13:43:03 -08:00
Adnan Begovic
aee4b087d2 cmsdk: Add external views package for api stubs.
Change-Id: I96b5e77331910765b5762d645fa9adbff46281fd
2016-01-06 17:52:05 -08:00
Adnan Begovic
bbab82e97b cmsdk: Add cmsdk non-jack target module.
Since LOCAL_JACK_ENABLED isn't flexible enough
  to have generation of both java archives and jack
  binaries, we can work around this by having a
  secondary module defined that disables jack compile.

Change-Id: Ied647b659c13b672621d82af536d1ed447d5f7fa
2016-01-05 17:36:34 -08:00
Adnan Begovic
d1129cc9f0 cmsdk: Also hide internal package from docs.
Change-Id: I278e00dbf4f1661383b3a6e3c67987c67ff202d7
2016-01-02 14:07:06 -08:00
Adnan Begovic
7bdcaa59f4 cmsdk: Fixup stub generation.
Change-Id: I1b033ff646dbbdafa5d0efcaf110b76ca48980e3
2015-12-22 11:10:24 -08:00
Adnan Begovic
33fecfba42 cmsdk: Compile in internal java src files to internal sdk.
Change-Id: Id649dca11f506bae78345dbebb2061312e6973b7
2015-12-01 14:06:57 -08:00
Steve Kondik
620c35bd6b cmsdk: Refactor the PerformanceManager
* Remove all code and configuration into CMSDK.
 * Deprecate the properties-based API

Change-Id: Ib14ce5b8623cb368e6b545d1f82bc9c58580e13b
2015-11-03 17:59:44 -08:00
Steve Kondik
5e522e6805 cmsdk: Add an internal target which includes all resources
* This can be referenced instead of the standard jar if internal
   resource identifiers are needed for sharing between platform apps
   (systemui + settings is a good use case).

Change-Id: Ib078f6dd861a0a3a4cdcfccd6e245200d18368c4
2015-11-03 17:40:34 -08:00
Steve Kondik
1a5c249b67 cmsdk: Fix issue with intermediates not ready
Change-Id: Id0dcfd7dc4a3ce50bed3dcd61c6d402c872c74de
2015-11-03 10:13:42 -08:00
Adnan Begovic
06b49a6237 cmsdk: Introduce content classes.
Change-Id: I6306a3b240de2777f1ed8482eb4a76d4d7ea0237
2015-10-29 17:38:37 -07:00
Adnan Begovic
4e53461e71 cmsdk: API level 4 for M release.
Change-Id: Ieed8ebf256e91515b6921186487b83462910bca9
2015-10-07 11:32:41 -07:00
Adnan Begovic
38e8b11ea7 cmsdk: Create api level 3, cantaloupe.
Change-Id: I5cefacf1196261b071ce2c3561f18ebaf74de604
2015-09-29 11:40:29 -07:00
Matt Garnes
26272cd1ae Add Hotword audio capture constants.
Add constants to expose the system level hotword audio capture
permission and input source.

Change-Id: Ibc52dc27097dcb69125fc9c6381e021583cba148
2015-09-03 11:42:17 -07:00
Yvonne Wong
0eb2999091 Add CMSettingsProvider and CMDatabaseHelper
issue-id: CYNGNOS-828

Change-Id: I01c08c0e432d6a941950a565e5ab6664664e2a7f
2015-08-31 13:52:27 -07:00
Adnan Begovic
e949433c08 cmsdk: Build in the Manifest and R classes for the sdk.
Change-Id: I22f9c455a4a9b7bd03018cf1fe82222bc7b36083
2015-08-31 13:27:17 -07:00
Steve Kondik
5ee87cbf06 cmsdk: Transplant CMHW into CMSDK
* Moving CMHW out of the framework and into CMSDK.

Change-Id: I0b68b67d059e2310c83e253a9071d886ed6760cb
2015-08-19 05:33:11 -07:00
Matt Garnes
9e6ec9e8ba Add AlarmClock support for CM DeskClock manipulation.
- In order to externalize the AlarmClock provider within DeskClock, move
    the database contract, ClockContract, into the SDK so that interested parties can
    reference it.
  - Add CyanogenModAlarmClock to add new utilities for turning existing
    alarms on/off and creating new alarms.

Change-Id: I1f11ccc3988bdef10d721e2038b2c7d69a4ae598
2015-08-06 14:52:57 -07:00
Adnan Begovic
5ff5e10bf0 cmsdk: Make sure we're not including source from internal package.
Change-Id: Ib0d5be9894e7181a3481969eea8bba848f7fdbb8
2015-07-20 11:51:24 -07:00
Adnan Begovic
e3ad391d35 cmsdk: Target 2nd API level on documentation generation.
Change-Id: I86a2d8e8111dde01c878020cd38ff58bea09cbe5
2015-07-13 15:18:07 -07:00
Adnan Begovic
f1f9f25a34 CMSDK: Only target specific packages for checkapi.
Change-Id: I0dce0c9ff92f6b5fb670c17660ffa9dfaca79d79
2015-06-23 03:38:36 +00:00
Adnan Begovic
3ca85b345d CMSDK: Add SINCE API level for docs.
Change-Id: I2f0dbab313e07221e2b2fb06894d3eff0d011d00
2015-06-23 03:38:22 +00:00
Adnan Begovic
62c951ef68 CMSDK: Setup initial check-api mechanism.
Change-Id: I05b6dc7bde4037fbbe1b41ebb3ade8226d274199
2015-06-01 10:11:30 -07:00
Adnan Begovic
0f8bcd7bff Merge "CMSDK: Make sure to hide internal package from docs." into cm-12.1 2015-05-19 23:20:19 +00:00
Adnan Begovic
fb07983c0f CMSDK: Point to vendor/cm cmsdk templates for web.
Change-Id: I2d9c266b129a918b9315cf797d82ad07c181b4a1
2015-05-19 15:56:13 -07:00
Adnan Begovic
93891909c6 CMSDK: Make sure to hide internal package from docs.
Change-Id: Ia12c04af7106113aadd3a822bd2b3f1606331726
2015-05-19 13:46:39 -07:00
Adnan Begovic
8c36c41ff6 CMSDK: Update code comments for permission changes.
Change-Id: I1aac7721244a510acb967f5995303ab9d57a11d3
2015-05-19 13:27:17 -07:00
Adnan Begovic
37c4b96e0b CMSDK: Don't share a namespace with the library.
Otherwise PackageParser will skip you.

  W/ResourceType( 3077): ResTable_typeSpec entry count inconsistent: given 6, previously 1003
  I/PackageManager( 3077): /system/framework/org.cyanogenmod.platform-res.apk changed; collecting certs
  W/PackageManager( 3077): Failed to parse /system/framework/org.cyanogenmod.platform-res.apk:
  Application package org.cyanogenmod.platform already installed.  Skipping duplicate.

Change-Id: Iddea111f4c9bbe69939266ce5c6902d176407b14
2015-05-13 04:54:40 -07:00
Danny Baumann
7267e32ca4 Fix package name.
Package names must contain at least one period if they're not 'android'.

Change-Id: I43658b30837efcaf099e8c02454154e9a57e1a91
2015-05-13 04:27:47 -07:00
Adnan Begovic
37fc76fe96 CMSDK: Create cyanogenmod platform resource package.
org.cyanogenmod.platform-res provides resources that,
  if public, are globally accessible.

  This allows us to declare public and internal permissions as
  well as reference permissions declared by the android framework
  core

Change-Id: Ia7d541f4b403585f7479ecd87895987b8471005b
2015-05-12 17:40:49 -07:00
Adnan Begovic
a7d6fc579f CMSDK: Refactor compile, prepare for integration tests.
Also don't build CMPlatformTests unless explicitely called.

Change-Id: I3fd8f884d8815eab9987077766c0ff2fe3f98b4d
2015-04-30 11:10:56 -07:00
Adnan Begovic
aa8614e39b CMSDK: Create Quick Settings Tile API.
Create a simple CustomTile object with builder which lets a 3rd party
  application publish a quick settings tile to the status bar panel.

  An example CustomTile build:

      CustomTile customTile = new CustomTile.Builder(mContext)
             .setLabel("custom label")
             .setContentDescription("custom description")
             .setOnClickIntent(pendingIntent)
             .setOnClickUri(Uri.parse("custom uri"))
             .setIcon(R.drawable.ic_launcher)
             .build();

  Which can be published to the status bar panel via CMStatusBarManager#publishTile.

  The CustomTile contains a click intent and click uri which can be
  sent or broadcasted when the CustomQSTile's handleClick is fired.

  This implementation closely mirrors that of NotificationManager#notify for
  notifications. In that each CMStatusBarManager#publishTile can have an appended
  id which can be kept by the 3rd party application to either update the tile with,
  or to remove the tile via CMStatusBarManager#removeTile.

Change-Id: I4b8a50e4e53ef2ececc9c7fc9c8d0ec6acfd0c0e
2015-04-26 16:55:08 -07:00