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

Commit 0042d4d3 authored by Chen Chen's avatar Chen Chen Committed by Automerger Merge Worker
Browse files

Merge "Do not use intent for counter metrics" am: 3ef291c3 am: 2424267d

parents bb52475f 2424267d
Loading
Loading
Loading
Loading
+11 −33
Original line number Original line Diff line number Diff line
@@ -16,11 +16,7 @@
package com.android.bluetooth.btservice;
package com.android.bluetooth.btservice;


import android.app.AlarmManager;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.SystemClock;
import android.os.SystemClock;
import android.util.Log;
import android.util.Log;


@@ -56,16 +52,11 @@ public class MetricsLogger {
    private boolean mInitialized = false;
    private boolean mInitialized = false;
    static final private Object mLock = new Object();
    static final private Object mLock = new Object();


    private BroadcastReceiver mDrainReceiver = new BroadcastReceiver() {
    private AlarmManager.OnAlarmListener mOnAlarmListener = new AlarmManager.OnAlarmListener () {
        @Override
        @Override
        public void onReceive(Context context, Intent intent) {
        public void onAlarm() {
            String action = intent.getAction();
            if (DEBUG) {
                Log.d(TAG, "onReceive: " + action);
            }
            if (action.equals(BLUETOOTH_COUNTER_METRICS_ACTION)) {
            drainBufferedCounters();
            drainBufferedCounters();
            }
            scheduleDrains();
        }
        }
    };
    };


@@ -90,9 +81,6 @@ public class MetricsLogger {
        }
        }
        mInitialized = true;
        mInitialized = true;
        mContext = context;
        mContext = context;
        IntentFilter filter = new IntentFilter();
        filter.addAction(BLUETOOTH_COUNTER_METRICS_ACTION);
        mContext.registerReceiver(mDrainReceiver, filter, Context.RECEIVER_NOT_EXPORTED);
        scheduleDrains();
        scheduleDrains();
        return true;
        return true;
    }
    }
@@ -154,17 +142,16 @@ public class MetricsLogger {
    }
    }


    protected void scheduleDrains() {
    protected void scheduleDrains() {
        if (DEBUG) {
        Log.i(TAG, "setCounterMetricsAlarm()");
            Log.d(TAG, "setCounterMetricsAlarm()");
        }
        if (mAlarmManager == null) {
        if (mAlarmManager == null) {
            mAlarmManager = mContext.getSystemService(AlarmManager.class);
            mAlarmManager = mContext.getSystemService(AlarmManager.class);
        }
        }
        mAlarmManager.setRepeating(
        mAlarmManager.set(
                AlarmManager.ELAPSED_REALTIME_WAKEUP,
                AlarmManager.ELAPSED_REALTIME_WAKEUP,
                SystemClock.elapsedRealtime(),
                SystemClock.elapsedRealtime() + BLUETOOTH_COUNTER_METRICS_ACTION_DURATION_MILLIS,
                BLUETOOTH_COUNTER_METRICS_ACTION_DURATION_MILLIS,
                TAG,
                getDrainIntent());
                mOnAlarmListener,
                null);
    }
    }


    public boolean count(int key, long count) {
    public boolean count(int key, long count) {
@@ -207,15 +194,6 @@ public class MetricsLogger {
        return true;
        return true;
    }
    }
    protected void cancelPendingDrain() {
    protected void cancelPendingDrain() {
        PendingIntent pIntent = getDrainIntent();
        mAlarmManager.cancel(mOnAlarmListener);
        pIntent.cancel();
        mAlarmManager.cancel(pIntent);
    }

    private PendingIntent getDrainIntent() {
        Intent counterMetricsIntent = new Intent(BLUETOOTH_COUNTER_METRICS_ACTION);
        counterMetricsIntent.setPackage(mContext.getPackageName());
        return PendingIntent.getBroadcast(
                mContext, 0, counterMetricsIntent, PendingIntent.FLAG_IMMUTABLE);
    }
    }
}
}