Smart Mirror
This is the source code for the prototype UI of my smart mirror projects outlined in this article and its follow-up.
To get started, import the whole project into
Android Studio, then build and run the apk.
The first prototype uses
HomeActivity.java
and the second one
uses CompactHomeActivity.java
.
While the time, date, and news show up without any additional changes, you need to first enable the
respective APIs in order to see the weather, commute, and body measures. Edit
keys.xml
and enter the keys for the
AccuWeather API, the AirNow API,
the Google Maps Directions API,
and the Withings API.
The home and work addresses and the travel mode for the commute are pulled from a
Firebase Realtime Database and can be edited in the
Firebase Console after
adding Firebase to your Android Studio project.
The client expects a commute_settings
path with string children home
, work
, and travel_mode
.
The composition of the compact UI
is also configured via the Firebase Database: The compact_ui_settings
path has boolean children
for body
, commute
, time
, and weather
that determine which ones are shown. See
database-example.json
for a sample layout.