Improve group create failure UX.

This commit is contained in:
Cody Henthorne
2025-03-03 12:00:33 -05:00
committed by Greyson Parrelli
parent 94b50f1502
commit b826b10320
2 changed files with 8 additions and 0 deletions

View File

@@ -252,6 +252,8 @@ public class AddGroupDetailsFragment extends LoggingFragment {
default:
throw new IllegalStateException("Unexpected error: " + error.getErrorType().name());
}
create.cancelSpinning();
}
private void toast(@StringRes int toastStringId) {

View File

@@ -7,6 +7,7 @@ import androidx.annotation.Nullable;
import androidx.core.util.Consumer;
import org.signal.core.util.concurrent.SignalExecutors;
import org.signal.core.util.logging.Log;
import org.thoughtcrime.securesms.groups.GroupChangeBusyException;
import org.thoughtcrime.securesms.groups.GroupChangeException;
import org.thoughtcrime.securesms.groups.GroupManager;
@@ -23,6 +24,8 @@ import java.util.Set;
final class AddGroupDetailsRepository {
private static String TAG = Log.tag(AddGroupDetailsRepository.class);
private final Context context;
AddGroupDetailsRepository(@NonNull Context context) {
@@ -58,10 +61,13 @@ final class AddGroupDetailsRepository {
resultConsumer.accept(GroupCreateResult.success(result));
} catch (GroupChangeBusyException e) {
Log.w(TAG, "Unable to create group, group busy", e);
resultConsumer.accept(GroupCreateResult.error(GroupCreateResult.Error.Type.ERROR_BUSY));
} catch (GroupChangeException e) {
Log.w(TAG, "Unable to create group, group change failed", e);
resultConsumer.accept(GroupCreateResult.error(GroupCreateResult.Error.Type.ERROR_FAILED));
} catch (IOException e) {
Log.w(TAG, "Unable to create group, unknown IO", e);
resultConsumer.accept(GroupCreateResult.error(GroupCreateResult.Error.Type.ERROR_IO));
}
});