GithubHelp home page GithubHelp logo

hasansidd / android Goto Github PK

View Code? Open in Web Editor NEW

This project forked from home-assistant/android

0.0 1.0 0.0 1.32 MB

:iphone: Home Assistant Companion for Android

Home Page: https://play.google.com/store/apps/details?id=io.homeassistant.companion.android

License: Apache License 2.0

Kotlin 100.00%

android's Introduction

๐Ÿ“ฑ Home Assistant Companion for Android Beta Deploy

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 App 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. If you do not generate your own file push notification will never work

  • 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_mobile_apps channel on Discord.

Push Notifications

If you want to work on push notifications or use a development build with push notifications please go the server side code HERE and deploy it to your firebase project. Once you have your androidV1 URL to the deployed service, exchange that for your local builds PUSH_URL.

Testing Dev Releases

We are using Github Actions 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 to the link and click start translating!

Generating a release to production

  • Check over the draft release
  • Add any extra info needed and click Publish Release
  • This will cause a tag to be added to the project and the Production Deploy Workflow will handle the rest

android's People

Contributors

jbassett avatar cedrickflocon avatar neopilou avatar robbiet480 avatar kberstene avatar timmo001 avatar chriss158 avatar dshokouhi avatar homeassistant avatar balloob avatar bramkragten avatar awarecan avatar bcnelson avatar sorryusernameisalreadytaken avatar shbatm avatar quthla avatar jobhh avatar pdecat avatar tickaren avatar marciogranzotto avatar klaasnicolaas avatar mic92 avatar jeroenseegers avatar jameswong9 avatar yoxjames avatar gmatyszczak avatar frenck avatar thezoker avatar fchauveau avatar fabaff avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.