From cd47696a5945f5a0b3d36ac4c2e03d5f3b635fcf Mon Sep 17 00:00:00 2001 From: Matt Pietal Date: Thu, 5 Mar 2020 14:51:13 -0500 Subject: [PATCH] Controls API - Add support for routines Apps can support the idea of a routine. Routines tie together multiple actions across multiple controls to support everyday tasks that would otherwise require multiple clicks. Bug: 150869263 Test: atest ControlProviderTest Change-Id: I3ee2c87c6130420032ebe407b2ffc1e3e8c1504f --- api/current.txt | 1 + core/java/android/service/controls/DeviceTypes.java | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/api/current.txt b/api/current.txt index 02b87342329c2..7760fab684c36 100644 --- a/api/current.txt +++ b/api/current.txt @@ -43504,6 +43504,7 @@ package android.service.controls { field public static final int TYPE_RADIATOR = 16; // 0x10 field public static final int TYPE_REFRIGERATOR = 48; // 0x30 field public static final int TYPE_REMOTE_CONTROL = 17; // 0x11 + field public static final int TYPE_ROUTINE = 52; // 0x34 field public static final int TYPE_SECURITY_SYSTEM = 46; // 0x2e field public static final int TYPE_SET_TOP = 18; // 0x12 field public static final int TYPE_SHOWER = 29; // 0x1d diff --git a/core/java/android/service/controls/DeviceTypes.java b/core/java/android/service/controls/DeviceTypes.java index 6594d2cf4ba23..ac3b36c72a256 100644 --- a/core/java/android/service/controls/DeviceTypes.java +++ b/core/java/android/service/controls/DeviceTypes.java @@ -27,7 +27,7 @@ import java.lang.annotation.RetentionPolicy; public class DeviceTypes { // Update this when adding new concrete types. Does not count TYPE_UNKNOWN - private static final int NUM_CONCRETE_TYPES = 51; + private static final int NUM_CONCRETE_TYPES = 52; public static final @DeviceType int TYPE_UNKNOWN = 0; public static final @DeviceType int TYPE_AC_HEATER = 1; @@ -87,6 +87,11 @@ public class DeviceTypes { public static final @DeviceType int TYPE_CAMERA = 50; public static final @DeviceType int TYPE_DOORBELL = 51; + /* + * Also known as macros, routines can aggregate a series of actions across multiple devices + */ + public static final @DeviceType int TYPE_ROUTINE = 52; + // Update this when adding new generic types. private static final int NUM_GENERIC_TYPES = 7; public static final @DeviceType int TYPE_GENERIC_ON_OFF = -1; @@ -165,7 +170,8 @@ public class DeviceTypes { TYPE_REFRIGERATOR, TYPE_THERMOSTAT, TYPE_CAMERA, - TYPE_DOORBELL + TYPE_DOORBELL, + TYPE_ROUTINE }) public @interface DeviceType {}