Go to file
Justin Bassett 03478310c0
Build/Release Changes (#423)
* Fix app version in settings.

* Dependency Upgrades

* Enable beta -> production promotion via tag in Travis.

* Fix firebase release notes location.

* Add some logging around what we are building.

* TRAVIS_PULL_REQUEST is a number or false....
2020-02-13 21:44:28 -05:00
.github Add note to check companion docs (#361) 2020-02-10 13:00:09 -08:00
.travis Build/Release Changes (#423) 2020-02-13 21:44:28 -05:00
app Build/Release Changes (#423) 2020-02-13 21:44:28 -05:00
common Added dynamic auto-complete fields for widget configuration (#339) 2020-02-07 20:47:26 -05:00
data Make sure registration is required. (#370) 2020-02-11 08:55:26 -08:00
domain Sensor Support (#336) 2020-02-10 23:49:39 -05:00
gradle Build/Release Changes (#423) 2020-02-13 21:44:28 -05:00
.gitignore Alpha application (#4) 2019-11-02 06:38:40 -07:00
.travis.yml The version code is stuck at 50 (#179) 2019-12-19 14:02:59 -05:00
build.gradle Reload UI url more proactively (#275) 2020-01-19 13:51:10 -08:00
CLA.md Add required documents 2019-04-01 22:52:24 -07:00
CODE_OF_CONDUCT.md Add required documents 2019-04-01 22:52:24 -07:00
gradle.properties Initial commit 2019-04-01 22:52:08 -07:00
gradlew Build/Release Changes (#423) 2020-02-13 21:44:28 -05:00
gradlew.bat Build/Release Changes (#423) 2020-02-13 21:44:28 -05:00
LICENSE.md Add required documents 2019-04-01 22:52:24 -07:00
README.md Build/Release Changes (#423) 2020-02-13 21:44:28 -05:00
settings.gradle [ARCHITECTURE] Let's do some quality (#15) 2019-11-10 13:07:38 -08:00

📱 Home Assistant Companion for Android Build Status

Documentation

If you are looking for documentation around the companion applications check out the Home Assistant Companion Documentation. This will provide you instructions on using the applications.

Setup Development Environment

  • Download and install Android Studio

  • Download / clone this repository to a folder on your computer

  • Create a Firebase project at Firebase Console

  • Create two Android apps, one with io.homeassistant.companion.android and one with io.homeassistant.companion.android.debug as package name

  • Now download the google-services.json file and put it in the home-assistant-Android/app folder

    You can also use the mock services file instead of generating your own The file should contain client IDs for io.homeassistant.companion.android and io.homeassistant.companion.android.debug for debugging to work properly

  • Start Android Studio, open your source code folder and check if the Gradle build will be successful

  • If the build is successful, you can run the app by doing the following: click Run -> Run 'app'

  • Connect your phone or create a new virtual device following on screen instruction

  • 🎉

If you get stuck while setting up your own environment, you can ask questions in the #devs_apps channel on Discord.

Testing Dev Releases

We are using Travis to perform continuous integration both by unit testing, deploying dev releases to Play Store Beta and final releases to the Play Store when we release.

Quality

We are using ktlint as our linter. You can run a check locally on your machine with:

./gradlew ktlintCheck

This commands runs on our CI to check if your PR passes all tests. So we strongly recommend running it before committing.

To run a check with an auto-format:

./gradlew ktlintFormat

Translating

The project currently uses lokalise to translate the application. If you are interested in helping translate go the the link and click start translating!

Generating a release to production

Edit the build number in /app/build.gradle to your desired version. Be sure to leave ${vCode}!!

def vName = "X.X.X-${vCode}"

Merge that into master and allow the build to complete and validate on the beta channel. (Deploy there automatic)

Once ready to move to production tag the master branch and travis will start the promotion from beta -> production.