diff --git a/README.md b/README.md index 8a9c805e..66ed38c6 100644 --- a/README.md +++ b/README.md @@ -260,6 +260,7 @@ Greylisted/blacklisted APIs or internal constants: (some constants are hardcoded * (since API 30) `Landroid/net/wifi/SoftApConfiguration$Builder;->setClientControlByUserEnabled(Z)Landroid/net/wifi/SoftApConfiguration$Builder;,sdk,system-api,test-api` * (since API 30) `Landroid/net/wifi/SoftApConfiguration$Builder;->setHiddenSsid(Z)Landroid/net/wifi/SoftApConfiguration$Builder;,sdk,system-api,test-api` * (since API 31) `Landroid/net/wifi/SoftApConfiguration$Builder;->setIeee80211axEnabled(Z)Landroid/net/wifi/SoftApConfiguration$Builder;,sdk,system-api,test-api` +* (since API 33) `Landroid/net/wifi/SoftApConfiguration$Builder;->setIeee80211beEnabled(Z)Landroid/net/wifi/SoftApConfiguration$Builder;,sdk,system-api,test-api` * (since API 31) `Landroid/net/wifi/SoftApConfiguration$Builder;->setMacRandomizationSetting(I)Landroid/net/wifi/SoftApConfiguration$Builder;,sdk,system-api,test-api` * (since API 30) `Landroid/net/wifi/SoftApConfiguration$Builder;->setMaxNumberOfClients(I)Landroid/net/wifi/SoftApConfiguration$Builder;,sdk,system-api,test-api` * (since API 30) `Landroid/net/wifi/SoftApConfiguration$Builder;->setPassphrase(Ljava/lang/String;I)Landroid/net/wifi/SoftApConfiguration$Builder;,sdk,system-api,test-api` @@ -285,6 +286,7 @@ Greylisted/blacklisted APIs or internal constants: (some constants are hardcoded * (since API 31) `Landroid/net/wifi/SoftApConfiguration;->isBridgedModeOpportunisticShutdownEnabled()Z,sdk,system-api,test-api` * (since API 30) `Landroid/net/wifi/SoftApConfiguration;->isClientControlByUserEnabled()Z,sdk,system-api,test-api` * (since API 31) `Landroid/net/wifi/SoftApConfiguration;->isIeee80211axEnabled()Z,sdk,system-api,test-api` +* (since API 33) `Landroid/net/wifi/SoftApConfiguration;->isIeee80211beEnabled()Z,sdk,system-api,test-api` * (since API 31) `Landroid/net/wifi/SoftApConfiguration;->isUserConfiguration()Z,sdk,system-api,test-api` * (since API 30) `Landroid/net/wifi/SoftApInfo;->CHANNEL_WIDTH_*:I,sdk,system-api,test-api` * (on API 30) `Landroid/net/wifi/SoftApInfo;->CHANNEL_WIDTH_INVALID:I,sdk,system-api,test-api` 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 1b657159..e264cd09 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 @@ -50,6 +50,8 @@ data class SoftApConfigurationCompat( var isBridgedModeOpportunisticShutdownEnabled: Boolean = true, @TargetApi(31) var isIeee80211axEnabled: Boolean = true, + @TargetApi(33) + var isIeee80211beEnabled: Boolean = true, @TargetApi(31) var isUserConfiguration: Boolean = true, var underlying: Parcelable? = null) : Parcelable { @@ -209,6 +211,10 @@ data class SoftApConfigurationCompat( private val isIeee80211axEnabled by lazy @TargetApi(31) { SoftApConfiguration::class.java.getDeclaredMethod("isIeee80211axEnabled") } + @get:RequiresApi(33) + private val isIeee80211beEnabled by lazy @TargetApi(33) { + SoftApConfiguration::class.java.getDeclaredMethod("isIeee80211beEnabled") + } @get:RequiresApi(31) private val isUserConfiguration by lazy @TargetApi(31) { SoftApConfiguration::class.java.getDeclaredMethod("isUserConfiguration") @@ -262,6 +268,10 @@ data class SoftApConfigurationCompat( private val setIeee80211axEnabled by lazy @TargetApi(31) { classBuilder.getDeclaredMethod("setIeee80211axEnabled", Boolean::class.java) } + @get:RequiresApi(33) + private val setIeee80211beEnabled by lazy @TargetApi(33) { + classBuilder.getDeclaredMethod("setIeee80211beEnabled", Boolean::class.java) + } @get:RequiresApi(31) private val setMacRandomizationSetting by lazy @TargetApi(31) { classBuilder.getDeclaredMethod("setMacRandomizationSetting", Int::class.java) @@ -343,6 +353,7 @@ data class SoftApConfigurationCompat( if (Build.VERSION.SDK_INT >= 31) getMacRandomizationSetting(this) as Int else RANDOMIZATION_PERSISTENT, Build.VERSION.SDK_INT < 31 || isBridgedModeOpportunisticShutdownEnabled(this) as Boolean, Build.VERSION.SDK_INT < 31 || isIeee80211axEnabled(this) as Boolean, + Build.VERSION.SDK_INT < 33 || isIeee80211beEnabled(this) as Boolean, Build.VERSION.SDK_INT < 31 || isUserConfiguration(this) as Boolean, this, ) @@ -461,6 +472,7 @@ data class SoftApConfigurationCompat( setMacRandomizationSetting(builder, macRandomizationSetting) setBridgedModeOpportunisticShutdownEnabled(builder, isBridgedModeOpportunisticShutdownEnabled) setIeee80211axEnabled(builder, isIeee80211axEnabled) + if (Build.VERSION.SDK_INT >= 33) setIeee80211beEnabled(builder, isIeee80211beEnabled) if (sac?.let { isUserConfiguration(it) as Boolean } != false != isUserConfiguration) try { setUserConfiguration(builder, isUserConfiguration) } catch (e: ReflectiveOperationException) { 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 64f4f134..77a5c285 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 @@ -148,6 +148,7 @@ class WifiApDialogFragment : AlertDialogFragment + 随机生成 MAC 地址 启用桥接模式伺机关闭 启用 Wi\u2011Fi 6 + 启用 Wi\u2011Fi 7 用户提供配置 "保存" diff --git a/mobile/src/main/res/values-zh-rTW/strings.xml b/mobile/src/main/res/values-zh-rTW/strings.xml index 225ac273..24db37b0 100644 --- a/mobile/src/main/res/values-zh-rTW/strings.xml +++ b/mobile/src/main/res/values-zh-rTW/strings.xml @@ -203,6 +203,7 @@ 隨機化 MAC 位址 啟用橋接模式隨機關閉 啟用 Wi\u2011Fi 6 + 啟用 Wi\u2011Fi 7 使用者提供組態 儲存 diff --git a/mobile/src/main/res/values/strings.xml b/mobile/src/main/res/values/strings.xml index b0520e4b..b69782e4 100644 --- a/mobile/src/main/res/values/strings.xml +++ b/mobile/src/main/res/values/strings.xml @@ -218,6 +218,7 @@ Use randomized MAC Enable Bridged mode opportunistic shutdown Enable Wi\u2011Fi 6 + Enable Wi\u2011Fi 7 User Supplied Configuration Save