// 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;

/// DiscreteActivity is an activity which occurs at a point in time.
type DiscreteActivity = flexible union {
    /// Activities that require no special handling.
    1: generic GenericActivity;
};

/// OngoingActivity is an activity which has a definite start and end time.
type OngoingActivity = flexible union {
    /// Activities that require no special handling.
    1: generic GenericActivity;
};

/// GenericActivity is a user or system activity of unspecified type, e.g.
/// a keyboard press or an alarm going off.
type GenericActivity = table {
    /// Brief human-readable label for the activity, for logging/debugging.
    /// e.g. "cursor", "key", "video"
    1: label string;
};
