gitextract_6suav1uc/ ├── .gitignore ├── .idea/ │ ├── .gitignore │ ├── .name │ ├── codeStyles/ │ │ ├── Project.xml │ │ └── codeStyleConfig.xml │ ├── compiler.xml │ ├── gradle.xml │ ├── jarRepositories.xml │ ├── misc.xml │ ├── render.experimental.xml │ ├── runConfigurations.xml │ └── vcs.xml ├── LICENSE ├── README.md ├── app/ │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src/ │ ├── androidTest/ │ │ └── java/ │ │ └── com/ │ │ └── vishalgaur/ │ │ └── shoppingapp/ │ │ ├── AppDatabaseTest.kt │ │ ├── ClickClickableSpan.kt │ │ ├── ExampleInstrumentedTest.kt │ │ ├── LiveDataTestUtil.kt │ │ ├── MainCoroutineRule.kt │ │ ├── RecyclerViewMatcherUtils.kt │ │ ├── data/ │ │ │ └── source/ │ │ │ ├── FakeAuthRepository.kt │ │ │ ├── FakeProductsDataSource.kt │ │ │ ├── FakeProductsRepository.kt │ │ │ ├── FakeUserDataSource.kt │ │ │ └── repository/ │ │ │ ├── AuthRepositoryTest.kt │ │ │ └── ProductsRepositoryTest.kt │ │ ├── ui/ │ │ │ ├── home/ │ │ │ │ ├── HomeFragmentTest.kt │ │ │ │ └── ProductDetailsFragmentTest.kt │ │ │ └── loginSignup/ │ │ │ ├── LoginFragmentTest.kt │ │ │ └── SignupFragmentTest.kt │ │ └── viewModels/ │ │ ├── AddEditAddressViewModelTest.kt │ │ ├── AddEditProductViewModelTest.kt │ │ ├── AuthViewModelTest.kt │ │ ├── HomeViewModelTest.kt │ │ ├── OrderViewModelTest.kt │ │ └── ProductViewModelTest.kt │ ├── main/ │ │ ├── AndroidManifest.xml │ │ ├── java/ │ │ │ └── com/ │ │ │ └── vishalgaur/ │ │ │ └── shoppingapp/ │ │ │ ├── ServiceLocator.kt │ │ │ ├── ShoppingApplication.kt │ │ │ ├── Utils.kt │ │ │ ├── data/ │ │ │ │ ├── Product.kt │ │ │ │ ├── Result.kt │ │ │ │ ├── ShoppingAppSessionManager.kt │ │ │ │ ├── UserData.kt │ │ │ │ ├── source/ │ │ │ │ │ ├── ProductDataSource.kt │ │ │ │ │ ├── UserDataSource.kt │ │ │ │ │ ├── local/ │ │ │ │ │ │ ├── ProductsDao.kt │ │ │ │ │ │ ├── ProductsLocalDataSource.kt │ │ │ │ │ │ ├── ShoppingAppDatabase.kt │ │ │ │ │ │ ├── UserDao.kt │ │ │ │ │ │ └── UserLocalDataSource.kt │ │ │ │ │ ├── remote/ │ │ │ │ │ │ ├── AuthRemoteDataSource.kt │ │ │ │ │ │ └── ProductsRemoteDataSource.kt │ │ │ │ │ └── repository/ │ │ │ │ │ ├── AuthRepoInterface.kt │ │ │ │ │ ├── AuthRepository.kt │ │ │ │ │ ├── ProductsRepoInterface.kt │ │ │ │ │ └── ProductsRepository.kt │ │ │ │ └── utils/ │ │ │ │ ├── DateTypeConvertors.kt │ │ │ │ ├── EmailMobileData.kt │ │ │ │ ├── ListTypeConverter.kt │ │ │ │ ├── ObjectListTypeConvertor.kt │ │ │ │ ├── ProductUtils.kt │ │ │ │ └── Utils.kt │ │ │ ├── ui/ │ │ │ │ ├── LaunchActivity.kt │ │ │ │ ├── RecyclerViewPaddingItemDecoration.kt │ │ │ │ ├── UiUtils.kt │ │ │ │ ├── home/ │ │ │ │ │ ├── AccountFragment.kt │ │ │ │ │ ├── AddEditAddressFragment.kt │ │ │ │ │ ├── AddEditProductFragment.kt │ │ │ │ │ ├── AddProductImagesAdapter.kt │ │ │ │ │ ├── AddressAdapter.kt │ │ │ │ │ ├── AddressFragment.kt │ │ │ │ │ ├── CartFragment.kt │ │ │ │ │ ├── CartItemAdapter.kt │ │ │ │ │ ├── FavoritesFragment.kt │ │ │ │ │ ├── HomeFragment.kt │ │ │ │ │ ├── LikedProductAdapter.kt │ │ │ │ │ ├── MainActivity.kt │ │ │ │ │ ├── OrderDetailsFragment.kt │ │ │ │ │ ├── OrderProductsAdapter.kt │ │ │ │ │ ├── OrderSuccessFragment.kt │ │ │ │ │ ├── OrdersAdapter.kt │ │ │ │ │ ├── OrdersFragment.kt │ │ │ │ │ ├── PayByAdapter.kt │ │ │ │ │ ├── ProductAdapter.kt │ │ │ │ │ ├── ProductDetailsFragment.kt │ │ │ │ │ ├── ProductImagesAdapter.kt │ │ │ │ │ ├── ProfileFragment.kt │ │ │ │ │ ├── SelectAddressFragment.kt │ │ │ │ │ └── SelectPaymentFragment.kt │ │ │ │ └── loginSignup/ │ │ │ │ ├── LoginFragment.kt │ │ │ │ ├── LoginSignupActivity.kt │ │ │ │ ├── LoginSignupBaseFragment.kt │ │ │ │ ├── OtpActivity.kt │ │ │ │ └── SignupFragment.kt │ │ │ └── viewModels/ │ │ │ ├── AddEditAddressViewModel.kt │ │ │ ├── AddEditProductViewModel.kt │ │ │ ├── AuthViewModel.kt │ │ │ ├── HomeViewModel.kt │ │ │ ├── OrderViewModel.kt │ │ │ ├── OtpViewModel.kt │ │ │ └── ProductViewModel.kt │ │ └── res/ │ │ ├── drawable/ │ │ │ ├── address_account_drawable.xml │ │ │ ├── avatar_background.xml │ │ │ ├── bottom_nav_selector.xml │ │ │ ├── btn_gradient.xml │ │ │ ├── card_item_selector.xml │ │ │ ├── color_radio_normal.xml │ │ │ ├── color_radio_selected.xml │ │ │ ├── color_radio_selector.xml │ │ │ ├── dotted_line_drawable.xml │ │ │ ├── heart_icon_drawable.xml │ │ │ ├── ic_add_24.xml │ │ │ ├── ic_add_48.xml │ │ │ ├── ic_add_shopping_cart_24.xml │ │ │ ├── ic_baseline_person_24.xml │ │ │ ├── ic_baseline_shopping_cart_24.xml │ │ │ ├── ic_cancel_24.xml │ │ │ ├── ic_chevron_left_48.xml │ │ │ ├── ic_delete_24.xml │ │ │ ├── ic_edit_24.xml │ │ │ ├── ic_favorite_filled_24.xml │ │ │ ├── ic_favorite_outlined_24.xml │ │ │ ├── ic_filled_check_circle_24.xml │ │ │ ├── ic_filled_library_books_24.xml │ │ │ ├── ic_filled_location_on_24.xml │ │ │ ├── ic_filled_logout_24.xml │ │ │ ├── ic_filled_person_24.xml │ │ │ ├── ic_filter_alt_24.xml │ │ │ ├── ic_launcher_background.xml │ │ │ ├── ic_menu_24.xml │ │ │ ├── ic_outline_arrow_back_24.xml │ │ │ ├── ic_outline_email_24.xml │ │ │ ├── ic_outline_library_books_24.xml │ │ │ ├── ic_outline_phone_android_24.xml │ │ │ ├── ic_outlined_home_24.xml │ │ │ ├── ic_outlined_person_24.xml │ │ │ ├── ic_outlined_shopping_cart_24.xml │ │ │ ├── ic_remove_24.xml │ │ │ ├── ic_remove_shopping_cart_24.xml │ │ │ ├── ic_search_24.xml │ │ │ ├── layout_background_rounded_corners.xml │ │ │ ├── liked_heart_drawable.xml │ │ │ ├── login_bg_img.xml │ │ │ ├── orders_account_drawable.xml │ │ │ ├── person_account_drawable.xml │ │ │ ├── radio_normal.xml │ │ │ ├── radio_selected.xml │ │ │ ├── radio_selector.xml │ │ │ ├── round_button.xml │ │ │ ├── round_outline_rect.xml │ │ │ ├── signout_account_drawable.xml │ │ │ └── sl_favourite_24dp.xml │ │ ├── drawable-v24/ │ │ │ └── ic_launcher_foreground.xml │ │ ├── font/ │ │ │ ├── nunito_sans.xml │ │ │ └── nunito_sans_extrabold.xml │ │ ├── layout/ │ │ │ ├── activity_launch.xml │ │ │ ├── activity_main.xml │ │ │ ├── activity_otp.xml │ │ │ ├── activity_signup.xml │ │ │ ├── add_images_item.xml │ │ │ ├── cart_list_item.xml │ │ │ ├── country_list_item.xml │ │ │ ├── fragment_account.xml │ │ │ ├── fragment_add_edit_address.xml │ │ │ ├── fragment_add_edit_product.xml │ │ │ ├── fragment_address.xml │ │ │ ├── fragment_cart.xml │ │ │ ├── fragment_favorites.xml │ │ │ ├── fragment_home.xml │ │ │ ├── fragment_login.xml │ │ │ ├── fragment_order_details.xml │ │ │ ├── fragment_order_success.xml │ │ │ ├── fragment_orders.xml │ │ │ ├── fragment_product_details.xml │ │ │ ├── fragment_profile.xml │ │ │ ├── fragment_select_address.xml │ │ │ ├── fragment_select_payment.xml │ │ │ ├── fragment_signup.xml │ │ │ ├── images_item.xml │ │ │ ├── layout_address_card.xml │ │ │ ├── layout_circular_loader.xml │ │ │ ├── layout_home_ad.xml │ │ │ ├── layout_home_top_app_bar.xml │ │ │ ├── layout_list_item.xml │ │ │ ├── layout_loader_card.xml │ │ │ ├── layout_no_icon_app_bar.xml │ │ │ ├── layout_order_summary_card.xml │ │ │ ├── layout_price_card.xml │ │ │ ├── layout_shipping_card.xml │ │ │ ├── layout_top_bar.xml │ │ │ └── products_list_item.xml │ │ ├── menu/ │ │ │ ├── app_bar_menu.xml │ │ │ ├── bottom_navigation_menu.xml │ │ │ ├── home_app_bar_menu.xml │ │ │ ├── menu_main.xml │ │ │ └── menu_with_add_only.xml │ │ ├── mipmap-anydpi-v26/ │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ ├── navigation/ │ │ │ ├── home_nav_graph.xml │ │ │ └── signup_nav_graph.xml │ │ ├── values/ │ │ │ ├── attrs.xml │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── font_certs.xml │ │ │ ├── preloaded_fonts.xml │ │ │ ├── shapes.xml │ │ │ ├── strings.xml │ │ │ ├── styles.xml │ │ │ ├── themes.xml │ │ │ └── type.xml │ │ └── values-night/ │ │ └── themes.xml │ └── test/ │ └── java/ │ └── com/ │ └── vishalgaur/ │ └── shoppingapp/ │ └── UtilsTest.kt ├── build.gradle ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat └── settings.gradle