беспокоит только конкатенация строк
кидает исключение в бизнес-логике
Single<String>
или Single<Exception>
? Это же дичь. Сделай так: репозиторий пускай возвращает Single<Result>
.sealed class Result {
data class Success(result: String): Result()
data class Error(exception: Exception): Result()
}