package com.ifpdos.udi.sdk.localhttpd;

import android.net.LocalSocket;
import android.net.LocalSocketAddress;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.net.SocketAddress;

/* JADX INFO: loaded from: classes.dex */
public class LocalSocketAdapter extends Socket {
    private static ISocketCreator sSocketCreator = new ISocketCreator() { // from class: com.ifpdos.udi.sdk.localhttpd.LocalSocketAdapter.1
        @Override // com.ifpdos.udi.sdk.localhttpd.LocalSocketAdapter.ISocketCreator
        public LocalSocket createLocalSocket() {
            return new LocalSocket();
        }

        @Override // com.ifpdos.udi.sdk.localhttpd.LocalSocketAdapter.ISocketCreator
        public LocalSocketAddress createLocalSocketAddress(String str) {
            return new LocalSocketAddress(str);
        }
    };
    private final LocalSocket mLocalSocket = sSocketCreator.createLocalSocket();
    private boolean mIsClose = false;

    public interface ISocketCreator {
        LocalSocket createLocalSocket();

        LocalSocketAddress createLocalSocketAddress(String str);
    }

    private void connectToLocalSocketServer(SocketAddress socketAddress) throws IOException {
        if (!(socketAddress instanceof InetSocketAddress)) {
            throw new IOException("endpoint is not InetSocketAddress");
        }
        this.mLocalSocket.connect(sSocketCreator.createLocalSocketAddress(((InetSocketAddress) socketAddress).getHostName()));
    }

    public static void setSocketCreator(ISocketCreator iSocketCreator) {
        sSocketCreator = iSocketCreator;
    }

    @Override // java.net.Socket, java.io.Closeable, java.lang.AutoCloseable
    public synchronized void close() {
        this.mIsClose = true;
        this.mLocalSocket.close();
    }

    @Override // java.net.Socket
    public void connect(SocketAddress socketAddress) throws IOException {
        connectToLocalSocketServer(socketAddress);
    }

    @Override // java.net.Socket
    public void connect(SocketAddress socketAddress, int i2) throws IOException {
        connect(socketAddress);
    }

    @Override // java.net.Socket
    public InputStream getInputStream() {
        return this.mLocalSocket.getInputStream();
    }

    @Override // java.net.Socket
    public OutputStream getOutputStream() {
        return this.mLocalSocket.getOutputStream();
    }

    @Override // java.net.Socket
    public boolean isClosed() {
        return this.mIsClose;
    }

    @Override // java.net.Socket
    public boolean isConnected() {
        return this.mLocalSocket.isConnected();
    }
}
