diff --git a/docs/android-core/local-user/events.mdx b/docs/android-core/local-user/events.mdx
index 43dcf0206..3261d799a 100644
--- a/docs/android-core/local-user/events.mdx
+++ b/docs/android-core/local-user/events.mdx
@@ -19,10 +19,13 @@ You can subscribe to various events on the local user by implementing `DyteSelfE
Triggered when the user starts/stops the video using `enableVideo()` or
`disableVideo()`.
+
+
+
```kotlin
meeting.addSelfEventsListener(object : DyteSelfEventsListener {
- override fun onVideoUpdate(videoEnabled: Boolean) {
- if (videoEnabled) {
+ override fun onVideoUpdate(isEnabled: Boolean) {
+ if (isEnabled) {
// video is enabled, and other participants in room can see local user
} else {
// video is disabled, and other participants in room can not see local user.
@@ -31,15 +34,38 @@ meeting.addSelfEventsListener(object : DyteSelfEventsListener {
})
```
+
+
+
+
+```java
+meeting.addSelfEventsListener(new DyteSelfEventsListener() {
+ @Override
+ public void onVideoUpdate(boolean isEnabled) {
+ if (isEnabled) {
+ // video is enabled, and other participants in room can see local user
+ } else {
+ // video is disabled, and other participants in room can not see local user.
+ }
+ }
+});
+```
+
+
+
+
### Audio update
Triggered when the user starts/stops the audio using `enableAudio()` or
`disableAudio()`.
+
+
+
```kotlin
meeting.addSelfEventsListener(object : DyteSelfEventsListener {
- override fun onAudioUpdate(audioEnabled: Boolean) {
- if (audioEnabled) {
+ override fun onAudioUpdate(isEnabled: Boolean) {
+ if (isEnabled) {
// audio is enabled, and other participants in room can hear local user
} else {
// audio is disabled, and other participants in room can not hear local user.
@@ -48,89 +74,172 @@ meeting.addSelfEventsListener(object : DyteSelfEventsListener {
})
```
-### Proximity changed
-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.
+
-```kotlin
-meeting.addSelfEventsListener(object : DyteSelfEventsListener {
- override fun onProximityChanged(isNear: Boolean) {
- // if `isNear` is true, display should be turned off, as user might be speaking through earpiece
- // if false, display should be turned on, as user might be looking at display and listening through speaker/earphones.
+
+
+```java
+meeting.addSelfEventsListener(new DyteSelfEventsListener() {
+ override fun onAudioUpdate(boolean isEnabled) {
+ if (isEnabled) {
+ // audio is enabled, and other participants in room can hear local user
+ } else {
+ // audio is disabled, and other participants in room can not hear local user.
+ }
}
-})
+});
```
+
+
+
+
### Waitlist status
For meetings whose waiting room is enabled:
To get status of localUser in waiting room we can use
+
+
+
```kotlin
val waitListStatus = meeting.localUser.waitListStatus
```
+
+
+
+
+```java
+WaitListStatus waitListStatus = meeting.localUser.getWaitListStatus();
+```
+
+
+
+
+
You can listen to those changes in `onWaitListStatusUpdate()` callbacks
+
+
+
```kotlin
meeting.addSelfEventsListener(object : DyteSelfEventsListener {
override fun onWaitListStatusUpdate(waitListStatus: WaitListStatus) {
// handle waitlist status here
}
-});
+})
```
-### Process message within a room
+
-Manage messages among participants within a room.
+
-```kotlin
-meeting.addSelfEventsListener(object : DyteSelfEventsListener {
- override fun onRoomMessage(type: String, payload: Map) {
- // handle the message here
+```java
+meeting.addSelfEventsListener(new DyteSelfEventsListener() {
+ @Override
+ public void onWaitListStatusUpdate(WaitListStatus waitListStatus) {
+ // handle waitlist status here
}
});
```
+
+
+
### Screenshare callbacks for local user
+
+
+
```kotlin
meeting.addSelfEventsListener(object : DyteSelfEventsListener {
override fun onScreenShareStartFailed(reason: String) {
- // screenshare failed to start
}
- override fun onScreenShareStarted() {
- // screenshare started presenting in the meeting
+ override fun onScreenShareUpdate(isEnabled: Boolean) {
}
+})
+```
+
+
+
+
- override fun onScreenShareStopped() {
- // screenshared stopped by the local user
+```java
+meeting.addSelfEventsListener(new DyteSelfEventsListener() {
+ @Override
+ public void onScreenShareStartFailed(@NonNull String reason) {
+ }
+
+ @Override
+ public void onScreenShareUpdate(boolean isEnabled) {
}
});
```
+
+
+
### Device permission callbacks once local user is joined in the meeting
+
+
+
```kotlin
meeting.addSelfEventsListener(object : DyteSelfEventsListener {
override fun onMeetingRoomJoinedWithoutCameraPermission() {
- // local user joined without camera permission
}
override fun onMeetingRoomJoinedWithoutMicPermission() {
- // local user joined without microphone permission
+ }
+})
+```
+
+
+
+
+
+```kotlin
+meeting.addSelfEventsListener(new DyteSelfEventsListener() {
+ @Override
+ public void onMeetingRoomJoinedWithoutCameraPermission() {
+ }
+
+ @Override
+ public void onMeetingRoomJoinedWithoutMicPermission() {
}
});
```
+
+
+
### When local user is kicked out from the meeting by a remote user
+
+
+
```kotlin
meeting.addSelfEventsListener(object : DyteSelfEventsListener {
override fun onRemovedFromMeeting() {
- // removed from meeting
- }
+ }
});
```
+
+
+
+
+
+```java
+meeting.addSelfEventsListener(new DyteSelfEventsListener() {
+ @Override
+ public void onRemovedFromMeeting() {
+ }
+})
+```
+
+
+
diff --git a/docs/android-core/local-user/introduction.mdx b/docs/android-core/local-user/introduction.mdx
index 5876df349..7463daa0a 100644
--- a/docs/android-core/local-user/introduction.mdx
+++ b/docs/android-core/local-user/introduction.mdx
@@ -21,20 +21,18 @@ Here is a list of properties that local user provides:
- `id`: ID of the local user participant.
- `name`: Name of the local user.
- `picture`: Picture URL of the local user.
-- `clientSpecificId`: Unique participant ID.
+- `customParticipantId`: Unique participant ID.
- `permissions`: Permissions related to various capabilities within a meeting context for the local user.
-- `videoTrack`: Video track associated with the local user.
-- `screenShareTrack`: Video track used for screen sharing by the local user.
- `audioEnabled`: A boolean value that shows whether the audio is currently enabled for the local user.
- `videoEnabled`: A boolean value that shows whether the video is currently enabled for the local user.
- `screenshareEnabled`: A boolean value that shows whether the screenshare is currently enabled for the local user.
-- `presetName`: A strign value representing name of preset for local user. You can find this preset on Dyte Developer Portal
+- `presetName`: A string value representing name of preset for local user. You can find this preset on Dyte Developer Portal
+- `presetInfo` : A typed object representing the preset information for local user.
- `roomJoined`: A boolean value representing if local user has joined the room or not.
- `isCameraPermissionGranted`: A boolean value representing if local user has access to device Camera permission.
- `isMicrophonePermissionGranted`: A boolean value representing if local user has access to device Microphone permission.
- `waitListStatus`: Waitlist Status of the local user. It can have four values. None, Waiting, Accepted & Rejected.
-
## Change default audio/video settings
When local user joins the meeting, the SDK will automatically enable local user's video and audio streams. If you want to change this behavior, use the `audioEnabled` and `videoEnabled` parameters while configuring the meeting.
@@ -54,7 +52,7 @@ val meetingInfo = DyteMeetingInfoV2(
```java {3,4}
-DyteMeetingInfoV2 meetingInfo = DyteMeetingInfoV2(
+DyteMeetingInfoV2 meetingInfo = new DyteMeetingInfoV2(
AUTH_TOKEN,
false,
true,
@@ -120,10 +118,10 @@ Mute/unmute your microphone in the meeting using `disableAudio()` and `enableAud
meeting.localUser.audioEnabled
// Mute Audio
-meeting.localUser.disableAudio()
+meeting.localUser.disableAudio {}
// Unmute Audio
-meeting.localUser.enableAudio()
+meeting.localUser.enableAudio {}
```
@@ -131,13 +129,13 @@ meeting.localUser.enableAudio()
```java
// Get current status
-meeting.localUser.audioEnabled;
+meeting.localUser.getAudioEnabled();
// Mute Audio
-meeting.localUser.disableAudio();
+meeting.localUser.disableAudio(error -> null);
// Unmute Audio
-meeting.localUser.enableAudio();
+meeting.localUser.enableAudio(error -> null);
```
@@ -156,10 +154,10 @@ Enable/disable your camera in the meeting using `disableVideo()` and `enableVide
meeting.localUser.videoEnabled
// Disable Video
-meeting.localUser.disableVideo()
+meeting.localUser.disableVideo {}
// Enable Video
-meeting.localUser.enableVideo()
+meeting.localUser.enableVideo {}
```
@@ -167,13 +165,13 @@ meeting.localUser.enableVideo()
```java
// Get current status
-meeting.localUser.videoEnabled;
+meeting.localUser.getVideoEnabled();
// Disable Video
-meeting.localUser.disableVideo();
+meeting.localUser.disableVideo(error -> null);
// Enable Video
-meeting.localUser.enableVideo();
+meeting.localUser.enableVideo(error -> null);
```
@@ -183,7 +181,7 @@ meeting.localUser.enableVideo();
## Enable / Disable Screen share
:::tip Note
-To use screenshare on Android devices running Android API 14 and above, you will need to declare the following permission in your app's AndroidManifest.xml.
+To use screenshare on Android devices running Android API 14 and above, you will need to declare the following permission in your app's AndroidManifest.xml.
``
@@ -196,13 +194,13 @@ Adding above permission will require you to do extra steps on Google Play Consol
```kotlin
// Get current status
-meeting.localUser.screenshareEnabled
+meeting.localUser.screenShareEnabled
// Enable Screenshare
-meeting.localUser.enableScreenshare()
+meeting.localUser.enableScreenShare()
// Disable Screenshare
-meeting.localUser.disableScreenshare()
+meeting.localUser.disableScreenShare()
```
@@ -210,13 +208,13 @@ meeting.localUser.disableScreenshare()
```java
// Get current status
-meeting.localUser.screenshareEnabled;
+meeting.localUser.getScreenShareEnabled();
// Enable Screenshare
-meeting.localUser.enableScreenshare();
+meeting.localUser.enableScreenShare();
// Disable Screenshare
-meeting.localUser.disableScreenshare();
+meeting.localUser.disableScreenShare();
```
@@ -232,9 +230,9 @@ meeting.localUser.disableScreenshare();
val devices = meeting.localUser.getVideoDevices()
// switch video device
-meeting.localUser.setVideoDevice(videoDevice)
+meeting.localUser.setVideoDevice(devices[0])
-// on devices with only 2 camera's you can use
+// on devices with only 2 cameras you can use
meeting.localUser.switchCamera()
```
@@ -246,7 +244,10 @@ meeting.localUser.switchCamera()
List devices = meeting.localUser.getVideoDevices();
// switch video device
-meeting.localUser.setVideoDevice(videoDevice);
+meeting.localUser.setVideoDevice(devices.get(0));
+
+// on devices with only 2 cameras you can use
+meeting.localUser.switchCamera();
```
@@ -259,10 +260,10 @@ meeting.localUser.setVideoDevice(videoDevice);
```kotlin
// get all available audio devices
-val devices = meeting.localUser.getAudioDevice()
+val devices = meeting.localUser.getAudioDevices()
// switch video device
-meeting.localUser.setAudioDevice(audioDevice)
+meeting.localUser.setAudioDevice(devices[0])
```
@@ -273,7 +274,7 @@ meeting.localUser.setAudioDevice(audioDevice)
List devices = meeting.localUser.getAudioDevices();
// switch video device
-meeting.localUser.setAudioDevice(audioDevice);
+meeting.localUser.setAudioDevice(devices.get(0));
```
diff --git a/docs/android-core/local-user/manage-media-devices.mdx b/docs/android-core/local-user/manage-media-devices.mdx
index 46110031d..1f79dc4e4 100644
--- a/docs/android-core/local-user/manage-media-devices.mdx
+++ b/docs/android-core/local-user/manage-media-devices.mdx
@@ -15,32 +15,78 @@ Media devices represents the hardware for the camera, microphone and speaker
devices. To get the list of media devices that are currently being used, you can
use the following methods:
+
+
+
```kotlin
// Get all audio devices
-val audioDevices: List = meeting.self.getAudioDevices();
+val audioDevices: List = meeting.localUser.getAudioDevices()
+
+// Get all video devices
+val videoDevices: List = meeting.localUser.getVideoDevices()
+```
+
+
+
+
+
+```java
+// Get all audio devices
+List audioDevices = meeting.getLocalUser().getAudioDevices();
// Get all video devices
-val videoDevices: List = meeting.self.getVideoDevices();
+List videoDevices = meeting.getLocalUser().getVideoDevices();
```
+
+
+
## Set audio device
To set a device as an active device, you can call `setAudioDevice` method. This
takes a `DyteAudioDevice` object.
+
+
+
```kotlin
-meeting.self.setAudioDevice(device);
+meeting.localUser.setAudioDevice(device)
```
+
+
+
+
+```kotlin
+meeting.getLocalUser().setAudioDevice(device);
+```
+
+
+
+
## Set video device
To set a video device as an active device, you can call `setVideoDevice` method.
This takes a `DyteVideoDevice` object.
+
+
+
```kotlin
-meeting.self.setVideoDevice(device);
+meeting.localUser.setVideoDevice(device)
```
+
+
+
+
+```kotlin
+meeting.getLocalUser().setVideoDevice(device);
+```
+
+
+
+
Android Core Manage Media Devices
diff --git a/docs/android-core/local-user/manage-permissions.mdx b/docs/android-core/local-user/manage-permissions.mdx
index 652d95b32..0156d08c1 100644
--- a/docs/android-core/local-user/manage-permissions.mdx
+++ b/docs/android-core/local-user/manage-permissions.mdx
@@ -15,6 +15,9 @@ tags:
To get media permissions (audio/video) for localUser we can do as follows
+
+
+
```kotlin
val isCameraPermissionGranted
= meeting.localUser.isCameraPermissionGranted
@@ -22,21 +25,55 @@ val isMicrophonePermissionGranted
= meeting.localUser.isMicrophonePermissionGranted
```
+
+
+
+
+```java
+boolean isCameraPermissionGranted
+ = meeting.localUser.isCameraPermissionGranted();
+boolean isMicrophonePermissionGranted
+ = meeting.localUser.isMicrophonePermissionGranted();
+```
+
+
+
+
Similarly to listen to callbacks regarding media permissions once user joins
the meeting
+
+
+
```kotlin
meeting.addSelfEventsListener(object : DyteSelfEventsListener {
override fun onMeetingRoomJoinedWithoutCameraPermission() {
- // when meeting room is joined without camera permission
}
override fun onMeetingRoomJoinedWithoutMicPermission() {
- // when meeting room is joined without microphone permission
+ }
+})
+```
+
+
+
+
+
+```kotlin
+meeting.addSelfEventsListener(new : DyteSelfEventsListener() {
+ @Override
+ public void onMeetingRoomJoinedWithoutCameraPermission() {
+ }
+
+ @Override
+ public void onMeetingRoomJoinedWithoutMicPermission() {
}
});
```
+
+
+
Android Core Media Permissions