package retrofit2; import android.os.Handler; import android.os.Looper; import java.lang.invoke.MethodHandles; import java.lang.reflect.Constructor; import java.lang.reflect.Method; import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.concurrent.Executor; import retrofit2.CallAdapter; import retrofit2.Converter; /* JADX INFO: Access modifiers changed from: package-private */ /* loaded from: classes.dex */ public class Platform { private static final Platform PLATFORM = findPlatform(); private final boolean hasJava8Types; private final Constructor lookupConstructor; /* JADX INFO: Access modifiers changed from: package-private */ public Executor defaultCallbackExecutor() { return null; } private static Platform findPlatform() { if ("Dalvik".equals(System.getProperty("java.vm.name"))) { return new Android(); } return new Platform(true); } Platform(boolean z) { this.hasJava8Types = z; Constructor constructor = null; if (z) { try { constructor = MethodHandles.Lookup.class.getDeclaredConstructor(Class.class, Integer.TYPE); constructor.setAccessible(true); } catch (NoClassDefFoundError | NoSuchMethodException unused) { } } this.lookupConstructor = constructor; } /* JADX INFO: Access modifiers changed from: package-private */ public List defaultCallAdapterFactories(Executor executor) { DefaultCallAdapterFactory defaultCallAdapterFactory = new DefaultCallAdapterFactory(executor); return this.hasJava8Types ? Arrays.asList(CompletableFutureCallAdapterFactory.INSTANCE, defaultCallAdapterFactory) : Collections.singletonList(defaultCallAdapterFactory); } /* JADX INFO: Access modifiers changed from: package-private */ public List defaultConverterFactories() { return this.hasJava8Types ? Collections.singletonList(OptionalConverterFactory.INSTANCE) : Collections.emptyList(); } /* JADX INFO: Access modifiers changed from: package-private */ public boolean isDefaultMethod(Method method) { return this.hasJava8Types && method.isDefault(); } /* JADX INFO: Access modifiers changed from: package-private */ public Object invokeDefaultMethod(Method method, Class cls, Object obj, Object... objArr) throws Throwable { MethodHandles.Lookup lookup; Constructor constructor = this.lookupConstructor; if (constructor != null) { lookup = constructor.newInstance(cls, -1); } else { lookup = MethodHandles.lookup(); } return lookup.unreflectSpecial(method, cls).bindTo(obj).invokeWithArguments(objArr); } /* JADX INFO: Access modifiers changed from: package-private */ /* loaded from: classes.dex */ public static final class Android extends Platform { Android() { super(true); } @Override // retrofit2.Platform public final Executor defaultCallbackExecutor() { return new MainThreadExecutor(); } @Override // retrofit2.Platform final Object invokeDefaultMethod(Method method, Class cls, Object obj, Object... objArr) throws Throwable { return super.invokeDefaultMethod(method, cls, obj, objArr); } /* loaded from: classes.dex */ static final class MainThreadExecutor implements Executor { private final Handler handler = new Handler(Looper.getMainLooper()); MainThreadExecutor() { } @Override // java.util.concurrent.Executor public final void execute(Runnable runnable) { this.handler.post(runnable); } } } /* JADX INFO: Access modifiers changed from: package-private */ public int defaultConverterFactoriesSize() { return this.hasJava8Types ? 1 : 0; } /* JADX INFO: Access modifiers changed from: package-private */ public int defaultCallAdapterFactoriesSize() { return this.hasJava8Types ? 2 : 1; } /* JADX INFO: Access modifiers changed from: package-private */ public static Platform get() { return PLATFORM; } }