summaryrefslogtreecommitdiff
path: root/runtime/native/java_lang_Class.cc
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/native/java_lang_Class.cc')
-rw-r--r--runtime/native/java_lang_Class.cc13
1 files changed, 3 insertions, 10 deletions
diff --git a/runtime/native/java_lang_Class.cc b/runtime/native/java_lang_Class.cc
index c5fdda7ee8..593a454d37 100644
--- a/runtime/native/java_lang_Class.cc
+++ b/runtime/native/java_lang_Class.cc
@@ -21,7 +21,6 @@
#include "art_field-inl.h"
#include "art_method-alloc-inl.h"
#include "base/enums.h"
-#include "base/sdk_version.h"
#include "class_linker-inl.h"
#include "class_root-inl.h"
#include "common_throws.h"
@@ -45,7 +44,6 @@
#include "mirror/proxy.h"
#include "mirror/string-alloc-inl.h"
#include "mirror/string-inl.h"
-#include "mirror/string.h"
#include "native_util.h"
#include "nativehelper/jni_macros.h"
#include "nativehelper/scoped_local_ref.h"
@@ -140,14 +138,9 @@ static jclass Class_classForName(JNIEnv* env, jclass, jstring javaName, jboolean
// So far ClassValue is the only class with such a problem and hence this
// ad-hoc check.
// See b/259501764.
- uint32_t targetSdkVersion = Runtime::Current()->GetTargetSdkVersion();
- if (IsSdkVersionSetAndAtMost(targetSdkVersion, SdkVersion::kT)) {
- ObjPtr<mirror::Class> java_lang_ClassValue =
- WellKnownClasses::ToClass(WellKnownClasses::java_lang_ClassValue);
- if (c.Get() == java_lang_ClassValue.Ptr()) {
- soa.Self()->ThrowNewException("Ljava/lang/ClassNotFoundException;", "java.lang.ClassValue");
- return nullptr;
- }
+ if (!c->CheckIsVisibleWithTargetSdk(soa.Self())) {
+ DCHECK(soa.Self()->IsExceptionPending());
+ return nullptr;
}
return soa.AddLocalReference<jclass>(c.Get());