* 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
* 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
* 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.
* Fix Fullscreen for notch
Test if notch or not, if notch just hide nav bar
* Fix Fullscreen on screen with notch
* Fix Fullscreen for screen with notch
<item name="android:windowLayoutInDisplayCutoutMode" tools:targetApi="27">shortEdges</item>
Is for renders content into the cutout area in both portrait and landscape modes therefore useless since in case of a notch we just hide the navigation bar
* Fix Fullscreen for screen with notch
* Fix Fullscreen for screen with notch
* Fix Fullscreen fo screen with notch
* Fix Fullscreen for screen with notch
* Fixup the styling on the Widget configuration.
* Actually pull services and entites for Widgets.
* Sort lists.
* Linting.
* Make sure entity_id is optional.
* Lint
* Basic widget functionality added
* Requested Fixes: 4 of 6 completed
* Changed widget to be responsive and have a light icon instead of a generic Home Assistant icon
* Fixed issue with latest rebase from upstream master
* Restricted label text to a single line
* Created repository and use case for widget data storage
* Fixed indentation
* Fix for Oreo and later Broadcast Intent restrictions
* Added negative feedback for widget. Wrapped try blockaround only the relevant commands.
* Removed defunct preferences utilities file
* Removed unnecessary try catch block
* Fixed issue where layout would reset upon screen rotation after activating the widget.
* Moved widget storage logic to repository as requested
* Added multiple widget icons with a drop down menu in the configuration activity.
Added labels to configuration activity.
Made configuration activity scrollable.
* Changed widget feedback to be more immediate and clear. Changed color of positive feedback.
* Changed callService HashMap to match Integration Repository
* Added testing for Integration callService method
* Changed how icons are stored so regeneration of resources will not randomize the stored icons
* Added basic WidgetUseCaseImpl tests
* Privatized localStorage access in WidgetRepositorImpl, removing it from the WidgetRepository interface
* Reload UI if the base url has changed.
AKA changed from remote/local.
* Linting.
* Now we don't rebuild dagger every time we change urls.
Need to fix tests.
* Test and comment.
* Url management now abstracted to new separate use case.
* Add preferences for URLS.
* Add wifi ssid check.
* Tests now passing!
* Now show error and bring to settings when can't connect.
* Fix PR comments.
* Home SSID tracking now working.
Also go to settings if refresh token fails.
* Fix test.
* isInternal is now optional, we can determine in the repository if needed.
* Rework preferences ordering and disable when not used.
* Extract strings.
* Add validation of URLs.
* Formatting.
* Fix tests.
* Set minimum accuracy for location updates.
* Redo logic to try up to 5 times.
If we get a location that meets accuracy needs then stop updates.
* Lint fixes.
* Fix Dead end when entering invalid Home Assistant url during onboarding #105
* Rename strings & fix CI build error
* Refactoring & Go back to onBoarding first and then show error
* Fixing Build Lint Error
Co-authored-by: HIQOscarStenqvist <55279974+HIQOscarStenqvist@users.noreply.github.com>
* Migrate preference categories to string resource.
Disable lint for missing translations.
* We now can change the device name.
* Linting Fixes.
* Tests a functional, now to add new tests.
* Fix all the tests for real this time.
Fix clean task being in wrong group.
* Add tests for persisting device registration.
* Extract string, remove summary, use androidx preferences.
* Migrate to injection and constants for registration data that is build time.
* Use SimpleSummaryProvider.
* Revert global missing translation lint error.
* Disable MissingTranslation lint globally.
* Fix some styling
Because `colorControlNormal` was set to white, the underline of a inactive textbox would be white. Making it hard to see where to input text.
* Update naming
* Add background color to style
* Update color name
* Lokalise: update of app/src/main/res/values/strings.xml
* Lokalise: update of app/src/main/res/values-it/strings.xml
* Lokalise: update of app/src/main/res/values-lv/strings.xml
* Lokalise: update of app/src/main/res/values-nl-rNL/strings.xml
* Lokalise: update of app/src/main/res/values-pl-rPL/strings.xml
* Lokalise: update of app/src/main/res/values-ro/strings.xml
* Initial pass on notifications support
* Linting and Dep updates.
* Basic Notification Support complete.
* Fix onboarding flow and test compile issue.
* Fix unit tests
* Bump tool versions.
* All tests pass... Need to clean up still.
* Using correct mockk features.
* Using correct mockk features everywhere.
* More test fixes.
* Fixed bug where ACCESS_BACKGROUND_LOCATION was used below API level 29. Removed ACCESS_COARSE_LOCATION permission since it has no purpose when ACCESS_FINE_LOCATION is used.
* Added a more generic validatePermissions to PermissionManager and renamed haveLocationPermissions to hasLocationPermissions.
* Initial work on zone based location tracking.
* Tests and enhancements.
* Fix unit tests.
* Fix test cases.
* Initial location preferences work.
* Location settings now function will requests for permissions when needed.
* ktlink formatting.
* Domain tests.
* Data tests
* Extract strings into resources.
* Remove translations until Lokalise SDK is added back.
Failing lint
* Update wording.
* Add icons and toolbar.
* Coloring the settings.