Skip to content

load images by category#288

Open
kdiakonidze wants to merge 24 commits intomainfrom
unsplash-images-api
Open

load images by category#288
kdiakonidze wants to merge 24 commits intomainfrom
unsplash-images-api

Conversation

@kdiakonidze
Copy link
Copy Markdown
Collaborator

added unsplash Api for searching images associated to category

@Nodrex Nodrex requested review from Nodrex, Vazhapp and shalva97 and removed request for Nodrex and shalva97 December 19, 2022 07:28
vectorDrawables {
useSupportLibrary = true
}
buildConfigField("String", "UNSPLASH_ACCESS_KEY", "\"G81G0y0nGVostWCSStr1yTiB6tWUsIWi-ZQYja9td5I\"")
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will it be visible in the request?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, it will

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok

import retrofit2.http.Headers
import retrofit2.http.Query

interface UnsplashApi {
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please pull my changes and let's put Apis together.
I created an image folder under apis folder, pleas put this API there, similarly to Quiz API
image

import javax.inject.Inject


class UnsplashRepo @Inject constructor(private val api: UnsplashApi) {
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please create interface as we do for clean architecture

}

private fun getIllustration(categoryName: String) = viewModelScope.launch {
val catPrefix = "Entertainment: "
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No need. If you pull my changes, I am removing this "Entertainment: " string in convertation prosses

when (it) {
is DataState.Success -> it.payload?.apply {
_data.addAll(this)
getIllustration(this.first().quiz.category)
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess we need iteration and we need to get image for every quiz

useCase,
dispatcher
dispatcher,
unsplashRepo
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since unsplashRepo is the same for every destination (category) can't we inject it directly into DestinationViewModel instead of sending it as a parameter and duplicating it numerous times?
I am not sure that we can, but maybe you know some solutions guys.
What do you think?
@kdiakonidze @shalva97 @Vazhapp

Base automatically changed from new_categories to main January 15, 2023 14:11
# Conflicts:
#	testomania/src/main/java/com/earth/testomania/apis/opentdb/data/source/OpenTdbQuizApi.kt
#	testomania/src/main/java/com/earth/testomania/apis/opentdb/data/source/remote/dto/OpenTdbQuizDTO.kt
#	testomania/src/main/java/com/earth/testomania/apis/opentdb/data/source/remote/dto/ResultDto.kt
#	testomania/src/main/java/com/earth/testomania/apis/opentdb/di/openTDBModule.kt
#	testomania/src/main/java/com/earth/testomania/apis/quiz/opentdb/data/source/OpenTdbQuizApi.kt
#	testomania/src/main/java/com/earth/testomania/apis/quiz/opentdb/data/source/remote/dto/OpenTdbQuizDTO.kt
#	testomania/src/main/java/com/earth/testomania/apis/quiz/opentdb/data/source/remote/dto/ResultDto.kt
#	testomania/src/main/java/com/earth/testomania/apis/quiz/quizapi/data/repository/QuizRepositoryImpl.kt
#	testomania/src/main/java/com/earth/testomania/apis/quiz/quizapi/data/source/QuizApi.kt
#	testomania/src/main/java/com/earth/testomania/apis/quiz/quizapi/data/source/remote/dto/AnswersDTO.kt
#	testomania/src/main/java/com/earth/testomania/apis/quiz/quizapi/data/source/remote/dto/CorrectAnswersDTO.kt
#	testomania/src/main/java/com/earth/testomania/apis/quiz/quizapi/data/source/remote/dto/TagDTO.kt
#	testomania/src/main/java/com/earth/testomania/apis/quiz/quizapi/data/source/remote/dto/TechQuizDTO.kt
#	testomania/src/main/java/com/earth/testomania/apis/quiz/quizapi/di/QuizApiModule.kt
#	testomania/src/main/java/com/earth/testomania/apis/quiz/quizapi/domain/model/AnswerKey.kt
#	testomania/src/main/java/com/earth/testomania/apis/quiz/quizapi/domain/model/QuizApiCategory.kt
#	testomania/src/main/java/com/earth/testomania/apis/quiz/quizapi/domain/model/TechCategory.kt
#	testomania/src/main/java/com/earth/testomania/apis/quizapi/data/repository/QuizRepositoryImpl.kt
#	testomania/src/main/java/com/earth/testomania/apis/quizapi/data/source/QuizApi.kt
#	testomania/src/main/java/com/earth/testomania/apis/quizapi/data/source/remote/dto/AnswersDTO.kt
#	testomania/src/main/java/com/earth/testomania/apis/quizapi/data/source/remote/dto/CorrectAnswersDTO.kt
#	testomania/src/main/java/com/earth/testomania/apis/quizapi/data/source/remote/dto/TagDTO.kt
#	testomania/src/main/java/com/earth/testomania/apis/quizapi/data/source/remote/dto/TechQuizDTO.kt
#	testomania/src/main/java/com/earth/testomania/apis/quizapi/di/QuizApiModule.kt
#	testomania/src/main/java/com/earth/testomania/apis/quizapi/domain/model/AnswerKey.kt
#	testomania/src/main/java/com/earth/testomania/apis/quizapi/domain/model/QuizApiCategory.kt
#	testomania/src/main/java/com/earth/testomania/apis/quizapi/domain/model/TechCategory.kt
#	testomania/src/main/java/com/earth/testomania/home_screen/presentation/HomeScreen.kt
#	testomania/src/main/java/com/earth/testomania/home_screen/presentation/HomeScreenViewModel.kt
#	testomania/src/main/java/com/earth/testomania/opentdb/OpenTdbQuizApi.kt
#	testomania/src/main/java/com/earth/testomania/opentdb/models/OpenTdbQuizDTO.kt
#	testomania/src/main/java/com/earth/testomania/opentdb/models/ResultDto.kt
#	testomania/src/main/java/com/earth/testomania/quiz_categories/AnimalsDestination.kt
#	testomania/src/main/java/com/earth/testomania/quiz_categories/ArtDestination.kt
#	testomania/src/main/java/com/earth/testomania/quiz_categories/BoardGamesDestination.kt
#	testomania/src/main/java/com/earth/testomania/quiz_categories/BookDestination.kt
#	testomania/src/main/java/com/earth/testomania/quiz_categories/CelebritiesDestina.kt
#	testomania/src/main/java/com/earth/testomania/quiz_categories/ComicsDestination.kt
#	testomania/src/main/java/com/earth/testomania/quiz_categories/DestinationViewModel.kt
#	testomania/src/main/java/com/earth/testomania/quiz_categories/DevOpsDestination.kt
#	testomania/src/main/java/com/earth/testomania/quiz_categories/DockerDestination .kt
#	testomania/src/main/java/com/earth/testomania/quiz_categories/GadgetsDestination.kt
#	testomania/src/main/java/com/earth/testomania/quiz_categories/GeographyDestination.kt
#	testomania/src/main/java/com/earth/testomania/quiz_categories/HTMLDestination.kt
#	testomania/src/main/java/com/earth/testomania/quiz_categories/HistoryDestinatio.kt
#	testomania/src/main/java/com/earth/testomania/quiz_categories/InformationalTechnologiesDestination.kt
#	testomania/src/main/java/com/earth/testomania/quiz_categories/LinuxDestination.kt
#	testomania/src/main/java/com/earth/testomania/quiz_categories/MathDestination.kt
#	testomania/src/main/java/com/earth/testomania/quiz_categories/MoviesDestination .kt
#	testomania/src/main/java/com/earth/testomania/quiz_categories/MusicDestination.kt
#	testomania/src/main/java/com/earth/testomania/quiz_categories/MySqlDestination.kt
#	testomania/src/main/java/com/earth/testomania/quiz_categories/MythDestination.kt
#	testomania/src/main/java/com/earth/testomania/quiz_categories/NatureDestination.kt
#	testomania/src/main/java/com/earth/testomania/quiz_categories/PHPDestination.kt
#	testomania/src/main/java/com/earth/testomania/quiz_categories/PoliticsDestinatio.kt
#	testomania/src/main/java/com/earth/testomania/quiz_categories/ProgramingDestination.kt
#	testomania/src/main/java/com/earth/testomania/quiz_categories/SQLDestination.kt
#	testomania/src/main/java/com/earth/testomania/quiz_categories/SportsDestination.kt
#	testomania/src/main/java/com/earth/testomania/quiz_categories/TVDestination.kt
#	testomania/src/main/java/com/earth/testomania/quiz_categories/VehiclesDestination.kt
#	testomania/src/main/java/com/earth/testomania/quiz_categories/VideoGamesDestination.kt
#	testomania/src/main/java/com/earth/testomania/quiz_categories/usecase/GetQuizUseCase.kt
#	testomania/src/main/java/com/earth/testomania/quiz_categories/viewmodel/DestinationViewModel.kt
#	testomania/src/main/java/com/earth/testomania/quiz_screen/CategoryIllustration.kt
#	testomania/src/main/java/com/earth/testomania/quiz_screen/ErrorScreen.kt
#	testomania/src/main/java/com/earth/testomania/quiz_screen/LoadingScreen.kt
#	testomania/src/main/java/com/earth/testomania/quiz_screen/MainQuizScreen.kt
#	testomania/src/main/java/com/earth/testomania/quiz_screen/QuizAnswerUI.kt
#	testomania/src/main/java/com/earth/testomania/quiz_screen/QuizExplanationUI.kt
#	testomania/src/main/java/com/earth/testomania/quiz_screen/QuizOverallProgressUI.kt
#	testomania/src/main/java/com/earth/testomania/quiz_screen/QuizUI.kt
#	testomania/src/main/java/com/earth/testomania/quiz_screen/ui_components/CategoryIllustration.kt
#	testomania/src/main/java/com/earth/testomania/quiz_screen/ui_components/ErrorScreen.kt
#	testomania/src/main/java/com/earth/testomania/quiz_screen/ui_components/LoadingScreen.kt
#	testomania/src/main/java/com/earth/testomania/quiz_screen/ui_components/QuizAnswerUI.kt
#	testomania/src/main/java/com/earth/testomania/quiz_screen/ui_components/QuizExplanationUI.kt
#	testomania/src/main/java/com/earth/testomania/quiz_screen/ui_components/QuizOverallProgressUI.kt
#	testomania/src/main/java/com/earth/testomania/quiz_screen/ui_components/QuizUI.kt
#	testomania/src/main/java/com/earth/testomania/technical/data/repository/QuizRepositoryImpl.kt
#	testomania/src/main/java/com/earth/testomania/technical/data/source/remote/QuizApi.kt
#	testomania/src/main/java/com/earth/testomania/technical/data/source/remote/dto/AnswersDTO.kt
#	testomania/src/main/java/com/earth/testomania/technical/data/source/remote/dto/CorrectAnswersDTO.kt
#	testomania/src/main/java/com/earth/testomania/technical/data/source/remote/dto/TagDTO.kt
#	testomania/src/main/java/com/earth/testomania/technical/data/source/remote/dto/TechQuizDTO.kt
#	testomania/src/main/java/com/earth/testomania/technical/di/TechnicalTestsModule.kt
#	testomania/src/main/java/com/earth/testomania/technical/domain/model/AnswerKey.kt
#	testomania/src/main/java/com/earth/testomania/technical/domain/model/QuizCategory.kt
#	testomania/src/main/java/com/earth/testomania/technical/domain/model/TechCategory.kt
#	testomania/src/main/java/com/earth/testomania/technical/presentation/QuizViewModel.kt
#	testomania/src/main/java/com/earth/testomania/technical/presentation/ui_parts/CategoryIllustration.kt
#	testomania/src/main/java/com/earth/testomania/technical/presentation/ui_parts/ErrorScreen.kt
#	testomania/src/main/java/com/earth/testomania/technical/presentation/ui_parts/LoadingScreen.kt
#	testomania/src/main/java/com/earth/testomania/technical/presentation/ui_parts/QuizAnswerUI.kt
#	testomania/src/main/java/com/earth/testomania/technical/presentation/ui_parts/QuizExplanationUI.kt
#	testomania/src/main/java/com/earth/testomania/technical/presentation/ui_parts/QuizOverallProgressUI.kt
#	testomania/src/main/java/com/earth/testomania/technical/presentation/ui_parts/QuizUI.kt
#	testomania/src/main/res/values/strings.xml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants