Add possibility to pick individual SportsItem items into filtered view
Add quick time range selector
add deviceFilter for devices that supportsActivityTracks
add baseAltitude
add average speed, calculated from from distance/active time
make Activity Details layout scrollable
Tinted the ic_delete_forever.xml correctly
Updated the default icon to look consistent with the rest
Due to being used in FABs, made ic_add white by-default and tinted ic_block properly
Adjusted Amazfit Bip and the ic_no_watch drawables to look more uniform with the rest
Re-imported the Amazfit Bip icon to fit the rest
Re-imported all material.io icons with the same DPI, renamed to original names, optimized and tinted every icon the same way
Updated the ic_switch_left icon to look better on smaller screens
scale refresh in control center to match the rest
Improved the icon size consistency in ControlCenter
Co-authored-by: TaaviE <taavi.eomae@gmail.com>
Co-authored-by: vanous <petr@linuks.cz>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2000
Removed a few more occurrences of double logging
Removed double logging
Printed a few rather fatal exceptions in case they happen for easier debugging and a few other small cleanups
Co-authored-by: TaaviE <taavi.eomae+github@gmail.com>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/1946
Merge branch 'master' into master
Merge branch 'master' into master
Added available languages for Mi Band 5.
This one's for fixing the step counter but the daily count is always a little bit different compared to what's shown on the smartband.
Extending Mi Band 5 support! Every display item can be showed on the smartband now.
Cleanup
FW related test code
FW related test code
FW related test code
FW related test code
Adding Mi Band 5 test support
Co-authored-by: cristian <c.alfano@outlook.it>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/1930
This helps clearing up a cluttered alarms list on devices like the Mi Band 4
Difference between disabling and setting to usused:
Unsused alarms cant be enabled from the Band, disabled can.
Closes#1747
This commit refactors code and implements a custom device specific string
filter, which does nothing by default.
The implementation in HuamiSupport does the custom emoji conversion.
The setting has been moved from devicesettings_amazfitbip.xml to an extra file
As soon as there is a custom font for Mi Band 2/3/4 it is sufficient to add
"devicesettings_custom_emoji_font.xml" to the list of supported settings
in the appropriate coordinator and everything will work.
THIS STILL REQUIRES MI FIT AND YOUR EXTRACTED KEY
HOWTO:
1) press + button in Gadgerbridge
2) LONG PRESS Mi Band 4
3) Tap "Auth Key"
4) Enter your key prefixed with 0x (eg. 0x112233445566778899aabbccddeeff00)
5) Go back
6) Tap Mi Band 4
Success? You tell me.
This allows to construct per-device settings by device type very easily
device coordinators just do the following to declare which setting they support,
the settings activity is then composed at runtime.
@Override
public int[] getSupportedDeviceSpecificSettings(GBDevice device) {
return new int[]{
R.xml.devicesettings_miband3,
R.xml.devicesettings_swipeunlock,
R.xml.devicesettings_pairingkey
};
}
I applied @cpfeiffer suggestion, then I saw it was already done :)
Here only the init part is set as 'synchronized', very small
optimisation but because this change is ready, why not sharing it :)
Some devices don't support emoji's and display a series of `?` chars.
Instead of that, replace them by `:<emoji>:` text, e.g. `A 🐱` is
replaced by `A 🐱`.
This is done by using 'android-emojify' project and their
`EmojiUtils.shortCodify(text);` function.
For more details about this lib released under MIT license:
https://anitrend.github.io/android-emojify/
* Added various fixes and enhancment for Bengali transliteration.
* various fixes and enhancment for Bengali transliteration
* fixed a coding typo [master]
* Boolean lowercase and added .project in .gitignore
* Boolean lowercase and added .project in .gitignore
* typo fix [master]
* fixed negative index error [master]
* fixed negative index error [master]
* unprinted character fix [master]
* enhanced transliteration [master]
* lowercased boolean and replaced Integer with int [master]
* removed .setting, .classpath and .project and added them to .gitignore too.
* bug fix and multilingual testcase [master]
Persian (Farsi) transliteration was incomplete and most of the characters were proposed according to Arabic transliteration which would be confusing for Persians. I changed some of them and added new ones like question mark, etc.. Please note that Persian has several "z" and "s" since the language alphabet share a lot of similarity with Arabic. However, these are all pronounced the same way in Persian and it makes more sense to have the same character for all in each group.
This also improves firmware/RES probing to distinguish Mi Band 2/3 firmware files and Mi Band 3/Bip RES files.
Notes:
- Firmware flashing should might but is untested
- This basicall runs off the Amazfit Bip code which will probably incorrect (Mi Band 3 is proabably something between the Bip and the Mi Band 2)
This change should turn travis green again.
Older version of android should get a proper 24h formatted timestamp.
Perhaps our export will be more compatible with external services as well
( #1076 )
Fix#1055 properly, as the previous change was not solving the issues
on API < 24. This affected the connection to some devices and caused a
crash on graph access.
This removes misuse of testNewFunctionality() and support fetching GPS data and debug logs
Fetching debug logs (Amazfit Bip/Cor) is now accessible in the debug activity
Fetching GPS data can be done by swiping in the list activity.
TODO: actually refresh list when fetching data is done :P
Also fix some android studio warnings on the go...
when receiving configuration data from the external browser.
Parse the passed data to load the correct watchface javascript, and ensure
the currently connected device is a Pebble (and try to reconnect if there
is no device connected, as a bonus)
The way this works will never be a fully working solution, because uris are
*not supposed* to be resolved to a filesystem path. So while this may work
right now, it will most probably fail in the future, with other content providers.
See e.g. https://github.com/iPaulPro/aFileChooser/issues where this code originally came from
(via Stackoverflow).
We won't crash anymore, but we won't support certain content providers. In the long run, we
should search for the proper solution.
Closes#982
- fix bug that caused the wrong device to be connected sometimes
- add accent color
- add battery status
- remove duplicated title
- allow to connect also before first connection (the last connected device will be used)
- 'ґ' (Cyrillic Small Letter Ghe with Upturn U+0491) / 'Ґ' (Cyrillic Capital Letter Ghe with Upturn U+0490);
- 'є' (Cyrillic Small Letter Ukrainian Ie U+0454) / 'Є' (Cyrillic Capital Letter Ukrainian Ie U+0404);
- 'і' (Cyrillic Small Letter Byelorussian-Ukrainian I U+0456) / 'І' (Cyrillic Capital Letter Byelorussian-Ukrainian I U+0406);
- 'ї' (Cyrillic Small Letter Yi U+0457) / 'Ї' (Cyrillic Capital Letter Yi U+0407)
- Disconnect button if connected
- Fetch activity if connected and supported by device
- (re)connect the last connected device if disconnected
Known bug: In the last case, if multiple devices were connected, the wrong device gets re-connected
- Add preference to enable background JS (default disabled)
- Remove the dummy activity used to create the webview, use ExternalPebbleJSActivity instead
- Add layout for legacy configuration, used if background JS is not enabled
- Create the view upon connecting, not when launching the application
- Remove the generic helpers used to find out if any device would need the background webview
- Drastic refactoring of WebviewSingleton moving internal classes in a new package "webview" in service/devices/pebble
Pebble: Add support for dynamic Pebble background colors
- Add a couple additional icon types
- Add Lighthouse (currently unused)
- Add Transit (public transportation app)
- Tweak the colors on existing icon types
- Implement logic to grab primary (vibrant) color from app logo
- The color will be used when displaying a notification for an app
that does not have any configs bound to it.
- Alter NotificationType to support a color (named pebbleColor)
- Alter the Pebble notification poster to listen to the color from
the notification
- Alter the DeviceCommunicationService to allow for color passthrough.
- Add logic to convert HEX or Integer representations of RGB888 colors
to Pebble RGB222 format.
- make the package name retrieved lowercase.
Fixes: #815
This enables option for multiple button actions according to the "Delay after button action". This broadcast is being sent to the intent
along with button_id extra identifying how many times have the pass been done.
By pass defined number of button presses is meant.
Scan and connection, battery level, firmware version, date and time sync
(along with some other currently hardcoded settings), notification
support, alarm support, and some more.
So we do need to set the language both on change and onCreate()
For some reason, the title bar of the SettingsActivity is not updated on recreate().
Closes#787
As requested in #736, this adds an entry in the settings menu that allows to blacklist certain calendars.
To avoid confusion, all the former blacklist methods and fields have been renamed to apps_blacklist. The new entries are called calendars_blacklist.
Importing the settings has not been tested with the current changes.
Closes#736
Future improvements TODO: The new setting lives in the Pebble section, i believe in the future the blackslist functionality should be centralized and put in the sidebar.
Support is almost on Mi Band 2 level.
What does not work yet:
- flashing firmware files
- taking or rejecting phone calls
- syncing GPS tracks
- sending weather
- notification only include title, not a body
- unknown notification's text is not forwarded to the watch at all (same on Mi Band 2 #754)
JAVA side:
- first trivial handling of ACK/NACK message,
- fake the location age until an update mechanism is implemented,
- make the appmessage parsing more robust,
- comment the forecast mimicked reply as it was wrong and confusing for some watchfaces
JS side: first trivial handling of ACK/NACK message
- add back support for clay that was mistakenly removed
- timestamps are in milliseconds in JS as well
- intercept the whole URL path instead of the last part