Fix ap band selection
This commit is contained in:
@@ -35,13 +35,10 @@ data class SoftApConfigurationCompat(
|
|||||||
var blockedClientList: List<Parcelable>?,
|
var blockedClientList: List<Parcelable>?,
|
||||||
var underlying: Parcelable? = null) : Parcelable {
|
var underlying: Parcelable? = null) : Parcelable {
|
||||||
companion object {
|
companion object {
|
||||||
/**
|
|
||||||
* TODO
|
|
||||||
*/
|
|
||||||
const val BAND_ANY = 0
|
|
||||||
const val BAND_2GHZ = 1
|
const val BAND_2GHZ = 1
|
||||||
const val BAND_5GHZ = 2
|
const val BAND_5GHZ = 2
|
||||||
const val BAND_6GHZ = 3
|
const val BAND_6GHZ = 4
|
||||||
|
const val BAND_ANY = 7
|
||||||
const val CH_INVALID = 0
|
const val CH_INVALID = 0
|
||||||
|
|
||||||
// TODO: localize?
|
// TODO: localize?
|
||||||
@@ -190,7 +187,12 @@ data class SoftApConfigurationCompat(
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
preSharedKey,
|
preSharedKey,
|
||||||
if (Build.VERSION.SDK_INT >= 23) apBand.getInt(this) + 1 else BAND_ANY, // TODO
|
if (Build.VERSION.SDK_INT >= 23) when (val band = apBand.getInt(this)) {
|
||||||
|
0 -> BAND_2GHZ
|
||||||
|
1 -> BAND_5GHZ
|
||||||
|
-1 -> BAND_ANY
|
||||||
|
else -> throw IllegalArgumentException("Unexpected band $band")
|
||||||
|
} else BAND_ANY,
|
||||||
if (Build.VERSION.SDK_INT >= 23) apChannel.getInt(this) else CH_INVALID, // TODO
|
if (Build.VERSION.SDK_INT >= 23) apChannel.getInt(this) else CH_INVALID, // TODO
|
||||||
BSSID?.let { MacAddressCompat.fromString(it) }?.addr,
|
BSSID?.let { MacAddressCompat.fromString(it) }?.addr,
|
||||||
0, // TODO: unsupported field should have @RequiresApi?
|
0, // TODO: unsupported field should have @RequiresApi?
|
||||||
@@ -265,9 +267,14 @@ data class SoftApConfigurationCompat(
|
|||||||
}
|
}
|
||||||
result.preSharedKey = passphrase
|
result.preSharedKey = passphrase
|
||||||
if (Build.VERSION.SDK_INT >= 23) {
|
if (Build.VERSION.SDK_INT >= 23) {
|
||||||
apBand.setInt(result, band)
|
apBand.setInt(result, when (band) {
|
||||||
|
BAND_2GHZ -> 0
|
||||||
|
BAND_5GHZ -> 1
|
||||||
|
BAND_ANY -> -1
|
||||||
|
else -> throw IllegalArgumentException("Unsupported band $band")
|
||||||
|
})
|
||||||
apChannel.setInt(result, channel)
|
apChannel.setInt(result, channel)
|
||||||
}
|
} else require(band == BAND_ANY) { "Specifying band is unsupported on this platform" }
|
||||||
if (bssid != original?.bssid) result.BSSID = bssid?.toString()
|
if (bssid != original?.bssid) result.BSSID = bssid?.toString()
|
||||||
result.hiddenSSID = isHiddenSsid
|
result.hiddenSSID = isHiddenSsid
|
||||||
return result
|
return result
|
||||||
|
|||||||
Reference in New Issue
Block a user