Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9bb290bc authored by Chris Wren's avatar Chris Wren
Browse files

add more power manager metrics

dream start/stop
dream duration
screen timeout setting

Bug: 21893298
Change-Id: I783f72953fc40c0d276a7845daa048e2fe0db78c
parent 31659c25
Loading
Loading
Loading
Loading
+3 −0
Original line number Original line Diff line number Diff line
@@ -41,6 +41,9 @@ public class MetricsLogger implements MetricsConstants {
    public static final int ACTION_BRIGHTNESS_AUTO = 219;
    public static final int ACTION_BRIGHTNESS_AUTO = 219;
    public static final int BRIGHTNESS_DIALOG = 220;
    public static final int BRIGHTNESS_DIALOG = 220;
    public static final int SYSTEM_ALERT_WINDOW_APPS = 221;
    public static final int SYSTEM_ALERT_WINDOW_APPS = 221;
    public static final int DREAMING = 222;
    public static final int DOZING = 223;

    // Temporary constants go here, to await migration to MetricsConstants.
    // Temporary constants go here, to await migration to MetricsConstants.


    public static void visible(Context context, int category) throws IllegalArgumentException {
    public static void visible(Context context, int category) throws IllegalArgumentException {
+13 −0
Original line number Original line Diff line number Diff line
@@ -16,6 +16,8 @@


package com.android.server.dreams;
package com.android.server.dreams;


import com.android.internal.logging.MetricsLogger;

import android.content.ComponentName;
import android.content.ComponentName;
import android.content.Context;
import android.content.Context;
import android.content.Intent;
import android.content.Intent;
@@ -25,6 +27,7 @@ import android.os.Handler;
import android.os.IBinder;
import android.os.IBinder;
import android.os.RemoteException;
import android.os.RemoteException;
import android.os.IBinder.DeathRecipient;
import android.os.IBinder.DeathRecipient;
import android.os.SystemClock;
import android.os.Trace;
import android.os.Trace;
import android.os.UserHandle;
import android.os.UserHandle;
import android.service.dreams.DreamService;
import android.service.dreams.DreamService;
@@ -55,6 +58,7 @@ final class DreamController {
    private final Handler mHandler;
    private final Handler mHandler;
    private final Listener mListener;
    private final Listener mListener;
    private final IWindowManager mIWindowManager;
    private final IWindowManager mIWindowManager;
    private long mDreamStartTime;


    private final Intent mDreamingStartedIntent = new Intent(Intent.ACTION_DREAMING_STARTED)
    private final Intent mDreamingStartedIntent = new Intent(Intent.ACTION_DREAMING_STARTED)
            .addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY);
            .addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY);
@@ -123,6 +127,10 @@ final class DreamController {


            mCurrentDream = new DreamRecord(token, name, isTest, canDoze, userId);
            mCurrentDream = new DreamRecord(token, name, isTest, canDoze, userId);


            mDreamStartTime = SystemClock.elapsedRealtime();
            MetricsLogger.visible(mContext,
                    mCurrentDream.mCanDoze ? MetricsLogger.DOZING : MetricsLogger.DREAMING);

            try {
            try {
                mIWindowManager.addWindowToken(token, WindowManager.LayoutParams.TYPE_DREAM);
                mIWindowManager.addWindowToken(token, WindowManager.LayoutParams.TYPE_DREAM);
            } catch (RemoteException ex) {
            } catch (RemoteException ex) {
@@ -185,6 +193,11 @@ final class DreamController {
            Slog.i(TAG, "Stopping dream: name=" + oldDream.mName
            Slog.i(TAG, "Stopping dream: name=" + oldDream.mName
                    + ", isTest=" + oldDream.mIsTest + ", canDoze=" + oldDream.mCanDoze
                    + ", isTest=" + oldDream.mIsTest + ", canDoze=" + oldDream.mCanDoze
                    + ", userId=" + oldDream.mUserId);
                    + ", userId=" + oldDream.mUserId);
            MetricsLogger.hidden(mContext,
                    oldDream.mCanDoze ? MetricsLogger.DOZING : MetricsLogger.DREAMING);
            MetricsLogger.histogram(mContext,
                    oldDream.mCanDoze ? "dozing_minutes" : "dreaming_minutes" ,
                    (int) ((SystemClock.elapsedRealtime() - mDreamStartTime) / (1000L * 60L)));


            mHandler.removeCallbacks(mStopUnconnectedDreamRunnable);
            mHandler.removeCallbacks(mStopUnconnectedDreamRunnable);
            mHandler.removeCallbacks(mStopStubbornDreamRunnable);
            mHandler.removeCallbacks(mStopStubbornDreamRunnable);
+3 −0
Original line number Original line Diff line number Diff line
@@ -95,6 +95,8 @@ import android.view.KeyCharacterMap;
import android.view.KeyCharacterMap.FallbackAction;
import android.view.KeyCharacterMap.FallbackAction;
import android.view.KeyEvent;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.MotionEvent;

import com.android.internal.logging.MetricsLogger;
import com.android.internal.policy.PhoneWindow;
import com.android.internal.policy.PhoneWindow;
import android.view.Surface;
import android.view.Surface;
import android.view.View;
import android.view.View;
@@ -5348,6 +5350,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
    public void finishedGoingToSleep(int why) {
    public void finishedGoingToSleep(int why) {
        EventLog.writeEvent(70000, 0);
        EventLog.writeEvent(70000, 0);
        if (DEBUG_WAKEUP) Slog.i(TAG, "Finished going to sleep... (why=" + why + ")");
        if (DEBUG_WAKEUP) Slog.i(TAG, "Finished going to sleep... (why=" + why + ")");
        MetricsLogger.histogram(mContext, "screen_timeout", mLockScreenTimeout / 1000);


        // We must get this work done here because the power manager will drop
        // We must get this work done here because the power manager will drop
        // the wake lock and let the system suspend once this function returns.
        // the wake lock and let the system suspend once this function returns.