* Reduce/eliminate the number of duplicate location updates.
* Limit accurate location requests to once per minute max.
* Remove some validation code.
* Swap around statements.
* Send location every 15 minutes even if it's the same.
* Add description for each sensor, only show device class and icon if they are set
* Minor cleanup
* Lint
* Switch to better implementation per review comments
* Only use basicSensor since it contains all the data we need
* Persist all sensor data so we can make UI reflect last sent sensor data.
* No value can be null.
* UI now uses database rather than new values.
* Sensors are now async and UI uses entities rather than actually polling sensors.
* Opening sensor ui now causes us to request sensor updates every 10 seconds.
* Fix minimal build.
* Don't just poll the sensors, send updates to HA.
ktlint
* Fix DB migration.
* PR Review Fixes.
* Fix new sensors for new format.
* Only attempt to register if sensor entity has enough data.
* Add Exoplayer view and interface
* Fix play/pause buttons
* Support PictureInPicture
* Migrate dependencies to Config.kt
* Move code from inline to functions
* Add spacing in playback control layout
* Changes per @balloob
* Fix ktlint errors
* Support opening NFC Settings from external bus.
* Support frontend passing tag to write.
* ktlint
* Update to return empty object when tag is written.
* Remove commented code
* ktlintFormat
* Loosen restriction on tags to include more than just UUID.
* Close NFC activity when writing for frontend.
* Add themes selector
* Fix lint
* Fix test
* Remove german translation
* Default theme "system" on >= Pie
* Use useSimpleSummaryProvider for themes preference
* Fix lint
* Fix dark mode wait color text in "unable to connect to home assistant" message
* Fix tint of widget button icon in light mode
* Implement ThemeManager to handle theming
* Fix lint
* Fix WebViewPresenterImplSpec test
* Functional widgets with all material icons to pick from.
* Load icons in io thread since it takes a hot second.
* Bump DB version.
* ktlint
* Blow away widget prefs since it was a hack anyway.
* Migrate static widgets to room db.
* ktlint and tests.
* Little more cleanup.
* More ktlint.
* Initial attempt at Migrations.
* Add missing Migrations.kt
* Add full migration support from old to new widgets.
* Change order of package for apps that don't provide it
* Update app/src/main/java/io/homeassistant/companion/android/sensors/NextAlarmManager.kt
Co-authored-by: Justin Bassett <bassett.justint@gmail.com>
* Lint
Co-authored-by: Justin Bassett <bassett.justint@gmail.com>
* Fix status bar / navigation bar color on dark mode
* Fix colors on other activities (onboarding activity etc.)
* Fix action bar colors on dark mode
* Fix alert dialog / widget / widget config colors for dark mode
* Align colors for dark mode with dark mode color in home assistant
* Initial work on settings UI and getting them all to return.
* Basic views + flow done
* No icons in sensor detail.
* Refactor room stuff to make more sense.
* Add permission checking and DB entries for sensors!
* Make sure we have sensors sorted.
* Move LocationBroadcastReceiver.kt into sensors package.
* Move SensorUpdater.kt into sensors package.
* Sensors can now be enabled and disabled and displays data in UI.
* Added Location "Sensors".
* Start a single receiver to handle all sensor based stuff.
* Fix minimal flavor.
* Rework onboarding flow to use Daos
* Add categories to sensors
extract strings
add icon.
* linting
* Fix tests and minimal.
* Fix merge issues.
* Remove unused files.
* Bring phone sensors inline.
* Fix statusbar color if theme used rgb color instead of hex color
* If a theme is using rgb instead of hex for color,
the status wont be colored.
Solution: Try to parse rgb color first. If not possible, parse hex color
* Fix missing imports
* Merge branch 'master' of F:\Colin\Projects\home-assistant-android-companion-colin-cachia with conflicts.
* Static Widget Bugfixes:
- Safely typing any attribute to String
- Removed showing of N/A when attribute not found
* Initial rip out of most of the Googley stuff.
* Lokalise plugin and dependencies removed.
They would be more useful if we had a large app with many translations. However, with most of our UI being a PWA the usefulness of it is very limited.
* Both apps now build.... Yay
* Formatting.
* Tests and checks pass.
* Make sure Github Actions are up to date.
* Fix more unit tests.
* ktLint
* Use config class for gradle dependencies.
* Widget service calls will fail, if a number for any field is used.
Because the GSON parser will parse every integer to a double.
This is especially a problem on the service alarm_control_panel.alarm_disarm
which needs a code to disarm the alarm panel.
So every code will be converted to .0 (eg. 1234 would be 1234.0)
Solution: Use Jackson instead of gson
GSON problem described here (not fixed):
https://github.com/google/gson/issues/1084
* Fix Biometric Unlock
* Add Prompt Unlock function directly in WebViewActivity
* Added session timeout in app settings
* App is locked when resumed (after session timed out)
* When the application is locked, the screen is blurred (no quite obnoxious splash screen to look at), which allows the HA frontend to be loaded before or during unlocking
* No button needs to be touched for unlock
* When the unlock prompt is displayed, the back button close the app
* Fix issues #555 and #587
* Fix left empty notifications groups
* If user clicked on a notification and this notification was in group, the left empty notification group was not deleted.
* If the notification ran into timeout and therefore was deleted and the notification was in group, the left empty notification group was not deleted.
* If a notification with a tag and a group is used and the user decides to remove the group from notification (using the same tag property), the left empty notification group was not deleted.
* Use NotificationManagerCompat instead of NotificationManager
* To be more compatible, use NotificationManagerCompat all over
* Refactored two openUri call and delete dead handleIntent method
* Fix not working clickAction
* Because of missing cancel current, the clickAction used a false intent
* If only the group and the notification inside should be canceled, then the whole group gets now canceled,
instead of first cancel the notification and then the group. If the group is canceled, all notification inside of the group gets canceled.
With this logic we save one call of cancel method.
* Add CookieManager
CookieManager added to accept cookies in Webview
Fix#548
* Replace CookieManager by cookieManager
Replace "CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true)" by " cookieManager.setAcceptThirdPartyCookies(webView, true)"
* Fix notification groups
* Fixed empty notification group left, if all notification in groups are deleted
* Fixed not working notification grouping, if same tag and group are used before or in same message
* Notification improvements
* Renamed property priority to importance, ttl to timeout
* Rename "Default channel" to "General" (#593)
* Set led color for notification (#422)
* Set vibration pattern for notification (#357)
* Set persistent for notification (#403)
* Fix ClickAction with relative Lovelace Link not working (#605, #486)
* Rename notification icon property to icon_url
* Implemented a quick solution to utilize channels on android to differentiate notifications.
* Implemented removing of notification channel. Restructured onMessageReceived.
* Added ChargingBroadcastReceiver which can instantly update plugged in status
* Couple formatting changes noticed after pushing. Will squash this message
* Addressed PR Comments
* More PR comments!
* Pulled out logic into SensorUpdater
* Couple thigns I noticed after pushing... because of course I did.
* Removed unnecessary Binds
* Remove Battery State related information from Battery Level
* Extract determining battery icon to own method
* Update battery icon method with new parameters
* Add second battery sensor, Battery State
* Calculate battery percentage in own method
* Enable Fullscreen Video & Add PIP
Enable fullscreen video
Add PIP
* Enable Fullscreen Video & Add PIP
Enable fullscreen video
Add PIP
* Enable Fullscreen Video & Add PIP
Change from "26" to "Build.VERSION_CODES.O" in onUserLeaveHint()
* Support relative URLs for notifications.
Images, clickAction, and actions URI now support relative to HA urls.
* Add authentication support for relative urls.
* Fix issue with tag causing notifications to not cancel.
* Ensure requestCode is unique.
* Add better handling for slow connections.
* Add ability to auto close alert on connection.
* Fix linting.
* Only cancel alert if we actually connect.
* Better handling of action events.
Show toast when we fail to send event and keep notification so you can
retry.
* Extract message string.
* Updated error toast message.
* 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....
* Alert when SSL error happens during onboarding.
* Remove 'ok' string and use android default.
* Remove 'ok' string and use android default.
Fixes: https://github.com/home-assistant/home-assistant-android/issues/323
* Use androidx Alert in AuthenticationFragment.
* Linting.
* Ensure we only optimize devices that can.