A simple weather app that uses the Swedish weather service SMHI to fetch weather data, and Krisinformation for emergency information from Swedish authorities. MVI written entirely in Kotlin. Icons used in this project can be found here. The data is licensed under Creative commons Erkännande 4.0 SE.
Note: While both distribution channels track the same branch, each release are signed with different keys. Thus you cannot install the F-droid version and upgrade via Play store unless you first uninstall the F-droid version.
Changelog available here in keep-a-changelog format.
This project builds on concepts from Clean Architecture.
The presentation layer is heavily inspired by Jake Wharton's talk on Managing State with RxJava.
The project also uses a modified Either
type originally written by Fernando Cejas with some additional extensions added.
This project uses ktlint for linting.
./gradlew ktlint
./gradlew ktlintFormat
If you would like to contribute code to the project fork the project and find an issue/feature you would like to work on. Ideally check with a maintainer so you dont work on something that might be in the workings already.
Your pull request will be failed by the build server if it does not have passing unittests and lintchecks. A build can also be failed if you decrease the testing coverage.
When submitting a pull request make sure you squash the commit(s) for that PR -- Do this so we can keep a clean git history.
This project uses crowdin as localization management platform. You
can checkout this project here to start translating.
After your translation(s) has been approved, feel free to submit a pull request with your
name added to TRANSLATORS
file.
Copyright 2018 Niclas Kron
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.