Commit 5b7ca8b4 authored by Bo Liu's avatar Bo Liu Committed by Commit Bot

weblayer: Record Session.TotalDuration

Simple copy of chrome on android's implementation, using the
equivalent activity lifecycle callbacks. All done in java.

Bug: 1143945
Change-Id: Icae399db1c64c5cb872de18f2673270625d7679e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2510371Reviewed-by: default avatarJohn Abd-El-Malek <jam@chromium.org>
Commit-Queue: Bo <boliu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#822779}
parent cec7306c
......@@ -8,12 +8,14 @@ import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.SystemClock;
import android.view.ContextThemeWrapper;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.Nullable;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.components.browser_ui.styles.R;
import org.chromium.components.embedder_support.application.ClassLoaderContextWrapperFactory;
import org.chromium.weblayer_private.interfaces.BrowserFragmentArgs;
......@@ -27,6 +29,9 @@ import org.chromium.weblayer_private.interfaces.StrictModeWorkaround;
* Implementation of RemoteFragmentImpl which forwards logic to BrowserImpl.
*/
public class BrowserFragmentImpl extends RemoteFragmentImpl {
private static int sResumedCount;
private static long sSessionStartTimeMs;
private final ProfileImpl mProfile;
private final String mPersistenceId;
......@@ -137,12 +142,19 @@ public class BrowserFragmentImpl extends RemoteFragmentImpl {
@Override
public void onResume() {
super.onResume();
sResumedCount++;
if (sResumedCount == 1) sSessionStartTimeMs = SystemClock.uptimeMillis();
mBrowser.onFragmentResume();
}
@Override
public void onPause() {
super.onPause();
sResumedCount--;
if (sResumedCount == 0) {
long deltaMs = SystemClock.uptimeMillis() - sSessionStartTimeMs;
RecordHistogram.recordLongTimesHistogram("Session.TotalDuration", deltaMs);
}
mBrowser.onFragmentPause();
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment