mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-22 01:40:07 +01:00
Add rendering and handling for various disabled input states in CFv2.
This commit is contained in:
@@ -4,11 +4,14 @@ import android.content.Context
|
||||
import androidx.core.util.Consumer
|
||||
import io.reactivex.rxjava3.core.Single
|
||||
import io.reactivex.rxjava3.schedulers.Schedulers
|
||||
import org.signal.core.util.Result
|
||||
import org.signal.core.util.concurrent.SignalExecutors
|
||||
import org.signal.core.util.logging.Log
|
||||
import org.thoughtcrime.securesms.contacts.sync.ContactDiscovery
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
|
||||
import org.thoughtcrime.securesms.groups.GroupChangeBusyException
|
||||
import org.thoughtcrime.securesms.groups.GroupChangeException
|
||||
import org.thoughtcrime.securesms.groups.GroupChangeFailedException
|
||||
import org.thoughtcrime.securesms.groups.GroupId
|
||||
import org.thoughtcrime.securesms.groups.GroupManager
|
||||
import org.thoughtcrime.securesms.groups.ui.GroupChangeFailureReason
|
||||
@@ -77,4 +80,22 @@ class GroupManagementRepository @JvmOverloads constructor(private val context: C
|
||||
}
|
||||
}.subscribeOn(Schedulers.io())
|
||||
}
|
||||
|
||||
fun cancelJoinRequest(groupId: GroupId.V2): Single<Result<Unit, GroupChangeFailureReason>> {
|
||||
return Single.create { emitter ->
|
||||
try {
|
||||
GroupManager.cancelJoinRequest(context, groupId)
|
||||
emitter.onSuccess(Result.success(Unit))
|
||||
} catch (gcfe: GroupChangeFailedException) {
|
||||
Log.i(TAG, "Unable to cancel request", gcfe)
|
||||
emitter.onSuccess(Result.failure(GroupChangeFailureReason.fromException(gcfe)))
|
||||
} catch (ioe: IOException) {
|
||||
Log.i(TAG, "Unable to cancel request", ioe)
|
||||
emitter.onSuccess(Result.failure(GroupChangeFailureReason.fromException(ioe)))
|
||||
} catch (gcbe: GroupChangeBusyException) {
|
||||
Log.i(TAG, "Unable to cancel request", gcbe)
|
||||
emitter.onSuccess(Result.failure(GroupChangeFailureReason.fromException(gcbe)))
|
||||
}
|
||||
}.subscribeOn(Schedulers.io())
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user