Commit Graph

117 Commits

Author SHA1 Message Date
Adnan Begovic
4e53461e71 cmsdk: API level 4 for M release.
Change-Id: Ieed8ebf256e91515b6921186487b83462910bca9
2015-10-07 11:32:41 -07:00
Yvonne Wong
5c29aa4e50 CMSettings: Remove write check in query method and add values for heads up notification
Change-Id: I72ad8039757da5e66809134bdddd463c512de157
2015-10-07 11:23:44 -07:00
Wilhelm Fitzpatrick
0ba3889323 cmdsk: rename thermal constants to reflect actual event semantics
cool, warm, critical reflect the threshold names used in the
lower level code, and warm has directional states depending on
whether the temp is rising or falling.

SAMBAR-266

Change-Id: Ifc0ad415f3d8409b6237d2715534d7e7ff3455f7
2015-09-29 16:30:43 -07:00
Adnan Begovic
38e8b11ea7 cmsdk: Create api level 3, cantaloupe.
Change-Id: I5cefacf1196261b071ce2c3561f18ebaf74de604
2015-09-29 11:40:29 -07:00
Yvonne Wong
05d0129478 Add way to migrate CM specific settings to CMSettingsProvider
issue-id: CYNGNOS-829

Change-Id: I08743ebf9ffd3846ae501ed41e396b1556dc41cf
2015-09-25 13:17:19 -07:00
Danesh M
2acf3ea1c4 CMSdk : Add ThermalMonitor
Change-Id: Iafc87cf4c79feac5e2c66bb3d1945da6d0b742da
2015-09-24 11:42:35 -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
Steve Kondik
7cef6f6945 cmsdk: Add persistent properties API
* Add support for reading and writing values from/to persistent
   storage. Requires the MANAGE_PERSISTENT_STORAGE permission, which
   should not be available for general use by applications.

Change-Id: I8a793396d207f23fcda851c172372f2073778eec
2015-09-09 15:43:32 -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
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
Adnan Begovic
99b8c5d9f3 cmsdk: Update documentation for Boysenberry release.
Change-Id: I5bbd18d2d182b0c2fbecdc19484a4e6533b0fb28
2015-09-02 10:36:38 -07:00
Adnan Begovic
052391135b cmsdk: Enforce cyanogenmod.permission.MODIFY_PROFILES for profiles.
Change-Id: Id14bfd9b214b4f53960c55d8abab2764f990b1b6
2015-09-01 15:40:58 -07:00
Adnan Begovic
c0c27a6f94 cmsdk: Add preliminary hardware manager tests.
Change-Id: Ic01898fc9c1ae4d9c3b52ade8737ec6ab8388670
2015-09-01 14:13:03 -07:00
Adnan Begovic
3a502e91b2 cmsdk: Change parceling for DisplayMode.
Change-Id: Ied3521e3fb7c3f198c0b17d82638fa21ad5cd69a
2015-09-01 14:12:21 -07:00
BadDaemon
40a46bd09e BugFix: Fix potential NPEs with getService()
Should fix
"java.lang.NullPointerException: Attempt to invoke interface method
'int cyanogenmod.hardware.ICMHardwareService.getSupportedFeatures()'
on a null object reference" and others

Change-Id: Ic5a02fc953376aa746844fd6c2f93b5f48246516
2015-09-01 14:11:01 -07:00
Jorge Ruesga
95dadd837c cmsdk: allow custom tiles to set the new qstile's sensitive data flag
Requires: topic:hide-qs-tiles

Change-Id: I71c85a00ae5797f1e142073b4d6a3a4c3274007b
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
2015-08-31 16:41:09 -07:00
Yvonne Wong
0eb2999091 Add CMSettingsProvider and CMDatabaseHelper
issue-id: CYNGNOS-828

Change-Id: I01c08c0e432d6a941950a565e5ab6664664e2a7f
2015-08-31 13:52:27 -07:00
Steve Kondik
ba4db5ad36 cmhw: Add makeDefault arg to setDisplayMode
* Already supported by the HAL and is necessary to sync state with
   the server side.

Change-Id: I65148d5464dff8dbbee374387a01bcf13a945eb1
2015-08-20 23:58:47 -07:00
Steve Kondik
e18f6d8b1c cmsdk: Add initial DisplayMode and AutoContrast support to CMHW
Change-Id: I71f3599c64c03efc4b090ea71e583c942d0c03c2
2015-08-19 05:33:40 -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
Roman Birg
307941c0fd cmsdk: fix enabling/disabling keyguard
We cannot create a new WindowManagerPolicy every time since the method
isn't called from the main thread every time, which could lead to
exceptions being thrown when trying to create PhoneWindowManager.

Instead of creating a new policy, bind to the keyguard service on bind,
and then pass it to the profile to operate on.

Ref: NIGHTLIES-1640

Change-Id: I3ac58bfa534755eaa73890cc5ddf05987a7d0d8c
Signed-off-by: Roman Birg <roman@cyngn.com>
2015-08-13 10:49:17 -07:00
Joao Figueiredo
7f50335f2b cmsdk: Dual SIM support on CM SDK
Signed-off-by: Adnan Begovic <adnan@cyngn.com>
Change-Id: I69b349853b0259582956744d9ddd99a187c10fff
2015-08-06 18:56:12 -07:00
Matt Garnes
51c39ba2d7 Add API to SettingsManager to set zen mode.
- Add a new permission cyanogenmod.permission.MODIFY_SOUND_SETTINGS.
- Only allowed when the caller holds
  cyanogenmod.permission.MODIFY_SOUND_SETTINGS.
- Allows the user to set zen mode to the off, priority interruptions
  only, or no interruptions modes.
- For each mode change, the end condition will be set to null so that
  the mode remains active indefinitely.

Change-Id: Id465509a8cc8d98953bf8cbe06cacff02b9f75a0
2015-08-06 16:18:50 -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
Matt Garnes
0cdb1d513c Add SettingsManager.
Add new APIs for changing a subset of system settings.

Protected by cyanogenmod.permission.MODIFY_NETWORK_SETTINGS:
    - Add ability to toggle airplane mode on/off.
    - Add ability to toggle mobile data on/off.

Protected by android.permission.REBOOT:
    - Add ability to shutdown or reboot the device.

Change-Id: I5e943be11260c58afa664f1702c0ecb4413528fe
2015-08-06 11:35:00 -07:00
Adnan Begovic
8481cec918 cmsdk: Expose ProfileTrigger constructor for third parties.
Change-Id: I96dbc4974f49d07df020510be59f6ad23040e448
2015-08-04 17:03:00 -07:00
Adnan Begovic
7034da2d4b cmsdk: Clean up documentation.
Change-Id: I1ffc22376b6241484b2208b0cd1daffc47aa9288
2015-08-03 12:45:36 -07:00
Adnan Begovic
fa82ebb308 cmsdk: Support deleteIntent and remove tiles when packages change.
Change-Id: I488410296c7579870406ea8fe289cf0b2158ea80
2015-07-31 16:27:15 -07:00
Roman Birg
e84d6568ab Profiles: add LockModeSettings
Splits out the lockmode into its own LockSettings, primarly so it has its
own processOverride() - so it will respect the LockMode.DEFAULT setting.

Ref: CYNGNOS-620
Change-Id: I6183492facebed37133e84d45a6bb2f91f76d5ea
Signed-off-by: Roman Birg <roman@cyngn.com>
Signed-off-by: Adnan Begovic <adnan@cyngn.com>
2015-07-31 14:09:33 -07:00
Adnan Begovic
bd5230afe0 cmsdk: Add support for remote views in expanded styles
Change-Id: Ifa4e7f09df60c65fe476c5b9d332da0cb460e098
2015-07-31 13:06:26 -07:00
Adnan Begovic
d61839701e cmsdk: Create new setIcon method for utilizing bitmaps
Change-Id: I123994af89fe435b9f4bc146056a237f1cecb939
2015-07-31 13:04:41 -07:00
Adnan Begovic
e58c96e2de cmsdk: Make sure we're writing ProfileTrigger values as typed array.
JIRA: NIGHTLIES-1627
Change-Id: Ic04795810762380f9e9632737acd4491c750ff7d
2015-07-31 11:04:13 -07:00
Adnan Begovic
b8614dcabc cmsdk: Fix Profile parceling for custom objects.
Since these objects aren't part of the bootclasspath
  we need to explicitely write them as typed arrays so
  we can unmarshall them on the other side of the IPC
  call correctly. Also change the addProfileGroup method
  to filter out possible null groups.

Change-Id: I501f46895440a174201c4bc413f4d3e6ee16a5ce
2015-07-30 18:09:22 -07:00
Adnan Begovic
ea3bc16d21 cmsdk: Make sure we're defauling shouldCollapsePanel to true.
Change-Id: Ibf8c09e54e784a72ddbc56561227d65a33e4d7ab
2015-07-28 11:28:52 -07:00
Adnan Begovic
3290540468 cmsdk: Add method for shouldCollapsePanel.
- Allow for disabling of panel collapse when
  handling an onClick or onClickUri event in
  CustomTile.

Change-Id: I73bd513baf0fb8b7db33020a3456430702ccd609
2015-07-27 13:16:38 -07:00
Adnan Begovic
f68c6c7e98 cmsdk: Hide PARCELABLE_VERSION constant which varies between releases.
Change-Id: I3bdeb9b359e46f0c02e833b23a958d071fc63df5
2015-07-21 15:51:59 -07:00
Adnan Begovic
33a24ad589 cmsdk: Declare a parcelable header.
- This change forces that a parcelable header is written as the
  first data positions in a parcel and defines a means to distinguish
  between old sdk class versions vs new ones to do proper unraveling
  of parcels.

Ticket: BAMBOO-152
Change-Id: I9cc762fe8a51cc527e85be7fe5de57e4613be019
2015-07-20 21:57:43 -07:00
Adnan Begovic
75cd945923 cmsdk: Update intent action extras to match new namespace.
Change-Id: Iad255ebc25b43aa582edf2bf496412d54c7216a9
2015-07-17 15:51:49 -07:00
Adnan Begovic
02e761ff28 cmsdk: Fix javadoc comment for CM_VERSION_CODES.
Change-Id: Ib5205051ffeb830df96b4c0fb30a9a0b5a7616ce
2015-07-17 13:55:06 -07:00
Adnan Begovic
af4e7b4cf0 cmsdk: Update PROFILE_PICKER intent action.
Change-Id: I2fc91a642b7947ac49a33232164fcaf88a4b95f4
2015-07-16 17:55:29 -07:00
Adnan Begovic
c67a9eb511 cmsdk: Clean up constant linking for javadoc.
Change-Id: I52c724b3f7caf66d24401c7f50435c42f4692d5a
2015-07-16 16:10:56 -07:00
Adnan Begovic
06fc4498e4 cmsdk: Return UNKNOWN for impossible sdk ints.
Change-Id: I77a44abba0db223b031d6714c4fd8beb03a43cdc
2015-07-16 16:03:36 -07:00
Adnan Begovic
6714bfe38b cmsdk: Add documentation for validating API level.
Change-Id: I9a9fd444e6e2682dc59b28b72db7a3d33eca10fa
2015-07-16 13:18:41 -07:00
Adnan Begovic
e341fb2618 cmsdk: Fix Profile parceling.
Change-Id: I5cc260e902ef96f209ba55361374f795b81cc592
2015-07-14 18:09:13 -07:00
Adnan Begovic
a7fb315791 cmsdk: Name api level 2 as boysenberry.
Change-Id: I4a70218b3c8f43771bfc7050d805244ef96785e6
2015-07-13 17:13:38 -07:00
Adnan Begovic
6f584468bc cmsdk: @hide everything relating to ProfileGroups, until complete.
Change-Id: Ic1ad2183bd6cdbf5d3bb5a8ac6d2d14199073c98
2015-07-13 14:01:03 -07:00
Adnan Begovic
5c8fe31f73 cmsdk: Update profile settings documentation.
Change-Id: Ifbe9c2beb880773fccad495e35de3e290980bd9d
2015-07-13 12:34:34 -07:00
Adnan Begovic
cf0bfd333e CMSDK: Begin documentation and testing for profiles.
Change-Id: I06c02f6aed63cfa0483376ae93a3f9a594aff201
2015-07-10 14:40:52 -07:00
Adnan Begovic
6e46829eb7 CMSDK: Introduce factored out resources from framework.
Change-Id: I4193db99f3f883260354cde98366f94c608f6163
2015-07-09 20:05:29 -07:00
Adnan Begovic
cc979035e7 CMSDK: Make sure to initialize ProfileTriggerHelper.
OSS-JIRA: NIGHTLIES-1480

Change-Id: I48fbb350d96424b593858aca1b2343a79f298b0c
2015-07-01 01:04:29 -07:00
Adnan Begovic
4334b3d969 CMSDK: Introduce Profiles API from frameworks.
Refactor to create a system service in secondary
  CM framework.

Change-Id: Ic69da01d941bbd09271c260429d744f8e79ab7b9
2015-06-25 17:35:48 -07:00
Jorge Ruesga
08a3470a78 cmsdk: customtiles: allow load resources from external packages
Saved the context passed to CustomTile.Builder in other to differenciate from the context
used to publish the tile. This allow to load resources (icons) from other packages

Change-Id: I8e40bc59a66f371f3a02f0182e25c6e9eca73c63
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
2015-06-14 00:07:54 +02:00
Jorge Ruesga
9567e3eb67 cmsdk: fix customtile listener service registering logic
mWrapper was never sets. getStatusBarInterface() before check mWrapper instance

Change-Id: Ib280fdf70bc96dcc2ec6c86c6a8bc380dc1e3da1
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
2015-06-11 02:35:20 +02:00
Jorge Ruesga
f58b595b6f cmsdk: do not crash system if CustomTileListenerService isn't present
Change-Id: I786f3e791f0fe9fad12cc48846b6d4f8687dff8c
JIRA: NIGHTLIES-1249
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
2015-06-09 18:15:21 +00:00
Adnan Begovic
5024f16809 CMSDK: Utilize a SparseArray instead of Map, avoid autoboxing.
Change-Id: I207c4d323968f3491b0635859a52402215cdc599
2015-06-08 16:39:58 -07:00
Adnan Begovic
e08be735a4 CMSDK: Create versioning for platform SDK.
Introduce Apricot, the first version for the
  platform sdk.

Change-Id: I4963650cb861725508aa71276977ac6157f248fc
2015-06-08 16:19:57 -07:00
Adnan Begovic
1299f2b0e5 CMSDK: Document the capabilities of ExpandedStyles for CustomTile.
Change-Id: I4e609a9ad7ec17d18271334dfb087a51eb5d5bd6
2015-06-04 17:33:03 -07:00
Adnan Begovic
eac6272970 CMSDK: Create support for ExpandedStyles in CustomTiles.
Applications can now set and expanded style for either a
  gridview layout or a listview layout when providing content
  to be shown in the details panel.

  The mechanism is shown below

  mCustomTile = new CustomTile.Builder(this)
        ...
        .setExpandedStyle(new CustomTile.ListExpandedStyle())
        .build()

  Within SystemUI, if your application states that it wants an expanded
  view, the expanded view onclick will take priority over both
  the onClick intent as well as the onClickUri.

Change-Id: Ib181dab32d1792b6b778fd1ea2f0531bdf407c5f
2015-06-04 17:33:02 -07:00
Adnan Begovic
2c6734a167 CMSDK: Actually hide ThemeVersion.
Change-Id: If30819b969719f8af5693e37eb825d615c555131
2015-06-05 00:32:21 +00:00
Andy Mast
25410f2426 Introduce Theme Versioning [2/2]
See also frameworks/base

Change-Id: I17fd6bfa39ce04fcfb344d14a6af1a6a09ed3f2f
2015-06-01 17:10:07 +00:00
Adnan Begovic
e2feecb3f1 CMSDK: Hide CMContextConstants from docs.
Until we can reference these managers through the current context,
  we should hide the constants that are utilized to retrieve them.
  Current implementations should stick to the singleton getInstance
  pattern.

Change-Id: I6c084a3a5b0745b0b6c5d10e000a40f5e61117ea
2015-05-27 15:34:34 -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
e54a96d647 CMSDK: Update implementation for permission declarations.
Change-Id: I9cca55f693ef3f0363bac2f5c8ae1db07adc4f34
2015-04-30 17:26:01 -07:00
Adnan Begovic
35a6d6c643 CMSDK: Update javadocs for onClick vs onClickUri.
Change-Id: I79c9bcfb757e0c57bbfb5c44331a3a74490c5276
2015-04-30 11:21:58 -07:00
Adnan Begovic
346b7587b3 CMSDK: Allow for a settings intent to be set by 3rd party.
This onSettingsClick intent will be triggered when the detail
  pane is shown in SystemuI and the user clicks "More Settings".

Change-Id: I3ddb65c64e81cd230718e7e6e56c436e5b05df8c
2015-04-29 11:51:44 -07:00
Adnan Begovic
aa558ade9e CMSDK: Create means of removing tiles via listener interface.
Change-Id: I8934fe5c82963a3aba38ce5eec6e59e50a820d17
2015-04-29 10:46:06 -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