diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/net/wifi/SoftApConfigurationCompat.kt b/mobile/src/main/java/be/mygod/vpnhotspot/net/wifi/SoftApConfigurationCompat.kt index aa5c724e..661144f6 100644 --- a/mobile/src/main/java/be/mygod/vpnhotspot/net/wifi/SoftApConfigurationCompat.kt +++ b/mobile/src/main/java/be/mygod/vpnhotspot/net/wifi/SoftApConfigurationCompat.kt @@ -546,7 +546,9 @@ data class SoftApConfigurationCompat( else -> passphrase }, securityType) setChannelsCompat(builder, channels) - setBssid(builder, bssid?.toPlatform()) + setBssid(builder, bssid?.run { + if (Build.VERSION.SDK_INT >= 31 && macRandomizationSetting != RANDOMIZATION_NONE) null else toPlatform() + }) setMaxNumberOfClients(builder, maxNumberOfClients) try { setShutdownTimeoutMillis(builder, shutdownTimeoutMillis) diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/net/wifi/WifiApDialogFragment.kt b/mobile/src/main/java/be/mygod/vpnhotspot/net/wifi/WifiApDialogFragment.kt index f9d54f79..711cbda5 100644 --- a/mobile/src/main/java/be/mygod/vpnhotspot/net/wifi/WifiApDialogFragment.kt +++ b/mobile/src/main/java/be/mygod/vpnhotspot/net/wifi/WifiApDialogFragment.kt @@ -155,9 +155,6 @@ class WifiApDialogFragment : AlertDialogFragment= 23 || arg.p2pMode) channels = generateChannels() - bssid = if (dialogView.bssid.length() != 0) { - MacAddressCompat.fromString(dialogView.bssid.text.toString()) - } else null maxNumberOfClients = dialogView.maxClient.text.let { text -> if (text.isNullOrEmpty()) 0 else text.toString().toInt() } @@ -167,6 +164,10 @@ class WifiApDialogFragment : AlertDialogFragment= 29) dialogView.macRandomization.isEnabled = false else if (arg.p2pMode || Build.VERSION.SDK_INT < 31) dialogView.macRandomizationWrapper.isGone = true + else dialogView.macRandomization.onItemSelectedListener = this@WifiApDialogFragment if (arg.p2pMode || Build.VERSION.SDK_INT < 31) { dialogView.ieee80211ax.isGone = true dialogView.bridgedModeOpportunisticShutdown.isGone = true @@ -382,8 +384,11 @@ class WifiApDialogFragment : AlertDialogFragment= 31 && + dialogView.macRandomization.selectedItemPosition != SoftApConfigurationCompat.RANDOMIZATION_NONE + dialogView.bssidWrapper.isGone = hideBssid dialogView.bssidWrapper.error = null - val bssidValid = dialogView.bssid.length() == 0 || try { + val bssidValid = hideBssid || dialogView.bssid.length() == 0 || try { val mac = MacAddressCompat.fromString(dialogView.bssid.text.toString()) if (Build.VERSION.SDK_INT >= 30 && !arg.p2pMode) { SoftApConfigurationCompat.testPlatformValidity(mac.toPlatform()) diff --git a/mobile/src/main/res/layout/dialog_wifi_ap.xml b/mobile/src/main/res/layout/dialog_wifi_ap.xml index 433bc4fa..41ec41e3 100644 --- a/mobile/src/main/res/layout/dialog_wifi_ap.xml +++ b/mobile/src/main/res/layout/dialog_wifi_ap.xml @@ -349,24 +349,6 @@ android:layout_height="wrap_content" style="@style/wifi_item_subhead" android:text="@string/wifi_hotspot_ap_advanced_title" /> - - - - + + - - - + style="@style/wifi_item_edit_content" + android:imeOptions="flagForceAscii" + android:inputType="textNoSuggestions" + android:maxLength="17" /> + + + +