migration to coroutines

Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
This commit is contained in:
sowjanyakch 2024-11-12 16:06:47 +01:00 committed by Marcel Hibbe
parent 91a18e27f9
commit 99d73e15e0
No known key found for this signature in database
GPG Key ID: C793F8B59F43CE7B
2 changed files with 33 additions and 55 deletions

View File

@ -11,7 +11,6 @@ import com.nextcloud.talk.models.json.autocomplete.AutocompleteOverall
import com.nextcloud.talk.models.json.conversations.RoomOverall import com.nextcloud.talk.models.json.conversations.RoomOverall
import com.nextcloud.talk.models.json.generic.GenericOverall import com.nextcloud.talk.models.json.generic.GenericOverall
import com.nextcloud.talk.models.json.participants.AddParticipantOverall import com.nextcloud.talk.models.json.participants.AddParticipantOverall
import io.reactivex.Observable
import okhttp3.MultipartBody import okhttp3.MultipartBody
import okhttp3.RequestBody import okhttp3.RequestBody
import retrofit2.http.Body import retrofit2.http.Body
@ -121,14 +120,14 @@ interface NcApiCoroutines {
suspend fun unarchiveConversation(@Header("Authorization") authorization: String, @Url url: String): GenericOverall suspend fun unarchiveConversation(@Header("Authorization") authorization: String, @Url url: String): GenericOverall
@POST @POST
fun setReadStatusPrivacy( suspend fun setReadStatusPrivacy(
@Header("Authorization") authorization: String, @Header("Authorization") authorization: String?,
@Url url: String, @Url url: String,
@Body body: RequestBody @Body body: RequestBody
): GenericOverall ): GenericOverall
@POST @POST
fun setTypingStatusPrivacy( suspend fun setTypingStatusPrivacy(
@Header("Authorization") authorization: String?, @Header("Authorization") authorization: String?,
@Url url: String, @Url url: String,
@Body body: RequestBody @Body body: RequestBody

View File

@ -49,6 +49,7 @@ import com.nextcloud.talk.R
import com.nextcloud.talk.activities.BaseActivity import com.nextcloud.talk.activities.BaseActivity
import com.nextcloud.talk.activities.MainActivity import com.nextcloud.talk.activities.MainActivity
import com.nextcloud.talk.api.NcApi import com.nextcloud.talk.api.NcApi
import com.nextcloud.talk.api.NcApiCoroutines
import com.nextcloud.talk.application.NextcloudTalkApplication import com.nextcloud.talk.application.NextcloudTalkApplication
import com.nextcloud.talk.application.NextcloudTalkApplication.Companion.setAppTheme import com.nextcloud.talk.application.NextcloudTalkApplication.Companion.setAppTheme
import com.nextcloud.talk.conversationlist.ConversationsListActivity import com.nextcloud.talk.conversationlist.ConversationsListActivity
@ -103,6 +104,9 @@ class SettingsActivity : BaseActivity(), SetPhoneNumberDialogFragment.SetPhoneNu
@Inject @Inject
lateinit var ncApi: NcApi lateinit var ncApi: NcApi
@Inject
lateinit var ncApiCoroutines: NcApiCoroutines
@Inject @Inject
lateinit var userManager: UserManager lateinit var userManager: UserManager
@ -123,6 +127,7 @@ class SettingsActivity : BaseActivity(), SetPhoneNumberDialogFragment.SetPhoneNu
private var profileQueryDisposable: Disposable? = null private var profileQueryDisposable: Disposable? = null
private var dbQueryDisposable: Disposable? = null private var dbQueryDisposable: Disposable? = null
@SuppressLint("StringFormatInvalid")
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
NextcloudTalkApplication.sharedApplication!!.componentApplication.inject(this) NextcloudTalkApplication.sharedApplication!!.componentApplication.inject(this)
@ -260,6 +265,7 @@ class SettingsActivity : BaseActivity(), SetPhoneNumberDialogFragment.SetPhoneNu
setupNotificationPermissionSettings() setupNotificationPermissionSettings()
} }
@SuppressLint("StringFormatInvalid")
@Suppress("LongMethod") @Suppress("LongMethod")
private fun setupNotificationPermissionSettings() { private fun setupNotificationPermissionSettings() {
if (ClosedInterfaceImpl().isGooglePlayServicesAvailable) { if (ClosedInterfaceImpl().isGooglePlayServicesAvailable) {
@ -603,7 +609,7 @@ class SettingsActivity : BaseActivity(), SetPhoneNumberDialogFragment.SetPhoneNu
} }
} }
@SuppressLint("CheckResult") @SuppressLint("CheckResult", "StringFormatInvalid")
private fun removeCurrentAccount() { private fun removeCurrentAccount() {
userManager.scheduleUserForDeletionWithId(currentUser!!.id!!).blockingGet() userManager.scheduleUserForDeletionWithId(currentUser!!.id!!).blockingGet()
val accountRemovalWork = OneTimeWorkRequest.Builder(AccountRemovalWorker::class.java).build() val accountRemovalWork = OneTimeWorkRequest.Builder(AccountRemovalWorker::class.java).build()
@ -1278,31 +1284,17 @@ class SettingsActivity : BaseActivity(), SetPhoneNumberDialogFragment.SetPhoneNu
state = newBoolean state = newBoolean
val booleanValue = if (newBoolean) "0" else "1" val booleanValue = if (newBoolean) "0" else "1"
val json = "{\"key\": \"read_status_privacy\", \"value\" : $booleanValue}" val json = "{\"key\": \"read_status_privacy\", \"value\" : $booleanValue}"
ncApi.setReadStatusPrivacy( try {
ApiUtils.getCredentials(currentUser!!.username, currentUser!!.token), ncApiCoroutines.setReadStatusPrivacy(
ApiUtils.getUrlForUserSettings(currentUser!!.baseUrl!!), ApiUtils.getCredentials(currentUser!!.username, currentUser!!.token),
json.toRequestBody("application/json".toMediaTypeOrNull()) ApiUtils.getUrlForUserSettings(currentUser!!.baseUrl!!),
) json.toRequestBody("application/json".toMediaTypeOrNull())
.subscribeOn(Schedulers.io()) )
.observeOn(AndroidSchedulers.mainThread()) Log.i(TAG, "reading status set")
.subscribe(object : Observer<GenericOverall> { } catch (e: Exception) {
override fun onSubscribe(d: Disposable) { appPreferences.setReadPrivacy(!newBoolean)
// unused atm binding.settingsReadPrivacySwitch.isChecked = !newBoolean
} }
override fun onNext(genericOverall: GenericOverall) {
// unused atm
}
override fun onError(e: Throwable) {
appPreferences.setReadPrivacy(!newBoolean)
binding.settingsReadPrivacySwitch.isChecked = !newBoolean
}
override fun onComplete() {
// unused atm
}
})
} }
} }
} }
@ -1316,32 +1308,19 @@ class SettingsActivity : BaseActivity(), SetPhoneNumberDialogFragment.SetPhoneNu
state = newBoolean state = newBoolean
val booleanValue = if (newBoolean) "0" else "1" val booleanValue = if (newBoolean) "0" else "1"
val json = "{\"key\": \"typing_privacy\", \"value\" : $booleanValue}" val json = "{\"key\": \"typing_privacy\", \"value\" : $booleanValue}"
ncApi.setTypingStatusPrivacy(
ApiUtils.getCredentials(currentUser!!.username, currentUser!!.token),
ApiUtils.getUrlForUserSettings(currentUser!!.baseUrl!!),
json.toRequestBody("application/json".toMediaTypeOrNull())
)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(object : Observer<GenericOverall> {
override fun onSubscribe(d: Disposable) {
// unused atm
}
override fun onNext(genericOverall: GenericOverall) { try {
loadCapabilitiesAndUpdateSettings() ncApiCoroutines.setTypingStatusPrivacy(
Log.i(TAG, "onNext called typing status set") ApiUtils.getCredentials(currentUser!!.username, currentUser!!.token),
} ApiUtils.getUrlForUserSettings(currentUser!!.baseUrl!!),
json.toRequestBody("application/json".toMediaTypeOrNull())
override fun onError(e: Throwable) { )
appPreferences.typingStatus = !newBoolean loadCapabilitiesAndUpdateSettings()
binding.settingsTypingStatusSwitch.isChecked = !newBoolean Log.i(TAG, "typing status set")
} } catch (e: Exception) {
appPreferences.typingStatus = !newBoolean
override fun onComplete() { binding.settingsTypingStatusSwitch.isChecked = !newBoolean
// unused atm }
}
})
} }
} }
} }