mirror of
https://github.com/alibaba/Tangram-Android.git
synced 2026-10-17 05:07:05 +08:00
refractor clickSupport and exposureSupport
This commit is contained in:
@@ -93,10 +93,7 @@ public abstract class ExposureSupport {
|
||||
private void findTraceMethods(Method[] methods) {
|
||||
for (Method method : methods) {
|
||||
String methodName = method.getName();
|
||||
if (!methodName.equals(ON_TRACE_METHOD_NAME) && methodName.startsWith(
|
||||
ON_TRACE_METHOD_NAME) ||
|
||||
(methodName.startsWith(ON_TRACE_METHOD_PREFIX) && methodName.endsWith(
|
||||
ON_TRACE_METHOD_POSTFIX))) {
|
||||
if (isValidTraceMethodName(methodName)) {
|
||||
int modifiers = method.getModifiers();
|
||||
if ((modifiers & Modifier.PUBLIC) != 0 && (modifiers & MODIFIERS_IGNORE) == 0) {
|
||||
Class<?>[] parameterTypes = method.getParameterTypes();
|
||||
@@ -116,13 +113,15 @@ public abstract class ExposureSupport {
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isValidTraceMethodName(String methodName) {
|
||||
return !methodName.equals(ON_TRACE_METHOD_NAME) && methodName.startsWith(ON_TRACE_METHOD_NAME) ||
|
||||
(methodName.startsWith(ON_TRACE_METHOD_PREFIX) && methodName.endsWith(ON_TRACE_METHOD_POSTFIX));
|
||||
}
|
||||
|
||||
private void findExposureMethods(Method[] methods) {
|
||||
for (Method method : methods) {
|
||||
String methodName = method.getName();
|
||||
if (!methodName.equals(ON_EXPOSURE_METHOD_NAME) && methodName.startsWith(
|
||||
ON_EXPOSURE_METHOD_NAME) ||
|
||||
(methodName.startsWith(ON_EXPOSURE_METHOD_PREFIX) && methodName.endsWith(
|
||||
ON_EXPOSURE_METHOD_POSTFIX))) {
|
||||
if (isValidExposureMethodName(methodName)) {
|
||||
int modifiers = method.getModifiers();
|
||||
if ((modifiers & Modifier.PUBLIC) != 0 && (modifiers & MODIFIERS_IGNORE) == 0) {
|
||||
Class<?>[] parameterTypes = method.getParameterTypes();
|
||||
@@ -142,6 +141,11 @@ public abstract class ExposureSupport {
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isValidExposureMethodName(String methodName) {
|
||||
return !methodName.equals(ON_EXPOSURE_METHOD_NAME) && methodName.startsWith(ON_EXPOSURE_METHOD_NAME) ||
|
||||
(methodName.startsWith(ON_EXPOSURE_METHOD_PREFIX) && methodName.endsWith(ON_EXPOSURE_METHOD_POSTFIX));
|
||||
}
|
||||
|
||||
/**
|
||||
* enable opt mode, users route exposure handler by themselves, otherwise exposure handler is routed by inner and invoked by reflection
|
||||
* @param optimizedMode true to enable opt mode
|
||||
|
||||
@@ -86,8 +86,7 @@ public abstract class SimpleClickSupport {
|
||||
private void findClickMethods(Method[] methods) {
|
||||
for (Method method : methods) {
|
||||
String methodName = method.getName();
|
||||
if (!methodName.equals(ON_CLICK_METHOD_NAME) && methodName.startsWith(ON_CLICK_METHOD_NAME) ||
|
||||
(methodName.startsWith(ON_CLICK_METHOD_PREFIX) && methodName.endsWith(ON_CLICK_METHOD_POSTFIX))) {
|
||||
if (isValidMethodName(methodName)) {
|
||||
int modifiers = method.getModifiers();
|
||||
if ((modifiers & Modifier.PUBLIC) != 0 && (modifiers & MODIFIERS_IGNORE) == 0) {
|
||||
Class<?>[] parameterTypes = method.getParameterTypes();
|
||||
@@ -113,6 +112,11 @@ public abstract class SimpleClickSupport {
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isValidMethodName(String methodName) {
|
||||
return !methodName.equals(ON_CLICK_METHOD_NAME) && methodName.startsWith(ON_CLICK_METHOD_NAME) ||
|
||||
(methodName.startsWith(ON_CLICK_METHOD_PREFIX) && methodName.endsWith(ON_CLICK_METHOD_POSTFIX));
|
||||
}
|
||||
|
||||
/**
|
||||
* Handler click event on item
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user