Commit graph

326 commits

Author SHA1 Message Date
Daniel Shokouhi 54a0d83c03
Fix dynamic field crash for service call widget (#954)
* Fix dynamic field crash

* Review comments
2020-09-19 14:23:20 -04:00
Daniel Shokouhi 9682b5d341
Add deadband setting for last reboot sensor (#951)
* Add offset setting for last reboot sensor

* Review comments
2020-09-19 14:20:48 -04:00
Daniel Shokouhi e874977320
Only do the migration if we have rows to migrate (#949) 2020-09-18 13:29:52 -04:00
Daniel Shokouhi e652696f1d
Allow sensors to have custom settings (#939)
* Allow sensors to have custom settings

* Add toggle to only grab one BSSID at a time

* Change keyboard logic to string or number to simplify it

* Review comments

* Review comments
2020-09-17 23:35:08 -04:00
Home Assistant Bot 005b759a28
Lokalise: updates (#945) 2020-09-17 14:58:04 -04:00
Daniel Shokouhi debeadb707
Hide NFC if the device reports it has no hardware (#941)
* Hide NFC if the device reports it has no hardware

* Add hardware check to webview activity
2020-09-16 11:47:09 -04:00
Justin Bassett 532ae9d366
Add the ability to share things (text) to Home Assistant. (#938)
* Add the ability to share things (text) to Home Assistant.

* Add caller package and subject if present.
2020-09-15 20:45:42 -04:00
uvjustin 75fbb9165b
Change exoplayer/play_hls payload type (#932)
* Change exoplayer/play payload type

* Change key name from payload to url
2020-09-15 20:37:37 -04:00
Justin Bassett 3a6291c38a
Fix Security Bypass (#935)
* Hide timeout when it isn't being used.

* Fix #925

* ktlint
2020-09-14 16:20:09 -04:00
Daniel Shokouhi cadf23e2a4
Fix wireless charging icon, replace unknown with none if no charger detected (#933) 2020-09-14 11:32:45 -04:00
Home Assistant Bot 60ecbaf0a5
Lokalise: updates (#928) 2020-09-13 13:10:58 -04:00
Daniel Shokouhi 9f704651dd
Fix some stale icons (#927) 2020-09-13 13:05:23 -04:00
Daniel Shokouhi 35eadc1bf3
Remove leftover shortcut code from settings (#926) 2020-09-13 13:01:54 -04:00
Daniel Shokouhi b3675d9560
Disable network manager by default (#921) 2020-09-11 18:46:40 -04:00
Justin Bassett 6e13b16214
Architecture Simplification (#917)
* Common compiling....
So I guess I have that going for me...

* It's very broken...

* App builds and tests pass....

* Remove other now extra files.
2020-09-11 15:39:30 -04:00
Daniel Shokouhi e5baf1e64c
Fix settings crash (#911) 2020-09-10 20:12:58 -04:00
Oleksandr Kapshuk da9d4dbc72
Initial public ip sensor commit (#908)
* Initial public ip sensor commit

* Review comments fix
2020-09-10 20:09:34 -04:00
Basset, Justin 3a3942883d Bump Database Version 2020-09-08 23:16:37 -04:00
Justin Bassett 2c990e2c7b
Fix a race condition Sensor Update (#907)
* Fix a race condition between a sensor updating and sending the data to Home Assistant.

* ktlint

* UI enhancements + force update if re-enabled.
2020-09-08 23:09:13 -04:00
Daniel Shokouhi 01d33067e7
Split up audio attributes, part 1 (#905) 2020-09-08 22:12:40 -04:00
Daniel Shokouhi 514532b282
Split up WiFi sensor, part 1 (#904)
* Split up wifi attributes into their own sensor, part 1

* Add note to remove attributes after next release

* Wifi to WiFi for consistency
2020-09-08 17:52:20 -04:00
Daniel Shokouhi f771048f73
Split up bluetooth state into its own sensor, part 1 (#901)
* Split up bluetooth state into its own sensor, part 1

* Fix typo and add note to remove attribute

* Lint

Co-authored-by: Justin Bassett <bassett.justint@gmail.com>
2020-09-08 16:18:18 -04:00
Daniel Shokouhi 10c5769349
Split up external storage to its own sensor, part 1 (#902)
* Split up external storage to its own sensor, part 1

* Lint

* Add note to remove attributes after the next release
2020-09-08 16:13:50 -04:00
Daniel Shokouhi 88ce628cec
Split battery attributes, part 1 (#899)
* Split up battery attributes into their own sensors, part 1

* Switch from phone to device for description

* Add a note to remove the attributes on next release
2020-09-08 16:03:14 -04:00
Daniel Shokouhi a71378ed7e
Fix state change when we fail to send data to HA (#903) 2020-09-08 15:33:39 -04:00
Daniel Shokouhi c0d4b225ed
Breaking Change: Only send updates when a state change has been detected (#891) 2020-09-08 09:21:57 -04:00
Daniel Shokouhi e84abafa78
Add more icons to the settings screen and force number pad for numeric only field (#895)
* Add more icons to the settings screen and force number pad for numeric only field

* Use correct exception

Co-authored-by: Justin Bassett <bassett.justint@gmail.com>
2020-09-08 09:11:25 -04:00
Anna Tikhomirova 2de7ddab3e
Discard duplicate locations coming within seconds of each other (#888)
* Discard duplicate locations coming within seconds of each other

* Keep identical update timeout to 15 minutes.

Co-authored-by: Justin Bassett <bassett.justint@gmail.com>
2020-09-08 08:57:48 -04:00
Daniel Shokouhi f9f1f6f0d6
Breaking Change: Allow attributes to send over their proper data format (#889)
* Allow attributes to send over their proper data format

* Review comments

* Lint
2020-09-07 13:38:31 -04:00
Anna Tikhomirova 06afa32bf5
Do not trigger sensors update on alarm and bluetooth events if the corresponding sensor is disabled (#884) 2020-09-06 08:38:33 -04:00
Daniel Shokouhi ba127fd5bd
Add power sensors: Interactive, Doze, Power Save (#885)
* Add power sensors

* Fix state translation to allow the sensors to be binary
2020-09-06 08:28:04 -04:00
chriss158 aee090144b
Fix theme selector (#881)
* Fix theme selector

Right now the theme selector is broken for some languages,
because the internal options values were translated by mistake.
Marked them as untranslatable

* Also set pref_theme_option_labels as untranslatable
2020-09-04 20:18:15 -04:00
Oleksandr Kapshuk 1b5cbf1712
Update sensors bugfix (#879)
* Update sensors fix

* Include unregistering into the condition check
2020-09-04 08:28:11 -04:00
Daniel Shokouhi 8f017f3b90
Only show sensors that are available for the device (#877)
* Only show sensors that are available for the device

* Review comments

* Filter before forEach to remove unneeded condition
2020-09-03 20:45:25 -04:00
Daniel Shokouhi c221e85fa4
Allow sensors to be disabled by default until user enables them (#875)
* Allow sensors to be disabled by default until user enables them

* Review comments
2020-09-03 15:13:29 -04:00
Anna Tikhomirova 986655c912
Ensure that we only register once for location updates (really this time) (#874) 2020-09-03 14:16:16 -04:00
Daniel Shokouhi bd2cfb5aa4
Only register once for hardware sensors (#873)
* Only register the listener if it is not registered already

* Add more logging, move variable to companion object
2020-09-03 14:13:51 -04:00
Daniel Shokouhi 833534f920
Switch to string for translating sensor names (#858)
* Switch to string for translating sensor names

* Fix minimal version

* Add sensor friendly name to strings for translation

* Lint

* Fix bad merge...

Co-authored-by: Justin Bassett <bassett.justint@gmail.com>
2020-09-02 00:59:54 -04:00
Daniel Shokouhi 68b8987704
Use a foreground service for the sensor worker to make updates more reliable (#854) 2020-09-02 00:44:13 -04:00
Anna Tikhomirova 2ec8abd1b3
Enable Wi-Fi and Geocode sensors during the initial setup if location permission is granted (#853)
* Enable Wi-Fi and Geocode sensors during the initial setup if location permission is granted.

* Fix minimal build
2020-09-02 00:40:59 -04:00
Justin Bassett df621311b1
Build Enhancements (#866)
* Nicer changelog printing
* Cache the gradle Cache
* Playstore updated nightly not on commit.
2020-09-02 00:34:19 -04:00
Home Assistant Bot 7678d0419b
Lokalise: updates (#865) 2020-09-01 12:20:14 -04:00
Paulus Schoutsen 73e935279e
Guard for null in bluetooth sensor (#864) 2020-09-01 10:43:17 -04:00
Justin Bassett 72888cc754
Fix location Spam (#863)
* 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.
2020-09-01 10:05:30 -04:00
Daniel Shokouhi 7ffabca380
Add description for each sensor on details screen, only show device class and icon if they are set (#847)
* 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
2020-08-30 18:08:53 -04:00
Justin Bassett 4fe2489432
Sentry.io Changes (#846)
* Set the sentry.io release version explicitly.

* Include session tracking to improve crash support.

* ktlint

* Remove comments in build
2020-08-30 15:19:20 -04:00
Daniel Shokouhi 83c4dbb92c
Add link to companion docs under app configuration (#845)
* Add link to companion docs under app configuration

* Review comments
2020-08-30 08:18:35 -04:00
Justin Bassett de1b8d58d9
More build updates (#844)
* Remove version code from version string.

* Make sure true releases work.

* Beta Sentry.io releases

* Really do Sentry,io Releaes

* Sentry.io releases for production
2020-08-29 18:23:58 -04:00
Anna Tikhomirova 7dde8bba7b
Remove excess calls to setupLocationTracking (#843)
* Remove excess calls to setupLocationTracking

* Remove unused import
2020-08-29 17:02:45 -04:00
Daniel Shokouhi 51a6fa5c0c
Fix location updates in the background (#834) 2020-08-27 17:31:13 -04:00
Daniel Shokouhi e6f2e589d2
Fix geocoded crash, report expected minimum accuracy for location (#832)
* Fix geocoded crash, report minimum accuracy for location

* Lint

* Always log exceptions!

Co-authored-by: Justin Bassett <bassett.justint@gmail.com>
2020-08-27 13:15:58 -04:00
Home Assistant Bot 5ee23a764e
Lokalise: updates (#827) 2020-08-27 00:22:00 -04:00
Justin Bassett 63285c4cc6
Fix requests for accurate location on app open. (#824) 2020-08-26 15:10:12 -04:00
Justin Bassett 63ded1a1d3
Hopefully fix the background location updates randomly stopping. (#816) 2020-08-25 23:23:00 -04:00
Justin Bassett 0a17e8e09b
Sensor Crashes (#819)
* Ensure that location isn't null.

* Ensure a single sensor can't stop the rest.
2020-08-25 23:14:02 -04:00
Daniel Shokouhi 9cae26b771
Add do not disturb sensor (#813)
* Initial commit of DND sensor

* Update sensor name

* Adapt to new sensor model

* Review comments
2020-08-25 23:04:25 -04:00
Daniel Shokouhi a958b0f95c
Use latest context in pressure and proximity sensor (#818) 2020-08-25 22:44:28 -04:00
Justin Bassett c6c35411bc
Fix wakelock error for requesting accurate location. (#815)
* Fix wakelock error for requesting accurate location.

* ktlint
2020-08-25 22:42:40 -04:00
Justin Bassett 41d7d5f82e
Sensor Refactor (#809)
* 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.
2020-08-25 15:17:21 -04:00
Daniel Shokouhi 5e1d275dce
Proximity Sensor (#801) 2020-08-25 13:08:26 -04:00
Krisjanis Lejejs d8990b18a4
Fixed widget errors with service calls containing 'all' (#810) 2020-08-25 13:02:33 -04:00
Daniel Shokouhi 101e519f32
Add audio sensor (#806)
* Add audio sensor

* Lint

* Lint
2020-08-25 11:44:02 -04:00
Daniel Shokouhi bcd9a3b0fc
Initial commit of pressure sensor (#803) 2020-08-25 11:30:42 -04:00
Oleksandr Kapshuk bd3b58c007
Activity recognition sensor added (#784)
* Activity recognition sensor added

* Added all probable activities with their confidence

* Corrected update interval

* ktlint
2020-08-25 10:52:58 -04:00
uvjustin c50c0adf0e
Add Exoplayer view and interface (#739)
* 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
2020-08-25 10:38:51 -04:00
chriss158 abfceba63b
Fix back stack of mobileAppIntegrationFragment (#804) 2020-08-22 14:49:55 -04:00
Justin Bassett 87647eeab1
Support opening NFC Settings from external bus. (#772)
* 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.
2020-08-22 14:42:34 -04:00
chriss158 7844360760
Fix top button back stack of settings activity (#802)
* Fix back stack of settings activity

* Remove overwrite of onBackPressed because not using super

* Fix lint
2020-08-21 21:39:06 -04:00
Krisjanis Lejejs 1fdb9e062a
Added onDeleted function to Static widget (#797) 2020-08-21 09:05:09 -04:00
chriss158 631b9d1cf5
Add themes selector (#780)
* 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
2020-08-21 09:04:11 -04:00
Krisjanis Lejejs b4a6a607b1
Added possibility to use multiple attributes for static widgets (#789)
* Added possibility to use multiple attributes for static widgets

* Fixed migration

* Remove empty line

* Fixed catch statement

* Renamed TAG
2020-08-20 09:27:42 -04:00
Krisjanis Lejejs ba621ca00e
Increased connection timeout delay (#795) 2020-08-20 09:20:16 -04:00
Daniel Shokouhi 26de39f9f0
Last reboot sensor (#794) 2020-08-20 08:53:35 -04:00
Oleksandr Kapshuk fd62b0e280
Enhance PhoneStateSensorManager with carrier information sensors (#786)
* Enhance PhoneStateSensorManager with carrier information sensors

* Check for api version while getting available sensors
2020-08-20 08:17:37 -04:00
Daniel Shokouhi c61bf25854
Add steps counter sensor (#792)
* Add steps sensor

* Fix permission and set correct icon
2020-08-19 20:55:38 -04:00
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
Krisjanis Lejejs 58312c134e
Added multiple entity state widget options (#771)
* Added entity widget text size, separator options

* Fix kLint

* kLint#2

* Fixed DB migration

* kLint fix

* Improved code quality
2020-08-19 07:48:36 -04:00
Justin Bassett 1372902dae
Fix name-spacing issue (#781)
* Apparently Kotlin does funny things when importing a class with the same name as the current class.

* ktlint.
2020-08-16 23:15:32 -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
chriss158 6bc19488b4
Add easier way to use of emoji in notifications (#741)
* Add easier way to use of emoji in notifications

* Try to exclude org.json:json

* Fix lint
2020-08-16 21:57:47 -04:00
Justin Bassett 47a88000e9
Fix issue with Room DB migrations. (#778)
* Fix issue with Room DB migrations.

* Add migration for sensors.
2020-08-16 15:59:08 -04:00
Daniel Shokouhi 16a0f66a8d
Change order of package for apps that don't provide it (#775)
* 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>
2020-08-16 14:44:40 -04:00
Daniel Shokouhi b24574c46c
Allow certain fields to be copied (#776) 2020-08-16 13:51:01 -04:00
Daniel Shokouhi 0e885e7b80
Attempt to fix SD card path in storage sensor (#770)
* Attempt to fix SD card path in storage sensor

* Update app/src/main/java/io/homeassistant/companion/android/sensors/StorageSensorManager.kt

Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>

Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2020-08-15 22:45:05 -04:00
Daniel Shokouhi 469be0310d
Fix light sensor crash on older devices (#766) 2020-08-15 07:43:04 -04:00
Justin Bassett 4c6610a9c9
Fix duplicate attributes showing in UI. (#765) 2020-08-15 00:15:05 -04:00
Daniel Shokouhi 370b8bcecc
Add light sensor (#761)
* First commit of light sensor

* Fixes for light sensor

* Lint

* Fix sensor receiver fatal error

* Review comments
2020-08-14 23:31:48 -04:00
Justin Bassett 15735f24c9
Dagger Injection Fixes (#764)
* Fix sensor receiver fatal error

* Fix other missing applicationContext in other locations.

Co-authored-by: Daniel Shokouhi <dshokouhi@gmail.com>
2020-08-14 22:58:09 -04:00
chriss158 705702f087
Fix status bar / navigation bar / app colors on dark mode (#749)
* 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
2020-08-14 22:00:39 -04:00
Daniel Shokouhi f04f846057
Add storage sensor (#750)
* Initial commit of storage sensor

* Lint

* Fix sensor update and update storage sensor
2020-08-14 12:00:31 -04:00
Justin Bassett 8f8bea2878
Try to fix some location issues (#753)
* Make sure we don't sent a crazy inaccurate location.

* Attempt to keep a wakelock when requesting accurate location.

* Lint
2020-08-14 08:42:16 -04:00
Justin Bassett 2e5ee34002
Ensure when sensors are disabled they aren't still polling. (#752) 2020-08-14 08:32:17 -04:00
Home Assistant Bot 34324614c8
Lokalise: updates (#747) 2020-08-13 10:42:08 -04:00
Justin Bassett 28de8583a8
Remove multiple sensor receivers (#746)
* Remove multiple sensor receivers
Remove PermissionManager.kt

* Fix minimal build.
2020-08-13 10:20:03 -04:00
Daniel Shokouhi 8fef3480c6
Add Bluetooth sensor (#743)
* Initial commit of bluetooth sensor

* Remove unit of measurement

* Lint

* Lint
2020-08-13 00:56:40 -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
Daniel Shokouhi 6e82d3743c
Battery and next alarm sensor improvements (#740)
* Battery and next alarm sensor improvements

* Lint
2020-08-12 17:43:11 -04:00
Daniel Shokouhi 7b0e28ffa5
Update wifi sensor on state changes (#734)
* Update wifi sensor on state changes

* Lint
2020-08-11 15:29:41 -04:00