Skip to content

Commit d1e604b

Browse files
authored
5GMS Consumption reporting: Add support in common Android library (#19)
* Add types for ConsumptionReporting
1 parent 2588227 commit d1e604b

File tree

4 files changed

+26
-5
lines changed

4 files changed

+26
-5
lines changed

app/src/main/java/com/fivegmag/a5gmscommonlibrary/helpers/Constants.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ object SessionHandlerMessageTypes {
3737
const val UPDATE_LOOKUP_TABLE = 8
3838
const val SET_M5_ENDPOINT = 9
3939
const val START_PLAYBACK_BY_SERVICE_LIST_ENTRY_MESSAGE = 10
40+
const val CONSUMPTION_REPORTING_MESSAGE = 11
4041
}
4142

4243
object SessionHandlerEvents {

app/src/main/java/com/fivegmag/a5gmscommonlibrary/models/ConsumptionReporting.kt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,22 @@ https://drive.google.com/file/d/1cinCiA778IErENZ3JN52VFW-1ffHpx7Z/view
99

1010
package com.fivegmag.a5gmscommonlibrary.models
1111

12+
import android.os.Parcelable
13+
import kotlinx.parcelize.Parcelize
14+
15+
@Parcelize
1216
data class ConsumptionReporting(
1317
val mediaPlayerEntry: String,
1418
val reportingClientId: String,
1519
val consumptionReportingUnits: Array<ConsumptionReportingUnit>
16-
)
20+
) : Parcelable
1721

22+
@Parcelize
1823
data class ConsumptionReportingUnit(
1924
val mediaConsumed: String,
2025
val mediaEndpointAddress: EndpointAddress? = null,
2126
val startTime: String,
2227
val duration : Int,
2328
val locations: Array<TypedLocation>? = null
24-
)
29+
) : Parcelable
2530

app/src/main/java/com/fivegmag/a5gmscommonlibrary/models/ServiceAccessInformation.kt

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,20 @@ import kotlinx.parcelize.Parcelize
1616
data class ServiceAccessInformation(
1717
val provisioningSessionId : String,
1818
val provisioningSessionType: String?,
19-
val streamingAccess: StreamingAccess
19+
val streamingAccess: StreamingAccess,
20+
var clientConsumptionReportingConfiguration: ClientConsumptionReportingConfiguration
2021
) : Parcelable
2122

2223
@Parcelize
2324
data class StreamingAccess(
2425
val entryPoints: ArrayList<EntryPoint>?
2526
) : Parcelable
27+
28+
@Parcelize
29+
data class ClientConsumptionReportingConfiguration(
30+
val serverAddresses : Array<String>,
31+
val locationReporting: Boolean,
32+
val samplePercentage: Float,
33+
val reportingInterval: UInt,
34+
val accessReporting: Boolean
35+
) : Parcelable

app/src/main/java/com/fivegmag/a5gmscommonlibrary/models/SharedDataTypes.kt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,18 @@ https://drive.google.com/file/d/1cinCiA778IErENZ3JN52VFW-1ffHpx7Z/view
99

1010
package com.fivegmag.a5gmscommonlibrary.models
1111

12+
import android.os.Parcelable
13+
import kotlinx.parcelize.Parcelize
14+
15+
@Parcelize
1216
data class TypedLocation(
1317
val locationIdentifierType: String,
1418
val location: String
15-
)
19+
) : Parcelable
1620

21+
@Parcelize
1722
data class EndpointAddress(
1823
val ipv4Addr: String? = null,
1924
val ipv6Addr: String? = null,
2025
val portNumber: UInt
21-
)
26+
) : Parcelable

0 commit comments

Comments
 (0)