diff options
Diffstat (limited to 'runtime/hidden_api.h')
| -rw-r--r-- | runtime/hidden_api.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/runtime/hidden_api.h b/runtime/hidden_api.h index 8e21fd3b8f..580224e439 100644 --- a/runtime/hidden_api.h +++ b/runtime/hidden_api.h @@ -95,6 +95,22 @@ inline Action GetActionFromAccessFlags(HiddenApiAccessFlags::ApiList api_list) { } } +class ScopedHiddenApiEnforcementPolicySetting { + public: + explicit ScopedHiddenApiEnforcementPolicySetting(EnforcementPolicy new_policy) + : initial_policy_(Runtime::Current()->GetHiddenApiEnforcementPolicy()) { + Runtime::Current()->SetHiddenApiEnforcementPolicy(new_policy); + } + + ~ScopedHiddenApiEnforcementPolicySetting() { + Runtime::Current()->SetHiddenApiEnforcementPolicy(initial_policy_); + } + + private: + const EnforcementPolicy initial_policy_; + DISALLOW_COPY_AND_ASSIGN(ScopedHiddenApiEnforcementPolicySetting); +}; + // Implementation details. DO NOT ACCESS DIRECTLY. namespace detail { |