diff options
author | Adnan Begovic <adnan@cyngn.com> | 2016-03-14 08:13:57 -0700 |
---|---|---|
committer | Adnan Begovic <adnan@cyngn.com> | 2016-03-15 14:09:04 -0700 |
commit | a335ba39c2304fc2ac971322cf8118a235769b85 (patch) | |
tree | 85db8196a1dfb645591f32a0b3f2b22fd97a9b1d /cm | |
parent | 19b267dfff29400de5909fad62c0e962b821b804 (diff) | |
download | vendor_cmsdk-a335ba39c2304fc2ac971322cf8118a235769b85.zip vendor_cmsdk-a335ba39c2304fc2ac971322cf8118a235769b85.tar.gz vendor_cmsdk-a335ba39c2304fc2ac971322cf8118a235769b85.tar.bz2 |
cmsdk: Mandate cmhw feature xml's for service implementation.
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
Diffstat (limited to 'cm')
-rw-r--r-- | cm/lib/main/java/org/cyanogenmod/platform/internal/CMHardwareService.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/cm/lib/main/java/org/cyanogenmod/platform/internal/CMHardwareService.java b/cm/lib/main/java/org/cyanogenmod/platform/internal/CMHardwareService.java index bfae235..3622d9f 100644 --- a/cm/lib/main/java/org/cyanogenmod/platform/internal/CMHardwareService.java +++ b/cm/lib/main/java/org/cyanogenmod/platform/internal/CMHardwareService.java @@ -344,7 +344,13 @@ public class CMHardwareService extends SystemService implements ThermalUpdateCal super(context); mContext = context; mCmHwImpl = getImpl(context); - publishBinderService(CMContextConstants.CM_HARDWARE_SERVICE, mService); + if (context.getPackageManager().hasSystemFeature( + CMContextConstants.Features.HARDWARE_ABSTRACTION)) { + publishBinderService(CMContextConstants.CM_HARDWARE_SERVICE, mService); + } else { + Log.wtf(TAG, "CM hardware service started by system server but feature xml not" + + " declared. Not publishing binder service!"); + } } @Override |