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

Commit 818e8c1b authored by Andrei-Valentin Onea's avatar Andrei-Valentin Onea Committed by android-build-merger
Browse files

Merge "Use sampled value in hidden api logger"

am: 619ed85e

Change-Id: Ib6ff5b5aa75d1b35bf91748f260bab14aa6eabab
parents 17f5ae9e 619ed85e
Loading
Loading
Loading
Loading
+14 −1
Original line number Diff line number Diff line
@@ -319,13 +319,25 @@ class ZygoteConnection {

        private final MetricsLogger mMetricsLogger = new MetricsLogger();
        private static HiddenApiUsageLogger sInstance = new HiddenApiUsageLogger();
        private int mHiddenApiAccessLogSampleRate = 0;

        public static void setHiddenApiAccessLogSampleRate(int sampleRate) {
            sInstance.mHiddenApiAccessLogSampleRate = sampleRate;
        }

        public static HiddenApiUsageLogger getInstance() {
            return HiddenApiUsageLogger.sInstance;
        }

        public void hiddenApiUsed(String packageName, String signature,
        public void hiddenApiUsed(int sampledValue, String packageName, String signature,
                int accessMethod, boolean accessDenied) {
            if (sampledValue < mHiddenApiAccessLogSampleRate) {
                logUsage(packageName, signature, accessMethod, accessDenied);
            }
        }

        private void logUsage(String packageName, String signature, int accessMethod,
                                  boolean accessDenied) {
            int accessMethodMetric = HiddenApiUsageLogger.ACCESS_METHOD_NONE;
            switch(accessMethod) {
                case HiddenApiUsageLogger.ACCESS_METHOD_NONE:
@@ -356,6 +368,7 @@ class ZygoteConnection {
    private void handleHiddenApiAccessLogSampleRate(int samplingRate) {
        try {
            ZygoteInit.setHiddenApiAccessLogSampleRate(samplingRate);
            HiddenApiUsageLogger.setHiddenApiAccessLogSampleRate(samplingRate);
            ZygoteInit.setHiddenApiUsageLogger(HiddenApiUsageLogger.getInstance());
            mSocketOutStream.writeInt(0);
        } catch (IOException ioe) {