Lines Matching refs:tile
7 …y Quick Settings tiles. It provides descriptions about the lifecycle of a tile, how to create new …
19 QS Tiles usually depend on one or more Controllers that bind the tile with the necessary service. C…
37 …ui/qs/tiles`](/packages/SystemUI/src/com/android/systemui/qs/tiles): Each tile from SystemUI is de…
38 …* track the state of the device and notify the tile when a change has occurred (for example, bluet…
48 Each tile has an associated `State` object that is used to communicate information to the correspon…
52 * **`label`**: usually the name of the tile.
55 …oolean Tiles. This will make screen readers read the current state of the tile as well as the new …
64 …h tile defined in SystemUI extends `QSTileImpl`. This abstract class implements some common functi…
66 … information on how to implement a tile in SystemUI, see [Implementing a SystemUI tile](#implement…
86 …oup` is a container for the icon used in each tile. It has methods to apply the current `State` of…
94 …tile (internal or visual) is not directly modified by a user action like clicking on the tile. Ins…
99 * Create a callback for `QSTile` to call when its state changes. Note that a single tile will norma…
101 #### Life of a tile click
103 This is a brief run-down of what happens when a user clicks on a tile. Internal changes on the devi…
105 1. User clicks on tile. The following calls happen in sequence:
116 * The tile is rippled and the color changes to match the new state.
118 * If the tile is a `QSTileView` (in expanded QS), the labels are changed.
122 A third party tile is any Quick Settings tile that is provided by an app (that's not SystemUI). Thi…
138 …a method to notify SystemUI that the information may have changed and the tile should be refreshed.
146 * **`onTileAdded`**: called when the tile is added to QS.
147 * **`onTileRemoved`**: called when the tile is removed from QS.
148 * **`onStartListening`**: called when QS is opened and the tile is showing. This marks the start of…
149 * **`onStopListening`**: called when QS is closed or the tile is no longer visible by the user. Thi…
150 * **`onClick`**: called when the user clicks on the tile.
158 …Provides the tile object that can be modified. This should only be called in the window between `o…
166 …e secure state of the device. This can be used by the tile to accept or reject actions on the tile.
182 …ken is used in the callbacks to identify this `TileService` and match it to the corresponding tile.
184 …y on creation. After that, the tile is bound whenever it should start listening. When the panels a…
186 ##### Active tile
188 …tile by adding specific meta-data to its manifest (see [TileService#META_DATA_ACTIVE_TILE](https:/…
190 The tile will also be granted listening status if it's clicked by the user.
202 This class is the central controller for all tile services that are currently in Quick Settings as …
210 …as sending the corresponding binder calls. It does not decide whether the tile should be bound or …
214 …eLifecycleManager` when its corresponding tile is added to the set of current ones and kept as lon…
225 * Detecting when the package/component has been removed in order to remove the tile and references …
229 …cribes the classes that aid in the creation of each tile as well as the complete lifecycle of a ti…
239 Each single tile is identified by a spec, which is a unique String for that type of tile. The curre…
241 SystemUI tile specs are usually a single simple word identifying the tile (like `wifi` or `battery`…
257 …Creates a tile (backend) from a given spec. The factory has providers for all of the SystemUI tile…
259 …alid `TileService` or is not enabled) and will be detected later when the tile is polled to determ…
271 1. The tile is added through the QS customizer by the user. This will immediately save the new list…
273 …tile with that spec. Assume that `QSFactoryImpl` managed to create the tile, which is some impleme…
275 5. For each tile in this list, a `QSTileView` is created (collapsed or expanded) and attached to a …
276 … * a callback is attached to the tile to communicate between the backend and the view or the panel.
277 * the click listeners in the tile are attached to those of the view.
278 6. The tile view is added to the corresponding layout.
280 When the tile is removed from the list of current tiles, all these classes are properly disposed in…
290 ## Implementing a tile
292 …eps when implementing a Quick Settings tile. Some of them are optional and depend on the requireme…
294 ### Implementing a SystemUI tile argument
297 2. Create an injectable constructor taking a `QSHost` and whichever classes are needed for the tile…
299 …* If the tile will not support long click (like the `FlashlightTile`), set `state.handlesLongClick…
300 * Changes to the tile state (either from controllers or from clicks) should call `refreshState`.
303 * Implement `isAvailable` so the tile will not be created when it's not necessary.
305 * Inject a `Provider` for the tile created before.
306 * Add a case to the `switch` with a unique String spec for the chosen tile.
311 Following are methods that need to be implemented when creating a new SystemUI tile. `TState` is a …
317 …Creates a new `State` for this tile to use. Each time the state changes, it is copied into a new o…
319 If a tile has special behavior (no long click, no ripple), it can be set in its state here.
325 …ers. This gets triggered when QS is expanded or collapsed (i.e., when the tile is visible and acti…
331 …Allows a Tile to use a `QSIconView` different from `QSIconViewImpl` (see [Tile views](#tile-views)…
373 …lt label for this Tile. Used by the QS Panel customizer to show a name next to each available tile.
375 ### Implementing a third party tile