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

Commit 851799bb authored by Tej Singh's avatar Tej Singh Committed by Automerger Merge Worker
Browse files

Merge "Fix statsd NPE on setPullAtomCallback" into rvc-dev am: 6dfbdb3e am: cb9c98dd

Change-Id: I3388507fa5f4701b3070aea7ce59f15f167055d7
parents 18ec8df6 cb9c98dd
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -28,7 +28,6 @@ import android.os.Binder;
import android.os.IPullAtomCallback;
import android.os.IPullAtomResultReceiver;
import android.os.IStatsManagerService;
import android.os.IStatsd;
import android.os.RemoteException;
import android.os.StatsFrameworkInitializer;
import android.util.AndroidException;
@@ -56,9 +55,6 @@ public final class StatsManager {
    private static final Object sLock = new Object();
    private final Context mContext;

    @GuardedBy("sLock")
    private IStatsd mService;

    @GuardedBy("sLock")
    private IStatsManagerService mStatsManagerService;

+4 −0
Original line number Diff line number Diff line
@@ -172,6 +172,10 @@ public class StatsManagerService extends IStatsManagerService.Stub {
    public void registerPullAtomCallback(int atomTag, long coolDownMillis, long timeoutMillis,
            int[] additiveFields, IPullAtomCallback pullerCallback) {
        enforceRegisterStatsPullAtomPermission();
        if (pullerCallback == null) {
            Log.w(TAG, "Puller callback is null for atom " + atomTag);
            return;
        }
        int callingUid = Binder.getCallingUid();
        PullerKey key = new PullerKey(callingUid, atomTag);
        PullerValue val =
+5 −0
Original line number Diff line number Diff line
@@ -354,6 +354,11 @@ void StatsPullerManager::RegisterPullAtomCallback(const int uid, const int32_t a
    std::lock_guard<std::mutex> _l(mLock);
    VLOG("RegisterPullerCallback: adding puller for tag %d", atomTag);

    if (callback == nullptr) {
        ALOGW("SetPullAtomCallback called with null callback for atom %d.", atomTag);
        return;
    }

    StatsdStats::getInstance().notePullerCallbackRegistrationChanged(atomTag, /*registered=*/true);
    int64_t actualCoolDownNs = coolDownNs < kMinCoolDownNs ? kMinCoolDownNs : coolDownNs;
    int64_t actualTimeoutNs = timeoutNs > kMaxTimeoutNs ? kMaxTimeoutNs : timeoutNs;