Add Consumer IR feature

Bug: 10676690
Change-Id: Id2c118225dc6ef259f5ed97da4071e9b6de3a83a
diff --git a/services/java/com/android/server/ConsumerIrService.java b/services/java/com/android/server/ConsumerIrService.java
index 07f2a41..783dff1 100644
--- a/services/java/com/android/server/ConsumerIrService.java
+++ b/services/java/com/android/server/ConsumerIrService.java
@@ -39,6 +39,7 @@
 import android.util.Slog;
 import android.view.InputDevice;
 
+import java.lang.RuntimeException;
 import java.util.ArrayList;
 import java.util.LinkedList;
 import java.util.ListIterator;
@@ -65,8 +66,12 @@
         mWakeLock.setReferenceCounted(true);
 
         mHal = halOpen();
-        if (mHal == 0) {
-            Slog.w(TAG, "No IR HAL loaded");
+        if (mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CONSUMER_IR)) {
+            if (mHal == 0) {
+                throw new RuntimeException("FEATURE_CONSUMER_IR present, but no IR HAL loaded!");
+            }
+        } else if (mHal != 0) {
+            throw new RuntimeException("IR HAL present, but FEATURE_CONSUMER_IR is not set!");
         }
     }