Loading core/java/android/os/ZygoteProcess.java +2 −0 Original line number Diff line number Diff line Loading @@ -881,6 +881,7 @@ public class ZygoteProcess { maybeSetApiBlacklistExemptions(primaryZygoteState, false); maybeSetHiddenApiAccessLogSampleRate(primaryZygoteState); maybeSetHiddenApiAccessStatslogSampleRate(primaryZygoteState); } } Loading @@ -896,6 +897,7 @@ public class ZygoteProcess { maybeSetApiBlacklistExemptions(secondaryZygoteState, false); maybeSetHiddenApiAccessLogSampleRate(secondaryZygoteState); maybeSetHiddenApiAccessStatslogSampleRate(secondaryZygoteState); } } Loading core/java/com/android/internal/os/StatsdHiddenApiUsageLogger.java +6 −2 Original line number Diff line number Diff line Loading @@ -33,9 +33,13 @@ class StatsdHiddenApiUsageLogger implements HiddenApiUsageLogger { private int mHiddenApiAccessStatslogSampleRate = 0; static void setHiddenApiAccessLogSampleRates(int sampleRate, int newSampleRate) { if (sampleRate != -1) { sInstance.mHiddenApiAccessLogSampleRate = sampleRate; } if (newSampleRate != -1) { sInstance.mHiddenApiAccessStatslogSampleRate = newSampleRate; } } static StatsdHiddenApiUsageLogger getInstance() { return StatsdHiddenApiUsageLogger.sInstance; Loading services/core/java/com/android/server/am/ActivityManagerService.java +26 −11 Original line number Diff line number Diff line Loading @@ -2185,24 +2185,38 @@ public class ActivityManagerService extends IActivityManager.Stub "hidden_api_access_statslog_sampling_rate"; public void onPropertiesChanged(DeviceConfig.Properties properties) { int logSampleRate = properties.getInt(HIDDEN_API_ACCESS_LOG_SAMPLING_RATE, 0x0); if (logSampleRate < 0 || logSampleRate > 0x10000) { logSampleRate = -1; int logSampleRate = properties.getInt(HIDDEN_API_ACCESS_LOG_SAMPLING_RATE, mLogSampleRate); int statslogSampleRate = properties.getInt(HIDDEN_API_ACCESS_STATSLOG_SAMPLING_RATE, mStatslogSampleRate); setSampleRates(logSampleRate, statslogSampleRate); } if (logSampleRate != -1 && logSampleRate != mLogSampleRate) { private void setSampleRates(int logSampleRate, int statslogSampleRate) { if (logSampleRate >= 0 && logSampleRate <= 0x10000 && logSampleRate != mLogSampleRate) { mLogSampleRate = logSampleRate; ZYGOTE_PROCESS.setHiddenApiAccessLogSampleRate(mLogSampleRate); } int statslogSampleRate = properties.getInt(HIDDEN_API_ACCESS_STATSLOG_SAMPLING_RATE, 0); if (statslogSampleRate < 0 || statslogSampleRate > 0x10000) { statslogSampleRate = -1; } if (statslogSampleRate != -1 && statslogSampleRate != mStatslogSampleRate) { if (statslogSampleRate >= 0 && statslogSampleRate <= 0x10000 && statslogSampleRate != mStatslogSampleRate) { mStatslogSampleRate = statslogSampleRate; ZYGOTE_PROCESS.setHiddenApiAccessStatslogSampleRate(mStatslogSampleRate); } } /** * Set initial sampling rates from DeviceConfig. This is required after each restart, * if they never get updated. */ private void initializeSampleRates() { int logSampleRate = DeviceConfig.getInt(DeviceConfig.NAMESPACE_APP_COMPAT, HIDDEN_API_ACCESS_LOG_SAMPLING_RATE, 0); int statslogSampleRate = DeviceConfig.getInt(DeviceConfig.NAMESPACE_APP_COMPAT, HIDDEN_API_ACCESS_STATSLOG_SAMPLING_RATE, 0); setSampleRates(logSampleRate, statslogSampleRate); } public HiddenApiSettings(Handler handler, Context context) { Loading @@ -2219,6 +2233,7 @@ public class ActivityManagerService extends IActivityManager.Stub Settings.Global.getUriFor(Settings.Global.HIDDEN_API_POLICY), false, this); initializeSampleRates(); DeviceConfig.addOnPropertiesChangedListener(DeviceConfig.NAMESPACE_APP_COMPAT, mContext.getMainExecutor(), this); update(); Loading Loading
core/java/android/os/ZygoteProcess.java +2 −0 Original line number Diff line number Diff line Loading @@ -881,6 +881,7 @@ public class ZygoteProcess { maybeSetApiBlacklistExemptions(primaryZygoteState, false); maybeSetHiddenApiAccessLogSampleRate(primaryZygoteState); maybeSetHiddenApiAccessStatslogSampleRate(primaryZygoteState); } } Loading @@ -896,6 +897,7 @@ public class ZygoteProcess { maybeSetApiBlacklistExemptions(secondaryZygoteState, false); maybeSetHiddenApiAccessLogSampleRate(secondaryZygoteState); maybeSetHiddenApiAccessStatslogSampleRate(secondaryZygoteState); } } Loading
core/java/com/android/internal/os/StatsdHiddenApiUsageLogger.java +6 −2 Original line number Diff line number Diff line Loading @@ -33,9 +33,13 @@ class StatsdHiddenApiUsageLogger implements HiddenApiUsageLogger { private int mHiddenApiAccessStatslogSampleRate = 0; static void setHiddenApiAccessLogSampleRates(int sampleRate, int newSampleRate) { if (sampleRate != -1) { sInstance.mHiddenApiAccessLogSampleRate = sampleRate; } if (newSampleRate != -1) { sInstance.mHiddenApiAccessStatslogSampleRate = newSampleRate; } } static StatsdHiddenApiUsageLogger getInstance() { return StatsdHiddenApiUsageLogger.sInstance; Loading
services/core/java/com/android/server/am/ActivityManagerService.java +26 −11 Original line number Diff line number Diff line Loading @@ -2185,24 +2185,38 @@ public class ActivityManagerService extends IActivityManager.Stub "hidden_api_access_statslog_sampling_rate"; public void onPropertiesChanged(DeviceConfig.Properties properties) { int logSampleRate = properties.getInt(HIDDEN_API_ACCESS_LOG_SAMPLING_RATE, 0x0); if (logSampleRate < 0 || logSampleRate > 0x10000) { logSampleRate = -1; int logSampleRate = properties.getInt(HIDDEN_API_ACCESS_LOG_SAMPLING_RATE, mLogSampleRate); int statslogSampleRate = properties.getInt(HIDDEN_API_ACCESS_STATSLOG_SAMPLING_RATE, mStatslogSampleRate); setSampleRates(logSampleRate, statslogSampleRate); } if (logSampleRate != -1 && logSampleRate != mLogSampleRate) { private void setSampleRates(int logSampleRate, int statslogSampleRate) { if (logSampleRate >= 0 && logSampleRate <= 0x10000 && logSampleRate != mLogSampleRate) { mLogSampleRate = logSampleRate; ZYGOTE_PROCESS.setHiddenApiAccessLogSampleRate(mLogSampleRate); } int statslogSampleRate = properties.getInt(HIDDEN_API_ACCESS_STATSLOG_SAMPLING_RATE, 0); if (statslogSampleRate < 0 || statslogSampleRate > 0x10000) { statslogSampleRate = -1; } if (statslogSampleRate != -1 && statslogSampleRate != mStatslogSampleRate) { if (statslogSampleRate >= 0 && statslogSampleRate <= 0x10000 && statslogSampleRate != mStatslogSampleRate) { mStatslogSampleRate = statslogSampleRate; ZYGOTE_PROCESS.setHiddenApiAccessStatslogSampleRate(mStatslogSampleRate); } } /** * Set initial sampling rates from DeviceConfig. This is required after each restart, * if they never get updated. */ private void initializeSampleRates() { int logSampleRate = DeviceConfig.getInt(DeviceConfig.NAMESPACE_APP_COMPAT, HIDDEN_API_ACCESS_LOG_SAMPLING_RATE, 0); int statslogSampleRate = DeviceConfig.getInt(DeviceConfig.NAMESPACE_APP_COMPAT, HIDDEN_API_ACCESS_STATSLOG_SAMPLING_RATE, 0); setSampleRates(logSampleRate, statslogSampleRate); } public HiddenApiSettings(Handler handler, Context context) { Loading @@ -2219,6 +2233,7 @@ public class ActivityManagerService extends IActivityManager.Stub Settings.Global.getUriFor(Settings.Global.HIDDEN_API_POLICY), false, this); initializeSampleRates(); DeviceConfig.addOnPropertiesChangedListener(DeviceConfig.NAMESPACE_APP_COMPAT, mContext.getMainExecutor(), this); update(); Loading