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
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>
- 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
- 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
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
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>
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
- Allow for disabling of panel collapse when
handling an onClick or onClickUri event in
CustomTile.
Change-Id: I73bd513baf0fb8b7db33020a3456430702ccd609
- 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
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>
mWrapper was never sets. getStatusBarInterface() before check mWrapper instance
Change-Id: Ib280fdf70bc96dcc2ec6c86c6a8bc380dc1e3da1
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
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
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
This onSettingsClick intent will be triggered when the detail
pane is shown in SystemuI and the user clicks "More Settings".
Change-Id: I3ddb65c64e81cd230718e7e6e56c436e5b05df8c
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