Commit Graph

62 Commits

Author SHA1 Message Date
Joey
76fc3d3942 sdk: introduce Style API
This API will allow apps to change global style mode and accent.

Global style mode can be
* Automatic (wallpaper)
* Automatic (day of time)
* Light
* Dark

Accent colors are defined in the caller application that will have
to pass the package name.

It's possible for apps to pass a Bitmap and get a suggestion
of a global style + accent color that can be applied.

Restrictions:
* Only one accent can be enabled at time.
* We're not limiting this to system apps, but we're marking
  this as dangerous permissions so apps will have to require
  it at runtime to the user.

Change-Id: I921e8758c3ae093a88e897899612830258c97f8d
Signed-off-by: Joey <joey@lineageos.org>
2018-03-05 13:33:30 +00:00
Michael Bestas
e54c07d4ed lineage-sdk: Remove alarm clock API
* Last used/implemented in cm-13.0 DeskClock

Change-Id: I9db1a72e29fd2ce232f7cad69ee9b5a6fadfa5de
2018-01-24 02:43:12 +02:00
Michael Bestas
498b79bb3a lineage-sdk: Remove external views API
* It was only used by live lockscreen

Change-Id: I78408eefb03dcccbe095311bea78baf8e6d852eb
2018-01-24 02:43:12 +02:00
Sam Mortimer
0bc9141f54 Android.mk fixups for make update-lineage-api and checkapi-lineage
Change-Id: I25250d93c99e4f42dc481ff4d4362d38dac3dee0
2018-01-02 00:14:34 +02:00
Jeff Sharkey
d15396299e Invoke doclava with new "-android" flag.
Test: make -j32 offline-sdk-docs
Bug: 37526420
Change-Id: I970bb2655eb568fd25004636f134c794663a6c33
2018-01-01 22:49:02 +02:00
smain@google.com
8b35643ec6 Use the "referenceonly" flag for a cleaner output and faster build.
Change-Id: Iebd9791305479c5dc406ba3b81eaf076855bc632
2018-01-01 22:48:50 +02:00
Ying Wang
d42a658a5b Using LOCAL_DROIDDOC_STUB_OUT_DIR to specify "-stubs" option.
So that the build system can clean up the stub out dir before
calling doclava.

Bug: 22534021
Change-Id: Iba33cf0a295e4ae32fdcad8bd326c2f52de5f875
2018-01-01 21:44:22 +02:00
Michael Bestas
3031b61c6c lineage-sdk: Introduce API level 8 - Hackberry
Change-Id: Ice54dba2b35e587d4280de6d86a250bc2c46469a
2018-01-01 18:30:14 +02:00
Christopher N. Hesse
999fed3550 Fix FindEmulator breakage due to missing dir
error: FindEmulator: find: `lineage-sdk/dummy': No such file or directory

Change-Id: I33712fa947432dcb6344ff9ceb1fa82e1e14a142
2017-12-07 15:18:17 -08:00
dianlujitao
2cf37e453c lineage-sdk: Switch droiddoc build to use templates-sdk from doclava
Change-Id: I94032853ea920f8e5abde068b4406173223c8b36
2017-12-07 21:56:02 +08:00
Colin Cross
3276a6baa3 Fix missing dependency on R.java
Compiling frameworks source is missing a dependency on the R.stamp file
generated by the frameworks-res aapt rule, likely caused by the switch
to jack.  Use LOCAL_ADDITONAL_DEPENDENCIES to insert the dependency
instead of directly using build system internals.

Change-Id: I897aec39957918a787df904d3093d91580de6fc4
2017-10-15 06:04:38 +00:00
Sam Mortimer
0912ee88c7 Remove theme support
Change-Id: I41f1d0fa1ecc98c2872d2569534e6f2ef686a726
2017-10-11 23:17:36 -07:00
Sam Mortimer
542742b751 lineage-sdk: rebrand step 2: update file contents
Change-Id: I9881acc57cdc0aeea2b296aac12a8af932d30aea
2017-10-06 09:40:24 -07:00
Steve Kondik
78079eacb8 cmsdk: Add support for more preference constraints
* Add support for negation- prefix with !
 * Add requiresAction constraint, which checks if an application is
   available to resolve the given action
 * Fix issues with operations order
 * Add flag to remove a preference if it's intent can't be resolved
 * Add helper to allow setting minLines of a preference, since it's
   common for things to get weird with the kinds of behavior we
   are introducing everywhere
 * Add support for nuking *other* preferences. For example with
   Doze, many devices have custom features and a extra_settings
   panel which is redundant with the switch. Now we can trivially
   override the one we don't want.

Change-Id: Ibb14b05add56b403013e908db1105dce9d34faad
2016-10-17 19:18:59 -07:00
Steve Kondik
3da45e19ad cmsdk: Untangle internal vs. external dependencies
* The public SDK build is currently including AIDLs which are
   meant to be used for internal purposes only. My assumption
   is that this particular implementation was done before we
   split off an "internal" SDK, which is used by the platform itself.
 * The issue came up when adding an AIDL which has a backing
   Java data object which was not included.
 * It should be safe to simply hide this interface. All references
   to it are hidden already. It is only used for internal purposes
   and does not change the API.
 * With the internal dependencies removed from the public SDK, we
   can completely remove the reference in the makefile.

Change-Id: I0515815543feb077ee5e289b9f900e28758c6e98
2016-09-11 13:54:30 -07:00
Steve Kondik
7be730bbf1 cmsdk: Add CMSettings preference helpers
* These lived in the Settings app previously, but are now moved as
   we need them in a few places.
 * The support library required to use these helpers, but we
   intentionally reference it using LOCAL_JAVA_LIBRARIES so the
   application will need to declare a dependency.

Change-Id: I56844def5e1100ca0300d0027312cc9adcaab941
2016-09-08 13:41:16 -07:00
Steve Kondik
aac8bdc05d cmsdk: Introduce API level 7 - Guava
Change-Id: I9fda50cc46d15e4f89a29303be18c8947befc3e1
2016-09-04 04:35:09 -07:00
Steve Kondik
6f2edde8a7 cmsdk: Temp fixes for bringup
Change-Id: I11e7425c523081f9cc52c7d3daf56cfabfe6424f
2016-08-29 05:43:29 -07:00
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