Control
  public
  
  final
  
  class
  Control
  
    extends Object
  
  
  
  
  
      implements
      
        Parcelable
      
  
  
| java.lang.Object | |
| ↳ | android.service.controls.Control | 
Represents a physical object that can be represented by a ControlTemplate and whose
 properties may be modified through a ControlAction.
 The information is provided by a ControlsProviderService and represents static
 information (not current status) about the device.
 
Each control needs a unique (per provider) identifier that is persistent across reboots of the system.
 Each Control will have a name, a subtitle and will optionally belong to a structure
 and zone. Some of these values are defined by the user and/or the ControlsProviderService
 and will be used to display the control as well as group them for management.
 
 Each object will have an associated DeviceTypes. This will determine the icons and colors
 used to display it.
 
 An Intent linking to the provider Activity that expands on this Control and
 allows for further actions should be provided.
Summary
| Nested classes | |
|---|---|
| 
        
        
        
        
        class | Control.StatefulBuilderBuilder class for  | 
| 
        
        
        
        
        class | Control.StatelessBuilderBuilder class for  | 
| Constants | |
|---|---|
| int | STATUS_DISABLEDThe  | 
| int | STATUS_ERRORUsed to indicate that there was a temporary error while loading the device state. | 
| int | STATUS_NOT_FOUNDThe device corresponding to the  | 
| int | STATUS_OKUsed to indicate that the state of the device was successfully retrieved. | 
| int | STATUS_UNKNOWNReserved for use with the  | 
| Inherited constants | 
|---|
| Fields | |
|---|---|
| 
    public
    static
    final
    Creator<Control> | CREATOR
 | 
| Public methods | |
|---|---|
| 
        
        
        
        
        
        int | 
      describeContents()
      Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. | 
| 
        
        
        
        
        
        PendingIntent | 
      getAppIntent()
       | 
| 
        
        
        
        
        
        String | 
      getControlId()
       | 
| 
        
        
        
        
        
        ControlTemplate | 
      getControlTemplate()
       | 
| 
        
        
        
        
        
        ColorStateList | 
      getCustomColor()
      Optional color to be shown with the  | 
| 
        
        
        
        
        
        Icon | 
      getCustomIcon()
      Optional icon to be shown with the  | 
| 
        
        
        
        
        
        int | 
      getDeviceType()
       | 
| 
        
        
        
        
        
        int | 
      getStatus()
       | 
| 
        
        
        
        
        
        CharSequence | 
      getStatusText()
       | 
| 
        
        
        
        
        
        CharSequence | 
      getStructure()
      Optional top-level group to help define the  | 
| 
        
        
        
        
        
        CharSequence | 
      getSubtitle()
       | 
| 
        
        
        
        
        
        CharSequence | 
      getTitle()
       | 
| 
        
        
        
        
        
        CharSequence | 
      getZone()
      Optional group name to help define the  | 
| 
        
        
        
        
        
        boolean | 
      isAuthRequired()
       | 
| 
        
        
        
        
        
        void | 
      writeToParcel(Parcel dest, int flags)
      Flatten this object in to a Parcel. | 
| Inherited methods | |
|---|---|
Constants
STATUS_DISABLED
public static final int STATUS_DISABLED
The Control is currently disabled.  A default error message will be displayed in
 place of any custom text that was set through StatefulBuilder.setStatusText.
Constant Value: 4 (0x00000004)
STATUS_ERROR
public static final int STATUS_ERROR
Used to indicate that there was a temporary error while loading the device state. A default
 error message will be displayed in place of any custom text that was set through
 StatefulBuilder.setStatusText.
Constant Value: 3 (0x00000003)
STATUS_NOT_FOUND
public static final int STATUS_NOT_FOUND
The device corresponding to the Control cannot be found or was removed. The user
 will be alerted and directed to the application to resolve.
Constant Value: 2 (0x00000002)
STATUS_OK
public static final int STATUS_OK
Used to indicate that the state of the device was successfully retrieved. This includes
 all scenarios where the device may have a warning for the user, such as "Lock jammed",
 or "Vacuum stuck". Any information for the user should be set through
 StatefulBuilder.setStatusText.
Constant Value: 1 (0x00000001)
STATUS_UNKNOWN
public static final int STATUS_UNKNOWN
Reserved for use with the StatelessBuilder, and while loading. When state is
 requested via ControlsProviderService.createPublisherFor, use other status codes
 to indicate the proper device state.
Constant Value: 0 (0x00000000)
Fields
Public methods
describeContents
public int describeContents ()
Describe the kinds of special objects contained in this Parcelable
 instance's marshaled representation. For example, if the object will
 include a file descriptor in the output of writeToParcel(android.os.Parcel, int),
 the return value of this method must include the
 CONTENTS_FILE_DESCRIPTOR bit.
| Returns | |
|---|---|
| int | a bitmask indicating the set of special object types marshaled
 by this Parcelable object instance.
 Value is either 0orCONTENTS_FILE_DESCRIPTOR | 
getAppIntent
public PendingIntent getAppIntent ()
| Returns | |
|---|---|
| PendingIntent | a PendingIntentlinking to an Activity for theControlThis value cannot benull. | 
getControlId
public String getControlId ()
| Returns | |
|---|---|
| String | the identifier for the ControlThis value cannot benull. | 
getControlTemplate
public ControlTemplate getControlTemplate ()
| Returns | |
|---|---|
| ControlTemplate | instance of ControlTemplate, that defines how theControlwill
         behave and what interactions are available to the user
 This value cannot benull. | 
getCustomColor
public ColorStateList getCustomColor ()
Optional color to be shown with the Control. It is highly recommended
 to let the system default the color unless the default is not suitable for the
 application.
| Returns | |
|---|---|
| ColorStateList | background color to use
 This value may be null. | 
getCustomIcon
public Icon getCustomIcon ()
Optional icon to be shown with the Control. It is highly recommended
 to let the system default the icon unless the default icon is not suitable.
| Returns | |
|---|---|
| Icon | icon to show
 This value may be null. | 
getDeviceType
public int getDeviceType ()
getStatus
public int getStatus ()
| Returns | |
|---|---|
| int | status of the Control, used to convey information about the attempt to
         fetch the current state
 Value isSTATUS_UNKNOWN,STATUS_OK,STATUS_NOT_FOUND,STATUS_ERROR, orSTATUS_DISABLED | 
getStatusText
public CharSequence getStatusText ()
| Returns | |
|---|---|
| CharSequence | user-facing text description of the Control's status, describing its current
         state
 This value cannot benull. | 
getStructure
public CharSequence getStructure ()
Optional top-level group to help define the Control's location, visible to the user.
 If not present, the application name will be used as the top-level group. A structure
 contains zones which contains controls.
| Returns | |
|---|---|
| CharSequence | name of the structure containing the control
 This value may be null. | 
getSubtitle
public CharSequence getSubtitle ()
| Returns | |
|---|---|
| CharSequence | additional information about the Control, to appear underneath the title
 This value cannot benull. | 
getTitle
public CharSequence getTitle ()
| Returns | |
|---|---|
| CharSequence | the user facing name of the ControlThis value cannot benull. | 
getZone
public CharSequence getZone ()
Optional group name to help define the Control's location within a structure,
 visible to the user. A structure contains zones which contains controls.
| Returns | |
|---|---|
| CharSequence | name of the zone containing the control
 This value may be null. | 
isAuthRequired
public boolean isAuthRequired ()
| Returns | |
|---|---|
| boolean | true if the control can not be interacted with until the device is unlocked | 
writeToParcel
public void writeToParcel (Parcel dest, int flags)
Flatten this object in to a Parcel.
| Parameters | |
|---|---|
| dest | Parcel: This value cannot benull. | 
| flags | int: Additional flags about how the object should be written.
 May be 0 orParcelable.PARCELABLE_WRITE_RETURN_VALUE.
 Value is either0or a combination ofParcelable.PARCELABLE_WRITE_RETURN_VALUE, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES | 
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-10 UTC.
