Commit Graph

305 Commits

Author SHA1 Message Date
Adnan Begovic 104a15a6b0 CMSDK: Introduce preliminary automatable tests.
Change-Id: I27e21f64dee4aa93e5453ce49ec9fcac8f984d11
2015-04-29 17:38:59 -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
Adnan Begovic 42e54529ed Add initial README. 2015-04-22 15:20:17 -07:00