Skip to content

Commit

Permalink
Improve android api visibility
Browse files Browse the repository at this point in the history
  • Loading branch information
yschimke committed Jan 4, 2025
1 parent 5ea6fd0 commit e3ea3a8
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 28 deletions.
14 changes: 1 addition & 13 deletions okhttp/api/android/okhttp.api
Original file line number Diff line number Diff line change
Expand Up @@ -1267,19 +1267,7 @@ public abstract class okhttp3/WebSocketListener {

public final class okhttp3/android/AndroidDnsKt {
public static final fun forNetwork (Lokhttp3/Dns$Companion;Landroid/net/Network;)Lokhttp3/Dns;
}

public final class okhttp3/android/AndroidSocketFactory : javax/net/SocketFactory {
public fun <init> (Landroid/net/Network;)V
public fun createSocket ()Ljava/net/Socket;
public fun createSocket (Ljava/lang/String;I)Ljava/net/Socket;
public fun createSocket (Ljava/lang/String;ILjava/net/InetAddress;I)Ljava/net/Socket;
public fun createSocket (Ljava/net/InetAddress;I)Ljava/net/Socket;
public fun createSocket (Ljava/net/InetAddress;ILjava/net/InetAddress;I)Ljava/net/Socket;
public fun equals (Ljava/lang/Object;)Z
public final fun getNetwork ()Landroid/net/Network;
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
public static final fun getANDROID (Lokhttp3/Dns$Companion;)Lokhttp3/Dns;
}

public final class okhttp3/android/NetworkSelection {
Expand Down
8 changes: 7 additions & 1 deletion okhttp/src/androidMain/kotlin/okhttp3/android/AndroidDns.kt
Original file line number Diff line number Diff line change
Expand Up @@ -126,9 +126,15 @@ internal class AndroidDns internal constructor(
}
}

internal val Dns.Companion.ANDROID: Dns
/**
* Dns implementation based on [android.net.DnsResolver] instead of [InetAddress.getAllByName].
*/
val Dns.Companion.ANDROID: Dns
@RequiresApi(Build.VERSION_CODES.Q)
get() = union(AndroidDns(dnsClass = DnsClass.IPV4), AndroidDns(dnsClass = DnsClass.IPV6)).asBlocking()

/**
* Returns a Dns implementation for a specific Android network, using [android.net.DnsResolver].
*/
@RequiresApi(Build.VERSION_CODES.Q)
fun Dns.Companion.forNetwork(network: Network): Dns = AndroidDns.forNetwork(network).asBlocking()
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import javax.net.SocketFactory
import okhttp3.Dns
import okhttp3.ExperimentalOkHttpApi
import okhttp3.OkHttpClient
import okhttp3.android.internal.AndroidSocketFactory

@ExperimentalOkHttpApi
object NetworkSelection {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,18 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package okhttp3.android
package okhttp3.android.internal

import android.net.Network
import android.os.Build
import okhttp3.ExperimentalOkHttpApi
import java.net.InetAddress
import java.net.Socket
import javax.net.SocketFactory
import okhttp3.ExperimentalOkHttpApi

@ExperimentalOkHttpApi
class AndroidSocketFactory(
val network: Network,
internal class AndroidSocketFactory(
val network: Network,
) : SocketFactory() {
private val socketFactory: SocketFactory = network.socketFactory

Expand All @@ -40,26 +40,26 @@ class AndroidSocketFactory(
}

override fun createSocket(
host: String?,
port: Int,
localHost: InetAddress?,
localPort: Int,
host: String?,
port: Int,
localHost: InetAddress?,
localPort: Int,
): Socket {
return socketFactory.createSocket(host, port, localHost, localPort)
}

override fun createSocket(
host: InetAddress?,
port: Int,
host: InetAddress?,
port: Int,
): Socket {
return socketFactory.createSocket(host, port)
}

override fun createSocket(
address: InetAddress?,
port: Int,
localAddress: InetAddress?,
localPort: Int,
address: InetAddress?,
port: Int,
localAddress: InetAddress?,
localPort: Int,
): Socket {
return socketFactory.createSocket(address, port, localAddress, localPort)
}
Expand Down

0 comments on commit e3ea3a8

Please sign in to comment.