Stay organized with collections
    
    
      
      Save and categorize content based on your preferences.
    
  
  
    
  
  
  
  
    
  
  
    
    
  
  
Control.StatefulBuilder
  public
  static
  final
  
  class
  Control.StatefulBuilder
  
    extends Object
  
  
  
  
  
  
  
    
  Builder class for Control that contains state information.
 State information is passed through an instance of a ControlTemplate and will
 determine how the user can interact with the Control. User interactions will
 be sent through the method call ControlsProviderService.performControlAction
 with an instance of ControlAction to convey any potential new value.
 Must be used to provide controls for ControlsProviderService.createPublisherFor.
 It provides the following defaults for non-optional parameters:
 
Summary
| Inherited methods | 
|---|
| 
    From class
      
        
          java.lang.Object
        
      
      
  
  
  
    | 
        
        
        
        
        
        Object | 
      clone()
      Creates and returns a copy of this object.
        
    
 |  
  
  
    | 
        
        
        
        
        
        boolean | 
      equals(Object obj)
      Indicates whether some other object is "equal to" this one.
        
    
 |  
  
  
    | 
        
        
        
        
        
        void | 
      finalize()
      Called by the garbage collector on an object when garbage collection
 determines that there are no more references to the object.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        Class<?> | 
      getClass()
      Returns the runtime class of this Object. |  
  
  
    | 
        
        
        
        
        
        int | 
      hashCode()
      Returns a hash code value for the object.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        void | 
      notify()
      Wakes up a single thread that is waiting on this object's
 monitor.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        void | 
      notifyAll()
      Wakes up all threads that are waiting on this object's monitor.
        
    
 |  
  
  
    | 
        
        
        
        
        
        String | 
      toString()
      Returns a string representation of the object.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        void | 
      wait(long timeoutMillis, int nanos)
      Causes the current thread to wait until it is awakened, typically
 by being notified or interrupted, or until a
 certain amount of real time has elapsed.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        void | 
      wait(long timeoutMillis)
      Causes the current thread to wait until it is awakened, typically
 by being notified or interrupted, or until a
 certain amount of real time has elapsed.
        
    
 |  
  
  
    | 
        
        
        
        final
        
        void | 
      wait()
      Causes the current thread to wait until it is awakened, typically
 by being notified or interrupted.
        
    
 |  | 
Public constructors
    StatefulBuilder
    
public StatefulBuilder (Control control)
    
    
    
  Creates a StatelessBuilder using an existing Control as a base.
    
    | Parameters | 
|---|
      
        | control | Control: base for the builder.
 This value cannot benull. | 
    
 
    StatefulBuilder
    
public StatefulBuilder (String controlId, 
                PendingIntent appIntent)
    
    
    
  
    
    | Parameters | 
|---|
      
        | controlId | String: the identifier for theControl.
 This value cannot benull. | 
      
        | appIntent | PendingIntent: the pending intent linking to the device Activity.
 This value cannot benull. | 
    
 
Public methods
    setAuthRequired
    
public Control.StatefulBuilder setAuthRequired (boolean authRequired)
    
    
    
  
    
    | Parameters | 
|---|
      
        | authRequired | boolean: true if the control can not be interacted with until the device is
                     unlocked | 
    
    
 
    setControlTemplate
    
public Control.StatefulBuilder setControlTemplate (ControlTemplate controlTemplate)
    
    
    
  Set the ControlTemplate to define the primary user interaction
 Devices may support a variety of user interactions, and all interactions cannot be
 represented with a single ControlTemplate. Therefore, the selected template
 should be most closely aligned with what the expected primary device action will be.
 Any secondary interactions can be done via the setAppIntent(android.app.PendingIntent).
    
    | Parameters | 
|---|
      
        | controlTemplate | ControlTemplate: instance ofControlTemplate, that defines how theControlwill behave and what interactions are
                        available to the user
 This value cannot benull. | 
    
    
 
    setCustomColor
    
public Control.StatefulBuilder setCustomColor (ColorStateList customColor)
    
    
    
  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.
    
    | Parameters | 
|---|
      
        | customColor | ColorStateList: background color to use
 This value may benull. | 
    
    
 
    setCustomIcon
    
public Control.StatefulBuilder setCustomIcon (Icon customIcon)
    
    
    
  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.
    
    | Parameters | 
|---|
      
        | customIcon | Icon: icon to show
 This value may benull. | 
    
    
 
    setDeviceType
    
public Control.StatefulBuilder setDeviceType (int deviceType)
    
    
    
  
    
    | Parameters | 
|---|
      
        | deviceType | int: type of device represented by thisControl, used to
                   determine the default icon and color
 Value isDeviceTypes.TYPE_GENERIC_ON_OFF,DeviceTypes.TYPE_GENERIC_START_STOP,DeviceTypes.TYPE_GENERIC_OPEN_CLOSE,DeviceTypes.TYPE_GENERIC_LOCK_UNLOCK,DeviceTypes.TYPE_GENERIC_ARM_DISARM,DeviceTypes.TYPE_GENERIC_TEMP_SETTING,DeviceTypes.TYPE_GENERIC_VIEWSTREAM,DeviceTypes.TYPE_UNKNOWN,DeviceTypes.TYPE_AC_HEATER,DeviceTypes.TYPE_AC_UNIT,DeviceTypes.TYPE_AIR_FRESHENER,DeviceTypes.TYPE_AIR_PURIFIER,DeviceTypes.TYPE_COFFEE_MAKER,DeviceTypes.TYPE_DEHUMIDIFIER,DeviceTypes.TYPE_DISPLAY,DeviceTypes.TYPE_FAN,DeviceTypes.TYPE_HOOD,DeviceTypes.TYPE_HUMIDIFIER,DeviceTypes.TYPE_KETTLE,DeviceTypes.TYPE_LIGHT,DeviceTypes.TYPE_MICROWAVE,DeviceTypes.TYPE_OUTLET,DeviceTypes.TYPE_RADIATOR,DeviceTypes.TYPE_REMOTE_CONTROL,DeviceTypes.TYPE_SET_TOP,DeviceTypes.TYPE_STANDMIXER,DeviceTypes.TYPE_STYLER,DeviceTypes.TYPE_SWITCH,DeviceTypes.TYPE_TV,DeviceTypes.TYPE_WATER_HEATER,DeviceTypes.TYPE_DISHWASHER,DeviceTypes.TYPE_DRYER,DeviceTypes.TYPE_MOP,DeviceTypes.TYPE_MOWER,DeviceTypes.TYPE_MULTICOOKER,DeviceTypes.TYPE_SHOWER,DeviceTypes.TYPE_SPRINKLER,DeviceTypes.TYPE_WASHER,DeviceTypes.TYPE_VACUUM,DeviceTypes.TYPE_AWNING,DeviceTypes.TYPE_BLINDS,DeviceTypes.TYPE_CLOSET,DeviceTypes.TYPE_CURTAIN,DeviceTypes.TYPE_DOOR,DeviceTypes.TYPE_DRAWER,DeviceTypes.TYPE_GARAGE,DeviceTypes.TYPE_GATE,DeviceTypes.TYPE_PERGOLA,DeviceTypes.TYPE_SHUTTER,DeviceTypes.TYPE_WINDOW,DeviceTypes.TYPE_VALVE,DeviceTypes.TYPE_LOCK,DeviceTypes.TYPE_SECURITY_SYSTEM,DeviceTypes.TYPE_HEATER,DeviceTypes.TYPE_REFRIGERATOR,DeviceTypes.TYPE_THERMOSTAT,DeviceTypes.TYPE_CAMERA,DeviceTypes.TYPE_DOORBELL, orDeviceTypes.TYPE_ROUTINE | 
    
    
 
    setStatusText
    
public Control.StatefulBuilder setStatusText (CharSequence statusText)
    
    
    
  
    
    | Parameters | 
|---|
      
        | statusText | CharSequence: user-facing text description of theControl's status,
                   describing its current state
 This value cannot benull. | 
    
    
 
    setStructure
    
public Control.StatefulBuilder setStructure (CharSequence structure)
    
    
    
  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.
    
    | Parameters | 
|---|
      
        | structure | CharSequence: name of the structure containing the control
 This value may benull. | 
    
    
 
    setSubtitle
    
public Control.StatefulBuilder setSubtitle (CharSequence subtitle)
    
    
    
  
    
    | Parameters | 
|---|
      
        | subtitle | CharSequence: additional information about theControl, to appear underneath
                 the title
 This value cannot benull. | 
    
    
 
    setZone
    
public Control.StatefulBuilder setZone (CharSequence zone)
    
    
    
  Optional group name to help define the Control's location within a structure,
 visible to the user. A structure contains zones which contains controls.
    
    | Parameters | 
|---|
      
        | zone | CharSequence: name of the zone containing the control
 This value may benull. | 
    
    
 
 
 
  
  
    
  
 
  
    
    
      
       
    
    
  
  
  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.
  
  
  
    
      [null,null,["Last updated 2025-02-10 UTC."],[],[]]