Loading core/java/android/provider/Settings.java +0 −18 Original line number Diff line number Diff line Loading @@ -13476,24 +13476,6 @@ public final class Settings { public static final String HIDDEN_API_BLACKLIST_EXEMPTIONS = "hidden_api_blacklist_exemptions"; /** * Sampling rate for hidden API access event logs with libmetricslogger, as an integer in * the range 0 to 0x10000 inclusive. * * @hide */ public static final String HIDDEN_API_ACCESS_LOG_SAMPLING_RATE = "hidden_api_access_log_sampling_rate"; /** * Sampling rate for hidden API access event logging with statslog, as an integer in the * range 0 to 0x10000 inclusive. * * @hide */ public static final String HIDDEN_API_ACCESS_STATSLOG_SAMPLING_RATE = "hidden_api_access_statslog_sampling_rate"; /** * Hidden API enforcement policy for apps. * core/tests/coretests/src/android/provider/SettingsBackupTest.java +0 −2 Original line number Diff line number Diff line Loading @@ -287,8 +287,6 @@ public class SettingsBackupTest { Settings.Global.HDMI_CONTROL_ENABLED, Settings.Global.HDMI_SYSTEM_AUDIO_CONTROL_ENABLED, Settings.Global.HEADS_UP_NOTIFICATIONS_ENABLED, Settings.Global.HIDDEN_API_ACCESS_LOG_SAMPLING_RATE, Settings.Global.HIDDEN_API_ACCESS_STATSLOG_SAMPLING_RATE, Settings.Global.HIDDEN_API_POLICY, Settings.Global.HIDE_ERROR_DIALOGS, Settings.Global.HTTP_PROXY, Loading services/core/java/com/android/server/am/ActivityManagerService.java +44 −28 Original line number Diff line number Diff line Loading @@ -271,6 +271,7 @@ import android.os.UserManager; import android.os.WorkSource; import android.os.storage.IStorageManager; import android.os.storage.StorageManager; import android.provider.DeviceConfig; import android.provider.Settings; import android.sysprop.VoldProperties; import android.text.TextUtils; Loading Loading @@ -2154,7 +2155,8 @@ public class ActivityManagerService extends IActivityManager.Stub * Encapsulates global settings related to hidden API enforcement behaviour, including tracking * the latest value via a content observer. */ static class HiddenApiSettings extends ContentObserver { static class HiddenApiSettings extends ContentObserver implements DeviceConfig.OnPropertiesChangedListener { private final Context mContext; private boolean mBlacklistDisabled; Loading @@ -2164,6 +2166,45 @@ public class ActivityManagerService extends IActivityManager.Stub private int mStatslogSampleRate = -1; @HiddenApiEnforcementPolicy private int mPolicy = HIDDEN_API_ENFORCEMENT_DEFAULT; /** * Sampling rate for hidden API access event logs with libmetricslogger, as an integer in * the range 0 to 0x10000 inclusive. * * @hide */ public static final String HIDDEN_API_ACCESS_LOG_SAMPLING_RATE = "hidden_api_access_log_sampling_rate"; /** * Sampling rate for hidden API access event logging with statslog, as an integer in the * range 0 to 0x10000 inclusive. * * @hide */ public static final String HIDDEN_API_ACCESS_STATSLOG_SAMPLING_RATE = "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; } if (logSampleRate != -1 && 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) { mStatslogSampleRate = statslogSampleRate; ZYGOTE_PROCESS.setHiddenApiAccessStatslogSampleRate(mStatslogSampleRate); } } public HiddenApiSettings(Handler handler, Context context) { super(handler); mContext = context; Loading @@ -2174,19 +2215,12 @@ public class ActivityManagerService extends IActivityManager.Stub Settings.Global.getUriFor(Settings.Global.HIDDEN_API_BLACKLIST_EXEMPTIONS), false, this); mContext.getContentResolver().registerContentObserver( Settings.Global.getUriFor(Settings.Global.HIDDEN_API_ACCESS_LOG_SAMPLING_RATE), false, this); mContext.getContentResolver().registerContentObserver( Settings.Global.getUriFor( Settings.Global.HIDDEN_API_ACCESS_STATSLOG_SAMPLING_RATE), false, this); mContext.getContentResolver().registerContentObserver( Settings.Global.getUriFor(Settings.Global.HIDDEN_API_POLICY), false, this); DeviceConfig.addOnPropertiesChangedListener(DeviceConfig.NAMESPACE_APP_COMPAT, mContext.getMainExecutor(), this); update(); } Loading @@ -2210,24 +2244,6 @@ public class ActivityManagerService extends IActivityManager.Stub mExemptions = Collections.emptyList(); } } int logSampleRate = Settings.Global.getInt(mContext.getContentResolver(), Settings.Global.HIDDEN_API_ACCESS_LOG_SAMPLING_RATE, 0x200); if (logSampleRate < 0 || logSampleRate > 0x10000) { logSampleRate = -1; } if (logSampleRate != -1 && logSampleRate != mLogSampleRate) { mLogSampleRate = logSampleRate; ZYGOTE_PROCESS.setHiddenApiAccessLogSampleRate(mLogSampleRate); } int statslogSampleRate = Settings.Global.getInt(mContext.getContentResolver(), Settings.Global.HIDDEN_API_ACCESS_STATSLOG_SAMPLING_RATE, 0); if (statslogSampleRate < 0 || statslogSampleRate > 0x10000) { statslogSampleRate = -1; } if (statslogSampleRate != -1 && statslogSampleRate != mStatslogSampleRate) { mStatslogSampleRate = statslogSampleRate; ZYGOTE_PROCESS.setHiddenApiAccessStatslogSampleRate(mStatslogSampleRate); } mPolicy = getValidEnforcementPolicy(Settings.Global.HIDDEN_API_POLICY); } Loading Loading
core/java/android/provider/Settings.java +0 −18 Original line number Diff line number Diff line Loading @@ -13476,24 +13476,6 @@ public final class Settings { public static final String HIDDEN_API_BLACKLIST_EXEMPTIONS = "hidden_api_blacklist_exemptions"; /** * Sampling rate for hidden API access event logs with libmetricslogger, as an integer in * the range 0 to 0x10000 inclusive. * * @hide */ public static final String HIDDEN_API_ACCESS_LOG_SAMPLING_RATE = "hidden_api_access_log_sampling_rate"; /** * Sampling rate for hidden API access event logging with statslog, as an integer in the * range 0 to 0x10000 inclusive. * * @hide */ public static final String HIDDEN_API_ACCESS_STATSLOG_SAMPLING_RATE = "hidden_api_access_statslog_sampling_rate"; /** * Hidden API enforcement policy for apps. *
core/tests/coretests/src/android/provider/SettingsBackupTest.java +0 −2 Original line number Diff line number Diff line Loading @@ -287,8 +287,6 @@ public class SettingsBackupTest { Settings.Global.HDMI_CONTROL_ENABLED, Settings.Global.HDMI_SYSTEM_AUDIO_CONTROL_ENABLED, Settings.Global.HEADS_UP_NOTIFICATIONS_ENABLED, Settings.Global.HIDDEN_API_ACCESS_LOG_SAMPLING_RATE, Settings.Global.HIDDEN_API_ACCESS_STATSLOG_SAMPLING_RATE, Settings.Global.HIDDEN_API_POLICY, Settings.Global.HIDE_ERROR_DIALOGS, Settings.Global.HTTP_PROXY, Loading
services/core/java/com/android/server/am/ActivityManagerService.java +44 −28 Original line number Diff line number Diff line Loading @@ -271,6 +271,7 @@ import android.os.UserManager; import android.os.WorkSource; import android.os.storage.IStorageManager; import android.os.storage.StorageManager; import android.provider.DeviceConfig; import android.provider.Settings; import android.sysprop.VoldProperties; import android.text.TextUtils; Loading Loading @@ -2154,7 +2155,8 @@ public class ActivityManagerService extends IActivityManager.Stub * Encapsulates global settings related to hidden API enforcement behaviour, including tracking * the latest value via a content observer. */ static class HiddenApiSettings extends ContentObserver { static class HiddenApiSettings extends ContentObserver implements DeviceConfig.OnPropertiesChangedListener { private final Context mContext; private boolean mBlacklistDisabled; Loading @@ -2164,6 +2166,45 @@ public class ActivityManagerService extends IActivityManager.Stub private int mStatslogSampleRate = -1; @HiddenApiEnforcementPolicy private int mPolicy = HIDDEN_API_ENFORCEMENT_DEFAULT; /** * Sampling rate for hidden API access event logs with libmetricslogger, as an integer in * the range 0 to 0x10000 inclusive. * * @hide */ public static final String HIDDEN_API_ACCESS_LOG_SAMPLING_RATE = "hidden_api_access_log_sampling_rate"; /** * Sampling rate for hidden API access event logging with statslog, as an integer in the * range 0 to 0x10000 inclusive. * * @hide */ public static final String HIDDEN_API_ACCESS_STATSLOG_SAMPLING_RATE = "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; } if (logSampleRate != -1 && 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) { mStatslogSampleRate = statslogSampleRate; ZYGOTE_PROCESS.setHiddenApiAccessStatslogSampleRate(mStatslogSampleRate); } } public HiddenApiSettings(Handler handler, Context context) { super(handler); mContext = context; Loading @@ -2174,19 +2215,12 @@ public class ActivityManagerService extends IActivityManager.Stub Settings.Global.getUriFor(Settings.Global.HIDDEN_API_BLACKLIST_EXEMPTIONS), false, this); mContext.getContentResolver().registerContentObserver( Settings.Global.getUriFor(Settings.Global.HIDDEN_API_ACCESS_LOG_SAMPLING_RATE), false, this); mContext.getContentResolver().registerContentObserver( Settings.Global.getUriFor( Settings.Global.HIDDEN_API_ACCESS_STATSLOG_SAMPLING_RATE), false, this); mContext.getContentResolver().registerContentObserver( Settings.Global.getUriFor(Settings.Global.HIDDEN_API_POLICY), false, this); DeviceConfig.addOnPropertiesChangedListener(DeviceConfig.NAMESPACE_APP_COMPAT, mContext.getMainExecutor(), this); update(); } Loading @@ -2210,24 +2244,6 @@ public class ActivityManagerService extends IActivityManager.Stub mExemptions = Collections.emptyList(); } } int logSampleRate = Settings.Global.getInt(mContext.getContentResolver(), Settings.Global.HIDDEN_API_ACCESS_LOG_SAMPLING_RATE, 0x200); if (logSampleRate < 0 || logSampleRate > 0x10000) { logSampleRate = -1; } if (logSampleRate != -1 && logSampleRate != mLogSampleRate) { mLogSampleRate = logSampleRate; ZYGOTE_PROCESS.setHiddenApiAccessLogSampleRate(mLogSampleRate); } int statslogSampleRate = Settings.Global.getInt(mContext.getContentResolver(), Settings.Global.HIDDEN_API_ACCESS_STATSLOG_SAMPLING_RATE, 0); if (statslogSampleRate < 0 || statslogSampleRate > 0x10000) { statslogSampleRate = -1; } if (statslogSampleRate != -1 && statslogSampleRate != mStatslogSampleRate) { mStatslogSampleRate = statslogSampleRate; ZYGOTE_PROCESS.setHiddenApiAccessStatslogSampleRate(mStatslogSampleRate); } mPolicy = getValidEnforcementPolicy(Settings.Global.HIDDEN_API_POLICY); } Loading