// Copyright 2021 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef BASE_TRACE_EVENT_APPLICATION_STATE_PROTO_ANDROID_H_ #define BASE_TRACE_EVENT_APPLICATION_STATE_PROTO_ANDROID_H_ #include "base/android/application_status_listener.h" #include "base/base_export.h" #include "third_party/perfetto/protos/perfetto/trace/track_event/chrome_application_state_info.pbzero.h" #define TRACE_APPLICATION_STATE(state) \ TRACE_EVENT_INSTANT( \ "Java", "ApplicationState", perfetto::Track::Global(0), \ [state](perfetto::EventContext ctx) { \ ctx.event() \ ->set_chrome_application_state_info() \ ->set_application_state( \ base::trace_event::ApplicationStateToTraceEnum(state)); \ }); namespace base { namespace trace_event { BASE_EXPORT perfetto::protos::pbzero::ChromeApplicationStateInfo::ChromeApplicationState ApplicationStateToTraceEnum(base::android::ApplicationState state); } // namespace trace_event } // namespace base #endif // BASE_TRACE_EVENT_APPLICATION_STATE_PROTO_ANDROID_H_