| // Copyright 2019 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| library fuchsia.ui.activity.control; |
| |
| using fuchsia.ui.activity; |
| |
| /// The Control protocol can be used to override the activity state of the |
| /// Activity Service (fuchsia.ui.activity). |
| /// |
| /// State provided through this interface takes precedence over state which |
| /// is determined based on activity sent through the Tracker API. |
| /// |
| /// Once a state has been assigned through this protocol, the Activity |
| /// Service will no longer determine state based on input to the |
| /// fuchsia.ui.activity.Tracker protocol, and instead will only report state |
| /// transitions occuring through the Control protocol. |
| // TODO(fxbug.dev/38334): Remove this transitional interface. |
| [Discoverable] |
| protocol Control { |
| /// Sets the Activity Service's state to `state`. |
| /// All listeners registered through the Provider protocol will immediately |
| /// be notified of the new state. |
| /// |
| /// Typically, state transitions should occur minutes apart (e.g. |
| /// transition from ACTIVE to IDLE after 15 minutes of inactivity). |
| SetState(fuchsia.ui.activity.State state); |
| }; |