From c210fff110bd4cdba7cbcddead1db3a36477e6b5 Mon Sep 17 00:00:00 2001 From: Kangping Dong Date: Thu, 25 May 2023 23:52:16 +0800 Subject: [PATCH] [Thread] define Thread hardware feature Define Thread hardware feature FEATURE_THREADNETWORK = "android.hardware.threadnetwork" so that apps/users can know whether the device has Thread support. This flags is defined as public API but not system API because we defined TRANSPORT_THREAD as public API and general apps can access Thread network by adding callback for the Thread network. Adding the FEATURE_THREADNETWORK as public API allows apps to be more clear/confident of whether they can retrieve the Thread network with TRANSPORT_THREAD. FR: b/235016403 Bug: 284296494 Bug: 292948264 Change-Id: I3bce3458fa721a20d8937a0c70eec2dbc7c54bc6 --- core/api/current.txt | 1 + core/java/android/content/pm/PackageManager.java | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/core/api/current.txt b/core/api/current.txt index 77a6fec604bec..206bdf0909bdd 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -12037,6 +12037,7 @@ package android.content.pm { field public static final String FEATURE_TELEPHONY_RADIO_ACCESS = "android.hardware.telephony.radio.access"; field public static final String FEATURE_TELEPHONY_SUBSCRIPTION = "android.hardware.telephony.subscription"; field @Deprecated public static final String FEATURE_TELEVISION = "android.hardware.type.television"; + field public static final String FEATURE_THREADNETWORK = "android.hardware.threadnetwork"; field public static final String FEATURE_TOUCHSCREEN = "android.hardware.touchscreen"; field public static final String FEATURE_TOUCHSCREEN_MULTITOUCH = "android.hardware.touchscreen.multitouch"; field public static final String FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT = "android.hardware.touchscreen.multitouch.distinct"; diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java index bf139bdd300e3..6d5666a00e1cf 100644 --- a/core/java/android/content/pm/PackageManager.java +++ b/core/java/android/content/pm/PackageManager.java @@ -3445,6 +3445,14 @@ public abstract class PackageManager { public static final String FEATURE_TELEPHONY_SUBSCRIPTION = "android.hardware.telephony.subscription"; + /** + * Feature for {@link #getSystemAvailableFeatures} and + * {@link #hasSystemFeature}: The device is capable of communicating with + * other devices via Thread network. + */ + @SdkConstant(SdkConstantType.FEATURE) + public static final String FEATURE_THREADNETWORK = "android.hardware.threadnetwork"; + /** * Feature for {@link #getSystemAvailableFeatures} and * {@link #hasSystemFeature}: The device is capable of communicating with