Commit Graph

1794 Commits

Author SHA1 Message Date
cpfeiffer 8fc6dfeca7 Improved AlertNotificationProfile
AlertLevel, AlertCategory, Control Point
2017-03-14 00:45:54 +01:00
cpfeiffer 4b230412b6 Some utility methods + tests 2017-03-14 00:45:54 +01:00
Andreas Shimokawa a6bba1b094 In CCv2 allow to disconnect with long press in any state expect "not connected" 2017-03-13 22:27:59 +01:00
Daniele Gobbetti 0ac77fc0a4 Remove the legacy ControlCenter and its usages. Add New GUI to the changelog. 2017-03-11 19:49:57 +01:00
Daniele Gobbetti 183d89dc47 Show the full changelog when selecting the Changelog entry in the navigation drawer.
Show a line separator between groups of icons in the navigation drawer.
2017-03-11 17:10:51 +01:00
Daniele Gobbetti ecd2c166c2 Use constraintlayout for the cardview and few improvements.
Icons are now bigger.
"find device" is in the icon row
2017-03-11 16:50:12 +01:00
Daniele Gobbetti 2c152e8447 Override textColorPrimary and not textColor as it conflicts with support libraries (e.g. snackbar text).
Further, use textColorPrimary in the graphs instead of textColor.
2017-03-11 16:48:55 +01:00
Daniele Gobbetti 8117caf73c Merge branch 'master' into new_GUI 2017-03-11 16:44:16 +01:00
Andreas Shimokawa fe870ebc77 Move step goal generic, show proper sleep goal in weekly sleep goal
It is now also accessible via "About You" but still remains in the Mi Band Settings
(because it has to be setup initially by a "wizard")
2017-03-11 11:34:03 +01:00
Daniele Gobbetti a1af4a4599 Add classification for Squeaky Mail as mail app. Fixes #589 2017-03-11 10:23:57 +01:00
Translation Bot 05a28cc580 Pebble: Fix screenshots for Android N
This was a regression only in master since we switched to SDK 25

This commit also fixes all other warnings with AbstractDeviceSupport.java
2017-03-10 23:10:40 +01:00
License Bot e392fbfd80 Add license header to all java files. 2017-03-10 14:53:19 +01:00
Daniele Gobbetti a566a6656c Fix line endings (no content changes) 2017-03-10 13:43:47 +01:00
cpfeiffer 6282597790 Handle BT issues with discovered characteristics
It occurred to me that onServicesDiscovered() was called multiple times
whenever I connected to my Mi Band 2. Either the band actually sent the
characteristics in multiple chunks or Android itself notified multiple
times.

So we gracefully handle this by
- updating the list of characteristics
- *not* initializing the device again when it *is* already initialized
or at least initializing.
2017-03-09 22:49:13 +01:00
Translation Bot 3abbe12b53 Merge branch 'master' into new_GUI 2017-03-08 21:42:52 +01:00
cpfeiffer 9411f80440 Mi2: support for updating firmware fonts (*.ft, *.ft.en)
This is related to #560, but alas is not sufficient for enabling text
notifications.
2017-03-07 23:26:41 +01:00
cpfeiffer 2b17d7fb14 More cleanup 2017-03-07 00:06:35 +01:00
cpfeiffer 31e0e9a5f7 Mi2: More internal cleanup from initial Mi1 copy&paste 2017-03-05 21:45:39 +01:00
cpfeiffer f6bee00582 Mi2: some internal cleanups/renamings 2017-03-05 21:27:47 +01:00
cpfeiffer c56b655b48 Mi2: send text notification for mi2 only, not mi1a 2017-03-05 10:43:19 +01:00
cpfeiffer 88b35c6eec Mi2: rename some constants + add two 2017-03-05 10:43:19 +01:00
Yaron Shahrabani 858eaa6690 Added Hebrew transliteration and tests (#571) 2017-03-04 22:08:24 +01:00
cpfeiffer 58e2538c4e Discovery: handle the case where a device is already bonded 2017-03-04 16:03:36 +01:00
cpfeiffer 09967b2006 Mi2: follow 12h/24h system configuration
=> Remove custom preference option, #573
2017-03-03 22:32:54 +01:00
cpfeiffer 82ea5702c5 Mi2: configurable time format (12h/24h)
Fixes #573
2017-03-03 22:14:28 +01:00
cpfeiffer 4419200624 Mi2: Initial support for textual notifications #560 2017-03-03 20:12:43 +01:00
Andreas Shimokawa a90e0074fc Change weekly sleep charts to display sleep from 12:00-12:00 instead of 0:00-0:00 2017-03-03 17:33:00 +01:00
Andreas Shimokawa 9b2f47d10a Improvements to week sleep chart
Time to close #557
2017-03-03 14:21:59 +01:00
Daniele Gobbetti ca73d0c2d4 Add mapping to weather icons 2017-02-27 21:45:10 +01:00
cpfeiffer 19b0e5e801 Centralize icons for devices 2017-02-26 22:46:49 +01:00
Andreas Shimokawa ac1875eea0 Charts: In "Sleep a week" chart display light and deep sleep as stacked bars 2017-02-26 21:41:27 +01:00
Daniele Gobbetti 176cf79cc1 Merge branch 'master' into new_GUI
# Conflicts:
#	app/build.gradle
2017-02-26 16:55:54 +01:00
Andreas Shimokawa 8b39ef3a52 Speedup for charts by caching aggregated sleep amounts and steps for maximum 32 days 2017-02-26 00:40:50 +01:00
Daniele Gobbetti e7846f4754 Pebble: override the native navigator.geolocation GetCurrentPosition
The native method requires FINE location permission, and we don't have it. Further we should handle the runtime permission request.
2017-02-25 13:31:48 +01:00
Daniele Gobbetti 2eb43fa740 Pebble: Fix for week sleep chart amounts (the colors are still wrong) 2017-02-25 12:52:24 +01:00
Andreas Shimokawa 08080b02bb Drop support for legacy (pre 0.12.0) database 2017-02-23 22:44:44 +01:00
cpfeiffer 49e1b55ad8 Format center-text for week-sleep-pie 2017-02-23 21:15:57 +01:00
Andreas Shimokawa 437ec6c9b7 Minor improvements to the WIP week sleep chart 2017-02-23 08:50:31 +01:00
cpfeiffer 337bfa1938 Handle button presses and log them
See #556
2017-02-21 21:41:21 +01:00
Andreas Shimokawa e9cb5fd374 WIP sleep in a week chart
Displays minutes which is confusing
Only displays deeps sleep (no idea why)
Is green (which is also confusing)
2017-02-21 16:20:42 +01:00
Andreas Shimokawa 2dbda6138b Pebble: some cleanups and simplifications for datalogging via PebbleKit 2017-02-20 22:09:00 +01:00
Andreas Shimokawa ad9cfae6f9 Pebble: Pass datalog creation timestamp to PebbleKit, properly announce PebbleKit datalogging support 2017-02-20 08:47:42 +01:00
Andreas Shimokawa 946ed5f000 Pebble: First shot at implementing dataloggin for PebbleKit apps
Closes #497
Could help #316
2017-02-19 23:02:55 +01:00
cpfeiffer e5d09b9fa2 Automatically start the service on boot (can be turned off)
Fixes #9
2017-02-17 23:24:44 +01:00
Avamander 23f2dd35d4 Extract music shuffle and repeat states and set the song progress to auto-update. (#554) 2017-02-17 09:01:37 +01:00
Andreas Shimokawa a26563d6c7 Pebble: also acknowledge PebbleKit intents with transaction_id -1
I don't understand why this should be necessary but for some 3rd party apps it helps (#509)
2017-02-13 22:27:37 +01:00
Andreas Shimokawa 1d1edd41d7 Pebble 2/LE: remove a sleep which might be no longer necessary
Will speedup data transfer
2017-02-12 23:13:24 +01:00
Avamander fea31924ba Music data handling improvements (#550)
* Fixed extracting the track length.

* Added current track and total track count.

* Few small changes to make sure everything gets updated properly.

* Remove unnecessary includes.
2017-02-11 09:49:01 +01:00
Andreas Shimokawa 5dfd40062f fix previous commit 2017-02-10 23:16:36 +01:00
Andreas Shimokawa f956d94181 Pebble: make sure to not display "open on phone" and "dismiss" when the source of a notification was our AlarmClockReceiver 2017-02-10 23:11:21 +01:00
Andreas Shimokawa ee28ccd4fe Pebble: add a dev option to always and immediately ACK PebbleKit messages to the watch
Might help #509
2017-02-10 23:07:36 +01:00
cpfeiffer 0042ffc514 Set the notification ID on alarm start 2017-02-10 22:52:55 +01:00
cpfeiffer 89bf63d540 Implement hashCode() when you implement equals()! 2017-02-10 00:32:03 +01:00
Andreas Shimokawa f35e3e460d remove K9 receiver as is works better with generic notifications 2017-02-09 17:35:46 +01:00
Andreas Shimokawa c0076b20d3 fix copy and pasta error 2017-02-09 17:24:07 +01:00
Andreas Shimokawa 5bb1995eb9 Pebble: fix privacy mode title being "null" in some cases 2017-02-09 17:10:39 +01:00
Andreas Shimokawa 436a7ddb24 Pebble: fix alarm notifications only working one
id -1 means undefined, everything else is liked to a real android notification
2017-02-09 15:07:00 +01:00
cpfeiffer 4f0674d038 Support for alarm clock notifications for Mi1 + Mi2 #538
No support for Pebble and HPlus for now.

Atm relies on the CM deskclock alarm, which nicely broadcasts
events about the current alarm. See
https://github.com/CyanogenMod/android_packages_apps_DeskClock.git
2017-02-07 23:49:10 +01:00
Andreas Shimokawa e2b3394900 made caller privacy pebble setting generic 2017-02-07 10:15:23 +01:00
Andreas Shimokawa b6852308b7 Merge pull request #546 from jpbarraca/hplus-preferences
HPlus: add device specific preferences and icon
2017-02-06 18:50:40 +01:00
Andreas Shimokawa 32a326c24b Merge pull request #543 from jpbarraca/hplus-alarm-clear
HPlus: Clear Alarms
2017-02-06 18:49:28 +01:00
João Paulo Barraca 475426c0ed Merge branch 'master' into hplus-preferences 2017-02-06 01:39:45 +00:00
João Paulo Barraca a3cc84c01d HPlus: add device specific preferences and icon 2017-02-06 01:33:15 +00:00
João Paulo Barraca bf8ae5d5af HPlus: Add constant ARG_ALARM_DISABLE 2017-02-05 23:55:48 +00:00
João Paulo Barraca 644c06df68 HPlus: Clear alarms if no alarm is enabled 2017-02-05 23:52:36 +00:00
Andreas Shimokawa 030edef033 Merge pull request #541 from ivanovlev/master
Transliteration: capitalized just the first letter in the replacement
2017-02-05 22:59:03 +01:00
Andreas Shimokawa b3cddebdbb Pebble: ensure a better error message if someone tries to install a FW 1.x pbw 2017-02-05 22:50:42 +01:00
Daniele Gobbetti b7bad268c2 Pebble: support weather for Obsidian
Ref: #482
2017-02-05 17:21:04 +01:00
Daniele Gobbetti dccd6c1b06 Pebble: implement privacy modes
The user can choose whether to completely hide the notification text or push it off-screen. This also effects the incoming call notification.
Fixes #370
2017-02-05 16:37:59 +01:00
Daniele Gobbetti b894c01822 Make the media notification receiver more robust.
Sometimes the media notification does not contain the expected components, hence the code covered by the try/catch has been adjusted. This was reported in #533 for VLC.
In the future the whole media handling will probably be refactored.
2017-02-05 15:13:26 +01:00
ivanovlev fd61dc602f Transliteration: capitalized just the first letter in the replacement text 2017-02-04 09:53:07 +03:00
João Paulo Barraca 006a23dfe8 HPlus: Fix time sync and Time format (12/24) 2017-02-03 19:30:59 +00:00
Andreas Shimokawa 22cf74bbd1 Merge pull request #532 from jpbarraca/alarm
HPlus: Working alarms and small cleanup
2017-02-03 14:02:29 +01:00
Daniele Gobbetti e08a900978 Refactor the MusicPlaybackReceiver and related files
Add actions to the filter (this should help with #536)
Add "copy" constructors to MusicSpec and MusicStateSpec, and use those when receiving an updated intent, this way partial updates do not disrupt the local information.
Iterate over incoming extra keys, explicitly check the incoming type and use only known type. This could help with #533

Possible problem: this code iterates over every key of the incoming bundle.
2017-02-01 22:55:40 +01:00
João Paulo Barraca f79e8f8833 HPlus: Working alarms and small cleanup 2017-01-30 23:37:47 +00:00
cpfeiffer d030ad9400 Ups, remove accidental import from C&P 2017-01-29 23:06:40 +01:00
cpfeiffer b157f84b83 Log connection attempt when BT is turned on 2017-01-29 22:56:56 +01:00
cpfeiffer 2ae4497261 Mi2: the only reason I can see for detecting MiBandSupport for Mi2
Fixes #529, hopefully
2017-01-28 23:25:15 +01:00
cpfeiffer ec6a8b6743 MI: some more logging 2017-01-28 23:25:15 +01:00
cpfeiffer 6c16b4fb15 Updated initial array list size to reflect reality 2017-01-28 23:25:15 +01:00
cpfeiffer 4c48b473ac Show device type in GBDeviceCandidate.toString() 2017-01-28 23:25:15 +01:00
ivanovlev 2d3907b0f0 Fix issue #522 : Transliterate Caller Name 2017-01-27 23:16:19 +03:00
cpfeiffer 13af1c1e11 Ignore Gadgetbridge's own notifications
Fixes #411
2017-01-27 00:23:45 +01:00
cpfeiffer ba7d13fa5d Disable smart alarms for Mi2
Closes #471
2017-01-26 21:09:49 +01:00
Andreas Shimokawa 298e2a9955 Merge pull request #524 from jpbarraca/Makibes-F68-refactor
HPlus: Change Makibes F68 device type
2017-01-26 17:24:12 +01:00
Andreas Shimokawa f81ff8591b Pebble: add a FAB in App Manager which launches a file manager to chose a file
This is similar to #247 but simpler and using a FAB, also it explicitly targets our Activity instead of allowing to open a video in a video player which using this feature
Also suggested in #520
2017-01-26 17:23:28 +01:00
João Paulo Barraca d7db6559d8 HPlus: Change Makibes F68 device type 2017-01-26 16:04:33 +00:00
Andreas Shimokawa e19ea26478 Merge pull request #513 from ivanovlev/master
Simplification of transliteration integration
2017-01-26 16:13:54 +01:00
João Paulo Barraca b3e1cbf55e HPlus: Support of Makibes F68 and small fixes to HPlus devices 2017-01-26 13:02:58 +00:00
cpfeiffer ac68bfe351 Mi Band 1+2: backend implementation of making BT pairing optional
- cleaned up the DeviceService.connect() variants
- discovery: pass the device candidate around instead of the mac address

Attempts to fix #512, #514, #518
2017-01-26 00:16:38 +01:00
cpfeiffer b8b2d8830f Fix parceling GBDeviceCandidate 2017-01-26 00:16:38 +01:00
cpfeiffer 4c26c2933b Mi Band 1+2: make BT pairing optional
(Attemts to fix #512, #514, #518)
2017-01-26 00:16:38 +01:00
cpfeiffer d103d09fcf Mi Band: just a method rename 2017-01-26 00:16:38 +01:00
Andreas Shimokawa 25433ef6bc Pebble: do not display a toast when watchapp configuration could not be found during initialization of appmessage handler
Unfortunately all users without TimeStyle installed got an error in Gadgetbridge 0.17.2
2017-01-24 23:12:36 +01:00
Andreas Shimokawa 4f45ad660d Pebble: refactor PebbleKit stuff into its own class 2017-01-24 22:56:09 +01:00
ivanovlev 06295abcb6 Simplification of transliteration integration 2017-01-24 21:04:06 +03:00
Andreas Shimokawa a451b5367b Pebble: dynamic key support for Square handler 2017-01-24 19:02:45 +01:00
Andreas Shimokawa 712ce1aa8b Pebble: dynamic keys support for healthify 2017-01-24 18:50:43 +01:00
Andreas Shimokawa 3233432ee1 Pebble: simplify AppMessageHandler 2017-01-24 18:38:26 +01:00
Andreas Shimokawa 3dd058cf81 Merge pull request #517 from jpbarraca/hplus-fix-3
HPlus: Improve display of new messages and phone calls
2017-01-24 12:05:02 +01:00
Andreas Shimokawa fb7db523c7 Pebble: dynamic appKey suppoort for Morpheuz 2017-01-24 11:58:13 +01:00
João Paulo Barraca b4a4b3916a HPlus: Remove LanguageUtils transliterate from HPlusSupport 2017-01-24 10:39:24 +00:00
Andreas Shimokawa 746eeda777 Pebble: use dynamic appkeys for TrekVolle handler 2017-01-24 11:07:49 +01:00
Andreas Shimokawa 8027b8ac96 Pebble: fix potential crash when encoding appmessages with null values 2017-01-24 11:07:00 +01:00
Andreas Shimokawa 378d285b1a Merge pull request #515 from jpbarraca/hplus-fix-2
HPlus: Fix bug related to steps and heart rate
2017-01-24 08:21:07 +01:00
João Paulo Barraca 1f083041b9 HPlus: Improve display of new messages and phone calls 2017-01-24 01:44:30 +00:00
João Paulo Barraca c4a0c60b8c HPlus: Fix bug related to steps and heart rate 2017-01-22 23:33:30 +00:00
Andreas Shimokawa c39318af05 CHANGELOG, bump version, improve strings about transliteration 2017-01-22 22:30:40 +01:00
Daniele Gobbetti a7a37fd9c8 Pebble: add a method to use the JSON keys instead of hardcoding the key ID.
This needs parsing the json but it is only done once. So far only Timestyle apphandler uses the new approach and this fi_xes the issue reported here https://github.com/Freeyourgadget/Gadgetbridge/issues/482#issuecomment-273757492
Fixes also a potential crash when the message for pebble contained a null key in one of the Pairs
2017-01-20 19:17:00 +01:00
Carsten Pfeiffer 31ccaf361b Merge pull request #500 from ivanovlev/master
Transliterate unsupported Russian characters into English
2017-01-19 23:42:56 +01:00
ivanovlev c13725911f Transliteration off by default, if setting not exist 2017-01-19 08:09:36 +03:00
Andreas Shimokawa 26a751977e Pebble: try to improve PebbleKit compatibility
(Might help with glance #506)
2017-01-18 22:10:10 +01:00
Andreas Shimokawa ed020c2a97 Pebble: raise limit of appinfo.json. Some pbws have huge ones :/
Fixes #505
2017-01-18 21:47:15 +01:00
ivanovlev cbc91e7fef Moving transliteration call from module "HPlus" to common support 2017-01-17 23:07:12 +03:00
Carsten Pfeiffer e226a97c73 Merge pull request #503 from jpbarraca/hplus-fix-1
HPlus: fixed bug setting current date
2017-01-17 00:04:39 +01:00
João Paulo Barraca 5222cf99a2 HPlus: fixed bug setting current date 2017-01-16 22:04:52 +00:00
ivanovlev bfe24dd9f0 Refactoring 2017-01-15 22:46:30 +03:00
ivanovlev 2de9580dea Added diacritic convertation into Transliteration 2017-01-15 22:10:12 +03:00
Daniele Gobbetti 26a349210e Pebble: make the text in the dummy weather configuration activity visible. 2017-01-15 18:19:30 +01:00
Andreas Shimokawa d9d153c463 move WeatherNotificationConfig.java to its previous location to fix a crash 2017-01-15 12:43:26 +01:00
ivanovlev 01d9a63e8b Merge branch 'master' into master 2017-01-15 12:27:25 +03:00
ivanovlev 074394cba4 Transliteration is moved to a separate class, added settings option 2017-01-15 12:24:36 +03:00
Andreas Shimokawa ce67bf2c52 Pebble: make the feature to automatically delete notifications from the pebble optional
(This is not pebble specific at all but as long as other devices do not use that it will stay in the Pebble specific preference screen)
2017-01-15 00:10:40 +01:00
ivanovlev b9249065eb Fix for send message from debug screen 2017-01-14 23:01:44 +03:00
Daniele Gobbetti 4dfef382a9 Pebble: change the overflow menu of the weather system app.
If the weather notification app is not installed, link to fdroid (app if installed, web page of the app if not).
If the weather notification app is installed, show the options to activate and deactivate it.
2017-01-14 18:19:41 +01:00
ivanovlev c873312831 Transliterate unsupported Russian characters into English 2017-01-14 02:39:36 +03:00
cpfeiffer 1e24fa7ad8 Dummy weather notifucation config activity 2017-01-14 00:26:47 +01:00
Andreas Shimokawa 38e234552d Pebble: only ACK appmessages from pebble to pebblekit android apps after the app actually sent one 2017-01-13 08:16:33 +01:00
Andreas Shimokawa 0218cee0e1 Pebble: fix long standing bug in uuid encoding for ACK messages (did not seem to do any harm) 2017-01-11 23:42:40 +01:00
Andreas Shimokawa 50cb3c9db3 Pebble: remove null termination from cstrings when converting to json for PebbleKit 2017-01-11 22:39:08 +01:00
Andreas Shimokawa 9132736428 Pebble: report current firmware string to PebbleKit (eg. "v3.12.2") not "Gadgetbridge" 2017-01-10 22:43:10 +01:00
Andreas Shimokawa 185605211d Pebble: fix bug in PebbleKit implementation regarding binary data transferred from a watchapp to a 3rd party Android app
(Fixes a bug with TCW)
2017-01-10 22:30:55 +01:00
Carsten Pfeiffer d646b6773e Merge pull request #491 from jpbarraca/hplus-handle-data
HPlus: Improves device support
2017-01-10 20:40:07 +01:00
Andreas Shimokawa f2e6ce6380 Pebble: fix incoming calls (recently broken) 2017-01-10 18:23:35 +01:00
João Paulo Barraca b92b1c08bf HPlus: Fix deprecation warning 2017-01-10 13:44:32 +00:00
João Paulo Barraca 13ec497127 Merge branch 'master' of https://github.com/Freeyourgadget/Gadgetbridge into hplus-handle-data 2017-01-10 13:23:23 +00:00
João Paulo Barraca 4cf872664c HPlus: Improved support for storing and displaying data. 2017-01-10 13:08:45 +00:00
Andreas Shimokawa fda317671a Ignore summary information for k9 mail
(#373)
2017-01-09 18:34:22 +01:00
Andreas Shimokawa 8c0f5599a1 Do not try to remove notifications from the device in some obvious cases 2017-01-09 16:49:11 +01:00
Andreas Shimokawa 3644d5e7a6 Pebble: remove notifications when dismissed on the phone (#326)
Most of the code is generic, so it could be implemented by other devices.
I dont know what happens if multiple messages arrive in the same notification.
So, this is experimental.
2017-01-09 16:33:00 +01:00
Andreas Shimokawa c6999713d2 Pebble: use Notifications system app as parent UUID for notifications 2017-01-09 15:11:50 +01:00
Andreas Shimokawa f05b51fd83 Pebble: Add option to disable call display
Closes #494
2017-01-09 14:41:02 +01:00
cpfeiffer 6c269aa089 Generic characteristic names from field names 2017-01-08 21:37:43 +01:00
Andreas Shimokawa 855a141ec4 Pebble: in AppMessageHandler provide a default implementation of handleMessage which just ACKs 2017-01-08 17:17:29 +01:00
Daniele Gobbetti 1fda1ba1b2 Pebble: try to get rid of the sleep and rely on countdownlatch instead.
Could help with #494
2017-01-08 16:48:50 +01:00
Daniele Gobbetti c1abaaa4e0 Add support for hiding the icon in the status bar and the notification on the lockscreen.
This adds proper settings to toggle GB behavior and closes #460.
2017-01-08 15:51:56 +01:00
Yar 5c8f02d054 Set notification to minimal priority
Pebble app is not showing in status bar and on lockscreen. This change is for GadgetBridge to have the same behavior.
2017-01-08 15:31:55 +01:00
Daniele Gobbetti 09cc0134db Pebble: add support for weather in some watchfaces by gh/zalewszczak
See https://github.com/zalewszczak/pebble for a list of watchfaces
#482
2017-01-08 15:27:01 +01:00
Daniele Gobbetti 7f50e0d2b7 Pebble: add support for weather in square watchface
So far celsius are forced for temperature #482
2017-01-07 22:41:10 +01:00
Andreas Shimokawa 380e3b3640 Merge pull request #489 from hackoder/master
Show K9 message body in notifications
2017-01-05 17:14:09 +01:00