Respect system thisDevice

This commit is contained in:
Mygod
2020-07-07 04:54:26 +08:00
parent 82dc01ab37
commit 1ef2718d8c
5 changed files with 42 additions and 22 deletions

View File

@@ -122,9 +122,7 @@ class P2pSupplicantConfiguration(private val group: WifiP2pGroup? = null) {
if (target == null) target = this
})
}
content = Content(result, target!!.apply {
RepeaterService.lastMac = bssid!!
}, persistentMacLine, legacy)
content = Content(result, target!!, persistentMacLine, legacy)
} catch (e: Exception) {
FirebaseCrashlytics.getInstance().apply {
setCustomKey(TAG, config)

View File

@@ -4,7 +4,9 @@ import android.annotation.SuppressLint
import android.net.wifi.WpsInfo
import android.net.wifi.p2p.WifiP2pGroup
import android.net.wifi.p2p.WifiP2pManager
import androidx.annotation.RequiresApi
import be.mygod.vpnhotspot.App.Companion.app
import be.mygod.vpnhotspot.net.MacAddressCompat
import be.mygod.vpnhotspot.util.callSuper
import kotlinx.coroutines.CompletableDeferred
import timber.log.Timber
@@ -126,4 +128,15 @@ object WifiP2pManagerHelper {
}))
return result.await()
}
@SuppressLint("MissingPermission")
@RequiresApi(29)
suspend fun WifiP2pManager.requestDeviceAddress(c: WifiP2pManager.Channel): MacAddressCompat? {
val future = CompletableDeferred<String?>()
requestDeviceInfo(c) { future.complete(it?.deviceAddress) }
return future.await()?.let {
val address = if (it.isEmpty()) null else MacAddressCompat.fromString(it)
if (address == MacAddressCompat.ANY_ADDRESS) null else address
}
}
}