1 /*
2 * Copyright 2024 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17 package androidx.core.telecom.test
18
19 import androidx.core.telecom.extensions.Participant
20 import androidx.core.telecom.util.ExperimentalAppActions
21
22 /** The state of one participant in a call */
23 data class ParticipantState(
24 val id: String,
25 val name: String,
26 val isActive: Boolean,
27 val isHandRaised: Boolean,
28 val isSelf: Boolean
29 )
30
31 /** Control callback handler for adding/removing new participants in the Call via UI */
32 data class ParticipantControl(
33 val onParticipantAdded: () -> Unit,
34 val onParticipantRemoved: () -> Unit
35 )
36
37 @OptIn(ExperimentalAppActions::class)
toParticipantnull38 fun ParticipantState.toParticipant(): Participant {
39 return Participant(id, name)
40 }
41