1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
   42
   43
   44
   45
   46
   47
   48
   49
   50
   51
   52
   53

ash / components / arc / mojom / anr.mojom [blame]

// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

module arc.mojom;

[Extensible]
enum AnrType {
  // Other types of ANR which are not explicitly defined.
  UNKNOWN = 0,
  // ANR while handling input events.
  INPUT = 1,
  // ANR in foreground services.
  FOREGROUND_SERVICE = 2,
  // ANR in broadcasts.
  BROADCAST = 3,
  // ANR in content provider.
  CONTENT_PROVIDER = 4,
  // App custom ANR.
  APP_REQUESTED = 5,
  // ANR in processes.
  PROCESS = 6,
  // ANR in background services.
  BACKGROUND_SERVICE = 7
};

[Extensible]
enum AnrSource {
  // ANR coming from anything else than explicitly defined.
  OTHER = 0,
  // ANR coming from system server.
  SYSTEM_SERVER = 1,
  // ANR coming from system apps.
  SYSTEM_APP = 2,
  // ANR coming from GMS core.
  GMS_CORE = 3,
  // ANR coming from Play Store.
  PLAY_STORE = 4,
  // ANR coming from first party Google apps
  FIRST_PARTY = 5,
  // ANR coming from ARC apps other than explicitly defined.
  ARC_OTHER = 6,
  // ANR coming from ARC App launcher.
  ARC_APP_LAUNCHER = 7,
};

// Describes an ANR event.
struct Anr {
  // Type of ANR event.
  AnrType type;
  // ANR source.
  AnrSource source;
};