From f94b6a93a4afa910f4ee4869f001183f7b4c1de7 Mon Sep 17 00:00:00 2001 From: Tim Kilbourn Date: Fri, 7 Mar 2014 15:13:48 -0800 Subject: [PATCH] Add leanback device features. android.software.leanback - the device supports leanback UIs. android.software.leanback_only - the device ONLY supports leanback UIs. leanback_only is a hidden feature for now. Change-Id: I497bd96464125ad81212c804e150f210f3e95af2 --- api/current.txt | 5 +++-- .../android/content/pm/PackageManager.java | 21 +++++++++++++++++++ 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/api/current.txt b/api/current.txt index 391cb9b0e45c5..56d6e49337b79 100644 --- a/api/current.txt +++ b/api/current.txt @@ -7307,6 +7307,7 @@ package android.content.pm { field public static final java.lang.String FEATURE_FAKETOUCH_MULTITOUCH_JAZZHAND = "android.hardware.faketouch.multitouch.jazzhand"; field public static final java.lang.String FEATURE_HOME_SCREEN = "android.software.home_screen"; field public static final java.lang.String FEATURE_INPUT_METHODS = "android.software.input_methods"; + field public static final java.lang.String FEATURE_LEANBACK = "android.software.leanback"; field public static final java.lang.String FEATURE_LIVE_WALLPAPER = "android.software.live_wallpaper"; field public static final java.lang.String FEATURE_LOCATION = "android.hardware.location"; field public static final java.lang.String FEATURE_LOCATION_GPS = "android.hardware.location.gps"; @@ -7330,7 +7331,7 @@ package android.content.pm { field public static final java.lang.String FEATURE_TELEPHONY = "android.hardware.telephony"; field public static final java.lang.String FEATURE_TELEPHONY_CDMA = "android.hardware.telephony.cdma"; field public static final java.lang.String FEATURE_TELEPHONY_GSM = "android.hardware.telephony.gsm"; - field public static final java.lang.String FEATURE_TELEVISION = "android.hardware.type.television"; + field public static final deprecated java.lang.String FEATURE_TELEVISION = "android.hardware.type.television"; field public static final java.lang.String FEATURE_TOUCHSCREEN = "android.hardware.touchscreen"; field public static final java.lang.String FEATURE_TOUCHSCREEN_MULTITOUCH = "android.hardware.touchscreen.multitouch"; field public static final java.lang.String FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT = "android.hardware.touchscreen.multitouch.distinct"; @@ -21813,7 +21814,7 @@ package android.renderscript { } public class BaseObj { - method public synchronized void destroy(); + method public void destroy(); method public java.lang.String getName(); method public void setName(java.lang.String); } diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java index 6440f0bab0eb0..34a6f1d0d7264 100644 --- a/core/java/android/content/pm/PackageManager.java +++ b/core/java/android/content/pm/PackageManager.java @@ -1223,6 +1223,26 @@ public abstract class PackageManager { @SdkConstant(SdkConstantType.FEATURE) public static final String FEATURE_DEVICE_ADMIN = "android.software.device_admin"; + /** + * Feature for {@link #getSystemAvailableFeatures} and + * {@link #hasSystemFeature}: The device supports leanback UI. This is + * typically used in a living room television experience, but is a software + * feature unlike {@link #FEATURE_TELEVISION}. Devices running with this + * feature will use resources associated with the "television" UI mode. + */ + @SdkConstant(SdkConstantType.FEATURE) + public static final String FEATURE_LEANBACK = "android.software.leanback"; + + /** + * Feature for {@link #getSystemAvailableFeatures} and + * {@link #hasSystemFeature}: The device supports only leanback UI. Only + * applications designed for this experience should be run, though this is + * not enforced by the system. + * @hide + */ + @SdkConstant(SdkConstantType.FEATURE) + public static final String FEATURE_LEANBACK_ONLY = "android.software.leanback_only"; + /** * Feature for {@link #getSystemAvailableFeatures} and * {@link #hasSystemFeature}: The device supports WiFi (802.11) networking. @@ -1244,6 +1264,7 @@ public abstract class PackageManager { * room television experience: displayed on a big screen, where the user * is sitting far away from it, and the dominant form of input will be * something like a DPAD, not through touch or mouse. + * @deprecated use {@link #FEATURE_LEANBACK} instead. */ @SdkConstant(SdkConstantType.FEATURE) public static final String FEATURE_TELEVISION = "android.hardware.type.television";