aboutsummaryrefslogtreecommitdiffstats
path: root/cm
diff options
context:
space:
mode:
authorAdnan Begovic <adnan@cyngn.com>2016-03-14 08:13:57 -0700
committerAdnan Begovic <adnan@cyngn.com>2016-03-15 14:09:04 -0700
commita335ba39c2304fc2ac971322cf8118a235769b85 (patch)
tree85db8196a1dfb645591f32a0b3f2b22fd97a9b1d /cm
parent19b267dfff29400de5909fad62c0e962b821b804 (diff)
downloadvendor_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.java8
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