From 113e2e4d741f913601ba2046a56ef69402dd622d Mon Sep 17 00:00:00 2001 From: hide-your-code Date: Mon, 30 May 2022 11:47:33 +0700 Subject: [PATCH] Create project --- .gitignore | 15 + .idea/.gitignore | 3 + .idea/.name | 1 + .idea/codeStyles/Project.xml | 117 +++++ .idea/codeStyles/codeStyleConfig.xml | 5 + .idea/compiler.xml | 6 + .idea/deploymentTargetDropDown.xml | 17 + .idea/gradle.xml | 20 + .idea/inspectionProfiles/Project_Default.xml | 37 ++ .idea/misc.xml | 24 + .idea/other.xml | 6 + .idea/vcs.xml | 6 + app/.gitignore | 1 + app/build.gradle.kts | 130 +++++ app/proguard-rules.pro | 21 + .../weapose/ExampleInstrumentedTest.kt | 24 + app/src/main/AndroidManifest.xml | 40 ++ .../weapose/data/di/DataStoreModule.kt | 21 + .../example/weapose/data/di/NetworkModule.kt | 53 ++ .../weapose/data/di/RepositoryModule.kt | 35 ++ .../data/exception/ResponseException.kt | 106 ++++ .../data/local/datastore/DataStoreExt.kt | 30 ++ .../datastore/DataStorePreferenceStorage.kt | 29 ++ .../data/local/datastore/PreferenceStorage.kt | 8 + .../data/mapper/WeatherExceptionMapper.kt | 56 +++ .../example/weapose/data/model/Cloud.kt | 7 + .../example/weapose/data/model/Coord.kt | 8 + .../example/weapose/data/model/Current.kt | 20 + .../weapose/data/model/CurrentWeather.kt | 19 + .../example/weapose/data/model/Daily.kt | 24 + .../example/weapose/data/model/FeelLike.kt | 10 + .../example/weapose/data/model/Hourly.kt | 20 + .../example/weapose/data/model/Main.kt | 14 + .../example/weapose/data/model/Model.kt | 3 + .../weapose/data/model/OneCallResponse.kt | 13 + .../minhdtm/example/weapose/data/model/Sys.kt | 11 + .../example/weapose/data/model/Temp.kt | 12 + .../example/weapose/data/model/Weather.kt | 10 + .../example/weapose/data/model/Wind.kt | 9 + .../apiservice/CurrentWeatherApiService.kt | 25 + .../remote/apiservice/OneCallApiService.kt | 18 + .../remote/calladapter/FlowCallAdapter.kt | 68 +++ .../calladapter/FlowCallAdapterFactory.kt | 30 ++ .../remote/interceptor/HeaderInterceptor.kt | 22 + .../remote/response/ServerErrorResponse.kt | 8 + .../repositories/LocationRepositoryImpl.kt | 119 +++++ .../data/repositories/UserRepositoryImpl.kt | 14 + .../repositories/WeatherRepositoryImpl.kt | 39 ++ .../weapose/domain/enums/ActionType.kt | 5 + .../weapose/domain/enums/ExceptionType.kt | 14 + .../weapose/domain/enums/RedirectType.kt | 3 + .../example/weapose/domain/enums/TagType.kt | 3 + .../domain/exception/WeatherException.kt | 43 ++ .../weapose/domain/model/AlertDialog.kt | 14 + .../example/weapose/domain/model/Redirect.kt | 8 + .../example/weapose/domain/model/Tag.kt | 8 + .../domain/repositories/LocationRepository.kt | 13 + .../domain/repositories/UserRepository.kt | 9 + .../domain/repositories/WeatherRepository.kt | 14 + .../usecase/GetAddressFromLocationUseCase.kt | 35 ++ .../usecase/GetCurrentLocationUseCase.kt | 18 + .../usecase/GetCurrentWeatherUseCase.kt | 35 ++ .../usecase/GetDarkModeGoogleMapUseCase.kt | 17 + .../domain/usecase/GetHourWeatherUseCase.kt | 57 +++ .../usecase/SetDarkModeGoogleMapUseCase.kt | 31 ++ .../domain/usecase/base/FlowUseCase.kt | 11 + .../domain/usecase/base/SuspendUseCase.kt | 13 + .../presentation/WeatherApplication.kt | 17 + .../presentation/base/BaseViewModel.kt | 59 +++ .../weapose/presentation/base/Event.kt | 3 + .../weapose/presentation/base/ViewState.kt | 8 + .../base/WeatherViewModelFactory.kt | 12 + .../component/NavigationDrawerLabel.kt | 41 ++ .../component/RequestPermission.kt | 104 ++++ .../component/WeatherHandleError.kt | 146 ++++++ .../presentation/component/WeatherScaffold.kt | 61 +++ .../presentation/di/CoroutinesQualifiers.kt | 23 + .../presentation/di/DispatcherModule.kt | 28 ++ .../model/CurrentWeatherViewData.kt | 52 ++ .../presentation/model/DataModelMapper.kt | 9 + .../presentation/model/HourWeatherViewData.kt | 27 + .../weapose/presentation/model/ViewData.kt | 3 + .../factory/CurrentWeatherViewDataFactory.kt | 16 + .../weapose/presentation/theme/Color.kt | 11 + .../weapose/presentation/theme/Theme.kt | 69 +++ .../weapose/presentation/theme/Type.kt | 34 ++ .../weapose/presentation/ui/MainActivity.kt | 23 + .../weapose/presentation/ui/WeatherApp.kt | 99 ++++ .../presentation/ui/WeatherAppState.kt | 195 +++++++ .../presentation/ui/home/HomeScreen.kt | 476 ++++++++++++++++++ .../presentation/ui/home/HomeViewModel.kt | 171 +++++++ .../ui/search/bymap/SearchByMap.kt | 296 +++++++++++ .../ui/search/bymap/SearchByMapViewModel.kt | 133 +++++ .../ui/settings/SettingsScreen.kt | 71 +++ .../ui/settings/SettingsViewModel.kt | 38 ++ .../weapose/presentation/utils/Constants.kt | 19 + .../weapose/presentation/utils/FlowExt.kt | 11 + .../weapose/presentation/utils/TimeExt.kt | 20 + .../weapose/presentation/utils/WeatherExt.kt | 75 +++ .../res/drawable-hdpi/ic_broken_clouds.webp | Bin 0 -> 878 bytes .../main/res/drawable-hdpi/ic_clear_sky.webp | Bin 0 -> 1386 bytes .../main/res/drawable-hdpi/ic_few_clouds.webp | Bin 0 -> 1482 bytes app/src/main/res/drawable-hdpi/ic_mist.webp | Bin 0 -> 1174 bytes app/src/main/res/drawable-hdpi/ic_rain.webp | Bin 0 -> 1308 bytes .../drawable-hdpi/ic_scattered_clouds.webp | Bin 0 -> 1396 bytes .../res/drawable-hdpi/ic_shower_rain.webp | Bin 0 -> 1082 bytes app/src/main/res/drawable-hdpi/ic_snow.webp | Bin 0 -> 1238 bytes .../res/drawable-hdpi/ic_thunderstorm.webp | Bin 0 -> 1250 bytes .../res/drawable-mdpi/ic_broken_clouds.webp | Bin 0 -> 492 bytes .../main/res/drawable-mdpi/ic_clear_sky.webp | Bin 0 -> 688 bytes .../main/res/drawable-mdpi/ic_few_clouds.webp | Bin 0 -> 754 bytes app/src/main/res/drawable-mdpi/ic_mist.webp | Bin 0 -> 622 bytes app/src/main/res/drawable-mdpi/ic_rain.webp | Bin 0 -> 664 bytes .../drawable-mdpi/ic_scattered_clouds.webp | Bin 0 -> 626 bytes .../res/drawable-mdpi/ic_shower_rain.webp | Bin 0 -> 580 bytes app/src/main/res/drawable-mdpi/ic_snow.webp | Bin 0 -> 650 bytes .../res/drawable-mdpi/ic_thunderstorm.webp | Bin 0 -> 580 bytes .../drawable-night-hdpi/ic_broken_clouds.webp | Bin 0 -> 804 bytes .../res/drawable-night-hdpi/ic_clear_sky.webp | Bin 0 -> 1298 bytes .../drawable-night-hdpi/ic_few_clouds.webp | Bin 0 -> 1432 bytes .../main/res/drawable-night-hdpi/ic_mist.webp | Bin 0 -> 1110 bytes .../main/res/drawable-night-hdpi/ic_rain.webp | Bin 0 -> 1248 bytes .../ic_scattered_clouds.webp | Bin 0 -> 1308 bytes .../drawable-night-hdpi/ic_shower_rain.webp | Bin 0 -> 1024 bytes .../main/res/drawable-night-hdpi/ic_snow.webp | Bin 0 -> 1156 bytes .../drawable-night-hdpi/ic_thunderstorm.webp | Bin 0 -> 1154 bytes .../drawable-night-mdpi/ic_broken_clouds.webp | Bin 0 -> 378 bytes .../res/drawable-night-mdpi/ic_clear_sky.webp | Bin 0 -> 636 bytes .../drawable-night-mdpi/ic_few_clouds.webp | Bin 0 -> 732 bytes .../main/res/drawable-night-mdpi/ic_mist.webp | Bin 0 -> 580 bytes .../main/res/drawable-night-mdpi/ic_rain.webp | Bin 0 -> 632 bytes .../ic_scattered_clouds.webp | Bin 0 -> 602 bytes .../drawable-night-mdpi/ic_shower_rain.webp | Bin 0 -> 538 bytes .../main/res/drawable-night-mdpi/ic_snow.webp | Bin 0 -> 602 bytes .../drawable-night-mdpi/ic_thunderstorm.webp | Bin 0 -> 530 bytes .../ic_broken_clouds.webp | Bin 0 -> 1200 bytes .../drawable-night-xhdpi/ic_clear_sky.webp | Bin 0 -> 2010 bytes .../drawable-night-xhdpi/ic_few_clouds.webp | Bin 0 -> 2132 bytes .../res/drawable-night-xhdpi/ic_mist.webp | Bin 0 -> 1684 bytes .../res/drawable-night-xhdpi/ic_rain.webp | Bin 0 -> 1914 bytes .../ic_scattered_clouds.webp | Bin 0 -> 2080 bytes .../drawable-night-xhdpi/ic_shower_rain.webp | Bin 0 -> 1662 bytes .../res/drawable-night-xhdpi/ic_snow.webp | Bin 0 -> 1794 bytes .../drawable-night-xhdpi/ic_thunderstorm.webp | Bin 0 -> 1818 bytes .../ic_broken_clouds.webp | Bin 0 -> 1388 bytes .../drawable-night-xxhdpi/ic_clear_sky.webp | Bin 0 -> 2370 bytes .../drawable-night-xxhdpi/ic_few_clouds.webp | Bin 0 -> 2336 bytes .../res/drawable-night-xxhdpi/ic_mist.webp | Bin 0 -> 1558 bytes .../res/drawable-night-xxhdpi/ic_rain.webp | Bin 0 -> 2252 bytes .../ic_scattered_clouds.webp | Bin 0 -> 2044 bytes .../drawable-night-xxhdpi/ic_shower_rain.webp | Bin 0 -> 1724 bytes .../res/drawable-night-xxhdpi/ic_snow.webp | Bin 0 -> 2270 bytes .../ic_thunderstorm.webp | Bin 0 -> 1844 bytes .../ic_broken_clouds.webp | Bin 0 -> 1528 bytes .../drawable-night-xxxhdpi/ic_clear_sky.webp | Bin 0 -> 3352 bytes .../drawable-night-xxxhdpi/ic_few_clouds.webp | Bin 0 -> 3180 bytes .../res/drawable-night-xxxhdpi/ic_mist.webp | Bin 0 -> 2288 bytes .../res/drawable-night-xxxhdpi/ic_rain.webp | Bin 0 -> 2598 bytes .../ic_scattered_clouds.webp | Bin 0 -> 2044 bytes .../ic_shower_rain.webp | Bin 0 -> 2422 bytes .../res/drawable-night-xxxhdpi/ic_snow.webp | Bin 0 -> 2114 bytes .../ic_thunderstorm.webp | Bin 0 -> 1886 bytes .../res/drawable-night/bg_broken_clouds.webp | Bin 0 -> 13418 bytes .../main/res/drawable-night/bg_clear_sky.webp | Bin 0 -> 31404 bytes .../res/drawable-night/bg_few_clouds.webp | Bin 0 -> 30820 bytes app/src/main/res/drawable-night/bg_mist.webp | Bin 0 -> 17828 bytes app/src/main/res/drawable-night/bg_rain.webp | Bin 0 -> 26462 bytes .../drawable-night/bg_scattered_clouds.webp | Bin 0 -> 21664 bytes .../res/drawable-night/bg_shower_rain.webp | Bin 0 -> 19594 bytes app/src/main/res/drawable-night/bg_snow.webp | Bin 0 -> 19082 bytes .../res/drawable-night/bg_thunderstorm.webp | Bin 0 -> 20854 bytes .../drawable-v24/ic_launcher_foreground.xml | 30 ++ .../res/drawable-xhdpi/ic_broken_clouds.webp | Bin 0 -> 1286 bytes .../main/res/drawable-xhdpi/ic_clear_sky.webp | Bin 0 -> 2156 bytes .../res/drawable-xhdpi/ic_few_clouds.webp | Bin 0 -> 2284 bytes app/src/main/res/drawable-xhdpi/ic_mist.webp | Bin 0 -> 1806 bytes app/src/main/res/drawable-xhdpi/ic_rain.webp | Bin 0 -> 1968 bytes .../drawable-xhdpi/ic_scattered_clouds.webp | Bin 0 -> 2222 bytes .../res/drawable-xhdpi/ic_shower_rain.webp | Bin 0 -> 1718 bytes app/src/main/res/drawable-xhdpi/ic_snow.webp | Bin 0 -> 1906 bytes .../res/drawable-xhdpi/ic_thunderstorm.webp | Bin 0 -> 1944 bytes .../res/drawable-xxhdpi/ic_broken_clouds.webp | Bin 0 -> 1484 bytes .../res/drawable-xxhdpi/ic_clear_sky.webp | Bin 0 -> 2494 bytes .../res/drawable-xxhdpi/ic_few_clouds.webp | Bin 0 -> 2426 bytes app/src/main/res/drawable-xxhdpi/ic_mist.webp | Bin 0 -> 1696 bytes app/src/main/res/drawable-xxhdpi/ic_rain.webp | Bin 0 -> 2310 bytes .../drawable-xxhdpi/ic_scattered_clouds.webp | Bin 0 -> 2102 bytes .../res/drawable-xxhdpi/ic_shower_rain.webp | Bin 0 -> 1778 bytes app/src/main/res/drawable-xxhdpi/ic_snow.webp | Bin 0 -> 2350 bytes .../res/drawable-xxhdpi/ic_thunderstorm.webp | Bin 0 -> 1946 bytes .../drawable-xxxhdpi/ic_broken_clouds.webp | Bin 0 -> 1592 bytes .../res/drawable-xxxhdpi/ic_clear_sky.webp | Bin 0 -> 3514 bytes .../res/drawable-xxxhdpi/ic_few_clouds.webp | Bin 0 -> 3296 bytes .../main/res/drawable-xxxhdpi/ic_mist.webp | Bin 0 -> 2382 bytes .../main/res/drawable-xxxhdpi/ic_rain.webp | Bin 0 -> 2630 bytes .../drawable-xxxhdpi/ic_scattered_clouds.webp | Bin 0 -> 2120 bytes .../res/drawable-xxxhdpi/ic_shower_rain.webp | Bin 0 -> 2454 bytes .../main/res/drawable-xxxhdpi/ic_snow.webp | Bin 0 -> 2222 bytes .../res/drawable-xxxhdpi/ic_thunderstorm.webp | Bin 0 -> 1946 bytes .../main/res/drawable/bg_broken_clouds.webp | Bin 0 -> 13510 bytes app/src/main/res/drawable/bg_clear_sky.webp | Bin 0 -> 31986 bytes app/src/main/res/drawable/bg_few_clouds.webp | Bin 0 -> 29146 bytes app/src/main/res/drawable/bg_mist.webp | Bin 0 -> 17468 bytes app/src/main/res/drawable/bg_rain.webp | Bin 0 -> 26640 bytes .../res/drawable/bg_scattered_clouds.webp | Bin 0 -> 22890 bytes app/src/main/res/drawable/bg_shower_rain.webp | Bin 0 -> 19584 bytes app/src/main/res/drawable/bg_snow.webp | Bin 0 -> 19564 bytes .../main/res/drawable/bg_thunderstorm.webp | Bin 0 -> 21668 bytes app/src/main/res/drawable/ic_dark_mode.xml | 9 + app/src/main/res/drawable/ic_humidity.xml | 9 + .../res/drawable/ic_launcher_background.xml | 170 +++++++ app/src/main/res/drawable/ic_light_mode.xml | 9 + app/src/main/res/drawable/ic_my_location.xml | 9 + app/src/main/res/drawable/ic_sun_rise.xml | 10 + app/src/main/res/drawable/ic_temperature.xml | 14 + app/src/main/res/drawable/ic_wind.xml | 22 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + app/src/main/res/mipmap-hdpi/ic_launcher.webp | Bin 0 -> 1404 bytes .../res/mipmap-hdpi/ic_launcher_round.webp | Bin 0 -> 2898 bytes app/src/main/res/mipmap-mdpi/ic_launcher.webp | Bin 0 -> 982 bytes .../res/mipmap-mdpi/ic_launcher_round.webp | Bin 0 -> 1772 bytes .../main/res/mipmap-xhdpi/ic_launcher.webp | Bin 0 -> 1900 bytes .../res/mipmap-xhdpi/ic_launcher_round.webp | Bin 0 -> 3918 bytes .../main/res/mipmap-xxhdpi/ic_launcher.webp | Bin 0 -> 2884 bytes .../res/mipmap-xxhdpi/ic_launcher_round.webp | Bin 0 -> 5914 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.webp | Bin 0 -> 3844 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.webp | Bin 0 -> 7778 bytes .../main/res/raw/style_google_map_light.json | 1 + .../main/res/raw/style_google_map_night.json | 161 ++++++ app/src/main/res/values-vi/strings.xml | 27 + app/src/main/res/values/colors.xml | 10 + app/src/main/res/values/strings.xml | 39 ++ app/src/main/res/values/themes.xml | 5 + app/src/main/res/xml/backup_rules.xml | 13 + .../main/res/xml/data_extraction_rules.xml | 19 + .../example/weapose/ExampleUnitTest.kt | 17 + build.gradle.kts | 22 + buildSrc/.gitignore | 1 + buildSrc/build.gradle.kts | 9 + .../com/minhdtm/example/buildsrc/MyClass.kt | 4 + gradle.properties | 23 + gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 59203 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 185 +++++++ gradlew.bat | 89 ++++ image/data_flow.png | Bin 0 -> 1571168 bytes image/error_flow.png | Bin 0 -> 1542135 bytes image/home_dark.png | Bin 0 -> 690498 bytes image/home_light.png | Bin 0 -> 724375 bytes image/search_by_map_dark.png | Bin 0 -> 618977 bytes image/search_by_map_light.png | Bin 0 -> 815674 bytes readme.md | 91 ++++ settings.gradle.kts | 19 + 254 files changed, 5068 insertions(+) create mode 100644 .gitignore create mode 100644 .idea/.gitignore create mode 100644 .idea/.name create mode 100644 .idea/codeStyles/Project.xml create mode 100644 .idea/codeStyles/codeStyleConfig.xml create mode 100644 .idea/compiler.xml create mode 100644 .idea/deploymentTargetDropDown.xml create mode 100644 .idea/gradle.xml create mode 100644 .idea/inspectionProfiles/Project_Default.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/other.xml create mode 100644 .idea/vcs.xml create mode 100644 app/.gitignore create mode 100644 app/build.gradle.kts create mode 100644 app/proguard-rules.pro create mode 100644 app/src/androidTest/java/com/minhdtm/example/weapose/ExampleInstrumentedTest.kt create mode 100644 app/src/main/AndroidManifest.xml create mode 100644 app/src/main/java/com/minhdtm/example/weapose/data/di/DataStoreModule.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/data/di/NetworkModule.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/data/di/RepositoryModule.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/data/exception/ResponseException.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/data/local/datastore/DataStoreExt.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/data/local/datastore/DataStorePreferenceStorage.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/data/local/datastore/PreferenceStorage.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/data/mapper/WeatherExceptionMapper.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/data/model/Cloud.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/data/model/Coord.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/data/model/Current.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/data/model/CurrentWeather.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/data/model/Daily.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/data/model/FeelLike.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/data/model/Hourly.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/data/model/Main.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/data/model/Model.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/data/model/OneCallResponse.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/data/model/Sys.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/data/model/Temp.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/data/model/Weather.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/data/model/Wind.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/data/remote/apiservice/CurrentWeatherApiService.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/data/remote/apiservice/OneCallApiService.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/data/remote/calladapter/FlowCallAdapter.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/data/remote/calladapter/FlowCallAdapterFactory.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/data/remote/interceptor/HeaderInterceptor.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/data/remote/response/ServerErrorResponse.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/data/repositories/LocationRepositoryImpl.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/data/repositories/UserRepositoryImpl.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/data/repositories/WeatherRepositoryImpl.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/domain/enums/ActionType.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/domain/enums/ExceptionType.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/domain/enums/RedirectType.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/domain/enums/TagType.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/domain/exception/WeatherException.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/domain/model/AlertDialog.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/domain/model/Redirect.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/domain/model/Tag.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/domain/repositories/LocationRepository.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/domain/repositories/UserRepository.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/domain/repositories/WeatherRepository.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/domain/usecase/GetAddressFromLocationUseCase.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/domain/usecase/GetCurrentLocationUseCase.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/domain/usecase/GetCurrentWeatherUseCase.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/domain/usecase/GetDarkModeGoogleMapUseCase.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/domain/usecase/GetHourWeatherUseCase.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/domain/usecase/SetDarkModeGoogleMapUseCase.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/domain/usecase/base/FlowUseCase.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/domain/usecase/base/SuspendUseCase.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/presentation/WeatherApplication.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/presentation/base/BaseViewModel.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/presentation/base/Event.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/presentation/base/ViewState.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/presentation/base/WeatherViewModelFactory.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/presentation/component/NavigationDrawerLabel.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/presentation/component/RequestPermission.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/presentation/component/WeatherHandleError.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/presentation/component/WeatherScaffold.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/presentation/di/CoroutinesQualifiers.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/presentation/di/DispatcherModule.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/presentation/model/CurrentWeatherViewData.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/presentation/model/DataModelMapper.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/presentation/model/HourWeatherViewData.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/presentation/model/ViewData.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/presentation/model/factory/CurrentWeatherViewDataFactory.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/presentation/theme/Color.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/presentation/theme/Theme.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/presentation/theme/Type.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/presentation/ui/MainActivity.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/presentation/ui/WeatherApp.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/presentation/ui/WeatherAppState.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/presentation/ui/home/HomeScreen.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/presentation/ui/home/HomeViewModel.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/presentation/ui/search/bymap/SearchByMap.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/presentation/ui/search/bymap/SearchByMapViewModel.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/presentation/ui/settings/SettingsScreen.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/presentation/ui/settings/SettingsViewModel.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/presentation/utils/Constants.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/presentation/utils/FlowExt.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/presentation/utils/TimeExt.kt create mode 100644 app/src/main/java/com/minhdtm/example/weapose/presentation/utils/WeatherExt.kt create mode 100644 app/src/main/res/drawable-hdpi/ic_broken_clouds.webp create mode 100644 app/src/main/res/drawable-hdpi/ic_clear_sky.webp create mode 100644 app/src/main/res/drawable-hdpi/ic_few_clouds.webp create mode 100644 app/src/main/res/drawable-hdpi/ic_mist.webp create mode 100644 app/src/main/res/drawable-hdpi/ic_rain.webp create mode 100644 app/src/main/res/drawable-hdpi/ic_scattered_clouds.webp create mode 100644 app/src/main/res/drawable-hdpi/ic_shower_rain.webp create mode 100644 app/src/main/res/drawable-hdpi/ic_snow.webp create mode 100644 app/src/main/res/drawable-hdpi/ic_thunderstorm.webp create mode 100644 app/src/main/res/drawable-mdpi/ic_broken_clouds.webp create mode 100644 app/src/main/res/drawable-mdpi/ic_clear_sky.webp create mode 100644 app/src/main/res/drawable-mdpi/ic_few_clouds.webp create mode 100644 app/src/main/res/drawable-mdpi/ic_mist.webp create mode 100644 app/src/main/res/drawable-mdpi/ic_rain.webp create mode 100644 app/src/main/res/drawable-mdpi/ic_scattered_clouds.webp create mode 100644 app/src/main/res/drawable-mdpi/ic_shower_rain.webp create mode 100644 app/src/main/res/drawable-mdpi/ic_snow.webp create mode 100644 app/src/main/res/drawable-mdpi/ic_thunderstorm.webp create mode 100644 app/src/main/res/drawable-night-hdpi/ic_broken_clouds.webp create mode 100644 app/src/main/res/drawable-night-hdpi/ic_clear_sky.webp create mode 100644 app/src/main/res/drawable-night-hdpi/ic_few_clouds.webp create mode 100644 app/src/main/res/drawable-night-hdpi/ic_mist.webp create mode 100644 app/src/main/res/drawable-night-hdpi/ic_rain.webp create mode 100644 app/src/main/res/drawable-night-hdpi/ic_scattered_clouds.webp create mode 100644 app/src/main/res/drawable-night-hdpi/ic_shower_rain.webp create mode 100644 app/src/main/res/drawable-night-hdpi/ic_snow.webp create mode 100644 app/src/main/res/drawable-night-hdpi/ic_thunderstorm.webp create mode 100644 app/src/main/res/drawable-night-mdpi/ic_broken_clouds.webp create mode 100644 app/src/main/res/drawable-night-mdpi/ic_clear_sky.webp create mode 100644 app/src/main/res/drawable-night-mdpi/ic_few_clouds.webp create mode 100644 app/src/main/res/drawable-night-mdpi/ic_mist.webp create mode 100644 app/src/main/res/drawable-night-mdpi/ic_rain.webp create mode 100644 app/src/main/res/drawable-night-mdpi/ic_scattered_clouds.webp create mode 100644 app/src/main/res/drawable-night-mdpi/ic_shower_rain.webp create mode 100644 app/src/main/res/drawable-night-mdpi/ic_snow.webp create mode 100644 app/src/main/res/drawable-night-mdpi/ic_thunderstorm.webp create mode 100644 app/src/main/res/drawable-night-xhdpi/ic_broken_clouds.webp create mode 100644 app/src/main/res/drawable-night-xhdpi/ic_clear_sky.webp create mode 100644 app/src/main/res/drawable-night-xhdpi/ic_few_clouds.webp create mode 100644 app/src/main/res/drawable-night-xhdpi/ic_mist.webp create mode 100644 app/src/main/res/drawable-night-xhdpi/ic_rain.webp create mode 100644 app/src/main/res/drawable-night-xhdpi/ic_scattered_clouds.webp create mode 100644 app/src/main/res/drawable-night-xhdpi/ic_shower_rain.webp create mode 100644 app/src/main/res/drawable-night-xhdpi/ic_snow.webp create mode 100644 app/src/main/res/drawable-night-xhdpi/ic_thunderstorm.webp create mode 100644 app/src/main/res/drawable-night-xxhdpi/ic_broken_clouds.webp create mode 100644 app/src/main/res/drawable-night-xxhdpi/ic_clear_sky.webp create mode 100644 app/src/main/res/drawable-night-xxhdpi/ic_few_clouds.webp create mode 100644 app/src/main/res/drawable-night-xxhdpi/ic_mist.webp create mode 100644 app/src/main/res/drawable-night-xxhdpi/ic_rain.webp create mode 100644 app/src/main/res/drawable-night-xxhdpi/ic_scattered_clouds.webp create mode 100644 app/src/main/res/drawable-night-xxhdpi/ic_shower_rain.webp create mode 100644 app/src/main/res/drawable-night-xxhdpi/ic_snow.webp create mode 100644 app/src/main/res/drawable-night-xxhdpi/ic_thunderstorm.webp create mode 100644 app/src/main/res/drawable-night-xxxhdpi/ic_broken_clouds.webp create mode 100644 app/src/main/res/drawable-night-xxxhdpi/ic_clear_sky.webp create mode 100644 app/src/main/res/drawable-night-xxxhdpi/ic_few_clouds.webp create mode 100644 app/src/main/res/drawable-night-xxxhdpi/ic_mist.webp create mode 100644 app/src/main/res/drawable-night-xxxhdpi/ic_rain.webp create mode 100644 app/src/main/res/drawable-night-xxxhdpi/ic_scattered_clouds.webp create mode 100644 app/src/main/res/drawable-night-xxxhdpi/ic_shower_rain.webp create mode 100644 app/src/main/res/drawable-night-xxxhdpi/ic_snow.webp create mode 100644 app/src/main/res/drawable-night-xxxhdpi/ic_thunderstorm.webp create mode 100644 app/src/main/res/drawable-night/bg_broken_clouds.webp create mode 100644 app/src/main/res/drawable-night/bg_clear_sky.webp create mode 100644 app/src/main/res/drawable-night/bg_few_clouds.webp create mode 100644 app/src/main/res/drawable-night/bg_mist.webp create mode 100644 app/src/main/res/drawable-night/bg_rain.webp create mode 100644 app/src/main/res/drawable-night/bg_scattered_clouds.webp create mode 100644 app/src/main/res/drawable-night/bg_shower_rain.webp create mode 100644 app/src/main/res/drawable-night/bg_snow.webp create mode 100644 app/src/main/res/drawable-night/bg_thunderstorm.webp create mode 100644 app/src/main/res/drawable-v24/ic_launcher_foreground.xml create mode 100644 app/src/main/res/drawable-xhdpi/ic_broken_clouds.webp create mode 100644 app/src/main/res/drawable-xhdpi/ic_clear_sky.webp create mode 100644 app/src/main/res/drawable-xhdpi/ic_few_clouds.webp create mode 100644 app/src/main/res/drawable-xhdpi/ic_mist.webp create mode 100644 app/src/main/res/drawable-xhdpi/ic_rain.webp create mode 100644 app/src/main/res/drawable-xhdpi/ic_scattered_clouds.webp create mode 100644 app/src/main/res/drawable-xhdpi/ic_shower_rain.webp create mode 100644 app/src/main/res/drawable-xhdpi/ic_snow.webp create mode 100644 app/src/main/res/drawable-xhdpi/ic_thunderstorm.webp create mode 100644 app/src/main/res/drawable-xxhdpi/ic_broken_clouds.webp create mode 100644 app/src/main/res/drawable-xxhdpi/ic_clear_sky.webp create mode 100644 app/src/main/res/drawable-xxhdpi/ic_few_clouds.webp create mode 100644 app/src/main/res/drawable-xxhdpi/ic_mist.webp create mode 100644 app/src/main/res/drawable-xxhdpi/ic_rain.webp create mode 100644 app/src/main/res/drawable-xxhdpi/ic_scattered_clouds.webp create mode 100644 app/src/main/res/drawable-xxhdpi/ic_shower_rain.webp create mode 100644 app/src/main/res/drawable-xxhdpi/ic_snow.webp create mode 100644 app/src/main/res/drawable-xxhdpi/ic_thunderstorm.webp create mode 100644 app/src/main/res/drawable-xxxhdpi/ic_broken_clouds.webp create mode 100644 app/src/main/res/drawable-xxxhdpi/ic_clear_sky.webp create mode 100644 app/src/main/res/drawable-xxxhdpi/ic_few_clouds.webp create mode 100644 app/src/main/res/drawable-xxxhdpi/ic_mist.webp create mode 100644 app/src/main/res/drawable-xxxhdpi/ic_rain.webp create mode 100644 app/src/main/res/drawable-xxxhdpi/ic_scattered_clouds.webp create mode 100644 app/src/main/res/drawable-xxxhdpi/ic_shower_rain.webp create mode 100644 app/src/main/res/drawable-xxxhdpi/ic_snow.webp create mode 100644 app/src/main/res/drawable-xxxhdpi/ic_thunderstorm.webp create mode 100644 app/src/main/res/drawable/bg_broken_clouds.webp create mode 100644 app/src/main/res/drawable/bg_clear_sky.webp create mode 100644 app/src/main/res/drawable/bg_few_clouds.webp create mode 100644 app/src/main/res/drawable/bg_mist.webp create mode 100644 app/src/main/res/drawable/bg_rain.webp create mode 100644 app/src/main/res/drawable/bg_scattered_clouds.webp create mode 100644 app/src/main/res/drawable/bg_shower_rain.webp create mode 100644 app/src/main/res/drawable/bg_snow.webp create mode 100644 app/src/main/res/drawable/bg_thunderstorm.webp create mode 100644 app/src/main/res/drawable/ic_dark_mode.xml create mode 100644 app/src/main/res/drawable/ic_humidity.xml create mode 100644 app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 app/src/main/res/drawable/ic_light_mode.xml create mode 100644 app/src/main/res/drawable/ic_my_location.xml create mode 100644 app/src/main/res/drawable/ic_sun_rise.xml create mode 100644 app/src/main/res/drawable/ic_temperature.xml create mode 100644 app/src/main/res/drawable/ic_wind.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/raw/style_google_map_light.json create mode 100644 app/src/main/res/raw/style_google_map_night.json create mode 100644 app/src/main/res/values-vi/strings.xml create mode 100644 app/src/main/res/values/colors.xml create mode 100644 app/src/main/res/values/strings.xml create mode 100644 app/src/main/res/values/themes.xml create mode 100644 app/src/main/res/xml/backup_rules.xml create mode 100644 app/src/main/res/xml/data_extraction_rules.xml create mode 100644 app/src/test/java/com/minhdtm/example/weapose/ExampleUnitTest.kt create mode 100644 build.gradle.kts create mode 100644 buildSrc/.gitignore create mode 100644 buildSrc/build.gradle.kts create mode 100644 buildSrc/src/main/java/com/minhdtm/example/buildsrc/MyClass.kt create mode 100644 gradle.properties create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100755 gradlew create mode 100644 gradlew.bat create mode 100644 image/data_flow.png create mode 100644 image/error_flow.png create mode 100644 image/home_dark.png create mode 100644 image/home_light.png create mode 100644 image/search_by_map_dark.png create mode 100644 image/search_by_map_light.png create mode 100644 readme.md create mode 100644 settings.gradle.kts diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..aa724b7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,15 @@ +*.iml +.gradle +/local.properties +/.idea/caches +/.idea/libraries +/.idea/modules.xml +/.idea/workspace.xml +/.idea/navEditor.xml +/.idea/assetWizardSettings.xml +.DS_Store +/build +/captures +.externalNativeBuild +.cxx +local.properties diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000..99cb143 --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +Weather compose \ No newline at end of file diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..4bec4ea --- /dev/null +++ b/.idea/codeStyles/Project.xml @@ -0,0 +1,117 @@ + + + + + + \ No newline at end of file diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 0000000..a55e7a1 --- /dev/null +++ b/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..fb7f4a8 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml new file mode 100644 index 0000000..2dedeeb --- /dev/null +++ b/.idea/deploymentTargetDropDown.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml new file mode 100644 index 0000000..8632f65 --- /dev/null +++ b/.idea/gradle.xml @@ -0,0 +1,20 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..ed76bea --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,37 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..bff766d --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/other.xml b/.idea/other.xml new file mode 100644 index 0000000..f3d4a2e --- /dev/null +++ b/.idea/other.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/.gitignore b/app/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/app/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/app/build.gradle.kts b/app/build.gradle.kts new file mode 100644 index 0000000..07f5f90 --- /dev/null +++ b/app/build.gradle.kts @@ -0,0 +1,130 @@ +import java.util.Properties + +plugins { + id("com.android.application") + id("org.jetbrains.kotlin.android") + kotlin("kapt") + id("dagger.hilt.android.plugin") + id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") +} + +val properties = Properties().apply { + load(project.rootProject.file("local.properties").inputStream()) +} + +android { + namespace = "com.minhdtm.example.weapose" + compileSdkPreview = "Tiramisu" + + defaultConfig { + applicationId = "com.minhdtm.example.weapose" + minSdk = 21 + targetSdkPreview = "Tiramisu" + versionCode = 1 + versionName = "1.0.0" + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + vectorDrawables { + useSupportLibrary = true + } + + buildConfigField("String", "API_KEY", properties.getProperty("API_KEY")) + buildConfigField("String", "BASE_URL", properties.getProperty("BASE_URL")) + } + + buildTypes { + getByName("release") { + isMinifyEnabled = false + proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro") + } + } + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 + } + + kotlinOptions { + jvmTarget = "11" + freeCompilerArgs = freeCompilerArgs.toMutableList().apply { + add("-opt-in=kotlin.RequiresOptIn") + } + } + + buildFeatures { + compose = true + } + + composeOptions { + kotlinCompilerExtensionVersion = "1.1.1" + } + + packagingOptions { + resources { + excludes += "/META-INF/{AL2.0,LGPL2.1}" + } + } +} + +dependencies { + implementation("androidx.core:core-ktx:1.7.0") + implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.4.1") + implementation("androidx.activity:activity-compose:1.4.0") + implementation("androidx.compose.ui:ui:1.1.1") + implementation("androidx.compose.ui:ui-tooling-preview:1.1.1") + implementation("androidx.compose.material3:material3:1.0.0-alpha12") + + // Google accompanist + implementation("com.google.accompanist:accompanist-navigation-animation:0.24.9-beta") + implementation("com.google.accompanist:accompanist-systemuicontroller:0.24.9-beta") + implementation("com.google.accompanist:accompanist-swiperefresh:0.24.9-beta") + implementation("com.google.accompanist:accompanist-permissions:0.24.9-beta") + + // Google play services + implementation("com.google.android.gms:play-services-location:19.0.1") + implementation("com.google.android.gms:play-services-maps:18.0.2") + implementation("com.google.maps.android:maps-compose:2.1.1") + + // Coroutine + implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.1") + implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.1") + + // Retrofit + implementation("com.squareup.retrofit2:retrofit:2.9.0") + implementation("com.squareup.retrofit2:converter-gson:2.9.0") + + // Okhttp + implementation("com.squareup.okhttp3:okhttp:4.9.3") + implementation("com.squareup.okhttp3:logging-interceptor:4.9.3") + + // Hilt + implementation("androidx.hilt:hilt-navigation-compose:1.0.0") + implementation("com.google.dagger:hilt-android:2.40") + kapt("com.google.dagger:hilt-android-compiler:2.40") + + // Navigation + implementation("androidx.navigation:navigation-compose:2.4.2") + + // ViewModel + implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.0-rc01") + implementation("androidx.lifecycle:lifecycle-viewmodel-compose:2.5.0-rc01") + + // Gson + implementation("com.google.code.gson:gson:2.9.0") + + // Timber + implementation("com.jakewharton.timber:timber:5.0.1") + + // DataStore + implementation("androidx.datastore:datastore-preferences:1.0.0") + + testImplementation("junit:junit:4.13.2") + testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6.1") + + androidTestImplementation("androidx.test.ext:junit:1.1.3") + androidTestImplementation("androidx.test.espresso:espresso-core:3.4.0") + androidTestImplementation("androidx.compose.ui:ui-test-junit4:1.1.1") + + debugImplementation("androidx.compose.ui:ui-tooling:1.1.1") + debugImplementation("androidx.compose.ui:ui-test-manifest:1.1.1") +} diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro new file mode 100644 index 0000000..ff59496 --- /dev/null +++ b/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle.kts. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/app/src/androidTest/java/com/minhdtm/example/weapose/ExampleInstrumentedTest.kt b/app/src/androidTest/java/com/minhdtm/example/weapose/ExampleInstrumentedTest.kt new file mode 100644 index 0000000..6d22cb6 --- /dev/null +++ b/app/src/androidTest/java/com/minhdtm/example/weapose/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package com.minhdtm.example.weapose + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("com.minhdtm.example.mymovieapp", appContext.packageName) + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..f358616 --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/java/com/minhdtm/example/weapose/data/di/DataStoreModule.kt b/app/src/main/java/com/minhdtm/example/weapose/data/di/DataStoreModule.kt new file mode 100644 index 0000000..d6e5838 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/data/di/DataStoreModule.kt @@ -0,0 +1,21 @@ +package com.minhdtm.example.weapose.data.di + +import android.content.Context +import androidx.datastore.preferences.preferencesDataStore +import com.minhdtm.example.weapose.data.local.datastore.DataStorePreferenceStorage +import com.minhdtm.example.weapose.data.local.datastore.PreferenceStorage +import dagger.Module +import dagger.Provides +import dagger.hilt.InstallIn +import dagger.hilt.android.qualifiers.ApplicationContext +import dagger.hilt.components.SingletonComponent + +@Module +@InstallIn(SingletonComponent::class) +class DataStoreModule { + private val Context.dataStore by preferencesDataStore(DataStorePreferenceStorage.PREFS_NAME) + + @Provides + fun provideDataStore(@ApplicationContext context: Context): PreferenceStorage = + DataStorePreferenceStorage(context.dataStore) +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/data/di/NetworkModule.kt b/app/src/main/java/com/minhdtm/example/weapose/data/di/NetworkModule.kt new file mode 100644 index 0000000..ac30b7a --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/data/di/NetworkModule.kt @@ -0,0 +1,53 @@ +package com.minhdtm.example.weapose.data.di + +import com.minhdtm.example.weapose.BuildConfig +import com.minhdtm.example.weapose.data.remote.apiservice.CurrentWeatherApiService +import com.minhdtm.example.weapose.data.remote.apiservice.OneCallApiService +import com.minhdtm.example.weapose.data.remote.calladapter.FlowCallAdapterFactory +import com.minhdtm.example.weapose.data.remote.interceptor.HeaderInterceptor +import dagger.Module +import dagger.Provides +import dagger.hilt.InstallIn +import dagger.hilt.components.SingletonComponent +import okhttp3.OkHttpClient +import okhttp3.logging.HttpLoggingInterceptor +import retrofit2.Retrofit +import retrofit2.converter.gson.GsonConverterFactory +import java.util.concurrent.TimeUnit + +@Module +@InstallIn(SingletonComponent::class) +class NetworkModule { + @Provides + fun provideOkHttpClient( + headerInterceptor: HeaderInterceptor, + ): OkHttpClient = OkHttpClient.Builder() + .callTimeout(TIME_OUT, TimeUnit.MINUTES) + .connectTimeout(TIME_OUT, TimeUnit.MINUTES) + .addNetworkInterceptor(HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY)) + .addInterceptor(headerInterceptor) + .build() + + @Provides + fun provideRetrofit( + flowCallAdapterFactory: FlowCallAdapterFactory, + okHttpClient: OkHttpClient, + ): Retrofit = Retrofit.Builder() + .baseUrl(BuildConfig.BASE_URL) + .client(okHttpClient) + .addConverterFactory(GsonConverterFactory.create()) + .addCallAdapterFactory(flowCallAdapterFactory) + .build() + + @Provides + fun provideOneCallApiService(retrofit: Retrofit): OneCallApiService = + retrofit.create(OneCallApiService::class.java) + + @Provides + fun provideCurrentWeatherApiService(retrofit: Retrofit): CurrentWeatherApiService = + retrofit.create(CurrentWeatherApiService::class.java) + + companion object { + private const val TIME_OUT = 1L + } +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/data/di/RepositoryModule.kt b/app/src/main/java/com/minhdtm/example/weapose/data/di/RepositoryModule.kt new file mode 100644 index 0000000..65c70a3 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/data/di/RepositoryModule.kt @@ -0,0 +1,35 @@ +package com.minhdtm.example.weapose.data.di + +import android.content.Context +import com.minhdtm.example.weapose.data.local.datastore.PreferenceStorage +import com.minhdtm.example.weapose.data.remote.apiservice.CurrentWeatherApiService +import com.minhdtm.example.weapose.data.remote.apiservice.OneCallApiService +import com.minhdtm.example.weapose.data.repositories.LocationRepositoryImpl +import com.minhdtm.example.weapose.data.repositories.UserRepositoryImpl +import com.minhdtm.example.weapose.data.repositories.WeatherRepositoryImpl +import com.minhdtm.example.weapose.domain.repositories.LocationRepository +import com.minhdtm.example.weapose.domain.repositories.UserRepository +import com.minhdtm.example.weapose.domain.repositories.WeatherRepository +import dagger.Module +import dagger.Provides +import dagger.hilt.InstallIn +import dagger.hilt.android.qualifiers.ApplicationContext +import dagger.hilt.components.SingletonComponent + +@Module +@InstallIn(SingletonComponent::class) +object RepositoryModule { + @Provides + fun provideWeatherRepository( + currentWeatherApiService: CurrentWeatherApiService, + oneCallApiService: OneCallApiService, + ): WeatherRepository = WeatherRepositoryImpl(currentWeatherApiService, oneCallApiService) + + @Provides + fun provideLocationRepository(@ApplicationContext context: Context): LocationRepository = + LocationRepositoryImpl(context) + + @Provides + fun provideUserRepository(preferenceStorage: PreferenceStorage): UserRepository = + UserRepositoryImpl(preferenceStorage) +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/data/exception/ResponseException.kt b/app/src/main/java/com/minhdtm/example/weapose/data/exception/ResponseException.kt new file mode 100644 index 0000000..063c87e --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/data/exception/ResponseException.kt @@ -0,0 +1,106 @@ +package com.minhdtm.example.weapose.data.exception + +import com.minhdtm.example.weapose.data.remote.response.ServerErrorResponse +import okhttp3.ResponseBody +import retrofit2.Converter +import retrofit2.Response +import retrofit2.Retrofit +import timber.log.Timber +import java.io.IOException + +class ResponseException( + private val _message: String? = null, + private val _retrofit: Retrofit? = null, + private val _response: Response<*>? = null, + private val _throwable: Throwable? = null, + private val _kind: Kind, +) : Throwable(_message) { + enum class Kind { + HTTP, HTTP_WITH_OBJECT, NETWORK, PREFERENCE, UNEXPECTED, + } + + private var _errorServer: ServerErrorResponse? = null + + fun getKind() = _kind + + fun getThrowable() = _throwable + + fun getResponse() = _response + + fun getRetrofit() = _retrofit + + /** + * The data returned from the server in the response body + */ + fun getErrorData(): ServerErrorResponse? = _errorServer + + fun deserializeServerError() { + val responseBody = _response?.errorBody() + if (responseBody != null) { + try { + _errorServer = responseBody.getErrorBodyAs(ServerErrorResponse::class.java) + responseBody.close() + } catch (e: IOException) { + Timber.e("Server error deserialization $e") + } + } + } + + /** + * HTTP response body converted to specified `type`. `null` if there is no + * response. + * @throws IOException if unable to convert the body to the specified `type`. + */ + + @Throws(IOException::class) + fun ResponseBody.getErrorBodyAs(type: Class): T? { + if (_retrofit == null) { + return null + } + + val converter: Converter = _retrofit.responseBodyConverter(type, arrayOfNulls(0)) + return converter.convert(this) + } + + companion object { + fun http(response: Response<*>?, retrofit: Retrofit?): ResponseException { + val message = response?.code().toString() + " - " + response?.message().toString() + return ResponseException( + _message = message, + _response = response, + _kind = Kind.HTTP, + _retrofit = retrofit, + ) + } + + fun httpObject(response: Response<*>?, retrofit: Retrofit?): ResponseException { + val message = response?.code().toString() + " - " + response?.message().toString() + val error = ResponseException( + _message = message, + _retrofit = retrofit, + _kind = Kind.HTTP_WITH_OBJECT, + _response = response, + ) + error.deserializeServerError() + return error + } + + fun network(exception: IOException): ResponseException = ResponseException( + _message = exception.message, + _throwable = exception, + _kind = Kind.NETWORK, + ) + + fun preferences(exception: Throwable): ResponseException = ResponseException( + _message = exception.message, + _throwable = exception, + _kind = Kind.PREFERENCE, + ) + + fun unexpected(throwable: Throwable): ResponseException = ResponseException( + _message = throwable.message, + _throwable = throwable, + _kind = Kind.UNEXPECTED, + ) + } +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/data/local/datastore/DataStoreExt.kt b/app/src/main/java/com/minhdtm/example/weapose/data/local/datastore/DataStoreExt.kt new file mode 100644 index 0000000..b0a9eda --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/data/local/datastore/DataStoreExt.kt @@ -0,0 +1,30 @@ +package com.minhdtm.example.weapose.data.local.datastore + +import androidx.datastore.core.DataStore +import androidx.datastore.preferences.core.MutablePreferences +import androidx.datastore.preferences.core.Preferences +import androidx.datastore.preferences.core.edit +import androidx.datastore.preferences.core.emptyPreferences +import com.minhdtm.example.weapose.data.exception.ResponseException +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.catch +import kotlinx.coroutines.flow.map +import java.io.IOException + +fun DataStore.getValue(transform: (preferences: Preferences) -> T): Flow = data.catch { exception -> + if (exception is IOException) { + emit(emptyPreferences()) + } else { + throw ResponseException.preferences(exception) + } +}.map { + transform.invoke(it) +} + +suspend fun DataStore.setValue(transform: (preference: MutablePreferences) -> Unit) = try { + edit { + transform.invoke(it) + } +} catch (exception: Exception) { + throw ResponseException.preferences(exception) +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/data/local/datastore/DataStorePreferenceStorage.kt b/app/src/main/java/com/minhdtm/example/weapose/data/local/datastore/DataStorePreferenceStorage.kt new file mode 100644 index 0000000..a3290c2 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/data/local/datastore/DataStorePreferenceStorage.kt @@ -0,0 +1,29 @@ +package com.minhdtm.example.weapose.data.local.datastore + +import androidx.datastore.core.DataStore +import androidx.datastore.preferences.core.Preferences +import androidx.datastore.preferences.core.booleanPreferencesKey +import kotlinx.coroutines.flow.Flow +import javax.inject.Inject + +class DataStorePreferenceStorage @Inject constructor( + private val dataStore: DataStore +) : PreferenceStorage { + override suspend fun setDarkModeGoogleMap(isDarkMode: Boolean) { + dataStore.setValue { + it[PreferenceKeys.IS_DARK_MODE_GOOGLE_MAP] = isDarkMode + } + } + + override val isDarkModeGoogleMap: Flow = dataStore.getValue { + it[PreferenceKeys.IS_DARK_MODE_GOOGLE_MAP] ?: false + } + + object PreferenceKeys { + val IS_DARK_MODE_GOOGLE_MAP = booleanPreferencesKey("IS_DARK_MODE_GOOGLE_MAP") + } + + companion object { + const val PREFS_NAME = "my_movie_datastore" + } +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/data/local/datastore/PreferenceStorage.kt b/app/src/main/java/com/minhdtm/example/weapose/data/local/datastore/PreferenceStorage.kt new file mode 100644 index 0000000..88e27bf --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/data/local/datastore/PreferenceStorage.kt @@ -0,0 +1,8 @@ +package com.minhdtm.example.weapose.data.local.datastore + +import kotlinx.coroutines.flow.Flow + +interface PreferenceStorage { + suspend fun setDarkModeGoogleMap(isDarkMode: Boolean) + val isDarkModeGoogleMap: Flow +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/data/mapper/WeatherExceptionMapper.kt b/app/src/main/java/com/minhdtm/example/weapose/data/mapper/WeatherExceptionMapper.kt new file mode 100644 index 0000000..1f66b63 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/data/mapper/WeatherExceptionMapper.kt @@ -0,0 +1,56 @@ +package com.minhdtm.example.weapose.data.mapper + +import android.content.Context +import com.minhdtm.example.weapose.R +import com.minhdtm.example.weapose.data.exception.ResponseException +import com.minhdtm.example.weapose.domain.enums.ActionType +import com.minhdtm.example.weapose.domain.exception.WeatherException +import com.minhdtm.example.weapose.domain.model.AlertDialog +import dagger.hilt.android.qualifiers.ApplicationContext +import javax.inject.Inject + +class WeatherExceptionMapper @Inject constructor(@ApplicationContext private val context: Context) { + fun mapperToWeatherException(throwable: ResponseException): Throwable = when (throwable.getKind()) { + ResponseException.Kind.NETWORK -> WeatherException.SnackBarException( + code = -1, + message = context.getString(R.string.error_message_network), + ) + + ResponseException.Kind.PREFERENCE -> WeatherException.SnackBarException( + code = -1, + message = context.getString(R.string.error_message_preferences), + ) + + ResponseException.Kind.HTTP -> { + val errorCode = throwable.getResponse()?.code() ?: -1 + val errorUrl = throwable.getRetrofit()?.baseUrl() ?: context.getString(R.string.invalid) + + WeatherException.AlertException( + code = errorCode, + alertDialog = AlertDialog( + title = context.getString(R.string.error_title_http), + message = context.getString(R.string.error_message_http, errorCode, errorUrl), + positiveAction = ActionType.RETRY_API, + positiveMessage = context.getString(R.string.retry) + ), + ) + } + + ResponseException.Kind.HTTP_WITH_OBJECT -> { + val errorCode: Int = throwable.getResponse()?.code() ?: -1 + val errorUrl = throwable.getRetrofit()?.baseUrl() ?: context.getString(R.string.invalid) + + WeatherException.AlertException( + code = errorCode, + alertDialog = AlertDialog( + title = context.getString(R.string.error_title_http), + message = context.getString(R.string.error_message_http, errorCode, errorUrl), + positiveAction = ActionType.RETRY_API, + positiveMessage = context.getString(R.string.retry) + ), + ) + } + + else -> throwable + } +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/data/model/Cloud.kt b/app/src/main/java/com/minhdtm/example/weapose/data/model/Cloud.kt new file mode 100644 index 0000000..fcfd700 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/data/model/Cloud.kt @@ -0,0 +1,7 @@ +package com.minhdtm.example.weapose.data.model + +import com.google.gson.annotations.SerializedName + +data class Cloud( + @SerializedName("all") val all: Int? = 0, +) : Model() diff --git a/app/src/main/java/com/minhdtm/example/weapose/data/model/Coord.kt b/app/src/main/java/com/minhdtm/example/weapose/data/model/Coord.kt new file mode 100644 index 0000000..07a3ddb --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/data/model/Coord.kt @@ -0,0 +1,8 @@ +package com.minhdtm.example.weapose.data.model + +import com.google.gson.annotations.SerializedName + +data class Coord( + @SerializedName("lat") val lat: Double? = 0.0, + @SerializedName("lon") val long: Double? = 0.0, +) : Model() diff --git a/app/src/main/java/com/minhdtm/example/weapose/data/model/Current.kt b/app/src/main/java/com/minhdtm/example/weapose/data/model/Current.kt new file mode 100644 index 0000000..a6575ad --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/data/model/Current.kt @@ -0,0 +1,20 @@ +package com.minhdtm.example.weapose.data.model + +import com.google.gson.annotations.SerializedName + +data class Current( + @SerializedName("dt") val dt: Long? = 0L, + @SerializedName("sunrise") val sunrise: Long? = 0L, + @SerializedName("sunset") val sunset: Long? = 0L, + @SerializedName("temp") val temp: Double? = 0.0, + @SerializedName("feels_like") val feelsLike: Double? = 0.0, + @SerializedName("pressure") val pressure: Int? = 0, + @SerializedName("humidity") val humidity: Int? = 0, + @SerializedName("dew_point") val dewPoint: Double? = 0.0, + @SerializedName("uvi") val uvi: Double? = 0.0, + @SerializedName("clouds") val clouds: Int? = 0, + @SerializedName("visibility") val visibility: Int? = 0, + @SerializedName("wind_speed") val windSpeed: Int? = 0, + @SerializedName("wind_deg") val windDeg: Int? = 0, + @SerializedName("weather") val weather: List? = emptyList(), +) : Model() diff --git a/app/src/main/java/com/minhdtm/example/weapose/data/model/CurrentWeather.kt b/app/src/main/java/com/minhdtm/example/weapose/data/model/CurrentWeather.kt new file mode 100644 index 0000000..dae85fd --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/data/model/CurrentWeather.kt @@ -0,0 +1,19 @@ +package com.minhdtm.example.weapose.data.model + +import com.google.gson.annotations.SerializedName + +data class CurrentWeather( + @SerializedName("id") val id: Int? = 0, + @SerializedName("name") val name: String? = "", + @SerializedName("cod") val cod: Int, + @SerializedName("coord") val coord: Coord, + @SerializedName("weather") val weatherItems: List, + @SerializedName("base") val base: String? = "", + @SerializedName("main") val main: Main, + @SerializedName("visibility") val visibility: Int, + @SerializedName("wind") val wind: Wind, + @SerializedName("clouds") val clouds: Cloud, + @SerializedName("dt") val dt: Long, + @SerializedName("sys") val sys: Sys, + @SerializedName("timezone") val timezone: Int +) : Model() diff --git a/app/src/main/java/com/minhdtm/example/weapose/data/model/Daily.kt b/app/src/main/java/com/minhdtm/example/weapose/data/model/Daily.kt new file mode 100644 index 0000000..2bb138d --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/data/model/Daily.kt @@ -0,0 +1,24 @@ +package com.minhdtm.example.weapose.data.model + +import com.google.gson.annotations.SerializedName + +data class Daily( + @SerializedName("dt") val dt: Long? = 0L, + @SerializedName("sunrise") val sunrise: Long? = 0L, + @SerializedName("sunset") val sunset: Long? = 0L, + @SerializedName("moonrise") val moonrise: Long? = 0L, + @SerializedName("moonset") val moonset: Long? = 0L, + @SerializedName("moon_phase") val moonPhase: Double? = 0.0, + @SerializedName("temp") val temp: Temp? = null, + @SerializedName("feels_like") val feelsLike: FeelLike? = null, + @SerializedName("pressure") val pressure: Int? = 0, + @SerializedName("humidity") val humidity: Int? = 0, + @SerializedName("dew_point") val dewPoint: Double? = 0.0, + @SerializedName("wind_speed") val windSpeed: Double? = 0.0, + @SerializedName("wind_deg") val windDeg: Double? = 0.0, + @SerializedName("wind_gust") val windGust: Double? = 0.0, + @SerializedName("weather") val weather: List? = emptyList(), + @SerializedName("clouds") val clouds: Int? = 0, + @SerializedName("pop") val pop: Int? = 0, + @SerializedName("uvi") val uvi: Double? = 0.0, +) : Model() diff --git a/app/src/main/java/com/minhdtm/example/weapose/data/model/FeelLike.kt b/app/src/main/java/com/minhdtm/example/weapose/data/model/FeelLike.kt new file mode 100644 index 0000000..a26b4b6 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/data/model/FeelLike.kt @@ -0,0 +1,10 @@ +package com.minhdtm.example.weapose.data.model + +import com.google.gson.annotations.SerializedName + +data class FeelLike( + @SerializedName("day") val day: Double? = 0.0, + @SerializedName("night") val night: Double? = 0.0, + @SerializedName("eve") val eve: Double? = 0.0, + @SerializedName("morn") val morn: Double? = 0.0, +) : Model() diff --git a/app/src/main/java/com/minhdtm/example/weapose/data/model/Hourly.kt b/app/src/main/java/com/minhdtm/example/weapose/data/model/Hourly.kt new file mode 100644 index 0000000..4a190bc --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/data/model/Hourly.kt @@ -0,0 +1,20 @@ +package com.minhdtm.example.weapose.data.model + +import com.google.gson.annotations.SerializedName + +data class Hourly( + @SerializedName("dt") val dt: Long? = 0L, + @SerializedName("temp") val temp: Double? = 0.0, + @SerializedName("feels_like") val feelsLike: Double? = 0.0, + @SerializedName("pressure") val pressure: Double? = 0.0, + @SerializedName("humidity") val humidity: Int? = 0, + @SerializedName("dew_point") val dewPoint: Double? = 0.0, + @SerializedName("uvi") val uvi: Double? = 0.0, + @SerializedName("clouds") val clouds: Double? = 0.0, + @SerializedName("visibility") val visibility: Int? = 0, + @SerializedName("wind_speed") val windSpeed: Double? = 0.0, + @SerializedName("wind_deg") val windDeg: Int? = 0, + @SerializedName("wind_gust") val windGust: Double? = 0.0, + @SerializedName("weather") val weather: List? = emptyList(), + @SerializedName("pop") val pop: Double? = 0.0, +) : Model() diff --git a/app/src/main/java/com/minhdtm/example/weapose/data/model/Main.kt b/app/src/main/java/com/minhdtm/example/weapose/data/model/Main.kt new file mode 100644 index 0000000..5dd5cc4 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/data/model/Main.kt @@ -0,0 +1,14 @@ +package com.minhdtm.example.weapose.data.model + +import com.google.gson.annotations.SerializedName + +data class Main( + @SerializedName("temp") val temp: Double? = 0.0, + @SerializedName("feels_like") val feelsLike: Double? = 0.0, + @SerializedName("temp_min") val tempMin: Double? = 0.0, + @SerializedName("temp_max") val tempMax: Double? = 0.0, + @SerializedName("pressure") val pressure: Double? = 0.0, + @SerializedName("humidity") val humidity: Int? = 0, + @SerializedName("sea_level") val seaLevel: Double? = 0.0, + @SerializedName("grnd_level") val grndLevel: Double? = 0.0, +) : Model() diff --git a/app/src/main/java/com/minhdtm/example/weapose/data/model/Model.kt b/app/src/main/java/com/minhdtm/example/weapose/data/model/Model.kt new file mode 100644 index 0000000..449299f --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/data/model/Model.kt @@ -0,0 +1,3 @@ +package com.minhdtm.example.weapose.data.model + +open class Model diff --git a/app/src/main/java/com/minhdtm/example/weapose/data/model/OneCallResponse.kt b/app/src/main/java/com/minhdtm/example/weapose/data/model/OneCallResponse.kt new file mode 100644 index 0000000..88367f2 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/data/model/OneCallResponse.kt @@ -0,0 +1,13 @@ +package com.minhdtm.example.weapose.data.model + +import com.google.gson.annotations.SerializedName + +data class OneCallResponse( + @SerializedName("lat") val lat: Double? = 0.0, + @SerializedName("lon") val long: Double? = 0.0, + @SerializedName("time_zone") val timeZone: String? = "", + @SerializedName("timezone_offset") val timeZoneOffSet: Int? = 0, + @SerializedName("current") val current: Current? = null, + @SerializedName("hourly") val hourly: List? = emptyList(), + @SerializedName("daily") val daily: List? = emptyList(), +) : Model() diff --git a/app/src/main/java/com/minhdtm/example/weapose/data/model/Sys.kt b/app/src/main/java/com/minhdtm/example/weapose/data/model/Sys.kt new file mode 100644 index 0000000..b444821 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/data/model/Sys.kt @@ -0,0 +1,11 @@ +package com.minhdtm.example.weapose.data.model + +import com.google.gson.annotations.SerializedName + +data class Sys( + @SerializedName("type") val type: Int? = 0, + @SerializedName("id") val id: Int? = 0, + @SerializedName("country") val country: String? = "", + @SerializedName("sunrise") val sunrise: Long? = 0L, + @SerializedName("sunset") val sunset: Long? = 0L, +) : Model() diff --git a/app/src/main/java/com/minhdtm/example/weapose/data/model/Temp.kt b/app/src/main/java/com/minhdtm/example/weapose/data/model/Temp.kt new file mode 100644 index 0000000..90d51a2 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/data/model/Temp.kt @@ -0,0 +1,12 @@ +package com.minhdtm.example.weapose.data.model + +import com.google.gson.annotations.SerializedName + +data class Temp( + @SerializedName("day") val dt: Double? = 0.0, + @SerializedName("min") val min: Double? = 0.0, + @SerializedName("max") val max: Double? = 0.0, + @SerializedName("night") val night: Double? = 0.0, + @SerializedName("eve") val eve: Double? = 0.0, + @SerializedName("morn") val morn: Double? = 0.0, +) : Model() diff --git a/app/src/main/java/com/minhdtm/example/weapose/data/model/Weather.kt b/app/src/main/java/com/minhdtm/example/weapose/data/model/Weather.kt new file mode 100644 index 0000000..29e3ed7 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/data/model/Weather.kt @@ -0,0 +1,10 @@ +package com.minhdtm.example.weapose.data.model + +import com.google.gson.annotations.SerializedName + +data class Weather( + @SerializedName("id") val id: Int? = 0, + @SerializedName("main") val main: String? = "", + @SerializedName("description") val description: String? = "", + @SerializedName("icon") val icon: String? = "", +) : Model() diff --git a/app/src/main/java/com/minhdtm/example/weapose/data/model/Wind.kt b/app/src/main/java/com/minhdtm/example/weapose/data/model/Wind.kt new file mode 100644 index 0000000..7cf648c --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/data/model/Wind.kt @@ -0,0 +1,9 @@ +package com.minhdtm.example.weapose.data.model + +import com.google.gson.annotations.SerializedName + +data class Wind( + @SerializedName("speed") val speed: Double? = 0.0, + @SerializedName("deg") val deg: Double? = 0.0, + @SerializedName("gust") val gust: Double? = 0.0, +) : Model() diff --git a/app/src/main/java/com/minhdtm/example/weapose/data/remote/apiservice/CurrentWeatherApiService.kt b/app/src/main/java/com/minhdtm/example/weapose/data/remote/apiservice/CurrentWeatherApiService.kt new file mode 100644 index 0000000..8c06552 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/data/remote/apiservice/CurrentWeatherApiService.kt @@ -0,0 +1,25 @@ +package com.minhdtm.example.weapose.data.remote.apiservice + +import com.minhdtm.example.weapose.data.model.CurrentWeather +import kotlinx.coroutines.flow.Flow +import retrofit2.http.GET +import retrofit2.http.Query + +interface CurrentWeatherApiService { + @GET("weather") + fun getCurrentWeatherByCity( + @Query("q") city: String, + @Query("units") units: String = "metric", + @Query("lang") lang: String = "en", + @Query("appid") appId: String + ): Flow + + @GET("weather") + fun getCurrentWeatherByLocation( + @Query("lat") latitude: Double, + @Query("lon") longitude: Double, + @Query("units") units: String = "metric", + @Query("lang") lang: String = "en", + @Query("appid") appId: String, + ): Flow +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/data/remote/apiservice/OneCallApiService.kt b/app/src/main/java/com/minhdtm/example/weapose/data/remote/apiservice/OneCallApiService.kt new file mode 100644 index 0000000..310111c --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/data/remote/apiservice/OneCallApiService.kt @@ -0,0 +1,18 @@ +package com.minhdtm.example.weapose.data.remote.apiservice + +import com.minhdtm.example.weapose.data.model.OneCallResponse +import kotlinx.coroutines.flow.Flow +import retrofit2.http.GET +import retrofit2.http.Query + +interface OneCallApiService { + @GET("onecall") + fun getWeather( + @Query("lat") lat: Double, + @Query("lon") lon: Double, + @Query("exclude") exclude: String = "current,daily,alerts,minutes", + @Query("units") units: String = "metric", + @Query("lang") lang: String = "en", + @Query("appid") appId: String + ): Flow +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/data/remote/calladapter/FlowCallAdapter.kt b/app/src/main/java/com/minhdtm/example/weapose/data/remote/calladapter/FlowCallAdapter.kt new file mode 100644 index 0000000..9d0b17a --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/data/remote/calladapter/FlowCallAdapter.kt @@ -0,0 +1,68 @@ +package com.minhdtm.example.weapose.data.remote.calladapter + +import com.minhdtm.example.weapose.data.exception.ResponseException +import com.minhdtm.example.weapose.data.mapper.WeatherExceptionMapper +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.flow +import kotlinx.coroutines.suspendCancellableCoroutine +import retrofit2.* +import java.io.IOException +import java.lang.reflect.Type +import kotlin.coroutines.resume +import kotlin.coroutines.resumeWithException + +class FlowCallAdapter( + private val retrofit: Retrofit, + private val mapper: WeatherExceptionMapper, + private val responseType: Type, +) : CallAdapter> { + override fun responseType() = responseType + + override fun adapt(call: Call): Flow = flow { + emit(suspendCancellableCoroutine { cancellableContinuation -> + call.enqueue(object : Callback { + override fun onResponse(call: Call, response: Response) { + try { + cancellableContinuation.resume(response.body()!!) + } catch (e: Exception) { + cancellableContinuation.resumeWithException(mapper.mapperToWeatherException(asResponseException(e, response))) + } + } + + override fun onFailure(call: Call, t: Throwable) { + cancellableContinuation.resumeWithException(mapper.mapperToWeatherException(asResponseException(t))) + } + }) + + cancellableContinuation.invokeOnCancellation { call.cancel() } + }) + } + + private fun asResponseException( + throwable: Throwable, + res: Response? = null, + ): ResponseException { + // We had non-200 http error + if (throwable is HttpException) { + val response = throwable.response() + + return when (throwable.code()) { + // On out api 422's get metadata in the response. Adjust logic here based on your needs + 422 -> ResponseException.httpObject(response, retrofit) + else -> ResponseException.http(response, retrofit) + } + } + + if (res != null) { + return ResponseException.httpObject(res, retrofit) + } + + // A network error happened + if (throwable is IOException) { + return ResponseException.network(throwable) + } + + // We don't know what happened. We need to simply convert to an unknown error + return ResponseException.unexpected(throwable) + } +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/data/remote/calladapter/FlowCallAdapterFactory.kt b/app/src/main/java/com/minhdtm/example/weapose/data/remote/calladapter/FlowCallAdapterFactory.kt new file mode 100644 index 0000000..a6803d9 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/data/remote/calladapter/FlowCallAdapterFactory.kt @@ -0,0 +1,30 @@ +package com.minhdtm.example.weapose.data.remote.calladapter + +import com.minhdtm.example.weapose.data.mapper.WeatherExceptionMapper +import kotlinx.coroutines.flow.Flow +import retrofit2.CallAdapter +import retrofit2.Retrofit +import java.lang.reflect.ParameterizedType +import java.lang.reflect.Type +import javax.inject.Inject + +class FlowCallAdapterFactory @Inject constructor( + private val mapper: WeatherExceptionMapper, +) : CallAdapter.Factory() { + override fun get( + returnType: Type, + annotations: Array, + retrofit: Retrofit, + ): CallAdapter<*, *>? { + if (getRawType(returnType) != Flow::class.java) { + return null + } + + check(returnType is ParameterizedType) { + "Flow return type must be parameterized as Flow or Flow" + } + + val responseType = getParameterUpperBound(0, returnType) + return FlowCallAdapter(retrofit, mapper, responseType) + } +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/data/remote/interceptor/HeaderInterceptor.kt b/app/src/main/java/com/minhdtm/example/weapose/data/remote/interceptor/HeaderInterceptor.kt new file mode 100644 index 0000000..e18ea1a --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/data/remote/interceptor/HeaderInterceptor.kt @@ -0,0 +1,22 @@ +package com.minhdtm.example.weapose.data.remote.interceptor + +import android.os.Build +import com.minhdtm.example.weapose.BuildConfig +import okhttp3.Interceptor +import okhttp3.Response +import javax.inject.Inject + +class HeaderInterceptor @Inject constructor() : Interceptor { + override fun intercept(chain: Interceptor.Chain): Response { + var request = chain.request() + + request = request.newBuilder() + .addHeader("Content-Type", "application/json") + .addHeader("Accept", "application/json") + .addHeader("OS", "Android-${Build.VERSION.SDK_INT}") + .addHeader("Version", BuildConfig.VERSION_NAME) + .build() + + return chain.proceed(request) + } +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/data/remote/response/ServerErrorResponse.kt b/app/src/main/java/com/minhdtm/example/weapose/data/remote/response/ServerErrorResponse.kt new file mode 100644 index 0000000..99b28e5 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/data/remote/response/ServerErrorResponse.kt @@ -0,0 +1,8 @@ +package com.minhdtm.example.weapose.data.remote.response + +import com.google.gson.annotations.SerializedName + +data class ServerErrorResponse( + @SerializedName("cod") val code: Int? = 0, + @SerializedName("message") val message: String? = "", +) diff --git a/app/src/main/java/com/minhdtm/example/weapose/data/repositories/LocationRepositoryImpl.kt b/app/src/main/java/com/minhdtm/example/weapose/data/repositories/LocationRepositoryImpl.kt new file mode 100644 index 0000000..ff0d185 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/data/repositories/LocationRepositoryImpl.kt @@ -0,0 +1,119 @@ +package com.minhdtm.example.weapose.data.repositories + +import android.annotation.SuppressLint +import android.content.Context +import android.location.Address +import android.location.Geocoder +import android.os.Build +import com.google.android.gms.location.LocationRequest +import com.google.android.gms.location.LocationServices +import com.google.android.gms.maps.model.LatLng +import com.google.android.gms.tasks.CancellationTokenSource +import com.minhdtm.example.weapose.R +import com.minhdtm.example.weapose.domain.exception.WeatherException +import com.minhdtm.example.weapose.domain.repositories.LocationRepository +import dagger.hilt.android.qualifiers.ApplicationContext +import kotlinx.coroutines.FlowPreview +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.flatMapConcat +import kotlinx.coroutines.flow.flow +import kotlinx.coroutines.suspendCancellableCoroutine +import java.util.* +import javax.inject.Inject +import kotlin.coroutines.resume +import kotlin.coroutines.resumeWithException + +class LocationRepositoryImpl @Inject constructor( + @ApplicationContext private val context: Context, +) : LocationRepository { + @SuppressLint("MissingPermission") + override fun getCurrentLocation(): Flow = flow { + // Just want to get location only want. + // If you want to emit the value every time `addOnSuccessListener()` return, you could using `callBackFlow` instead `suspendCancelableCoroutine`. + emit(suspendCancellableCoroutine { cancellableContinuation -> + val fusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(context) + + val cancellationTokenSource = CancellationTokenSource() + + fusedLocationProviderClient.getCurrentLocation( + LocationRequest.PRIORITY_HIGH_ACCURACY, + cancellationTokenSource.token, + ).addOnSuccessListener { location -> + if (location != null) { + cancellableContinuation.resume(LatLng(location.latitude, location.longitude)) + } else { + val error = WeatherException.SnackBarException( + message = context.getString(R.string.error_message_current_location_is_null) + ) + cancellableContinuation.resumeWithException(error) + } + }.addOnFailureListener { exception -> + val error = WeatherException.SnackBarException(message = exception.message ?: "") + cancellableContinuation.resumeWithException(error) + }.addOnCompleteListener { + cancellableContinuation.invokeOnCancellation { + cancellationTokenSource.cancel() + } + } + }) + } + + @OptIn(FlowPreview::class) + override fun getCurrentAddress(): Flow
= getCurrentLocation().flatMapConcat { latLng -> + flow { + emit(suspendCancellableCoroutine { cancellableContinuation -> + val error = WeatherException.SnackBarException( + message = context.getString(R.string.error_message_current_address_is_not_found) + ) + + val geo = Geocoder(context, Locale.ENGLISH) + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + geo.getFromLocation(latLng.latitude, latLng.longitude, 1) { listAddress -> + if (listAddress.isEmpty()) { + cancellableContinuation.resumeWithException(error) + } else { + cancellableContinuation.resume(listAddress.first()) + } + cancellableContinuation.cancel() + } + } else { + val listAddress = geo.getFromLocation(latLng.latitude, latLng.longitude, 1) + if (listAddress.isNullOrEmpty()) { + cancellableContinuation.resumeWithException(error) + } else { + cancellableContinuation.resume(listAddress.first()) + } + cancellableContinuation.cancel() + } + }) + } + } + + override fun getAddressFromLocation(latLng: LatLng): Flow
= flow { + emit(suspendCancellableCoroutine { cancellableContinuation -> + val error = WeatherException.SnackBarException( + -1, context.getString(R.string.error_message_address_is_not_found) + ) + + val geo = Geocoder(context, Locale.ENGLISH) + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + geo.getFromLocation(latLng.latitude, latLng.longitude, 1) { listAddress -> + if (listAddress.isEmpty()) { + cancellableContinuation.resumeWithException(error) + } else { + cancellableContinuation.resume(listAddress.first()) + } + cancellableContinuation.cancel() + } + } else { + val listAddress = geo.getFromLocation(latLng.latitude, latLng.longitude, 1) + if (listAddress.isNullOrEmpty()) { + cancellableContinuation.resumeWithException(error) + } else { + cancellableContinuation.resume(listAddress.first()) + } + cancellableContinuation.cancel() + } + }) + } +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/data/repositories/UserRepositoryImpl.kt b/app/src/main/java/com/minhdtm/example/weapose/data/repositories/UserRepositoryImpl.kt new file mode 100644 index 0000000..70c3e90 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/data/repositories/UserRepositoryImpl.kt @@ -0,0 +1,14 @@ +package com.minhdtm.example.weapose.data.repositories + +import com.minhdtm.example.weapose.data.local.datastore.PreferenceStorage +import com.minhdtm.example.weapose.domain.repositories.UserRepository +import kotlinx.coroutines.flow.Flow +import javax.inject.Inject + +class UserRepositoryImpl @Inject constructor( + private val preferenceStorage: PreferenceStorage, +) : UserRepository { + override suspend fun setDarkModeGoogleMap(isDarkMode: Boolean) = preferenceStorage.setDarkModeGoogleMap(isDarkMode) + + override val isDarkModeGoogleMap: Flow = preferenceStorage.isDarkModeGoogleMap +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/data/repositories/WeatherRepositoryImpl.kt b/app/src/main/java/com/minhdtm/example/weapose/data/repositories/WeatherRepositoryImpl.kt new file mode 100644 index 0000000..b6986b8 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/data/repositories/WeatherRepositoryImpl.kt @@ -0,0 +1,39 @@ +package com.minhdtm.example.weapose.data.repositories + +import androidx.compose.ui.text.intl.Locale +import com.google.android.gms.maps.model.LatLng +import com.minhdtm.example.weapose.BuildConfig +import com.minhdtm.example.weapose.data.model.CurrentWeather +import com.minhdtm.example.weapose.data.model.OneCallResponse +import com.minhdtm.example.weapose.data.remote.apiservice.CurrentWeatherApiService +import com.minhdtm.example.weapose.data.remote.apiservice.OneCallApiService +import com.minhdtm.example.weapose.domain.repositories.WeatherRepository +import kotlinx.coroutines.flow.Flow +import javax.inject.Inject + +class WeatherRepositoryImpl @Inject constructor( + private val currentWeatherApiService: CurrentWeatherApiService, + private val oneCallApiService: OneCallApiService, +) : WeatherRepository { + override fun getCurrentWeatherByCity(city: String): Flow = + currentWeatherApiService.getCurrentWeatherByCity( + city = city, + lang = Locale.current.language, + appId = BuildConfig.API_KEY, + ) + + override fun getCurrentWeatherByLocation(latLng: LatLng): Flow = + currentWeatherApiService.getCurrentWeatherByLocation( + latitude = latLng.latitude, + longitude = latLng.longitude, + lang = Locale.current.language, + appId = BuildConfig.API_KEY, + ) + + override fun getHourWeather(latLng: LatLng): Flow = oneCallApiService.getWeather( + lat = latLng.latitude, + lon = latLng.longitude, + lang = Locale.current.language, + appId = BuildConfig.API_KEY, + ) +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/domain/enums/ActionType.kt b/app/src/main/java/com/minhdtm/example/weapose/domain/enums/ActionType.kt new file mode 100644 index 0000000..bb3a195 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/domain/enums/ActionType.kt @@ -0,0 +1,5 @@ +package com.minhdtm.example.weapose.domain.enums + +enum class ActionType { + RETRY_API, OPEN_PERMISSION, +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/domain/enums/ExceptionType.kt b/app/src/main/java/com/minhdtm/example/weapose/domain/enums/ExceptionType.kt new file mode 100644 index 0000000..87e3d44 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/domain/enums/ExceptionType.kt @@ -0,0 +1,14 @@ +package com.minhdtm.example.weapose.domain.enums + +/** + * Clear exception from Throwable + * @param SNACK is type of show message via Snack bar + * @param TOAST is type of show message via Toast + * @param INLINE is type of show or hide view warning, example: password in correct hint of password field + * @param ALERT_DIALOG is type of show Alert Dialog, with multiple attributes: title, message, positive, negative & action + * @param REDIRECT is type of auto-redirect with view, action or finished, ... + * @param ON_PAGE is type of show message on center screen, maybe show retry button + */ +enum class ExceptionType { + SNACK, TOAST, INLINE, ALERT_DIALOG, REDIRECT, ON_PAGE, +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/domain/enums/RedirectType.kt b/app/src/main/java/com/minhdtm/example/weapose/domain/enums/RedirectType.kt new file mode 100644 index 0000000..9d8c1ba --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/domain/enums/RedirectType.kt @@ -0,0 +1,3 @@ +package com.minhdtm.example.weapose.domain.enums + +enum class RedirectType diff --git a/app/src/main/java/com/minhdtm/example/weapose/domain/enums/TagType.kt b/app/src/main/java/com/minhdtm/example/weapose/domain/enums/TagType.kt new file mode 100644 index 0000000..8fbe47b --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/domain/enums/TagType.kt @@ -0,0 +1,3 @@ +package com.minhdtm.example.weapose.domain.enums + +enum class TagType diff --git a/app/src/main/java/com/minhdtm/example/weapose/domain/exception/WeatherException.kt b/app/src/main/java/com/minhdtm/example/weapose/domain/exception/WeatherException.kt new file mode 100644 index 0000000..af9390e --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/domain/exception/WeatherException.kt @@ -0,0 +1,43 @@ +package com.minhdtm.example.weapose.domain.exception + +import com.minhdtm.example.weapose.domain.enums.ExceptionType +import com.minhdtm.example.weapose.domain.enums.RedirectType +import com.minhdtm.example.weapose.domain.model.AlertDialog +import com.minhdtm.example.weapose.domain.model.Tag + +sealed class WeatherException( + open val code: Int, + val type: ExceptionType, + override val message: String?, +) : Throwable(message) { + + data class AlertException( + override val code: Int, + val alertDialog: AlertDialog, + ) : WeatherException(code, ExceptionType.ALERT_DIALOG, null) + + data class InlineException( + override val code: Int, + val tags: List, + ) : WeatherException(code, ExceptionType.INLINE, null) + + data class RedirectException( + override val code: Int, + val redirect: RedirectType, + ) : WeatherException(code, ExceptionType.REDIRECT, null) + + data class SnackBarException( + override val code: Int = -1, + override val message: String, + ) : WeatherException(code, ExceptionType.SNACK, message) + + data class ToastException( + override val code: Int, + override val message: String, + ) : WeatherException(code, ExceptionType.TOAST, message) + + data class OnPageException( + override val code: Int, + override val message: String, + ) : WeatherException(code, ExceptionType.ON_PAGE, message) +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/domain/model/AlertDialog.kt b/app/src/main/java/com/minhdtm/example/weapose/domain/model/AlertDialog.kt new file mode 100644 index 0000000..fa9ac95 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/domain/model/AlertDialog.kt @@ -0,0 +1,14 @@ +package com.minhdtm.example.weapose.domain.model + +import com.minhdtm.example.weapose.domain.enums.ActionType + +data class AlertDialog( + val title: String, + val message: String, + val positiveMessage: String? = null, + val positiveAction: ActionType? = null, + val positiveObject: Any? = null, + val negativeMessage: String? = null, + val negativeAction: ActionType? = null, + val negativeObject: Any? = null +) diff --git a/app/src/main/java/com/minhdtm/example/weapose/domain/model/Redirect.kt b/app/src/main/java/com/minhdtm/example/weapose/domain/model/Redirect.kt new file mode 100644 index 0000000..e6c9966 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/domain/model/Redirect.kt @@ -0,0 +1,8 @@ +package com.minhdtm.example.weapose.domain.model + +import com.minhdtm.example.weapose.domain.enums.RedirectType + +data class Redirect( + val redirect: RedirectType, + val redirectObject: Any? = null, +) diff --git a/app/src/main/java/com/minhdtm/example/weapose/domain/model/Tag.kt b/app/src/main/java/com/minhdtm/example/weapose/domain/model/Tag.kt new file mode 100644 index 0000000..ff3bb9b --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/domain/model/Tag.kt @@ -0,0 +1,8 @@ +package com.minhdtm.example.weapose.domain.model + +import com.minhdtm.example.weapose.domain.enums.TagType + +data class Tag( + val name: TagType, + val message: String?, +) diff --git a/app/src/main/java/com/minhdtm/example/weapose/domain/repositories/LocationRepository.kt b/app/src/main/java/com/minhdtm/example/weapose/domain/repositories/LocationRepository.kt new file mode 100644 index 0000000..9274288 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/domain/repositories/LocationRepository.kt @@ -0,0 +1,13 @@ +package com.minhdtm.example.weapose.domain.repositories + +import android.location.Address +import com.google.android.gms.maps.model.LatLng +import kotlinx.coroutines.flow.Flow + +interface LocationRepository { + fun getCurrentLocation(): Flow + + fun getCurrentAddress(): Flow
+ + fun getAddressFromLocation(latLng: LatLng): Flow
+} diff --git a/app/src/main/java/com/minhdtm/example/weapose/domain/repositories/UserRepository.kt b/app/src/main/java/com/minhdtm/example/weapose/domain/repositories/UserRepository.kt new file mode 100644 index 0000000..c228177 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/domain/repositories/UserRepository.kt @@ -0,0 +1,9 @@ +package com.minhdtm.example.weapose.domain.repositories + +import kotlinx.coroutines.flow.Flow + +interface UserRepository { + suspend fun setDarkModeGoogleMap(isDarkMode: Boolean) + + val isDarkModeGoogleMap: Flow +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/domain/repositories/WeatherRepository.kt b/app/src/main/java/com/minhdtm/example/weapose/domain/repositories/WeatherRepository.kt new file mode 100644 index 0000000..0674727 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/domain/repositories/WeatherRepository.kt @@ -0,0 +1,14 @@ +package com.minhdtm.example.weapose.domain.repositories + +import com.google.android.gms.maps.model.LatLng +import com.minhdtm.example.weapose.data.model.CurrentWeather +import com.minhdtm.example.weapose.data.model.OneCallResponse +import kotlinx.coroutines.flow.Flow + +interface WeatherRepository { + fun getCurrentWeatherByCity(city: String): Flow + + fun getCurrentWeatherByLocation(latLng: LatLng): Flow + + fun getHourWeather(latLng: LatLng): Flow +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/domain/usecase/GetAddressFromLocationUseCase.kt b/app/src/main/java/com/minhdtm/example/weapose/domain/usecase/GetAddressFromLocationUseCase.kt new file mode 100644 index 0000000..afefb79 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/domain/usecase/GetAddressFromLocationUseCase.kt @@ -0,0 +1,35 @@ +package com.minhdtm.example.weapose.domain.usecase + +import android.content.Context +import android.location.Address +import com.google.android.gms.maps.model.LatLng +import com.minhdtm.example.weapose.R +import com.minhdtm.example.weapose.domain.exception.WeatherException +import com.minhdtm.example.weapose.domain.repositories.LocationRepository +import com.minhdtm.example.weapose.domain.usecase.base.FlowUseCase +import com.minhdtm.example.weapose.presentation.di.IoDispatcher +import com.minhdtm.example.weapose.presentation.utils.asFlow +import dagger.hilt.android.qualifiers.ApplicationContext +import kotlinx.coroutines.CoroutineDispatcher +import kotlinx.coroutines.flow.Flow +import javax.inject.Inject +import javax.inject.Singleton + +@Singleton +class GetAddressFromLocationUseCase @Inject constructor( + @ApplicationContext private val context: Context, + @IoDispatcher private val ioDispatcher: CoroutineDispatcher, + private val locationRepository: LocationRepository, +) : FlowUseCase(ioDispatcher) { + override fun execute(params: Params?): Flow
= if (params != null) { + locationRepository.getAddressFromLocation(params.latLng) + } else { + WeatherException.SnackBarException(message = context.getString(R.string.error_message_lat_lng_are_invalid)) + .asFlow() + } + + + data class Params( + val latLng: LatLng, + ) +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/domain/usecase/GetCurrentLocationUseCase.kt b/app/src/main/java/com/minhdtm/example/weapose/domain/usecase/GetCurrentLocationUseCase.kt new file mode 100644 index 0000000..08b124f --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/domain/usecase/GetCurrentLocationUseCase.kt @@ -0,0 +1,18 @@ +package com.minhdtm.example.weapose.domain.usecase + +import com.google.android.gms.maps.model.LatLng +import com.minhdtm.example.weapose.domain.repositories.LocationRepository +import com.minhdtm.example.weapose.domain.usecase.base.FlowUseCase +import com.minhdtm.example.weapose.presentation.di.MainDispatcher +import kotlinx.coroutines.CoroutineDispatcher +import kotlinx.coroutines.flow.Flow +import javax.inject.Inject +import javax.inject.Singleton + +@Singleton +class GetCurrentLocationUseCase @Inject constructor( + @MainDispatcher private val coroutineDispatcher: CoroutineDispatcher, + private val locationRepository: LocationRepository, +) : FlowUseCase(coroutineDispatcher) { + override fun execute(params: Unit?): Flow = locationRepository.getCurrentLocation() +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/domain/usecase/GetCurrentWeatherUseCase.kt b/app/src/main/java/com/minhdtm/example/weapose/domain/usecase/GetCurrentWeatherUseCase.kt new file mode 100644 index 0000000..3f4b383 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/domain/usecase/GetCurrentWeatherUseCase.kt @@ -0,0 +1,35 @@ +package com.minhdtm.example.weapose.domain.usecase + +import android.content.Context +import com.google.android.gms.maps.model.LatLng +import com.minhdtm.example.weapose.R +import com.minhdtm.example.weapose.data.model.CurrentWeather +import com.minhdtm.example.weapose.domain.exception.WeatherException +import com.minhdtm.example.weapose.domain.repositories.WeatherRepository +import com.minhdtm.example.weapose.domain.usecase.base.FlowUseCase +import com.minhdtm.example.weapose.presentation.di.MainDispatcher +import com.minhdtm.example.weapose.presentation.utils.asFlow +import dagger.hilt.android.qualifiers.ApplicationContext +import kotlinx.coroutines.CoroutineDispatcher +import kotlinx.coroutines.flow.Flow +import javax.inject.Inject +import javax.inject.Singleton + +@Singleton +class GetCurrentWeatherUseCase @Inject constructor( + @ApplicationContext private val context: Context, + @MainDispatcher private val coroutineDispatcher: CoroutineDispatcher, + private val weatherRepository: WeatherRepository, +) : FlowUseCase(coroutineDispatcher) { + override fun execute(params: Params?): Flow = if (params != null) { + weatherRepository.getCurrentWeatherByLocation(params.latLng) + } else { + WeatherException.SnackBarException( + message = context.getString(R.string.error_message_lat_lng_are_invalid) + ).asFlow() + } + + data class Params( + val latLng: LatLng, + ) +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/domain/usecase/GetDarkModeGoogleMapUseCase.kt b/app/src/main/java/com/minhdtm/example/weapose/domain/usecase/GetDarkModeGoogleMapUseCase.kt new file mode 100644 index 0000000..77c9d46 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/domain/usecase/GetDarkModeGoogleMapUseCase.kt @@ -0,0 +1,17 @@ +package com.minhdtm.example.weapose.domain.usecase + +import com.minhdtm.example.weapose.domain.repositories.UserRepository +import com.minhdtm.example.weapose.domain.usecase.base.FlowUseCase +import com.minhdtm.example.weapose.presentation.di.IoDispatcher +import kotlinx.coroutines.CoroutineDispatcher +import kotlinx.coroutines.flow.Flow +import javax.inject.Inject +import javax.inject.Singleton + +@Singleton +class GetDarkModeGoogleMapUseCase @Inject constructor( + @IoDispatcher private val ioDispatcher: CoroutineDispatcher, + private val userRepository: UserRepository, +) : FlowUseCase(ioDispatcher) { + override fun execute(params: Unit?): Flow = userRepository.isDarkModeGoogleMap +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/domain/usecase/GetHourWeatherUseCase.kt b/app/src/main/java/com/minhdtm/example/weapose/domain/usecase/GetHourWeatherUseCase.kt new file mode 100644 index 0000000..d5ad88b --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/domain/usecase/GetHourWeatherUseCase.kt @@ -0,0 +1,57 @@ +package com.minhdtm.example.weapose.domain.usecase + +import android.content.Context +import com.google.android.gms.maps.model.LatLng +import com.minhdtm.example.weapose.R +import com.minhdtm.example.weapose.data.model.Hourly +import com.minhdtm.example.weapose.domain.exception.WeatherException +import com.minhdtm.example.weapose.domain.repositories.WeatherRepository +import com.minhdtm.example.weapose.domain.usecase.base.FlowUseCase +import com.minhdtm.example.weapose.presentation.di.MainDispatcher +import com.minhdtm.example.weapose.presentation.utils.asFlow +import dagger.hilt.android.qualifiers.ApplicationContext +import kotlinx.coroutines.CoroutineDispatcher +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.map +import java.util.concurrent.TimeUnit +import javax.inject.Inject +import javax.inject.Singleton + +@Singleton +class GetHourWeatherUseCase @Inject constructor( + @ApplicationContext private val context: Context, + @MainDispatcher private val mainDispatcher: CoroutineDispatcher, + private val weatherRepository: WeatherRepository, +) : FlowUseCase(mainDispatcher) { + override fun execute(params: Params?): Flow = if (params == null) { + WeatherException.SnackBarException(message = context.getString(R.string.error_message_lat_lng_are_invalid)) + .asFlow() + } else { + weatherRepository.getHourWeather(params.latLng).map { response -> + val firstTime = response.hourly?.firstOrNull()?.dt ?: 0L + + val today = response.hourly?.filter { + it.dt != null && it.dt <= firstTime + oneDaySeconds() + } ?: emptyList() + + val tomorrow = response.hourly?.filter { + it.dt != null && it.dt > firstTime + oneDaySeconds() && it.dt <= firstTime + twoDaySeconds() + } ?: emptyList() + + Response(today, tomorrow) + } + } + + private fun oneDaySeconds(): Long = TimeUnit.DAYS.toSeconds(1) + + private fun twoDaySeconds(): Long = oneDaySeconds() * 2 + + data class Params( + val latLng: LatLng, + ) + + data class Response( + val today: List, + val tomorrow: List, + ) +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/domain/usecase/SetDarkModeGoogleMapUseCase.kt b/app/src/main/java/com/minhdtm/example/weapose/domain/usecase/SetDarkModeGoogleMapUseCase.kt new file mode 100644 index 0000000..dea3041 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/domain/usecase/SetDarkModeGoogleMapUseCase.kt @@ -0,0 +1,31 @@ +package com.minhdtm.example.weapose.domain.usecase + +import android.content.Context +import com.minhdtm.example.weapose.R +import com.minhdtm.example.weapose.domain.exception.WeatherException +import com.minhdtm.example.weapose.domain.repositories.UserRepository +import com.minhdtm.example.weapose.domain.usecase.base.SuspendUseCase +import com.minhdtm.example.weapose.presentation.di.IoDispatcher +import dagger.hilt.android.qualifiers.ApplicationContext +import kotlinx.coroutines.CoroutineDispatcher +import javax.inject.Inject +import javax.inject.Singleton + +@Singleton +class SetDarkModeGoogleMapUseCase @Inject constructor( + @ApplicationContext private val context: Context, + @IoDispatcher private val ioDispatcher: CoroutineDispatcher, + private val userRepository: UserRepository, +) : SuspendUseCase(ioDispatcher) { + override suspend fun execute(params: Params?) { + if (params == null) { + throw WeatherException.SnackBarException(message = context.getString(R.string.error_message_default)) + } else { + userRepository.setDarkModeGoogleMap(params.isDarkMode) + } + } + + data class Params( + val isDarkMode: Boolean, + ) +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/domain/usecase/base/FlowUseCase.kt b/app/src/main/java/com/minhdtm/example/weapose/domain/usecase/base/FlowUseCase.kt new file mode 100644 index 0000000..9e4d5df --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/domain/usecase/base/FlowUseCase.kt @@ -0,0 +1,11 @@ +package com.minhdtm.example.weapose.domain.usecase.base + +import kotlinx.coroutines.CoroutineDispatcher +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.flowOn + +abstract class FlowUseCase constructor(private val coroutineDispatcher: CoroutineDispatcher) { + protected abstract fun execute(params: Params? = null): Flow + + operator fun invoke(params: Params? = null): Flow = execute(params).flowOn(coroutineDispatcher) +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/domain/usecase/base/SuspendUseCase.kt b/app/src/main/java/com/minhdtm/example/weapose/domain/usecase/base/SuspendUseCase.kt new file mode 100644 index 0000000..4081127 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/domain/usecase/base/SuspendUseCase.kt @@ -0,0 +1,13 @@ +package com.minhdtm.example.weapose.domain.usecase.base + +import kotlinx.coroutines.CoroutineDispatcher +import kotlinx.coroutines.withContext + +abstract class SuspendUseCase constructor(private val coroutineDispatcher: CoroutineDispatcher) { + + protected abstract suspend fun execute(params: Params? = null): T + + suspend operator fun invoke(params: Params? = null): T = withContext(coroutineDispatcher) { + execute(params) + } +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/presentation/WeatherApplication.kt b/app/src/main/java/com/minhdtm/example/weapose/presentation/WeatherApplication.kt new file mode 100644 index 0000000..7b9b470 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/presentation/WeatherApplication.kt @@ -0,0 +1,17 @@ +package com.minhdtm.example.weapose.presentation + +import android.app.Application +import com.minhdtm.example.weapose.BuildConfig +import dagger.hilt.android.HiltAndroidApp +import timber.log.Timber + +@HiltAndroidApp +class WeatherApplication : Application() { + override fun onCreate() { + super.onCreate() + + if (BuildConfig.DEBUG) { + Timber.plant(Timber.DebugTree()) + } + } +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/presentation/base/BaseViewModel.kt b/app/src/main/java/com/minhdtm/example/weapose/presentation/base/BaseViewModel.kt new file mode 100644 index 0000000..298747e --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/presentation/base/BaseViewModel.kt @@ -0,0 +1,59 @@ +package com.minhdtm.example.weapose.presentation.base + +import androidx.lifecycle.ViewModel +import androidx.lifecycle.viewModelScope +import com.minhdtm.example.weapose.domain.exception.WeatherException +import kotlinx.coroutines.CoroutineExceptionHandler +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Job +import kotlinx.coroutines.launch +import timber.log.Timber + +open class BaseViewModel : ViewModel() { + private val coroutineExceptionHandler = CoroutineExceptionHandler { _, exception -> + Timber.e(exception.message) + val errorResponse = if (exception is WeatherException) { + exception + } else { + WeatherException.SnackBarException(message = exception.message ?: "") + } + + showError(errorResponse) + } + + private var job: Job? = null + + private var callApi: suspend CoroutineScope.() -> Unit = {} + + open fun showError(error: WeatherException) {} + + open fun hideError() {} + + fun callApi(api: suspend CoroutineScope.() -> Unit) { + viewModelScope.launch(coroutineExceptionHandler) { + callApi = api + + job = launch { + callApi.invoke(this) + } + + job?.join() + } + } + + open fun retry() { + viewModelScope.launch(coroutineExceptionHandler) { + job?.cancel() + job = launch { + callApi.invoke(this) + } + job?.join() + } + } + + override fun onCleared() { + job?.cancel() + job = null + super.onCleared() + } +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/presentation/base/Event.kt b/app/src/main/java/com/minhdtm/example/weapose/presentation/base/Event.kt new file mode 100644 index 0000000..3a49e96 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/presentation/base/Event.kt @@ -0,0 +1,3 @@ +package com.minhdtm.example.weapose.presentation.base + +open class Event diff --git a/app/src/main/java/com/minhdtm/example/weapose/presentation/base/ViewState.kt b/app/src/main/java/com/minhdtm/example/weapose/presentation/base/ViewState.kt new file mode 100644 index 0000000..ae52066 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/presentation/base/ViewState.kt @@ -0,0 +1,8 @@ +package com.minhdtm.example.weapose.presentation.base + +import com.minhdtm.example.weapose.domain.exception.WeatherException + +open class ViewState( + open val isLoading: Boolean = false, + open val error: WeatherException? = null, +) diff --git a/app/src/main/java/com/minhdtm/example/weapose/presentation/base/WeatherViewModelFactory.kt b/app/src/main/java/com/minhdtm/example/weapose/presentation/base/WeatherViewModelFactory.kt new file mode 100644 index 0000000..2009559 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/presentation/base/WeatherViewModelFactory.kt @@ -0,0 +1,12 @@ +package com.minhdtm.example.weapose.presentation.base + +import androidx.lifecycle.ViewModel +import androidx.lifecycle.ViewModelProvider +import androidx.navigation.NavBackStackEntry + +class WeatherViewModelFactory( + private val currentBackStackEntry: NavBackStackEntry, +) : ViewModelProvider.NewInstanceFactory() { + override fun create(modelClass: Class): T = + modelClass.getConstructor(NavBackStackEntry::class.java).newInstance(currentBackStackEntry) +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/presentation/component/NavigationDrawerLabel.kt b/app/src/main/java/com/minhdtm/example/weapose/presentation/component/NavigationDrawerLabel.kt new file mode 100644 index 0000000..1f7dce4 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/presentation/component/NavigationDrawerLabel.kt @@ -0,0 +1,41 @@ +package com.minhdtm.example.weapose.presentation.component + +import androidx.compose.foundation.layout.* +import androidx.compose.material3.* +import androidx.compose.runtime.Composable +import androidx.compose.runtime.CompositionLocalProvider +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.unit.dp + +@OptIn(ExperimentalMaterial3Api::class) +@Composable +fun NavigationDrawerLabel( + modifier: Modifier = Modifier, + colors: NavigationDrawerItemColors = NavigationDrawerItemDefaults.colors(), + icon: (@Composable () -> Unit)? = null, + label: @Composable () -> Unit, +) { + Surface( + modifier = modifier + .height(56.0.dp) + .fillMaxWidth(), + color = colors.containerColor(false).value, + ) { + Row( + modifier = Modifier.padding(start = 16.dp, end = 24.dp), + verticalAlignment = Alignment.CenterVertically, + ) { + if (icon != null) { + val iconColor = colors.iconColor(false).value + CompositionLocalProvider(LocalContentColor provides iconColor, content = icon) + Spacer(Modifier.width(12.dp)) + } + + Box(Modifier.weight(1f)) { + val labelColor = colors.textColor(selected = false).value + CompositionLocalProvider(LocalContentColor provides labelColor, content = label) + } + } + } +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/presentation/component/RequestPermission.kt b/app/src/main/java/com/minhdtm/example/weapose/presentation/component/RequestPermission.kt new file mode 100644 index 0000000..5e12d2c --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/presentation/component/RequestPermission.kt @@ -0,0 +1,104 @@ +package com.minhdtm.example.weapose.presentation.component + +import android.Manifest +import android.content.pm.PackageManager +import android.os.Build +import androidx.activity.compose.rememberLauncherForActivityResult +import androidx.activity.result.contract.ActivityResultContracts +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.ui.platform.LocalContext +import androidx.core.content.ContextCompat +import com.google.accompanist.permissions.ExperimentalPermissionsApi +import com.google.accompanist.permissions.rememberMultiplePermissionsState + +@Composable +fun RequestPermissionLocation( + onPermissionGranted: () -> Unit, + onPermissionNotGranted: () -> Unit, +) { + val context = LocalContext.current + + val launcher = + rememberLauncherForActivityResult(ActivityResultContracts.RequestMultiplePermissions()) { permissions -> + val isGrantedFineLocation = permissions[Manifest.permission.ACCESS_FINE_LOCATION] ?: false + + if (isGrantedFineLocation) { + onPermissionGranted.invoke() + } else { + onPermissionNotGranted.invoke() + } + } + + LaunchedEffect(key1 = true) { + val isGrantedFineLocation = ContextCompat.checkSelfPermission( + context, Manifest.permission.ACCESS_FINE_LOCATION + ) == PackageManager.PERMISSION_GRANTED + + val isGrantedCoarseLocation = ContextCompat.checkSelfPermission( + context, Manifest.permission.ACCESS_COARSE_LOCATION + ) == PackageManager.PERMISSION_GRANTED + + val isAndroidS = Build.VERSION.SDK_INT >= Build.VERSION_CODES.S + + if (isAndroidS) { + if (isGrantedCoarseLocation && isGrantedFineLocation) { + onPermissionGranted.invoke() + } else { + launcher.launch( + arrayOf( + Manifest.permission.ACCESS_FINE_LOCATION, + Manifest.permission.ACCESS_COARSE_LOCATION, + ) + ) + } + } else { + if (isGrantedFineLocation) { + onPermissionNotGranted.invoke() + } else { + launcher.launch( + arrayOf( + Manifest.permission.ACCESS_FINE_LOCATION, + ) + ) + } + } + } +} + +@OptIn(ExperimentalPermissionsApi::class) +@Composable +fun RequestPermission( + onPermissionFineGranted: () -> Unit, + onPermissionCoarseGranted: () -> Unit, + onPermissionDenied: () -> Unit, +) { + val locationPermissionState = rememberMultiplePermissionsState( + listOf( + Manifest.permission.ACCESS_COARSE_LOCATION, + Manifest.permission.ACCESS_FINE_LOCATION, + ) + ) { permissions -> + if (permissions.all { it.value }) { + onPermissionFineGranted.invoke() + } else if (permissions.getValue(Manifest.permission.ACCESS_COARSE_LOCATION)) { + onPermissionCoarseGranted.invoke() + } else { + onPermissionDenied.invoke() + } + } + + LaunchedEffect(key1 = true) { + when { + locationPermissionState.allPermissionsGranted -> { + onPermissionFineGranted.invoke() + } + locationPermissionState.shouldShowRationale -> { + onPermissionDenied.invoke() + } + else -> { + locationPermissionState.launchMultiplePermissionRequest() + } + } + } +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/presentation/component/WeatherHandleError.kt b/app/src/main/java/com/minhdtm/example/weapose/presentation/component/WeatherHandleError.kt new file mode 100644 index 0000000..8a7520d --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/presentation/component/WeatherHandleError.kt @@ -0,0 +1,146 @@ +package com.minhdtm.example.weapose.presentation.component + +import android.annotation.SuppressLint +import androidx.compose.foundation.background +import androidx.compose.foundation.clickable +import androidx.compose.foundation.interaction.MutableInteractionSource +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.material3.AlertDialog +import androidx.compose.material3.CircularProgressIndicator +import androidx.compose.material3.Text +import androidx.compose.material3.TextButton +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.remember +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.unit.dp +import com.minhdtm.example.weapose.R +import com.minhdtm.example.weapose.domain.enums.ActionType +import com.minhdtm.example.weapose.domain.exception.WeatherException +import com.minhdtm.example.weapose.domain.model.AlertDialog +import com.minhdtm.example.weapose.presentation.base.ViewState + +@SuppressLint("UnusedMaterial3ScaffoldPaddingParameter") +@Composable +fun WeatherHandleError( + modifier: Modifier = Modifier, + state: VS, + onShowSnackBar: (message: String) -> Unit = {}, + onPositiveAction: (action: ActionType?, value: Any?) -> Unit = { _, _ -> }, + onNegativeAction: (action: ActionType?, value: Any?) -> Unit = { _, _ -> }, + onDismissErrorDialog: () -> Unit = {}, + content: @Composable (VS) -> Unit, +) { + Box(modifier = modifier) { + content(state) + + if (state.isLoading) { + FullScreenLoading() + } + + if (state.error != null) { + HandleError( + error = state.error!!, // Not null + onPositiveAction = onPositiveAction, + onNegativeAction = onNegativeAction, + onShowSnackBar = onShowSnackBar, + onDismissRequest = onDismissErrorDialog, + ) + } + } +} + +@Composable +fun FullScreenLoading( + modifier: Modifier = Modifier, +) { + Box( + modifier = modifier.then( + Modifier + .fillMaxSize() + .background(Color.Transparent) + .clickable( + indication = null, + interactionSource = remember { MutableInteractionSource() }, + onClick = {}, + ), + ), contentAlignment = Alignment.Center + ) { + CircularProgressIndicator( + modifier = Modifier.background(Color.Transparent), + strokeWidth = 5.dp, + ) + } +} + +@Composable +fun HandleError( + error: WeatherException, + onPositiveAction: (action: ActionType?, value: Any?) -> Unit = { _, _ -> }, + onNegativeAction: (action: ActionType?, value: Any?) -> Unit = { _, _ -> }, + onShowSnackBar: (message: String) -> Unit = {}, + onDismissRequest: () -> Unit = {}, +) { + val context = LocalContext.current + + when (error) { + is WeatherException.AlertException -> { + WeatherAlertDialog( + alertDialog = error.alertDialog, + onDismissRequest = onDismissRequest, + positiveAction = onPositiveAction, + negativeAction = onNegativeAction, + ) + } + + else -> { + LaunchedEffect(key1 = true) { + onShowSnackBar.invoke(error.message ?: context.getString(R.string.error_message_default)) + onDismissRequest.invoke() + } + } + } +} + +@Composable +fun WeatherAlertDialog( + alertDialog: AlertDialog, + positiveAction: (action: ActionType?, value: Any?) -> Unit = { _, _ -> }, + negativeAction: (action: ActionType?, value: Any?) -> Unit = { _, _ -> }, + onDismissRequest: () -> Unit = {}, +) { + AlertDialog( + onDismissRequest = onDismissRequest, + title = { + Text(text = alertDialog.title) + }, + text = { + Text(text = alertDialog.message) + }, + confirmButton = { + TextButton( + onClick = { + onDismissRequest.invoke() + positiveAction.invoke(alertDialog.positiveAction, alertDialog.positiveObject) + }, + ) { + Text(text = alertDialog.positiveMessage ?: stringResource(id = R.string.retry)) + } + }, + dismissButton = { + TextButton( + onClick = { + onDismissRequest.invoke() + negativeAction.invoke(alertDialog.positiveAction, alertDialog.positiveObject) + }, + ) { + Text(text = alertDialog.negativeMessage ?: stringResource(id = android.R.string.cancel)) + } + }, + ) +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/presentation/component/WeatherScaffold.kt b/app/src/main/java/com/minhdtm/example/weapose/presentation/component/WeatherScaffold.kt new file mode 100644 index 0000000..ab7fcdd --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/presentation/component/WeatherScaffold.kt @@ -0,0 +1,61 @@ +package com.minhdtm.example.weapose.presentation.component + +import android.annotation.SuppressLint +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.navigationBarsPadding +import androidx.compose.foundation.layout.padding +import androidx.compose.material3.* +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import com.minhdtm.example.weapose.domain.enums.ActionType +import com.minhdtm.example.weapose.presentation.base.ViewState + +@OptIn(ExperimentalMaterial3Api::class) +@SuppressLint("UnusedMaterial3ScaffoldPaddingParameter") +@Composable +fun WeatherScaffold( + modifier: Modifier = Modifier, + state: VS, + snackbarHostState: SnackbarHostState = SnackbarHostState(), + topBar: @Composable () -> Unit = {}, + bottomBar: @Composable () -> Unit = {}, + floatingActionButton: @Composable () -> Unit = {}, + floatingActionButtonPosition: FabPosition = FabPosition.End, + containerColor: Color = MaterialTheme.colorScheme.background, + contentColor: Color = contentColorFor(containerColor), + onShowSnackbar: (message: String) -> Unit = {}, + onErrorPositiveAction: (action: ActionType?, value: Any?) -> Unit = { _, _ -> }, + onErrorNegativeAction: (action: ActionType?, value: Any?) -> Unit = { _, _ -> }, + onDismissErrorDialog: () -> Unit, + content: @Composable (viewState: VS) -> Unit, +) { + Scaffold( + modifier = modifier, + topBar = topBar, + bottomBar = bottomBar, + snackbarHost = { + SnackbarHost( + hostState = snackbarHostState, + modifier = Modifier.navigationBarsPadding(), + ) + }, + floatingActionButton = floatingActionButton, + floatingActionButtonPosition = floatingActionButtonPosition, + containerColor = containerColor, + contentColor = contentColor, + ) { paddingValues -> + WeatherHandleError( + modifier = Modifier + .fillMaxSize() + .padding(paddingValues), + state = state, + onShowSnackBar = onShowSnackbar, + onPositiveAction = onErrorPositiveAction, + onNegativeAction = onErrorNegativeAction, + onDismissErrorDialog = onDismissErrorDialog, + ) { viewState -> + content.invoke(viewState) + } + } +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/presentation/di/CoroutinesQualifiers.kt b/app/src/main/java/com/minhdtm/example/weapose/presentation/di/CoroutinesQualifiers.kt new file mode 100644 index 0000000..a86f024 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/presentation/di/CoroutinesQualifiers.kt @@ -0,0 +1,23 @@ +package com.minhdtm.example.weapose.presentation.di + +import javax.inject.Qualifier + +@Retention(AnnotationRetention.BINARY) +@Qualifier +annotation class DefaultDispatcher + +@Retention(AnnotationRetention.BINARY) +@Qualifier +annotation class IoDispatcher + +@Retention(AnnotationRetention.BINARY) +@Qualifier +annotation class MainDispatcher + +@Retention(AnnotationRetention.BINARY) +@Qualifier +annotation class MainImmediateDispatcher + +@Retention(AnnotationRetention.BINARY) +@Qualifier +annotation class ApplicationScope diff --git a/app/src/main/java/com/minhdtm/example/weapose/presentation/di/DispatcherModule.kt b/app/src/main/java/com/minhdtm/example/weapose/presentation/di/DispatcherModule.kt new file mode 100644 index 0000000..9ac58ab --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/presentation/di/DispatcherModule.kt @@ -0,0 +1,28 @@ +package com.minhdtm.example.weapose.presentation.di + +import dagger.Module +import dagger.Provides +import dagger.hilt.InstallIn +import dagger.hilt.components.SingletonComponent +import kotlinx.coroutines.CoroutineDispatcher +import kotlinx.coroutines.Dispatchers + +@InstallIn(SingletonComponent::class) +@Module +object DispatcherModule { + @DefaultDispatcher + @Provides + fun providesDefaultDispatcher(): CoroutineDispatcher = Dispatchers.Default + + @IoDispatcher + @Provides + fun providesIoDispatcher(): CoroutineDispatcher = Dispatchers.IO + + @MainDispatcher + @Provides + fun providesMainDispatcher(): CoroutineDispatcher = Dispatchers.Main + + @MainImmediateDispatcher + @Provides + fun providesMainImmediateDispatcher(): CoroutineDispatcher = Dispatchers.Main.immediate +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/presentation/model/CurrentWeatherViewData.kt b/app/src/main/java/com/minhdtm/example/weapose/presentation/model/CurrentWeatherViewData.kt new file mode 100644 index 0000000..2eed328 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/presentation/model/CurrentWeatherViewData.kt @@ -0,0 +1,52 @@ +package com.minhdtm.example.weapose.presentation.model + +import androidx.compose.ui.text.capitalize +import androidx.compose.ui.text.intl.Locale +import androidx.compose.ui.text.toUpperCase +import com.minhdtm.example.weapose.data.model.CurrentWeather +import com.minhdtm.example.weapose.presentation.utils.Constants +import com.minhdtm.example.weapose.presentation.utils.toBackground +import com.minhdtm.example.weapose.presentation.utils.toDateTime +import javax.inject.Inject + +data class CurrentWeatherViewData( + val city: String, + val maxTemp: String, + val minTemp: String, + val temp: String, + val weather: String, + val sunRise: String, + val wind: String, + val humidity: String, + val background: Int, +) : ViewData() + +class CurrentWeatherMapper @Inject constructor() : DataModelMapper { + override fun mapToModel(viewData: CurrentWeatherViewData): CurrentWeather { + TODO("Not yet implemented") + } + + override fun mapToViewData(model: CurrentWeather): CurrentWeatherViewData { + val city = model.name?.uppercase() ?: "" + val maxTemp = model.main.tempMax?.toString() ?: "" + val minTemp = model.main.tempMin?.toString() ?: "" + val temp = model.main.temp?.toString() ?: "" + val weather = model.weatherItems.firstOrNull()?.description?.capitalize(Locale.current) ?: "" + val sunRise = model.sys.sunrise?.toDateTime(Constants.DateFormat.HH_mm, model.timezone) ?: "" + val wind = model.wind.speed?.toString() ?: "" + val humidity = model.main.humidity?.toString() ?: "" + val background = (model.weatherItems.firstOrNull()?.icon ?: "").toBackground() + + return CurrentWeatherViewData( + city = city, + maxTemp = maxTemp, + minTemp = minTemp, + temp = temp, + weather = weather, + sunRise = sunRise, + wind = wind, + humidity = humidity, + background = background, + ) + } +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/presentation/model/DataModelMapper.kt b/app/src/main/java/com/minhdtm/example/weapose/presentation/model/DataModelMapper.kt new file mode 100644 index 0000000..1288a86 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/presentation/model/DataModelMapper.kt @@ -0,0 +1,9 @@ +package com.minhdtm.example.weapose.presentation.model + +import com.minhdtm.example.weapose.data.model.Model + +interface DataModelMapper { + fun mapToModel(viewData: VD): M + + fun mapToViewData(model: M): VD +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/presentation/model/HourWeatherViewData.kt b/app/src/main/java/com/minhdtm/example/weapose/presentation/model/HourWeatherViewData.kt new file mode 100644 index 0000000..c26a3f5 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/presentation/model/HourWeatherViewData.kt @@ -0,0 +1,27 @@ +package com.minhdtm.example.weapose.presentation.model + +import com.minhdtm.example.weapose.data.model.Hourly +import com.minhdtm.example.weapose.presentation.utils.Constants +import com.minhdtm.example.weapose.presentation.utils.toDateTime +import com.minhdtm.example.weapose.presentation.utils.toIcon +import javax.inject.Inject + +data class HourWeatherViewData( + val timeStamp: Long, + val time: String, + val weatherIcon: Int, +) : ViewData() + +class HourWeatherMapper @Inject constructor() : DataModelMapper { + override fun mapToModel(viewData: HourWeatherViewData): Hourly { + TODO("Not yet implemented") + } + + override fun mapToViewData(model: Hourly): HourWeatherViewData { + val timeStamp = model.dt ?: 0L + val time = model.dt?.times(1000L)?.toDateTime(Constants.DateFormat.HH_mm) ?: "" + val weatherIcon = (model.weather?.firstOrNull()?.icon ?: "").toIcon() + + return HourWeatherViewData(timeStamp = timeStamp, time = time, weatherIcon = weatherIcon) + } +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/presentation/model/ViewData.kt b/app/src/main/java/com/minhdtm/example/weapose/presentation/model/ViewData.kt new file mode 100644 index 0000000..2eca0e5 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/presentation/model/ViewData.kt @@ -0,0 +1,3 @@ +package com.minhdtm.example.weapose.presentation.model + +open class ViewData diff --git a/app/src/main/java/com/minhdtm/example/weapose/presentation/model/factory/CurrentWeatherViewDataFactory.kt b/app/src/main/java/com/minhdtm/example/weapose/presentation/model/factory/CurrentWeatherViewDataFactory.kt new file mode 100644 index 0000000..f91a644 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/presentation/model/factory/CurrentWeatherViewDataFactory.kt @@ -0,0 +1,16 @@ +package com.minhdtm.example.weapose.presentation.model.factory + +import com.minhdtm.example.weapose.R +import com.minhdtm.example.weapose.presentation.model.CurrentWeatherViewData + +fun previewCurrentWeatherViewData() = CurrentWeatherViewData( + city = "Ha Noi", + maxTemp = "40", + minTemp = "30", + temp = "35", + weather = "Sunny", + sunRise = "6:00", + wind = "10", + humidity = "70", + background = R.drawable.bg_clear_sky +) diff --git a/app/src/main/java/com/minhdtm/example/weapose/presentation/theme/Color.kt b/app/src/main/java/com/minhdtm/example/weapose/presentation/theme/Color.kt new file mode 100644 index 0000000..d211ef7 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/presentation/theme/Color.kt @@ -0,0 +1,11 @@ +package com.minhdtm.example.weapose.presentation.theme + +import androidx.compose.ui.graphics.Color + +val Purple80 = Color(0xFFD0BCFF) +val PurpleGrey80 = Color(0xFFCCC2DC) +val Pink80 = Color(0xFFEFB8C8) + +val Purple40 = Color(0xFF6650a4) +val PurpleGrey40 = Color(0xFF625b71) +val Pink40 = Color(0xFF7D5260) \ No newline at end of file diff --git a/app/src/main/java/com/minhdtm/example/weapose/presentation/theme/Theme.kt b/app/src/main/java/com/minhdtm/example/weapose/presentation/theme/Theme.kt new file mode 100644 index 0000000..89766e2 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/presentation/theme/Theme.kt @@ -0,0 +1,69 @@ +package com.minhdtm.example.weapose.presentation.theme + +import android.app.Activity +import android.os.Build +import androidx.compose.foundation.isSystemInDarkTheme +import androidx.compose.material3.* +import androidx.compose.runtime.Composable +import androidx.compose.runtime.SideEffect +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.toArgb +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.platform.LocalView +import androidx.core.view.WindowCompat + +private val DarkColorScheme = darkColorScheme( + primary = Purple80, + secondary = PurpleGrey80, + tertiary = Pink80, +) + +private val LightColorScheme = lightColorScheme( + primary = Purple40, + secondary = PurpleGrey40, + tertiary = Pink40, + + /* Other default colors to override + background = Color(0xFFFFFBFE), + surface = Color(0xFFFFFBFE), + onPrimary = Color.White, + onSecondary = Color.White, + onTertiary = Color.White, + onBackground = Color(0xFF1C1B1F), + onSurface = Color(0xFF1C1B1F), + */ +) + +@Composable +fun MyMovieAppTheme( + darkTheme: Boolean = isSystemInDarkTheme(), + // Dynamic color is available on Android 12+ + dynamicColor: Boolean = true, + content: @Composable () -> Unit, +) { + val colorScheme = when { + dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> { + val context = LocalContext.current + if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context) + } + darkTheme -> DarkColorScheme + else -> LightColorScheme + } + + val view = LocalView.current + + if (!view.isInEditMode) { + SideEffect { + val window = (view.context as Activity).window + + window.statusBarColor = Color.Transparent.toArgb() + WindowCompat.getInsetsController(window, view).isAppearanceLightStatusBars = !darkTheme + } + } + + MaterialTheme( + colorScheme = colorScheme, + typography = Typography, + content = content, + ) +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/presentation/theme/Type.kt b/app/src/main/java/com/minhdtm/example/weapose/presentation/theme/Type.kt new file mode 100644 index 0000000..c706700 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/presentation/theme/Type.kt @@ -0,0 +1,34 @@ +package com.minhdtm.example.weapose.presentation.theme + +import androidx.compose.material3.Typography +import androidx.compose.ui.text.TextStyle +import androidx.compose.ui.text.font.FontFamily +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.sp + +// Set of Material typography styles to start with +val Typography = Typography( + bodyLarge = TextStyle( + fontFamily = FontFamily.Default, + fontWeight = FontWeight.Normal, + fontSize = 16.sp, + lineHeight = 24.sp, + letterSpacing = 0.5.sp + ) + /* Other default text styles to override + titleLarge = TextStyle( + fontFamily = FontFamily.Default, + fontWeight = FontWeight.Normal, + fontSize = 22.sp, + lineHeight = 28.sp, + letterSpacing = 0.sp + ), + labelSmall = TextStyle( + fontFamily = FontFamily.Default, + fontWeight = FontWeight.Medium, + fontSize = 11.sp, + lineHeight = 16.sp, + letterSpacing = 0.5.sp + ) + */ +) \ No newline at end of file diff --git a/app/src/main/java/com/minhdtm/example/weapose/presentation/ui/MainActivity.kt b/app/src/main/java/com/minhdtm/example/weapose/presentation/ui/MainActivity.kt new file mode 100644 index 0000000..8e74203 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/presentation/ui/MainActivity.kt @@ -0,0 +1,23 @@ +package com.minhdtm.example.weapose.presentation.ui + +import android.os.Bundle +import androidx.activity.ComponentActivity +import androidx.activity.compose.setContent +import androidx.core.view.WindowCompat +import com.minhdtm.example.weapose.presentation.theme.MyMovieAppTheme +import dagger.hilt.android.AndroidEntryPoint + +@AndroidEntryPoint +class MainActivity : ComponentActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + WindowCompat.setDecorFitsSystemWindows(window, false) + + setContent { + MyMovieAppTheme { + WeatherApp() + } + } + } +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/presentation/ui/WeatherApp.kt b/app/src/main/java/com/minhdtm/example/weapose/presentation/ui/WeatherApp.kt new file mode 100644 index 0000000..95e0a5b --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/presentation/ui/WeatherApp.kt @@ -0,0 +1,99 @@ +package com.minhdtm.example.weapose.presentation.ui + +import android.annotation.SuppressLint +import androidx.compose.animation.ExperimentalAnimationApi +import androidx.compose.foundation.isSystemInDarkTheme +import androidx.compose.foundation.layout.* +import androidx.compose.material3.* +import androidx.compose.runtime.Composable +import androidx.compose.runtime.SideEffect +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.res.stringResource +import com.google.accompanist.navigation.animation.AnimatedNavHost +import com.google.accompanist.systemuicontroller.rememberSystemUiController +import com.minhdtm.example.weapose.R +import com.minhdtm.example.weapose.presentation.component.NavigationDrawerLabel + +@SuppressLint("UnusedMaterial3ScaffoldPaddingParameter") +@OptIn(ExperimentalMaterial3Api::class, ExperimentalAnimationApi::class) +@Composable +fun WeatherApp(appState: WeatherAppState = rememberWeatherAppState()) { + val systemUiController = rememberSystemUiController() + val darkIcons = isSystemInDarkTheme() + + SideEffect { + if (!appState.isCustomDarkMode) { + systemUiController.setSystemBarsColor(color = Color.Transparent, darkIcons = !darkIcons) + } + } + + ModalNavigationDrawer( + drawerState = appState.drawer, + gesturesEnabled = appState.shouldEnableGesture, + drawerContent = { + WeatherDrawerContent( + selectedItem = appState.drawerItemSelected, + onClickHome = { + appState.navigateToHome() + }, + onClickSettings = { + appState.navigateToSettings() + }, + ) + }, + ) { + Scaffold( + containerColor = Color.Transparent, + ) { + AnimatedNavHost( + navController = appState.controller, + startDestination = NestedGraph.HOME.route, + ) { + home(appState) + } + } + } +} + +@OptIn(ExperimentalMaterial3Api::class) +@Composable +fun WeatherDrawerContent( + selectedItem: DrawerTab, + onClickHome: () -> Unit, + onClickSettings: () -> Unit, +) { + Spacer(modifier = Modifier.windowInsetsTopHeight(WindowInsets.statusBars)) + + NavigationDrawerLabel { + Text(text = stringResource(id = R.string.app_name)) + } + + NavigationDrawerItem( + icon = { + Icon(DrawerTab.HOME.icon, contentDescription = null) + }, + label = { + Text(stringResource(id = DrawerTab.HOME.title)) + }, + selected = DrawerTab.HOME == selectedItem, + onClick = { + onClickHome.invoke() + }, + modifier = Modifier.padding(NavigationDrawerItemDefaults.ItemPadding), + ) + + NavigationDrawerItem( + icon = { + Icon(DrawerTab.SETTINGS.icon, contentDescription = null) + }, + label = { + Text(stringResource(id = DrawerTab.SETTINGS.title)) + }, + selected = DrawerTab.SETTINGS == selectedItem, + onClick = { + onClickSettings.invoke() + }, + modifier = Modifier.padding(NavigationDrawerItemDefaults.ItemPadding), + ) +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/presentation/ui/WeatherAppState.kt b/app/src/main/java/com/minhdtm/example/weapose/presentation/ui/WeatherAppState.kt new file mode 100644 index 0000000..3351740 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/presentation/ui/WeatherAppState.kt @@ -0,0 +1,195 @@ +package com.minhdtm.example.weapose.presentation.ui + +import android.content.Context +import android.content.Intent +import android.net.Uri +import android.provider.Settings +import androidx.annotation.StringRes +import androidx.compose.animation.ExperimentalAnimationApi +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.Home +import androidx.compose.material.icons.filled.Settings +import androidx.compose.material3.* +import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.hilt.navigation.compose.hiltViewModel +import androidx.navigation.* +import androidx.navigation.compose.currentBackStackEntryAsState +import com.google.accompanist.navigation.animation.composable +import com.google.accompanist.navigation.animation.rememberAnimatedNavController +import com.google.android.gms.maps.model.LatLng +import com.minhdtm.example.weapose.R +import com.minhdtm.example.weapose.presentation.ui.home.Home +import com.minhdtm.example.weapose.presentation.ui.search.bymap.SearchByMap +import com.minhdtm.example.weapose.presentation.ui.settings.Settings +import com.minhdtm.example.weapose.presentation.utils.Constants +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.launch + +sealed class Screen(val route: String) { + object Home : Screen("home") + + object Settings : Screen("settings") + + object Search : Screen("search") +} + +enum class NestedGraph(val route: String) { + HOME(route = "home_nav"), +} + +enum class DrawerTab( + val route: String, + @StringRes val title: Int, + val icon: ImageVector, +) { + HOME( + route = Screen.Home.route, + title = R.string.home_tab, + icon = Icons.Default.Home, + ), + SETTINGS( + route = Screen.Settings.route, + title = R.string.settings_tab, + icon = Icons.Default.Settings, + ) +} + +@OptIn(ExperimentalAnimationApi::class) +fun NavGraphBuilder.home(appState: WeatherAppState) { + navigation( + route = NestedGraph.HOME.route, + startDestination = Screen.Home.route, + ) { + composable(route = Screen.Home.route) { + Home( + appState = appState, + viewModel = hiltViewModel(), + ) + } + + composable(route = Screen.Settings.route) { + Settings( + appState = appState, + viewModel = hiltViewModel(), + ) + } + + composable( + route = "${Screen.Search.route}?lat={${Constants.Key.LAT}}&lng={${Constants.Key.LNG}}", + arguments = listOf( + navArgument(Constants.Key.LAT) { type = NavType.StringType }, + navArgument(Constants.Key.LNG) { type = NavType.StringType }, + ), + ) { backStackEntry -> + SearchByMap( + appState = appState, + viewModel = hiltViewModel(backStackEntry), + ) + } + } +} + +@OptIn(ExperimentalAnimationApi::class, ExperimentalMaterial3Api::class) +@Composable +fun rememberWeatherAppState( + coroutineScope: CoroutineScope = rememberCoroutineScope(), + controller: NavHostController = rememberAnimatedNavController(), + drawer: DrawerState = rememberDrawerState(initialValue = DrawerValue.Closed), + snackbarHost: SnackbarHostState = remember { SnackbarHostState() }, +): WeatherAppState = remember(coroutineScope, controller, drawer, snackbarHost) { + WeatherAppState(coroutineScope, controller, drawer, snackbarHost) +} + +@OptIn(ExperimentalMaterial3Api::class) +class WeatherAppState( + private val coroutineScope: CoroutineScope, + val controller: NavHostController, + val drawer: DrawerState, + val snackbarHost: SnackbarHostState, +) { + private val drawerTabs = DrawerTab.values() + + val shouldEnableGesture: Boolean + @Composable get() = controller.currentBackStackEntryAsState().value?.destination?.route in drawerTabs.map { it.route } + + val drawerItemSelected: DrawerTab + @Composable get() { + val route = controller.currentBackStackEntryAsState().value?.destination?.route + return drawerTabs.firstOrNull { it.route == route } ?: DrawerTab.HOME + } + + val isCustomDarkMode: Boolean + get() { + val listScreenCustomizeDarkMode = listOf(Screen.Search.route) + val route = controller.currentBackStackEntry?.destination?.route + return route in listScreenCustomizeDarkMode + } + + fun getDataFromNextScreen(key: String, defaultValue: T): StateFlow? = + controller.currentBackStackEntry?.savedStateHandle?.getStateFlow(key, defaultValue) + + fun removeDataFromNextScreen(key: String) { + controller.currentBackStackEntry?.savedStateHandle?.remove(key) + } + + fun openDrawer() { + coroutineScope.launch { + drawer.open() + } + } + + fun closeDrawer() { + coroutineScope.launch { + drawer.close() + } + } + + fun showSnackbar(message: String) { + coroutineScope.launch { + snackbarHost.showSnackbar(message) + } + } + + fun popBackStack(params: Map? = null) { + params?.forEach { data -> + controller.previousBackStackEntry?.savedStateHandle?.set(data.key, data.value) + } + + controller.popBackStack() + } + + fun navigateToHome() { + closeDrawer() + + controller.navigate(route = Screen.Home.route) { + popUpTo(Screen.Home.route) { + inclusive = true + } + } + } + + fun navigateToSettings() { + closeDrawer() + + controller.navigate(route = Screen.Settings.route) + } + + fun navigateToSearch(latLng: LatLng) { + controller.navigate( + route = "${Screen.Search.route}?lat=${latLng.latitude}&lng=${latLng.longitude}" + ) + } + + fun openAppSetting(context: Context) { + val intent = Intent( + Settings.ACTION_APPLICATION_DETAILS_SETTINGS, Uri.fromParts("package", context.packageName, null) + ).apply { + addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) + } + context.startActivity(intent) + } +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/presentation/ui/home/HomeScreen.kt b/app/src/main/java/com/minhdtm/example/weapose/presentation/ui/home/HomeScreen.kt new file mode 100644 index 0000000..2c09337 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/presentation/ui/home/HomeScreen.kt @@ -0,0 +1,476 @@ +package com.minhdtm.example.weapose.presentation.ui.home + +import android.Manifest +import android.annotation.SuppressLint +import android.content.res.Configuration +import androidx.annotation.DrawableRes +import androidx.compose.foundation.Image +import androidx.compose.foundation.layout.* +import androidx.compose.foundation.lazy.LazyRow +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.foundation.verticalScroll +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.outlined.Menu +import androidx.compose.material.icons.sharp.LocationOn +import androidx.compose.material3.* +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.collectAsState +import androidx.compose.runtime.getValue +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.ColorFilter +import androidx.compose.ui.layout.ContentScale +import androidx.compose.ui.layout.LastBaseline +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.tooling.preview.Devices.NEXUS_5 +import androidx.compose.ui.tooling.preview.Devices.PIXEL_4_XL +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import androidx.lifecycle.viewmodel.compose.viewModel +import com.google.accompanist.permissions.ExperimentalPermissionsApi +import com.google.accompanist.permissions.rememberMultiplePermissionsState +import com.google.accompanist.swiperefresh.SwipeRefresh +import com.google.accompanist.swiperefresh.SwipeRefreshState +import com.google.android.gms.maps.model.LatLng +import com.minhdtm.example.weapose.R +import com.minhdtm.example.weapose.domain.enums.ActionType +import com.minhdtm.example.weapose.presentation.component.WeatherScaffold +import com.minhdtm.example.weapose.presentation.model.CurrentWeatherViewData +import com.minhdtm.example.weapose.presentation.model.HourWeatherViewData +import com.minhdtm.example.weapose.presentation.model.factory.previewCurrentWeatherViewData +import com.minhdtm.example.weapose.presentation.theme.MyMovieAppTheme +import com.minhdtm.example.weapose.presentation.ui.WeatherAppState +import com.minhdtm.example.weapose.presentation.utils.Constants +import com.minhdtm.example.weapose.presentation.utils.Constants.Default.LAT_LNG_DEFAULT +import kotlinx.coroutines.flow.collectLatest + + +@OptIn(ExperimentalPermissionsApi::class) +@Composable +fun Home( + appState: WeatherAppState, + viewModel: HomeViewModel = viewModel(), +) { + val state by viewModel.state.collectAsState() + + val context = LocalContext.current + + val locationPermissionState = rememberMultiplePermissionsState( + listOf( + Manifest.permission.ACCESS_COARSE_LOCATION, + Manifest.permission.ACCESS_FINE_LOCATION, + ) + ) { permissions -> + when { + permissions.all { it.value } -> viewModel.getLocation() + else -> viewModel.permissionIsNotGranted() + } + } + + // Get data from back + LaunchedEffect(true) { + appState.getDataFromNextScreen(Constants.Key.LAT_LNG, LAT_LNG_DEFAULT)?.collect { + if (it != LatLng(0.0, 0.0)) { + viewModel.getLocation(it) + appState.removeDataFromNextScreen(Constants.Key.LAT_LNG) + } + } + } + + // Get event + LaunchedEffect(true) { + viewModel.event.collectLatest { event -> + when (event) { + is HomeEvent.CheckPermission -> { + when { + locationPermissionState.allPermissionsGranted -> { + viewModel.getLocation() + } + locationPermissionState.shouldShowRationale -> { + viewModel.permissionIsNotGranted() + } + else -> { + locationPermissionState.launchMultiplePermissionRequest() + } + } + } + is HomeEvent.NavigateToSearchByMap -> { + appState.navigateToSearch(event.latLng) + } + } + } + } + + HomeScreen( + state = state, + snackbarHostState = appState.snackbarHost, + onDrawer = { + appState.openDrawer() + }, + onShowSnackbar = { + appState.showSnackbar(it) + }, + onRefresh = { + viewModel.onRefreshCurrentWeather() + }, + onDismissErrorDialog = { + viewModel.hideError() + }, + onNavigateSearch = { + viewModel.navigateToSearchByMap() + }, + onErrorPositiveAction = { action, _ -> + action?.let { + when (it) { + ActionType.RETRY_API -> { + viewModel.retry() + } + ActionType.OPEN_PERMISSION -> { + appState.openAppSetting(context) + } + } + } + }, + ) +} + +@SuppressLint("UnusedMaterial3ScaffoldPaddingParameter") +@OptIn(ExperimentalMaterial3Api::class) +@Composable +fun HomeScreen( + state: HomeViewState, + snackbarHostState: SnackbarHostState = SnackbarHostState(), + onRefresh: () -> Unit = {}, + onDrawer: () -> Unit = {}, + onDismissErrorDialog: () -> Unit = {}, + onShowSnackbar: (message: String) -> Unit = {}, + onNavigateSearch: () -> Unit = {}, + onErrorPositiveAction: (action: ActionType?, value: Any?) -> Unit = { _, _ -> }, +) { + WeatherScaffold( + modifier = Modifier.fillMaxSize(), + state = state, + snackbarHostState = snackbarHostState, + onDismissErrorDialog = onDismissErrorDialog, + onShowSnackbar = onShowSnackbar, + onErrorPositiveAction = onErrorPositiveAction, + topBar = { + HomeAppBar( + modifier = Modifier.statusBarsPadding(), + city = state.currentWeather?.city, + onDrawer = onDrawer, + onNavigateSearch = onNavigateSearch, + ) + }, + ) { viewState -> + SwipeRefresh( + state = SwipeRefreshState(state.isRefresh), + onRefresh = onRefresh, + ) { + if (viewState.currentWeather != null) { + HomeContent( + currentWeather = viewState.currentWeather, + listHourly = viewState.listHourlyWeatherToday, + ) + } + } + } +} + +@Composable +fun HomeContent( + currentWeather: CurrentWeatherViewData, + listHourly: List, +) { + Column( + modifier = Modifier + .fillMaxSize() + .verticalScroll(rememberScrollState()) + ) { + NowWeather( + modifier = Modifier + .fillMaxWidth() + .weight(1f), + currentWeather = currentWeather, + ) + + Box( + modifier = Modifier + .navigationBarsPadding() + .padding( + top = 50.dp, + bottom = 30.dp, + ) + ) { + LazyRow( + contentPadding = PaddingValues(horizontal = 15.dp), + horizontalArrangement = Arrangement.spacedBy(20.dp), + ) { + items( + count = listHourly.size, + key = { + listHourly[it].timeStamp + }, + ) { index -> + WeatherHour( + hour = listHourly[index].time, + weather = listHourly[index].weatherIcon, + ) + } + } + } + } +} + +@Composable +fun NowWeather( + modifier: Modifier, + currentWeather: CurrentWeatherViewData, +) { + Row(modifier = modifier) { + Image( + painter = painterResource(id = currentWeather.background), + contentDescription = null, + modifier = Modifier + .fillMaxHeight() + .padding(top = 50.dp) + .weight(1f), + alignment = Alignment.CenterEnd, + contentScale = ContentScale.FillHeight, + ) + + Column( + modifier = Modifier + .padding(end = 15.dp) + .fillMaxHeight(), + horizontalAlignment = Alignment.End, + verticalArrangement = Arrangement.SpaceBetween + ) { + Text( + text = stringResource( + id = R.string.home_text_celsius_high_low, + currentWeather.maxTemp, + currentWeather.minTemp, + ), + ) + + Degrees( + currentWeather = currentWeather.weather, + currentTemp = currentWeather.temp, + ) + + DetailWeather( + iconId = R.drawable.ic_sun_rise, + title = stringResource(id = R.string.sun_rise), + description = currentWeather.sunRise, + ) + + DetailWeather( + iconId = R.drawable.ic_wind, + title = stringResource(id = R.string.wind), + description = stringResource(id = R.string.home_text_meter_per_second, currentWeather.wind), + ) + + DetailWeather( + iconId = R.drawable.ic_humidity, + title = stringResource(id = R.string.humidity), + description = stringResource(id = R.string.home_text_humidity, currentWeather.humidity), + ) + } + } +} + +@Composable +fun DetailWeather( + modifier: Modifier = Modifier, + @DrawableRes iconId: Int, + title: String, + description: String, +) { + Column( + modifier = modifier, + horizontalAlignment = Alignment.End, + ) { + Image( + modifier = Modifier.size(30.dp), + painter = painterResource(id = iconId), + contentDescription = null, + colorFilter = ColorFilter.tint(MaterialTheme.colorScheme.onSurface) + ) + + Text( + text = title, + style = MaterialTheme.typography.titleSmall, + modifier = Modifier.padding(top = 5.dp), + ) + + Text( + text = description, + style = MaterialTheme.typography.headlineSmall, + ) + } +} + +@OptIn(ExperimentalMaterial3Api::class) +@Composable +fun HomeAppBar( + modifier: Modifier = Modifier, + city: String? = null, + onDrawer: () -> Unit = {}, + onNavigateSearch: () -> Unit = {}, +) { + SmallTopAppBar( + modifier = modifier, + title = { + + }, + navigationIcon = { + IconButton(onClick = onDrawer) { + Icon( + imageVector = Icons.Outlined.Menu, + contentDescription = null, + ) + } + }, + actions = { + Card( + onClick = onNavigateSearch, + shape = RoundedCornerShape(10.dp), + elevation = CardDefaults.cardElevation(defaultElevation = 0.dp), + colors = CardDefaults.cardColors(containerColor = Color.Transparent), + ) { + Row( + modifier = Modifier.padding(horizontal = 15.dp, vertical = 5.dp), + verticalAlignment = Alignment.CenterVertically + ) { + Icon( + imageVector = Icons.Sharp.LocationOn, + contentDescription = null, + modifier = Modifier.padding(end = 5.dp), + ) + + Text( + text = city ?: stringResource(id = R.string.unknown_address), + style = MaterialTheme.typography.titleLarge, + ) + } + } + }, + ) +} + +@Composable +fun Degrees( + modifier: Modifier = Modifier, + currentTemp: String, + currentWeather: String, +) { + Column( + modifier = modifier, + horizontalAlignment = Alignment.End, + ) { + Row(verticalAlignment = Alignment.CenterVertically) { + Text( + text = currentTemp, + style = MaterialTheme.typography.displayLarge, + modifier = Modifier.alignBy(LastBaseline), + ) + + Column(modifier = Modifier.alignBy(LastBaseline)) { + Text(text = "o", modifier = Modifier.padding(bottom = 10.dp)) + + Text(text = "c") + } + } + + Text( + text = currentWeather, + style = MaterialTheme.typography.labelMedium.copy(fontSize = 22.sp), + ) + } +} + +@Composable +fun WeatherHour( + modifier: Modifier = Modifier, + hour: String, + @DrawableRes weather: Int, +) { + Column( + modifier = modifier, + horizontalAlignment = Alignment.CenterHorizontally, + ) { + Text( + text = hour, + style = MaterialTheme.typography.titleMedium, + ) + + Image( + painter = painterResource(id = weather), + contentDescription = null, + modifier = Modifier + .size(40.dp) + .padding(top = 15.dp), + ) + } +} + +@Preview(name = "Light") +@Preview(name = "Dark", uiMode = Configuration.UI_MODE_NIGHT_YES) +@Composable +private fun NowWeatherPreview() { + MyMovieAppTheme { + NowWeather( + modifier = Modifier.size(500.dp), + currentWeather = previewCurrentWeatherViewData(), + ) + } +} + +@Preview(name = "Light", showBackground = true) +@Preview(name = "Dark", showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES) +@Composable +private fun DegreesPreview() { + MyMovieAppTheme { + Degrees( + currentWeather = previewCurrentWeatherViewData().weather, + currentTemp = previewCurrentWeatherViewData().temp, + ) + } +} + +@Preview(name = "Light", showBackground = true) +@Preview(name = "Dark", showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES) +@Composable +private fun AppBarPreview() { + MyMovieAppTheme { + HomeAppBar(city = previewCurrentWeatherViewData().city) + } +} + +@Preview(name = "Light", showBackground = true, device = NEXUS_5) +@Preview(name = "Dark", showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES, device = PIXEL_4_XL) +@Composable +private fun ScreenPreview() { + MyMovieAppTheme { + HomeScreen(HomeViewState()) + } +} + +@Preview(name = "Light") +@Preview(name = "Dark", uiMode = Configuration.UI_MODE_NIGHT_YES) +@Composable +private fun WeatherHourPreview() { + MyMovieAppTheme { + WeatherHour( + hour = "10:00", + weather = R.drawable.ic_clear_sky, + ) + } +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/presentation/ui/home/HomeViewModel.kt b/app/src/main/java/com/minhdtm/example/weapose/presentation/ui/home/HomeViewModel.kt new file mode 100644 index 0000000..210b4fc --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/presentation/ui/home/HomeViewModel.kt @@ -0,0 +1,171 @@ +package com.minhdtm.example.weapose.presentation.ui.home + +import android.annotation.SuppressLint +import android.content.Context +import androidx.lifecycle.viewModelScope +import com.google.android.gms.maps.model.LatLng +import com.minhdtm.example.weapose.R +import com.minhdtm.example.weapose.domain.enums.ActionType +import com.minhdtm.example.weapose.domain.exception.WeatherException +import com.minhdtm.example.weapose.domain.model.AlertDialog +import com.minhdtm.example.weapose.domain.usecase.GetCurrentLocationUseCase +import com.minhdtm.example.weapose.domain.usecase.GetCurrentWeatherUseCase +import com.minhdtm.example.weapose.domain.usecase.GetHourWeatherUseCase +import com.minhdtm.example.weapose.presentation.base.BaseViewModel +import com.minhdtm.example.weapose.presentation.base.Event +import com.minhdtm.example.weapose.presentation.base.ViewState +import com.minhdtm.example.weapose.presentation.model.CurrentWeatherMapper +import com.minhdtm.example.weapose.presentation.model.CurrentWeatherViewData +import com.minhdtm.example.weapose.presentation.model.HourWeatherMapper +import com.minhdtm.example.weapose.presentation.model.HourWeatherViewData +import com.minhdtm.example.weapose.presentation.utils.Constants +import dagger.hilt.android.lifecycle.HiltViewModel +import dagger.hilt.android.qualifiers.ApplicationContext +import kotlinx.coroutines.channels.Channel +import kotlinx.coroutines.flow.* +import kotlinx.coroutines.launch +import javax.inject.Inject + +@SuppressLint("StaticFieldLeak") +@HiltViewModel +class HomeViewModel @Inject constructor( + @ApplicationContext private val context: Context, // No leak in here! + private val getCurrentWeatherUseCase: GetCurrentWeatherUseCase, + private val currentWeatherMapper: CurrentWeatherMapper, + private val getCurrentLocationUseCase: GetCurrentLocationUseCase, + private val getHourWeatherUseCase: GetHourWeatherUseCase, + private val hourWeatherMapper: HourWeatherMapper, +) : BaseViewModel() { + private val _state = MutableStateFlow(HomeViewState()) + val state: StateFlow = _state + + private val _event = Channel(Channel.BUFFERED) + val event = _event.receiveAsFlow() + + private var currentLocation = Constants.Default.LAT_LNG_DEFAULT + + init { + viewModelScope.launch { + _event.send(HomeEvent.CheckPermission) + } + } + + fun getLocation(latLng: LatLng? = null) { + callApi { + showLoading() + + if (latLng == null) { + getCurrentLocationUseCase().catch { exception -> + _state.update { + it.copy( + isRefresh = false, + isLoading = false, + ) + } + + throw exception + }.collect { + currentLocation = it + getCurrentWeather(it) + } + } else { + currentLocation = latLng + getCurrentWeather(latLng) + } + } + } + + private fun getCurrentWeather(latLng: LatLng) { + callApi { + getCurrentWeatherUseCase(GetCurrentWeatherUseCase.Params(latLng)).zip( + getHourWeatherUseCase(GetHourWeatherUseCase.Params(latLng)), + transform = { currentWeather, hourWeather -> + HomeViewState( + currentWeather = currentWeatherMapper.mapToViewData(currentWeather), + listHourlyWeatherToday = hourWeather.today.map { hourly -> + hourWeatherMapper.mapToViewData(hourly) + }, + ) + }, + ).collect { viewState -> + _state.update { + it.copy( + isLoading = false, + isRefresh = false, + currentWeather = viewState.currentWeather, + listHourlyWeatherToday = viewState.listHourlyWeatherToday, + ) + } + } + } + } + + fun permissionIsNotGranted() { + val error = WeatherException.AlertException( + code = -1, alertDialog = AlertDialog( + title = context.getString(R.string.error_title_permission_not_granted), + message = context.getString(R.string.error_message_permission_not_granted), + positiveMessage = "Open setting", + negativeMessage = context.getString(android.R.string.cancel), + positiveAction = ActionType.OPEN_PERMISSION, + ) + ) + showError(error) + } + + fun navigateToSearchByMap() { + callApi { + _event.send(HomeEvent.NavigateToSearchByMap(latLng = currentLocation)) + } + } + + fun onRefreshCurrentWeather() { + _state.update { + it.copy( + isRefresh = true + ) + } + + getLocation(currentLocation) + } + + private fun showLoading() { + _state.update { + it.copy(isLoading = true) + } + } + + private fun hideLoading() { + _state.update { + it.copy(isLoading = false) + } + } + + override fun showError(error: WeatherException) { + if (_state.value.error == null) { + _state.update { + it.copy(isLoading = false, error = error) + } + } + } + + override fun hideError() { + _state.update { + it.copy(isLoading = false, error = null) + } + } +} + +data class HomeViewState( + override val isLoading: Boolean = false, + override val error: WeatherException? = null, + val isRefresh: Boolean = false, + val currentWeather: CurrentWeatherViewData? = null, + val listHourlyWeatherToday: List = emptyList(), +) : ViewState(isLoading, error) + +sealed class HomeEvent : Event() { + object CheckPermission : HomeEvent() + + data class NavigateToSearchByMap(val latLng: LatLng) : HomeEvent() +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/presentation/ui/search/bymap/SearchByMap.kt b/app/src/main/java/com/minhdtm/example/weapose/presentation/ui/search/bymap/SearchByMap.kt new file mode 100644 index 0000000..071ec89 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/presentation/ui/search/bymap/SearchByMap.kt @@ -0,0 +1,296 @@ +package com.minhdtm.example.weapose.presentation.ui.search.bymap + +import android.content.res.Configuration.UI_MODE_NIGHT_YES +import androidx.compose.animation.* +import androidx.compose.foundation.layout.* +import androidx.compose.foundation.shape.CircleShape +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.ArrowBack +import androidx.compose.material.icons.filled.LocationOn +import androidx.compose.material.icons.sharp.Close +import androidx.compose.material.icons.sharp.Done +import androidx.compose.material3.* +import androidx.compose.runtime.* +import androidx.compose.runtime.saveable.rememberSaveable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import androidx.lifecycle.viewmodel.compose.viewModel +import com.google.android.gms.maps.CameraUpdateFactory +import com.google.android.gms.maps.model.LatLng +import com.google.android.gms.maps.model.MapStyleOptions +import com.google.maps.android.compose.* +import com.minhdtm.example.weapose.R +import com.minhdtm.example.weapose.presentation.component.WeatherScaffold +import com.minhdtm.example.weapose.presentation.theme.MyMovieAppTheme +import com.minhdtm.example.weapose.presentation.ui.WeatherAppState +import com.minhdtm.example.weapose.presentation.utils.Constants +import kotlinx.coroutines.flow.collectLatest + +@Composable +fun SearchByMap( + appState: WeatherAppState, + viewModel: SearchByMapViewModel = viewModel(), +) { + val state by viewModel.state.collectAsState() + + val context = LocalContext.current + + val cameraPositionState = rememberCameraPositionState() + + var mapStyleOptions by remember { + mutableStateOf(MapStyleOptions.loadRawResourceStyle(context, R.raw.style_google_map_night)) + } + + LaunchedEffect(state.isDarkMode) { + mapStyleOptions = if (state.isDarkMode) { + MapStyleOptions.loadRawResourceStyle(context, R.raw.style_google_map_night) + } else { + MapStyleOptions.loadRawResourceStyle(context, R.raw.style_google_map_light) + } + } + + LaunchedEffect(true) { + viewModel.event.collectLatest { event -> + when (event) { + is SearchByMapEvent.PopToHome -> { + val params = mutableMapOf() + params[Constants.Key.LAT_LNG] = event.latLng + appState.popBackStack(params) + } + is SearchByMapEvent.MoveCamera -> { + cameraPositionState.move(CameraUpdateFactory.newLatLng(event.latLng)) + } + } + } + } + + SearchByMapScreen( + state = state, + cameraPositionState = cameraPositionState, + mapProperties = mapStyleOptions, + onShowSnackbar = { message -> + appState.showSnackbar(message) + }, + onDismissErrorDialog = { + viewModel.hideError() + }, + onBack = { + appState.popBackStack() + }, + onChangeModeGoogleMap = { + viewModel.setDarkMode() + }, + onMapClick = { latLng -> + viewModel.setMarker(latLng) + }, + onClickDone = { + viewModel.onClickDone() + }, + onClickCurrentLocation = { + viewModel.onClickCurrentLocation() + }, + ) +} + +@OptIn(ExperimentalMaterial3Api::class) +@Composable +fun SearchByMapScreen( + state: SearchByMapViewState, + cameraPositionState: CameraPositionState = rememberCameraPositionState(), + mapProperties: MapStyleOptions? = null, + onBack: () -> Unit = {}, + onMapClick: (LatLng) -> Unit = {}, + onShowSnackbar: (String) -> Unit = {}, + onChangeModeGoogleMap: () -> Unit = {}, + onDismissErrorDialog: () -> Unit = {}, + onClickDone: () -> Unit = {}, + onClickCurrentLocation: () -> Unit = {}, +) { + MyMovieAppTheme(darkTheme = state.isDarkMode) { + WeatherScaffold( + modifier = Modifier.fillMaxSize(), + state = state, + onDismissErrorDialog = onDismissErrorDialog, + onShowSnackbar = onShowSnackbar, + ) { + Box(modifier = Modifier.fillMaxSize()) { + GoogleMap( + modifier = Modifier.fillMaxSize(), + properties = MapProperties(mapStyleOptions = mapProperties), + uiSettings = MapUiSettings(zoomControlsEnabled = false), + onMapClick = onMapClick, + cameraPositionState = cameraPositionState, + ) { + if (state.marker != null) { + Marker(state = state.marker) + } + } + + SearchAppBar( + isDarkMode = state.isDarkMode, + onBack = onBack, + onChangeModeGoogleMap = onChangeModeGoogleMap, + ) + + ResultMap( + modifier = Modifier + .fillMaxWidth() + .align(Alignment.BottomCenter) + .padding(bottom = 70.dp, end = 20.dp, start = 20.dp), + address = state.address?.getAddressLine(0), + onClickDone = onClickDone, + onClickCurrentLocation = onClickCurrentLocation, + ) + } + } + } +} + +@Composable +fun ResultMap( + modifier: Modifier = Modifier, + address: String? = null, + onClickDone: () -> Unit = {}, + onClickCurrentLocation: () -> Unit = {}, +) { + Column(modifier = modifier) { + FloatingActionButton( + modifier = Modifier + .padding(bottom = 20.dp) + .align(Alignment.End), + onClick = onClickCurrentLocation, + + ) { + Icon( + imageVector = Icons.Default.LocationOn, + contentDescription = null, + ) + } + + Surface( + modifier = Modifier.wrapContentHeight(), + shape = RoundedCornerShape(10.dp), + ) { + Column( + modifier = Modifier.padding(10.dp), + horizontalAlignment = Alignment.CenterHorizontally, + verticalArrangement = Arrangement.Center, + ) { + Text( + text = stringResource(id = R.string.address), + style = MaterialTheme.typography.titleMedium, + modifier = Modifier.padding(bottom = 5.dp) + ) + + Text( + text = address ?: stringResource(id = R.string.unknown_address), + style = MaterialTheme.typography.labelMedium, + ) + + Button( + modifier = Modifier + .fillMaxWidth() + .padding(top = 20.dp), + shape = RoundedCornerShape(10.dp), + onClick = onClickDone, + enabled = address != null, + ) { + Icon( + imageVector = if (address != null) Icons.Sharp.Done else Icons.Sharp.Close, + contentDescription = null, + ) + } + } + } + } +} + +@OptIn(ExperimentalAnimationApi::class) +@Composable +fun SearchAppBar( + isDarkMode: Boolean, + onBack: () -> Unit = {}, + onChangeModeGoogleMap: () -> Unit = {}, +) { + SmallTopAppBar(modifier = Modifier.statusBarsPadding(), + colors = TopAppBarDefaults.smallTopAppBarColors(containerColor = Color.Transparent), + title = { + + }, + navigationIcon = { + IconButton(onClick = onBack) { + Icon( + imageVector = Icons.Default.ArrowBack, + contentDescription = null, + ) + } + }, + actions = { + Button( + modifier = Modifier + .padding(end = 10.dp) + .height(40.dp), + onClick = onChangeModeGoogleMap, + shape = CircleShape, + colors = ButtonDefaults.outlinedButtonColors(containerColor = MaterialTheme.colorScheme.background) + ) { + AnimatedContent( + targetState = isDarkMode, + transitionSpec = { + if (!targetState) { // Dark mode + slideInVertically { height -> height } + fadeIn() with slideOutVertically { height -> -height } + fadeOut() + } else { // Light mode + slideInVertically { height -> -height } + fadeIn() with slideOutVertically { height -> height } + fadeOut() + }.using( + SizeTransform(clip = false) + ) + }, + ) { + val icon = rememberSaveable(isDarkMode) { + if (isDarkMode) { + R.drawable.ic_dark_mode + } else { + R.drawable.ic_light_mode + } + } + + Icon( + painter = painterResource(id = icon), + contentDescription = null, + ) + } + } + }) +} + +@Preview +@Composable +fun SearchAppBarPreview_Light() { + MaterialTheme { + SearchAppBar(isDarkMode = false) + } +} + +@Preview +@Composable +fun SearchAppBarPreview_Dark() { + MaterialTheme { + SearchAppBar(isDarkMode = false) + } +} + +@Preview(name = "Light") +@Preview(name = "Dark", uiMode = UI_MODE_NIGHT_YES) +@Composable +fun ResultPreview_Light() { + MaterialTheme { + ResultMap(modifier = Modifier.fillMaxWidth()) + } +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/presentation/ui/search/bymap/SearchByMapViewModel.kt b/app/src/main/java/com/minhdtm/example/weapose/presentation/ui/search/bymap/SearchByMapViewModel.kt new file mode 100644 index 0000000..2ac2ab5 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/presentation/ui/search/bymap/SearchByMapViewModel.kt @@ -0,0 +1,133 @@ +package com.minhdtm.example.weapose.presentation.ui.search.bymap + +import android.location.Address +import androidx.lifecycle.SavedStateHandle +import com.google.android.gms.maps.model.LatLng +import com.google.maps.android.compose.MarkerState +import com.minhdtm.example.weapose.domain.exception.WeatherException +import com.minhdtm.example.weapose.domain.usecase.GetAddressFromLocationUseCase +import com.minhdtm.example.weapose.domain.usecase.GetCurrentLocationUseCase +import com.minhdtm.example.weapose.domain.usecase.GetDarkModeGoogleMapUseCase +import com.minhdtm.example.weapose.domain.usecase.SetDarkModeGoogleMapUseCase +import com.minhdtm.example.weapose.presentation.base.BaseViewModel +import com.minhdtm.example.weapose.presentation.base.Event +import com.minhdtm.example.weapose.presentation.base.ViewState +import com.minhdtm.example.weapose.presentation.utils.Constants +import dagger.hilt.android.lifecycle.HiltViewModel +import kotlinx.coroutines.async +import kotlinx.coroutines.channels.Channel +import kotlinx.coroutines.flow.* +import javax.inject.Inject + +@HiltViewModel +class SearchByMapViewModel @Inject constructor( + private val savedStateHandle: SavedStateHandle, + private val setDarkModeGoogleMapUseCase: SetDarkModeGoogleMapUseCase, + private val getDarkModeGoogleMapUseCase: GetDarkModeGoogleMapUseCase, + private val getAddressFromLocationUseCase: GetAddressFromLocationUseCase, + private val getCurrentLocationUseCase: GetCurrentLocationUseCase, +) : BaseViewModel() { + private val _state = MutableStateFlow(SearchByMapViewState()) + val state: StateFlow = _state + + private val _event = Channel(Channel.BUFFERED) + val event = _event.receiveAsFlow() + + init { + callApi { + val getDarkMode = async { + getDarkModeGoogleMapUseCase().collect { isDarkMode -> + _state.update { + it.copy(isDarkMode = isDarkMode) + } + } + } + + val getDataFromPreviousScreen = async { + savedStateHandle.getStateFlow(Constants.Key.LAT, "").zip( + savedStateHandle.getStateFlow(Constants.Key.LNG, ""), + transform = { lat, lng -> + Pair(lat, lng) + }, + ).collect { latAndLng -> + val latLng = LatLng(latAndLng.first.toDouble(), latAndLng.second.toDouble()) + if (latLng != Constants.Default.LAT_LNG_DEFAULT) { + setMarker(latLng) + } + } + } + + getDarkMode.await() + getDataFromPreviousScreen.await() + } + } + + fun setDarkMode() { + callApi { + val isDarkMode = !_state.value.isDarkMode + setDarkModeGoogleMapUseCase(SetDarkModeGoogleMapUseCase.Params(isDarkMode)) + } + } + + fun setMarker(latLng: LatLng) { + callApi { + _event.send(SearchByMapEvent.MoveCamera(latLng)) + + getAddressFromLocationUseCase(GetAddressFromLocationUseCase.Params(latLng)).catch { + _state.update { + it.copy( + address = null, + marker = MarkerState(position = latLng), + ) + } + }.collect { address -> + _state.update { + it.copy( + address = address, + marker = MarkerState(position = latLng), + ) + } + } + } + } + + override fun hideError() { + _state.update { + it.copy(error = null) + } + } + + fun onClickCurrentLocation() { + callApi { + getCurrentLocationUseCase().collect { latLng -> + setMarker(latLng) + } + } + } + + fun onClickDone() { + callApi { + val lat = _state.value.address?.latitude + val lng = _state.value.address?.longitude + + if (lat != null && lng != null) { + val latLng = LatLng(lat, lng) + _event.send(SearchByMapEvent.PopToHome(latLng = latLng)) + } + } + } +} + +data class SearchByMapViewState( + override val isLoading: Boolean = false, + override val error: WeatherException? = null, + val isDarkMode: Boolean = false, + val marker: MarkerState? = null, + val address: Address? = null, +) : ViewState(isLoading, error) + +sealed class SearchByMapEvent : Event() { + data class PopToHome(val latLng: LatLng) : SearchByMapEvent() + + data class MoveCamera(val latLng: LatLng) : SearchByMapEvent() +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/presentation/ui/settings/SettingsScreen.kt b/app/src/main/java/com/minhdtm/example/weapose/presentation/ui/settings/SettingsScreen.kt new file mode 100644 index 0000000..7f5753a --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/presentation/ui/settings/SettingsScreen.kt @@ -0,0 +1,71 @@ +package com.minhdtm.example.weapose.presentation.ui.settings + +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.statusBarsPadding +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.outlined.Menu +import androidx.compose.material3.* +import androidx.compose.runtime.Composable +import androidx.compose.runtime.collectAsState +import androidx.compose.runtime.getValue +import androidx.compose.ui.Modifier +import com.minhdtm.example.weapose.presentation.component.WeatherScaffold +import com.minhdtm.example.weapose.presentation.ui.WeatherAppState + +@Composable +fun Settings( + appState: WeatherAppState, + viewModel: SettingsViewModel, +) { + val state by viewModel.state.collectAsState() + + SettingsScreen( + state = state, + snackbarHostState = appState.snackbarHost, + onDrawer = { + appState.openDrawer() + }, + onShowSnackbar = { + appState.showSnackbar(it) + }, + onDismissDialog = { + viewModel.hideError() + }, + ) +} + +@OptIn(ExperimentalMaterial3Api::class) +@Composable +fun SettingsScreen( + state: SettingViewState, + snackbarHostState: SnackbarHostState, + onShowSnackbar: (message: String) -> Unit = {}, + onDrawer: () -> Unit = {}, + onDismissDialog: () -> Unit = {}, +) { + WeatherScaffold( + modifier = Modifier.fillMaxSize(), + state = state, + snackbarHostState = snackbarHostState, + topBar = { + SmallTopAppBar( + modifier = Modifier.statusBarsPadding(), + title = { + Text(text = "Setting screen") + }, + navigationIcon = { + IconButton(onClick = onDrawer) { + Icon( + imageVector = Icons.Outlined.Menu, + contentDescription = "", + ) + } + }, + ) + }, + onShowSnackbar = onShowSnackbar, + onDismissErrorDialog = onDismissDialog, + ) { _ -> + + } +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/presentation/ui/settings/SettingsViewModel.kt b/app/src/main/java/com/minhdtm/example/weapose/presentation/ui/settings/SettingsViewModel.kt new file mode 100644 index 0000000..d381d31 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/presentation/ui/settings/SettingsViewModel.kt @@ -0,0 +1,38 @@ +package com.minhdtm.example.weapose.presentation.ui.settings + +import com.minhdtm.example.weapose.domain.exception.WeatherException +import com.minhdtm.example.weapose.presentation.base.BaseViewModel +import com.minhdtm.example.weapose.presentation.base.ViewState +import dagger.hilt.android.lifecycle.HiltViewModel +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.update +import javax.inject.Inject + +@HiltViewModel +class SettingsViewModel @Inject constructor() : BaseViewModel() { + private val _state = MutableStateFlow(SettingViewState(isLoading = false)) + val state: StateFlow = _state + + init { + callApi { + _state.update { + it.copy(error = WeatherException.SnackBarException(message = "Test message!")) + } + } + } + + override fun hideError() { + _state.update { + it.copy( + isLoading = false, + error = null, + ) + } + } +} + +data class SettingViewState( + override val isLoading: Boolean = false, + override val error: WeatherException? = null, +) : ViewState() diff --git a/app/src/main/java/com/minhdtm/example/weapose/presentation/utils/Constants.kt b/app/src/main/java/com/minhdtm/example/weapose/presentation/utils/Constants.kt new file mode 100644 index 0000000..c6ab21e --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/presentation/utils/Constants.kt @@ -0,0 +1,19 @@ +package com.minhdtm.example.weapose.presentation.utils + +import com.google.android.gms.maps.model.LatLng + +object Constants { + object DateFormat { + const val HH_mm = "HH:mm" + } + + object Key { + const val LAT_LNG = "lat_lng" + const val LAT = "lat" + const val LNG = "lng" + } + + object Default { + val LAT_LNG_DEFAULT = LatLng(0.0, 0.0) + } +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/presentation/utils/FlowExt.kt b/app/src/main/java/com/minhdtm/example/weapose/presentation/utils/FlowExt.kt new file mode 100644 index 0000000..b7a4fb8 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/presentation/utils/FlowExt.kt @@ -0,0 +1,11 @@ +package com.minhdtm.example.weapose.presentation.utils + +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.flow +import kotlinx.coroutines.suspendCancellableCoroutine + +fun Throwable.asFlow(): Flow = flow { + emit(suspendCancellableCoroutine { cancellableContinuation -> + cancellableContinuation.cancel(this@asFlow) + }) +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/presentation/utils/TimeExt.kt b/app/src/main/java/com/minhdtm/example/weapose/presentation/utils/TimeExt.kt new file mode 100644 index 0000000..97eb28b --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/presentation/utils/TimeExt.kt @@ -0,0 +1,20 @@ +package com.minhdtm.example.weapose.presentation.utils + +import java.text.SimpleDateFormat +import java.util.* + +fun Long.toDateTime(format: String, zoneId: Int? = null): String { + val date = Date().apply { + time = this@toDateTime + } + + return try { + SimpleDateFormat(format, Locale.ENGLISH).apply { + timeZone = TimeZone.getDefault().apply { zoneId?.let { rawOffset = it } } + }.format(date) + } catch (e: Exception) { + SimpleDateFormat(format, Locale.ENGLISH).apply { + timeZone = TimeZone.getDefault().apply { zoneId?.let { rawOffset = it } } + }.format(date) + } +} diff --git a/app/src/main/java/com/minhdtm/example/weapose/presentation/utils/WeatherExt.kt b/app/src/main/java/com/minhdtm/example/weapose/presentation/utils/WeatherExt.kt new file mode 100644 index 0000000..84c7100 --- /dev/null +++ b/app/src/main/java/com/minhdtm/example/weapose/presentation/utils/WeatherExt.kt @@ -0,0 +1,75 @@ +package com.minhdtm.example.weapose.presentation.utils + +import com.minhdtm.example.weapose.R + +enum class WeatherType(val weather: String) { + CLEAR_SKY("01"), + FEW_CLOUDS("02"), + SCATTERED_CLOUDS("03"), + BROKEN_CLOUDS("04"), + SHOWER_RAIN("09"), + RAIN("10"), + THUNDERSTORM("11"), + SNOW("13"), + MIST("50"), +} + +fun String.toIcon(): Int = when { + contains(WeatherType.FEW_CLOUDS.weather) -> { + R.drawable.ic_few_clouds + } + contains(WeatherType.SCATTERED_CLOUDS.weather) -> { + R.drawable.ic_scattered_clouds + } + contains(WeatherType.BROKEN_CLOUDS.weather) -> { + R.drawable.ic_broken_clouds + } + contains(WeatherType.SHOWER_RAIN.weather) -> { + R.drawable.ic_shower_rain + } + contains(WeatherType.RAIN.weather) -> { + R.drawable.ic_rain + } + contains(WeatherType.THUNDERSTORM.weather) -> { + R.drawable.ic_thunderstorm + } + contains(WeatherType.MIST.weather) -> { + R.drawable.ic_mist + } + contains(WeatherType.SNOW.weather) -> { + R.drawable.ic_snow + } + else -> { + R.drawable.ic_clear_sky + } +} + +fun String.toBackground(): Int = when { + contains(WeatherType.FEW_CLOUDS.weather) -> { + R.drawable.bg_few_clouds + } + contains(WeatherType.SCATTERED_CLOUDS.weather) -> { + R.drawable.bg_scattered_clouds + } + contains(WeatherType.BROKEN_CLOUDS.weather) -> { + R.drawable.bg_broken_clouds + } + contains(WeatherType.SHOWER_RAIN.weather) -> { + R.drawable.bg_shower_rain + } + contains(WeatherType.RAIN.weather) -> { + R.drawable.bg_rain + } + contains(WeatherType.THUNDERSTORM.weather) -> { + R.drawable.bg_thunderstorm + } + contains(WeatherType.MIST.weather) -> { + R.drawable.bg_mist + } + contains(WeatherType.SNOW.weather) -> { + R.drawable.bg_snow + } + else -> { + R.drawable.bg_clear_sky + } +} diff --git a/app/src/main/res/drawable-hdpi/ic_broken_clouds.webp b/app/src/main/res/drawable-hdpi/ic_broken_clouds.webp new file mode 100644 index 0000000000000000000000000000000000000000..4bb005bcbd2ce2bea049d4c764116dc19ac887f7 GIT binary patch literal 878 zcmV-!1CjhvNk&Fy0{{S5MM6+kP&iCk0{{RoBftm{=i@fEZB^Ol-X|Xq>Aw{k(a0hH za@uekNwTZV?vww2luQ05fsg?S;7M0M&WRgIk`$41q0zwo|J#->T69-Bv2ANv-v8t7 z?w)Bso#t+d3Av7eNb?9o(B|&$1OSKa#gSx%Lj$CMT%j-=0zd;KfW-6;m;tHe7a*C+ z04ZPs7?MQ5sPJhOBcLJt{179=jy`MGIaEjc-AXGZ)Z>0-gpKv_HOA%`)I_<~NWz?I z)0$(ks5I#On^bS{)_|e=t0ib=!7=UeJLC1dT}m<<8Oo%w?MmoTQj(d6l=LoS5^517 zR-|Uq3weHZy53q0rxNb86!|rWC6^o$t5qmjs7B~^B<2DP6|l%$LCu6s|L0`_!E8>HRVcE(x8wr$&}?KbG3 zwrwQ;zLO`@7vJwEqW=!uws9nCd*8i#1%d44_Uv%4+kw~plj|2^sMwe5)8qZESEd7- z+j~c+cTdBN`0iwv>hPm?9YjAp|CQJfrE=GoZ26!7r&(JtgL&SPj#FOdVt&C_SJ_wi(5dSwk@b+MQ&VBX@% z4f4vOR=zpCN_GIK)el@8T^e+7hQgVu`6aT$Yq4DzTVI7Wk~(}uF)Er%>xk2+#bj;i zWBOx-L=)SZs1abLmM=EjxHd9_=4&w>l(p$vzC8+sVrh~?tth{GNEErghB1b*c-l31 zHJMeeP?h_gVOp*Pr9Vt&r5$5sW}h6wW`D|O5pgVGvzSDj$oPHSqXbdg7j>20Yvc%x zOvDnve%>DlqxbJ37BE}foZ3tbbo;Q^6QZez5rPk^U0N~W{bNoDqUaR>-{@2u6!(ZS0fBkj< E0PNen_W%F@ literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-hdpi/ic_clear_sky.webp b/app/src/main/res/drawable-hdpi/ic_clear_sky.webp new file mode 100644 index 0000000000000000000000000000000000000000..532be48645eecb053e176ff4fb27892f94163992 GIT binary patch literal 1386 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 S!I)ewDU3n&Dd|u>fpiB!evQBY literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-hdpi/ic_scattered_clouds.webp b/app/src/main/res/drawable-hdpi/ic_scattered_clouds.webp new file mode 100644 index 0000000000000000000000000000000000000000..0af604eee56201823e469802d0ab1e05a6430b70 GIT binary patch literal 1396 zcmV-)1&jJpNk&F&1pok7MM6+kP&iCq1pojqIKT)HzXdCjB-K`RFI>I`?k{?{{w=|S zowfnFjU-1>WL0;s{%QSOBi4VH^j#(7NRkvu9<{s2`s;XqrY=a}}>-DoSyLmrjA=*4MoUPm-)L|4Q;)0W7g=u^ zj1i1p%Zf~#pTg$vd%yGB*m-^H*yh&XBIa~JY}FaV5%d-~cVdNf2141X4J4AP)Ch2p zoERlSq{ok}h0x6|~bRO+Rd z-=hBeJb%URn3Gb5OcwU5ZWT6QzPjt&T_9_!DdDfXySw)Q2_bL<5&fS4h$~Mj*C(f> zWu&KSluk%sOe)85vstCWakE;F+l2f?*_X;q$tHzEzyrS1YBCxXPJV(2ZHC>FPg|`` zG~K%W@AG3-l3K=(1150Ftu~v@ed6Tlb2qF0^>l_QgqAzI2Y;7dJF6D%b0!hGlqRjg zV9=RQpTGFA8L{nX|9dmpE#->u)+T9GR=3-I>cZtqx8FCiqC48^Z=G{=Di^)76_pql^1u9_qh-%l67(kM9z*acYLq7_v}L>&8p?=mA!*w4)_YA z*(JdMU}tH(r-N<|zVv2&Z(&6TJ@<=W$0l)^buIx!ZcGofBZOLl)t=h#tPoM~qVms1 zOk$JXDgefr)h@*Nz1s7#i3kJ(L?cBbgc_>z%0ImmNO-Jx&SbNc$8bE^+s@SdEzAG1 z;+fZ1{)T8_@Oug$*<2!4QhBC=2aF42VTuU_yxAWAvx0)Wyu3FAg&L~8SuY-((Ocva z7EYx}4$R{#C^}i|&B}ZE^+T=yj_(aYkuURnYPe`kqzZKr!(hDJqaDb+|$G)F|iv+@r=Nh;LClUX!wNH#kp000;UQ9E0? zs>r^2)l*A`wnP@A{UoH}0xW`UcNa&^Utd-fcylUho~lh|rv%b*9>hA(%Mn6|Zmzv^ z@AlI&w<+0H8M8rC1E}qa8F?2)*&WsC$J$l;rht2wUl-OKv483n|06|TbBpSk`pzkutqnm=>V z0F%nB7IrwE`<$clH@}8wAigsrZDGV|Xk}(8PCE;0{p}nqcdkr8+;^5n`a5Wv9Zhu& z&p`b5cV;KndzV>-Lqk(DO9=n~8}nl;J$;>_$hN+o!S&5KNZiHAk(KVqfzi!Hh#3GL CJ*b}m literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-hdpi/ic_shower_rain.webp b/app/src/main/res/drawable-hdpi/ic_shower_rain.webp new file mode 100644 index 0000000000000000000000000000000000000000..1d87aa46a3c1a17e215bf9eb43ae06b4cd040cba GIT binary patch literal 1082 zcmV-A1jYMONk&F81ONb6MM6+kP&iB`1ONapBftm{H{`0eZB<$O$n*EUpno8j6hwFe zrv~Iml3hjBBhVWE?cvBB18_m^PCJMsNs+4h`21@-CyxgWMb@@u**){&?hefzx<$w? ziOdq%0y`ixL?_w;+#AW=;n$e}08jt|APt+H?K%7aB8%)Kxd69ZiRT~yH~<@9Nz#E8 zum=8tjYX&c8_)t$xqp9P%2EK@^?Vq|pN-`}x?Rq%Sl<2qIMQOu z>{f#tNJgdHZR2WEz7?!t8?=kypqce`exI&uHd{1nM?c@~uEK_-yaaw`(J@7dXn}bX zE$n~r$F+j8z9``($}G%Wy)h%Ho-Q+5jI|1n1h;R|Ebr*B92`I6FUJ|3i)Z=SK`um; z$QGVJ^5})gQ$&m1CudsCcLh(ux5P(4Lc9mA3!?8_3}9LkK3#Hef~S2`_X|! zTiedY`qHSLHmW_gZQHEIp8R7QCl}uQf0}i!Afo>a+_r5b=k}et?iElxKcDy42N!7j z@csGw2h1h+`EYZ5u&1Jn-NWm*moE*>-90%+L@xGjUvg&Z^Zs;OB|+-$)$5mu;aIT{KW^dQ< z}nfeFeH!2W89r0l+UcK zq_dl|eZA@QS|&YHC4+?%qP`$UVLTqIh012~1@&a-YC3zdvrs0mHo+4QlrY5l-s~9s zB}+YX>-oLw`MAK8By6lTWg-5P=WBynpX;65I)3=)7qm!}*C-1R`FcLty&#rub)vt! zqcRznAnX9cXx~q_XZUG8z1&t)>Q@A=DDd<3a({Puw10YdeEs%U=@)2=22N*8kc*_e zxqWbaXt1NHA{iI3_2Rs4#iN)_T(MHv$Stf*vYQP@Ye0k-6AA#ZQcO4TQWP_Zn2Cgu z9Z}unz)fDv#1=YZh!~I<0I&t^x`_+OOo5b7U<^0e!%@1)Wz$V|1vhy_$_OPY@c`h8 zNvv*i+8NShL@0*+0+F~y(@kz3Gx-?}{(o30Vb~xoMinzyJzhHiFiyZ_DT$eUE|CQjgcJ%h#j&A<0}K=c0KLB$ Axc~qF literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-hdpi/ic_snow.webp b/app/src/main/res/drawable-hdpi/ic_snow.webp new file mode 100644 index 0000000000000000000000000000000000000000..95b31e9cd8fd67c3902778f59343f82378d84bc3 GIT binary patch literal 1238 zcmV;{1S$JcNk&G_1ONb6MM6+kP&iD%1ONapC;$l%Cj~jOZB^CUM{p+un-K;1C&FC6 z+?@v8NVZ)?bMCoMpe!srEENa&2Z9f)_gzPgBso%Mt;cozKX+XG%@iDK+m1(XY-<6w zT9$TJkVRw}Iaz>eYx?OjQ`)xuo96@ofDBO1Hyt?iNpDkpl8!(@{udT3T z1_}u#LTO}o#^Tg}b1k( z*Og`_Q^*ji34}lX=47_5Ei%q(!ld&rsWWpp9gB}LR1K&mOp*^2OC^F)tY}$M zO&HPmtYu5E?BTP7Rwx1PDJY3=Y7#6kvwS!vGSv6PJAed80Wai6p+XoCj6iC7OMwEU zK_~SUphQKGJE7G7{rz9O+5Hcpz&;u{N^(N)|7$SJ^W)8z|KpObpF{rmd^T_AwS7F^ z>-WcPcD+CH-N*mobTw9ob=yGE*0wXwmNDzG@#8aU+qThvT+v2qV~=Om|L46UO+dTWiR|AUeZjQfZREIB{|gZX_AJ zq;I6mHSPf~g3vybRA$cj;>4Mao#Z$J6`(w>iD?RB1ff|bk=&B?_eWY@JvrfLU>`nY z0;wrKE4R5chx8#%H;!#OyWky(<)t>ay9Wk6oQ(IsKA3C@tP~O;a!l1!lH;BUKPPP| z#b%YvqBA-O0JwVU8}lQMhwJ{+B&xIq2mcM+F7F_20|OmJNpbOzWO@(_-dtZUgaTYp z(X5|I3Gq&xpuq;|8@OJb4RJwl))bpHaZa41x7bDR!0q|$CQYGfj9Z)CzUcskAQ0L+ zdbV3siE)W)gH6PH53Z&bHbcSImWg^i($(qm27(*A%eVJ76R6aBZPJ5)V0^r~SUK44 ztZ&YP=8DEaZ)j(6?e?BpY+0l-vqPLF5(d%)*G}5u}-Yf86G4oxD`vxiSaS9CaXj#`Xs(p zr%KZ3)CPr+_eqadqg88?>CFm0@mY2`Pj7IDF?<>b@uN*D;A71DGyqUI_&kDJ0OOBb AjQ{`u literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-hdpi/ic_thunderstorm.webp b/app/src/main/res/drawable-hdpi/ic_thunderstorm.webp new file mode 100644 index 0000000000000000000000000000000000000000..1605952335089ca86dbaeea4698c2e8c3ff6a751 GIT binary patch literal 1250 zcmV<81ReWQNk&H61ONb6MM6+kP&iD^1ONapC_o7iFXbk-ZCBan+;@MZ!vOw8-~b(| zr2FYz8?YkVb``C?&pnUKCq6Kb3}hf6OrHC;<4BSmrE2CR;J=rAHB7^;ZEIO{kzYSP z+#MpfOe2fwfJF(=15`j0ggWj%6T7>+y95A01~7o^cD%VHf1>&ec#up>-T?tXA^8gs z;8KzY%m4+bRvAgA904FTBOt^|=7oonhEj%r7vR*cNOn}$qz=#2@x5p6m(^x#JO1!b zJ3V1{*OW)ACDw1p=|7z=b75ksnTDhGMl8QpMuz?GJ z9}4+t=WJU<4$)ead~AhkXaT$w99ObJay=~7*A~1vG~=p-B~hRiuUIng3a$Om_CHD~ zNvpfohK;0Y3SmX0`}hq)NlwRJ$RT96FiY0B>~axY+2W!#Ic7PWZ=~Dt(F3(DY+&;& zO9hEgGgV)Wz>M=IkX@-aU{P_?AVWL>Z-i&$cL~vfA_$=BE71Bi?lTm+X&hHY<0=L6 zjqqCG!EhQ~`+5EqL;Z ztMmxIFQWewK;mQ#Hut&AEXX`lU?iu>i1}7Tw15+AR*S$UkC9BdyhBF-7|v|xZF(+g zQXZe9lUM=(3}?u*=jz#H<)!7A+203G7rwpP+25FGE&JQCa`^OsNr>T`E*(okM=w5a zZLX_GmDWJR=+DmD|3)SO&TLIHkhR4(JL@#++`uDGdEoJ#+h;{4KI2&@N(Za2Xq-w# zsn&><|E`@Eq&OJXU~>p3^RG7JnH%WC8M@x{?{bd7#9$;{9y)~nH@h@mb#4Y!s?Ltq zT(odZ1S>cItS7hfnMDn%YIB0ho=CC2RW1-`&Q0NhTIApr1kha#$jo}wUt=EI6ub0ZJ3?al%t z$#jsYyL%LIy4T-K5tWK?`*aNTdA%hko!7^)zfKY5mhv`=D0{VOH3n{flSF5_KzOUb zMbOB;u+~d)qTN&89)#AZXm1Hv+-734TLl9m%8|jM7MbEeqqn&H{ykrx968iwK)YK< zBvY;ncz`G1L%estZ<=CXxgWLrH__vZe0+;{XImr!hJ1&`0Z{cP2;jXxpi-3ETd>hn zq%{U3|2}j$O*)pue*KB6bDBq{Dk8;Rt+b6s|9C_aTz*662DDOzsuR-`gWmRuXnQY1 ziL5Q{Pqb8&G=moIo9PXg$ZE7t??|Et3$Mnsk|OlnhoDk{EmJhA`r9viD&zl-Tdk_wF_rYzu3MRldk~s7G*}I*6+ERiQ{#GU0m*uAi zNdWkLwDkIU!=vVkqQN>NAq``EONs1C>pavzvQcAKo8@Nb<4p`lT!XhF{`~ z_lt*X2ft6jn9rZPTK)AczFT~DKu%T6$;fgTNGf7_rVB|*>N9zhF(o*&+b%LGA(_)m MBsCdMG^WVu0{BC3(*OVf literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-mdpi/ic_broken_clouds.webp b/app/src/main/res/drawable-mdpi/ic_broken_clouds.webp new file mode 100644 index 0000000000000000000000000000000000000000..d1da0da0791c5a6f8c37df1232517679d19e76af GIT binary patch literal 492 zcmV|Bkps)wjNW`qzWQ!%9RpO3--hnfn0u9I zoXcISD^<(jcw6RO#ckZjX^wgoEV^BI>H`lh&Yja;nVx%sQy(;iQ6?e0fapKxzc~+Q zw8}zL8g*f$<%H1_>5tu3;^T1po4y4rWD&%gg-7)RdPAJlh?{c4!Qaml?T)b(=Yh0y z^>43tV~Q#=T#K9Ur7iCGrEHsbeyzWP!C@rXrggt<+qP{h|9mdK12`Mee}!$^HdJ>% zVM^!ycsg&74j1-3EP8XP+4%H)?mBa|!R?ttZ~m;&@rhL<6`}|VlGf&lN<3c%ifKq= zcv9%1#l{?H*3x;Qzg9R3&AC)PLM3WE;Zr7%j%O*AQ+cMUdYK5Z45xM4;hD^zR}C;C zhucEt_3Wwc!spg9kCsSt9X~T$U2HD9)+c@622bYp&UCPwZBC0A$8AggU0xWG&TrDW iY*wk@BZ)*fXcgI98up8PdL!WVOX&fF_kWh3TnGR(Qt%f5 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-mdpi/ic_clear_sky.webp b/app/src/main/res/drawable-mdpi/ic_clear_sky.webp new file mode 100644 index 0000000000000000000000000000000000000000..ff08102b0044c26e4618acf10694fc2c20cb45db GIT binary patch literal 688 zcmV;h0#E%?Nk&Gf0ssJ4MM6+kP&iDR0ssIn7r+G&PvbTK+qMB@r#+D||NoU;6(HVl z8-Q)w0J2lh$e90MQzb|^jwDHHs)w6DR^Y#NNL_Ah+d7{6GqzdVb-D~Hv&j%L4pz2p z{l*Fa0I&e2_!a(m*jn?8c>*#quhvjd;Yi=$2w=IGN1#TJ6?V(&UdD>YJZ{cz!6obS zv|5{U7W;@Qz%<;q$GLOcmT$$kD$B`gsq-5p4ycZ;p1vN!NW z!lPqJoDh;I@IG7T2~kq7LNh8PW4DA;#4M~@f&?X@%%RkXLZs}jplm6f&|s;rWefDL zpt`nj%1Je!g9tE%;RAV)IGG;NZ;D?K0fs~45AchXVlM#0*2YXG01%`y2B`_Z@9%#( z9+#u<@6LX{QwIcF+s;N`+J0lRw%sPFnfX)OHut}TV73s^{|Nv|JZ63XwiS&bpyjcR+@jJGc;v7a{*H>zotR-5@6BHn$7 zeIcC*88YFdG0Dae5g+v;uNaEQLtHkI$+339-3I^+j($rhmm#fIjpK;T7AnTwuK+Ob zb0m`^A+yEoZqjR$nnuD{Y}JaiOAkO%)cKEdim90_XH(yO zf^apd$9RK4Z6{2YHNB_+K(RbbMhy?|GovwDwD5^k{t5ta==G+%c_Ytc;&CQXws}j# z@fHAgrcjG7k+qjWrJLjthia{BF3}dl~ zhQmmbRb_VXo_t&*APn-4$>A8ZZ6qn_-VfsVLplt{VYg0f+gg_Q|G2xm4!|LMrZOFd zzyQ3{oa9cVxx2ds0M_aeWo}YAZ_2(LF+dNXyGj5^M5r(J!i*CMf7&4gY`c z#1$o(Vr#ga|GMqT&xae1lDw3FDhBEeC>p+GR2GVF8L>Lhu z5kfY>Fl`NSW{^yvhEORegw};I^N$dL+N&0IpW{rIM8NhTWFyp9L*#E=Z3LC5D#T}E zXd`fb&5uP}|Gw8%px&8nE!XqnM^ASL&JphO_99HCN z>EUKewl_7aXU>YsWV}>UwL;yVFYaFdSOD$N9?)o9nofMO**txdne+1@Hx_>+z%!hp;phY*gs4I~o6j{i+aCfBEs{IE z-a5rVR4^Z|P-ye`_m4nfl8DNUOu9Z}phi4gYWGLeU!1@!;Q;Iq8YK!8qaW1d1Fl&0 z6~i|v0RT1#Au3VFgsr7)EK_^Hh>XBQ%!zw67!2|WcV&do7H6a}&kU4KWpWvBAkd%? z+Pz`a2h0nmQ<|Vj!(EKkm+1Ku_&l1c2J9~e-*IPMMQZ=Y7fa=GEpGlyf>Mc0aQb@` z>UqEs<5nL;_4Hu!vH}AS2#@O@l0iIE9v?w{B!T1lhk%+b95jHDK9az3_4V}6?tP_H k00_-OE;;SLHoLuE>wczblL`PtW*O^dDKPme)_DK`0KP$8@c;k- literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-mdpi/ic_mist.webp b/app/src/main/res/drawable-mdpi/ic_mist.webp new file mode 100644 index 0000000000000000000000000000000000000000..073ea45357e0880d0e5d308744acc95c59914fe6 GIT binary patch literal 622 zcmV-!0+IbvNk&Fy0ssJ4MM6+kP&iCl0ssIn9l!+;_rjo&Bq_anb9?;ww}TCY{IE70 zM3SUPJq-KcUlgg~{~gDTBq>s6%`)8iZ|A+R8`VO-}zFA*nvIUe5^_kOHGpOXIHzqtD) z^!?wj+x;8aFINx_Y}-1PFWa_lyFa{ayZMi!PYofW{|?-?aU^kj-@SVUqMcWB0mjqg z?Th|!p9w(Oa27;*mBQ+)0K<6uW+XFeoYhj^mjsr>l}c{XNuML3+lZ!_!;V@ss73n$ z{4^YGsD$mFd$d_ZF zSaV%~ZkKq46ScA!(FGHAplykCMqsGNLa7`juG8rZGLbRKNNAVRDN02DBSx}tFkkz} zM~n!~d?Nf0w}$L7fWPz*S#JU$RKgAgmzvzP9zi9VDs%Q^ZDN_6sK0<@sx1K1^2Pki z4P$j+n_s?&IYb5i$mVL|p;fF9dwbl!v_^NI2|^KHdUJXsE{j?#3HZI42eE~p+@{xP I%n~``K@l%0SpWb4 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-mdpi/ic_rain.webp b/app/src/main/res/drawable-mdpi/ic_rain.webp new file mode 100644 index 0000000000000000000000000000000000000000..55d99db8c4c905a34ff07cb780d03b4d2a832c0f GIT binary patch literal 664 zcmV;J0%!eFNk&GH0ssJ4MM6+kP&iD30ssIn8NdY)ALA;LY*(3+$=SaW1Rww*8UD_( z;UJPEMXH{qWAJa}`F+v0+enfWsj3eiq?g`*x84b6Y^M&F9z3#lZBT zvK%wBLP#YUjlP9k6jM>TR~sNeMO87Xh%e?b!oZm_;XG5=&Ytn}y2sbsXV`Z59 zW4M1GUt9XiqjyO^>@jU$_xCY(d+xpKWmkd(+qMl!IzOy*^bfbYY}>Z&nExm;i{eMn7IUuCeU`y@pER#7{b_krS9bE}uw%Z{M;N?-}?(_+A zsX-R%`oFoQ<;tbSFJISX29VoH@^fTzy64oypEyYppPr>DKb~G!hwgW_C)UV?q!Dm`tRZ%lp72h zNmA4^yU%Rk{d+uO+%}SsWaq@2rl^r(?_k`6 z*SG?re^4%0{@c3{b!z=7muYCZ1Kl#Ce$kxSb>*xjbs11$v1aP_7m17u_3aM)AwOMe zQG;oxq+Q}0Py=+ZcmOBL?_u6*Rm290Gij5Xup4|qJ`BTt{VGj}PN%bR>Hy5vdATv8jl}~1a3V{iIj_wYHh%^9Y3Qrx z*EURN)5k`F!qNC!S~ofTyyG(c-_MHlukJb8bYn@ExzsjBBRisujP?KkzeBWv4^<;ng2o7r4SQ)A>>MZ?x- z+qPW+0D$VFiwk?6MlD7eqdUMp-XZXD0+f<|0F+T9fCDIu=1hD6ScD=rXGw2vMYrm^ z)w2c~`<_0Wx2IlQZQRIuIl^ratg1oU!fkqCX*Q?(w4z8?w1F^-wM(brnL`q9qrk}0 zEo*Px!<@(6_;%VL*78Ib25lIWE7Id%wl}kUKu7}w(z)naKNn-qfRT~AkSXk%7s~iM z>QC!0KaPj|)BO{e$(9#U*^w!F1Wp*@cs(=M`?r06K3=L0K(KA?Y;|HgX`gM?`krmg ze>nM@P9dWI6F}4D=esMpynFs)!MD4a)F*eZ&E9Th?)dh#(bJ@JaIn9>e=?BE$2rTE zS03$e4Mb#our-#?XN6Jtp})JaGnD#fN3QP`erA9SxAqi+b-BE$Igtj4jMq;)r+tx? z&e=yTr~s}+I$J0ECmq>5*#2kPv|^+7Au=9_^frb=d0*13Rx79eG!^B}>FD|;GGZM= z@qIs2^!5&a+BpgHzaOq@>!dPMXKt(XYz0B)$p|2*tS*WeE+yRL=F)>SPAq+0}w+A z)_}XaySvQ<007y2Jk(-})ngD-4-kpT0rVn201H4kRu&<`&>*Y=Ux+JU`P-BMVKMb? zYUayyvP0BWkN!2dfwR8G*De{+7I8HBt^_UPt5I0=9$cIgnr@@!g6?vET{R#i)s_1fxU^ffHm2#QKk;v-vq? ziLTtO5NP-mAVO>hyczvO@pCbMBg~nr!l$CCwUaOCGR*L?Lpekh3*=U7W9w`o2 zq^uS_Zo8+@#seAW9%*$4B*m=9WQt~MxF(a8eWiGXWKfE@{n6?G?<8!!-R_RHhd-FF zM2guOflCsh*ljXJ<5iLtk#BXo1l~#5dav1@X%0vbs{=%&08P?Y3bv5phNou%fc_k6 zc9`VeB0gWh27tdFGHp2IY6;g00G9=mgiEea$R&ILfb;dIo9U2@zk0FKB;j#>;J73P z#b&BrX(3K`eV$k*mhz1x@Z9#Yaeq3~nXFC#T!To!)lmRAUly}1@CgF|Sgkq^%L>$d kp~|Eb@(n+XwIZ2Zs^PHy#VFuOcmfXmt5s{{vyDc207w!#O#lD@ literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-mdpi/ic_thunderstorm.webp b/app/src/main/res/drawable-mdpi/ic_thunderstorm.webp new file mode 100644 index 0000000000000000000000000000000000000000..d52601fb8ef49df680145203897e62c84405237e GIT binary patch literal 580 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 KD!YxQk^=xJXKJSa literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-night-hdpi/ic_scattered_clouds.webp b/app/src/main/res/drawable-night-hdpi/ic_scattered_clouds.webp new file mode 100644 index 0000000000000000000000000000000000000000..88d9fb2ee424cb1fb5ba3c529c5cfcca7e660553 GIT binary patch literal 1308 zcmV+%1>^csNk&E#1pok7MM6+kP&iBn1pojqIKT)HKLxpMBuNspX7=`D|LebJvy~BU zI1J!6PEO{BHCTZC7b{>%klRL*Br$7dZ$I|G{(ClC83AY8wsYN+ZQHeJYHRCg^5^0Q zaE+Qe+W7Zo+cthi0JP--9|Rx;t{<(k0U!9lAz~r}zL2O-MZuM#4Vg2F=v4@~z!yBC z1RjV%qIe(x5%7ox(Gc-7ACoW`*pbRJ~opFom8f>A$b*mABozdt>We{rA6o7z-G$FVsDEwx548 zo5j;0WPd!e?J7p&+pbWNO_`>z^Aw@EhAOtSH<_t%IYo%G%Nm*%ald%e&WnnD`3?l(CtO(pq&NZWA|TM_^Y z$hH)aK*2vy@HZL^h_NuqFj60Rth23h%NOd>kZe&Q6 zpSrud9%u+5J%Wh-PXH8^#7n$^tJiN_zfx|A!39>}B_2;OSmyS4f+4TR6jxpp64%!T zd}h0v#FR0sue#bCQ(_lGW2$_3{H4E7;L&*h;kUE0nvh*t1V$CpTTLdDQ5%cgdU$*| zGdUt4G&(Ue_wD3CG^8Qr!ftAG7GFhWWu-qDxqavJAd)Kd{df{E;xb`MV?|B5+iEl# z!{>MJ)qToJ6Ndk9xMh?_sj-~ z0AOo7W5UnQ`lb(AUK0Q5UPEl4FidH#4r&Po02p#=;6bXFI9hpOR1})!g%SuMjNZ^IC6$=+MR_68+gt^=7#YoB5OFd4v$xo$UDX zUPUM*k+GT}t`H$Nr^dtvKh-y-JDVu_`Rj~W6ZPU>vo0YCFR2QXn8^0dh#-box{+#1 zrc%jd>UD-kTsPI&{MWg+w1kl0u=orhzBGsObG>w9GX3#GZ_`uyHOFVuNxI|Z;11jC62!NxksaYf`c~lG(I6W!T;HPv)il#cd+CsHK z2LadJBv#1mluQUAez5mxecjza(5?iyT$UgU*_o3M@vobx_A?Ex!~jA;3(gd0|~v` zQ|9(a4n6$mc}ni?o}=A-pup|6GHD*qvlf{;UjJU$hN5EI8xtc)*73Qaf#LwOy*NE4 z!|3GvG8CN|*qIiDLWIeMZ74p*tS&E3jY=9BpI;vuxBvh!u(dQlGc_@uJ25pgx45zk S7k77aXMQGkc4K7?3I+h$d4+QT literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-night-hdpi/ic_shower_rain.webp b/app/src/main/res/drawable-night-hdpi/ic_shower_rain.webp new file mode 100644 index 0000000000000000000000000000000000000000..029c56f99a7a920bf742cb4df30d7e7a04162023 GIT binary patch literal 1024 zcmV+b1poU|Nk&Ha0{{S5MM6+kP&iEM0{{RoBftm{2jnV}ZK-K?L_|satJ!~nmAxq@HHTM^gW*Tm7+p4O=JLd}S5HTpi9crKj znxGqpOuKMGhsfRGYY>1W1Ox{Hfj|%#5CjPZ0)c=KP@shZ1cCuUP=HW?AV?r2G|+%U zboa8mFG=)C+89mKfPN~A<;0kJFcmMeFM#uU2>{?*QMn^_QMyJ{m+`V}E z>dyDa9zV6P$SrmuYq$^-y=P*@nB+C-7s z(^UZ;oTxCRgGPJ@00?D~ADvdY`w)s8JKn5TS*|TDj#aA@bt8g3M3D#|2N24_7B7hHMYbsjTY|7OSOJXH z?M>#bIKutuE|euvl#zdULE63iDbOV44nUP{8o zXFyOQ{eJ zh4m&LHsi>k7z1T@>W!7a)RRb3zOZ7l`xR4<-G`WZyW$a*1(nc+8u8;-qm@1JnVhU4=$r-ZYT72bnOAm}1D#aw#L|1^@s+e)PEj literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-night-hdpi/ic_snow.webp b/app/src/main/res/drawable-night-hdpi/ic_snow.webp new file mode 100644 index 0000000000000000000000000000000000000000..37b25b57d983110b331d0435022b7f714c4d757b GIT binary patch literal 1156 zcmV-~1bh2ZNk&F|1ONb6MM6+kP&iC*1ONapC;$l%2L+*#Bu7%5_jhmk6MG_mny#V& zv5_Q2QXKQ$qyLV*BY&E%g4jrsA}Nmf?$Lk8-jP2|SHZDu?RfUQjIGvfdfUkiIFC#z zy{dHjZQC|K2B579Jvaym7%&JJ7>uAG&_WLk3Jxs@^k5+1FoVGW3?nEQ2skh>w9r8Z z4JcR=V-gWY&e4q?09E*}nu zgUx1hcsiXH&gXOVa=AFcVTAeb?=R9ekVHZE{eH)in339UxA6b}ueN<|dy^zQGfI-* zB!;yXv^`D|X#3IDyxDB}Yb|}-^jZtrz9e~05}FxEBDJMS-ji5n29oe3LfeO#aj&)1 zwH9hCwjIq({r!Fe6fkH(+iGzI1p@vd;SV49!5?Hi;T=B^Hk*xzH+W%&6TaQ8)0Vt+j_u3+gh;L_N(pR<#Opf9*@%Pb~7K3$DQBb-`;Mwi+z56a)U%|+s;Nx z$F^9=>G%|m{$A!^|{||K~C@9(Zd_T{oC#7 z;f3GpvLN2=+dX)He6@2!J01^xE`;m7xOuT#xo})xcw81Nr|0tM*3QA}^S&1aYjODx zZymu{?KgXFgwIISMg-oYJ8Ka3hXc0-$D}ptBua)i?D(#2RxI1=*(JhO_LE8pMXs(X zT?Y?#thZag3(v4A7J+bnkTjsnvp1~AYo7&+Q7ZN(eaOU0Eifh)QXw5|6F`?(N;1g%jxka8XMLWOig_K2L8lP)wRR1P zDaM36M;OhS!hyay(W=hO0$QPHZeUf|r7$A!oUTc_sTU8oNIGEmJHb^d*9iEqn29zemsqeWdFDdFjjhR17^9mBwMox@>zti%QahcfaCVe z@3J5>fRtxU00_Y8xi}qf%q*&`f#Tfc*s%YB?f%&BaY}i^Dz8;+QYNR{cX8vOn+l+) zBxj}~HHu)h+FqZoE;m=DbG$?>QSW&7PwpMGH8HC(t2iSqJt>9_!1i|g{3xv7a5 z+%`96SJpSw6{PcVF(HabpDwB>oi53Xj|>YDot~3Elb=479Uo4Fswv4fnVUEc2@#>P WMn=%dDbW$(JRK?kuqN=~G{G&K2{Hx% literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-night-hdpi/ic_thunderstorm.webp b/app/src/main/res/drawable-night-hdpi/ic_thunderstorm.webp new file mode 100644 index 0000000000000000000000000000000000000000..fed8fae39f70f0e4c4a677680421dcdf8b3b5972 GIT binary patch literal 1154 zcmV-|1bzEbNk&F`1ONb6MM6+kP&iC(1ONapC_o7i-{h!~Bu9!_#~J4aaRG zITB}G{(a zbl!q(+ZrnXNi1+6I0y&?LI6QvAQ(sxG&C$A2nYhg0zyIp!C*ijAT%T-ED(5->mZR`I3{}bKaUR8jfBz$I6Rej@Yt(8i$yYKt=aU9Y2``x(KszowM zVrIe^o0-(in3;j@2BeaBXC{aB?jEWt=ma3|Y zBqQAoxJq)FWU#6r$$t{l-L@pfB!pLFkis`|$RdY#JSGXjfT0#4Xb{+1s~UDxueH?7 zh$JZllbGwe;`_d*W@ahLQxf-eU9;zT&fNFClB75@MFT}`+txJFpHOdcm%7`ydp5%s zcE_iJ%%;dnHFTk*f8E{P4i_y)@ct3~p8%32f6vm`-HNuBn$99}mr|+L3RsLLGqW(G zn&5_6R9*HubGeGkSFxtfURlf&0Gz5!V|SJF`O-LTT|6gUpB=BRZ%xI+ zfBgLC;Nn{1a^h6xhDx5??k>;GOm9t5#3FA0#OQy0_lhJgJC)k%Eai3%Pu90+T4nf^ z;Qjdi?YqtrDZ3)QSr6%Om1Y_Lg9dnG4}6hO=^hyeQ_cw!kQLyv0p_XyBvE|maa zVVwfXu;2~=y&^uvGbm%PYwYIEBGPOiX=gVmkQfq!6o`N7jU+N%4j65&%XZc#uU z^hPKk3%-Ps0kg}+C8k<6sk5q8DKs_O>l>noM+9#qfN&xMfvH_h%yw(lJ;s=v8gT!T zDTaNb=hKU4VpL9@`1c-jv{#a1ovQ(LjQs`?c)_9xil|p)zE@8nh^gBz=NRp)g>`=Z(E@3}uF~1sgwNwu9 z>6b5Z!p{Exey=BpUN?rsKtf5gv9NcO8+Uv9cNB8C*T;Ij5t?>u;c$oK0p~~Sn>6eh z{3Nniy0wFADGvbKJzARcfB5yuEh`k*m|NOECwV_R{qp?dpMOnmPP3WC5a& U9i>u16n8nbq%b8_$;$${TcN~35&!@I literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-night-mdpi/ic_broken_clouds.webp b/app/src/main/res/drawable-night-mdpi/ic_broken_clouds.webp new file mode 100644 index 0000000000000000000000000000000000000000..013cb5b4f7a5f00409ebac09dc0ff9a20228b6a8 GIT binary patch literal 378 zcmV-=0fqijNk&F;0RRA3MM6+kP&iCw0RR9m7r+G&H9)nkZJF}l_sILs4DRkEk|mlp zciIrif5qWvo$v{I0q+|DW!tvp$=9aMCAqt${ec~eKAg<^0|sdcZC>47l1q1JR$ZdQ zrNC_)B{^pJg(a5ic0+5qd8g>TEHtxIvO>!1l9yv8Qa)v&9nHs9o8Bv_vQtavXlCVD z$*H4tYX(qN?~Q7P*{iF+b>{IIRyn}qEFFXK>Ti`H6tf;?IAEQC9BD0q z+8RA5k)w1OVjk}y16xTnJK*YX8$V|2GKGcaUCI#ijN&s~UGH>;_obbFV?j5Syvq|0 z(_u!HA!MW)Rr$=K7m{bI%9QFtVxd%A4GhHDmNu7q`#0Y YUcj9rRwH=<=YzeUC%k_v`8Puh01Y6qVgLXD literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-night-mdpi/ic_clear_sky.webp b/app/src/main/res/drawable-night-mdpi/ic_clear_sky.webp new file mode 100644 index 0000000000000000000000000000000000000000..758633d478431c3ba7854040fcafe8a1788b2169 GIT binary patch literal 636 zcmV-?0)zchNk&F=0ssJ4MM6+kP&iCz0ssIn7r+G&7vrF9BSG>(ITFVo*6Z7uq2aJ? z+d$%ta!cI)V?EwZ;;?PoK;n&ZOWgirJ>E{@w$`>ad6WG9M{($^8`u!K6n`ZGzt&NfORX zXJ+EN3wQT8Gb;>0+KzX(*4CIA+}&noz9_cE%)ED3?e2eO4Af_4glk(r36cQO|NpPd zO#bd(GZQDNCc(_0E$;5MySgoYzaNrdcS~sO?(^<`cUMLN79@So>#k$?*d@jTB1 zYs_|ccz0gg>Gyrz_k9b1Alr7@<|kzeGc!tRWvUD%Lz(fHVgIWzbqf*wSKGD?Bc~@@ zzJQ2cziyroUmmW1AYK>u=<;*)^?daf!|V4mqCGtcz?ZwX7?-_sw8#Oz+cPh)=$0xc z?}jkmJu(a}!(5{wS*MaIok&7OUynZ_ZqZT|i*iNcs*TZ9DeSuzmuRmyWRyCN#ni)F zpG=iei4)87Jc|m>2($6iXCZAEV&3tqm(J7D!ClQt5V*8e7=xK)oZWu6gPsur6G}O WF2u760GstyfW+1S{?$q@_8tJkYBtjV literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-night-mdpi/ic_few_clouds.webp b/app/src/main/res/drawable-night-mdpi/ic_few_clouds.webp new file mode 100644 index 0000000000000000000000000000000000000000..9de366e355872b758c7d2ace8580255c66823820 GIT binary patch literal 732 zcmV<20weuWNk&H00ssJ4MM6+kP&iD-0ssIn9{>grzvHNpBu9$f^9IB{k3YLH)lI{3 zBT0%ByT@R}JnE>i;3^o7^NB~GM;NSoS5j+UcAR&MO0000`pg@2H3l0nb3|xRDAL!k^ z>TVu+0Ma1O^K>7_5kHP2H^yjox3Tx`~0TgNfwXC zqyGQ@L-+gr`1}2)m&=9ve!q$9^%?|3ZQIT^Z)e-Ky}DWUSE+3q-|U_LmB0U$Lx|}A z1VF=?xqfIq)em54!vNr{Uz5F+eqejg08AbaYqGdAZ*cEDL@0Q4U(jT1?Z6&*^gI36 zPG70k(E$62Yhz#EbzfLY(Np6Gn}g+!2u`>DY-V$Yh^Xjf%;^XgOAUeH%gLo1z209`QPJcu`-()Bj~=757ju)| zAd~%h6$K@;FBDDXK6#@nb3?#0QBraiRZ&x)(|9cfYMjA?SpXm+D$0J2`B-sCEKuc4 zuA>)a^r>Vr>5y-INuoF2`X%Q@MNDQ6rZ*acMWW|AXLo>8<%E?CWrBJ|^5^Nbje(P^ z(<5*{IsCBRajO(7oq_4arNup7;YEaGnVHg`x`~ZZ3{CU8Eg?Tk=Br(7jzaXKA(E7s zrvU8s3+X-@0>ymx@Df=%Kq+b;KbZhoB40uw7|r{Y(auCI73miYd;y1Ez#FuA&{ O`RW4HgJYVX0002{HfE^+ literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-night-mdpi/ic_mist.webp b/app/src/main/res/drawable-night-mdpi/ic_mist.webp new file mode 100644 index 0000000000000000000000000000000000000000..fb02f4b363250404db6489a4d53e5961c2430238 GIT binary patch literal 580 zcmV-K0=xZENk&FI0ssJ4MM6+kP&iC40ssIn9l!+;zv7^cBuDbz^M~;$9?R266Rv4E zXd}syy!ZTJJc`HiG}44?2W=!dlJ}lJj7RZUo<^E*?ZmdNWqH55#($A$?rzh7i7*x> z;2udX&HLX-?ydny@`nfnujLV@*MF7E5l-3CWeuFC-#dpp5zCDsD4H&)U|*2fnJn%os8N=>E!c5_C$^>YE!Fp7c>D$6>6#f@RJ zZ%!=0CQ-mJC;%K7N$>J#R_;w;{>um?z&Y;KhLUMN5D56)j>Le2>WVNlZHL3*u!m$C zHF<31hljkXGi6Y>vJ_*G{TY_t2>Z4Gs8-M0-i~`-$o2%SIn>7d&urG!V%%28fuK`x zZ{~#a>(ZNmfAz2OkgpEqTm7qq|1muR&=u`vb5qHi(ZJ{ONR{pcxE}80?OZ(Kt5!hBt^`rAF95RVUW(RaOKqh{Bgq*M@Rs`V7LK*fPg>(1px;J0ssaD1_lNL1p@{K2M4XH(#&vlP_HU2Vl$&W z&vSm?_o}Mg|NlS!{eH!|u9=89RaK;_tlh2X?&-{&XC^o^s_*wJy89RrddO!+UR9QD z+oJbG)ZKIqh|h4Sr!Ha{Pbs5(E*YPnQ6IeTvn(C0G>&d=NR*4Ez1 zb)i`44UkjP>-S;nu2A^A*!nCKE8Tr!VXx8FXJP!$)@Pwu`-XY1-PeNq-NozhqX$|> zy2zt~_vZ1%@quJ&O^7l5LSg(#0EEL*XjA9^QC~9vDMSYTs+Af^VL&Xb0Zp|^OX^~6 zO=BKtmsN`OJ{TecNln+6Z-$EZSGul?B!CePEN&d0U$~!cF9reu9oPMoaQdCcqr&UI z)90^!=7M+{@fgnK`p(zO>imigOHr@ohy~e2lkn=qOc*;f>lMiW;S^*RG+_`*SYD}p zAU+3nHk6Y@4aY;u#F7R3O9Gs{KvhO&rk5cfjf0HFl>)xWc|WAqEy(#TrM!Q7AqkNz S5KNtW{E_byi559XNoi|D?2S+YA6PRLdTY zv=2G9tsUTRa}YH}|YF zyvP2=AntdI|Nm<$_4@x`St&g*V^AOjHgJFje82+=h=2fm3>o+U!4|G?gB{G^R4FJX z-%CFNVk1e4q?%=>XJ%$*-roJ6<2(PY8M^l%qW=?sX|mLJEIUZ?zquV|3@r7W;y+UN zV(`uBd+@qqXVWMm-}j@HnTJlziFp0fyR<7K<~wno=c`LgcckP$JF|^JVV3|f{;W?I zZWTmN)>)&)oD=}skDBOe{!v9+2ftcj3~}^LM0C2Xad`CFYA~A#lRg({;e2;}>-16B z+FQ<4X$W!jP14!X^`i~fSH!Vo@FSDo&fgLdy(5SLRB0K?I$V#g*MvR_ z2S}VSv}K%3*Y1hv3(P|4F@P}%8E>CH3YiDDfM$=I94^f7(pTZ+u%P={n-D#&tuNXc z;1xQr9Wy%Iz5#&DWg2adn{Ayu3yAG7QE%=ao35|Dwh~lXte)FBIyAig95*uk=TA=h o-M z$w&FedH2jX(+=B6QY0VcALrdO<4n7)w(WS{-!@}o3RRgQT~tfC2>?EM&-4bwn}AKgp@8_UpP1yF1g}x#RJeyw1_d9hrR23xg{{R0eo|t2mM1Tv4VHo1jp@L1~0tqTfJxOy}mOLQHwrx7v zv2EM7apSam{=@k%FH?x<{{*1B{`)%1?dxyNoAdGaz!P zOcs-sNO3;>H-xk)7q*%3k!(4(iueZNv!(mxYggnHvdCgLDG#)fc(I8+Chr;ihF}i(kqjvj& zfFHKuEI5N%l_TH-N7N4Pm>IHuvnuAdLELMGm=g%uQKzy%+74s@B51n9u+Bxn=8vKs ccY!5o1y97P6$)4&m<57)v{MBjX#%1q9U9yO@&Et; literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-night-mdpi/ic_snow.webp b/app/src/main/res/drawable-night-mdpi/ic_snow.webp new file mode 100644 index 0000000000000000000000000000000000000000..9fb8c4ff2a8522ffae29e3cff93e9aadd10a08de GIT binary patch literal 602 zcmV-g0;T;@Nk&Fe0ssJ4MM6+kP&iCR0ssIn8o&h*C&Qp^BuDJwykBk>GvOp#2}c0CnmvShD4V{q(X9c z`&0`*L88+l5o7Rz$3{s z$qnWAeSNHwtZ@NB=f3aV|Nr0nzPI1^IdEXxw%NSewrwLxZMUzsHUCL8=nx|MKLJ4B zIPMm6oV~6i;Cx)ok^Xt5IP4e5a=Lr4+Aom(?!n^tM8;aL(rUG)hXw<+oikO)0+Fpv z)+dJR5*eG7SS%E)bn!}OdF492Ax)Kx@pu`cg*!S)JyFZmXol5HIFW6RaYJMCghSzM zcl?9pTBb_0Cb*_i_`*D1CflUxOv;^MZ-N^dt1<2h6RjZ)VsnUy3?MHitH};>yyy&0 z05IIronDti>8sSJ)iwZl_mOMcClpJ)4FGt&xa1=uzDp?80s!2WKRu#HGyQmce4bQi z`GM1VKCE^Mty&jxaTw`k5}9A)pn=hOK;{w!qBq;#0Zc(HB|G|6nt=>uAlm%2-0sl{CDnuMKe5i0ThKLA7Py_suq zDpVDyP*w1LA0+uD8TBzHW6rU-{(m+rD>zVB5Bu=EfTN!J){fg1ftO zahd;!k_J{s5Yhh$fWKn8A}kENQwtja6jLa#sbK{eO}B?uu6rK55LPfaFSe%xTi@&H z=n+J>aKCO3^d^eAWGWiK)CSi*{hM_j8Zq53s+rn(%fQE8SOK62+jO7vLon{X3;?zU zV74KdmQtpr&!H-GKmfpYPxd9rQpJbe4@>wR4`jVWGEM&#;6zOm07(|=WIbO_=RIq{ zRbYmN$mXPs^vTjsJ)MwJ%8Upb@SShTG`;m7dT021ykN6HcF1(!v%duxTy~}6Z(6cc zrgu3CfZ?oCXx0lIN$=+T2=W-sPAoL@P0!{sK;Xx4vQ9ViB=?K)0Iv>epYir`F+C3- Uc-;t@c)R1`{UPmrs)PRw0Q(j8=Kufz literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-night-xhdpi/ic_broken_clouds.webp b/app/src/main/res/drawable-night-xhdpi/ic_broken_clouds.webp new file mode 100644 index 0000000000000000000000000000000000000000..e9fb8d0f798dfbeff0032554d1eab8ddec5d3518 GIT binary patch literal 1200 zcmV;h1W)@?Nk&Gf1ONb6MM6+kP&iDR1ONapF8~Y>Hw8J8Bt?=h!aa(|-iK>Yq$V}kQ z25bPyi5w)i^pSq||Mm9`KwAX?0g5sN1PGeoP+;H?pdc840)c>m0|7%of};lsfj$^| z;Nalkpg>?rmfKd_b~l^N%67X&|NsBCBsX7QUvqFI*-kPuGf!)+LEGt>8B21R1ln4# zIWrrF!vUSo=iYX^9ejR%_LIzRHk%O`la!OZw|!h|{k1)A%iD(9lC_p434pb2Y`5F1 z?RMMTY&N!^pPzi&-pp9r8nM*2Gc)eBR;#TyNu_PL?N8g!nYqSAk^$;?nVAIKo6Tl8 ziCSyvlEBQsS__gu5lN|Fk`P zJRWd79=DFikrUp*auy`PBwJCGzviL!uG zTpq#WZ1Q~OV3TzD9AG83*Y-{>CU{S10xr&`7xy=|orK2$Hot3Yd4A?-YVry2@xtLjJ9#X|%=*ExU0jr=k80F1r2 zn6+Jv4;?xOv*6MkmkPBjFmv_^v-u*rgepLF-(@oyYy8yer~zI?!63?@IfJmuZvcU<({ zcO5`GNu%$-UvbHeYxv524I1Bdl*3&YbUZ-Y;MD}@r0JW7lUe^|9Dn$NKaAhDH}?xA zjN6SCKdJtQ+ku|Gy{ay!fU(wWX?hw?imm!YJb~$BohD64BbFydM}$HcuDN#EF)FW* zyiqChCMeSM)ReSzjB(}XZ5uM5bG20wo52@XOz>iqSpo?_1umFb4|)*UiH-Tfxag$E zfG zRmsKSs$AxSU~2Y&^rO5FE-#)N%*{W_7xG%^~E##b5EF- zoRJ-$m?qcO*%L?h6lqpS47ZmZt zxf#g`>?u{X)m0c{fSP=bGJ&mRnLxt(R}~)i@)-`HdL7B$E1-J*;!V_V@Xrt7FCp;6 O*^vC1v;BXsTL1tXQC8^y literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-night-xhdpi/ic_clear_sky.webp b/app/src/main/res/drawable-night-xhdpi/ic_clear_sky.webp new file mode 100644 index 0000000000000000000000000000000000000000..6a4954a42bd3564947cb3c73254939c9a0a2c987 GIT binary patch literal 2010 zcmV<02PODYNk&G}2LJ$9MM6+kP&iD*2LJ#sE&vP=ZwD!oBuA3>to$8<qBIg-3*8rfM5_1Fo8fsfKZS?5D*3g5QH#H zgendb2m%8?=V%ZJx(ZkEm4z$3!^h=0$AJqE797~H;o-XatnR9J_-LP*S4>>j1=n>w zVejYXN8@pK3#&Nn?QY}l-c_m9Kenrws$gaSkLR4lbI!*($GP2ZAJ=u+*LBU@Znw$r z?{C1*%sBYNKQb#;LG@d`S7|c?GXvF2b&jj+x;Vn;oV5S{|19td@DB@jyIWGd?Cviz zcNfk%r`6T&GUQir;MLadR-$fqYcN(ZeB--1#LMnRs*dZrjG4)=wko~5L1k2M&N=!2 z|IeQpm>JmJze+*Oj5RZ`yMXN~X?K%$7j`$mHAWwg$NF_$!;i<~`1yR&Ij8e>yUF+a zJ^u0W(e!$~ZmQGg^O^Q|Jmwyc$H@JDKd&~wzP|dZ_)1rK)o-PD7cf0DwMeL7cVT7# z|1%?J1}Xr;LM#~KkWtA>Aq;-bNkl9(I0zcakWe5XBoG7wgF5HT!h?k$oa6nRqi}j% zSIqD4?<(BgRk*6`&(F_$14RJ<)wEIS?(W{XuQqq(CeUe_C0mktD%p6mT<(@L*jN~_ z3b&TY`F7r;6F3^??(Q!A2_V4T7rYnIe+F(FDe_W}`5uA!FK5o4e|hcJeaTbq-F*Jy z!iO{1e<S)pG*6nDc>&+JT;coelAK!hl zq(QXWostP^loV%ivzdXCwsd*L7wvP`e*UvYx1j(CiP7Y~}2scS5+YKzC1f8iSG%YoacJiPnHBR;)X{}nW@Mih&9!0EJl5g8B?wLFAsN<9lFXDJB2 zqxZ0)gob`%?*G&&yZv^6RLml1$gp7NS4Td>Lc(K{(sQb&^_sh} zLBUuYemFXt0j`kys{=8Ab{5h*uaN6b*J_ppJ13aPBm~Gvs9zD7I9+Q`_#EhzG%Nw+;&|!D_nrCJy zuAX8zbI);~KP*>JY)(aG>Gb7auAt4Gj&6h`h!E;(6)3fagCwzI-(NRg%YTQ#(W7&U zDhn!y%vsa86X=>dI!`*0y|c~8A-xKxS%fxj`sVvXE+|`?Ts*YAD7&Wjl;4{6u22K9 z)oO>G%{+~RjyeTizw?WwGv@sC&X5Y#E^HXF- z=454zPK=8RO{nO#XyMd3U;laQ-XjUBNlnAj%|9Ie?x!OYMrEVaIGHiyLc9+*rm$=T zEH61aXh!X9xOpjBwtU0-pFiJq+Vh=9B82%X@u~S0g=qN5U;CFWoH<~@@AIb4T(Ag@ z-sQpqENPj;%Zm##lfrw$=#l-$C!|$Z6cxgZ2rN)}MSc2}<-~^sRb;1D_Z<}yGofHg zpP_kC0V^&;<+(}W7#x{bGrV`2D|9R>oYJpoTu`8f^e!9e&KOKD=v7*g;%W(wNh|DM z8Xpp!r;z}Hu*y8#h!7;gGumB4L014*#vH$=8 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-night-xhdpi/ic_few_clouds.webp b/app/src/main/res/drawable-night-xhdpi/ic_few_clouds.webp new file mode 100644 index 0000000000000000000000000000000000000000..6a8e7ffe35831c0a292440f3299acb37c2b61ec1 GIT binary patch literal 2132 zcmV-a2&?x}Nk&FY2mkI4GU07}FXj?cl!6Z9LY-pYtm>Iz3T1zpS zq+(`5k%}xZlGa+`cv)*15r*8o_k9w;dy>>708bK4^3ygU3Bc9Xhr_kj^Kl%}Ypt`j z7SGJ$-g_bm;4?{N+c0dm{b}1WGtf5J)`pkkI6|?7&AoR%M%w<(Ok7)M+t9Y=w$V6F zqHT-YekO^7w1t_0BmifUqa-QFP6BQ1sBBx*wlhgDVrK@DK-)LmC#l_gLtB7iD@o1F zK$5q%X-NWY5uTaRnSr*Rw%YcuZCqQx-dZd4IF7H==_E+}`T6mppsgQ%L?9dtMHEsH zhXgQ^5QPXtA_Sp8L?8@F;I;zA9~`j3hCA3{gXuU9Crt3HwVn`wYps>oc5v@KzSer& zd)vRizk5GEKDzGi?&hAJp3*UP97pQ;d>(p#e>c6qzdxbz<>h4^-`DH)@^m^4ueBl# z6#oBT)HZnBQ*Yz$Hi=s`)Y}MyLMhb8b+;W%Z#Tw92gf$5kS($hSr~P9cXxO9K86uE zt~`R@KcfE*+_sG*x|nrm@7=lH!0|@{hb1P*hjRR%KoQ?l(D2ms#5zwrA@KcXa8!V& zkod}+j0jJHuv(Gdq$bpa2nN(Am%hu6_UNLzk#V6se|eXeF{*w*SY`?2)(jBV#^vM= z7WhkXQGV8tpe8OqBKxC~oWTMf5{1WA78eZjoASKk!nC2mO)I{iK6=KI<-IQG_@ z@2B4oz088iG+%tZ^q*sQ_wU)|54A%wOUtLt|Mn*eQxl{X0a7V(%53Y~e)`Duo4a>@ zIALVvyBE*rw5XI5$2ClBgo!fJpw%sNIJa&;cjC&uJ*-9Ml;l?=4yz61*H%vYW~r)C zA)DBM#1iR5DQUn6d%vr%&8nX>d3@PUw#wa-hD8Jmo-Ld;8`L<32pkb41(-_SsJ6NK z9jz8>Zu6uGY-`AP``Er~*oca<@>jEENJW_1o$GdZjXt{(S7>oHrZp^ctlNQ3 zpS;$IeBuJ)1w@QU%NspzEQr-~hjRx)$h)>`l$2_m#G@m${mhl!;QL{rHE~H*sp*xk zW-1j@1wp$POry)FrEoQ2u=RNibm`_TU%fMUNNWE3((JU9FTd66lu|jd%)wau?PgK~ zq-j~Zdmyyq*a752K+LF=G?XxMXifB^zuN3p+DMT`yTiqxjn=9ZD$<}w$ZWN>|8x0} zk6u?*o|9G+$mal@KeGcNXBVwfP_|xg&JGJE89Ppm%O{E@Dw6*52>9sn87RIcq>1Nt zdb``&{&uTgXK3?&g3DpW|JQ)))Y1mA4AU#I72<}8O5KkafoXdW8d6za9Vzm{@L%^>Dbn2IHEFjH3UQ;>2mofpaqDGwRebh1O*2^4Jdh7e6egEQ)mqBZ;khN8JPZt?%Ss0ecnpqh@v*g2wjLLtRvH&e^d<~n z=2hsX{3!Rs_nnCR~`UY z82UD&tgxt{_!D6E;NZEl%$0d70HsVkR%+?qcwi?4MJ8pWB*e#6r{-qWau{>{*cO(0 z%sMS;G8<^erbBl)P&=yNU3IvS9~hNbUC-?1wc{-HEi>vZJ!@V6ZM(Gh0S6M3)03hC z`Mjp!$XXGz2e%HfT-D!dB5=d9w(j-Uc6D+fFKa}&ki#lFci*^t!8fmC(L@<;`TODC zPA&&N${iZW`bzHpzDuXr)U|zWw9)+Yk6(Shg2w^)v>=wlI=ddQtLt3-egDEAuO__x ztjX=;yx4)QoqfH0{`B^3KF8KIn>Vd``8qBp!0ml@jga>t_1@JZ=g;`8=Pn+)vGQ#~ z(#R0Eip<2JAslQjr!dYT~iZ zuHCoq+_-k-?(viBw;;40j^Dj%77f1V_aB KInfc`M_2$2Tr`~k literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-night-xhdpi/ic_mist.webp b/app/src/main/res/drawable-night-xhdpi/ic_mist.webp new file mode 100644 index 0000000000000000000000000000000000000000..da3d1ab4917f4d37b50f3ea500f33da65ac7b33d GIT binary patch literal 1684 zcmV;F25b3JNk&GD1^@t8MM6+kP&iD01^@srJirSOezhyVscKwVO0jMNGK)_IepaLTv7#IWzKp;?%3LaHY-YZLI)^uBLcYXQzGeP%4QATl#homLmsKoyJW z$Kx?yombCQ1no0pSF}Pno|&{Nt8%Nr%=}dZk(mL^RWbK{=Wg59z1D(C$8U8pGh}A^ zX9j@RTC6f>CbDf?@o^l(*L9s9$5FiRd+z7wXW?~S2VY-b%`Y!6VMOHPZkU;PfR?cZOS7?s+NCsZxAjIYkfK?BOoHzYqPEweJK{Mgked;u}azlV*M^_5w$ z2c_J+{KN9A(lg4*Gw0}!I|mU3K%mxH)~A5>a`p5NkByJ3sl9pU?tPNkNI~cz&@gP; zoZ1JNd-#S_XD8I0di#C&Cm)3_p1sEE0SQS`V;y4;DsNg?loUgB}ziSf>?5*}dkI_EFe)G;D0RgU~b7BxGuXnnZRbsVc_#4s_3w?e_v>=?h4s{Dae$WN{4T*W-B|~}<2=qqA zV?IpmuW$dlV|8=oVt&qEjS2)d>l&SW%;6FFqT_uq#=rnyH(F6tb#5nE_71SGU7#A7 z4~V?qbR`;NL1dr@%_lfFp%onjLBQugtOpc0WI?bejr1wVp|iRL2uTWwMBpAa^xz(m zHex93P;A4iBXn4w(=8Y;P(#Je|jmhD|z}rg*^Sp)Q9g_S zqcP5{9`pnCL}tds+IvhoqtlTys&&?#UBC{-?BuBN8vP!-&jD0giESNlM`mf{__@b? z*nwCpU06Qk0(YVI7Bi1Mh7m{N&6RyF)gYxA+gb99$jDEmD3#8FCaECzxMO( zx3Ax|HQ%^IKKtkU*xKaw^xmxPe|Caip*h(p`C+GuzkI4IyWIYDb9`xKmgY3w{EDOE e<6>>bkukxg?lfoX=3f|-P?eMzA7aaPCrAPw;X|hY literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-night-xhdpi/ic_rain.webp b/app/src/main/res/drawable-night-xhdpi/ic_rain.webp new file mode 100644 index 0000000000000000000000000000000000000000..859ef4cb58010ea7fa84861e55c31696adce131c GIT binary patch literal 1914 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 KJ--j35&!^zP!T8q literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-night-xhdpi/ic_shower_rain.webp b/app/src/main/res/drawable-night-xhdpi/ic_shower_rain.webp new file mode 100644 index 0000000000000000000000000000000000000000..55c24717b0c5724dd35448a6600f18c42358bb76 GIT binary patch literal 1662 zcmV-^27&ofNk&F?1^@t8MM6+kP&iC#1^@srFTe{B#|1l*B*#jwc#3cQw*{v(JJSd! zAV-pl5D;)MSb!iPKoAfxAn-py0D{2| z4hjka0tAH(1P)MeFxb2M1rxj`kzhbc^4Z;=NtS5OIWw=HkN)xVGd<^&s%p2Y!si@! zlCAImf2b-EV;rruK0khb+GC93IS0BMstWLryD^4kjB!y_3q-nmki@L2uOyLk4xj=H zw&$GVb56Cp9ZAe2x81EGQ&n)zfvSS;7L(Yz+r&pzIpOMVNb-oiBzH+{-EBo4=_J`C zW_LqX30PK@y}MzIaWm%}ueE;hF~)G;Znx3idjr<%_4>T`?$0@IpPtXVF-8x$=htiV z<^4X#OLr%eh!DHm-`xNm98=7oLdOiRSSFzmp<)JQj3GhBKgJkin#2k({7F8Oyv;dP zNVtXw4R=r>C5f-K2o%Uk8f&e{$Ip+HM4EGMeEj_E7$|Dnwy2Fpa7!SAPOu4a$Lg-} zkdo9(!ooK7(y&u^$xat*q3&Lwjnt11eum-N6Zrp#{xfjfNKtx>S$qU0FzG)(-#vf) zKmVj_0eyb=Y$2B|7V=4y$`rG? zg{L2W{;B2o$E&B`GN~j_U}5=L>8W%L$4|0_(#pT&9={WOnEv(QX)YNL4er>qv6M}L zD9a^N`RwzzKZWjpJYW9r?B!4}FgUOiLKFGGH-j z!Ts@M=F1~K)Xr9WgObECm_!MVoec#h=PF5XM+O72WPW*p=L;fjA4DRc^H-V;MB*%p zvuDfyyu5Qqg#G8-LK=cdGzN!v1rAsgP(GPJbD@dgNi=_CdSWuhv1b$L-|MSgeq5~b zc^xfXZCVlsdG~%HpDNwv=F8ttoIMgmv+O)~xA^r&lT#~K>pZU3Ro#7ltRg?&JSpar ze2E{JoVk29k@@=k=E{Dp(&3>E4HRuq@QtJ23-?oeu#wP#nKO5no_@H)H2K9H%|4Zg zkRgI^8u<8ffp->|kA?Tc=+RThcl%t78tZP=ig8FH$TvWKeSH2UTc~`BV=vF_+ciAC zp`U58sj!|tzkoUK*PEA*7YjVSkUe~G``T5j`&@QP#t-k|r}s}6a!c7_;okl1((?K1 zV{2MnraHBP#5!9jr9xgciWO7WuAaPj;ruyt;nKwuS8lFzGj73cPuty9QF|Qv zdY}-d=Eiyeztc?t22#4oTwe`|w%MtXlm!&_cB2GPp;{d)0F@PvR!UM0%Ivl%iL!vt z=BOtC6^p|t15^xlq#>%&?=gcF@9ekg!QSKanEWC@z(F@Cs@`equLp-wZ#%6N1N8R$ zr8pqaXHU9ot&JM6e=rUmU?8DeEE>Vcm9{pc7%-rk-7Cap0kx-<5(~x%ZSFc8FreKA z8D17JdF>ipFpRUYK?xdoj2aQBLhBU5@3gm>f;Wkvt! IGzh#00jIkx_y7O^ literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-night-xhdpi/ic_snow.webp b/app/src/main/res/drawable-night-xhdpi/ic_snow.webp new file mode 100644 index 0000000000000000000000000000000000000000..7dbbff113a64149640e8be07c6bcb7d0e90c3e78 GIT binary patch literal 1794 zcmV+d2mSa`Nk&Hc1^@t8MM6+kP&iEP1^@srHUJC|*9Iq&B*#{sc<(FgyPw48&rI!f z8%qLiBT0^=SaMuC^_)2WJ$o`;1-FqTM^Y>~E}eQ#od2FZnXZCl+t%^u<@?_E#kOs$ z=}aK$W@QwaPi9f8n$@;#+lZw$Z370+sb>J%&LIT>-GG6Dfj|h{4S>4?C@44>*scJC z2)K2?t=px*K|w%)kbr}N0)Y^>o#7TIZJ+Sf_8gsK+sIlgkz_B)plz?MCduEiZTHu4 z+#K8X`TP6ZgllFlXXdf3qOIcCwpv?z5^s_kII>B)cut~+scj#RSU9##|NsBrSZmGO zim;U=1d?Q!M7Y+1B=aO+ZCCE|8BoU28$xk0jcefth*3U)wJ1P$dD>QCMr$j%|yA%?!*8%nZy7fa3`NNxl$) zK8XNpN%Au@Z+n%*lLXoh+KQ4u+x;Z5wt=>)ByuR=f({C(pn()pXn;Vd_dBp0+jf`a z7h_EEjuE;T;0F_Y7aJApdM+sEtGI<`%X+}GzbyN+Y& z^Zl+quh-4{JeA+yugXAS0Dx6#)ZL2R-MQ}W4Ow@Ag|P%KIXKJ}c>xCp16yeor0nim z{v0On@%RPb7twzQZX+pDhH4s)`}z-VC_}KZvN$uTu?`L!fLS-D+*;@|x?vw1BP$DY z{YtgXJY)c1&}ti>nqBN(-wqO((6F6hXtru?s)4zcRcrxk>x+DHe_&W3=fVCEUs@Doz{~&^RSZ)S+rBm z%8ijF=d}C{9g5@z05sFR&K>LX16owwDHX}2?esT%kp#*tqgx}+9LD8-^&omg6XlJt ziQdkIOx7F8pt5JgiDP3)tw*=X7}fM9KxHtgb+jhQ&{+S%Lv*^foLE4?W7d;us%rod zu0^JYjfI_~DzW~od{M{OA z6VCvY-Cd}B`klrWD^Q?P>PUC-XWhZ+>qJr=lVbp?#d$>hqGHaxZ>VqQasUs}^#(RE zNCZ2ONM$r}ga)9V-9#iLuQ0Z`mfX}%tEaz_BAJC87Wq2<>;*y%t%)a=8NgWoEFuAk z8R_+pU>yZe+l5G*LfS+j6YpLpk%=UxP}*q#nt^FVyaG=a;UVGrBNAO?Liw51Q(=wW zTUWyr+D~9pP9cGdNz5$203jqis$;PEV#GRNu(=c>{Y?{O^PM0kuc&`>^@Ow!}i+}c*%wW>!Y>@(k>ioF9@G2`cJiy1x^P$mx zjfwUDT2;&9@*ogmxeI@8e0?%69S7oKa6u2yK_rnv(20Sz2e)sg6lb4I z%Faj(_q00%09Jf!{a4m$0+{@N{q!`aXisTw4onI2b4c*{?aSXEu|xnc{PCY}-}mf4 zuy1c!K~jL1$3w?|%qg=06Xri&d_Q*d;1O_WZ)r|yTxhUkFX+=)hcReiyMO0$+1^8^ z-NAvf;-ZWgoMS&-o*5s+0GxPvD>-NP!Bg(wXzq!WnBYJ+hcVLAuhBa;EOs4(Cp94` zt$OzL4P0vJzQgcHc}7Cy86Pi49&KU`*=a;f{5@T9C` zWk+`v9xFZ(8Q^J8M3CKms!_f94T&yf5^06nCb=2l{$B)AWvCxqRvTky8L%yn6rklbexlh{GQj>g(ZbH&4&Z zF5dBb+FOvDlN=f0=Bj~+6}&`x=JQf$PTK$qbk7MD?a^w54#lARbH#)+ikr7+<{eo9z{z|D1pBu57%lw?FlMdQK)TuA^fs1kQP kF(fD;@Qkm~g?RXQ8qb`JsPOiHo)356%7Ca~Zx3uf0Qm5D?EnA( literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-night-xhdpi/ic_thunderstorm.webp b/app/src/main/res/drawable-night-xhdpi/ic_thunderstorm.webp new file mode 100644 index 0000000000000000000000000000000000000000..e0b661546d562bc2e59bf5258eaae217b1b4c5c6 GIT binary patch literal 1818 zcmV+#2j%!uNk&Ez2LJ$9MM6+kP&iBl2LJ#sH9!myw+1+8ZuKAkRwTwq`KWAOb-^@Q{FDKrkQ(1Oh<-0U-dv13^G&!9fKC0-=Kl z1`T)+lqy!m5kn7cf!&45x4V;gz3;nNm8t~Jv2xC-KOPV1x-QsV0#;2tJRT3nbzRq0syc%_ zGug^qy;q)UZ+DxpopT1yIma`Tuih);?!wGKl|y`YXTho(npG9~bB-5v_;xpp$KCy_ zzN@=Rzq^IXzPnnusy^DgOW=UWpolUWD5H)hY6zot&Z%N*cLfk+7$Jaz0v-$s2oe}n z*o7TtXfd<9X{63MMHC*7hlKy@x`ubRfaLf0_eb^g`}^y8JRUcX$D{Q3_ve3md;9zN z_{cqFGA~}+)ySux)_xTL|9P-)&_+Lc-9k^{9Nz&|Y@43=;-+)l-V+zWoqsPKg zV`wO^E|`eqL?4qQENW7rdma%j^WJ~ zn!zhlHz-O)Z15`D3M=bW#X5GjNd~7t(V!9W*!m=gz08Taf^wBQ>*T}Wt8&*c0Gpvh^9%=a*NNa*^1xvsaJYNwiNjU^192=FZ8DgRCeno<9Pc9xM(@8|bkS0h-5AEss+M*CLyeX&T3&r_`WzDJ* z?Ozve+$J-2c<9ZVsgnyh3^3?*l?qi&Rr84PWuFgTPMjzUZ@vH4tP!yRgheVTtuBXB zMbX9s$A%&J3@LRcbKo>sAG9w<0cjdKf)otx-t=>F zU5S8|K&~j_Gr@CSI&mvW99ulg2z(544b}ivb+rHMG?}_soaj5UUd;4?Ts?Lq`5~~S z#`SnYzs+Rz?4*2;dpFEi)zWnpd}LIE7D@5O%{wH7M5x@quSUp&niujw}kB#NE z@_M13l3PIUFuvaE2!c_Jc83X)$~T7&aCrp{b$Js<)a6gqgA4<`Lw>izLjyBrG40bYZ^vocV`#_Xzw7-R7i_#`q}BDyVl#xv=yR@X?rly*t#;9`hiC;K6#PZ z4)f~q$=yz?37XM%!(1~Sa9ERZmddqr_aaC}#_pfl>#~_GE1l4W(pa|%QpNv~Yv-S3 zx?|9>=liz0Ryw<}_0aBE?=jng6zLo1pT5X+Tcdri4(|VZ$3NkK+wO!`xY8e@NMC#a zlx2A6Up&8f{Wcl2nLSRF@)S4DKN$37v4PUQ!3SqfUEAJibURTq7A1iAICkPuHfeB| zjof>1zHf=a>aeWbnGzotp1h1D(pehW_HNC>nR7Z;^!PB**fr zMzoGBo~X|?+J4WF577@R_xM9lQ%9&trk8v=8mVe{LV I$p2CZ0DwM|_y7O^ literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-night-xxhdpi/ic_broken_clouds.webp b/app/src/main/res/drawable-night-xxhdpi/ic_broken_clouds.webp new file mode 100644 index 0000000000000000000000000000000000000000..00d8a787b627d67bbd3d388c896ae1ac951267eb GIT binary patch literal 1388 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 IU?WQd04hWB&j0`b literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-night-xxhdpi/ic_rain.webp b/app/src/main/res/drawable-night-xxhdpi/ic_rain.webp new file mode 100644 index 0000000000000000000000000000000000000000..ca799c7a994454e49f4bfb1bf48a1b65e00166c8 GIT binary patch literal 2252 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 SQ5_Zc0eYqf(3LHc9smFxiZ|#0 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-night-xxhdpi/ic_snow.webp b/app/src/main/res/drawable-night-xxhdpi/ic_snow.webp new file mode 100644 index 0000000000000000000000000000000000000000..83aa721f2df10e06fbc6232f66a93780d885b7ac GIT binary patch literal 2270 zcmV<42qE`UNk&H22mkHN2b@2U%KZClHt`@eVJ!!@ z7!(GDgHR9xf*=F}0TDnDK%i}bH>~2i?GAqM+jbt4wwRfxwked_{;G@JMH0*ml3-@=`TGI6w$miVw%={N?aN}ZIBh#OGyTus z4@uA#GlQ@HAD_P;P{lY&XJ*j$t8FL=k{}7%_7;mpElFl(W)_RZ?AQN~nZe9pX3%zL zW=ctbwsh1K0%*nRu^ zzRiS@>;~^cDfUe*Wa)y`^u{B$3{8cOSf)K`Vdt_`~hFG+OxZ zd^U;nCtpAPlqTf-$JfaCm!Id;VEOYqWa^v8cWA3EKbS>kzrMF@DeB8}WX1RMR=V>7 zS@X#k(lVcCkwufwzgmR4GmEVIYLT?Wmlw#&&%Rn={v|S78Vt20<-0lh>DgX^hF~h5(0R< zY|=esYJY@_4vJb+{X7>PlM%q|UDA|qv*t{8hlA09cn=#HPxOV^rhZXD0Ptwql!wS< zp*zgQ`n%c4Xm6B_42TL+zxiUu!dtUsp*zflT9{xLaNz+#LD~<^_;kw*35yux_(h(@ z0TwgSzDYsESW>-NFpmCH=!x7Ej7kjMRQETt0gN%*HgFSTJUA*N0Qg|s{L@4`-)UHL zm{$i`MuoW`ua3o4?`XpoZzWo}3zJ5*#=>e|3xc6A07T9wRByi;Vc)uYz5TA7Lb%yE zC@Ol!hX-$Be4{_c1~6v0t{XQo#zSMWYW9v1&eF<~HGfDNif|(qY@gI6VG(0I(ZMnh z02X4yf`~DekUII%2uE&3ebIF>t`cuFv7sJOms*NPeMTk%2Qoou4$l+Z5i$4x#nSM1@D&)0P=J}RWN$vJloP2<3inn zjEqcl1|d2UZ)aQLiB6t7Gb*QgG-m|Rp1cqX!0=(rcMCEyQt1hC%|qg32iua6COUa& zo>Edgp4Me|I5BqTbOu=_z+&#|xS*EwUFDmGBs8Uxl|*MKmXM8Gvwa7~c<03s6Tldv zSG#)vpl?jp1CuurqLKnhQzPRtGOn!Fr)C4%tag{6OO_M_s`CjM0mu?c{b){CZc&*! z#HtuB9EoC#n+7CZ+Cm@SKB*v`@0WFXGP3|6=Q7WzqC;a7af}lJGFTQy5)#sTpVmdu z7-Prg?-`a0a4c>akz@c+i~?Ddkly4+!ch0-;s(C6nQa9gT1O>h?b$m

njpEE?CS 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-night-xxxhdpi/ic_snow.webp b/app/src/main/res/drawable-night-xxxhdpi/ic_snow.webp new file mode 100644 index 0000000000000000000000000000000000000000..56a0a40e894db64651fc8fa6a51655d60a924a4d GIT binary patch literal 2114 zcmV-I2)*}GNk&FG2mkE@Ar?pLj}~})&`Zh z^gt6t{G80)N!{H!g9B)rz+i9~gai)%mtZiY5s^U}f)HU41R)~8kw6d(0XZ1_{{TZC z5dlI9jsSzhAvlE8e;1Ab!QgGd3m);0v$p4LOG$RyK4GsdNk~Exl91%NZDD3ea^1Fi zt(D9SNtl_pB-ynVSZ=$xKOR5c-|xU?+lFR_nPIKPS_|AHscw7KwzlnhlI|p6bi408 zug~Xdvu)GceFvZ4|38(4B(yzUYjw>GYc1L`GkpJll91%4ZS~BMgd`xF*V=< zk8idO(BHN_ZCk0hGIz|(%$P4_?iqH>ThFjG%1UcGYN9eTGc)CI@`uHeEXm&aIimj% z+%|F~N%n=!7pA+n=LblZwwdAj*2*%BabI_5bxqykj1B44*|GL=tZqf?!hjC3&A0bs zUd!5tm-WSDLw6|_vZ7&HM_<*HV{!XxXIyl_azh1{V|nA04w&dD#nSAWvuRAx76iELo|yaxv4+A;}E1NqwT++eZ5f%(iAmDlUzESSF@4fONIvd}LWB3*A^_ zaQC>2JfYZ&$9Dgfl-E|MKYMG!dP~0 zTmiVvQQS5ugT-zvJw_vdoujyHP6kb7Sb7M_s@O0nV<5rB*OIa&j8++x&#qHA(q3ec z<`ht?g;^<6b%w)uO`I!Pm;nz0%y zfH=1k1#n!;u}YZXHlB=*M?+O?UR+N5!u=0v{z964g(4}vfP5upvqi>uatB>|JzMMG!X#a%c#QviAfH=47>6Zq~y0e61p!- zBsA?&Dx^Gn#21lCz?I0gd;+>(Wz>|N3aQxzd}$a!qPdcZT+F0}6VDBlnU5Hg$BVa= zpSZ`94>^Sv%s`3x!}~(31ooe!Oip5qc1g4;`P>&-te64grO3F+IS|u?`DMaq-5?*E zBZatCBFg7maP5OCV$+SMe<11KHyIb_7EqeS-#z8OH(59lUPj(YW?X#hE0(6!V#S=y z3wB!s09*k`Ng$)O-AjVK001wa0NnVXkF?K?GKGHPq_fL-Sf zh4HXe>6X8`NVEyx0wMGeT-?aRd8M93)ujYm zih}HyrXK@rY(X101-mkqBU@HFizYe=h?pMdShXT6#dzyK4<@#_z2`6P@MBDCp6t2hCF|J+k{4MD0BwB}H|;EDAq-Fk4ly=I4AW=2+;f zTzhQI%0qB!ZJ3<6j8rgqoM=xkv@)@NzGYAPpt1z-8(CKA$qiniPS&`EM;l}WO|+L$ zq!~d8i`+Cjzzg=L%K0L?jQNECd8|1qC$>@QoNh)c8JfZe2>_Q(tgCz3yMODcF`ojh zSgT~KmxTSnM&cn$(y5RXK1_5ro3X+yYnf&Ly0%0RV?GTT!wzpL=Uc1Gm?2Pa$GF<& zaLCS>^}dLKlGS_mgiG4@A8P7hpc(d-=H|6_A^ckGwN_KNqX}$XrVR zxXx;S$0+ydTqasLF#P?gGlWFTx~m(;g-;vA?Kd0=myEk#0BL+o1jWTWZ(hX{uSN8a z;Xn^TDX4_F>Xd^9qBLX-Ydv+!#^}RqS0DyTb{&n5 sb3-~c(9aF2fZRj;-H?uD^2@k73Zesl9RgzxZ}R$eKwkdt=>Jm$0L_&NrvLx| literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-night-xxxhdpi/ic_thunderstorm.webp b/app/src/main/res/drawable-night-xxxhdpi/ic_thunderstorm.webp new file mode 100644 index 0000000000000000000000000000000000000000..d704376372314ac85c4086083c8ad6870fc87555 GIT binary patch literal 1886 zcmV-k2ch^~A;2J@ph&=w#0(X9c)*t`H4u0Z=zzh1 zp@te1o%_8JE=gWVgd{=|A&Kz(|8u3P1aI56y=iRQ)_Vbxg$zxgMpy5qcRDRXr+_Zh zyBd#E!)dT_K(4isui_x+n^x8|Z7HJ~Lje*Ns^ z?%H_3w$l7~>FFIYIRyG5BC{9A@7KfzTV>z7aP_trZb2iK(uk(fRo|i@>EvcCB4yVbz7}Q0^Hn`pt|hfWF{*Q6G1PM^ilV3 z09$@e0DsBe@lzu}ZC3KqUdxO+3--LQAIyfvo6yn({3u`e~kt>v~P-=>*VUk=$CM zJfNbKvY~3?wN?y-8Ur9+)og!>vS3Ro<$z;iqBR6WvjrVl_4ss|3${|K3Ps<*T&oK$ zjR+WJ2qQxuwfq9O2F6-V=xKCdM^fYApACr2d{|aaQ!e1?&9#7GwzvTU5s3$FQhR3J zFDpSg;TND-)0*joK%8v=4T<_KmNp_Yr%SehT0+$dfU9#`rw2QdJ%DDDtUWP0-%G0k zwo0!6l-ydT8#*oMW(!#!bcX>1Vs@gEH3ulvmZ(~R91gQ}(sp_yksc7V%>L81ZHr`~ zsxsD{9K?F9ek39ik;hU^Wv`d5741m&xIc&`y_Ey2qD*>O{~cy;Lq{X)5a@=c|KoX{ zS5vFsy(O8OFfbJd5Qyo?smkf@<4iFSnd$+dsl^MGoAa555QyOjXp8Cbo7||=+gZBM zG1Z1fWNh|6Kf8~zG+|&U1bSk6@j~VJ-7EtzG88}{#>e;bwEJ{f2n|^t_1k~OOL{

R_+pXO`#aFPa$ zhJQB57^Q?jPmE8`tDNs1j}sx#AU)`|VMkH}2*mi}@?PH5rx%GHOM~u6qz&Da9uOK^ zT>qeQzx(!%G$Ld3H+$=#4lavG z6idb~v=brF6Vr<;2WmY(UL8yJCiD|c2x3#?tMApi9$lGdihxK&`oK^OFP1bSk0@$%9qweEZO z9#2w2AQovt5F433KHF0p@WaLDa}nu5OQa7B#o+wEnUgPzSYMJV}Sges{O^+hbF*y_tzN~wJr>LknR%eb8=_+N;vL`8ie0c`b!^b)l% YMHwioFQo+q|BC@s)ECpGtbV`)0L+rCb^rhX literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-night/bg_broken_clouds.webp b/app/src/main/res/drawable-night/bg_broken_clouds.webp new file mode 100644 index 0000000000000000000000000000000000000000..6b509550ea13310d7e0a966fe6c1abbf2804413f GIT binary patch literal 13418 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 CmDZ{N literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-night/bg_clear_sky.webp b/app/src/main/res/drawable-night/bg_clear_sky.webp new file mode 100644 index 0000000000000000000000000000000000000000..e3e5223d0b938714ac5bc14dad112bff14ca40b5 GIT binary patch literal 31404 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-night/bg_mist.webp b/app/src/main/res/drawable-night/bg_mist.webp new file mode 100644 index 0000000000000000000000000000000000000000..e9ea3757745b3d0874e9066a0c890807b9c3e4c0 GIT binary patch literal 17828 zcmV*5Ky<%SNk>MF0R-MM6+kP&iDFMF0RVk3+Q(_vavzWLIf&&KSVIMc!@|4-pO` zNm8V|duBB7{w@A=JBTDnk@D`D(ZKt+_|pxywr$nQzWP7z?k*7#5wt-M^gu*$^g!tD zdU<#6^N6NxsGG{(0NSjYg@EMTO`5Xj+!Llz3uRrK@udvm_ZUGL0cq2 zTO>geBta73d(8AFxota}1hcjnGiZw>NP;ngwn&1u-L@qOa6e|I+ad{)plxi+Bp5T8 zwY^BP^aD=xgpL`s1>V|bcm!kwM0j{)45J@|@aRV`R?%H7OTZ_-@x54<+r_f%egA)f zm_1biLgkJzlSu#j@-l&*$;o;c$lf{(fgyo6YfJ zS>kH5SzWH{0Y(?N+YSgngq^T^uhz&&$kh`znr}3x%Xpot=J8$0eD-r#l0Knh{ zL8sGYWMpQxw=})Td3OGv%z)>Ky%rI{b3r5-OXDl4z3tSYQ7$giopTYvM~xigoa z=H{G!+1!$ynVFHH(+S{D4XO|7h{zk0c$@pWrk zc6(Na?hB2K_O_N2O{brpz5Ou1s;C56#PqU)hd0lj&uMIa-I^ULd@-SGZ#~h}c=5uc zn{`#kOOZt`DayZd_5Ab3rW390x-T0tTALf6UpRB)Zb4ZIvizk*)emo+dG`E8)9Y;A z7YLaxCokq+x_-C1*o>@eX>noQ?Q>5WUcAZ{z8J`Q-PrKt?5(=Od&qjHm*wBNdMWpG zbGza%yD|6iwffr1g%V@fsS5%55Vey@(Co*)3E+I4f<(b<1NJ5q#zkBIrTd1JW z%4}`Ae76Wm&*HjAr&`(t#Z^XY)6?6PNU9dso;&?IOGzcPzI=A08cEyoyi1KOf znscSLtQ1M@(⋙pS;XaA~l`ATX-Bv^YrqXtIsnPM(xk9O|guho+f1yP|^!jOD z<-JlQ@zcul|7ubO2`A4L6s4CU252s>x^_B4@srVby)xB|SYc^ed0uXtq9^0j?ILq2 zVv6SUg3GN+9U&tp?*U?xl~QR0w zVyWix`lqil6f7^!)Z9a?)m(As=_{Q=rSY$tV#H!gD;_>+RieB+Q&WtXZN;4iozkS~ zaZOPvVz}v5*Iy_~PF$)fG9$)&zxqtGVkA4auDArTU-P~Er)`Q5;bnbM31Y+M;=8AH z%8#~36=uYa&E?l#DLk^C#Od2039CY{njmwUGevGk(57qXQN%~vYZ5nE5MxZbE!FkC3O zhuHh^f+rbDg_k$WN)d}U7u{%4BxF9ROhc?bt-3*h&~)o~DPs4fsaLWU2D+ST#Q4)| zFX|Koy4Pna5c@B?)TUDkWS+W{isZn1cP?fr0)*BJ1xPL|eA23u|Adz}%8-0mcJp+o z+}EB{hh)W)nrGRvlEccyb7%cJ`TL0z#*G;{e8|9lANus_VcXqCrRr+iqgS5~{Ra*j zJY?wb5o0EN_tP)4<}O;%_^1lWjg@C!39^v=vbi&-eE;>>_rnJD=?01H)_dU4k?;S{ zJt5&y@djA|71f`Tc|zaJo$=E*V@D1h(7PKHp<3(Vy?NWN15rnK*#JGL$(3(}H?w~n zH+*paUR|NcHSS&;{dR>#ACm_Vs(Rci%dDL9)7T;Xd)h#Y>Fn<1Sf*N!MX&+HH?scV!obPj9g z{WMYqt*+Wq%E}4?%To=^gN?O73bRo8A5P)GiTx;8)(hF zcOE{H!sbx%)f0l;ptD=}>)5`~>T7(1V-k%l4w>su3i86rKPL^hg;c2W+#VKhU~mXM zd?6<+pZ)bSjrabeObwM( z<+8Zh!@59A?LCSXC9>+5@gi;%rTIlkh`alZz*pp~vXb9!% zn3>Lg_K0qf&Nm!5YGP>ULKY))T=cF#r1x#HDGUvrZ)agTyIJpTA8&_b(hx@z4$JiWYqe0;pUJU!gCuFh)CB0=?reTnQ0 zT|dFLmi#aXT3F6@z_2l2eLZo~|NKAp?+Xh*7!es29UXNzGU8x(*#3PXdxHY~eK&Zy zsVobGZhF#JHGM(myF&4IANI}k`ETup$6u&dP)x{MpfStKP?Ca z1ZF-xjx4S|YUc)5F+lCEBPJ$>av0Cz?`)t5Z9a^ivd9sTsJl>xEU_Va?`Ag;(|_ErOB?~2xfRGl^RWlEdXNWQw#V@-3>Cg$IP*q#gT!|kFk$A~ zP(Wxy6|&rXe7K*MIH=hc$Fs1Kx+Z2bcT{&seDAO4ym11gJ})S>UQ6A5xg)zn;@{6)Apl}u)IC5J-Vn3fgEYu(h%+%TbpJ*xllgN*H%R)RAKy9x za!=-^B8$%_AKtDd3_|ZX7KZL!YiBTj4(kdDw;jLG9uR!uW-79VeDcA~YQmsL91BBb zmok{kyrEqn;lpOE)&YWBucRU?$tUk~Ck(pBu`qLW18Z40l!Ih{n6z96NN&HJhODP4 zZYyDM{V@iH%=s6Yim-S%B%15~ex42xt;@NGtZRrXM-=qZGcaVXYh)<8r6VEHHiM_G z0))S+KvvcivsFVBw^`4?5W3sMOoU~lAjw>hQS$)lEd|K>rtJ055Ck>b^(+kCIw3HU zH)9~lT>tNv1JYX`B5Q1n+NLE4YIo~dSn8uTHnMUYB)Q9w>5hQ()_P>66N9|er4*x+^=U~sQQ$^KGywUL(;$>-vZ(@FQr*8 z#K&xRB?o$i=@}TRZDJq4_Jrix44<(Uke^dkYQ+$W->D@BdW9Pp7^-h&9lsA!k<)wp zTt`6u%er)A-IIbnIbxvqAtM7zJD15e<_@=k#15Ri%n6WxqCO2-d;Ot}95HZX49~t$ z(Nm_eXjC^y?2zee1VDcF*33fYvwLp}*XBCJh4f|b5f&M)ELZyW{>_J#I4w7p7H4y2Gd_RI zo7fksypX{Zbc;tqLO=XVCz6b3Wr#*2ebhui&DJ9f4Aq|2v4k}fA)$SyH~?`9jRlBK z5BsQyfUdjs3@q(t3q#QT)`yUuKiC72w$>wBjr8V-fSwU1_JzvMx3hzVLm-(wzFQ5% z`Z$$Z&>;^pG~41C7%I%kU=)% zEfDLgd_=Rx{VF1$cch7d-8S-LgjyifuYpP((gN4NMgU4Iw0D|MTmwIH<19jU;_g~_ZlUh zFsnZ#vDXwJ-khpZD&h~jlK{QqSQxr1@m7qoA)(vXj^b&qGb1|I@70h1{g1M+v`d1N zbDYu_637i*3PhW6wiwZJVt|GOmq?z0q4F0}ZozO!V!ywEXmz<&h@N9Ns|bL8M_E|f z?RM#A|3gm_dQJo4ZO$v9C}X%M3F?C;28N0*WlA;OA44F4Hs3gkr~OhHqUmEnS_0sv zqgISJrX(LtjExN08Q|}?*~iO6t5IoO-8?+KeKz~=-X9rzBxAvj1i%AU%9xxG8@X@iRv#?~F={-0cZJ6$B&G1Qhwk5Om1Yjp`$GZ; z|EUvC%e7R>LeU#J0=yHgk4c{pdvNCl4J1_U?Y}1?Hqk(LsQhxMBwIRGML^%_jzF}b z7b*~K8}_*q0E4ZJF)=nG$j<{3&UyHUM8zHBDXygUg%n%&OK*tZ=DXEEyv+|0eIE^Q zCcrb^ittG>`?qg!fuiKxeRqb%9OY>Z-Mii*!Iq7N1dd*$6HoS;dlZIZyg7WT-PXdS zj|mId-~z?$x-sxz98YPe;z_3DS~sl+0fXm+0@3Q8S0WlWhG_9Y&seKqiaWStlRFeW z=i$3I>L{I+)V-8k%SS={UEkRO@wU~QsSFwX)%Y|!tbqRT?#&)*Xc=9+w}r*i7)rg; zDzO}BV|SSvuxv*UZS_<`3(L7}+!M=FSINy5N#!^d;#ZAZ4n%yTl-dy5iVu3lSg@nv zzV2#hfjL+2U9mi6p`r$zlv*_$A2(zU5OEHo`B)cxu0gz|N)FrXs)81p(|GMkqAYax zwS>}5hxmJZZ!e>->*Q#E!C7~I_QE8Zi%-zCd0uE&?>5TCh-)7 z&Spp@hcOU)_i-yklyN1U@=(fFeCxw_3uB1&hgQ?)kb$Bqo21fQTWqSqe*zJ|s4S&D zKGGeV%0JPf@JV~uLo2EYN;Favx|Jb~bmJlR9`DwPDEoFAqWlc>_fJq#Q{>KH3MHW_Pk> zFhu!lp;gvw4%gEWDr}NKGkZYXHb3e_)buc25+MCv4KBDb#v&x|-=Kk3n)3=yqNB8P z5@>u^Z2eaN@d}TNkTf*KY{I7AXRrXr_If}o?!F_Ir=ilSM#-~a0L1=-Afm=vvqV5C zK`LC(|A_dKgWRE2ci9rjQxHnMDtRXN#MWme5O4drdq^@y`(X2o5uJXQ7Fv0g=OLbg zN~=yu9J>)+aB=T|h%Xi(>3B4N!v*)Ih)loD1zLaiFbYEVuSuNQ{UPqYZ$;F4!z>|C zgeNxNBjVC~t04`#?x!GBby3ndeb)mQ_q~&Ngy+>rN+xXMaJfdC#FXU1K|0jzr=a`S zGNjDg;Sl$Sg@Slmua`;+bif@K+@%*$j0RGp^M3k4g*j5@w*lC`TMI-hT&zaYGIleE z%ln9EOtD%hVos&jIJ>xN-8?t=Zt-^0y1F=PG-?$m8mJBDsVDV%wsdirXp8H^Je_#j zu9_u=F~}7c7s-o+kM)2ek2fCry4EfUDmeC(#HmtB?dW1-amIP9`sDw-%D^vSHWZBoiXtlpM8Zvz9369GFNs z={H|Xl6CL8;u^CIh&Jv6#t;`IC0L!w8&+ z9Gw(-I~HQ@`tw@xG*=)=YV=j%3Mb7N=?zJC@!c0|K;ktf9P)Q12zrDY=%(aGs}z|# z6xWcsf_ToEr3nhw;Mzl4f}e^Y&U0^^0g0PW2=P&o12;tTRD&uTrO5Q2xF)OsqHQTh z5;azfD~Pb`SnWO|vZThSEu=u7WV)$7AvM-c zhL{J=0-|jzlrYF2Q!GiQJ&@QO$1V+$JL5sv#G#r!7*K0)6R%@0rdT%Vdd4i1FAfc|odSr=@?$&Z- zcqdT}Ixj7Bb9!UyJq3vNLNSuG!8q2(ng|Mqgu3rbL6$jXzb8io7igfG{5DCkb_&Ei z_z%&v-A$J^30@d>8W6cjK7@E2Fd$29I^?Y)0lFNb8gxNYtek*rDHt-JPWkF(7iIJRp&t z2YF=Cqy01lKy4V+q~}Tq-CSEteWn1hUMwt?I;N!Es!q`cC7Q@d+NLJLBiw{6e5|jE z0G00%nn4dUq=UmWhM9Z`7&#qx;cFn36xCO8>c#e)Pu?H(h=lvciy3~vTw>OBRBw5iT4 zjgX0t-?KsUk;*GDLeC?j6a7>Ka6x)x9gQIbaGPQ&2Hm?X8J5~&8aP)hPs@>%Hpa!o z#3Ui|!#yB@+w{m<8g}D@Zu@BF!NW|6p!*Zz<%ZdbDepMv0rip&opvNJaxqnS34c1P?)Z-_SWM6y0KoYh> z0{8G%g^zZ}2Dc|s45~gU4eUo_>N8U$jkSnomRBC^Jb0UBIBF*H+l zUZ6jx?=bb4Aqrhi83QpMaK`3!n72xNq!%vD0RzQ6sBfXa&@q^LEf7W96*B`#^oO`r zfl0_ZC+~8>1h*wp461%ke~v>i^;si|SNVv2nxZ|ic}4J63Pt6T=^w$#) zH$)Ia#)UKnV%Vp`#cfYS);c9ngNfT~pqSFUSJbx#;#G|WVr;vO7--UVh}-iZZ?#ak z2PU}fD8-=^cJf`jrB4|u!A;u6~+F)eucWAI|N}?Ndt&Q&9W3m-Q@CdO` z!!}%=(N^!U7RwGjQ<)r3jP~A{W14Yo3 z%0v=Xm^1;%`iH48Y)eG6dn=pj24fl`g2#x7MnTNl0~C<7q4PWr8L6kTnd$~&8XW{YA~q6$%iBN$#-PsH9K+KOx{*n9eKCzC z?|d2);WuJZ`6DV!+R-^a5k^G8)$KIb6Vn9p?v$_*XH1%4IzWj#HJ#vf(12*Tkw{$HcuGLX7_-f_Bbu#; zQg}qkwKUfS(+{Kxx6;_i9$fAwYCtAKbbzP&6PtEL8+k;{X)P4j9n*KDy)G)&g&_z52kUXUAxan{BiALLFL)>)(_Jt z!rJQ0jKmLD7z--Rp|^pUMi6$o3Ng~nxWZWwx=L?@F%2c`d>Je8!F7lU6=YG{P)q~K z%D9=vO1v8*G zn~rNSNx4<*#1j*Dhz+IRrL{S@=9Ba&m7VzD3TH#8>I9`Nz+^L%pw@cCPB-B?z=+Co zDeVoe9|?L6RYEitDHSjt{p+7w1qe2&hXzQ)w^ zZ(?$bSjr(>u5pa0%T`c4F6bS{i0+@EGN(Bl9-GllM7$_xEc*4h-1jpgbR(0- zz*1X0aL95Jga*V|4gR=PTT>WO-U%vOF%(n(*(9`|VJ*h}xS&@QBdU2pWvjiGi+ zt@W(M6r;lBx`$^&mAO>5b}}ZLvFiwEE?_Mv$p;tQ9M6XCU#2pr-&J_vu*C#47Bd%p zAU2P1o(Z8Vp)>{-e!w(v7Cv1rVy?#h*wovT*iijzDtr4LQ_mmqwLfAnrf64O&?~~k zglZe9Z1qG;UB=pBYrD-}P{Jl`njJ|@s49ob9Dl_GhcCd^TFYRPcVdHHhfOT#{!=Ow z{_cfo;7n|P_z#| z=#$8P&=Vb%g-+>?$##kZmew>zleC?~2Y2e(&)IA$19Jvrf@7Cqd4X8%!Sw{F5Aw|C zW(%Dy8I5bu9376Q%qHHC!v}p5na{&!I~UOWHvB#}0-(R1^%T6MGhzA% zOmOs49Cw)wirvH!0Qd2Xr|botfqBDm_5H&MLlwI*1i6yn5zTnga|AkD{Z$uCUEZzf zJY6cgK`}lgz)dl12R+H8Gu_m_nBd5_o!5#Ou3?8W2`ax>wsSU{&cNKExNK)Tby_3K zK~bJ0K#hMA)4APBX?9~(nBX^doz}o~3;`Mvpvx|v<_(|@eOMxNQa#&230`DC=iPc{ zllGFeq$q}ZwPS2>!S6fe z6$6TOBL;dO(zBSW?bHTl^uRW7X=j{fK&E}J#6Y(_i45jeHodJH#^JL0p);N_AY=$s z69b`tObT8!+p$@);2y<4Y9e-2K9mnMr9A&4HQNV3+qRKBtNiA!CF$Q4p%# zx9(3cu@Q7ppgG5(*kIqOy3Z(QMaUTDK^BB+H}BmsY$R7lb54_0*x<1FpK*^FA!D$X zFbJW>&HrEm19?Jq!m-gM+;DoaA~8#$4D(!+1}-jD;~5s`

y`g;&QIB2%xKU_*< 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 H9~1!q#^NV3 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-night/bg_rain.webp b/app/src/main/res/drawable-night/bg_rain.webp new file mode 100644 index 0000000000000000000000000000000000000000..695374e826f544db7142daf2ea6df317328f98ae GIT binary patch literal 26462 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 z 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 NyTku}{`+@{_$lbLo40=Z&h=}Nf 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-night/bg_shower_rain.webp b/app/src/main/res/drawable-night/bg_shower_rain.webp new file mode 100644 index 0000000000000000000000000000000000000000..f1266122a254cae799d41e0c1f5595c77337ba75 GIT binary patch literal 19594 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 z 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%0Df!EJY8^kW)~cbc?gKJExdqC&lN8)_N*VIvj)qxS zp(TK~?>L|h_pg+E^~*HufGJD(ep1jaZk171K`Y)wsC~^W=K&%VPrji?7wB^lw^!*% z7YI|=D#*+g)haVpeD)4x5!9$lSr1HsBsMy4OSR4bV|(95;Cu%xe8?Vc^b;YosaVp0 zI2Sn8IF|1T(q*AL_R#Mn{)ZITsE(~YYW0u`gs? z%WzSaM(8%s2o0M5dl`Ay0%nh+3l4nywlmAddK!9j+cX_PtGWi{3e60AXX2$S$t zZhTAwj?a>)RCKLJ&0nWnsW7Bk4prhw@0|Kh4q6m#`M56jj{L4_$i5ukl~yz)5>TQN zV5HgXnbu^JETdq;WXDnG7T>2d=Wc8sP-}~=gD;7>-tc)QG{&YK7oA8_GmX_y<)kHR z?EJOGEzY)6D>@wBzNz+w8h`Uy`5)4|e&d1~xry_nbz7OS}XgVNVoL;I|R+f?dU09z+=L~oJTF$V2 oBXPR5{n^dh`a{Q5isfIQ_+@wJ3#?g`@=}OFh@d>(yqhBQKOckcUH||9 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-night/bg_snow.webp b/app/src/main/res/drawable-night/bg_snow.webp new file mode 100644 index 0000000000000000000000000000000000000000..8067580f480d457e026078d2ac0f6b4e915dde04 GIT binary patch literal 19082 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 RfA#-g{r^}0|JDEM7yu2CY1RM$ literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable-xhdpi/ic_broken_clouds.webp b/app/src/main/res/drawable-xhdpi/ic_broken_clouds.webp new file mode 100644 index 0000000000000000000000000000000000000000..bf588c7c912ff9c0a058b378dd6010f30b8c9d71 GIT binary patch literal 1286 zcmV+h1^N0?Nk&Hg1ONb6MM6+kP&iES1ONapF8~Y>hXps1ZCBCEeF|maLi~h>1*`X+ zG~7m#>?*UT(BM(zp8;`UVg3IRca9@Ta+In@3lp#e+wqD2-rY3ZY}<}K&#(7=f7`bI z&gCCFnIUCH$OsuB1E{iH+qP|e4gdhj>G-ttID3?j$~R@HEErHL85*_70&0X(i8iBU zpaC^P510WD1FNKf5TMGG4`r2^vJn3o`J>vJx6Ra)l2!i2$^l=e;(A@8I8-D?rdOtM z7C)mf9qNQ*MPPq(dm7kav(Dpn1DN{%m6>}6Al);C42znZE3y~1%Zl?z4?%`_Ap$t)Z$Ju28NNYQWMTLS3ZwuwKtJIX}7f} zccU1;<2rx_4DaIihSnk5ew3?wm*iac*5~Hf%w96mC(6&Q?k5Opw@*nA$#c)ADsf}q z(3KTcu4T~1D>M;of+t0%jDGT$tqUvEFYLjcR0X%oDkxj9~3G3gBepusxh($Vg%RS4r}8p{#3*2Tl3m%Cf=Z{R;;ptFky{$MpE{>*Cs-*bxr098SHdjJ3c literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/ic_clear_sky.webp b/app/src/main/res/drawable-xhdpi/ic_clear_sky.webp new file mode 100644 index 0000000000000000000000000000000000000000..3424e9aec4df4053303c6be13c250239c3f65bd9 GIT binary patch literal 2156 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 GSatw|`(fw+ literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/ic_mist.webp b/app/src/main/res/drawable-xhdpi/ic_mist.webp new file mode 100644 index 0000000000000000000000000000000000000000..645fd0e28690272ac77194393bf3ac11e2542190 GIT binary patch literal 1806 zcmV+p2l4n)Nk&En2LJ$9MM6+kP&iEb1^@srJirSO7YDhv-MG#B0O)z;>Qhik$TkgR zH;)8<8<5*bawJ7obCm=qx4#1bu91aW#5`}4-1S->iW@u&tBmx#PWoDALlEX6pk;#Z~uqJM&U@fsK z$(q4h#un&Wf|?1|OsF!Dc3*i|p}s2^=tRh zx)L?tKa=zE^)70-;l`a={QueB&%a%HetahP{ydmCmoDSB{PLW>eI#$R;({zJDtuZc zB58&O4DrA>ij8wC_C_Ww`!>g{izgFPIG>;fr6klmOB4`<00Q+z2#A6YTijA2S~3cw zrAvtr`|EQZ%d>p>pEKVRFX~ooo-aP9Sj`lP}{cRPVF|TwLy88l*elSx)b0*;Xqsw@D?~C2QgLZZUQS(4-@xAfp##_->}kp`s3;e;N#zRb zM`))rUAn(JtZ6K;^v6_Ikzd<8xVI08lcz^IiF*9xsneHkJo{jA92vb#lq2L{zkdC$bjE1nJh`w=5R?0olMoTe)+?RvJcu#rl=`ixo3xcN*k-`2VRTMV+&zc7tE6%?M)gL6 zPI;fk+|ZB0V}_l;Sj#L3q^0@2=$xW@L-kpO3IMP8ts|GZ#NnC^NaSsm8Z8DXPK~)0 zAe?({npPoB`_humCIidM>jqFcO?CHdt||xNECOsr4d@leEKMd`L?GPq2z>}#8eju@(_~!=qqER zN)@J~)5|*?dIFYc2(7qyr$y3Y*xRNhgF{^W`!82#C)CHT8{^rXyFsk&b%(h5;U_6x zF6htQKR!;1jg4`Tkx$+W(_JA{^XAvK>9qTI9pde47bpY|bgcK3!z|0heqmR#aeSm_&>xMQ$q3Q?iW zI})rY_r^W0am38t6WI>%cb9uW=XWoLA>?;YAp8c{&`<<&@2b5Y^c)b9be8EbPD zm4!t)^}U08ko~%);03&2zYqWH^_#b$j~@De^lqUkv!|nfK&{<}9H4VL`N$Dovd@p- wzQ20;%TNExs_p7iLk`o^EtN>Z;|T;jo+M0l^@JR)rAkoW=yZ`_I literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/ic_rain.webp b/app/src/main/res/drawable-xhdpi/ic_rain.webp new file mode 100644 index 0000000000000000000000000000000000000000..202d29ed8a96b0a053e05444a21c45e4e79b78fb GIT binary patch literal 1968 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/ic_shower_rain.webp b/app/src/main/res/drawable-xhdpi/ic_shower_rain.webp new file mode 100644 index 0000000000000000000000000000000000000000..54d44388170671459bb4f6d7773fd8c2658bbe55 GIT binary patch literal 1718 zcmV;n21)r+Nk&Gl1^@t8MM6+kP&iDX1^@srFTe{B_XR7mZCBA+=iETDfB=wye>Ic8 z^4xoDIBq0Kk+Qmb77k1}BhH`m|3g29E=iFjNs^?N)pNa;$MWZ}jP9*+xY@QHd+y)1 z?aHYB3I5JlfnA13og+JVkF@G+JD>f10RRlZ04&G#%M)=Vl?sCSyLe{*s;o*<#Z*q< z0uEpV4$L8m1P%~@25%|_IDiW{K?!((qdciR8*r9)4W7$0CD(cNSPG?j_LIHu{)^@J z(fTia*|~&=Qm@8wH;`+ap``E0H(3d#rU&M@O z^Dw`b-m~M>uvo!`}yz9 z$6)`s-3&3NJpS|kbNhDu=AB#xbnRtAW*AdipVGAvFRX0@@SRyOD_~EVf{LwAAu~jV z!WrKAW@jT=BTmSWQ1w>R=7Q7NGeZ`%3Xu^Zo=~jGmPuE3i}w?m2>A^%nurlX#uEyx z90`2E3>aO>h{u)@)hy4H(t_{?Q?Bd;E_lJA2hJ zZ!d|JY2mN1;qnki-laJIbv?cBo%-e9V%-0Sc)R>R=HKmV+~Vf#lLz6y&$1+YoyxUq`m^cVQaB6;SYxlz!UR-hd{@u>j z+QRHqIKt87;@alUyAP-F@L_j*d3O5n;MgCExBL8huzJ^@o;2g&gq3s*1M;BTW_XA?wiHeE?+ng++}B<#~*^=_|nUFY{!$8>8IY| zTV>AT>(@BQFYg}p_yfrtF{#yIgbjy*-mcqK#btdS zhU9u~aXlUg&n+_{Bh_XDE)nqHI5_6*cjn(5^3n0T`^u{yg^p+DnQ&+gYTQood4P!Z z-*Q$xrV|(&a>8h&;%AxOK1g+Wx9>*rbtmLIt6ZZ#KUZ=& zzqp|Ab2fz{G9@QDgeY(44kL^`8gfDZFxTU{b+g;!?Q``F_12v;iFka0Ol&7D97qHx zD{rQe%ic%PsrL=vE~ywD^MXGx{`rR-g+M5>VMarSnRYk8_UqYT^s?Up`ffwtuL8kPLc2`5!z{5WpztdS9ybL`l zFc2*~jj_Eso&+zTa(xR5LIgp5nc$p0EWEj4De6hYT6=tYH_h8M{b6wr zB_k+Qr~rs;CN*Lplt)xz;z%|o$&sHRbS621LTkhk1DPt(DvyPb)M=$c9snoC%!Ck8 z!BdP0h)RM{j|*dgTa92BLDY4X#%M@@Ba{dhWe1u>q8(_ zsx5IKH(?xF9|VRPP-H}fJpw{+lA`rt(U4NKJ`7eVYs4Zf1+5P;u1iMhL+nr+a3O1y z1ePr4BL=EurG$^Fa8f>Nv>a1?D5c0WXK7WWnEjR96sv?n4UAGDKT5ipkWuVOODE_C M8hU-C+gM%$0FEzVtpET3 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/ic_snow.webp b/app/src/main/res/drawable-xhdpi/ic_snow.webp new file mode 100644 index 0000000000000000000000000000000000000000..05bf8b215d7739660804d9c6cfb0f589e444fe60 GIT binary patch literal 1906 zcmV-&2aWhrNk&F$2LJ$9MM6+kP&iCp2LJ#sHUJC|9|y5*BuA1|-E(*UpU&s@QG0Lp zrqh7fHj*Pr)zxc&Pv@il(7d-ZvjwqjBS{i9GrRYNbNT0TY3y@VP_=DSro8iyEi=F2 zu8Fjj>~IhqgjYJJp_Q}=Nkn(jy1Tms0FZ#)-TYXpVO1t|I4WD!0TGq0ngJR(z)^L8 z$wjL=lsXujYe#?$rhtubPy@xuHbDv0Cff%8jly^-T-C{@rN3cwL>pKj0_wzwE)`i@ z`_WXZ)^;>ORT(RTr3}d`Qu$LNaogPuQjG2}h{n09uim&^yLvtkl2WNwQq5FllqFM5 z#>m zCb#+=T`s4MwxPGsTNpM&s`PHej8Zb~N)xaV! zfC3C~*uIK_GST1HR#mS!YDRjAZK?0bB&v9_gRWw_M7hq|u&F5?^``!pv2WJSJ@H>} zu3zdnMDM^B*t}f!(|Gy5e)sp~{yA~L{{G&;|Cq;*4=c%TXPsw{?~ncOpLzTLTl?U6 z`uY3!wr2kAbMk89dp>>d?{Bu}*Xdt+-am8j{`qPiLx?JK9qax3d*5A`$*-R!d(6$x zvUL2+_V3@6CitYu``e$})BbnyaQAB%C=38-ym3-nS!|qbvu-ZA>>`au6+W9>xI>J|aN zxK@^mCdWq`+6KCJ=;~-5shKEQSX^Jj%j!(!P*YoLM}K#39{|0uzoWHzcx-ZR8Q+HW z)sm`)&Yklp(%C#ZJ-gxB#KC-7ZCl6Ac{E^uOJh~>+!l_0X?lyJ_45o0qb;`&fcEN{^-XLys%}B;_d0FaP%k%R*qtDIu(@Jo z4Fg++276cS?8X*`@npjw`iX3%M6LyiN_CLxw-Zp1rhY0C0|4WpX6L|Q!}L0OGcz`T-a70Sjp+K_NO=85j56Js+tpFE;X-9% z2z?zW2jBtDahw>f|M3%<-fD(vcBCbvL8lO1KX(wo_(X-)V(SA96Vr$Uv8cS)?n|_~#HVsY7SgoM ztdZWmdhXHcop?L!?9Be)d$HU|NW zmpxM$(~$f$H>)7utg&Y0=I6ogU8=?rPeNfh_394SWNL%e=0r2>bdx=QkKLjZ=*QzS zZ(X|{883RK&&bN_!y%0oWr)YTNh}Z@mGJCoB-Av{L zsFUSJTRx5+%z3x)2R2D~z$d`dV|U1dzMuUl)>zVjH3QH1&D58V|6*|jAdJWN-q8Sm z2)=ljYOp!804%`48&SXh6~Ul{5g{1}JqZA8Lh#+^AHSVb&;udF!CNnW{+D`;#-e}- zVc@Ct!a53=eqd)#TdiV%DbdFI5YzWpEl_@RRU9Hud-WS(GOq;(Zmj&xzCx2yj9-$;~Whj%#2 z;*fZL-h_R!F+1KgxIbZ;q{_6c9)#S}(lGJ(PXUQ`{0M|}awy;5CjcQtFV9ZY@1{qm z*_Nx9D6Hwg=E&V$8fdMZod5PuBAZG-dV&fV9KP?)76e&YC>v@X?AMFr8R~>Yvo=Mk zP49*SgN>t;i>^%}nZjl<0EtZp{6G(s{|igS<3nu*$y22)Qldzdq!?^n9qn~xg^R8& zf?q^9KY~gL1rZ?FcP~i03d?HVfBi|+t!sB<;_s<4-)X3?DqUFH<7qshC!a+Y1o`^~ zp|Z8My!y@8U;T9947dnxML+oTqYpn>THKo%eGUX}`VqtY1ATy30G3?&&)-)rpFMRF z!V5R=-2UZ%J^?wD^MkxR2^fXUrZA4~+7o25C=vW%g1dwt!ej5TrxP3^FZcj-8@|FY zGVSQ0r#zZb!cc=&h{{6m8SeLNxDyYAKvem*$Y04OcTfdBvi literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/ic_thunderstorm.webp b/app/src/main/res/drawable-xhdpi/ic_thunderstorm.webp new file mode 100644 index 0000000000000000000000000000000000000000..369cf5c5f353fbf6f82007c3853cf8b079fef1ac GIT binary patch literal 1944 zcmV;J2WR+FNk&GH2LJ$9MM6+kP&iD32LJ#sH9!my9|tM2ZP&`$`<(lT{*~YY35*%# zobTB-AV-p&0KG3~KMUETOW@^r7QRzj?IG zjrr8%_qeErIdmUeQ1NSv1g*yw))E34((lozu0=1wVuNfM2}3Ud;B2t1S^^~4ZiQXc zvEni?GPep-FQH0UOF*d!(-I;ZZ!cjjL4s5(Qu5;B*)64$_unbUD#m(Qmk=Mj0FjaM zDN_9($Ue!OUd#=VgK9xCSB239FY&!fn-#q*Q~^~f*ky15!eTopqLM4*GbC5z(LP8pm zU<4xI30f*VGEfZ8AFL844o)|&Y#GxL2n$jY+`wTbj6ywxRs7kpHq&8(jA8bV8N1w( z?$^cHZ}cm76Z7xz-~SSQ{J1(l%P}Vo%=X{U{~sEoU*DAWU;MWZzx+(T{|{MM1!nZT zzx{sv{*C9m=bu)B<3B9SdOv-BIZpj^oW8k#9lE-I*%>B%%`-7j)V6I=8{sZVYBadk z-QC;BZfPNfvO#wjsMFNrfl?t!%$*1Q4CP!$H=_Mj54?;>H z)F~BeK7*ch7;?laqe9Yy4UU2K0eJ$>qgiGzEv86@&W8kK}gyL0-`zKdxDqIe^YVte`QvKgh* zMtm1=e}8PaTD7G6w;yK??%9kI+gK5Rp_*__^{Y?A`)c|5#3zKA&)2BMyl=Oz@4L|c z8=BTM)I^$4q1TCe7!kd$F`E-17X>Ac>R>AQc}xMM*q})v<}krNFYj#wR<71E*_^>rG^N-bA^2qnbJtI#%d0QF_*aQaBd?}M(W|4i3TNFJHie+AcCFlS}CoT?=JK%voj7 zPEqD@#TD@+3LED-%WQs6(NH+fYzLh&ZGsGY)M_|%8cV2_gG`^9p=4-LWfB3p^ZMq( z;>krNRva@Yjg%FFPfrGm!vkIRvOY{vbBju95TM^!v|)+gY7f;m;39R4KJXx)`@3h! z%}ZM{&l;;Oj6x&@5fnCtyzXEO#k=$PIT{I%+}MRSt*I#YL{XSZP!NTYa$6|cgugXy zmrmU!!>uDb(L_zq>8Xq~)Ku0clJO-rdu4m-4!6isn7M10ObRh%Gy_u;cYXr#Pz>fpLLZih1v z^t)}arpjTjjHmEvJ8qsL`^JEGj%`>vClIWHA-~rbn(OdH3Bp_VA3gtzP7e6<-1YVA z)^3VN0^VT2?es5+6NImvxOJQSyYt@pV^_9cK%*YV+@RG~v8IVAeC{XkULqYlap2PK z`m&NaL93&-2?5T>_PzU$f?@K(pFeILzwvTLk=s}9UxPazSC5>zgN3v7_N`}cri~h3 z`fuHX-8=W~y>#`^(X-h5Hfw)<8T-9|p8=CzKfVDE96EC9?D^aGu#U2qEl_prJ@C(! z_o;)|uAjt}$N^lftV1V*kVVU}e7&hdH!+KmYk0L%eZ ea}6U;SSS-P>A6Rs)^KT5?jvjtmr46yN&x_Lw6mrF literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/ic_broken_clouds.webp b/app/src/main/res/drawable-xxhdpi/ic_broken_clouds.webp new file mode 100644 index 0000000000000000000000000000000000000000..e22c64c8a3a517f0d16d67d638dff4b108cda799 GIT binary patch literal 1484 zcmV;-1vC0mNk&G*1pok7MM6+kP&iDu1pojqM*tEK&*V0eWLKFzg(m-~@KgpGEWG#s zzcgG$lB8HQu=JSxdwHLv;>DA|Gy}P9BuNsLJ^dVv0qegzYs>EQs!6!DZL6yGg(tYX zyVYPJMUWB^(gy{22NdBJy7S%r;~oGcg5U${z?13OYTd49(+QZ)QPK&RfEb8@0f-4F z()%Ls16Tor%Vh^rAOun%1Y$rTSilFOX7?ltEWs;SgC)XfIc<4A%0roNfBrv4{atC> zcEXx~ZPobF3hO>(iT@r<$}O0MEFr6_TO>%)|~YFAk^SMKo8 zxwSdE-SlE!cIi4|_aG&=$mk6PROox7q%xeEKKNT-T(N}?c+1OWtg-iZdHCHKvlqVTlnY)sE;W&^4xJ@LPq9}n50 zH*>iCe7|;I`}^S)|6M-P=j*5av_FaeeXY0ichW%Z*0!~Yl`yz_sXPSN3~u9sySux) zOEqb6Y6DFFZcl06_dWjYNksn{xNW4UnPoa$_yR|T*R^`Tcj+)%Wyx`VyS?%B%>4?@cg>R6=@L!xj!~X!EQ4=-L9cgy;Aa_p8&-x5=aolvOL%F_F(UAq8T?tV~W5{7}?7aYbJq z^vM(&uMz#lvqRl|!?S@}Bd%Bibux_>8lkcKBLwiZXHuf^(x6qMvYs*#u=?}YZ)!D& z4XyL04dU#~_oFr{jnqJW-|V~}9Q-We&pF~|VURarmZ=!%UI_AV+iT#<3r}34nYPI6 z7^;Kv5JJU5?u?0{r2hAY7{ysUJS)3gGp+6>6;v|AZ^ zr@cBuWN??82|~6e0}!RNK)U_Nq~H%P0k~u;;TCk z?-%&d1l)fPL@Vwq4q2ED_uO6%L(?>cso9{7_De97a!R&*ZkDK>>12Zs_}V89)+SdG9S)|4)kd&$u^l!d=UtBi)spOWtosOSFqmmQii7CMH3dHilf_O3#lA^+S z?ms$Nz#Kyap;9uk5%XD*mW`-MAm*_`hlqxBAL%JH)XzIsgd?IF{8WP@xaWTW literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/ic_clear_sky.webp b/app/src/main/res/drawable-xxhdpi/ic_clear_sky.webp new file mode 100644 index 0000000000000000000000000000000000000000..0b036385526ff705c402c43d7d3b62ea44b519f0 GIT binary patch literal 2494 zcmV;v2|@N!Nk&Gt2><|BMM6+kP&iDg2><{uMgS5J_XRnC8%0t{^76r(nJ@o1E*d7K z;VP0O#j1wKWZ?aie>YFbJsP-;Bsr2Idyn7y?;%rPYAOZns zz#SE6z?Hi@jO+J*YbF3d4YYg5m#ow^IjmC8_EQyQLY@M|O2e1LZCIMW)g4uwT zS#zNS24G<*zyWN)B+)=>@CiP^7sDwt1A`q7EJ%TT+f37dW}UzH=@jfp!`?q>)CoF! zU988Sz>3-{KcA^^5)KxPG?EZLWL77p5DA$+jTmWI_{SQy{r%qB-f2wz6`fVYaAFz` zl1Pw*gCr*5U>Z)uks^r%Hjur^7M{J5nT( zMgqq-<5Tt_$kGp@@LvT8^e;+6>Ycy4=m(^rDq1sez{*bAO7d?=*r>X{vygaGg)Ak| zn$Q@fas7XH1pCXsb(MknI*cAKZ=e6)|L;$8xuN|&KkBc%$g9^!^X&ZDc)7h+n@vbr zKvt9iR?nQU_iDHLw_$us$!1s6(_H#)9bK=gAa{5<_3odKlcm3RIU1YO=GU8}yWLIa z&+~wXZQI_a(YAeZr%WfER2yrjNs30k#^^E^&P6e~z*i_&0n<$H)wBz8fw3XIlOxLX z-r*X0=j!dxS(1fkBKki8?3CBOd;9(;FCH%w5xsu$@}qCQU1dMP)vrE#b)U@Nd-CFo z_Y&^?XDe^W!sYuf-%F&`_n&KI`O2s7ttHC0pWh?h`Ld#!_=p~Tv6>iPJ$ys@{Xn-B z^!nMi39$O*3K`b{cPt@#{2_N*-+sPK#*rex6}5&QeRVqaE8lBma-tAG$W*jN8P=nf zuTO>NgHbbmGJp;<+OQh|O^@z>#aXvj0HuA&XsH>Zf=bQAum@s089#Yz-ABI!p z^vZ(OA2cGGlF$+90z4ra0EUUifN`2H0~#Vjz))OoK8Wv|M?^#mieM%V3|sf@AD zDOT%|S8b>PxNS=zu_QAofW`D5^6!!&HrM*T0AjpN~D&QKW*!$lZ zahccP{NvrBK!qv-=$PvE0G`f?FzH67`^yEmnkOez0ItfW{^?dl@Q#x1vI)kLu0gE7 zOW}!bKnevVAh4*BNo}c1hTvZ;gWNW?utd!YJd>IpePf2DUIQu@h`NFLK{pD!G>Uh$ zSdiPhB%vuv;U);4Su*~>6g&0-)$?;+c!oW|V3gw4CR8XrW$;Xe>m{LVl1#pDj!o47 zw*!*catr9u$jV6>;sD_HOYlx=*1e9@0s`C}qENp?)^Q~?lt5i)GP%Rf8X8cl4kVOge@g=(^MvVgNgJ1TZe&B(Gv|Z% zG@7AApf7vclEAS|4M2c=ON5Y*bv(99wcXf6qJFWTs}d@D_=7!(;R@%RSox;RWn|c zjw?XvtkKIgE7GsQ$)l`aMpf9FrB?O10!wUuA$A?vjl_OCz+GM=~xg$~p zv8s2LmU>+%{JqVB4JU9R`Ea|y$piTBn*|Rb-VPZ}Hz)#JA&pc(5asgj#a;vU+adNQHD?&GW(`M?j6S3J_={AmIEcrU}vjOkGOrPHs zBl|jLMs5RgA>4O~X!(bKU3A1C=d7tb-f7>tn8`8yOb4HJ<|;_Mu|wdHrP_fT$!CDWgt>&AluJ(jY6fGe z1;}FT67rK6OS|Iavr@9Ln=rY!npJ@7NgQMB3LMO4$JI2(SjIItcXyG0k|66q4q#7Z zvFCx~V+ZzZj4_sx4P*mn667KP-k!vC(}DAc+0OG!_xL&wAS*$x0&uKzdTDvs*+>4m z9+zncke8eoc|d*=Gfdq^{uMaV^cc&?26E0MMh+b7%$U0fJ_kFT5j%2#zsMzoGv~l& zf*s@l*k>lW!(9GCVw_87rqdk&(#s7W&*34k@w1S+eI?~* IfpHv5NQjraDF6Tf literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/ic_few_clouds.webp b/app/src/main/res/drawable-xxhdpi/ic_few_clouds.webp new file mode 100644 index 0000000000000000000000000000000000000000..865bd36509172b8dc7b7da9cfa70fb768c7b8d5a GIT binary patch literal 2426 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/ic_rain.webp b/app/src/main/res/drawable-xxhdpi/ic_rain.webp new file mode 100644 index 0000000000000000000000000000000000000000..17d0e094472083a24defabd8e403d9aefe36f593 GIT binary patch literal 2310 zcmV+h3HkO?Nk&Hg2mkEha;<#8k6;go8g6x|(+lgPA88L^jh?E09G$*w}Q|JI6& z96}M99h4cP{h9rXICAm|-4WddRgpD?%{~}YsOrOXlX-uQnBMMC)sv#^n1iqrS?g*I z5uvA06(afeKG^Ofn&~j8H0G0`QLF>X3{A>45)enA@p6EN(tr`m z*l555LGU31_7yUaL&MYG&14;mJat{++ZS9u%*#i2AqWu%_^_;qnM`TE(ax(FPw&6; z^n2&a2i%Si3;5UDw|Kr^IzAuchwDkRk1D^;?f3rI_m|J9+vB2G`}KXl&cegC|7+X! z|G%@R%vP*KAv<76PqQ;)>}>J74LQ_t8OFRajJKrB%-l3(NTkHCFpRg{vq&#n+B>5E z695KwI+|;uKEz;s70)e!(XA8bp5M4LG+rRey<1l<{`#+5K=cXWupbd4)fq!AjGVrF z>(0=4K~ZEP7siLbfA>`s-JPt%;mGqVLnsAnIHOqSN2adc9ajkDk=@w3YWwkvlZy+W z>ZYgGZe2feIr z^XDHb^5DJ?SN9$aZW?_>=kkKdfs04|Cii%yGYZ;v1Tyg!H7`qt{ztNRdJ za`=TpD3$xyUupmwlB#sE&cC>I|GT#^_vR-*j}k(NGO&AfFZS#?OhJ_4t0N0)rerqk z&}HPw!L2e|`(s9;6_JC(~+Bj)J3fBhPo``u38N4z9sZMk$n` z^BN$at8{06=x^Pol!gqf%I&3)#~v?Q)neFDve}dG6AFEE{I&phEDa>E6ukGf?5#KNv59iDTRX08BpZ@e0wE z{kc6xy11zkE9jsM>+JyMHZP(-h={mVHqO||zuKkhBFeFm19RMm?y|h2ygG-UD+anS z-z7E_6}6e#e1WtHmjC#{PsFgw@Pw5W!VbE2bUX8*Y}y2>&xVL`3lFEk5e|0pd6Skc zl5JyB*v)|Y>AMCRzcvDnup|b;)ZOTp=WbouNS=DpcKjj0AovK zeJOx|;Lw_RrWoh;sTlxAg~gJIWuq=vIvK@4l^FoT6bq;B6bvF4u8k~!x-B9F0)7dF zPBQ>B2J%`kaqYfAl%W$=(5^y%sL@ktf#o%rqL@APKsH9<<^)i7V9Wv9d{(e%EzDgV zHbmj>iy4|Kj9Vz|Zfvq^z{14MF-1Rl==mH_+9TN%P%;@o@|0QBz;yO@LBGO{$ps27 z;R~@ez_1|{8)I?x?zcC8p!fS5UayU7$3i~rVyFPPny_EO|EMHJcqrPG?`*5mUa|hm zuea*>^{4NwsG?0abD;CW^vQ?!NvR9N*UrpX!PwT>sp~`Ig<^hM^|M?UzH@nc9t@jq zbS?w1PG7n?L=LanNb^n0zQWxrr{}Gp&2)sEx-5C6j2g_(y*z(qNA3+}*^zC#4;S|0 z&Zocrv%&(DT%(lHr5c-nc7D_U@T1#z@7=riOW&(oj{lB-|C#U!4w?kI&3f>@poJ(sv?#EkBU6uU3{|r~$b)J~6h%KS_lu&~ zq-JlxHbw`g0~>(a>BbsRk9oabK|(|+?Dcxv)jF^N^vnnRophbPFsEVSIM%()m&kLR zNre?fmmW)TbUUdmVeACjnyf#HP3TL3y4fwoEqd@li3eJ90zFO&OAQKq0@G;`Qzn&W zF_-~8V^{;!sestbP_Tl~WlCV$Tq%a^Dot2z(nSnA=>#ce21*lO!9W7jVCE|r6~EUB zy1H1PFR!#f(Urkwpe%EM0m}tmZf{SPYjkG)HlTHSu-0shAkx>XIlaD4pk+G6 z01L+KN+y%FK19scCX-2Ctr|TRDsw%yfpP5(xV(-7Onti=0g(mjIL4gD$u|bdp&C=b3xZuGiYcHEW;0-5 gn;lfZW(U=VCT9_$1Q@+6$^#|GF-5Ru!~K5*0LY1bcK`qY literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/ic_scattered_clouds.webp b/app/src/main/res/drawable-xxhdpi/ic_scattered_clouds.webp new file mode 100644 index 0000000000000000000000000000000000000000..c50c82504a785c02a0a52039930958b43d515cc2 GIT binary patch literal 2102 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/ic_shower_rain.webp b/app/src/main/res/drawable-xxhdpi/ic_shower_rain.webp new file mode 100644 index 0000000000000000000000000000000000000000..2526263cefc0000ca2a040b74e37c563f77ba5e2 GIT binary patch literal 1778 zcmVhI4E< zjwDHHs^^6Ljp1&Q{wzVwxcXwBq(trRgGB6~bCLjR` zVC3%Z8UTO<)M?xuvw2IIQfsqOfdN#hEf`DXwG$P6fDBYN0Yr$j>hzw}J01^nImu%Vp+8?-rBSL`-ID-qv8{Ckq)JvxUM|W*$aMo(#Ei`FFhW|Q= z$NTpd5h6llhzy5o5CK{JJtACgvcz56>M{AMkTr0J?^e8wX;y~nF#E4`9H&Y|=&ONS z*~2}k4pkv5M24zR6(U1s=pHQFi71yjs0xuGJeY$=aDx>?`ZvfmnxU2=X&7zvDii%n zkg4N?R$SN|Z){&25u^ZF_<(dlLo`}Z_&^dMq&>`W01t=+PuS@kr%>(Tf3O^S&~X0C z8-KgCR{w=qKNfm_2-DMj*YqDh^cC{;d2Da*mha!60{YvwD{7W9{F4&9#1i>(EGt4|cisuWlJ= z@1D%{-2F<7vj17;`o8>X5OVtsSFF!poH$XUv`{` zF0|v%3_$L4&iUF2vAQ91{O0*Wd7<6zPhDIli_`hX%K8@HsEE}quDW%lP+4muKiSia z*t^pnKc%!(nYuDvnA+ePw$6(aEhYZqn^xxDXoyDQy}jouB`S)=Wv=Pwq>zmq0 zIUkD*x&;7u#JA?FC9yQq(1Onv%Nt7kwkE=W-``^=@cVPld2^vwC|=yuVr!x})8?}l zLT||D7C`wW|GhOgUYOX_fX|54hSFmVg#J)05AAmpIA16iF10jh6i#g@J=MSw@jC$7 zY{TbD#}_oWbpUp!UGplfXi*hcm7c2WU@0r=RXbjvpw~E;TaAW{IZxX> zQY9q=odop`Azv$2*5)o%r>hsQtv1_Sq%+qpUA(&3dY~#FjhO-c6u~#j;&@S{l+xmO zt*%s~rJ_g+rBi>a>I!B6e;>oAX|Zx?erf62|&OxGj*=GTq_=*ZF0^RudZ>Vj5 z4j-ZLR|*qN#O^OwidqziEtkz^J5$u90={ZipP+My=X<0()UVJT3sXwNL26e6pR|&% z6(`#5d<7UA9RvVZFY~9ma@~o52HWp6;;ZB3btU;B0E`6(0ih~UN#7~#5EHyaiuWti@$xBTD11tx69z2z`IZG)m z)Yf0!ApovEHUIz~k4YE!@krL>;@RoxGClPd0l}SN2^#>ggjpZB{&+`=M!m7MdWOa` znV6p?oCE-Zy20Mv53)MW`R=C+5f%(bJ^d2=o{ZS^0`mP~OM_Q;_Ju^Sw=-`BvL7=Jj*JXTQY9P;@`jUSGr&7fMcxQ`mY z(=NgPWb2UMjFEaGCRBICi8>bP(4#XPmoUzNN5Yu>F%!lbjplWbMnX0~3h_}lAjxp3 zn;=Lp>lJj!vL3*8u^}twNN~gk$h;!C@^#gVw)C)R#S)YIkCM8tB<3dGaRz3RSHb5tw zfF5=LdZ-irLrJI4ipt0AD6^-N7{=-em@rZzoX1G1;FxiGXcn;jG$Ua;LkSZY)lNMY zj3pX%0MeXfIWVd##rg?C>SMhErYn>Z409~tbpg^IjhF!``64zjs+44TK$0QW2}m-? z28dz0SubEaS;~cRggh27sxuJFV{G0)2SHeeST`|DhV=-TEK3Q1>==!KaicyPV7-0| UU`GOZ1I2TI9_a$~aF1XF02>%g8UO$Q literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/ic_snow.webp b/app/src/main/res/drawable-xxhdpi/ic_snow.webp new file mode 100644 index 0000000000000000000000000000000000000000..cf9ead6896b4dbb2aefe363c3b09ea2d9f12db0c GIT binary patch literal 2350 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 U8mS*;s-;E#AQ0-5n~R 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

luwn0^0`_AS8gRV4}Y5K_059Ahr3#O^%4nr^0c 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 AZ~y=R literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxxhdpi/ic_rain.webp b/app/src/main/res/drawable-xxxhdpi/ic_rain.webp new file mode 100644 index 0000000000000000000000000000000000000000..d968806db63243be2349acdc4ca461cca4ea8e7d GIT binary patch literal 2630 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxxhdpi/ic_scattered_clouds.webp b/app/src/main/res/drawable-xxxhdpi/ic_scattered_clouds.webp new file mode 100644 index 0000000000000000000000000000000000000000..3401fed9e109df754047ef1c1dbf406a9b2fdf31 GIT binary patch literal 2120 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 U$ZcWYaP)w|fnzk@ObkgZB*Mw+G5`Po literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxxhdpi/ic_snow.webp b/app/src/main/res/drawable-xxxhdpi/ic_snow.webp new file mode 100644 index 0000000000000000000000000000000000000000..ce3fbab5dd5ad4e1756e0f860c8a99265aae1ceb GIT binary patch literal 2222 zcmV;f2vPS^Nk&Gd2mksE zbh`n$jU-1>WL9<0tk%M{_5ZUT$h$6xkt8`%vgXkmT*63v#D@PJDAu+uQ|@th?Sosi z$RQD}!y4F+uYg3O(cRtccmMyH`F;WbVjv3QAhBD$W~3V7@qsE;0+sNzq+X>AsT}1R z2;c(&9AF_a;DSEIKx`n1@)RFfQeFQ2mX3zGQeBV-g&HRWMR47eA#@u|E@po|K>Z^%lYo)`SHGS*-mx4b$D1mO@i9BZHn7w%ytYS zGc#L$MQu%CW=?De9OhW9sgbl{W@el)GbwiAr&T-e?9A+@pCkG&!I30Ik}M()ma(RH z_6I~&zP`Qs^6cY%l+yhVkDoaI{L0&}#HxAs>ePN}oI_`C-?yNz*H0awqS<%q>OE`u zcg_HQz*2yYt|0R&GGk&-G925Dzsz1*WXR~IsaCv=!^YSr7bf6mK%uN`eNOe zzGb>G`tU|nod>5iCHfam>K@|2Z_26>Rh9Ru zURPfyc-sCe!VUm`Kb(H2%7p`p40pFPWuZ-4A4azYs-ESJvSUQUWuWzic;Dp8{#M-$ zI?gz`@>zusCn;6k>5~BF3yePfsKV_>RC&E#0KdTKf$J(f+eej`2|I&a{G{L@IZ1~n zxAiGFtyZHfpNjZqbgyQ!KFB)xPTtigbhXbjS>B`ojt}wp0w`^Zhu8zu4RYB+#lt0*=byxsx#VsPPf%NA7Np;j3z5JPwv=Vn?x`31xsWhIPpFGutd^70@9H)xh%->NNd?(@YbS67dV<6MrE)g>}NsWF&tS-d`CmNo6( z>3@xJ#g7&{TT3%JH*1Lr%smv(mSHq99HM6F4S?s@^f8{~Vh2ERmcWJoQl079GRqJ4 zhV(HkrPK|OQWO^$`UtX z%de?pGny)L_w8d-b zYP+@r+IGk|@sU59+X)VLtCBu5XgI84u$?uc33&FwV0neP;3{rV($D<6a)TQ;4r&G> z{p&XmYsMG)29M3HsB47gs&qAt-a5>&IN)C~pm9aE&+@lz3>h4bm%kV+rzZ7BOhtTp zqfJH0ozwe}8D7xKvtx!2pnI6>@%7J~;WM8>#wv2v^y`&J8e>(Lhbb1E7Xawm!aGlo zyy5<=RD;fZgd|q!txZ*M|KJPeMTS;(vSkGq>RZdX!rXiAUDV)ulsWS;wzkqFCHGdJ z*vIV}o$*fJ{7m>6Eh(zWBpiAxii^|Z72WH9;UK5W+W|HhZ2#H20>3>-%}gK$NPJRK zJW-WY7J2?O_mA3<@FAM)Vm&=UYfBk)FhX(RgCfWM#$^10-QIEuL67Tt7`JT#%pg^T;Y{Dog!&kkqsU^8XnE01TUGo&W#< literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxxhdpi/ic_thunderstorm.webp b/app/src/main/res/drawable-xxxhdpi/ic_thunderstorm.webp new file mode 100644 index 0000000000000000000000000000000000000000..f651d5a5da3ea90ce1d1b8aa1fb1a4fc6334e7b8 GIT binary patch literal 1946 zcmV;L2W9wDNk&GJ2LJ$9MM6+kP&iD52LJ#sYrq%~m*cpRBt^;`Y5h0zez*+X<%YvH zk`$@>;6MLRkEv(cVcRy6BxUcb<65}>%la>go!GXuEDv`}Kh>gJrZO1@!(tXBs=K>q zcl%x7{j2~WK>-gn-2X2=I`8KPA`2Qo1u6h0;Rnbf!eRsh-{9XMLL>kI8G)b#st7FP zNBkmK7+z2#O*BNqO8f;*C>CHFVW$v7v;r|E*r@Eu3`RkU#0bZVzYg}HLnF0mx1s)^ z{+X)5p&<`1;v3b?^ZsUZJtl8=YCp`(Ys0)Q%Q~BfBL>hA%*e+bEJ7w<) zKx2#I2qA$PVH>hlk`$zqq*x898@I~s zy>4d`U3jDhQO{3CQIG(lc+w19059yT%yBiLTX#rpWxY zd#meX;{z8;bN9vl%VM$&R7FGaX&l*2rfbh z5;IR^oD276xI~u-OCjVh@O7HT1&6RcdNgw2Rf6NqYo^M=>zaa>47Xtesx0)Xa4~2eTz} za^)ECb$UQw>2J+zSs1oQP}ukieVsGtD*dUKqFsS@Q`dpEjN(B6XF(A4GxWiW4b0rs zYrqH5Z9#n$viyJ2&w4|;5GsR53wjPzb!@;IN#TD(AWRFOZ(>`ti$F=I0Uu;Ef8%R6 ziUNQz#RK2Oie4EIO$#WG=%Gp-xIixfbWA+at3y+#29AvAcAAP^@ZvPz#BIG6)N~xE zj!3QyQ9jU9N(In2aZRfT*cug}II2t2LzD~WN~sV+6H8iUKs1}skWtSc4T~U9O7+2u z4a{lPp{Zd3r3|)ZXkRP#ATm(UYC%n-0Vk4LEH_TUGP5_Vo2DYb*PGJ<%GrviP!W-0 z%InlxrZPBU*aAL?v6bAY zB1eApV}*3mqb25 zJ*5WN#tOIgRqm&@uZTz^<)ms!60j52DSQy)m)F!7PQ6|bDZ_`VCFx~AlJB8y8N0MH zGY)F@k%(AD$ykRE2^*-1>B7TfHJwK6i=ZkhUcDasd3(Yx18Yv)J3ELScaCK9jfs@etmt|DU?NQpe9BO zH(%_kai89JxRhc8MUfUbMI(z3cV^TC+<*OaPDEM|*`0uNK z!+(Cely+(9>aF|F-tO$F348{<9`KjfD=(ivdi?z5%G*~vTgPf54}gvbfl^8x@9rL} zNqzxt7w9A=egNk{q`rkQ;KA4Uo6sk gBtW3Pk$z(Et>^+>^{sTli@zB_Pkl2Zy6P7^05|}rUjP6A literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/bg_broken_clouds.webp b/app/src/main/res/drawable/bg_broken_clouds.webp new file mode 100644 index 0000000000000000000000000000000000000000..ed3539638fc0938514c813efd5bbfed8272a61c2 GIT binary patch literal 13510 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%0Dl)fw3w4v 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/bg_mist.webp b/app/src/main/res/drawable/bg_mist.webp new file mode 100644 index 0000000000000000000000000000000000000000..452942542520ad6b51eb953b545529b4de3051af GIT binary patch literal 17468 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/bg_rain.webp b/app/src/main/res/drawable/bg_rain.webp new file mode 100644 index 0000000000000000000000000000000000000000..f8230daff9bae2d0823cd7c10f649a764e9f9f1c GIT binary patch literal 26640 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/bg_scattered_clouds.webp b/app/src/main/res/drawable/bg_scattered_clouds.webp new file mode 100644 index 0000000000000000000000000000000000000000..7ddf47fb2154ddb37243994e70b0206d17abe7f3 GIT binary patch literal 22890 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νPU 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 + + diff --git a/app/src/main/res/drawable/ic_humidity.xml b/app/src/main/res/drawable/ic_humidity.xml new file mode 100644 index 0000000..1086fd6 --- /dev/null +++ b/app/src/main/res/drawable/ic_humidity.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..07d5da9 --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_light_mode.xml b/app/src/main/res/drawable/ic_light_mode.xml new file mode 100644 index 0000000..0546ef2 --- /dev/null +++ b/app/src/main/res/drawable/ic_light_mode.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_my_location.xml b/app/src/main/res/drawable/ic_my_location.xml new file mode 100644 index 0000000..a7b830c --- /dev/null +++ b/app/src/main/res/drawable/ic_my_location.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_sun_rise.xml b/app/src/main/res/drawable/ic_sun_rise.xml new file mode 100644 index 0000000..28ed047 --- /dev/null +++ b/app/src/main/res/drawable/ic_sun_rise.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/ic_temperature.xml b/app/src/main/res/drawable/ic_temperature.xml new file mode 100644 index 0000000..c535434 --- /dev/null +++ b/app/src/main/res/drawable/ic_temperature.xml @@ -0,0 +1,14 @@ + + + + diff --git a/app/src/main/res/drawable/ic_wind.xml b/app/src/main/res/drawable/ic_wind.xml new file mode 100644 index 0000000..ee9daa9 --- /dev/null +++ b/app/src/main/res/drawable/ic_wind.xml @@ -0,0 +1,22 @@ + + + + + + diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..eca70cf --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 0000000..eca70cf --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/app/src/main/res/mipmap-hdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..c209e78ecd372343283f4157dcfd918ec5165bb3 GIT binary patch literal 1404 zcmV-?1%vuhNk&F=1pok7MM6+kP&il$0000G0000-002h-06|PpNX!5L00Dqw+t%{r zzW2vH!KF=w&cMnnN@{whkTw+#mAh0SV?YL=)3MimFYCWp#fpdtz~8$hD5VPuQgtcN zXl<@<#Cme5f5yr2h%@8TWh?)bSK`O z^Z@d={gn7J{iyxL_y_%J|L>ep{dUxUP8a{byupH&!UNR*OutO~0{*T4q5R6@ApLF! z5{w?Z150gC7#>(VHFJZ-^6O@PYp{t!jH(_Z*nzTK4 zkc{fLE4Q3|mA2`CWQ3{8;gxGizgM!zccbdQoOLZc8hThi-IhN90RFT|zlxh3Ty&VG z?Fe{#9RrRnxzsu|Lg2ddugg7k%>0JeD+{XZ7>Z~{=|M+sh1MF7~ zz>To~`~LVQe1nNoR-gEzkpe{Ak^7{{ZBk2i_<+`Bq<^GB!RYG+z)h;Y3+<{zlMUYd zrd*W4w&jZ0%kBuDZ1EW&KLpyR7r2=}fF2%0VwHM4pUs}ZI2egi#DRMYZPek*^H9YK zay4Iy3WXFG(F14xYsoDA|KXgGc5%2DhmQ1gFCkrgHBm!lXG8I5h*uf{rn48Z!_@ z4Bk6TJAB2CKYqPjiX&mWoW>OPFGd$wqroa($ne7EUK;#3VYkXaew%Kh^3OrMhtjYN?XEoY`tRPQsAkH-DSL^QqyN0>^ zmC>{#F14jz4GeW{pJoRpLFa_*GI{?T93^rX7SPQgT@LbLqpNA}<@2wH;q493)G=1Y z#-sCiRNX~qf3KgiFzB3I>4Z%AfS(3$`-aMIBU+6?gbgDb!)L~A)je+;fR0jWLL-Fu z4)P{c7{B4Hp91&%??2$v9iRSFnuckHUm}or9seH6 z>%NbT+5*@L5(I9j@06@(!{ZI?U0=pKn8uwIg&L{JV14+8s2hnvbRrU|hZCd}IJu7*;;ECgO%8_*W Kmw_-CKmY()leWbG literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..b2dfe3d1ba5cf3ee31b3ecc1ced89044a1f3b7a9 GIT binary patch literal 2898 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/app/src/main/res/mipmap-mdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..4f0f1d64e58ba64d180ce43ee13bf9a17835fbca GIT binary patch literal 982 zcmV;{11bDcNk&G_0{{S5MM6+kP&il$0000G0000l001ul06|PpNU8t;00Dqo+t#w^ z^1csucXz7-Qrhzl9HuHB%l>&>1tG2^vb*E&k^T3$FG1eQZ51g$uv4V+kI`0<^1Z@N zk?Jjh$olyC%l>)Xq;7!>{iBj&BjJ`P&$fsCfpve_epJOBkTF?nu-B7D!hO=2ZR}

C%4 zc_9eOXvPbC4kzU8YowIA8cW~Uv|eB&yYwAObSwL2vY~UYI7NXPvf3b+c^?wcs~_t{ ze_m66-0)^{JdOMKPwjpQ@Sna!*?$wTZ~su*tNv7o!gXT!GRgivP}ec?5>l1!7<(rT zds|8x(qGc673zrvYIz;J23FG{9nHMnAuP}NpAED^laz3mAN1sy+NXK)!6v1FxQ;lh zOBLA>$~P3r4b*NcqR;y6pwyhZ3_PiDb|%n1gGjl3ZU}ujInlP{eks-#oA6>rh&g+!f`hv#_%JrgYPu z(U^&XLW^QX7F9Z*SRPpQl{B%x)_AMp^}_v~?j7 zapvHMKxSf*Mtyx8I}-<*UGn3)oHd(nn=)BZ`d$lDBwq_GL($_TPaS{UeevT(AJ`p0 z9%+hQb6z)U9qjbuXjg|dExCLjpS8$VKQ55VsIC%@{N5t{NsW)=hNGI`J=x97_kbz@ E0Of=7!TQj4N+cqN`nQhxvX7dAV-`K|Ub$-q+H-5I?Tx0g9jWxd@A|?POE8`3b8fO$T))xP* z(X?&brZw({`)WU&rdAs1iTa0x6F@PIxJ&&L|dpySV!ID|iUhjCcKz(@mE z!x@~W#3H<)4Ae(4eQJRk`Iz3<1)6^m)0b_4_TRZ+cz#eD3f8V;2r-1fE!F}W zEi0MEkTTx}8i1{`l_6vo0(Vuh0HD$I4SjZ=?^?k82R51bC)2D_{y8mi_?X^=U?2|F{Vr7s!k(AZC$O#ZMyavHhlQ7 zUR~QXuH~#o#>(b$u4?s~HLF*3IcF7023AlwAYudn0FV~|odGH^05AYPEfR)8p`i{n zwg3zPVp{+wOsxKc>)(pMupKF!Y2HoUqQ3|Yu|8lwR=?5zZuhG6J?H`bSNk_wPoM{u zSL{c@pY7+c2kck>`^q1^^gR0QB7Y?KUD{vz-uVX~;V-rW)PDcI)$_UjgVV?S?=oLR zf4}zz{#*R_{LkiJ#0RdQLNC^2Vp%JPEUvG9ra2BVZ92(p9h7Ka@!yf9(lj#}>+|u* z;^_?KWdzkM`6gqPo9;;r6&JEa)}R3X{(CWv?NvgLeOTq$cZXqf7|sPImi-7cS8DCN zGf;DVt3Am`>hH3{4-WzH43Ftx)SofNe^-#|0HdCo<+8Qs!}TZP{HH8~z5n`ExcHuT zDL1m&|DVpIy=xsLO>8k92HcmfSKhflQ0H~9=^-{#!I1g(;+44xw~=* zxvNz35vfsQE)@)Zsp*6_GjYD};Squ83<_?^SbALb{a`j<0Gn%6JY!zhp=Fg}Ga2|8 z52e1WU%^L1}15Ex0fF$e@eCT(()_P zvV?CA%#Sy08_U6VPt4EtmVQraWJX` zh=N|WQ>LgrvF~R&qOfB$!%D3cGv?;Xh_z$z7k&s4N)$WYf*k=|*jCEkO19{h_(%W4 zPuOqbCw`SeAX*R}UUsbVsgtuG?xs(#Ikx9`JZoQFz0n*7ZG@Fv@kZk`gzO$HoA9kN z8U5{-yY zvV{`&WKU2$mZeoBmiJrEdzUZAv1sRxpePdg1)F*X^Y)zp^Y*R;;z~vOv-z&)&G)JQ{m!C9cmziu1^nHA z`#`0c>@PnQ9CJKgC5NjJD8HM3|KC(g5nnCq$n0Gsu_DXk36@ql%npEye|?%RmG)

FJ$wK}0tWNB{uH;AM~i literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..948a3070fe34c611c42c0d3ad3013a0dce358be0 GIT binary patch literal 1900 zcmV-y2b1_xNk&Fw2LJ$9MM6+kP&il$0000G0001A003VA06|PpNH75a00DqwTbm-~ zullQTcXxO9ki!OCRx^i?oR|n!<8G0=kI^!JSjFi-LL*`V;ET0H2IXfU0*i>o6o6Gy zRq6Ap5(_{XLdXcL-MzlN`ugSdZY_`jXhcENAu)N_0?GhF))9R;E`!bo9p?g?SRgw_ zEXHhFG$0{qYOqhdX<(wE4N@es3VIo$%il%6xP9gjiBri+2pI6aY4 zJbgh-Ud|V%3O!IcHKQx1FQH(_*TK;1>FQWbt^$K1zNn^cczkBs=QHCYZ8b&l!UV{K z{L0$KCf_&KR^}&2Fe|L&?1I7~pBENnCtCuH3sjcx6$c zwqkNkru);ie``q+_QI;IYLD9OV0ZxkuyBz|5<$1BH|vtey$> z5oto4=l-R-Aaq`Dk0}o9N0VrkqW_#;!u{!bJLDq%0092{Ghe=F;(kn} z+sQ@1=UlX30+2nWjkL$B^b!H2^QYO@iFc0{(-~yXj2TWz?VG{v`Jg zg}WyYnwGgn>{HFaG7E~pt=)sOO}*yd(UU-D(E&x{xKEl6OcU?pl)K%#U$dn1mDF19 zSw@l8G!GNFB3c3VVK0?uyqN&utT-D5%NM4g-3@Sii9tSXKtwce~uF zS&Jn746EW^wV~8zdQ1XC28~kXu8+Yo9p!<8h&(Q({J*4DBglPdpe4M_mD8AguZFn~ ztiuO~{6Bx?SfO~_ZV(GIboeR9~hAym{{fV|VM=77MxDrbW6`ujX z<3HF(>Zr;#*uCvC*bpoSr~C$h?_%nXps@A)=l_;({Fo#6Y1+Zv`!T5HB+)#^-Ud_; zBwftPN=d8Vx)*O1Mj+0oO=mZ+NVH*ptNDC-&zZ7Hwho6UQ#l-yNvc0Cm+2$$6YUk2D2t#vdZX-u3>-Be1u9gtTBiMB^xwWQ_rgvGpZ6(C@e23c!^K=>ai-Rqu zhqT`ZQof;9Bu!AD(i^PCbYV%yha9zuoKMp`U^z;3!+&d@Hud&_iy!O-$b9ZLcSRh? z)R|826w}TU!J#X6P%@Zh=La$I6zXa#h!B;{qfug}O%z@K{EZECu6zl)7CiNi%xti0 zB{OKfAj83~iJvmpTU|&q1^?^cIMn2RQ?jeSB95l}{DrEPTW{_gmU_pqTc)h@4T>~& zluq3)GM=xa(#^VU5}@FNqpc$?#SbVsX!~RH*5p0p@w z;~v{QMX0^bFT1!cXGM8K9FP+=9~-d~#TK#ZE{4umGT=;dfvWi?rYj;^l_Zxywze`W z^Cr{55U@*BalS}K%Czii_80e0#0#Zkhlij4-~I@}`-JFJ7$5{>LnoJSs??J8kWVl6|8A}RCGAu9^rAsfCE=2}tHwl93t0C?#+jMpvr7O3`2=tr{Hg$=HlnjVG^ewm|Js0J*kfPa6*GhtB>`fN!m#9J(sU!?(OSfzY*zS(FJ<-Vb zfAIg+`U)YaXv#sY(c--|X zEB+TVyZ%Ie4L$gi#Fc++`h6%vzsS$pjz9aLt+ZL(g;n$Dzy5=m=_TV(3H8^C{r0xd zp#a%}ht55dOq?yhwYPrtp-m1xXp;4X;)NhxxUpgP%XTLmO zcjaFva^}dP3$&sfFTIR_jC=2pHh9kpI@2(6V*GQo7Ws)`j)hd+tr@P~gR*2gO@+1? zG<`_tB+LJuF|SZ9tIec;h%}}6WClT`L>HSW?E{Hp1h^+mlbf_$9zA>!ug>NALJsO{ mU%z=YwVD?}XMya)Bp;vlyE5&E_6!fzx9pwrdz474!~g(M6R?N? literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..1b9a6956b3acdc11f40ce2bb3f6efbd845cc243f GIT binary patch literal 3918 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�(p-{x$&=IACIfoAR!za)F-^da-t3#0Dycnp zwO~NVXwXCl;jE<}>%@xz|=8fIJAB?>+E{7)|4l${4ngA3G|=r z2Dyv;VVWSgZx9Wj>qUjleGl3Ei9K4>h!(lPS%8VOG>Xu0%6VDz^O=bjJmuP7>DeUv zrbI}MlHB^^d?{zv6d=@_ZD2lg1&G7UjnVN{1}9WkaM3H~btX0GtSzB+tZ^qRgWo4m z!GmimlG$=wgXCnr6j@m<1gAL46#T~5Bnm=2{^@>|t&`9mkEPddj zAvG~@Tv~TAm2i%VW}R-g(Z0)z-Y|szHr@rk>4MAyG*Ma*7Yh#H7(!-5>DZ@8r;_dx z{prSe<>~099F8vsYd2xff7uAS%7{S)f(|@me3t2$iy&NEc7OUEchp@9A|X;;IA>8!oX+y(BKJ$EzV* znR$z;!L$s7uy@{OT~nG#B!NRraT8(X##Ho!0r_o@gg0CA-9H^;-uE&?$2$nHv_00o z%cbuUc-tCx$Uh&EZ4Nf4Zgqv)Y6>usG3>GeQnxx_Z6+PcbX-+ysbt1hQ`K1LDpOE? zrAhIZhSN9yVIAOa22gn577tbc&i3|3V8NWy&!tw##`}9*x}gtI^h1DzZRA>UuaJG) zaZ7j)dq!O}{?#8Y7~7i6fHh4{`pL?>-18|p!S75Y#^DM>-S3)vuZG+Q7l@ek zQP~#cBpWgg#mApc_sPYjpw8odQuRokmTkzcNl`^CcKB7e&;zViV;{Y{o^Y$%7i0m# z62%#1Lq!RC?}lK>%mp}T!3Xv;L*0v*>USLm``N%>w>@fwC+#T&Tx2bN4w(20JB}oU zuSa6v^kXi0xPs?pbaOHnyiqq6By1EZY9OZ^^QA>{q-Hsd&m`pbQ%8121aWG-F5xf zlZ%;B{;C>X19|`^_?dVyCq>n+41w7|!tUS!{9rHlbhX=SZO5CQ^;!Du_E7*`GiR^Q w)2!4MKjfSAeNo!9>IaV6aUZ*?W>} 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

UmY2RIYtNPVDpE$%vda+HD#3m z&VuXJ{BK&Qe+rBa7eq}Q(bq|tn(RrJAk|ztj2(i{d>nmQnM?;HF2k&9sA6up5tmjl z7lySlzMbifH17-m-Lwa_F&e7nOH?ESi3#ckR3tsM+jsck3`oG!uMS}|eAwVXv>}qxwq?QY%QJ0}r@^;fhuUA9W z*BVl>TGo&N004@xSiwDUXUvp51sVmqO3m)=B55aPwf@0=e}cN+$-BdKxY`YrT_4)0 z_d10#i44Q*rFr8MC>*)v$EJvz``(pb{e&*6k+b zsMz%($|1+8hn8c2?P(l@;Rb&CsZeYoCI3?2!LqjbwPXW3z4G$Qfj=cT5Yb%vY0(AX oeb?AaKtwrnc|$|zzw9vfvn^aJJ!zd)XFXqqy0000001=f@-~a#s literal 0 HcmV?d00001 diff --git a/app/src/main/res/raw/style_google_map_light.json b/app/src/main/res/raw/style_google_map_light.json new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/app/src/main/res/raw/style_google_map_light.json @@ -0,0 +1 @@ +[] diff --git a/app/src/main/res/raw/style_google_map_night.json b/app/src/main/res/raw/style_google_map_night.json new file mode 100644 index 0000000..f503a6e --- /dev/null +++ b/app/src/main/res/raw/style_google_map_night.json @@ -0,0 +1,161 @@ +[ + { + "elementType": "geometry", + "stylers": [ + { + "color": "#242f3e" + } + ] + }, + { + "elementType": "labels.text.fill", + "stylers": [ + { + "color": "#746855" + } + ] + }, + { + "elementType": "labels.text.stroke", + "stylers": [ + { + "color": "#242f3e" + } + ] + }, + { + "featureType": "administrative.locality", + "elementType": "labels.text.fill", + "stylers": [ + { + "color": "#d59563" + } + ] + }, + { + "featureType": "poi", + "elementType": "labels.text.fill", + "stylers": [ + { + "color": "#d59563" + } + ] + }, + { + "featureType": "poi.park", + "elementType": "geometry", + "stylers": [ + { + "color": "#263c3f" + } + ] + }, + { + "featureType": "poi.park", + "elementType": "labels.text.fill", + "stylers": [ + { + "color": "#6b9a76" + } + ] + }, + { + "featureType": "road", + "elementType": "geometry", + "stylers": [ + { + "color": "#38414e" + } + ] + }, + { + "featureType": "road", + "elementType": "geometry.stroke", + "stylers": [ + { + "color": "#212a37" + } + ] + }, + { + "featureType": "road", + "elementType": "labels.text.fill", + "stylers": [ + { + "color": "#9ca5b3" + } + ] + }, + { + "featureType": "road.highway", + "elementType": "geometry", + "stylers": [ + { + "color": "#746855" + } + ] + }, + { + "featureType": "road.highway", + "elementType": "geometry.stroke", + "stylers": [ + { + "color": "#1f2835" + } + ] + }, + { + "featureType": "road.highway", + "elementType": "labels.text.fill", + "stylers": [ + { + "color": "#f3d19c" + } + ] + }, + { + "featureType": "transit", + "elementType": "geometry", + "stylers": [ + { + "color": "#2f3948" + } + ] + }, + { + "featureType": "transit.station", + "elementType": "labels.text.fill", + "stylers": [ + { + "color": "#d59563" + } + ] + }, + { + "featureType": "water", + "elementType": "geometry", + "stylers": [ + { + "color": "#17263c" + } + ] + }, + { + "featureType": "water", + "elementType": "labels.text.fill", + "stylers": [ + { + "color": "#515c6d" + } + ] + }, + { + "featureType": "water", + "elementType": "labels.text.stroke", + "stylers": [ + { + "color": "#17263c" + } + ] + } +] diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml new file mode 100644 index 0000000..9abb37f --- /dev/null +++ b/app/src/main/res/values-vi/strings.xml @@ -0,0 +1,27 @@ + + + Mặt trời mọc + Vận tốc gió + Độ ẩm + Màn hình chính + Cài đặt + Lỗi - HTTP + Lỗi - HTTP server + Lỗi - Preferences + Có lỗi gì đó! + Lỗi - Quyền + Param của %1$s không được null. + Không thể lấy vị trí hiện tại! + Không thể lấy địa chỉ hiện tại! + Kinh độ và Vĩ độ không đúng! + C %1$s\u2103 / T %2$s\u2103 + Thành phố không đúng! + Bạn chưa cấp quyền cho ứng dụng!\nVui lòng cấp quyền để tiếp tục sử dụng ứng dụng! + Không thể xác định được địa chỉ này! + Lỗi - Mạng + Mã: %1$d\nUrl: %2$s + Thử lại + Invalid + Địa điểm + Không xác định + diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml new file mode 100644 index 0000000..f8c6127 --- /dev/null +++ b/app/src/main/res/values/colors.xml @@ -0,0 +1,10 @@ + + + #FFBB86FC + #FF6200EE + #FF3700B3 + #FF03DAC5 + #FF018786 + #FF000000 + #FFFFFFFF + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..12241a6 --- /dev/null +++ b/app/src/main/res/values/strings.xml @@ -0,0 +1,39 @@ + + Weapose + \u00B0 + + Sun rise + Wind + Humidity + Address + + Retry + Invalid + + Unknown address + + + Home + Settings + + + Error with HTTP + Error with HTTP object + Code: %1$d\nUrl: %2$s + Error with Network + Error with Preferences + Something went wrong! + Error with Permission + Permission is not granted!\nPlease grant the permission to continue to using app! + The params in %1$s must non-null. + Cannot get the current location! + Cannot get the current address! + Cannot get the address! + City is invalid! + Latitude and Longitude are invalid! + + + H %1$s\u2103 / L %2$s\u2103 + %1$sm/s + %1$s%% + \ No newline at end of file diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml new file mode 100644 index 0000000..f01741f --- /dev/null +++ b/app/src/main/res/values/themes.xml @@ -0,0 +1,5 @@ + + + +

xL{wclMD zYvsB|E(H0O3DH__zmkqEmqX<~HonAVJG{ zxVm!3sXtXy(pU!%S4G7#iUjuw%3V-jl%cXyT8;xHJ6-hW-&IH%Z;fP!RteE^| zR8*`6w|>d3swp|S$5*nsv7tKOOA|WhpCIc$op$F{_;49hQ&L}(ciKkkfx9yn6NTS@ z_IPvhYkmHJA4B0g&`# zCZGmieH{SQ7P?jj-<~I}bgA)>x~SS8z}R1Tr122O_~2H%4sz+GK4~J>m5>d2@t@2r z0La-=?qdReU)hG7EC9%K5qinRSGvUh;F-9FqT~4@jcow-^^N}88V1+;4zIHT08Qxv z`0^r|LJ?&IAoOvOaR~v4^2*+QCDhIhja8Mq4)_k_S5)m=YbT5)zdT7X)OIzYq!LFu zI;Z4RZytUl0D!cwYiy|6m0eh0xGJ|A4rbYn0hqr(qj8ZBbx+D#;@FvBWF*zhy=g*i zTX(R&CNI-lP+ypV_g2?6uB8kDa_QY01Tfgd@)xJHM$fZc>y)A~^K^;OwjZdf$<4NT z3hE0zw(Npxzz)(Nfa#C#l1LbC3WhF@^>L9=Xyv)~aS5rPe3~Ot9WBfA(pZDQ*?Y=& z+bP2U&wqM`#KEQ@fAK0C8oa;kbHV)o+MIJ&MX&ArU08O+es3p(o65({uE=m zD8t4Wu5~;)^XmB@i-b-JlLTOQL0y5H03d0KFw^dEy70CCUHQ)E4=}9%?0^6DkAMI6 zgPqi)Nji3vZFLgnuitS(y{pj|z?i8$dhGZKfSsG|h5+U8+9(TD)cZA=fF}4gE3%ET z>W-uP_5;AdQeOaL#$Q=h3IN5qu5@yPHv{9Wb%*Qy0mk2Od{x#dj5FPII+2>I_xb9| znR;N#wmWDFW0FXB`>MTF)%m-9MLR2M%C>t*BK_@I`>Ja8tlD08C}&$~L)lh0m42)D z)z|LJc5kmcc*?o0!dJGx?5I{*Lx literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-night-xxhdpi/ic_thunderstorm.webp b/app/src/main/res/drawable-night-xxhdpi/ic_thunderstorm.webp new file mode 100644 index 0000000000000000000000000000000000000000..14f80076b5f5eab64c87e4d9f44f309c4830847e GIT binary patch literal 1844 zcmV-42g~?UNk&F22LJ$9MM6+kP&iB=2LJ#sP=FE;Kjo;ABu9!huU#lhR<(f}TMVy#IgnOlEe&`~OF^NP?b0 z&!m^*Snju5Z8?s`{r&z!ZFWc1Mm-b5Yqh1G!R!K07$=!ki`nfU-7^{FagBF;;|mUf zf%w8Rp7B4s0RaJuKiuMfIgSFdNG->)tM(VKJ#)TY*C{^W_{KjzA&<{zR4r#WcYD1i z$Nm0zJ)e{F@%X?L{n_-H&y|v))Nv)(3EQd4jOjRSN8YtciG)2jj{$ilYG%|O zx5+0fB{D13U2~%0mXryeVmO<9WTkYg0j|;v@SK9P)kngTdidny>uqM9{~ZtheW<3H z)atOe_(=5m(~qxr*l?i}-T!?1?U9;Jm3b(xBf*((2ivPGs7)wJMBCbX`y`E;(NIpt z>Z5%&yWE3NjG4DS{F2h7+<{gy{`qyC&Cf%QaPrIVFVaFfhrDV7>EX*QwsHVLZ6!80 zK0NfNwvrlO%4+iD^FBTG(;8d5pkTB=09{+b+55f}-E-yKCf%9O>uhm63>lDvUHx61 z09>a$scE%6sM1lttg+SFpsa)^5}dsF#|9aN9cl_@&Z9t0l0L1m^$UZM1RMXQ*@?yy z$vW>zoTTKZo1DrO7Jl98l#6Put1HIoq+ffSzH1*_?KmZ+;w%wKZ#kW}ADxH2#GLo; z>HNmVlh+GyhKQbSrxm}c%15Ekgzv5!#;1s0yjxALt%p}_^`&BU=bXrCx^U@2lM^T; zdbYu7esJGqZxiyJka4oiqmt@rFP58#zOeA(q{&&$ik*kKX!Z%H*X;HSUefp8_Y!Ri zMg1^4ZN=*6e4O?Q)D+-E9SQ$n;VCFV(N4(oR`9DP6t>+i^Xc8NIjTwgy;wiGmqhyz zj$5+vU)UVZhT;;PlQ>1<&-cUv7-PX`P#)DR;s3}^m&*?4jTs_xLf z=Gof6UcOaw|8g$s?-7xVdnP_?2t^Qx2`u-aN3&?3h)C^l!|f$<;D(8Vb)i1=E(G0@?_I z38Q#O9!|_p^alaR5sPj+aF>WW^5D8GvbiO&+>1Uoo>G*aa6mzFcihaXnpEmSqmPKF zwy}iAftbfObS|_H=#lq-Lu<7lel-j383-CuxX=Ac~ip{_Jl_GW5U<_Re zQ_&!LSIn(`R#QYDSM_=@uwrTe{zW#w{ghJub5|!Gl*d>%F*Op?nU*oZ7QQ-4+056~ zr1?(&Ec0?~x?cfClj31?#jW^3seing6j6c;bL0I1Bu_E3Hm>-m*!=2yO2^Nu%-SH7 zP^S#Y-M#3HGV@XpJu4Qx{FxRDz}_ll i6*o{+OWCv>!2c+#UV?m{vTHFKtFp}HoZD)a`F|Cyue=8U literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-night-xxxhdpi/ic_broken_clouds.webp b/app/src/main/res/drawable-night-xxxhdpi/ic_broken_clouds.webp new file mode 100644 index 0000000000000000000000000000000000000000..67cb952efcc22debd0e23c61e1cd9156fe4dac1e GIT binary patch literal 1528 zcmV2jK%n?RAb8<}Ki*(`U?3m}{mSnfq%C^?fT0?6MYb~s`bk6CnDpVDc00KY4 zNT9N9TO5fbQF!4)1o0#U2QRE~O%gy16F5npc<=j8xML3k!50rOz99TSU@&yswmLir z!*iZz71`%`maVn_ecy6jR~xjpZBv{`-`fNq!`)qyG@f*DhsAa#!jP^M?k*ES#s>-e zs~bplHAg!q5&fS4lK5=%+x6A&Xqd6f9~-9+oL<%C!ymCQOYnOC-uY_W@5RDQ=*`jc ztFU?#Vd8(S$1V3|H_FVtI(f9#(XTKw{o6UWPJAcAWQ-m@TIKF0!sHBX#;tL78D`S% z$E|SxJIo~BjLUa%8D>%+#AUm?3Ng7uCy$cdgqZAq?zvRQw@m(<2bnH@Gb?V!CHfw+ zMD(0Xv-XEs^XG#!Un9>1m;Ce7qaFZ5qZ4!9rJ!yOTXjlu7Gp*|7?>LZ09930JUQuI z(oOmKAjxjj5cE$1P&K!EaD05c*X?#|Dljk~)J=$7a4GI$j4^#_#sg^Xky#&mI8;el>q}xMxTly-Jt8ipsv5*&@}!Y>Vgz(9PqK=QouVuGw1aNf@XRdgjGa2odI$JrnFgS_2d8Ie=VxaI-5TKW z2H8C~i37b6Sr#D;Jh2? z<|Y*aJu&OB1r4Y&ukbo#9X6}ry;BHxw6?aiw6xj{TelX9b^w(k>^0z zG-g6g&Z{9~MV3wJp!j9jDqC@CR*{o{BNJ*`4Lx6;RYP=qYmvwbCrZWpm+>MXt(g*C zz6x1mdzpwnAjNLC^XHmU(B`7Vk8Uk-`9M#gprF9j>U^pU$RmOLTgU?8Q|B|r%nHX7 zIY5O7TKN^0Z*Q559ZHhTW>bJ7hanRxi9Puv-Srp#L`_zY%T=Cb14=m&0qKJ1;8wEB z6;3bjPC`l@5vj-&McYxSew}klvwee#O@_n(SN(M6ppP;D-HwkFG_;MHwQE2o#1XC>QgNpiNe zwIxYtvnA)%Q-aN|@~&63+tp0}Pwj!_lX6W;u^y5u%qf3sXnSwTcLpV+i<`rp4x`hW z4x^LP-;LR@yz;KzoSZa+(r(E#gPQuG)|{%Md}E0vi}Q_LmGpOG4=kUQYf^^w)O43Q eg&79rjU_V;N_t+CIZf3rV~r)NUB;>gN*Dm@G22N1 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-night-xxxhdpi/ic_clear_sky.webp b/app/src/main/res/drawable-night-xxxhdpi/ic_clear_sky.webp new file mode 100644 index 0000000000000000000000000000000000000000..e5ea0ecc89ef913d46d13051a980b6c93871e301 GIT binary patch literal 3352 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-night-xxxhdpi/ic_few_clouds.webp b/app/src/main/res/drawable-night-xxxhdpi/ic_few_clouds.webp new file mode 100644 index 0000000000000000000000000000000000000000..91955616be183b472bd0d752acc9592c5042e3a8 GIT binary patch literal 3180 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 K=_j0;LD~xr6J9d_ literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-night-xxxhdpi/ic_rain.webp b/app/src/main/res/drawable-night-xxxhdpi/ic_rain.webp new file mode 100644 index 0000000000000000000000000000000000000000..21326a9bbff18e23c5852b47e18c46ec0f2c70eb GIT binary patch literal 2598 zcmV+>3fc8iNk&E<3IG6CMM6+kP&iBx3IG5vX8;%w-{l~ZBt^+~@DRyBkmd5xvlWbU__7;gsPJTI8AE zxA(pZ0R%t*8V;DW9y|~Z4uU`c`g5=l2!Q|yK>!2*AP52w1R{flKo9^R;C};x5Qq$f z00r1wkMj1VT{SPu$}-?QUvVnt|*{_-N=Xp%cnD>2e zI{6%y<)&tK&+|0+xUQ?8*4B){369p^Z?W(DcG~WBU2ka%DAdf^^E_2Vs3Amz5D7x0 z2v9(XGD6f*#~2}|D59P=K!gw}5>yeRgCb&VrEQ>$811ylxULcMXiVF7fy=b@ab553 z`;KeoEiJbH{{#O2|6iZv|Gzt2H)4Zr)KG^qaKu0vF}j;!Z8~fw7ADWcf=*xwIt6N5xIL;@yp z{q4osIfd33fPGWS-0YP{Ux^*J)`uAbG5+e=w8)+^3XGi4MKCve@h;=buiYizuHAj1 z?uqTs|E3r;bLHa?##N)u1pDz}TH)v{hjCz(7lkr6{qz>&DyEuGF5e&NePVq7c4*qZ zfBei@zO(;KBBX;v`v4U z%>*9so$=%Yf-*?_eDw@~F-2U5gp4@V3V5XS_3*dtTo=0w0{zWB=XV7_#`e}fqXz%E z-BGfitM|BgfOZ)vt3|K;tPTR>^yUXq$6F;lZdt70+6v?xkEfOAYpbG0}d%a zuL*&#boMcKx{$&5KY)?55>WODY%cO{ZkNH=|LC@|HfK+ajRF|mKmMC~_=fn?8t`~L zzNWA+ujYZXQc&ixeGEKpKlINB?rENUAwm8E4k~gu#GOQRb$$LM_q~BDd!raffMb%F z05E^Z(BQX2^8hw-^Va6qGB@V8LA3b&3z(3EGB$FEpJ9ha08iLZ@NB-Yv6%ZrC-%L7 zVwQdz6`hCtfITe00gRZ2^1mITY2+3Azkz+`apg}N5E3B-*nctZw2Pkd^2%(u)#q`! zJY}uGsENGMx{MhSD}O;dcruU6Usz1=vhm{$y8!@hx1O`+@scqY+=6&DcLDInbP4AJ zFl8E-zUq=kkbsICaC3&|seR+7`P{Qa-4JLO%iJJi0b*(KUXdxGiLYG@mzHK>J8axC z@x?^0zBdekK%gm1w)6^w%kUPwEpYCoq zwG=k*%98|LrUYXw)aWw4p@w|M|CM}aO}KT{ylTgPwf6wNK$*u4{gPY{xw13ssTZy@ zY7JqKO&cQm19CBBR_k}_F|~%!-4Qf)=cVV68;?!8`vxNj0Kpht#Hr2gSu=R?Hi3jL z6k!`Zo&UIR%2Tc}3ZFnh3V^(v@b!WTrTZo2y6Q%UqSfy(b?SxuQkN*Q^)cFPT7lv} z?E0MhQQI5 zmDf&tR4%tvyl7 zcpJ{O=FxR(vMvMpJ?dlQ*EF?nuwYTO71f$|5Zn0jB$ULZY*&;fr`N2dN91Cwqb17y zN>y_LPSDPJ>~QrZ$ROH~kyIF?gQ;{_OG3u+6;oB04xQ3!wJ0LIvFo!Y1?A*dEFT$- zQIf6&$lPL#y2`7`smGbG1<}NzEeW}D+N`Z{q?8UaibzRnN(E;`Iw2r0r;A)mYKxpU zTRg~ZV;wOFFbaFD4BqS;7Y5(?$CSyetXRI!F0k%h_j`UvBwPgR3U&%!n> z3eGTfS{&U{+QeJj*1Qh7i=Y#QePjt)WJz`cnLtrLH|%0-Qn{S%z(zP~={9|87sF8j zUs_~Ai zp6@6dU~M{vH#n-P>{wHkno_!&p5RM|hHB)~y%?$f0Ug5&lTaC-o(1D@>#!Rv# zE0V0Vv)-lFOo30VbFnpdI4+&RE%mjvHC{V3Ieay>wGCa|F4B{h4hnQ(ODlR07RE)ALK1r=@-muK)TR$$E%=wh?Sn%f#TiI`U_3&ZPC z))!PQxYj_mJ*AjVn;w7aP+*N&+s-_#Ea>WLM764jae~JJfeF4i2TMAcSwy?H3`7m{ zM5JrWV4?wg+Oi0ZGu2VMmYJq_Jdx?q$6z2(*~e(=mjy%2WDQp2x5cT+ZRMl@krk^G I+5asu099NesQ>@~ literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-night-xxxhdpi/ic_scattered_clouds.webp b/app/src/main/res/drawable-night-xxxhdpi/ic_scattered_clouds.webp new file mode 100644 index 0000000000000000000000000000000000000000..fae0de73e8b6818711f7ddf6bcf108f29ede1400 GIT binary patch literal 2044 zcmVRbG7xVyWPEZGFeR*6i4 z#w4UM7?Ia1M042WOR*Ps9EQF z>X{{hBnWjz8D#d#B^IA#s-~*m0qDW0=HjPdxz~nW7)#msm zo+zbIXv0{KGDqxWJm~D?W(m0RH}!<-_<&%Xqc4s=|AZ-}XMocuC5o`a2XMXp(N1rz zluJ|ZD^mugq(I@*M10YxHn<^#l(W=Zn<|1P>aF_ZW)V{~stz0@c=0uLRuQ~-Co>1A zft$AnR{FQZp>h^JnG;@aNvsR?zwPb~VQCg7xxdeU3$oCJ{NrP1jpqYSmEkDcd})j% zy^v7e+FRoL=1st2$_`JbH96y@(9y!dC2yC=!7*)rdpEr&87JApxQ=+Ko(y?EA})a* zNRy@ef}DMRA1_axb;6|#=&n4Ts61S#!&?MAf%|4|)V$*T5!oRp4|-yr+`{kDh4yXt zxozHG6W)LoG~{|;Mw#NiW_MX^n4Se@^Y{^#kWfIc3@owUIt2__+J$`