aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/java/cyanogenmod/app/CMContextConstants.java8
-rw-r--r--src/java/cyanogenmod/app/CMStatusBarManager.java7
2 files changed, 15 insertions, 0 deletions
diff --git a/src/java/cyanogenmod/app/CMContextConstants.java b/src/java/cyanogenmod/app/CMContextConstants.java
index 957f33c..761ce09 100644
--- a/src/java/cyanogenmod/app/CMContextConstants.java
+++ b/src/java/cyanogenmod/app/CMContextConstants.java
@@ -125,5 +125,13 @@ public final class CMContextConstants {
*/
@SdkConstant(SdkConstant.SdkConstantType.FEATURE)
public static final String HARDWARE_ABSTRACTION = "org.cyanogenmod.hardware";
+
+ /**
+ * Feature for {@link PackageManager#getSystemAvailableFeatures} and
+ * {@link PackageManager#hasSystemFeature}: The device includes the cm status bar service
+ * utilzed by the cmsdk.
+ */
+ @SdkConstant(SdkConstant.SdkConstantType.FEATURE)
+ public static final String STATUSBAR = "org.cyanogenmod.statusbar";
}
}
diff --git a/src/java/cyanogenmod/app/CMStatusBarManager.java b/src/java/cyanogenmod/app/CMStatusBarManager.java
index efc841c..d696a82 100644
--- a/src/java/cyanogenmod/app/CMStatusBarManager.java
+++ b/src/java/cyanogenmod/app/CMStatusBarManager.java
@@ -65,6 +65,13 @@ public class CMStatusBarManager {
mContext = context;
}
sService = getService();
+
+ if (context.getPackageManager().hasSystemFeature(
+ cyanogenmod.app.CMContextConstants.Features.STATUSBAR) && sService == null) {
+ throw new RuntimeException("Unable to get CMStatusBarService. The service either" +
+ " crashed, was not started, or the interface has been called to early in" +
+ " SystemServer init");
+ }
}
/**