package okhttp3.internal.platform; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; /* loaded from: classes2.dex */ class OptionalMethod { private final String methodName; private final Class[] methodParams; private final Class returnType; OptionalMethod(Class cls, String str, Class... clsArr) { this.returnType = cls; this.methodName = str; this.methodParams = clsArr; } private Method getMethod(Class cls) { Class cls2; String str = this.methodName; if (str == null) { return null; } Method publicMethod = getPublicMethod(cls, str, this.methodParams); if (publicMethod == null || (cls2 = this.returnType) == null || cls2.isAssignableFrom(publicMethod.getReturnType())) { return publicMethod; } return null; } private static Method getPublicMethod(Class cls, String str, Class[] clsArr) { try { Method method = cls.getMethod(str, clsArr); try { if ((method.getModifiers() & 1) != 0) { return method; } } catch (NoSuchMethodException unused) { return method; } } catch (NoSuchMethodException unused2) { } return null; } public Object invoke(T t, Object... objArr) throws InvocationTargetException { Method method = getMethod(t.getClass()); if (method == null) { throw new AssertionError("Method " + this.methodName + " not supported for object " + t); } try { return method.invoke(t, objArr); } catch (IllegalAccessException e) { AssertionError assertionError = new AssertionError("Unexpectedly could not call: " + method); assertionError.initCause(e); throw assertionError; } } public Object invokeOptional(T t, Object... objArr) throws InvocationTargetException { Method method = getMethod(t.getClass()); if (method == null) { return null; } try { return method.invoke(t, objArr); } catch (IllegalAccessException unused) { return null; } } public Object invokeOptionalWithoutCheckedException(T t, Object... objArr) { try { return invokeOptional(t, objArr); } catch (InvocationTargetException e) { Throwable targetException = e.getTargetException(); if (targetException instanceof RuntimeException) { throw ((RuntimeException) targetException); } AssertionError assertionError = new AssertionError("Unexpected exception"); assertionError.initCause(targetException); throw assertionError; } } public Object invokeWithoutCheckedException(T t, Object... objArr) { try { return invoke(t, objArr); } catch (InvocationTargetException e) { Throwable targetException = e.getTargetException(); if (targetException instanceof RuntimeException) { throw ((RuntimeException) targetException); } AssertionError assertionError = new AssertionError("Unexpected exception"); assertionError.initCause(targetException); throw assertionError; } } public boolean isSupported(T t) { return getMethod(t.getClass()) != null; } }