Commit graph

37 commits

Author SHA1 Message Date
Justin Bassett 8e5f063200
Add a template widget (#790)
* Add backend for requests to get a template.

* Add frontend for template widgets!

* ktlintFormat

* Fix tests.
2020-08-19 20:49:34 -04:00
Justin Bassett 4c91c34ec8
Let widgets use any material icon (#745)
* 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.
2020-08-16 22:18:20 -04:00
Justin Bassett 15f6e2449e
NFC Fixes (#744)
* Ensure NFC is only enabled for valid Home Assistant Versions.

* Use correct deviceId.

* Fix crash when scanning some tags.
2020-08-12 22:45:08 -04:00
Justin Bassett d016aff47e
Sensor Screen (#742)
* 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.
2020-08-12 21:34:15 -04:00
Oleksandr Kapshuk a8bd4da0a0
Telephony state support (#731)
* Add support for telephony states #441

* Settings and permissions for call tracking

* Settings and permissions for call tracking impl

* Broadcast receiver for call tracking

* Removed localized strings

* Update AllSensorsUpdaterImpl.kt

Merge fix

* Lint, bugfixes and improvements

* Lint

* Update wording.

Co-authored-by: Justin Bassett <bassett.justint@gmail.com>
2020-08-12 18:11:28 -04:00
David Luhmer ec9ff0ae6b
Add nfc support (#689) 2020-08-11 10:37:43 -04:00
Colin Cachia 6da051b020
Adding ability to display static entity widget in launcher (#687)
* Adding ability to display static entity widget in launcher

* Code review changes
2020-08-03 16:27:52 -04:00
Neonicus 756556046a
Fix Biometric Unlock & Enhancement (#625)
* 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
2020-07-05 10:09:17 -04:00
Tim f87ed32560
Feature/switch to kotlin dsl (#595)
* 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.
2020-06-10 15:16:11 -04:00
Aidan Timson d9cd0f502b
Add Panel Shortcuts (#562)
* Add Panel Shortcuts

* Remove unused imports

* Lint

* Cleanup

* Use localised strings for title

* Cleanup logs

* Fix strings

* Change map logic

* Move to connection-status

* Move logic for pinned shortcuts to new activity

* lint

* Reset strings formatting

* Lint

* lint

* Lint

* Remove activity for second fragment and move into directory

* Lint

* Lint

* Lint

* Lexographic
2020-05-04 09:38:39 -04:00
Justin Bassett e28d0fee62
Bugfix/various (#546)
* Catch geocode sensor crashes.

* Remove battery from location sensor.
2020-04-03 08:24:56 -07:00
Neonicus ed58752a09
Add Lock/Unlock App with biometric or screenlock credentials (#484) 2020-03-07 08:08:15 -05:00
Justin Bassett 5f1c72586b
Support for multiple ssids. (#485)
* Support for multiple ssids.

* Implementation of requested changes.

* Implementation of the official way of showing a custom preference dialog.
2020-03-04 13:16:13 -05:00
Justin Bassett c630e24ace
Ensure we re-register sensors if we can't update them. (#462) 2020-02-23 18:34:00 -05:00
Justin Bassett a5b5e374d5
Feature/notifications updates (#461)
* 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.
2020-02-23 18:28:38 -05:00
Justin Bassett f5c954b814
Allow front end to force credential refresh. (#457) 2020-02-22 21:13:27 -08:00
Justin Bassett aacb4ea605
Sensor Support (#336) 2020-02-10 23:49:39 -05:00
Kevin T. Berstene 2283042393
Added dynamic auto-complete fields for widget configuration (#339) 2020-02-07 20:47:26 -05:00
Justin Bassett 33ffe4a70c
Actionable Notifications (#332) 2020-02-02 22:50:28 -05:00
Neonicus bc03c149e1 Add Fullscreen option (#304) 2020-01-26 19:47:51 -05:00
Justin Bassett a21f0fea72 Fixup the styling on the Widget configuration. (#291)
* Fixup the styling on the Widget configuration.

* Actually pull services and entites for Widgets.

* Sort lists.

* Linting.

* Make sure entity_id is optional.

* Lint
2020-01-24 11:21:31 -08:00
Justin Bassett d1a846a5f0
Revert "Add Fullscreen option (#293)" (#295)
This reverts commit 922be6f168.
2020-01-23 09:35:42 -05:00
neopilou 922be6f168 Add Fullscreen option (#293) 2020-01-23 08:52:57 -05:00
Kevin T. Berstene 9f5a61b0ce Basic widget functionality added (#212)
* 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
2020-01-22 14:55:51 -08:00
Justin Bassett 195bc9601c Reload UI url more proactively (#275)
* 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.
2020-01-19 13:51:10 -08:00
Justin Bassett bda966b270
Status Bar Color Match Theme (#268) 2020-01-17 18:33:27 -05:00
Justin Bassett ffdc3c3750 Home Network Settings (#209)
* 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.
2020-01-03 11:43:25 +01:00
Justin Bassett 8604f1548f Support remoteUiUrl from the mobile_app integration. (#195)
* Support remoteUiUrl from the mobile_app integration.

* Update testing for new URL methods.

* Respect request into repository.
2019-12-24 16:53:12 +01:00
Justin Bassett 715ca9e362 Allow editing of Device Name (#158)
* 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.
2019-12-19 16:40:26 +01:00
Cedrick Flocon 7ee9dfee4d Url improvement (#156)
* Save url with string

* throw malformed http url exception if the url is not valid

* catch malformed http url exception
2019-12-16 07:07:06 +01:00
Justin Bassett 20cc710490 Basic Notification Support (#140)
* 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.
2019-12-12 09:17:26 -08:00
Justin Bassett 594936c088 Feature/location settings (#129)
* 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.
2019-12-11 14:02:31 -06:00
Justin Bassett a0c9974116 Fix vertical accuracy. (#116)
* Send 0 instead of null for vertical accuracy if we don't have real value.

* Remove nullable fields if they aren't nullable.
2019-12-05 15:11:30 -08:00
Justin Bassett 42ff5acf99 Device Tracking (#74)
* Initial work on requesting updates to location.

* Location now working in background too for Q+.

* Location now sent back to HA.
2019-12-03 19:19:30 +01:00
Marcio Granzotto Rodrigues 7d7fc0bd6e Code formatting and linter (#73)
* add ktlint to the project

* Auto format and fix linter issues

* Add Quality section to README
2019-12-01 09:05:37 +01:00
Justin Bassett ea56328a52 Initial work on integrating the mobile_app component. (#25)
* Initial work on integrating the mobile_app component.

* Tests because even if I don't like to write them, I probably should.

* Remove unused dependency for now.

* Fix view related PR comments, migrate to view flipper to make more
consistent with other UI.

* Migrate from error handling at Repository to Presenter for Integration.

* Extract register device data class.

* Extract the mapping of DeviceRegistration to RegisterDeviceRequest.

* Extract ensuring we have a valid, refreshed session.

* Unique localStorage per usage to avoid name collision.
2019-11-15 07:59:41 +01:00
Cedrick Flocon 3219504a12 [ARCHITECTURE] Let's do some quality (#15)
* extract dependencies

* Update test command and add lint

* Move Retrofit into data module and test authentication service

* Implement authorization repository

* Implementation authentication usecase

* Implementation presenter layer

* Remove old session stuff

* Java time backport

* Dependency with dagger
2019-11-10 13:07:38 -08:00