1// Copyright 2013 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5package org.chromium.chrome.browser;
6
7import org.chromium.base.CalledByNative;
8
9/**
10 * Utilities to support startup metrics - Android version.
11 */
12public class UmaUtils {
13
14    private static long sApplicationStartWallClockMs;
15
16    /**
17     * Record the time at which the activity started. This should be called asap after
18     * the start of the activity's onCreate function.
19     */
20    public static void recordMainEntryPointTime() {
21        // We can't simply pass this down through a JNI call, since the JNI for chrome
22        // isn't initialized until we start the native content browser component, and we
23        // then need the start time in the C++ side before we return to Java. As such we
24        // save it in a static that the C++ can fetch once it has initialized the JNI.
25        sApplicationStartWallClockMs = System.currentTimeMillis();
26    }
27
28    @CalledByNative
29    private static long getMainEntryPointTime() {
30        return sApplicationStartWallClockMs;
31    }
32
33}
34