Accomodate Samsung's fancy p2p group
This commit is contained in:
@@ -160,7 +160,7 @@ Undocumented system configurations:
|
|||||||
|
|
||||||
Other:
|
Other:
|
||||||
|
|
||||||
* (since API 29) `android.net.wifi.p2p.WifiP2pConfig` needs to be parcelized in a very specific order.
|
* (since API 29) `android.net.wifi.p2p.WifiP2pConfig` needs to be parcelized in a very specific order, except for possible extra fields at the end.
|
||||||
* (since API 28) [`Landroid/provider/Settings$Global;->SOFT_AP_TIMEOUT_ENABLED:Ljava/lang/String;,greylist-max-o`](https://android.googlesource.com/platform/prebuilts/runtime/+/3d07e5c/appcompat/hiddenapi-flags.csv#158307) is assumed to be `"soft_ap_timeout_enabled"`.
|
* (since API 28) [`Landroid/provider/Settings$Global;->SOFT_AP_TIMEOUT_ENABLED:Ljava/lang/String;,greylist-max-o`](https://android.googlesource.com/platform/prebuilts/runtime/+/3d07e5c/appcompat/hiddenapi-flags.csv#158307) is assumed to be `"soft_ap_timeout_enabled"`.
|
||||||
* (since API 27) [`Landroid/provider/Settings$Global;->TETHER_OFFLOAD_DISABLED:Ljava/lang/String;,greylist-max-o`](https://android.googlesource.com/platform/prebuilts/runtime/+/3d07e5c/appcompat/hiddenapi-flags.csv#158331) is assumed to be `"tether_offload_disabled"`.
|
* (since API 27) [`Landroid/provider/Settings$Global;->TETHER_OFFLOAD_DISABLED:Ljava/lang/String;,greylist-max-o`](https://android.googlesource.com/platform/prebuilts/runtime/+/3d07e5c/appcompat/hiddenapi-flags.csv#158331) is assumed to be `"tether_offload_disabled"`.
|
||||||
* (since API 27) `com.android.server.connectivity.tethering.OffloadHardwareInterface.DEFAULT_TETHER_OFFLOAD_DISABLED` is assumed to be 0.
|
* (since API 27) `com.android.server.connectivity.tethering.OffloadHardwareInterface.DEFAULT_TETHER_OFFLOAD_DISABLED` is assumed to be 0.
|
||||||
|
|||||||
@@ -322,8 +322,10 @@ class RepeaterService : Service(), CoroutineScope, WifiP2pManager.ChannelListene
|
|||||||
val long = p.readLong()
|
val long = p.readLong()
|
||||||
check(p.readString() == PLACEHOLDER_NETWORK_NAME)
|
check(p.readString() == PLACEHOLDER_NETWORK_NAME)
|
||||||
check(p.readString() == passphrase)
|
check(p.readString() == passphrase)
|
||||||
val int = p.readInt()
|
val extrasLength = end - p.dataPosition()
|
||||||
check(p.dataPosition() == end)
|
check(extrasLength and 3 == 0) // parcel should be padded
|
||||||
|
if (extrasLength != 4) Timber.w(Exception("Unexpected extrasLength $extrasLength"))
|
||||||
|
val extras = (0 until extrasLength / 4).map { p.readInt() }
|
||||||
p.setDataPosition(0)
|
p.setDataPosition(0)
|
||||||
p.writeString(creator)
|
p.writeString(creator)
|
||||||
p.writeString(deviceAddress)
|
p.writeString(deviceAddress)
|
||||||
@@ -331,7 +333,7 @@ class RepeaterService : Service(), CoroutineScope, WifiP2pManager.ChannelListene
|
|||||||
p.writeLong(long)
|
p.writeLong(long)
|
||||||
p.writeString(networkName)
|
p.writeString(networkName)
|
||||||
p.writeString(passphrase)
|
p.writeString(passphrase)
|
||||||
p.writeInt(int)
|
extras.forEach(p::writeInt)
|
||||||
p.setDataPosition(0)
|
p.setDataPosition(0)
|
||||||
p.readParcelable<WifiP2pConfig>(javaClass.classLoader)
|
p.readParcelable<WifiP2pConfig>(javaClass.classLoader)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user