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

Commit 67ce0cae authored by Scarlett Song's avatar Scarlett Song Committed by Android (Google) Code Review
Browse files

Merge "Telemetry: Filter health app ops from atom pulling" into main

parents 34303f98 0d6c115e
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -118,6 +118,7 @@ import android.hardware.biometrics.BiometricsProtoEnums;
import android.hardware.display.DisplayManager;
import android.hardware.face.FaceManager;
import android.hardware.fingerprint.FingerprintManager;
import android.health.connect.HealthConnectManager;
import android.media.AudioManager;
import android.media.MediaDrm;
import android.media.UnsupportedSchemeException;
@@ -4115,7 +4116,7 @@ public class StatsPullAtomService extends SystemService {
        int nOps = opsList.size();
        for (int i = 0; i < nOps; i++) {
            AppOpEntry entry = opsList.get(i);
            if (entry.mHash >= samplingRate) {
            if (entry.mHash >= samplingRate || isHealthAppOp(entry.mOp.getOpCode())) {
                continue;
            }
            StatsEvent e;
@@ -4301,6 +4302,11 @@ public class StatsPullAtomService extends SystemService {
                return StatsManager.PULL_SUCCESS;
            }

            if (isHealthAppOp(AppOpsManager.strOpToOp(message.getOp()))) {
                // Not log sensitive health app ops.
                return StatsManager.PULL_SKIP;
            }

            pulledData.add(FrameworkStatsLog.buildStatsEvent(atomTag, message.getUid(),
                    message.getPackageName(), "",
                    message.getAttributionTag() == null ? "" : message.getAttributionTag(),
@@ -5370,6 +5376,11 @@ public class StatsPullAtomService extends SystemService {
        }
    }

    private boolean isHealthAppOp(int opCode) {
        String permission = AppOpsManager.opToPermission(opCode);
        return permission != null && HealthConnectManager.isHealthPermission(mContext, permission);
    }

    // Thermal event received from vendor thermal management subsystem
    private static final class ThermalEventListener extends IThermalEventListener.Stub {
        @Override