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 timeout, int nanos)
Causes the current thread to wait until another thread invokes the
notify() method or the
notifyAll() method for this object, or
some other thread interrupts the current thread, or a certain
amount of real time has elapsed.
|
final
void
|
wait(long timeout)
Causes the current thread to wait until either another thread invokes the
notify() method or the
notifyAll() method for this object, or a
specified amount of time has elapsed.
|
final
void
|
wait()
Causes the current thread to wait until another thread invokes the
notify() method or the
notifyAll() method for this object.
|
|
Public constructors
StatefulBuilder
public StatefulBuilder (String controlId,
PendingIntent appIntent)
Parameters |
controlId |
String : the identifier for the Control .
This value cannot be null . |
appIntent |
PendingIntent : the pending intent linking to the device Activity.
This value cannot be null . |
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 be null . |
Public methods
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 of ControlTemplate , that defines how the
Control will behave and what interactions are
available to the user
This value cannot be null . |
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 be null . |
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 be null . |
setDeviceType
public Control.StatefulBuilder setDeviceType (int deviceType)
Parameters |
deviceType |
int : type of device represented by this Control , used to
determine the default icon and color
Value is DeviceTypes.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 , or DeviceTypes.TYPE_ROUTINE |
setStatusText
public Control.StatefulBuilder setStatusText (CharSequence statusText)
Parameters |
statusText |
CharSequence : user-facing text description of the Control 's status,
describing its current state
This value cannot be null . |
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 be null . |
setSubtitle
public Control.StatefulBuilder setSubtitle (CharSequence subtitle)
Parameters |
subtitle |
CharSequence : additional information about the Control , to appear underneath
the title
This value cannot be null . |
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 be null . |