Задать вопрос
  • Как получить правильные данные с API?

    @arteskin Автор вопроса
    Валерий Чмых, нет, даже через поисковую строку возвращает не то что нужно
  • Как получить правильные данные с API?

    @arteskin Автор вопроса
    Параметры я упустил в примере, чтобы сообщение не выходило слишком большим. Всё делаю точь в точь как в блоге, однако всегда возвращается статус 3 и соответственно нет записи звонка. Остаётся лишь вопрос с использованием postback. Но благодарю за помощь
  • Как получить правильные данные с API?

    @arteskin Автор вопроса
    Aлександр, Список всех методов? Это и есть все. Есть ещё парочка, но они не относятся к делу.
    При добавлении звонка возвращается {"call_id":"O4D3D1641410988AF61B3FE7C","status":"success"}, но когда вбиваешь call_id в запрос статуса, он всегда возвращает ответ со статусом 3 (недозвон) {"status":"3","duration":null,"attempt":"1","phone":"70958294653","completion_flag":"1","record_url":""}, хотя должен выдавать разные статусы. Cоответственно записи звонка тоже нет. Здесь вроде нет где ошибиться, но в то же время что-то происходит не так
  • Как использовать Paging3 при чистой архитектуре?

    @arteskin Автор вопроса
    Мои параметры специфические для данного API, так как они являются частью пути get запроса и если я, допустим, захочу сменить API, то мне нужно будет передавать уже другие параметры. Мне кажется не лучшая идея передавать их в domain слое.
  • Как переделать код, чтобы в state попадали правильные значения?

    @arteskin Автор вопроса
    В реальности из репозитория поступают категории фильмов, которые нужно положить в state и далее отобразить в UI
    override fun getMovies(page: Int): Flow<Resource<List<Movie>>> = flow {
            try {
                val nowPlayingMovies = api.getMovies(HttpRoutes.NOW_PLAYING, page).results.map {
                    it.toMovie()
                }
                val popularMovies = api.getMovies(HttpRoutes.POPULAR, page).results.map {
                    it.toMovie()
                }
                val movies = listOf(nowPlayingMovies, popularMovies, )
                movies.forEach {
                    emit(Resource.Success(it))
                }
            } catch (e: HttpException) {
                emit(Resource.Error<List<Movie>>(context.getString(R.string.sth_wrong)))
            } catch (e: IOException) {
                emit(Resource.Error<List<Movie>>(context.getString(R.string.check_connection)))
            }
        }


    private fun getMovies() {
            moviesUseCases.getMoviesUseCase().onEach { result ->
                when (result) {
                    is Resource.Success -> {
                        _state.value = MainScreenState(
                            nowPlayingMovies = result.data?.shuffled() ?: emptyList(),
                            popularMovies = result.data?.shuffled() ?: emptyList(),
                            topRatedMovies = result.data?.shuffled() ?: emptyList(),
                            upcomingMovies = result.data?.shuffled() ?: emptyList(),
                            isLoading = false
                        )
                    }
                    is Resource.Error -> {
                        _state.value = MainScreenState(
                            error = result.message ?: "An unexpected error occurred"
                        )
                    }
                    is Resource.Loading -> {
                        _state.value = MainScreenState(isLoading = true)
                    }
                }
            }.launchIn(viewModelScope)
        }
  • Как реализовать вход в андроид приложение с авторизацией?

    @arteskin Автор вопроса
    Прошу прощения, не уточнил. Вопрос был немного не в этом. Вопрос в том как реализовать это с точки зрения активити/фрагментов. Сначала была идея создать пустое активити, лаунчер с темой Theme.NoDisplay и если залогинен - перекидывать на основную активити, а если нет - то на активити авторизации. Но потом выяснилось, что приложение должно быть SingleActivity