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

Commit 98b52faf 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

am: 818e8c1b

Change-Id: I2cb5ac6bfae6cc98398688a4b5695260a863578a
parents 381584a5 818e8c1b
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) {