package cm.android.hook; import java.lang.reflect.Method; public abstract class MethodProxy { private boolean enable = true; public abstract String getMethodName(); public boolean beforeCall(Object who, Method method, Object... args) { return true; } public Object call(Object who, Method method, Object... args) throws Throwable { return method.invoke(who, args); } public Object afterCall(Object who, Method method, Object[] args, Object result) throws Throwable { return result; } public boolean isEnable() { return enable; } public void setEnable(boolean enable) { this.enable = enable; } @Override public String toString() { return "Method : " + getMethodName(); } }