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