summaryrefslogtreecommitdiff
path: root/runtime/hidden_api.cc
diff options
context:
space:
mode:
author David Brazdil <dbrazdil@google.com> 2018-10-31 11:04:10 +0000
committer David Brazdil <dbrazdil@google.com> 2018-11-22 12:49:26 +0000
commitdcfa89bfc06a6c211bbb64fa81313eaf6454ab67 (patch)
tree4aaf6da88861029e387525957bf68796cf95648c /runtime/hidden_api.cc
parentfd667d4165aefe51010e4fe3bd81b820ed9884ef (diff)
Rename and reorganize hiddenapi::ApiList
Change values of ApiList flags to make them easier to extend in the future and unify naming across all components. Light greylist is now just "Greylist", dark greylist becomes "GreylistMaxO". Note that the version code in "GreylistMaxO" must also include any maintenance releases, i.e. entries on "GreylistMaxO" are accessible to apps with targetSdkVersion<=27 (O MR1). Test: m, phone boots Test: m test-art Change-Id: I9622e0646eb265008a8bb2652270876ae95dac84
Diffstat (limited to 'runtime/hidden_api.cc')
-rw-r--r--runtime/hidden_api.cc26
1 files changed, 5 insertions, 21 deletions
diff --git a/runtime/hidden_api.cc b/runtime/hidden_api.cc
index 188c5f353b..d3df7fd38d 100644
--- a/runtime/hidden_api.cc
+++ b/runtime/hidden_api.cc
@@ -21,7 +21,6 @@
#include "art_field-inl.h"
#include "art_method-inl.h"
#include "base/dumpable.h"
-#include "base/sdk_version.h"
#include "dex/class_accessor-inl.h"
#include "scoped_thread_state_change.h"
#include "thread-inl.h"
@@ -76,21 +75,6 @@ enum AccessContextFlags {
kAccessDenied = 1 << 1,
};
-static SdkVersion GetMaxAllowedSdkVersionForApiList(ApiList api_list) {
- switch (api_list) {
- case ApiList::kWhitelist:
- case ApiList::kLightGreylist:
- return SdkVersion::kMax;
- case ApiList::kDarkGreylist:
- return SdkVersion::kO_MR1;
- case ApiList::kBlacklist:
- return SdkVersion::kMin;
- case ApiList::kNoList:
- LOG(FATAL) << "Unexpected value";
- UNREACHABLE();
- }
-}
-
MemberSignature::MemberSignature(ArtField* field) {
class_name_ = field->GetDeclaringClass()->GetDescriptor(&tmp_);
member_name_ = field->GetName();
@@ -264,7 +248,7 @@ uint32_t GetDexFlags(ArtField* field) REQUIRES_SHARED(Locks::mutator_lock_) {
}
uint32_t flags = kInvalidDexFlags;
- DCHECK(!AreValidFlags(flags));
+ DCHECK(!AreValidDexFlags(flags));
ClassAccessor accessor(declaring_class->GetDexFile(),
*class_def,
@@ -277,7 +261,7 @@ uint32_t GetDexFlags(ArtField* field) REQUIRES_SHARED(Locks::mutator_lock_) {
accessor.VisitFields(fn_visit, fn_visit);
CHECK_NE(flags, kInvalidDexFlags) << "Could not find flags for field " << field->PrettyField();
- DCHECK(AreValidFlags(flags));
+ DCHECK(AreValidDexFlags(flags));
return flags;
}
@@ -294,7 +278,7 @@ uint32_t GetDexFlags(ArtMethod* method) REQUIRES_SHARED(Locks::mutator_lock_) {
}
uint32_t flags = kInvalidDexFlags;
- DCHECK(!AreValidFlags(flags));
+ DCHECK(!AreValidDexFlags(flags));
ClassAccessor accessor(declaring_class->GetDexFile(),
*class_def,
@@ -307,7 +291,7 @@ uint32_t GetDexFlags(ArtMethod* method) REQUIRES_SHARED(Locks::mutator_lock_) {
accessor.VisitMethods(fn_visit, fn_visit);
CHECK_NE(flags, kInvalidDexFlags) << "Could not find flags for method " << method->PrettyMethod();
- DCHECK(AreValidFlags(flags));
+ DCHECK(AreValidDexFlags(flags));
return flags;
}
@@ -323,7 +307,7 @@ bool ShouldDenyAccessToMemberImpl(T* member,
const bool deny_access =
(policy == EnforcementPolicy::kEnabled) &&
IsSdkVersionSetAndMoreThan(runtime->GetTargetSdkVersion(),
- GetMaxAllowedSdkVersionForApiList(api_list));
+ api_list.GetMaxAllowedSdkVersion());
MemberSignature member_signature(member);