/*
 * Copyright (C) 2018 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

syntax = "proto2";

package perfetto.protos;

// Screen states, primarily used by android/view/Display.java.
enum DisplayStateEnum {
  // The display state is unknown.
  DISPLAY_STATE_UNKNOWN = 0;
  // The display state is off.
  DISPLAY_STATE_OFF = 1;
  // The display state is on.
  DISPLAY_STATE_ON = 2;
  // The display is dozing in a low power state; it is still on but is
  // optimized for showing system-provided content while the device is
  // non-interactive.
  DISPLAY_STATE_DOZE = 3;
  // The display is dozing in a suspended low power state; it is still on
  // but is optimized for showing static system-provided content while the
  // device is non-interactive.
  DISPLAY_STATE_DOZE_SUSPEND = 4;
  // The display is on and optimized for VR mode.
  DISPLAY_STATE_VR = 5;
  // The display is in a suspended full power state; it is still on but the
  // CPU is not updating it.
  DISPLAY_STATE_ON_SUSPEND = 6;
}

// Screen state reasons.
enum DisplayStateReason {
  // The display state reason is unknown.
  DISPLAY_STATE_REASON_UNKNOWN = 0;
  // The display state reason is the default policy.
  DISPLAY_STATE_REASON_DEFAULT_POLICY = 1;
  // The display state is caused by a draw wake lock.
  DISPLAY_STATE_REASON_DRAW_WAKE_LOCK = 2;
  // The display state is caused by display offloading.
  DISPLAY_STATE_REASON_OFFLOAD = 3;
  // The display state is caused by a tilt.
  DISPLAY_STATE_REASON_TILT = 4;
  // The display state is caused by the dream manager.
  DISPLAY_STATE_REASON_DREAM_MANAGER = 5;
  // The display state is caused by an input key event.
  DISPLAY_STATE_REASON_KEY = 6;
  // The display state is caused by an input motion event.
  DISPLAY_STATE_REASON_MOTION = 7;
}

// Constants found in android.view.WindowManager.
enum TransitionTypeEnum {
  TRANSIT_NONE = 0;
  TRANSIT_UNSET = -1;
  TRANSIT_ACTIVITY_OPEN = 6;
  TRANSIT_ACTIVITY_CLOSE = 7;
  TRANSIT_TASK_OPEN = 8;
  TRANSIT_TASK_CLOSE = 9;
  TRANSIT_TASK_TO_FRONT = 10;
  TRANSIT_TASK_TO_BACK = 11;
  TRANSIT_WALLPAPER_CLOSE = 12;
  TRANSIT_WALLPAPER_OPEN = 13;
  TRANSIT_WALLPAPER_INTRA_OPEN = 14;
  TRANSIT_WALLPAPER_INTRA_CLOSE = 15;
  TRANSIT_TASK_OPEN_BEHIND = 16;
  TRANSIT_TASK_IN_PLACE = 17;
  TRANSIT_ACTIVITY_RELAUNCH = 18;
  TRANSIT_DOCK_TASK_FROM_RECENTS = 19 [deprecated = true];
  TRANSIT_KEYGUARD_GOING_AWAY = 20;
  TRANSIT_KEYGUARD_GOING_AWAY_ON_WALLPAPER = 21;
  TRANSIT_KEYGUARD_OCCLUDE = 22;
  TRANSIT_KEYGUARD_UNOCCLUDE = 23;
  TRANSIT_TRANSLUCENT_ACTIVITY_OPEN = 24;
  TRANSIT_TRANSLUCENT_ACTIVITY_CLOSE = 25;
  TRANSIT_CRASHING_ACTIVITY_CLOSE = 26;
}
