From d6cec7f6b7eadf8a8bae81940d41d8660c26a5b6 Mon Sep 17 00:00:00 2001 From: Marcel Hibbe Date: Mon, 24 Apr 2023 13:23:09 +0200 Subject: [PATCH] Add fun to delete conversation avatar Signed-off-by: Marcel Hibbe --- .../info/ConversationInfoActivity.kt | 39 ++++++++++++++++++- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/conversation/info/ConversationInfoActivity.kt b/app/src/main/java/com/nextcloud/talk/conversation/info/ConversationInfoActivity.kt index 5cbc85d86..e4b9c37a2 100644 --- a/app/src/main/java/com/nextcloud/talk/conversation/info/ConversationInfoActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/conversation/info/ConversationInfoActivity.kt @@ -203,7 +203,7 @@ class ConversationInfoActivity : binding.avatarUpload.setOnClickListener { pickImage.selectLocal() } binding.avatarChoose.setOnClickListener { pickImage.selectRemote() } binding.avatarCamera.setOnClickListener { pickImage.takePicture() } - binding.avatarDelete.setOnClickListener {} + binding.avatarDelete.setOnClickListener { deleteAvatar() } binding.avatarImage.let { ViewCompat.setTransitionName(it, "userAvatar.transitionTag") } } @@ -242,7 +242,7 @@ class ConversationInfoActivity : // upload file ncApi.uploadAvatar( - ApiUtils.getCredentials(conversationUser.username, conversationUser.token), + credentials, ApiUtils.getUrlForConversationAvatar(1, conversationUser.baseUrl, conversation!!.token), filePart ) @@ -272,6 +272,41 @@ class ConversationInfoActivity : }) } + private fun deleteAvatar() { + ncApi.deleteAvatar( + credentials, + ApiUtils.getUrlForConversationAvatar(1, conversationUser.baseUrl, conversationToken) + ) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(object : Observer { + override fun onSubscribe(d: Disposable) { + // unused atm + } + + override fun onNext(genericOverall: GenericOverall) { + DisplayUtils.loadAvatarImage( + conversationUser, + binding.avatarImage, + true + ) + } + + override fun onError(e: Throwable) { + Toast.makeText( + applicationContext, + context.getString(R.string.default_error_msg), + Toast.LENGTH_LONG + ).show() + Log.e(TAG, "Failed to delete avatar", e) + } + + override fun onComplete() { + // unused atm + } + }) + } + private fun setupActionBar() { setSupportActionBar(binding.conversationInfoToolbar) binding.conversationInfoToolbar.setNavigationOnClickListener {