@@ -19,10 +19,13 @@ You can subscribe to various events on the local user by implementing `DyteSelfE
19
19
Triggered when the user starts/stops the video using ` enableVideo() ` or
20
20
` disableVideo() ` .
21
21
22
+ <Tabs groupId = " android-core-local-user" >
23
+ <TabItem value = " kotlin" label = " Kotlin" default >
24
+
22
25
``` kotlin
23
26
meeting.addSelfEventsListener(object : DyteSelfEventsListener {
24
- override fun onVideoUpdate (videoEnabled : Boolean ) {
25
- if (videoEnabled ) {
27
+ override fun onVideoUpdate (isEnabled : Boolean ) {
28
+ if (isEnabled ) {
26
29
// video is enabled, and other participants in room can see local user
27
30
} else {
28
31
// video is disabled, and other participants in room can not see local user.
@@ -31,15 +34,38 @@ meeting.addSelfEventsListener(object : DyteSelfEventsListener {
31
34
})
32
35
```
33
36
37
+ </TabItem >
38
+
39
+ <TabItem value = " java" label = " Java" default >
40
+
41
+ ``` java
42
+ meeting. addSelfEventsListener(new DyteSelfEventsListener () {
43
+ @Override
44
+ public void onVideoUpdate (boolean isEnabled ) {
45
+ if (isEnabled) {
46
+ // video is enabled, and other participants in room can see local user
47
+ } else {
48
+ // video is disabled, and other participants in room can not see local user.
49
+ }
50
+ }
51
+ });
52
+ ```
53
+
54
+ </TabItem >
55
+ </Tabs >
56
+
34
57
### Audio update
35
58
36
59
Triggered when the user starts/stops the audio using ` enableAudio() ` or
37
60
` disableAudio() ` .
38
61
62
+ <Tabs groupId = " android-core-local-user" >
63
+ <TabItem value = " kotlin" label = " Kotlin" default >
64
+
39
65
``` kotlin
40
66
meeting.addSelfEventsListener(object : DyteSelfEventsListener {
41
- override fun onAudioUpdate (audioEnabled : Boolean ) {
42
- if (audioEnabled ) {
67
+ override fun onAudioUpdate (isEnabled : Boolean ) {
68
+ if (isEnabled ) {
43
69
// audio is enabled, and other participants in room can hear local user
44
70
} else {
45
71
// audio is disabled, and other participants in room can not hear local user.
@@ -48,89 +74,172 @@ meeting.addSelfEventsListener(object : DyteSelfEventsListener {
48
74
})
49
75
```
50
76
51
- ### Proximity changed
52
77
53
- Triggered whenever there is a change in proximity, indicating if the device is near an earpiece, which subsequently causes the display to turn on or off.
78
+ </ TabItem >
54
79
55
- ``` kotlin
56
- meeting.addSelfEventsListener(object : DyteSelfEventsListener {
57
- override fun onProximityChanged (isNear : Boolean ) {
58
- // if `isNear` is true, display should be turned off, as user might be speaking through earpiece
59
- // if false, display should be turned on, as user might be looking at display and listening through speaker/earphones.
80
+ <TabItem value = " java" label = " Java" default >
81
+
82
+ ``` java
83
+ meeting. addSelfEventsListener(new DyteSelfEventsListener () {
84
+ override fun onAudioUpdate (boolean isEnabled ) {
85
+ if (isEnabled) {
86
+ // audio is enabled, and other participants in room can hear local user
87
+ } else {
88
+ // audio is disabled, and other participants in room can not hear local user.
89
+ }
60
90
}
61
- })
91
+ });
62
92
```
63
93
94
+
95
+ </TabItem >
96
+ </Tabs >
97
+
64
98
### Waitlist status
65
99
66
100
For meetings whose waiting room is enabled:
67
101
68
102
To get status of localUser in waiting room we can use
69
103
104
+ <Tabs groupId = " android-core-local-user" >
105
+ <TabItem value = " kotlin" label = " Kotlin" default >
106
+
70
107
``` kotlin
71
108
val waitListStatus = meeting.localUser.waitListStatus
72
109
```
73
110
111
+ </TabItem >
112
+
113
+ <TabItem value = " java" label = " Java" default >
114
+
115
+ ``` java
116
+ WaitListStatus waitListStatus = meeting. localUser. getWaitListStatus();
117
+ ```
118
+
119
+ </TabItem >
120
+ </Tabs >
121
+
122
+
74
123
You can listen to those changes in ` onWaitListStatusUpdate() ` callbacks
75
124
125
+ <Tabs groupId = " android-core-local-user" >
126
+ <TabItem value = " kotlin" label = " Kotlin" default >
127
+
76
128
``` kotlin
77
129
meeting.addSelfEventsListener(object : DyteSelfEventsListener {
78
130
override fun onWaitListStatusUpdate (waitListStatus : WaitListStatus ) {
79
131
// handle waitlist status here
80
132
}
81
- });
133
+ })
82
134
```
83
135
84
- ### Process message within a room
136
+ </ TabItem >
85
137
86
- Manage messages among participants within a room.
138
+ < TabItem value = " java " label = " Java " default >
87
139
88
- ``` kotlin
89
- meeting.addSelfEventsListener(object : DyteSelfEventsListener {
90
- override fun onRoomMessage (type : String , payload : Map <String , * >) {
91
- // handle the message here
140
+ ``` java
141
+ meeting. addSelfEventsListener(new DyteSelfEventsListener () {
142
+ @Override
143
+ public void onWaitListStatusUpdate (WaitListStatus waitListStatus ) {
144
+ // handle waitlist status here
92
145
}
93
146
});
94
147
```
95
148
149
+ </TabItem >
150
+ </Tabs >
151
+
96
152
### Screenshare callbacks for local user
97
153
154
+ <Tabs groupId = " android-core-local-user" >
155
+ <TabItem value = " kotlin" label = " Kotlin" default >
156
+
98
157
``` kotlin
99
158
meeting.addSelfEventsListener(object : DyteSelfEventsListener {
100
159
override fun onScreenShareStartFailed (reason : String ) {
101
- // screenshare failed to start
102
160
}
103
161
104
- override fun onScreenShareStarted () {
105
- // screenshare started presenting in the meeting
162
+ override fun onScreenShareUpdate (isEnabled : Boolean ) {
106
163
}
164
+ })
165
+ ```
166
+
167
+ </TabItem >
168
+
169
+ <TabItem value = " java" label = " Java" default >
107
170
108
- override fun onScreenShareStopped () {
109
- // screenshared stopped by the local user
171
+ ``` java
172
+ meeting. addSelfEventsListener(new DyteSelfEventsListener () {
173
+ @Override
174
+ public void onScreenShareStartFailed (@NonNull String reason ) {
175
+ }
176
+
177
+ @Override
178
+ public void onScreenShareUpdate (boolean isEnabled ) {
110
179
}
111
180
});
112
181
```
113
182
183
+ </TabItem >
184
+ </Tabs >
185
+
114
186
### Device permission callbacks once local user is joined in the meeting
115
187
188
+ <Tabs groupId = " android-core-local-user" >
189
+ <TabItem value = " kotlin" label = " Kotlin" default >
190
+
116
191
``` kotlin
117
192
meeting.addSelfEventsListener(object : DyteSelfEventsListener {
118
193
override fun onMeetingRoomJoinedWithoutCameraPermission () {
119
- // local user joined without camera permission
120
194
}
121
195
122
196
override fun onMeetingRoomJoinedWithoutMicPermission () {
123
- // local user joined without microphone permission
197
+ }
198
+ })
199
+ ```
200
+
201
+ </TabItem >
202
+
203
+ <TabItem value = " java" label = " Java" default >
204
+
205
+ ``` kotlin
206
+ meeting.addSelfEventsListener(new DyteSelfEventsListener () {
207
+ @Override
208
+ public void onMeetingRoomJoinedWithoutCameraPermission() {
209
+ }
210
+
211
+ @Override
212
+ public void onMeetingRoomJoinedWithoutMicPermission() {
124
213
}
125
214
});
126
215
```
127
216
217
+ </TabItem >
218
+ </Tabs >
219
+
128
220
### When local user is kicked out from the meeting by a remote user
129
221
222
+ <Tabs groupId = " android-core-local-user" >
223
+ <TabItem value = " kotlin" label = " Kotlin" default >
224
+
130
225
``` kotlin
131
226
meeting.addSelfEventsListener(object : DyteSelfEventsListener {
132
227
override fun onRemovedFromMeeting () {
133
- // removed from meeting
134
- }
228
+ }
135
229
});
136
230
```
231
+
232
+ </TabItem >
233
+
234
+ <TabItem value = " java" label = " Java" default >
235
+
236
+ ``` java
237
+ meeting. addSelfEventsListener(new DyteSelfEventsListener () {
238
+ @Override
239
+ public void onRemovedFromMeeting () {
240
+ }
241
+ })
242
+ ```
243
+
244
+ </TabItem >
245
+ </Tabs >
0 commit comments