* commit '2bbf0bfc16358382589d56efcc0ea9e63807e941': Add Consumer IR feature
This commit is contained in:
@@ -7277,6 +7277,7 @@ package android.content.pm {
|
||||
field public static final java.lang.String FEATURE_CAMERA_AUTOFOCUS = "android.hardware.camera.autofocus";
|
||||
field public static final java.lang.String FEATURE_CAMERA_FLASH = "android.hardware.camera.flash";
|
||||
field public static final java.lang.String FEATURE_CAMERA_FRONT = "android.hardware.camera.front";
|
||||
field public static final java.lang.String FEATURE_CONSUMER_IR = "android.hardware.consumerir";
|
||||
field public static final java.lang.String FEATURE_DEVICE_ADMIN = "android.software.device_admin";
|
||||
field public static final java.lang.String FEATURE_FAKETOUCH = "android.hardware.faketouch";
|
||||
field public static final java.lang.String FEATURE_FAKETOUCH_MULTITOUCH_DISTINCT = "android.hardware.faketouch.multitouch.distinct";
|
||||
|
||||
@@ -913,6 +913,14 @@ public abstract class PackageManager {
|
||||
@SdkConstant(SdkConstantType.FEATURE)
|
||||
public static final String FEATURE_CAMERA_FRONT = "android.hardware.camera.front";
|
||||
|
||||
/**
|
||||
* Feature for {@link #getSystemAvailableFeatures} and
|
||||
* {@link #hasSystemFeature}: The device is capable of communicating with
|
||||
* consumer IR devices.
|
||||
*/
|
||||
@SdkConstant(SdkConstantType.FEATURE)
|
||||
public static final String FEATURE_CONSUMER_IR = "android.hardware.consumerir";
|
||||
|
||||
/**
|
||||
* Feature for {@link #getSystemAvailableFeatures} and
|
||||
* {@link #hasSystemFeature}: The device supports one or more methods of
|
||||
|
||||
@@ -39,6 +39,7 @@ import android.provider.Settings.SettingNotFoundException;
|
||||
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 @@ public class ConsumerIrService extends IConsumerIrService.Stub {
|
||||
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!");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user