Simply, Concierge handles your parcels and makes sure they
get marshalled and unmarshalled correctly when cross IPC
boundaries even when there is a version mismatch between the client
sdk level and the framework implementation.
On incoming parcel (to be unmarshalled):
ParcelInfo incomingParcelInfo = Concierge.receiveParcel(incomingParcel);
int parcelableVersion = incomingParcelInfo.getParcelVersion();
// Do unmarshalling steps here iterating over every plausible version
// Complete the process
incomingParcelInfo.complete();
On outgoing parcel (to be marshalled):
ParcelInfo outgoingParcelInfo = Concierge.prepareParcel(incomingParcel);
// Do marshalling steps here iterating over every plausible version
// Complete the process
outgoingParcelInfo.complete();
Change-Id: I0096851e08ce25908e19e39e6bc4af344e85725e
The feature xml plays two roles:
1) To allow sdk interface (constructor) to throw when system
service is unavailable. This allows for clearer platform
development debugging.
2) To allow for simpler disambiguation of what services to
instrument in a modular environment.
Change-Id: Ic980225df9c115e97f7147cf043cf92bbb225f01
TICKET: CYNGNOS-2293
The feature xml plays two roles:
1) To allow sdk interface (constructor) to throw when system
service is unavailable. This allows for clearer platform
development debugging.
2) To allow for simpler disambiguation of what services to
instrument in a modular environment.
Change-Id: I50f5993ff9c5107fdeaa9a5aa95377235eb3ac02
TICKET: CYNGNOS-2294
The feature xml plays two roles:
1) To allow sdk interface (constructor) to throw when system
service is unavailable. This allows for clearer platform
development debugging.
2) To allow for simpler disambiguation of what services to
instrument in a modular environment.
TICKET: CYNGNOS-2288
Change-Id: Id0adcc1eaa4a0512faf25f11057c45dc2ac733e0
The feature xml plays two roles:
1) To allow sdk interface (constructor) to throw when system
service is unavailable. This allows for clearer platform
development debugging.
2) To allow for simpler disambiguation of what services to
instrument in a modular environment.
TICKET: CYNGNOS-2289
Change-Id: Ice0ae7c45aecbb34e0ea667128b040906c46d7e7
The features xml plays two roles:
1) To allow sdk interface (constructor) to throw when system
service is unavailable. This allows for clearer platform
development debugging.
2) To allow for simpler disambiguation of what services to
instrument in a modular environment.
Change-Id: I41f4ac60af076743909c6090fd50c3ad045bc9e1
Since PerformanceManager is strictly a CyanogenMod construct,
it doesn't make sense to enforce the interfaces with an android
specific permission (even though the implementation is delegated
to power manager). To keep consistency with the other api's,
modify the enforcing permission to a cm specific declaration.
Also add test cases for the PerformanceManager public interfaces.
Change-Id: I430b69dbee73bf94bb60932d1942ab97e3ba193e
To avoid any future release having offset binder transaction
call ids, create a means to validate binder transaction ids
within a parameterized environment based off of prior releases.
This requires utilizing the new android testing support library
for junit4 support.
Change-Id: Iefe3c183de2bdfa127ea53dcf21c8223f0355c34
It's sometimes useful to know what physical device you're using.
CMHW SerialNumber and an "ro.serialno" property already exists, but
are not guaranteed to be unique. Different OEM may use overlapping
numbering schemes, and sometimes placeholder like "012345ABCDE" are
used.
Attempt to work around these shortcomings by defining a new
UniqueDeviceId class that provides a globally unique device ID that
is both deterministic for a given device and designed not to overlap
with IDs of any other devices.
Change-Id: I3f426972558394ba8e78261273ac8521aa603327
Some of this exists in the PersistentStorage implementation, but it
was never formally documented in the APIs. Inherit the cmhw implementation
error checking & move it into the service.
Add tests to validate the new restrictions & a test that was previously
failing.
Change-Id: I3ecda29fdd28bbc4e6d8ccce7511c4644065ea46
Created the AndroidTestCase unit test
Added functional testing for airplane mode, which can be restored
without contaminating other tests.
Also added setZenMode testing, which currently contaminates other
tests. But we will allow for lack of a better way
FOR-156
Change-Id: I2ab5642c60f41266d9de8aab897e4852e872ad38
Add setZenModeWithDuration API call with long durationMills
Use NotificationManager.setZenMode with Condition URI
specifying end time.
Update settings/CMPartnerInterfaceTest
TODO: unit test to be added in:
tests/src/org/cyanogenmod/tests/settings/unit.
FOR-156
Change-Id: I18dd661fc07419a7019b6372e81df430a70f86e9
The jars all have oat files now, so iterating them and seeing
if they're "clean" is pointless since they're not part of the
processes runtime libraries on zygote fork.
Change-Id: I8c0e0ce16a84c423e68f8c1749f3676c3bd2931f
* 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
- 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
- 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>