Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* #6 초기 세팅 build: rest-assured 의존성 추가 chore: 중복된 gitignore 삭제 pr 템플릿 android pr builder docs: project 단 gitignore build: gradle 버전 관리 feat: PokeRogueHelperApp chore: Manifest INTERNET 설정 chore: Packaging base utils: 프로젝트 ui 에서 사용할 util 추가 utils: test util style: ktFormat fix: 깃 충돌 해결 fix: PR Builder 수정 delete: assertj 삭제 build: room 설정 및 glide-compiler refactor: 코드리뷰 반영 - GridSpacingItemDecoration 주석 삭제 - RecyclerViewItemCountAssertion 주석 삭제 refactor: withItemCount, performClickHolderAt 함수 RecyclerViewUtil 로 이동 - 기존 ViewInteractonExtensions refactor: getDeviceSize -> deviceSize로 네이밍 수정 refactor: getDescription 에 View Id 추가 refactor: matchDescendantWithText 로 네이밍 수정 refactor: CommonBindingAdapter 로 네이밍 수정 build: FlexboxLayout 추가 * [AN-UI] 안드로이드 공통 디자인 컴포넌트 세팅 (#14) * ui: add base icon * ui: add color * ui: add poke type icon * ui: add pretendard font 논의 해봐야함 * ui: Primary Theming * fix: 잘못된 함수 네이밍 수정 * ui: 평행사변형 커스텀뷰 * style: ktFormat * [AN-UI] 상성 페이지 UI 구현 (#8) * init 기초 세팅 - pr 템플릿 - android pr builder * ui: 타입 선택 화면 관련 drawable 추가 * ui: 타입 선택 화면 xml 구현 * ui: 타입 선택 바텀 시트 xml 구현 * chore: 초기 세팅과 병합 * feat: 상성 타입 데이터 정의 - UI 모델 정의 및 Mapper * feat: 상성 타입 선택 바텀 시트 구현 * feat: 상성 화면 구현 * feat: 상성 화면으로 이동 로직(임시용) 구현 - 상성 화면 확인을 위한 작업 * feat: 상성 결과 화면 커스텀 뷰 구현 * chore: 패키지 명 수정 * feat: 상성 결과 글자 색상 변경 부분 추가 * chore: 상성 결과 커스텀뷰 네이밍 수정 * chore: UiModel mapper 패키지 이동 * chore: 상성 결과 변수 네이밍 수정 * refactor: 바텀 시트 전역 변수 제거 * refactor: 커스텀뷰 바인딩 연결 * feat: 상성 결과 색상 설정 기능 --------- Co-authored-by: murjune <[email protected]> * [AN-UI] 홈 화면 UI 구현 (#11) * ui: toolbar와 관련된 drawable 추가 * ui: toolbar xml 작성 * ui: toolbar 구현 * ui: home과 관련된 drawable 추가 * ui: home xml 작성 * feat: 메뉴 클릭시 화면 이동 * chore: xml id 컨벤션 * chore: 코드리뷰 반영 * ui: home drawable 추가 * ui: 스타일 적용 --------- Co-authored-by: murjune <[email protected]> * [AN-HACKATON] 해커톤 작업한거 develop 에 머지 (#27) * ci: an/hack/develop 추가 * [AN-FEAT] 해커톤용 포켓몬 도감 UI/Presentation 로직 (#22) * 심지 커밋 스틸 ui: 포켓몬 도감 목록 프래그먼트 파일을 생성하여 연결한다 chore: 타입에 임시로 사용할 긴 이미지 추가 ui: 포켓몬 목록 화면의 item 을 보여준다 - 일단 타입이 두 가지가 있다고 가정하고 화면을 그린다 chore: 타입에 임시로 사용할 작은 동그란 이미지 추가 refactor: PokemonUiModel 의 더미 이미지 url 변경 ui: 포켓몬 도감 목록 화면의 item 의 배경, 텍스트 색상을 변경한다 ui: 포켓몬 목록 프래그먼트에 리사이클러뷰 생성해서 연결 ui: 포켓몬 목록 리사이클러뷰 어댑터에 데코레이터를 추가한다 ui: 포켓몬 목록 프래그먼트에 서치 바를 추가한다 chore: 사용하지 않는 타입 아이콘 제거, 문자열 리소스로 변경 * ui: toolbar * feat: poke List * feat: common Linear 용 Decoration * feat: common ImageRes bindingAdapter * feat: poke detail * feat: poke list * refactor: 패키징 * style: ktFormat * feat: placeholder, error icon 추가 * [AN-HACK] 포켓몬 특성 기능 구현 (#25) * ci: an/hack/develop 추가 * 심지 커밋 스틸 ui: 포켓몬 도감 목록 프래그먼트 파일을 생성하여 연결한다 chore: 타입에 임시로 사용할 긴 이미지 추가 ui: 포켓몬 목록 화면의 item 을 보여준다 - 일단 타입이 두 가지가 있다고 가정하고 화면을 그린다 chore: 타입에 임시로 사용할 작은 동그란 이미지 추가 refactor: PokemonUiModel 의 더미 이미지 url 변경 ui: 포켓몬 도감 목록 화면의 item 의 배경, 텍스트 색상을 변경한다 ui: 포켓몬 목록 프래그먼트에 리사이클러뷰 생성해서 연결 ui: 포켓몬 목록 리사이클러뷰 어댑터에 데코레이터를 추가한다 ui: 포켓몬 목록 프래그먼트에 서치 바를 추가한다 chore: 사용하지 않는 타입 아이콘 제거, 문자열 리소스로 변경 * ui: toolbar * feat: menu 클릭시 해당 페이지로 이동 * ui: 특성 화면과 관련된 drawable 추가 * ui: 특성 화면 xml 작성 * feat: 특성 화면 기능 구현 * 오둥꺼랑 머지 * 토스트 삭제 * feat: dummy 특성 * feat:dummy 포켓몬 --------- Co-authored-by: murjune <[email protected]> * [AN-HACK] 상성 기능 구현 (#26) * ci: an/hack/develop 추가 * ui: theme 설정 및 컬러 적용 * refactor: type UI 모델 재정의 - 색상도 포함하도록 수정 * chore: 타입 데이터 추가 및 파일 위치 변경 * chore: 불필요한 파일 제거 * feat: 타입 결과 반환하는 로직 구현 * feat: 타입 선택 바텀 시트 데이터 및 이벤트 핸들러 연결 * feat: 상성 결과 화면 데이터 연결 및 이벤트 처리 * refresh, 눌렀을 때 바텀시트 dismiss * ktlintformat --------- Co-authored-by: murjune <[email protected]> --------- Co-authored-by: SangHyun Ko <[email protected]> Co-authored-by: Yehyun Jo <[email protected]> * [AN-UI] 포켓몬 상성 Icon + TextAppearance 추가 (#33) * ui: TextApearance * ui: icon svg로 변경 * ui: Home Appearance 적용 * [AN-FEAT] Network Config 추가 (#34) * chore: gitkeep 삭제 * build: Base URL 추가 * CI: add base url Checker * feat: Retrofit Module * feat: Service Module * feat: PokeDexService * feat: AbilityService * style: ktlint * [AN-REFACTOR] 포켓몬 도감 데이터는 데이터 레이어에서 불러온다. (#36) * chore: pokemon2 패키지 이름을 dex 로 변경한다 * refactor: PokemonListFragment 에서 뷰모델을 BaseViewModelFactory 을 통해 생성한다 * refactor: PokemonListFragment 어댑터를 lazy 하게 생성한다 * refactor: PokemonDetailFragment 에서 뷰모델을 BaseViewModelFactory 을 통해 생성한다 * refactor: PokemonDetailFragment 의 어댑터를 lazy 하게 생성한다 * feat(data/model/Type): 포켓몬 타입 원시값 포장, 캐싱한다 - 캐싱을 통해 타입을 계속해서 생성하지 않아도 된다 - 추후에 타입이 추가되었을 때 서버 통신을 통해 TYPES 맵에 추가할 수 있도록 대응한다 * feat(data/model/Pokemon): 포켓몬 데이터 * feat: 포켓몬 목록을 in-memory 에서 불러온다 * feat(dex/model/PokemonUiModel): id, 이름, 이미지, 타입 목록을 가지는 ui model * feat(TypeUiModel): 데이터 레이어의 타입으로부터 타입 ui 모델로 만든다 * refactor: pokemonUiModel 을 모델 패키지의 것으로 교체한다 * refactor: 포켓몬 목록 화면에서 데이터 레이어로부터 데이터를 가져온다 - Before: 뷰모델에서 ui model 의 더미 데이터를 가져온다 - After: 데이터 소스를 통해 더미 데이터를 가져온다 * feat(data/model/Stat): 스탯 이름과 수치를 프로퍼티로 가진다 * feat(presentation/.../StatUiModel): 스탯 이름, 수치, progress 를 프로퍼티로 가진다 * feat(presentation/.../PokemonUiModel): id, 도감번호, 이름, 이미지, 타입 목록을 가진다 * feat(data/.../PokemonDetail): 포켓몬, 스탯 목록, 특성 목록, 키, 무게를 가진다 * feat(presentation/.../PokemonDetailUiModel): 포켓몬 상세 정보 ui 모델을 가진다 * feat(PokemonDetailDataSource): 포켓몬 상세 정보를 가져온다 * refactor($PokemonDetail): 포켓몬 상세 페이지에서 ui 모델을 사용한다 - Before: 데이터 레이어에 있는 모델을 사용 - After: 프레젠테이션 레이어에 있는 모델을 사용 * refactor(PokemonDetailViewModel): 데이터 소스로부터 포켓몬 상세 정보를 불러온다 * refactor(StatUiModel): 능력치 값의 limit 를 설정 능력치 총합의 limit 와 단일 능력치의 limit 을 각각 설정한다 * refactor(item_stat.xml): 능력치 아이템의 텍스트 너비 조정 * chore: 사용하지 않는 ui,데이터 모델 삭제 * refactor(PokemonListFragment): 포켓몬 어댑터에 리스너 함수의 참조가 아닌 뷰모델을 넘긴다 * refactor: 타입 이름을 한글로 설정한다 * chore(PokemonDetailViewModel): 로그 제거 * refactor: data/model/Type 을 enum class 로 변경한다 * chore: 임시 포켓몬 리스트 데이터 소스 클래스 이름 변경 - InMemoryPokemonListDataSource -> FakePokemonListDataSource 로 이름 변경 * chore: 임시 포켓몬 리스트 데이터 소스 인터페이스 제거 * feat: PokemonListRepository 인터페이스와 Fake 구현체를 만든다 * refactor: 포켓몬 목록 뷰모델이 레포지토리로부터 포켓몬을 가져온다 - Before: 페이크 데이터 소스로부터 포켓몬를 가져온다 - After: 레포지토리 인터페이스로부터 포켓몬을 가져온다 * chore: 임시 포켓몬 디테일 데이터 소스 클래스 이름 변경 - DummyPokemonDetailDataSource -> FakePokemonDetailDataSource 로 이름 변경 * chore: 임시 포켓몬 상세 데이터 소스 인터페이스 제거 * feat: 포켓몬 상세 인터페이스와 Fake 구현체를 만든다 * refactor: 포켓몬 상세 데이터 클래스에 있던 더미 데이터를 fake 데이터 소스로 이동 - fake 포켓몬 상세 레포지토리가 fakepokemonDataSource 를 주 생성자로 가진다 * refactor: 포켓몬 상세 뷰모델이 레포지토리로부터 포켓몬을 가져온다 - Before: 페이크 데이터 소스로부터 포켓몬를 가져온다 - After: 레포지토리 인터페이스로부터 포켓몬을 가져온다 * [AN_UI] TypeChip component, CommonBindingAdapter, Serializable, Parcelable Util 함수들 추가 (#47) * ui: color 변경 * feat: BundleExtensions, IntentExtensions * feat: withArgs 구현 * feat: withArgs, serializable 함수 적용 * feat(CommonBindingAdapter): setBackGroundColorRes * ui: textAppearance 수정 * ui: TypeItemView 구현, item_type_name 에 적용 * style: Ktformat * chore: TypeChip으로 네이밍 변경 * fix: androidx.core.content.res 의 use함수로 수정 reference: https://stackoverflow.com/questions/73502338/android-content-res-typedarray-cannot-be-cast-to-java-lang-autocloseable * [AN-REFACTOR] 상성 화면 리팩토링 (#38) * chore: 패키지 네이밍 수정 및 이동 - 상성 결과 화면 관련된 파일들을 패키지로 묶음 * refactor: 데이터 바인딩 적용 - 상성 이벤트 정의 - EventHandler 개선 * refactor: 선택된 상성 UI 커스텀 뷰 확장 및 데이터 바인딩 적용 - 기본으로 들어가는 이미지와 삭제 버튼까지 포함하도록 수정 * ui: BottomSheetDragHandleView 추가 * refactor: Flow 적용 * refactor: string 리소스 활용 * chore: 불필요한 파일 제거 * [AN-UI] 포켓몬 상성 Icon + TextAppearance 추가 (#33) * ui: TextApearance * ui: icon svg로 변경 * ui: Home Appearance 적용 * refactor: 타입 데이터 불러오는 로직과 UI 분리 * chore: 네이밍 수정 * refactor: Repository 추상화 * fix: NestedScrollView 로 수정 * refactor: 공유 뷰모델 초기화 코드 수정 * refactor: flow 수정 * refactor: 내 타입, 상대 타입 선택을 포함하는 하나의 객체 생성 --------- Co-authored-by: JUNWON LEE <[email protected]> * [AN_REFACTOR] 홈 화면 MVVM 패턴 적용 (#59) * refactor: 화면 이동 ViewModel 및 DataBinding 설정 * refactor: navigateState flow 적용 * ui: toolbar popupTheme 수정 * chore: ktlint * refactor: home logo xml 수정 * refactor: Event 처리하는 인터페이스 네이밍 수정 * [AN_UI] 포켓몬 도감 목록에서 포켓몬 이름을 통해 검색 (#60) * feat: 포켓몬 목록의 검색 바 ui 를 추가한다 * feat: 포켓몬 리스트에 서치바를 추가한다 * feat: 포켓몬 이름으로 검색한 포켓몬 결과 목록을 구한다 * feat: 포켓몬 목록 검색 바에서 포켓몬 이름을 검색하면 그를 포함하는 포켓몬을 구한다 * feat: 포켓몬 쿼리 리스너에서 이름으로 포켓몬들을 쿼리한다 * refactor: 포켓몬 검색 쿼리를 데이터바인딩으로 쿼리한다 * feat: 가짜 포켓몬 목록 데이터 소스에서 쿼리된 포켓몬 목록을 리턴한다 * feat: 포켓몬 목록 레포지토리에서 모든 포켓몬 목록과 검색된 포켓몬 목록을 flow 로 래핑하여 리턴한다 * feat: 포켓몬 목록 데이터 리스트를 ui 모델로 변환한다 * refactor: 레포지토리의 Flow 로 감싸진 결과를 가지고 ui 에 쿼리된 포켓몬을 표시한다 * refactor: 포켓몬 목록 레포지토리의 기존 함수 제거하고 함수명을 변경한다 - 포켓몬 목록을 리턴하는 함수 제거 - 포켓몬 목록 플로우를 리턴하는 함수 이름 변경 pokemons2 -> pokemons * refactor: 포켓몬 목록 프래그먼트에 필요없는 애노테이션 제거 * chore(PokemonQueryListener -> PokemonQueryHandler) 이름 변경 - 새로 정해진 컨벤션에 맞춰 수정한다 * refactor: 가짜 포켓몬 목록 데이터소스의 메서드 네이밍 변경 - searchedPokemons -> pokemons * feet: 가짜 포켓몬 목록 레포지토리의 Flow 가 아닌 결과를 리턴하는 메서드 * refactor: 포켓몬 목록 뷰모델에서 flow 로 래핑되지 않은 포케몬 목록 반환 함수를 사용한다 * refactor: PokemonListRepository 의 flow 를 리턴하는 함수 제거 * refactor(PokeMonItemClickListener -> PokemonDetailNavigateHandler) 이름 변경 * refactor: 포켓몬 목록 뷰모델 map 함수를 mapLatest 로 바꾼다 * [AN_REFACTOR] 특성 화면 MVVM 패턴 적용 (#67) * refactor: ability item xml 수정 * refactor: MVVM 패턴 적용 * chore: ktlint * refactor: 마지막 특성 보이도록 수정 * refactor: ActionHandler -> uiEventHandler 네이밍 변경 * refactor: navigationEvent 변수명 수정 * [AN-FEAT] 포켓몬 목록를 네트워크를 통해 로드 (#65) * chore: pokemon response 패키지 이름 변경 poke -> pokemon * test: PokemonTypeResponse 를 Type 데이터로 매핑한다 * test: 포켓몬 타입 응답을 만드는 testFixture * feat: 포켓몬 타입 목록 응답을 toData 로 맏드는 확장 함수, testFixture 사용 * test: 포켓몬 응답과 포켓몬 응답 목록을 생성하는 test fixture * feat: 포켓몬 응답, 포켓몬 응답 목록을 데이터로 매핑한다 * feat: 네트워크를 통해 포켓몬 데이터들을 가져온다 * test: RemotePokemonListDataSourceTest 를 통해 포켓몬들을 불러온다 * refactor: 서비스, 데이터소스, 레포지토리 함수를 suspend 로 변경한다 * refactor: 기본 포켓몬 목록 레포지토리에서 포켓몬 목록을 가져온다 * refactor(PokemonListViewModel): 포켓몬 목록을 네트워크를 통해 가져온다 * test(RemotePokemonListDataSourceTest): 모킹을 통해 포켓몬 목록 로드한다 * refactor: 포켓몬 목록에서 쿼리를 통해 검색된 포켓몬들을 로드한다 * test(RemotePokemonListDataSourceTest): 포켓몬 이름으로 쿼리된 포켓몬 목록을 불러온다 * chore(RemotePokemonListDataSourceTest): 변수 명 개선 * chore: 가짜 포켓몬 목록 데이터 소스 & 레포지토리를 테스트 패키지로 옮긴다 * test(PokemonListViewModelTest): 모든 포켓몬 로드, 쿼리된 포켓몬 로드 * chore: PokemonResponse 에서 Pokemon 으로 매핑하는 함수 위치를 DTO 레이어로 변경한다 * chore: TypeResponse 에서 Type 으로 매핑하는 함수 위치를 DTO 레이어로 변경한다 * chore: TestFixture 의 패키지, 파일 분리 * [AN-FEAT] 특성 목록 네트워크 연결 (#78) * feat: 특성 response를 data로 매핑 * feat: 특성 데이터를 remote에서 가져온다 * feat: ViewModel에 repository DI * feat: 매핑 함수 구현 - data to ui - response to data * feat: repo,source 중단 함수 추가 * feat: 특성 데이터 연결 * chore: ktlint * refactor: Activity 함수 분리 * chore: UiModel 패키지 이동 * refactor: 특성 api 스펙 변경 * chore: kotlin convention * chore: DataSource 프로퍼티 네이밍 변경 * [AN-FEAT] 포켓몬 상세 데이터를 네트워크를 통해 로드 (#81) * feat: 포켓몬 상세 응답 데이터 클래스 * feat: PokemonDetailResponse 데이터 레이어의 모델로 매핑 * feat: PokeDexService 에서 중단 가능한 함수, BaseResponse 로 감싸서 리턴한다 * feat: RemotePokemonDetailDataSource 에서 서비스를 통해 데이터를 받는다 * feat: PokemonDetailRepository 에서 상세 정보를 로드한다 * fix: PokemonResponse 의 name 프로퍼티에 @SerialName("koName") * fix: 포켓몬 상세 응답을 데이터로 매핑 - 영어로 변경 * fix: fragment_pokemon_list.xml 에 필요없는 hint 제거 * feat: 스탯 이름을 ui 에 맞게 매핑한다 ex) "attack" -> "공격" * refactor: PokemonUiState 를 도입한다 * chroe: fake 객체를 테스트 패키지로 옮긴다 * feat: 프래그먼트 확장 함수 선언해서 포켓몬 상세 화면에서 이름 바인딩 * test(PokemonDetailViewModelTest): 포켓몬 상세 데이터 로드 * fix(FragmentExtension): vararg 인수 전달을 위한 star 연산자 추가 * [AN-FEAT] 특성 검색 기능 구현 (#82) * ui: searchView 구현 * chore: 검색 BindingAdapter 패키지 이동 * feat: 특성 이름으로 쿼리 * chore: ktlint * feat: 특성 불러올 때 UiState 적용 * chore: ktlint * [AN-FEAT] 상성 화면 세부적인 기능 수정 및 추가 (#69) * fix: 내 타입, 상대타입1,2 모두 선택시 반환되는 데이터 형식 수정 - 상대 타입 둘 다 같은 상성 결과임에도 분리된 형식으로 반환했던 오류 수정 * feat: 상성 결과에 "대등한" 경우도 보여 주는 기능 구현 * feat: 상성 결과를 지정된 순서대로 화면에 표기 * feat: 선택된 타입이 없을 경우 보여지는 화면 구현 * chore: 불필요한 파일 제거 * chore: 네이밍 통일을 위한 변경 * ui: 선택 불가능한 타입 구현 * feat: 상대 타입으로 이미 선택되었을 경우, 선택하지 못하도록 설정 * chore: 함수 분리 및 네이밍 수정 * ui: 상성 결과 텍스트에 bold 적용 * refactor: Type model 통일 - 기존 TypeInfo 사용 대신 Type Enum 사용으로 변경 * refactor: 타입 결과 아이템 정렬 - GridLayoutManager 로 수정 * test: 타입 뷰모델 테스트 * refactor: string resource 적용 * chore: UI 모델 변환 메서드 네이밍 변경 --------- Co-authored-by: murjune <[email protected]> * [AN-CONFIG] 개발 서버 다운시 Local host 로 �리다이렉션 (#93) * config: android/docker 패키지 gitignore * config: network_security_config 추가 * config: gitignore 위치 수정 * feat: failed connected to develop server, connect to localhost * style: ktlint Format * �fix: pr_builder.yaml * [AN_CI] PR Open 될 때 reviewers, assignees, labels 자동 할당 (#97) * ci: add auto label script * ci: reviewer list * ci: add assign-reviewers-labels * [AN-FEAT] 특성 상세 네트워크 연결 (#96) * refactor: response 값 변경 * feat: 네트워크를 통해 data를 받는다 * chore: localhost 설정 * chore: AbilityService Api 경로 변경 * refactor: 특성리스트,특성상세 dto값 변경 * feat: data -> ui 매퍼 함수 추가 * refactor: detail mvvm 패턴 적용 * refactor: 특성검색 쿼리 로직 repo로 이동 * refactor: 불필요한 코드 삭제 * feat: 포켓몬 타입 표시 * chore: detail ui 패키지 이동 * feat: detailUiEvent 기능 연결 * chore: ktlint * refactor: DataSource,Repository 하나로 합치기 * feat: invalid id 에러처리 * chore: ktlint * refactor: invalid id 에러값일 때 error event * chore: ktlintCheck * [AN-FEAT] 포켓몬 상세 화면에 특성 (#87) * feat: 포켓몬 상세 응답 데이터 클래스 * feat: PokemonDetailResponse 데이터 레이어의 모델로 매핑 * feat: PokeDexService 에서 중단 가능한 함수, BaseResponse 로 감싸서 리턴한다 * feat: RemotePokemonDetailDataSource 에서 서비스를 통해 데이터를 받는다 * feat: PokemonDetailRepository 에서 상세 정보를 로드한다 * fix: PokemonResponse 의 name 프로퍼티에 @SerialName("koName") * fix: 포켓몬 상세 응답을 데이터로 매핑 - 영어로 변경 * fix: fragment_pokemon_list.xml 에 필요없는 hint 제거 * feat: 스탯 이름을 ui 에 맞게 매핑한다 ex) "attack" -> "공격" * refactor: PokemonUiState 를 도입한다 * chroe: fake 객체를 테스트 패키지로 옮긴다 * feat: 프래그먼트 확장 함수 선언해서 포켓몬 상세 화면에서 이름 바인딩 * test(PokemonDetailViewModelTest): 포켓몬 상세 데이터 로드 * fix(FragmentExtension): vararg 인수 전달을 위한 star 연산자 추가 * ui: 특성 타이틀 ui * ui: 특성 제목 어댑터를 생성한다 * ui: 포켓몬 상세 화면에서 특성을 연결한다 * refactor: 포켓몬 상세 화면에 특성을 데이터 바인딩으로 연결한다 * feat: 포켓몬 상세에 특성 어댑터에 데코레이터를 추가한다 * fix: 포켓몬 상세의 특성 api 가 바뀐 것 반영 Before: 포켓몬 상세 api 의 특성 응답은 List<String> 타입 After: 포켓몬 상세 api 의 특성 응답은 List<AbilityResponse> 타입 * chore(PokemonDetailFragment): Timber 로그 제거 * fix: 포켓몬 상세 응답에서 특성 프로퍼티 네이밍 수정 * fix: 특성을 포켓몬 상세화면에서 쓰이는 ui Model 로 변경하는 매퍼의 위치를 옴ㄹ긴다 * chore: 포켓몬 목록에서 쓰이는 네비게이션 핸들러 네이밍 수정 * refactor: 포켓몬 상세 화면을 위한 navigate handler * chore: 메서드 오타 수정 binPokemonDetail -> bindPokemonDetail * chore: 이미지 바인딩 어댑터 메서드를 setImage 로 오버로딩하도록 네이밍 수정 * refactor: 포켓몬 상세 ui state 의 네이밍 수정 PokemonDetailUiModel -> Success * fix: 포켓몬 상세 페이크 객체의 더미 데이터를 수정한다 * fix: 포켓몬 상세 페이크 객체의 더미 데이터를 수정한다 * chore: 포켓몬 검색 뷰 바인딩 어댑터 이름을 수정한다 * [AN-FEAT] 여백 없는 이미지로 리사이징하는 Transformation 구현 (#71) * chore: pokemon response 패키지 이름 변경 poke -> pokemon * test: PokemonTypeResponse 를 Type 데이터로 매핑한다 * test: 포켓몬 타입 응답을 만드는 testFixture * feat: 포켓몬 타입 목록 응답을 toData 로 맏드는 확장 함수, testFixture 사용 * test: 포켓몬 응답과 포켓몬 응답 목록을 생성하는 test fixture * feat: 포켓몬 응답, 포켓몬 응답 목록을 데이터로 매핑한다 * feat: 네트워크를 통해 포켓몬 데이터들을 가져온다 * test: RemotePokemonListDataSourceTest 를 통해 포켓몬들을 불러온다 * refactor: 서비스, 데이터소스, 레포지토리 함수를 suspend 로 변경한다 * refactor: 기본 포켓몬 목록 레포지토리에서 포켓몬 목록을 가져온다 * refactor(PokemonListViewModel): 포켓몬 목록을 네트워크를 통해 가져온다 * test(RemotePokemonListDataSourceTest): 모킹을 통해 포켓몬 목록 로드한다 * refactor: 포켓몬 목록에서 쿼리를 통해 검색된 포켓몬들을 로드한다 * test(RemotePokemonListDataSourceTest): 포켓몬 이름으로 쿼리된 포켓몬 목록을 불러온다 * chore(RemotePokemonListDataSourceTest): 변수 명 개선 * chore: 가짜 포켓몬 목록 데이터 소스 & 레포지토리를 테스트 패키지로 옮긴다 * test(PokemonListViewModelTest): 모든 포켓몬 로드, 쿼리된 포켓몬 로드 * feat: CropTransformation 적용 마진을 없앤다 * ui: 이미지 비율 0.8로 조정 * fix: scale 속성 삭제 * ui: 사진 크기 조정 * [AN_CI] PR Open 될 때 reviewers, assignees, labels 자동 할당 (#97) * ci: add auto label script * ci: reviewer list * ci: add assign-reviewers-labels --------- Co-authored-by: sh1mj1 <[email protected]> [AN-FEAT] 여백 없는 이미지로 리사이징하는 Transformation 구현 (#71) * chore: pokemon response 패키지 이름 변경 poke -> pokemon * test: PokemonTypeResponse 를 Type 데이터로 매핑한다 * test: 포켓몬 타입 응답을 만드는 testFixture * feat: 포켓몬 타입 목록 응답을 toData 로 맏드는 확장 함수, testFixture 사용 * test: 포켓몬 응답과 포켓몬 응답 목록을 생성하는 test fixture * feat: 포켓몬 응답, 포켓몬 응답 목록을 데이터로 매핑한다 * feat: 네트워크를 통해 포켓몬 데이터들을 가져온다 * test: RemotePokemonListDataSourceTest 를 통해 포켓몬들을 불러온다 * refactor: 서비스, 데이터소스, 레포지토리 함수를 suspend 로 변경한다 * refactor: 기본 포켓몬 목록 레포지토리에서 포켓몬 목록을 가져온다 * refactor(PokemonListViewModel): 포켓몬 목록을 네트워크를 통해 가져온다 * test(RemotePokemonListDataSourceTest): 모킹을 통해 포켓몬 목록 로드한다 * refactor: 포켓몬 목록에서 쿼리를 통해 검색된 포켓몬들을 로드한다 * test(RemotePokemonListDataSourceTest): 포켓몬 이름으로 쿼리된 포켓몬 목록을 불러온다 * chore(RemotePokemonListDataSourceTest): 변수 명 개선 * chore: 가짜 포켓몬 목록 데이터 소스 & 레포지토리를 테스트 패키지로 옮긴다 * test(PokemonListViewModelTest): 모든 포켓몬 로드, 쿼리된 포켓몬 로드 * feat: CropTransformation 적용 마진을 없앤다 * ui: 이미지 비율 0.8로 조정 * fix: scale 속성 삭제 * ui: 사진 크기 조정 * [AN_CI] PR Open 될 때 reviewers, assignees, labels 자동 할당 (#97) * ci: add auto label script * ci: reviewer list * ci: add assign-reviewers-labels --------- Co-authored-by: sh1mj1 <[email protected]> * [AN-REFACTOR] 특성 상세 페이지 Fragment로 마이그레이션 (#109) * ui: ability fragment 작성 * refactor: ability fragment 연결 * ui: ability detail fragment 작성 * refactor: ability detail fragment 연결 * chore: 불필요한 activity xml 삭제 * feat: dex detail <-> ability detail 화면 전환 * feat: containerId 에러 처리 * chore: ktlint * chore: container 에러시 early return * chore: 불필요한 xml 코드 삭제 * refactor: 코드리뷰 반영 * [AN-UI] 타입 화면 수정 사항 반영 (#106) * ui: 글자 사이즈 및 padding 값 조절 * refactor: 파일 분리 및 ui 모델 프로퍼티 수정 * chore: 상성 결과 정렬 로직 수정 * refactor: 함수 분리 및 코드 정리 * refactor: 리뷰 반영 🚀 * ui: 여백 dp 살짝 조절 * [AN_REFACTOR] 멀티 모듈로 분리 및 testing 모듈 추가 (#110) * feat: testing 모듈 추가 * build: 불필요한 ktlint plugins 삭제 * build: sub module 에 모두 test 의존성 및 kotlinCompiler 추가 * build: testing module 에 코루틴, kotlin 의존성 추가 * chore: 패키지 네이밍 testing으로 변경 * 임시 저장 * build: project 단 pacelize, jbm, library 추가 * feat: local 모듈 분리 * feat: remote 모듈 분리 * feat: data 모듈 분리 * feat: testing 모듈 분리 * feat: module들 app에 연결 * chore: 린트 체크 * build: local, testing exclude meta --------- Co-authored-by: Yehyun Jo <[email protected]> Co-authored-by: JoYehyun <[email protected]> * [AN_FEAT] 포켓몬, 특성 초성 검색 (#111) * feat: testing 모듈 추가 * build: 불필요한 ktlint plugins 삭제 * build: sub module 에 모두 test 의존성 및 kotlinCompiler 추가 * build: testing module 에 코루틴, kotlin 의존성 추가 * chore: 패키지 네이밍 testing으로 변경 * 임시 저장 * build: project 단 pacelize, jbm, library 추가 * feat: local 모듈 분리 * feat: remote 모듈 분리 * feat: data 모듈 분리 * feat: testing 모듈 분리 * feat: module들 app에 연결 * feat: stringmatcher module * feat: 초성 검색 구현 * feat: 특성, 포켓몬 초성 검색 구현완 * style: ktlint format * feat: 웹뷰 연결 (#119) * [AN-FEAT] 특성 ViewModel Test (#126) * feat: fakeRepository 추가 * feat: fakeRepository test 작성 * feat: 특성 ViewModel test 작성 * feat: 특성 상세 ViewModel test 작성 * chore: ktlint * chore: 코드리뷰 반영 * [AN-REFACTOR] 상성 데이터 레이어 수정 (#116) * feat: 스텔라 타입 추가 * refactor: 상성 데이터 테이블 구조 변경 * refactor: fake 레포지토리를 활용하여 테스트 구현 * chore: 불필요한 파일 제거 * refactor: private 추가 * fix: 테스트 fail 해결 * refactor: 변수명 수정 및 코드 정리 * test: 테스트 코드 추가 및 수정 * [AN-REFACTOR] 앱바 중복 코드 분리 및 커스텀 (#137) * refactor: 화면별 타이틀 설정 - 툴바 Include 대신 개별 toolbar로 정의 * refactor: 반복되는 공통 코드 base activity로 이동 * ui: drawable 추가 및 수정 * refactor: toolbar 연결 * refactor: searchView style 정의 * refactor: ToolbarActivity & ToolbarFragment 정의 * [AN-Config] Firebase Analytics, Crashlytics 연동 (#146) * CI: PR_Buider 수정 (assembleDebug) * build: firebase 설정 * build: change Semantic Versioning * build: debug keyStore, applicationIdSuffix 설정, 초기세팅 * build: debug 모드 app_name 여기에 추가로 google-service.json 들어감 * init: analytics module * build: alpha, beta version 추가 * feat: Version 별 AnalyticsLogger * test: TestLogger * utils: startActivity * utils: Analytics Extensions * feat: Home Activity 에 Logger 추가 * style: ktFormat * refactor: Click Event 상수화 * style: ktlintFormat * CI: Google-service 설정 추가 * ci: debug.keystore --------- Co-authored-by: Yehyun Jo <[email protected]> * feat: api testOptions 추가 (#148) * [AN-UI] 포켓몬 상세, 목록 화면의 타입 위치 수정 (#136) * refactor: pokemon detail 화면의 view 계층 개선 * refactor: pokemon detail 화면에서 type chip 사용 * refactor: pokemon detail 타입을 보여주는 방법 변경 - 포켓몬 이름 아래에 타입들을 보여준다 - 리사이클러뷰 제거, LinearLayout 에 동적으로 타입들을 추가 * refactor: pokemon detail 화면에서 타입을 추가하는 역할을 어댑터에 위임 * refactor: item pokemon list pokemon 프리뷰 화면의 타입 디자인 개선 - 타입을 포켓몬 이름 아래에 위치시킨다 - 무거운 리사이클러뷰를 삭제한다 - 어댑터의 함수 파라미터에 글자와 아이콘 크기를 넘긴다 * chore: PokemonTypesAdapter 의 패키지 위치 변경 * fix: 아이템 뷰에 타입이 중복해서 추가되는 경우를 방지한다 - viewGroup.removeAllViews() 메서드 추가 * feat: layoutParams 의 높이와 너비를 지정하는 바인딩 어댑터 * refactor: TypeChip 에 ui 설정 데이터 클래스를 만들고 이를 item_type 에 데이터바인딩 * refactor: 상성 보기에서 사용하는 xml 파일을 변경한다 * chore: 타입 사이의 공간 spacing 네이밍 * fix:포켓몬 목록에서 포켓몬 사진 padding 조정 * fix: PoketmonViewHolder -> PokemonViewHolder 네이밍 변경 * refactor: 포켓몬 상세 xml 파일 뷰 계층 제거 - 스탯을 제외하고 뷰 계층 제거 * refactor: 포켓몬 상세 포켓몬 이미지 cropped 가 아닌 이미지 사용 * fix: 포켓몬 목록 리사이클러뷰 아이템 사이 간격 조정 * fix: 타입 사이의 spacing 의 크기를 dp 로 적용 * refactor: PokemonTypeViewConfiguration 의 프로퍼티 네이밍 변경, spacingBetweenTypes 은 어댑터의 파라미터로 옮긴다 * [AN-FEAT] Ability, Dex List InMemory 캐싱 (#149) * feat: ability List 캐싱 * feat: dex List 캐싱 * style: ktLintFormat * refactor: Dex로 네이밍 변경, Fake 레포지토리 변경 * style: ktFormat * [AN-FEAT] 설문조사 링크 연결 및 Analytics 적용 (#160) * feat: 피드백 링크 연결 * ui: 메뉴 아이템 위치 조절 * ui: 상성 결과 텍스트 디자인 수정 * feat: 로깅 적용 * feat: logScreenView msg 수정 --------- Co-authored-by: murjune <[email protected]> * [AN-UI] 홈,특성 상세 가로 화면 대응 (#161) * ui: 가로화면 drawable 추가 * ui: 가로화면 xml 작성 * chore: androidTest 패키지 구조 변경 * test: home 회전 테스트 추가 * test: home 회전 테스트 수정 * feat: 특성화면 세로모드로 고정 * fix: 특성 detail api 통신 수정 * fix: 포켓몬 detail api 통신 수정 * test: home ui test 추가 * test: api 27-29 테스트시 onIdle 추가 * chore: 세로고정 삭제 * ui: 특성 상세 가로 xml 작성 * feat: api testOptions 추가 (#148) * chore: ktlintCheck * [AN-UI] 포켓몬 상세, 목록 화면의 타입 위치 수정 (#136) * refactor: pokemon detail 화면의 view 계층 개선 * refactor: pokemon detail 화면에서 type chip 사용 * refactor: pokemon detail 타입을 보여주는 방법 변경 - 포켓몬 이름 아래에 타입들을 보여준다 - 리사이클러뷰 제거, LinearLayout 에 동적으로 타입들을 추가 * refactor: pokemon detail 화면에서 타입을 추가하는 역할을 어댑터에 위임 * refactor: item pokemon list pokemon 프리뷰 화면의 타입 디자인 개선 - 타입을 포켓몬 이름 아래에 위치시킨다 - 무거운 리사이클러뷰를 삭제한다 - 어댑터의 함수 파라미터에 글자와 아이콘 크기를 넘긴다 * chore: PokemonTypesAdapter 의 패키지 위치 변경 * fix: 아이템 뷰에 타입이 중복해서 추가되는 경우를 방지한다 - viewGroup.removeAllViews() 메서드 추가 * feat: layoutParams 의 높이와 너비를 지정하는 바인딩 어댑터 * refactor: TypeChip 에 ui 설정 데이터 클래스를 만들고 이를 item_type 에 데이터바인딩 * refactor: 상성 보기에서 사용하는 xml 파일을 변경한다 * chore: 타입 사이의 공간 spacing 네이밍 * fix:포켓몬 목록에서 포켓몬 사진 padding 조정 * fix: PoketmonViewHolder -> PokemonViewHolder 네이밍 변경 * refactor: 포켓몬 상세 xml 파일 뷰 계층 제거 - 스탯을 제외하고 뷰 계층 제거 * refactor: 포켓몬 상세 포켓몬 이미지 cropped 가 아닌 이미지 사용 * fix: 포켓몬 목록 리사이클러뷰 아이템 사이 간격 조정 * fix: 타입 사이의 spacing 의 크기를 dp 로 적용 * refactor: PokemonTypeViewConfiguration 의 프로퍼티 네이밍 변경, spacingBetweenTypes 은 어댑터의 파라미터로 옮긴다 * [AN-FEAT] Ability, Dex List InMemory 캐싱 (#149) * feat: ability List 캐싱 * feat: dex List 캐싱 * style: ktLintFormat * refactor: Dex로 네이밍 변경, Fake 레포지토리 변경 * style: ktFormat --------- Co-authored-by: murjune <[email protected]> Co-authored-by: sh1mj1 <[email protected]> * [AN-FIX] 베타 버전 배포 전 2차 QA 버그 수정 (#166) * ui: 가로화면 drawable 추가 * ui: 가로화면 xml 작성 * chore: androidTest 패키지 구조 변경 * test: home 회전 테스트 추가 * test: home 회전 테스트 수정 * feat: 특성화면 세로모드로 고정 * fix: 특성 detail api 통신 수정 * fix: 포켓몬 detail api 통신 수정 * test: home ui test 추가 * test: api 27-29 테스트시 onIdle 추가 * chore: 세로고정 삭제 * ui: 특성 상세 가로 xml 작성 * feat: api testOptions 추가 (#148) * chore: ktlintCheck * [AN-UI] 포켓몬 상세, 목록 화면의 타입 위치 수정 (#136) * refactor: pokemon detail 화면의 view 계층 개선 * refactor: pokemon detail 화면에서 type chip 사용 * refactor: pokemon detail 타입을 보여주는 방법 변경 - 포켓몬 이름 아래에 타입들을 보여준다 - 리사이클러뷰 제거, LinearLayout 에 동적으로 타입들을 추가 * refactor: pokemon detail 화면에서 타입을 추가하는 역할을 어댑터에 위임 * refactor: item pokemon list pokemon 프리뷰 화면의 타입 디자인 개선 - 타입을 포켓몬 이름 아래에 위치시킨다 - 무거운 리사이클러뷰를 삭제한다 - 어댑터의 함수 파라미터에 글자와 아이콘 크기를 넘긴다 * chore: PokemonTypesAdapter 의 패키지 위치 변경 * fix: 아이템 뷰에 타입이 중복해서 추가되는 경우를 방지한다 - viewGroup.removeAllViews() 메서드 추가 * feat: layoutParams 의 높이와 너비를 지정하는 바인딩 어댑터 * refactor: TypeChip 에 ui 설정 데이터 클래스를 만들고 이를 item_type 에 데이터바인딩 * refactor: 상성 보기에서 사용하는 xml 파일을 변경한다 * chore: 타입 사이의 공간 spacing 네이밍 * fix:포켓몬 목록에서 포켓몬 사진 padding 조정 * fix: PoketmonViewHolder -> PokemonViewHolder 네이밍 변경 * refactor: 포켓몬 상세 xml 파일 뷰 계층 제거 - 스탯을 제외하고 뷰 계층 제거 * refactor: 포켓몬 상세 포켓몬 이미지 cropped 가 아닌 이미지 사용 * fix: 포켓몬 목록 리사이클러뷰 아이템 사이 간격 조정 * fix: 타입 사이의 spacing 의 크기를 dp 로 적용 * refactor: PokemonTypeViewConfiguration 의 프로퍼티 네이밍 변경, spacingBetweenTypes 은 어댑터의 파라미터로 옮긴다 * [AN-FEAT] Ability, Dex List InMemory 캐싱 (#149) * feat: ability List 캐싱 * feat: dex List 캐싱 * style: ktLintFormat * refactor: Dex로 네이밍 변경, Fake 레포지토리 변경 * style: ktFormat * fix: 존재하지 않음 경우 filtering * ui: ability pokemon cropImageUrl 적용 * ui: dex detail toolbar 적용 * fix: 뒤로가기 시 Type 없어지는 이슈 해결 * feat: 임시로 로딩뷰 띄우기 * style: ktFormat * 버저닝 * fix: test 이슈 해결, 해결된 문제 삭제 --------- Co-authored-by: kkosang <[email protected]> Co-authored-by: SangHyun Ko <[email protected]> Co-authored-by: sh1mj1 <[email protected]> * [0.1.20-alpha/AN-FEAT] Click Event에 Throttle 처리 (#174) * feat: onSingleClick BindingAdapter * ui: Home, Type, Ability, Dex 에 적용 * style: ktFormat * [0.1.20-alpha/AN-FIX, AN-UI] 포켓몬 상세 화면 스탯 UI 색깔과 타입 UI (#177) * feat: 포켓몬 상세 화면에서 능력치 progress bar 의 크기 증가, 색 적용 * feat: color 추가 pokemon 회색 * refactor: 포켓몬 스탯 ui 에 색을 입힌다 * refactor: 포켓몬 상세 화면에서 타입 UI 를 동ㄱ라미로 변경 * test: 포켓몬 상세 데이터의 타입 ui model 의 변경에 따른 테스트 변경 * refactor: 기존에 사용하던 type to typeUiModel 매핑 함수 제거 * [0.1.20-alpha/AN-FIX] UI 이슈 사항 해결 (#176) * fix: 상성 선택 위치 변경 * ui: add 버튼 추가 * feat: 로고 이미지 크기 변경 * feat: 특성, 포켓몬 디테일 화면에 홈버튼 추가 * ui: 플러스 버튼 수정 * refactor: 액티비티 이동 코드 수정 * chore: 린트 수정 * [0.1.20-alpha/AN-UI] 상성 가로 화면 대응 (#178) * ui: type land 버전 xml 생성 * ui: 화면 모드에 따라 상성 spanCount 다르게 설정 * test: ui 테스트 * [0.1.20.alpha/AN-FEAT] 네트워크 ConnectException 및 HttpException Handling (#179) * build: 버전업 1.2.0 * feat: 인터넷 연결 확인 함수 * feat: NetworkErrorActivity * feat: startActivity util 함수 default args * refactor: ErrorViewModel * feat: AbilityDetail에 에러핸들링 * feat: AbilityList에 에러핸들링 * feat: PokemonList 에러핸들링 * style: ktFormat * refactor: logger ViewModel 에서 주입 받도록 수정 * [0.1.20-alpha/AN-UI, AN-FIX] 특성 description 의 줄 수를 조정한다 (#181) * feat: item_ability_description 가 다른 아이템의 간격을 변하게 하지 않도록 조정한다 * feat: 특성 상세 화면에서는 maxLine 이 동작하지 않도록 해서 특성 description 전체 내용을 보여주도록 한다 --------- Co-authored-by: murjune <[email protected]> * [0.1.20-alpha/AN-UI, AN-FEAT] 포켓몬 이미지를 로딩 중에 progress indicator 를 보인다 (#180) * feat: 포켓몬 상세 화면에 material progressbar 추가 * feat: 포켓몬 상세 화면 이미지 로드 전에 progress bar 보여주기 * fix: 포켓몬 상세에서 progress indicator 보여주는 방식 변경 * feat: 포켓몬 목록 화면에서 포켓몬 progress indicator 추가 * refactor: progress bar 를 사용하는 glide 리스너를 하나의 파일로 분리한다 * chore: progress indicator 색상 변경 * fix: 포켓몬 목록에서 spanCount 가 2 * fix: 포켓몬 아이템에 progressbar 제거 * feat: glide placeholder 에 피카츄 실루엣, 에러에는 메타몽 실루엣 * [0.1.2-alpha/AN-FEAT] Firebase Dev, Alpha 버전 로깅 툴 해제 (#184) * fix: Firebase Dev 버전 로깅 툴 해제 * ktlint * [0.1.20-alpha/AN-FIX, AN_UI] 특성 상세 화면에서 포켓몬의 타입의 위치 변경 (#186) * feat: 포켓몬 상세 화면에 material progressbar 추가 * feat: 포켓몬 상세 화면 이미지 로드 전에 progress bar 보여주기 * fix: 포켓몬 상세에서 progress indicator 보여주는 방식 변경 * feat: 포켓몬 목록 화면에서 포켓몬 progress indicator 추가 * refactor: progress bar 를 사용하는 glide 리스너를 하나의 파일로 분리한다 * chore: progress indicator 색상 변경 * feat: item_ability_description 가 다른 아이템의 간격을 변하게 하지 않도록 조정한다 * feat: 특성 상세 화면에서는 maxLine 이 동작하지 않도록 해서 특성 description 전체 내용을 보여주도록 한다 * feat: 특성 상세에서 포켓몬들의 타입을 이름 아래의 추가한다 * refactor: 로딩 문자열을 strings 리소스로 옮긴다 * refactor: AbilityDetailViewHolder 에서 사용하던 포켓몬 타입 리사이클러뷰 제거 * fix: 타입 텍스트 2줄로 넘어가는 문제 해결 * ui: ability detail 이미지 크기 조정 * feat: 특성 도감 empty 뷰 * feat: dex List ladscape시 span 4개 * style: ktFormat * feat: dex detail 기본 스탯 visible 처리 --------- Co-authored-by: murjune <[email protected]> * [0.1.3-alpha/AN-FIX] 홈화면 이동 기능 수정 (#189) * fix: 포켓몬 상세 페이지에서 홈 화면 이동 * ui: 상성 가로 화면 '+' 이미지 추가 * [0.1.30-alpha/AN-FIX, AN_UI] 포켓몬 디테일 화면 가로 화면 대응 (#195) * feat: 포켓몬 상세 가로 화면 대응 * build: version 0.1.30 으로 * [0.2.0.alpha/AN_UI] 홈 화면 메뉴 추가 (#204) * ui: 홈 메뉴와 관련된 아이콘 추가 * ui: 추가된 메뉴 xml 작성 * feat: 바이옴 화면 추가 * feat: 아이템 화면 추가 * feat: 홈 화면과 연결 * style: ktFormat * [0.2.0.alpha/AN-FEAT] remote ApiResponse 로 적용, BaseResponse 삭제, app 단 retrofit 의존성 걷어내기 (#207) * feat: ApiResponse * feat: CallAdapter 를 통해 기존 Call intercept 후 Service Return 타입 ApiResponse * refactor: injector 패키지로 이동 * feta: BaseResponse UnWrap * test: Ability Service * style: ktFormat * feat: PokeException * feat: ApiResponseExtensions * refactor: PokeException 적용 * style: ktFormat * feat: app 단에 PokeExcetion 적용 * style: ktFormat * [0.2.0.alpha/AN-FEAT, AN_UI] 포켓몬 상세 화면 Tab layout 틀 (#209) * feat: 포켓몬 상세 액티비티 이미지와 이름, 툴바 위치 * feat: 포켓몬 상세 포켓몬 이미지와 타입 위치 * feat: context 확장 함수 stringOf 추가해서 여러 파라미터를 받을 수 있다 * feat: 포켓몬 상세에서 viewmodel 로부터 데이터를 받아온다 * feat: 포켓몬 상세 하단에 탭 레이아웃과 뷰 페이저 스켈레톤 * refactor: 포켓몬 상세의 뷰페이저 클래스 분리, 메서드 분리 * refactor: 포켓몬 상세의 뷰페이저 클래스 분리, 메서드 분리 * refactor: 디폴트로 생성된 프래그먼트에서 필요없는 정보 지우기 * feat: 포켓몬 상세 tablayout 에 스타일 적용 * feat: 포켓몬 목록에서 포켓몬 상세 액티비티로 연결 * feat: 뷰페이저 프래그먼트들 lint * feat: 포켓몬 상세 툴바 연결 * feat: 포켓몬 상세에서 능력치와 특성 연결 * feat: 포켓몬 상세에서 능력치와 특성 연결 * feat: Manifest 에 포켓몬 상세 액티비티를 추가한다 * feat: 포켓몬 상세에 스크롤 뷰 추가 * refactor: PokemonDetailPagerAdapter 프래그먼트를 Listof 로 * refactor: PokemonActivity 의 intent 제거 * refactor: 포켓몬 목록 프래그먼트의 주석 제거 * [0.2.0.alpha/FEAT-AN] RemoteDataSource 에서 erro log 심기 (#208) * feat: ApiResponse * feat: CallAdapter 를 통해 기존 Call intercept 후 Service Return 타입 ApiResponse * refactor: injector 패키지로 이동 * feta: BaseResponse UnWrap * test: Ability Service * style: ktFormat * feat: PokeException * feat: ApiResponseExtensions * refactor: PokeException 적용 * style: ktFormat * feat: app 단에 PokeExcetion 적용 * style: ktFormat * feat: Analytics Stub * build: data에 analytics 모듈 추가 * feat: 서버 통신 로직에 logger 추가 * [0.2.0.alpha/AN_UI] 바이옴 리스트 화면 추가 (#214) * ui: 홈 메뉴와 관련된 아이콘 추가 * ui: 추가된 메뉴 xml 작성 * feat: 바이옴 화면 추가 * feat: 아이템 화면 추가 * feat: 홈 화면과 연결 * style: ktFormat * ui: 바이옴 아이템 및 페이지 xml 작성 * feat: 바이옴 xml 연결 * feat: 바이옴 상세 화면 구현 및 연결 * feat: 바이옴 디테일 화면 이동 * style: ktFormat * feat: dummy data 추가 * refactor: 불필요한 부분 삭제 * [0.2.0.alpha/AN-FEAT] 네트워크 ReConnection 시 Refresh (#212) * feat: ApiResponse * feat: CallAdapter 를 통해 기존 Call intercept 후 Service Return 타입 ApiResponse * refactor: injector 패키지로 이동 * feta: BaseResponse UnWrap * test: Ability Service * style: ktFormat * feat: PokeException * feat: ApiResponseExtensions * refactor: PokeException 적용 * style: ktFormat * feat: app 단에 PokeExcetion 적용 * style: ktFormat * feat: EventFlow, RefreshEventBus * refactor: 패키지 이동, 네이밍 변경 * ui: poke dex empty 뷰 * feat: NetworkException 시 리프레시 하도록 * style: ktFormat * chore: intent 삭제 * [0.2.0.alpha/AN_FEAT, AN_UI] 포켓몬 상세 화면에서 기술들을 보여준다 (#226) * feat: 포켓몬 상세 액티비티 이미지와 이름, 툴바 위치 * feat: 포켓몬 상세 포켓몬 이미지와 타입 위치 * feat: context 확장 함수 stringOf 추가해서 여러 파라미터를 받을 수 있다 * feat: 포켓몬 상세에서 viewmodel 로부터 데이터를 받아온다 * feat: 포켓몬 상세 하단에 탭 레이아웃과 뷰 페이저 스켈레톤 * refactor: 포켓몬 상세의 뷰페이저 클래스 분리, 메서드 분리 * refactor: 포켓몬 상세의 뷰페이저 클래스 분리, 메서드 분리 * refactor: 디폴트로 생성된 프래그먼트에서 필요없는 정보 지우기 * feat: 포켓몬 상세 tablayout 에 스타일 적용 * feat: 포켓몬 목록에서 포켓몬 상세 액티비티로 연결 * feat: 뷰페이저 프래그먼트들 lint * feat: 포켓몬 상세 툴바 연결 * feat: 포켓몬 상세에서 능력치와 특성 연결 * feat: 포켓몬 상세에서 능력치와 특성 연결 * feat: Manifest 에 포켓몬 상세 액티비티를 추가한다 * feat: 포켓몬 상세에 스크롤 뷰 추가 * chore: 포켓몬 상세 페이지 tab 재목 리소스로 * refactor: 포켓몬 상세에서 옵저빙 기능을 메서드로 분리한다 * feat: 포켓몬 상세 특성에 decoration * feat: 포켓몬 상세에서 특성을 선택하면 특성 액티비티로 이동 * refactor: 특성 액티비티에 intent 함수 추가 * feat: Pokemon 능력치 프래그먼트에서 특성 상세로 가는 이벤트 핸들러를 바인딩한다 * feat: 특성 액티비티에서 디테일과 목록 프래그먼트로 네비게이팅한다 * refactor: 특성 상세 프래그먼트에서 포켓몬 상세 액티비티로 네비게이팅 * feat: 포켓몬 기술 데이터 클래스와 가짜 기술 데이터 * feat: 포켓몬 상세 데이터에 기술 리스트 프로퍼티 추가 * feat: 포켓몬 기술 카테고리(물리, 특수, 변화) * feat: 포켓몬 기술의 카테고리를 MoveCategory 로 * feat: PokemonMove 에서 PokemonMoveUiModel 로 매핑 * feat: 포켓몬 디테일에서 ui 모델로 매핑할 때 기술 정보 추가 * test: 포켓몬 상세 뷰모델 데이터 로드 * fix: 포켓몬 상세의 tab 제목 버그 변경 * chore: PokemonMovesUiModel.kt -> PokemonMoveUiModel 네이밍 변경 * feat: 포켓몬 디테일 ui 매핑에 기술 추가 * chore: ktlint * feat: 포켓몬 상세 기술 view 프로토 타입 * feat: 배틀 구도, 아이템 도감 기능 선택 시 coming soon toast message * feat: 포켓몬 기술 모델 ui 모델 분리 * feat: 특수, 물리, 변화기 아이콘 추가 * feat: 텍스트 크기 조정 - issue: 빠르게 스크롤 시에 아이템이 날라가는 버그가 있다 * feat: 포켓몬 상세의 뷰 페이저 프래그먼트들의 height 를 다시 그림으로 구한다. - `binding.root.requestLayout()`` * chore: 포켓몬 상세 기술 정보 텍스트 사이즈 * feat: 포켓몬 상세 기술에 itemDecoration 추가 * feat: 포켓몬 상세 기술에 divider 추가 * feat: 위력이 없는 기술은 - 로 표시한다 * test: PokemonDetailViewModelTest 테스트 수정 * chore: 포켓몬 상세 패키지 이동 * chore: 포켓몬의 기술을 move 에서 skill 이라는 네이밍으로 변경 * [0.2.0-alph/AN-UI,Fix] 화면 나갔다가 5초 이후에 오둥이 보이는 버그 수정 + clearFocus (#225) * refactor: PokeListFragment -> PokeActivity * test: EventFLowTest * chore: RefreshEventBus 네이밍 변경 * fix: 5초 지나고 화면 다시 돌아오면 오둥이 보이는 버그 수정 * feat: SearchView clearFocus * style: ktFormat * ui: margin 늘리기 * [0.2.0.alpha/AN-UI] 배틀 도우미 화면 구현 (#232) * feat: 배틀 페이지 이동 * chore: 필요한 아이콘 추가 * chore: 필요한 배경 및 스타일 지정 * ui: 배틀 페이지 xml 작성 * ui: 날씨 선택 스피너 구현 * ui: 배틀 페이지 액티비티 구현 * feat: 날씨 데이터 연결 * refactor: adapter의 리스트 데이터를 업데이트할 수 있도록 변경 * fix: 린트 수정 및 충돌 해결 * [0.2.0.alpha/AN-FEAT] Pokemon FIlter, Sort data 로직 (#228) * refactor: PokeListFragment -> PokeActivity * test: EventFLowTest * chore: RefreshEventBus 네이밍 변경 * fix: 5초 지나고 화면 다시 돌아오면 오둥이 보이는 버그 수정 * feat: SearchView clearFocus * style: ktFormat * ui: margin 늘리기 * feat: Pokemon 프로퍼티 추가 * feat: Pokemon filter, sort * feat: Pokemon filtering, Sort 로직 * test: FakeDexRepository * style: KtFormat * feat: 여러 filter 조건으로 받을 수 있도록 리팩토링 * refactor: filter 네이밍 변경 * [0.2.0.alpha/AN-UI] 바이옴 상세 화면 UI 구현 (#238) * ui: tablayout xml 작성 및 연결 * ui: viewPager fragment xml 작성 * ui: tablayout(다음바이옴) xml 작성 및 연결 * ui: tablayout 디자인 변경 * ui: 야생 포켓몬 xml 작성 * ui: 야생 포켓몬 화면 구현 * ui: boss fragment 추가 * ui: tablayout(gym) 추가 * refactor: 야생 fragment uiModel 수정 * refactor: 바이옴 포켓몬 네이밍 수정 * ui: boss fragment 화면 작성 및 연결 * config: coil-svg 추가 * feat: svgUrl 바인딩 어댑터 * ui: 체육관 관장 fragment xml 작성 및 연결 * refactor: tablayout string-array 이용 * refactor: 패키지 이동 및 네이밍 수정 * ui: xml 수정 * style: ktFormat * style: ktFormat * refactor: ui 관련 코드리뷰 반영 * refactor: 다음 바이옴 네이밍 변경 * style: ktFormat --------- Co-authored-by: kkosang <[email protected]> * [0.2.0.alpha/AN-UI] 배틀 도우미 선택 화면 구현 (#239) * ui: 배틀 선택 activity 정의 * ui: 포켓몬, 기술 선택 fragment 정의 * ui: 선택 UI 모델 정의 * ui: 포켓몬, 기술 선택 어댑터 정의 * chore: 패키지 분리 * ui: 아이템 선택 시 선택된 효과 표시 * ui: 선택된 포켓몬 정보 연결 * feat: 화면 이동 버튼 기능 구현 * chore: UiState 패키지 이동 - 배틀 선택 페이지 내에 있던 UiState를 배틀 패키지 내로 이동 --------- Co-authored-by: JoYehyun <[email protected]> * [0.2.0.alpha/AN_FEAT] 포켓몬 상세에서 정보 화면, id(Long -> String) (#240) * chore: 포켓몬 상세 탭 타이틀을 string-array 로 한다 * chore: strings 리소스에 dex 를 pokemon_list 와 detail 로 * feat: 포켓몬 상세에서 필요한 데이터 정의 * feat: 포켓몬 상세에서 필요한 데이터 바이옴 추가 * feat: 데이터 레이어 Biome 추가 * feat: 포켓몬 상세 정보에서 바이옴 정보 item UI * feat: 포켓몬 상세 정보에서 바이옴 뷰 홀더 * feat: 포켓몬 상세 정보 프래그먼트 ui xml * feat: 포켓몬 상세 정보에서 바이옴 어댑터 * feat: 포켓몬 상세 뷰모델에 바이옴 상세로 네비게이션하는 이벤트 추가 * feat: 바이옴 상세 액티비티 동반 객체에 intent 추가 * feat(PokemonInformationFragment): 포켓몬 상세 액티비티 뷰모델, 어댑터 연결 * feat(PokemonDetailActivity): 포켓몬 상세에서 바이옴 상세로 네비게이션 * fix(Biome): 바이옴 이미지 url 변경 * feat(PokemonInformationFragmen): 바이옴 라사이클러뷰에 데코레이션 * feat: 바이옴 타이틀과 바이옴 아이템 사이 구분선 추가 * feat(NewPokemon,NewPokemonUiModel): id 를 Long -> String * feat presentation layer 에 NewPokeMonUiModel 적용 * feat(DexRepository): 포켓몬 리스트 리턴을 NewPokemon 으로 * feat(DexDataSource): 포켓몬 리스트 리턴을 NewPokemon 으로 * feat(NewPokemonDetail, NewAbility): response 에서 데이터로 * feat(DexRepository,RemoteDexDataSource.kt) 에서 데이터를 NewPokemonDetail 로 * feat(AbilityDetail): NewPokemon 리스트로 * refactor: 포켓몬 상세 액티비티 뷰모델에서 pokemonId 는 String * feat: PokemonSkill 의 클래스 변경됨 * feat: 포켓몬 특성 id 를 Long -> String 으로 * refactor: Ability 의 id 를 Long -> String - issue: 포켓몬 상세에서 특성 상세로 이동 시 예외 * refactor: 포켓몬 상세에서 특성 상세로 이동하도록 한다 - 이전 커밋(80872b6f) 이슈 해결 * chore: ktlint * refactor: NewPokemon -> Pokemon * refactor: NewSKill -> PokemonSkill * refactor: NewPokemonDetail -> PokemonDetail * chore: 네이밍 NewPokemonSKills -> PokemonDetailSkills * refactor: NewAbility -> PokemonDetailAbility * refactor: id: Long 을 모두 id: String 로 변경 * fix(data/unitTest): id 값을 String 으로 * fix: 특성 상세 프래그먼트에서 bundle 이 null 일 때 처리 * fix: Pokemon 클래스의 더미데이터 복구 * chore: 포켓몬 상세 특성 ui model 네이밍 변경 * feat: 기술머신으로 배우는 PokemonSkill 리스트 추가 * test: data 레이어의 모델의 id String 으로 * chore: ktlint * refactor: getStringArrayOf 를 확장 유틸함수로 --------- Co-authored-by: sh1mj1 <[email protected]> * [0.2.0.alpha/AN_FEAT_UI] PokemonList Filter, PokeChip, PokeChipGroup Component 구현 (#242) * refactor: PokeListFragment -> PokeActivity * test: EventFLowTest * chore: RefreshEventBus 네이밍 변경 * fix: 5초 지나고 화면 다시 돌아오면 오둥이 보이는 버그 수정 * feat: SearchView clearFocus * style: ktFormat * ui: margin 늘리기 * feat: Pokemon 프로퍼티 추가 * feat: Pokemon filter, sort * feat: Pokemon filtering, Sort 로직 * test: FakeDexRepository * style: KtFormat * [2.0.0-alph/AN-UI,Fix] 화면 나갔다가 5초 이후에 들어오면 오둥이 보이는 버그 수정 + clearFocus (#225) * refactor: PokeListFragment -> PokeActivity * test: EventFLowTest * chore: RefreshEventBus 네이밍 변경 * fix: 5초 지나고 화면 다시 돌아오면 오둥이 보이는 버그 수정 * feat: SearchView clearFocus * style: ktFormat * ui: margin 늘리기 * [2.0.0.alpha/AN-UI] 배틀 도우미 화면 구현 (#232) * feat: 배틀 페이지 이동 * chore: 필요한 아이콘 추가 * chore: 필요한 배경 및 스타일 지정 * ui: 배틀 페이지 xml 작성 * ui: 날씨 선택 스피너 구현 * ui: 배틀 페이지 액티비티 구현 * feat: 날씨 데이터 연결 * refactor: adapter의 리스트 데이터를 업데이트할 수 있도록 변경 * fix: 린트 수정 및 충돌 해결 * ui: PokeChip, PokeChipGroup * [0.2.0.alpha/AN-FEAT] Pokemon FIlter, Sort data 로직 (#228) * refactor: PokeListFragment -> PokeActivity * test: EventFLowTest * chore: RefreshEventBus 네이밍 변경 * fix: 5초 지나고 화면 다시 돌아오면 오둥이 보이는 버그 수정 * feat: SearchView clearFocus * style: ktFormat * ui: margin 늘리기 * feat: Pokemon 프로퍼티 추가 * feat: Pokemon filter, sort * feat: Pokemon filtering, Sort 로직 * test: FakeDexRepository * style: KtFormat * feat: 여러 filter 조건으로 받을 수 있도록 리팩토링 * refactor: filter 네이밍 변경 * refactor: packaing * ui: Chip select 시 bold 처리 * fix: DexRepository isBlanck() 로 변경 * build: crashlytics impl 위치 변경 * chore: sample Activity 삭제 * feat: PokeFIlter 구현 * style: ktFormat * refactor: 코드 정리 * chore: PokeChipSpec -> Spec * chore: 불필요한 Timber 삭제 * style: ktFormat * ui: PokeChip - ConerRadius, Padding 추가 * ui: PokeSpec - color, sizes naming 변경 --------- Co-authored-by: Yehyun Jo <[email protected]> * [0.2.0.alpha/AN_FEAT] PokemonList Sort Chip 구현, Sort BottomSheet 구현 (#254) * refactor: PokeListFragment -> PokeActivity * test: EventFLowTest * chore: RefreshEventBus 네이밍 변경 * fix: 5초 지나고 화면 다시 돌아오면 오둥이 보이는 버그 수정 * feat: SearchView clearFocus * style: ktFormat * ui: margin 늘리기 * feat: Pokemon 프로퍼티 추가 * feat: Pokemon filter, sort * feat: Pokemon filtering, Sort 로직 * test: FakeDexRepository * style: KtFormat * [2.0.0-alph/AN-UI,Fix] 화면 나갔다가 5초 이후에 들어오면 오둥이 보이는 버그 수정 + clearFocus (#225) * refactor: PokeListFragment -> PokeActivity * test: EventFLowTest * chore: RefreshEventBus 네이밍 변경 * fix: 5초 지나고 화면 다시 돌아오면 오둥이 보이는 버그 수정 * feat: SearchView clearFocus * style: ktFormat * ui: margin 늘리기 * [2.0.0.alpha/AN-UI] 배틀 도우미 화면 구현 (#232) * feat: 배틀 페이지 이동 * chore: 필요한 아이콘 추가 * chore: 필요한 배경 및 스타일 지정 * ui: 배틀 페이지 xml 작성 * ui: 날씨 선택 스피너 구현 * ui: 배틀 페이지 액티비티 구현 * feat: 날씨 데이터 연결 * refactor: adapter의 리스트 데이터를 업데이트할 수 있도록 변경 * fix: 린트 수정 및 충돌 해결 * ui: PokeChip, PokeChipGroup * [0.2.0.alpha/AN-FEAT] Pokemon FIlter, Sort data 로직 (#228) * refactor: PokeListFragment -> PokeActivity * test: EventFLowTest * chore: RefreshEventBus 네이밍 변경 * fix: 5초 지나고 화면 다시 돌아오면 오둥이 보이는 버그 수정 * feat: SearchView clearFocus * style: ktFormat * ui: margin 늘리기 * feat: Pokemon 프로퍼티 추가 * feat: Pokemon filter, sort * feat: Pokemon filtering, Sort 로직 * test: FakeDexRepository * style: KtFormat * feat: 여러 filter 조건으로 받을 수 있도록 리팩토링 * refactor: filter 네이밍 변경 * refactor: packaing * ui: Chip select 시 bold 처리 * fix: DexRepository isBlanck() 로 변경 * build: crashlytics impl 위치 변경 * chore: sample Activity 삭제 * feat: PokeFIlter 구현 * style: ktFormat * refactor: 코드 정리 * chore: PokeChipSpec -> Spec * chore: 불필요한 Timber 삭제 * style: ktFormat * ui: PokeChip - ConerRadius, Padding 추가 * ui: PokeSpec - color, sizes naming 변경 * test: fake 객체 값 수정 * ui: check, sort icon 추가 * refactor: pokemon filter 코드 정리 * ui: SelectableUiModel parcelable 적용 * feat: pokemon Sort 구현 * feat: PokeFilterViewModel SavedStateHandle 적용 * style: ktformat * feat: ui test margin 변경 * chore: Fake 삭제 * chore: ktFormat * ci: Pr_builder 수정 * fix: test 수정 * ktFormat 이다 이말이야 --------- Co-authored-by: Yehyun Jo <[email protected]> * [0.2.0.alpha/AN_FEAT] 바이옴 네트워크 연결 (#256) * ui: tablayout xml 작성 및 연결 * ui: viewPager fragment xml 작성 * ui: tablayout(다음바이옴) xml 작성 및 연결 * ui: tablayout 디자인 변경 * [2.0.0-alph/AN-UI,Fix] 화면 나갔다가 5초 이후에 들어오면 오둥이 보이는 버그 수정 + clearFocus (#225) * refactor: PokeListFragment -> PokeActivity * test: EventFLowTest * chore: RefreshEventBus 네이밍 변경 * fix: 5초 지나고 화면 다시 돌아오면 오둥이 보이는 버그 수정 * feat: SearchView clearFocus * style: ktFormat * ui: margin 늘리기 * ui: 야생 포켓몬 xml 작성 * ui: 야생 포켓몬 화면 구현 * [2.0.0.alpha/AN-UI] 배틀 도우미 화면 구현 (#232) * feat: 배틀 페이지 이동 * chore: 필요한 아이콘 추가 * chore: 필요한 배경 및 스타일 지정 * ui: 배틀 페이지 xml 작성 * ui: 날씨 선택 스피너 구현 * ui: 배틀 페이지 액티비티 구현 * feat: 날씨 데이터 연결 * refactor: adapter의 리스트 데이터를 업데이트할 수 있도록 변경 * fix: 린트 수정 및 충돌 해결 * ui: boss fragment 추가 * ui: tablayout(gym) 추가 * refactor: 야생 fragment uiModel 수정 * refactor: 바이옴 포켓몬 네이밍 수정 * ui: boss fragment 화면 작성 및 연결 * config: coil-svg 추가 * feat: svgUrl 바인딩 어댑터 * ui: 체육관 관장 fragment xml 작성 및 연결 * refactor: tablayout string-array 이용 * refactor: 패키지 이동 및 네이밍 수정 * ui: xml 수정 * style: ktFormat * style: ktFormat * feat: 바이옴 리스트 dto 작성 * feat: 바이옴 디테일 dto 작성 * feat: 바이옴 remote ApiService * refactor: biomeDetail response 네이밍 변경 * feat: biome list mapper * feat: biome detail mapper * refactor: 다음 바이옴 네이밍 변경 * refactor: biome data -> pokemonBiome으로 네이밍 변경 * refactor: BiomeService 변경 * feat: biome pokemon data & mapper * feat: biomeDataSource 구현 * feat: biomeRepository 구현 * feat: fake repo 생성 * feat: fake repo test 추가 * style: ktFormat * refactor: 불필요한 코드 삭제 * feat: 바이옴 포켓몬 dto id값 추가 * test: 바이옴 포켓몬 dto id값 추가에 따른 테스트 수정 * style: ktFormat --------- Co-authored-by: JUNWON LEE <[email protected]> Co-authored-by: Yehyun Jo <[email protected]> * [0.2.0.alpha/AN_FEAT, AN_UI] 포켓몬 상세 화면에서 진화 정보 (#257) * feat: 단일 진화 UI Model * feat(EvolutionsUiModel): 여러 진화 UIModel 을 목록으로 가진다 * feat(item_pokemon_detail_evolution): 진화 아이템 * feat: 포켓몬 진화 UiModel 에 imageUrl 추가 * fix(PokemonDetailViewModel): lint 깨지는 문제 해결 * feat(SingleEvolutionUiModel): add more dummy data 고라파덕 * feat(EvolutionsUiModel): 진화 체인이 있는지 확인한다 * feat(item_pokemon_detail_evolution): 진화 정보에서 하나의 포켓몬 개체 * feat: 진화 정보 뷰 홀더와 어댑터 * feat: 포켓몬 진화 아이템에 레벨 텍스트뷰 추가 * feat: 포켓몬 진화 정보 UI 완성 * feat: 포켓몬 진화 정보 이브이 더미 데이터 추가 * feat(NestedScrollableHost): viewpager2 와 리사이클러뷰의 스크롤 중첩을 위한 기능 * feat(PokemonEvolutionViewGroup): 포켓몬 진화 뷰그룹 커스텀 뷰 * refactor(PokemonEvolutionFragment): 포켓몬 진화 뷰 그룹 커스텀 뷰 사용 * feat: 포켓몬 상세 탭 레이아웃에 배경 * chore: 더미 데이터 이브이로 * [0.2.0.alpha/AN_FEAT] 배틀 도우미 세부 기능 구현 (#260) * feat: 포켓몬 선택 시 이동 기능 * feat: 내 포켓몬, 상대 포켓몬 선택에 따라 페이지 구성 및 버튼 다르게 설정 * feat: 포켓몬을 선택해야만 다음 단계로 넘어가도록 설정 * feat: 선택한 데이터 BattleActivity로 전송 * feat: 선택된 데이터 반영 * feat: 선택 결과 불러오기 기능 * feat: 선택 결과 공유 로직 * refactor: 포켓몬, 기술 선택 뷰모델 분리 * feat: 기존 선택했던 데이터 유지 * feat: 기존 선택했던 스킬 데이터 유지 및 갱신 로직 구현 * refactor: 검색바 설정 * fix: 기존 데이터 유지 로직 수정 * [0.2.0.alpha/AN-FEAT] PokeList Room Cache, Splash 화면, Pokemon Api v2 서버 연결 (#262) * refactor: PokeListFragment -> PokeActivity * test: EventFLowTest * chore: RefreshEventBus 네이밍 변경 * fix: 5초 지나고 화면 다시 돌아오면 오둥이 보이는 버그 수정 * feat: SearchView clearFocus * style: ktFormat * ui: margin 늘리기 * feat: Pokemon 프로퍼티 추가 * feat: Pokemon filter, sort * feat: Pokemon filtering, Sort 로직 * test: FakeDexRepository * style: KtFormat * [2.0.0-alph/AN-UI,Fix] 화면 나갔다가 5초 이후에 들어오면 오둥이 보이는 버그 수정 + clearFocus (#225) * refactor: PokeListFragment -> PokeActivity * test: EventFLowTest * chore: RefreshEventBus 네이밍 변경 * fix: 5초 지나고 화면 다시 돌아오면 오둥이 보이는 버그 수정 * feat: SearchView clearFocus * style: ktFormat * ui: margin 늘리기 * [2.0.0.alpha/AN-UI] 배틀 도우미 화면 구현 (#232) * feat: 배틀 페이지 이동 * chore: 필요한 아이콘 추가 * chore: 필요한 배경 및 스타일 지정 * ui: 배틀 페이지 xml 작성 * ui: 날씨 선택 스피너 구현 * ui: 배틀 페이지 액티비티 구현 * feat: 날씨 데이터 연결 * refactor: adapter의 리스트 데이터를 업데이트할 수 있도록 변경 * fix: 린트 수정 및 충돌 해결 * ui: PokeChip, PokeChipGroup * [0.2.0.alpha/AN-FEAT] Pokemon FIlter, Sort data 로직 (#228) * refactor: PokeListFragment -> PokeActivity * test: EventFLowTest * chore: RefreshEventBus 네이밍 변경 * fix: 5초 지나고 화면 다시 돌아오면 오둥이 보이는 버그 수정 * feat: SearchView clearFocus * style: ktFormat * ui: margin 늘리기 * feat: Pokemon 프로퍼티 추가 * feat: Pokemon filter, sort * feat: Pokemon filtering, Sort 로직 * test: FakeDexRepository * style: KtFormat * feat: 여러 filter 조건으로 받을 수 있도록 리팩토링 * refactor: filter 네이밍 변경 * refactor: packaing * ui: Chip select 시 bold 처리 * fix: DexRepository isBlanck() 로 변경 * build: crashlytics impl 위치 변경 * chore: sample Activity 삭제 * feat: PokeFIlter 구현 * style: ktFormat * refactor: 코드 정리 * chore: PokeChipSpec -> Spec * chore: 불필요한 Timber 삭제 * style: ktFormat * ui: PokeChip - ConerRadius, Padding 추가 * ui: PokeSpec - color, sizes naming 변경 * test: fake 객체 값 수정 * ui: check, sort icon 추가 * refactor: pokemon filter 코드 정리 * ui: SelectableUiModel parcelable 적용 * feat: pokemon Sort 구현 * feat: PokeFilterViewModel SavedStateHandle 적용 * style: ktformat * feat: ui test margin 변경 * chore: Fake 삭제 * chore: ktFormat * ci: Pr_builder 수정 * fix: test 수정 * ktFormat 이다 이말이야 * feat: pokemons2 서버 연결 * ui: 포켓몬 Splash 이미지 * feat: dexRepository warmUp 함수 추가 * feat: Intro 뷰 * ui: new type icon 반영 * build: local android junit5, kotest 추가 * feat: pokemon db에 저장 * feat: local Database 캐싱 연동 * style: ktFormat * feat: stats 필드 추가 * ui: pokemonList 에 stat ui * style: ktFormat * fix: select 된 Sort 한 번 더 누르면 팅기는 문제 * feat: connection 시간 줄이기 * feat: home으로 이동시 종료 * chore: 불필요한 코드 삭제 * style: ktlintFormat --------- Co-authored-by: Yehyun Jo <[email protected]> * [0.2.0.alpha/AN_FEAT] 바이옴 리스트 Api 연결 (#266) * feat: biome mapper * feat: fetch remote data * feat: loading view * refactor: uiModel id값 변경 * style: ktFormat * feat: ViewModel test * style: ktFormat * test: biome id값 변경에 따른 테스트 수정 * refactor: biome type dto 수정 * feat: biome Detail 서버 연동 및 기타 작업 * fix: test --------- Co-authored-by: murjune <[email protected]> * [0.2.0.alpha/AN_FEAT] 배틀 도우미 API 연결 (#279) * feat: 배틀 api 연결 세팅 * feat: 날씨 api 연결 * feat: 포켓몬에 해당 하는 기술 api 연결 * feat: 배틀 계산 결과 api 연결 * ui: 피드백 반영 * feat: 수정된 서버 데이터 대응 * feat: 스킬 검색 기능 구현 * chore: 주석 제거 * feat: 포켓몬 선택 검색 기능 구현 * chore: 린트 체크 * [1.0.0/AN/Release] (#280) * fix: idx로 hashID * �chore: 바이옴에서 포켓몬 상세페이지 이동 일단 막기 * chore: 포켓몬 리스트에서 포켓몬 상세페이지 이동 일단 막기 * fix: PokeChip spec이 null일 때 처리 * feat: item도감, 꿀팁 도감 삭제(주석처리) * style: ktFormat * build: 1.0.0으로 버전업 * .gitignore 추가 * fix: PokeChip * build: release gradle * build: 프로가드, signKey * build: 1.0.1로 배포 * fix: firebase fragment1.1.0, activity1.1.0 참조되는 문제 해결 * fix: backImage dto 추가 * chore: 테스트 임시 주석처리 * [0.2.0.alpha/AN_FEAT] 포켓몬 상세 서버 연결, 바이옴 <-> 포켓몬 상세 이동 (#281) * feat: 단일 진화 UI Model * feat(EvolutionsUiModel): 여러 진화 UIModel 을 목록으로 가진다 * feat(item_pokemon_detail_evolution): 진화 아이템 * feat: 포켓몬 진화 UiModel 에 imageUrl 추가 * fix(PokemonDetailViewModel): lint 깨지는 문제 해결 * feat(SingleEvolutionUiModel): add more dummy data 고라파덕 * feat(EvolutionsUiModel): 진화 체인이 있는지 확인한다 * feat(item_pokemon_detail_evolution): 진화 정보에서 하나의 포켓몬 개체 * feat: 진화 정보 뷰 홀더와 어댑터 * feat: 포켓몬 진화 아이템에 레벨 텍스트뷰 추가 * feat: 포켓몬 진화 정보 UI 완성 * feat: 포켓몬 진화 정보 이브이 더미 데이터 추가 * feat(NestedScrollableHost): viewpager2 와 리사이클러뷰의 스크롤 중첩을 위한 기능 * feat(PokemonEvolutionViewGroup): 포켓몬 진화 뷰그룹 커스텀 뷰 * refactor(PokemonEvolutionFragment): 포켓몬 진화 뷰 그룹 커스텀 뷰 사용 * feat: 포켓몬 상세 탭 레이아웃에 배경 * chore: 더미 데이터 이브이로 * feat(EvolutionResponse): 진화 응답 * feat(BiomeResponse): 상세에서 바이옴 응답 * feat(PokemonSkillResponse): 상세에서 포켓몬 스킬 응답 * feat(AbilityResponse2): 상세에서 포켓몬 특성 응답 * feat(PokemonDetailResponse2): 상세에서 포켓몬 상세 응답 * feat(PokeDexService): 포켓몬 상세 정보 불러오기 * feat(PokemonBiomeResponse): image 필드 추가, 네이밍 변경 * feat(Evolution): 진화 정보 dto -> data 매핑 * feat(PokemonBiome): 포켓몬 바이옴 dto -> data 매핑 * feat(PokemonDetailAbility): 포켓몬 상세의 특성 dto -> data 매핑 * feat(SkillCategory2): 카테고리 이름과 로고를 필드로 갖는다 * feat(PokemonSkill2): 포켓몬 기술 dto -> data 매핑 * feat(PokemonDetail2): 포켓몬 상세의 프로퍼티 수정, dto -> data 매핑 * feat(RemoteDexDataSource): PokemonDetail2 타입으로 데이터 요청 * chore(PokemonDetailSkills2): 네이밍 오타 수정 * feat: 포켓몬 상세 데이터 리턴 * feat(PokemonDetailUiState2): 포켓몬 상세 ui state 2 * feat(item_pokemon_detail_skill.xml): 포켓몬 상세의 스킬 아이템에 이미지는 String * feat(fragment_pokemon_skills): 알 기술 프로토 타입 UI * feat: 포켓몬 상세 ui state 2 로 * chore(Evolution): 더미데이터 추가 * chore(Stat): 더미데이터 추가 * chore(PokemonSkill): 더미데이터 추가 * feat(StatUiModel): 종족값 ui model 로 매핑 * feat(PokemonDetailAbility): 더미데이터 추가 * feat(FakeDexRepository): 포켓몬 상세 메서드 pokemon2 를 구현 * test(PokemonDetailViewModelTest): 포켓몬 상세 데이터(pokemon2 메서드)를 불러온다 * feat(fragment_pokemon_skills): 포켓몬 기술 프래그먼트에 알 기술 추가 * chore: ktlint * refactor: AbilityResponse2 -> PokemonAbilityResponse 로 네이밍 * refactor: PokemonDetailUiState2 -> PokemonDetailUiState * refactor(DefaultDexRepository): 포켓몬 상세를 불러오는 네이밍 변경 pokemon2 -> pokemon * refactor(RemoteDexDataSource): 포켓몬 상세 api pokemon2 -> pokmon * refactor(PokemonDetail): PokemonDetail2 -> PokemonDetail 교체 * refactor(PokemonDetailSkills): PokemonDetailSkills2 -> PokemonDetailSkills 교체 * refactor(PokemonSkill): PokemonSkill2 -> PokemonSkill 교체 * refactor(SkillCategory): SkillCategoryUiModel,SkillCategory2 삭제 * chore: ktlint * feat(EvolutionsUiModel): 진화 데이터 ui 모델로 * chore: PokemonStatFragment 사용하지 않는 data -> ui 매핑 함수 제거 * feat(PokemonEvolutionFragment): 포켓몬 진화 데이터 viewmodel 과 연결 * feat(PokemonDetailResponse): 포켓몬 상세 응답 클래스 프로퍼티 * feat(PokemonDetail): 변경된 서버 API 스펙에 맞춰 변경 * feat: 포켓몬 바이옴 정보 연결 * feat: 포켓몬 진화 정보에서 아이템과 조건이 유효하지 않을 때 보이지 않게 한다 * feat(PokemonDetailAbility): 중복된 특성이 내려오는 경우 중복 제거 * feat(item_ability_title): 특성이 passive 인지, hidden 인지에 따라 색 지정 * feat: 포켓몬 진화 체인에서 포켓몬 클릭 시 해당 포켓몬 상세로 이동 * fix: 바이옴 상세 터지는 에러 해결 * fix: 바이옴 상세 -> 포켓몬 상세로 navigate * test(PokemonDetailViewModelTest): 포켓몬 상세 데이터를 불러온다 fix * feat: 진화 response api 명세에 맞게 변경 * [1.0.1/AN_FEAT] 배틀 페이지 뒷모습 이미지 추가 (#288) * feat:뒷모습 이미지 추가 * chore: 테스트 실패 해결 * [1.0.1/AN_FEAT] 특성 목록, 특성 상세 API 연결 (#287) * feat(AbilityResponse2): property includes id, name, description * feat(AbilityDetailResponse2): property includes name, description, pokemons * feat(ability2.json , abilities2.json): 특성 가짜 json 파일 * feat(AbilityService): 모든 특성 조회 * feat(AbilityDetailResponse2): property pokemons 타입 변경 * feat(AbilityService): id 로 특성 조회 * feat(RemoteAbilityDataSource): 특성 목록 불러온다 * feat(RemoteAbilityDataSource): 특성 상세 * refactor(AbilityService): 메서드 ability2 -> ability * chore: 사용하지 않는 특성 응답 삭제 * refactor(AbilityResponse2 -> AbilityResponse): 네이밍 * hot-fix: battle 도우미 이전 버튼 color + 스킬 업데이트 안되는 문제 + 위력 없는 스킬 filter * [1.0.1/AN_FIX] 포켓몬 상세 이미지와 진화 UI (#295) * feat(AbilityResponse2): property includes id, name, description * feat(AbilityDetailResponse2): property includes name, description, pokemons * feat(ability2.json , abilities2.json): 특성 가짜 json 파일 * feat(AbilityService): 모든 특성 조회 * feat(AbilityDetailResponse2): property pokemons 타입 변경 * feat(AbilityService): id 로 특성 조회 * feat(RemoteAbilityDataSource): 특성 목록 불러온다 * feat(RemoteAbilityDataSource): 특성 상세 * refactor(AbilityService): 메서드 ability2 -> ability * chore: 사용하지 않는 특성 응답 삭제 * refactor(AbilityResponse2 -> AbilityResponse): 네이밍 * feat: crop 이미지 삭제 * feat: 진화 구분선 수정 * feat: 포켓몬 이미지 조정 * feat: 진화 뷰 그룹 spacing * feat(PokemonSkillUiModel): 명줄률이 -1 인 것은 - 라는 문자열로 * build: version up * feat: drop DB * feat: 임시 방편으로 프로세스 실행시 테이블 드롭하고 Room 다시 생성 * fix: Intro -> Home으로 갈때 Activity Stack 전부 비우기 * fix: warmUp 에서 예외 발생시 예외 처리 * feat: Android Release CD * build: CD, CI main 에 돌리기 * fix: 명령어에 $ 추가 * fix: keystore 경로 추가 * fix: work directory 설정 * build: version 으로 tag 생성해서 release 노트 만듬 * build: Release CI, CD 분리 --------- Co-authored-by: Yehyun Jo <[email protected]> Co-authored-by: SangHyun Ko <[email protected]> Co-authored-by: sh1mj1 <[email protected]> Co-authored-by: sh1mj1 <[email protected]> Co-authored-by: JoYehyun <[email protected]> Co-authored-by: kkosang <[email protected]>
- Loading branch information