diff --git a/application-client/openvidu-android/.gitignore b/application-client/openvidu-android/.gitignore
index aa724b77..226d61ce 100644
--- a/application-client/openvidu-android/.gitignore
+++ b/application-client/openvidu-android/.gitignore
@@ -7,6 +7,7 @@
/.idea/workspace.xml
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
+/.idea/deploymentTargetSelector.xml
.DS_Store
/build
/captures
diff --git a/application-client/openvidu-android/.idea/deploymentTargetSelector.xml b/application-client/openvidu-android/.idea/deploymentTargetSelector.xml
deleted file mode 100644
index bae10838..00000000
--- a/application-client/openvidu-android/.idea/deploymentTargetSelector.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/application-client/openvidu-android/app/src/main/java/io/openvidu/android/MainActivity.kt b/application-client/openvidu-android/app/src/main/java/io/openvidu/android/MainActivity.kt
index 51fa1a97..6e2af8fd 100644
--- a/application-client/openvidu-android/app/src/main/java/io/openvidu/android/MainActivity.kt
+++ b/application-client/openvidu-android/app/src/main/java/io/openvidu/android/MainActivity.kt
@@ -3,45 +3,38 @@ package io.openvidu.android
import android.content.Intent
import android.os.Bundle
import android.view.LayoutInflater
-import android.widget.Button
-import android.widget.EditText
import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity
-import com.google.android.material.floatingactionbutton.FloatingActionButton
+import io.openvidu.android.databinding.ActivityMainBinding
+import io.openvidu.android.databinding.DialogSettingsBinding
class MainActivity : AppCompatActivity() {
- private lateinit var participantField: EditText
- private lateinit var roomField: EditText
- private lateinit var joinButton: Button
+ private lateinit var binding: ActivityMainBinding
- private var applicationServerUrl = "https://192-168-1-136.openvidu-local.dev:6443/"
- private var livekitUrl = "wss://192-168-1-136.openvidu-local.dev:7443/"
+ private var applicationServerUrl = "https://{YOUR-LAN-IP}.openvidu-local.dev:6443/"
+ private var livekitUrl = "wss://{YOUR-LAN-IP}.openvidu-local.dev:7443/"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
- setContentView(R.layout.activity_main)
+ binding = ActivityMainBinding.inflate(layoutInflater)
+ setContentView(binding.root)
- participantField = findViewById(R.id.participantName)
- roomField = findViewById(R.id.roomName)
- joinButton = findViewById(R.id.joinButton)
- val settingsButton = findViewById(R.id.settingsButton)
+ binding.participantName.setText("Participant %d".format((1..100).random()))
- participantField.setText("Participant %d".format((1..100).random()))
-
- joinButton.setOnClickListener {
+ binding.joinButton.setOnClickListener {
navigateToRoomLayoutActivity()
}
- settingsButton.setOnClickListener {
+ binding.settingsButton.setOnClickListener {
showSettingsDialog()
}
}
private fun navigateToRoomLayoutActivity() {
- joinButton.isEnabled = false
+ binding.joinButton.isEnabled = false
- val participantName = participantField.text.toString()
- val roomName = roomField.text.toString()
+ val participantName = binding.participantName.text.toString()
+ val roomName = binding.roomName.text.toString()
if (participantName.isNotEmpty() && roomName.isNotEmpty()) {
val intent = Intent(this, RoomLayoutActivity::class.java)
@@ -52,23 +45,21 @@ class MainActivity : AppCompatActivity() {
startActivity(intent)
}
- joinButton.isEnabled = true
+ binding.joinButton.isEnabled = true
}
private fun showSettingsDialog() {
- val dialogView = LayoutInflater.from(this).inflate(R.layout.dialog_settings, null)
- val serverUrl = dialogView.findViewById(R.id.serverUrl)
- val liveKitUrl = dialogView.findViewById(R.id.livekitUrl)
+ val dialogBinding = DialogSettingsBinding.inflate(LayoutInflater.from(this))
- serverUrl.setText(applicationServerUrl)
- liveKitUrl.setText(livekitUrl)
+ dialogBinding.serverUrl.setText(applicationServerUrl)
+ dialogBinding.livekitUrl.setText(livekitUrl)
val builder = AlertDialog.Builder(this)
builder.setTitle("Configure URLs")
- .setView(dialogView)
+ .setView(dialogBinding.root)
.setPositiveButton("Save") { dialog, _ ->
- applicationServerUrl = serverUrl.text.toString()
- livekitUrl = liveKitUrl.text.toString()
+ applicationServerUrl = dialogBinding.serverUrl.text.toString()
+ livekitUrl = dialogBinding.livekitUrl.text.toString()
dialog.dismiss()
}
.setNegativeButton("Cancel") { dialog, _ ->
diff --git a/application-client/openvidu-android/app/src/main/java/io/openvidu/android/RoomLayoutActivity.kt b/application-client/openvidu-android/app/src/main/java/io/openvidu/android/RoomLayoutActivity.kt
index ab08c0f2..da5ea107 100644
--- a/application-client/openvidu-android/app/src/main/java/io/openvidu/android/RoomLayoutActivity.kt
+++ b/application-client/openvidu-android/app/src/main/java/io/openvidu/android/RoomLayoutActivity.kt
@@ -22,12 +22,14 @@ import io.livekit.android.LiveKit
import io.livekit.android.events.RoomEvent
import io.livekit.android.events.collect
import io.livekit.android.room.Room
-import io.livekit.android.renderer.SurfaceViewRenderer
import io.livekit.android.room.track.VideoTrack
+import io.openvidu.android.databinding.ActivityRoomLayoutBinding
import kotlinx.coroutines.launch
import kotlinx.serialization.Serializable
class RoomLayoutActivity : AppCompatActivity() {
+ private lateinit var binding: ActivityRoomLayoutBinding
+
private lateinit var APPLICATION_SERVER_URL: String
private lateinit var LIVEKIT_URL: String
@@ -42,7 +44,8 @@ class RoomLayoutActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
- setContentView(R.layout.activity_room_layout)
+ binding = ActivityRoomLayoutBinding.inflate(layoutInflater)
+ setContentView(binding.root)
APPLICATION_SERVER_URL = intent.getStringExtra("serverUrl") ?: ""
LIVEKIT_URL = intent.getStringExtra("livekitUrl") ?: ""
@@ -51,7 +54,7 @@ class RoomLayoutActivity : AppCompatActivity() {
room = LiveKit.create(applicationContext)
// Setup the video renderer
- room.initVideoRenderer(findViewById(R.id.renderer))
+ room.initVideoRenderer(binding.renderer)
requestNeededPermissions { connectToRoom() }
}
@@ -101,8 +104,8 @@ class RoomLayoutActivity : AppCompatActivity() {
}
private fun attachVideo(videoTrack: VideoTrack) {
- videoTrack.addRenderer(findViewById(R.id.renderer))
- findViewById(R.id.progress).visibility = View.GONE
+ videoTrack.addRenderer(binding.renderer)
+ binding.progress.visibility = View.GONE
}
private fun onTrackUnsubscribed(event: RoomEvent.TrackUnsubscribed) {
@@ -114,8 +117,8 @@ class RoomLayoutActivity : AppCompatActivity() {
}
private fun detachVideo(videoTrack: VideoTrack) {
- videoTrack.removeRenderer(findViewById(R.id.renderer))
- findViewById(R.id.progress).visibility = View.VISIBLE
+ videoTrack.removeRenderer(binding.renderer)
+ binding.progress.visibility = View.VISIBLE
}
private fun leaveRoom() {