@@ -56,8 +56,8 @@ android {
|
|||||||
applicationId = "io.github.miuzarte.scrcpyforandroid"
|
applicationId = "io.github.miuzarte.scrcpyforandroid"
|
||||||
minSdk = 26
|
minSdk = 26
|
||||||
targetSdk = 37
|
targetSdk = 37
|
||||||
versionCode = 26
|
versionCode = 27
|
||||||
versionName = "0.3.0"
|
versionName = "0.3.1"
|
||||||
|
|
||||||
externalNativeBuild {
|
externalNativeBuild {
|
||||||
cmake {
|
cmake {
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package io.github.miuzarte.scrcpyforandroid.nativecore
|
|||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
|
import android.os.Build
|
||||||
import android.net.nsd.NsdManager
|
import android.net.nsd.NsdManager
|
||||||
import android.net.nsd.NsdServiceInfo
|
import android.net.nsd.NsdServiceInfo
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
@@ -85,7 +86,7 @@ internal object AdbMdnsDiscoverer {
|
|||||||
|
|
||||||
override fun onServiceResolved(serviceInfo: NsdServiceInfo) {
|
override fun onServiceResolved(serviceInfo: NsdServiceInfo) {
|
||||||
if (discoveryFinished.get()) return
|
if (discoveryFinished.get()) return
|
||||||
val hostAddress = serviceInfo.hostAddresses[0].hostAddress ?: return
|
val hostAddress = resolvedHostAddress(serviceInfo) ?: return
|
||||||
if (hostAddress.isBlank()) return
|
if (hostAddress.isBlank()) return
|
||||||
|
|
||||||
if (!includeLanDevices) {
|
if (!includeLanDevices) {
|
||||||
@@ -128,6 +129,14 @@ internal object AdbMdnsDiscoverer {
|
|||||||
return if (port > 0 && !host.isNullOrBlank()) host to port else null
|
return if (port > 0 && !host.isNullOrBlank()) host to port else null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Suppress("DEPRECATION")
|
||||||
|
@SuppressLint("NewApi")
|
||||||
|
private fun resolvedHostAddress(serviceInfo: NsdServiceInfo): String? =
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE)
|
||||||
|
serviceInfo.hostAddresses.firstOrNull()?.hostAddress
|
||||||
|
else
|
||||||
|
serviceInfo.host?.hostAddress
|
||||||
|
|
||||||
private fun isPortOpened(port: Int): Boolean = try {
|
private fun isPortOpened(port: Int): Boolean = try {
|
||||||
ServerSocket().use {
|
ServerSocket().use {
|
||||||
it.bind(InetSocketAddress("127.0.0.1", port), 1)
|
it.bind(InetSocketAddress("127.0.0.1", port), 1)
|
||||||
|
|||||||
Reference in New Issue
Block a user