* 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
* First attempt at CI action
* Split lints and test steps.
* Only run validate job on PR.
* First attempt at beta deploy via Github Actions
* Try to archive a debug version of application.
* Use static version of NDK.
* Add ENV variables to building the release.
* Ensure all secrets are used!
* Attempt to publish feature branch.
* Make sure all files are in place first.
* Ensure keystore is still accessible during deployment.
* Update README.md for the lack of automation for now.
* 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
* Switch to using Kotlin in of groovy for the gradle configurations.
* Gradle file cleanup.
* Switch to using Kotlin in of groovy for the gradle configurations.
* Gradle file cleanup.
* Retrofit (and maybe others libs) requires java compile options 1.8, still backwards compatible.
* Prep for release 1.9.0-XXX
* Fix ktLint errors.
* 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