diff options
author | Adnan Begovic <adnan@cyngn.com> | 2016-03-15 16:40:06 -0700 |
---|---|---|
committer | Adnan Begovic <adnan@cyngn.com> | 2016-03-24 16:50:56 -0700 |
commit | 21a567428db79f97d2178a8dec7cf1825b7ecff6 (patch) | |
tree | 31108b2cb12675ddf48e99583b14b4bf70bfc419 /cm | |
parent | cdf85adde1be30ce675e8c5442ec4c21a6cd2991 (diff) | |
download | vendor_cmsdk-21a567428db79f97d2178a8dec7cf1825b7ecff6.zip vendor_cmsdk-21a567428db79f97d2178a8dec7cf1825b7ecff6.tar.gz vendor_cmsdk-21a567428db79f97d2178a8dec7cf1825b7ecff6.tar.bz2 |
cmsdk: Mandate profile feature xml's for service implementation.
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
Diffstat (limited to 'cm')
-rw-r--r-- | cm/lib/main/java/org/cyanogenmod/platform/internal/ProfileManagerService.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/cm/lib/main/java/org/cyanogenmod/platform/internal/ProfileManagerService.java b/cm/lib/main/java/org/cyanogenmod/platform/internal/ProfileManagerService.java index 37eb76f..eb39063 100644 --- a/cm/lib/main/java/org/cyanogenmod/platform/internal/ProfileManagerService.java +++ b/cm/lib/main/java/org/cyanogenmod/platform/internal/ProfileManagerService.java @@ -169,7 +169,13 @@ public class ProfileManagerService extends SystemService { super(context); mContext = context; mHandler = new Handler(mHandlerCallback); - publishBinderService(CMContextConstants.CM_PROFILE_SERVICE, mService); + if (context.getPackageManager().hasSystemFeature( + CMContextConstants.Features.PROFILES)) { + publishBinderService(CMContextConstants.CM_PROFILE_SERVICE, mService); + } else { + Log.wtf(TAG, "CM profile service started by system server but feature xml not" + + " declared. Not publishing binder service!"); + } } @Override |