Skip to content

Commit 1f23aee

Browse files
authored
SDK's: Clear pairing screen after initial pairing (#771)
1 parent 90719ec commit 1f23aee

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+322
-106
lines changed

demos/kotlin/kmp_sdk/wsdk/src/commonMain/kotlin/com/gopro/open_gopro/entity/communicator/BleCommunicator.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ internal enum class QueryId(val value: UByte) {
4545
}
4646

4747
internal enum class ActionId(val value: UByte) {
48+
REQUEST_PAIRING_STATE(0x01U),
4849
SCAN_WIFI_NETWORKS(0x02U),
4950
GET_AP_ENTRIES(0x03U),
5051
REQUEST_WIFI_CONNECT(0x04U),
@@ -58,6 +59,7 @@ internal enum class ActionId(val value: UByte) {
5859
GET_LIVESTREAM_STATUS(0x74U),
5960
RELEASE_NETWORK(0x78U),
6061
SET_LIVESTREAM_MODE(0x79U),
62+
REQUEST_PAIRING_STATE_RSP(0x81U),
6163
SCAN_WIFI_NETWORKS_RSP(0x82U),
6264
GET_AP_ENTRIES_RSP(0x83U),
6365
REQUEST_WIFI_CONNECT_RSP(0x84U),
@@ -92,6 +94,7 @@ internal enum class ActionId(val value: UByte) {
9294

9395
internal enum class FeatureId(val value: UByte) {
9496
NETWORK_MANAGEMENT(0x02U),
97+
WIRELESS_MANAGEMENT(0x03U),
9598
COMMAND(0xF1U),
9699
SETTING(0xF3U),
97100
QUERY(0xF5U);
@@ -116,6 +119,7 @@ internal val responseProtobufIds: Set<Pair<FeatureId, ActionId>> =
116119
FeatureId.NETWORK_MANAGEMENT to ActionId.REQUEST_WIFI_CONNECT_NEW_RSP,
117120
FeatureId.NETWORK_MANAGEMENT to ActionId.REQUEST_WIFI_CONNECT_RSP,
118121
FeatureId.NETWORK_MANAGEMENT to ActionId.NOTIF_PROVIS_STATE,
122+
FeatureId.WIRELESS_MANAGEMENT to ActionId.REQUEST_PAIRING_STATE_RSP,
119123
FeatureId.QUERY to ActionId.LIVESTREAM_STATUS_RSP,
120124
FeatureId.QUERY to ActionId.LIVESTREAM_STATUS_NOTIF,
121125
FeatureId.QUERY to ActionId.GET_PRESET_STATUS_RSP,

demos/kotlin/kmp_sdk/wsdk/src/commonMain/kotlin/com/gopro/open_gopro/entity/operation/proto/cohn.kt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
/* cohn.kt/Open GoPro, Version 2.0 (C) Copyright 2021 GoPro, Inc. (http://gopro.com/OpenGoPro). */
2-
/* This copyright was auto-generated on Wed May 14 19:24:59 UTC 2025 */
3-
41
@file:OptIn(pbandk.PublicForGeneratedCode::class)
52

63
package com.gopro.open_gopro.operations

demos/kotlin/kmp_sdk/wsdk/src/commonMain/kotlin/com/gopro/open_gopro/entity/operation/proto/live_streaming.kt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
/* live_streaming.kt/Open GoPro, Version 2.0 (C) Copyright 2021 GoPro, Inc. (http://gopro.com/OpenGoPro). */
2-
/* This copyright was auto-generated on Wed May 14 19:24:59 UTC 2025 */
3-
41
@file:OptIn(pbandk.PublicForGeneratedCode::class)
52

63
package com.gopro.open_gopro.operations

demos/kotlin/kmp_sdk/wsdk/src/commonMain/kotlin/com/gopro/open_gopro/entity/operation/proto/media.kt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
/* media.kt/Open GoPro, Version 2.0 (C) Copyright 2021 GoPro, Inc. (http://gopro.com/OpenGoPro). */
2-
/* This copyright was auto-generated on Wed May 14 19:24:59 UTC 2025 */
3-
41
@file:OptIn(pbandk.PublicForGeneratedCode::class)
52

63
package com.gopro.open_gopro.operations

demos/kotlin/kmp_sdk/wsdk/src/commonMain/kotlin/com/gopro/open_gopro/entity/operation/proto/network_management.kt

Lines changed: 118 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
/* network_management.kt/Open GoPro, Version 2.0 (C) Copyright 2021 GoPro, Inc. (http://gopro.com/OpenGoPro). */
2-
/* This copyright was auto-generated on Wed May 14 19:24:59 UTC 2025 */
3-
41
@file:OptIn(pbandk.PublicForGeneratedCode::class)
52

63
package com.gopro.open_gopro.operations
@@ -167,6 +164,39 @@ internal sealed class EnumScanEntryFlags(
167164
}
168165
}
169166

167+
@pbandk.Export
168+
internal sealed class EnumPairingFinishState(
169+
override val value: Int,
170+
override val name: String? = null
171+
) : pbandk.Message.Enum {
172+
override fun equals(other: kotlin.Any?): Boolean =
173+
other is com.gopro.open_gopro.operations.EnumPairingFinishState && other.value == value
174+
175+
override fun hashCode(): Int = value.hashCode()
176+
177+
override fun toString(): String = "EnumPairingFinishState.${name ?: "UNRECOGNIZED"}(value=$value)"
178+
179+
internal object SUCCESS : EnumPairingFinishState(0, "SUCCESS")
180+
181+
internal object FAILED : EnumPairingFinishState(1, "FAILED")
182+
183+
internal class UNRECOGNIZED(value: Int) : EnumPairingFinishState(value)
184+
185+
internal companion object :
186+
pbandk.Message.Enum.Companion<com.gopro.open_gopro.operations.EnumPairingFinishState> {
187+
internal val values: List<com.gopro.open_gopro.operations.EnumPairingFinishState> by lazy {
188+
listOf(SUCCESS, FAILED)
189+
}
190+
191+
override fun fromValue(value: Int): com.gopro.open_gopro.operations.EnumPairingFinishState =
192+
values.firstOrNull { it.value == value } ?: UNRECOGNIZED(value)
193+
194+
override fun fromName(name: String): com.gopro.open_gopro.operations.EnumPairingFinishState =
195+
values.firstOrNull { it.name == name }
196+
?: throw IllegalArgumentException("No EnumPairingFinishState with name: $name")
197+
}
198+
}
199+
170200
@pbandk.Export
171201
internal data class NotifProvisioningState(
172202
val provisioningState: com.gopro.open_gopro.operations.EnumProvisioning,
@@ -915,6 +945,62 @@ internal data class ResponseStartScanning(
915945
}
916946
}
917947

948+
@pbandk.Export
949+
internal data class RequestPairingFinish(
950+
val result: com.gopro.open_gopro.operations.EnumPairingFinishState,
951+
val phoneName: String,
952+
override val unknownFields: Map<Int, pbandk.UnknownField> = emptyMap()
953+
) : pbandk.Message {
954+
override operator fun plus(
955+
other: pbandk.Message?
956+
): com.gopro.open_gopro.operations.RequestPairingFinish = protoMergeImpl(other)
957+
958+
override val descriptor:
959+
pbandk.MessageDescriptor<com.gopro.open_gopro.operations.RequestPairingFinish>
960+
get() = Companion.descriptor
961+
962+
override val protoSize: Int by lazy { super.protoSize }
963+
964+
internal companion object :
965+
pbandk.Message.Companion<com.gopro.open_gopro.operations.RequestPairingFinish> {
966+
override fun decodeWith(
967+
u: pbandk.MessageDecoder
968+
): com.gopro.open_gopro.operations.RequestPairingFinish =
969+
com.gopro.open_gopro.operations.RequestPairingFinish.decodeWithImpl(u)
970+
971+
override val descriptor:
972+
pbandk.MessageDescriptor<com.gopro.open_gopro.operations.RequestPairingFinish> =
973+
pbandk.MessageDescriptor(
974+
fullName = "open_gopro.RequestPairingFinish",
975+
messageClass = com.gopro.open_gopro.operations.RequestPairingFinish::class,
976+
messageCompanion = this,
977+
fields =
978+
buildList(2) {
979+
add(
980+
pbandk.FieldDescriptor(
981+
messageDescriptor = this@Companion::descriptor,
982+
name = "result",
983+
number = 1,
984+
type =
985+
pbandk.FieldDescriptor.Type.Enum(
986+
enumCompanion =
987+
com.gopro.open_gopro.operations.EnumPairingFinishState
988+
.Companion,
989+
hasPresence = true),
990+
jsonName = "result",
991+
value = com.gopro.open_gopro.operations.RequestPairingFinish::result))
992+
add(
993+
pbandk.FieldDescriptor(
994+
messageDescriptor = this@Companion::descriptor,
995+
name = "phoneName",
996+
number = 2,
997+
type = pbandk.FieldDescriptor.Type.Primitive.String(hasPresence = true),
998+
jsonName = "phoneName",
999+
value = com.gopro.open_gopro.operations.RequestPairingFinish::phoneName))
1000+
})
1001+
}
1002+
}
1003+
9181004
private fun NotifProvisioningState.protoMergeImpl(plus: pbandk.Message?): NotifProvisioningState =
9191005
(plus as? NotifProvisioningState)?.let {
9201006
it.copy(unknownFields = unknownFields + plus.unknownFields)
@@ -1303,3 +1389,32 @@ private fun ResponseStartScanning.Companion.decodeWithImpl(
13031389
}
13041390
return ResponseStartScanning(result!!, scanningState!!, unknownFields)
13051391
}
1392+
1393+
private fun RequestPairingFinish.protoMergeImpl(plus: pbandk.Message?): RequestPairingFinish =
1394+
(plus as? RequestPairingFinish)?.let {
1395+
it.copy(unknownFields = unknownFields + plus.unknownFields)
1396+
} ?: this
1397+
1398+
@Suppress("UNCHECKED_CAST")
1399+
private fun RequestPairingFinish.Companion.decodeWithImpl(
1400+
u: pbandk.MessageDecoder
1401+
): RequestPairingFinish {
1402+
var result: com.gopro.open_gopro.operations.EnumPairingFinishState? = null
1403+
var phoneName: String? = null
1404+
1405+
val unknownFields =
1406+
u.readMessage(this) { _fieldNumber, _fieldValue ->
1407+
when (_fieldNumber) {
1408+
1 -> result = _fieldValue as com.gopro.open_gopro.operations.EnumPairingFinishState
1409+
2 -> phoneName = _fieldValue as String
1410+
}
1411+
}
1412+
1413+
if (result == null) {
1414+
throw pbandk.InvalidProtocolBufferException.missingRequiredField("result")
1415+
}
1416+
if (phoneName == null) {
1417+
throw pbandk.InvalidProtocolBufferException.missingRequiredField("phoneName")
1418+
}
1419+
return RequestPairingFinish(result!!, phoneName!!, unknownFields)
1420+
}

demos/kotlin/kmp_sdk/wsdk/src/commonMain/kotlin/com/gopro/open_gopro/entity/operation/proto/preset_status.kt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
/* preset_status.kt/Open GoPro, Version 2.0 (C) Copyright 2021 GoPro, Inc. (http://gopro.com/OpenGoPro). */
2-
/* This copyright was auto-generated on Wed May 14 19:24:59 UTC 2025 */
3-
41
@file:OptIn(pbandk.PublicForGeneratedCode::class)
52

63
package com.gopro.open_gopro.operations

demos/kotlin/kmp_sdk/wsdk/src/commonMain/kotlin/com/gopro/open_gopro/entity/operation/proto/request_get_preset_status.kt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
/* request_get_preset_status.kt/Open GoPro, Version 2.0 (C) Copyright 2021 GoPro, Inc. (http://gopro.com/OpenGoPro). */
2-
/* This copyright was auto-generated on Wed May 14 19:24:59 UTC 2025 */
3-
41
@file:OptIn(pbandk.PublicForGeneratedCode::class)
52

63
package com.gopro.open_gopro.operations

demos/kotlin/kmp_sdk/wsdk/src/commonMain/kotlin/com/gopro/open_gopro/entity/operation/proto/response_generic.kt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
/* response_generic.kt/Open GoPro, Version 2.0 (C) Copyright 2021 GoPro, Inc. (http://gopro.com/OpenGoPro). */
2-
/* This copyright was auto-generated on Wed May 14 19:24:59 UTC 2025 */
3-
41
@file:OptIn(pbandk.PublicForGeneratedCode::class)
52

63
package com.gopro.open_gopro.operations

demos/kotlin/kmp_sdk/wsdk/src/commonMain/kotlin/com/gopro/open_gopro/entity/operation/proto/set_camera_control_status.kt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
/* set_camera_control_status.kt/Open GoPro, Version 2.0 (C) Copyright 2021 GoPro, Inc. (http://gopro.com/OpenGoPro). */
2-
/* This copyright was auto-generated on Wed May 14 19:24:59 UTC 2025 */
3-
41
@file:OptIn(pbandk.PublicForGeneratedCode::class)
52

63
package com.gopro.open_gopro.operations

demos/kotlin/kmp_sdk/wsdk/src/commonMain/kotlin/com/gopro/open_gopro/entity/operation/proto/turbo_transfer.kt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
/* turbo_transfer.kt/Open GoPro, Version 2.0 (C) Copyright 2021 GoPro, Inc. (http://gopro.com/OpenGoPro). */
2-
/* This copyright was auto-generated on Wed May 14 19:24:59 UTC 2025 */
3-
41
@file:OptIn(pbandk.PublicForGeneratedCode::class)
52

63
package com.gopro.open_gopro.operations

0 commit comments

Comments
 (0)