diff --git a/app/src/main/java/com/gaurav/avnc/viewmodel/VncViewModel.kt b/app/src/main/java/com/gaurav/avnc/viewmodel/VncViewModel.kt index 7d2c41e..0f3a140 100644 --- a/app/src/main/java/com/gaurav/avnc/viewmodel/VncViewModel.kt +++ b/app/src/main/java/com/gaurav/avnc/viewmodel/VncViewModel.kt @@ -158,6 +158,7 @@ class VncViewModel(app: Application) : BaseViewModel(app), VncClient.Observer { private fun launchConnection() { viewModelScope.launch(Dispatchers.IO) { + client.viewOnlyMode = profile.viewOnly try { @@ -305,7 +306,7 @@ class VncViewModel(app: Application) : BaseViewModel(app), VncClient.Observer { val reason = client.getLastErrorStr() if (reason.isNotBlank()) disconnectReason.postValue("( $reason )") - else if(profile.address.isBlank()) + else if (profile.address.isBlank()) disconnectReason.postValue("( Invalid address )") } } diff --git a/app/src/main/java/com/gaurav/avnc/vnc/VncClient.kt b/app/src/main/java/com/gaurav/avnc/vnc/VncClient.kt index 72859d6..2ee12b1 100644 --- a/app/src/main/java/com/gaurav/avnc/vnc/VncClient.kt +++ b/app/src/main/java/com/gaurav/avnc/vnc/VncClient.kt @@ -99,6 +99,10 @@ class VncClient(private val observer: Observer) { */ var isEncrypted = false; private set + /** + * In 'View-only' mode input to remote server is disabled + */ + var viewOnlyMode = false /** * Initializes VNC connection. @@ -217,7 +221,7 @@ class VncClient(private val observer: Observer) { * events to remote server. */ private inline fun executeSend(block: () -> Unit) { - if (state == State.Connected) + if (state == State.Connected && !viewOnlyMode) block() } diff --git a/app/src/main/res/drawable/ic_visibility.xml b/app/src/main/res/drawable/ic_visibility.xml new file mode 100644 index 0000000..6bca848 --- /dev/null +++ b/app/src/main/res/drawable/ic_visibility.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/layout/server_profile.xml b/app/src/main/res/layout/server_profile.xml index 87efff0..c0523eb 100644 --- a/app/src/main/res/layout/server_profile.xml +++ b/app/src/main/res/layout/server_profile.xml @@ -44,6 +44,7 @@ tools:text="192.168.1.1 | 5901" /> + + \ No newline at end of file