Commit Graph

31 Commits

Author SHA1 Message Date
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
Adnan Begovic
052391135b cmsdk: Enforce cyanogenmod.permission.MODIFY_PROFILES for profiles.
Change-Id: Id14bfd9b214b4f53960c55d8abab2764f990b1b6
2015-09-01 15:40:58 -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
Steve Kondik
435e2f3b17 profiles: Don't bind the keyguard until ActivityManager is up
Change-Id: I2f349d00c197cf5c4a492fb0892b3edd71479ea4
2015-08-19 05:29:16 -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
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
fa82ebb308 cmsdk: Support deleteIntent and remove tiles when packages change.
Change-Id: I488410296c7579870406ea8fe289cf0b2158ea80
2015-07-31 16:27:15 -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
c9295fb9cc cmsdk: Clear calling identity when resetAll is called.
Change-Id: Id39eb18165d12a792c141dc44840a122d509dece
2015-07-14 13:42:41 -07:00
Jorge Ruesga
63524972a3 cmsdk: fix cannot create handler
Change-Id: I34153f6199d46b7fa9a914efa38552b8d66c0c99
JIRA: NIGHTLIES-1532
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
2015-07-13 16:58:16 -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
635f8f1657 cmsdk: notify new listeners all registered custom tiles
If a new listener is created, then notified all custom tiles that was previously registered

Change-Id: I9e8d9a1fa84d54b00ea7fd8ed400e172f17f06cc
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
2015-06-14 00:50:37 +02: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
Adnan Begovic
2217bb4197 CMSDK: Remove dead code.
Change-Id: If08729e64271ed72545eddc8da3147f23c6f2d75
2015-05-18 16:35:01 -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
3f13414fde CMSDK: Make sure we're binding the correct permission for enforcement.
Change-Id: Ie58b11cfa972f449bfc20b05f4b52b7cd28ab7d5
2015-05-13 01:39:34 -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
e54a96d647 CMSDK: Update implementation for permission declarations.
Change-Id: I9cca55f693ef3f0363bac2f5c8ae1db07adc4f34
2015-04-30 17:26:01 -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
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