|
@@ -6,6 +6,7 @@
|
|
*/
|
|
*/
|
|
package com.nextcloud.talk.conversationinfo.viewmodel
|
|
package com.nextcloud.talk.conversationinfo.viewmodel
|
|
|
|
|
|
|
|
+import android.annotation.SuppressLint
|
|
import android.util.Log
|
|
import android.util.Log
|
|
import androidx.lifecycle.DefaultLifecycleObserver
|
|
import androidx.lifecycle.DefaultLifecycleObserver
|
|
import androidx.lifecycle.LifecycleOwner
|
|
import androidx.lifecycle.LifecycleOwner
|
|
@@ -103,6 +104,10 @@ class ConversationInfoViewModel @Inject constructor(
|
|
val allowGuestsViewState: LiveData<AllowGuestsUIState>
|
|
val allowGuestsViewState: LiveData<AllowGuestsUIState>
|
|
get() = _allowGuestsViewState
|
|
get() = _allowGuestsViewState
|
|
|
|
|
|
|
|
+ private val _passwordViewState = MutableLiveData<PasswordUiState>(PasswordUiState.None)
|
|
|
|
+ val passwordViewState: LiveData<PasswordUiState>
|
|
|
|
+ get() = _passwordViewState
|
|
|
|
+
|
|
private val _getCapabilitiesViewState: MutableLiveData<ViewState> = MutableLiveData(GetCapabilitiesStartState)
|
|
private val _getCapabilitiesViewState: MutableLiveData<ViewState> = MutableLiveData(GetCapabilitiesStartState)
|
|
val getCapabilitiesViewState: LiveData<ViewState>
|
|
val getCapabilitiesViewState: LiveData<ViewState>
|
|
get() = _getCapabilitiesViewState
|
|
get() = _getCapabilitiesViewState
|
|
@@ -249,7 +254,7 @@ class ConversationInfoViewModel @Inject constructor(
|
|
val statusCode: GenericMeta? = allowGuestsResult.ocs?.meta
|
|
val statusCode: GenericMeta? = allowGuestsResult.ocs?.meta
|
|
val result = (statusCode?.statusCode == STATUS_CODE_OK)
|
|
val result = (statusCode?.statusCode == STATUS_CODE_OK)
|
|
if (result) {
|
|
if (result) {
|
|
- _allowGuestsViewState.value = AllowGuestsUIState.Success(result)
|
|
|
|
|
|
+ _allowGuestsViewState.value = AllowGuestsUIState.Success(allow)
|
|
}
|
|
}
|
|
}catch(exception:Exception){
|
|
}catch(exception:Exception){
|
|
_allowGuestsViewState.value = AllowGuestsUIState.Error(exception.message?: "")
|
|
_allowGuestsViewState.value = AllowGuestsUIState.Error(exception.message?: "")
|
|
@@ -258,6 +263,22 @@ class ConversationInfoViewModel @Inject constructor(
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
|
|
+ fun setPassword(password:String, token:String){
|
|
|
|
+ viewModelScope.launch{
|
|
|
|
+ try{
|
|
|
|
+ val setPasswordResult = conversationsRepository.setPassword(password,token)
|
|
|
|
+ val statusCode: GenericMeta? = setPasswordResult.ocs?.meta
|
|
|
|
+ val result = (statusCode?.statusCode == STATUS_CODE_OK)
|
|
|
|
+ if(result){
|
|
|
|
+ _passwordViewState.value = PasswordUiState.Success(result)
|
|
|
|
+ }
|
|
|
|
+ }catch(exception:Exception){
|
|
|
|
+ _passwordViewState.value = PasswordUiState.Error(exception.message?:"")
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
suspend fun archiveConversation(user: User, token: String) {
|
|
suspend fun archiveConversation(user: User, token: String) {
|
|
val apiVersion = ApiUtils.getConversationApiVersion(user, intArrayOf(ApiUtils.API_V4, ApiUtils.API_V1))
|
|
val apiVersion = ApiUtils.getConversationApiVersion(user, intArrayOf(ApiUtils.API_V4, ApiUtils.API_V1))
|
|
val url = ApiUtils.getUrlForArchive(apiVersion, user.baseUrl, token)
|
|
val url = ApiUtils.getUrlForArchive(apiVersion, user.baseUrl, token)
|
|
@@ -295,7 +316,13 @@ class ConversationInfoViewModel @Inject constructor(
|
|
|
|
|
|
sealed class AllowGuestsUIState {
|
|
sealed class AllowGuestsUIState {
|
|
data object None : AllowGuestsUIState()
|
|
data object None : AllowGuestsUIState()
|
|
- data class Success(val result: Boolean) : AllowGuestsUIState()
|
|
|
|
|
|
+ data class Success(val allow:Boolean) : AllowGuestsUIState()
|
|
data class Error(val message: String) : AllowGuestsUIState()
|
|
data class Error(val message: String) : AllowGuestsUIState()
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ sealed class PasswordUiState{
|
|
|
|
+ data object None:PasswordUiState()
|
|
|
|
+ data class Success(val result:Boolean): PasswordUiState()
|
|
|
|
+ data class Error(val message:String): PasswordUiState()
|
|
|
|
+ }
|
|
}
|
|
}
|