Status of the "Android Integration" app

Posted on
Page
of 5
  • And... you can now turn on 'text to bitmap' which converts any text that Bangle.js can't display to an image on the phone :)

    Great, thank you! Just enabled & tested and with accents it works like a charm!

    Are emojis supported? I received an emoji but the output is weird :-D


    1 Attachment

    • test-emoji.png
  • Thats kind of the ultimate flex to not implement Unicode, respect.

  • Are emojis supported?

    A little. So it seems Gadgetbridge often converts smiley -> :) and so on, but for the ones it doesn't they will get rendered. BUT they are rendered as color and converted to 1bpp black and white, so they probably will look broken.

    I don't know if it's possible to get them to render in black and white only - I haven't seen that - or I guess we could send over a color image for them if we detect something that's not just black and white - but that is more work... PRs welcome ;)

  • Is there a way we could get the apk files via Github -> releases?

  • I often encounter reconnect issues with both the "old" Gadgetbridge app, as well as the new one. My Bangle.js 2 does not reconnect. Neither in background or if I manually triggers it in the app or from the "notification". Actually, my clock is more disconnected then connected to my phone.

    Attached log file


    1 Attachment

  • @rullen just a thought, but what if you remove your Bangle from Gadgetbridge and re-add it without pairing (click Don't Pair when prompted). Does that make the situation better?

    @Raik well I hope that soon I'll get it on the main Play store - I'm just fighting with Google's review process at the moment

  • @Gordon I'm seeing a few issues with the new app.

    Sometimes I have trouble when connecting to the app store. It complains about an invalid json, and even when I manage to connect and update an app on the watch it shows an error about "t" not being defined in a json (or something along those lines). I'm thinking it's one of the apps I have installed, maybe... But I haven't seen this when connecting to the App Loader in a browser. Have done a completely clean install of the new GB app and also wiped my watch, but same thing. If I simply can't get the App Loader in Gadgetbridge to connect it has helped to force close the GB app and let it connect again.

    The app doesn't always release the Bluetooth connection to the watch. Even if I disconnect the BT widget shows it's connected and I can't reach it from other devices. In this case I have to kill the GB app for the watch to disconnect, even though GB itself shows that it's no longer connected to the watch. I have not seen this on previous installs of the regular Gadgetbridge app.

    The bitmap rendering of unknown characters and emojis is not working at all for me. The attached screenshot is me sending a test notification containing ♥️💪👁️. Been seeing the same in actual texts. And is the bitmap rendering supposed to take care of words containing special characters as well? If so it's not working for the Swedish å ä ö (small ä and ö renders properly by default, but not å or the capital letters).

    At one point when listing to music and starting a video on a web page (which automatically paused the music) there was a small toast informing me that the Gadgetbridge app isn't installed on my Bangle.js. Felt weird since it's deprecated...

    One really nice thing is that I finally can update the watch through the App Loader (ref later parts of: https://github.com/espruino/BangleApps/i­ssues/1069)! Might be the slowed down transfer speed that did it, so I'll try again with high MTU enabled later.

    Lastly a small feature request. It would be nice to be able to specify the development App Loader as the default.

    Love having a dedicated Bangle.js app though and not having to disconnect to use the App Loader.

    Edit: almost forgot... Incoming call notification doesn't work either, but maybe it's not supposed to since this is based on GB 0.66 (I didn't have time to compare the commit history).

    Edit 2: I did try to get some debug logs from the app, but couldn't get it to save any. Could be a permissions thing...


    1 Attachment

    • PXL_20220519_162150498.jpg
  • @Gordon I actually already did that. My Bangle is not paired, I have selected "Don't pair" when I add it. I also disabled all battery saving functions for the Bangle.js app. After the night when I disabled flight mode on my phone, it did not reconnect, but this time it worked with reconnecting from the notification bar. It is very unstable for some reason

  • @johan_m_o did you choose the 'Pair' option when connecting, or was it not paired. I've seen when you pair sometimes the OS does seem to hang onto the bluetooth connection, especially if you enabled HID.

    Sometimes I have trouble when connecting to the app store.

    What happens if you go to the 'my apps' tab and refresh?

    The bitmap rendering of unknown characters and emojis is not working at all for me.

    That's odd - I think what's happening is some of those are getting converted to stuff like :heart: but it's trying to convert the whole word into a bitmap, which is why it's very long.

    There's currently an issue where some characters in the bitmap get converted to UTF8 by Gadgetbridge, and it all gets garbled. I think that's what you're seeing here - it still works most of the time. I plan to try and get it fixed soon but I thought I'd attempt to just get something out.

    is the bitmap rendering supposed to take care of words containing special characters as well?

    Yes. Right now anything that's not char code 0...255 is converted (assuming that the fonts support ISO8859-1 correctly). å is char code 229 though. It seems to be in the 12x20 and 6x8 fonts, but maybe not in the 6x15 one? What size to you think the font was that's not getting rendered right? It could be a Bangle.js issue.

    there was a small toast informing me that the Gadgetbridge app isn't installed on my Bangle.js.

    I really need debug info from Gadgetbridge for that, but the Gadgetbridge app isn't installed on my Bangle.js error occurs when the Bangle throws an error in response to Gadgetbridge sending a message - so that's a bug in the Bangle.js app (do you have the default Android app or did you also install Gadgetbridge Music)? I imagine you'd see exactly that error with the normal Gadgetbridge too.

    @rullen there is an option in Gadgetbridge settings to enable auto-reconnect. Is that on? I think the default is for it to be off?

    This version of Gadgetbridge, apart from a few additions like the app manager, font conversion and internet access, is pretty much identical to the normal Gadgetbridge that everyone's been using for the past year or so. The Bluetooth connection handling is identical, so if you had issues with the original Gadgetbridge, this one will be no different.

    Honestly I'm just stretched too thin trying to support everyone on every different platform with random watch configurations at the moment. I'll try and sort out the UTF-8 issue and get the word splitting better but really I need a bit of help on the Gadgetbridge side of things.

  • So I am on the other side. I have a LineageOS device (Android 11) without Google play store and Google play services. I am using Gotify-UP for push notifications. And of course F-Droid for the apps. I am waiting for the official Gadgetbridge 0.67 update to get the call notifications working. Or is there another fork / special version of Gadgetbridge for the bangle.js 2?

  • I am using Gotify-UP for push notifications.

    Haha, another one who would like to have UnifiedPush integrated.

    Or is there another fork / special version of Gadgetbridge for the bangle.js 2?

    Gordon is developing a close fork, as he stated above. There wouldn't be fixes like call notifications in there though you wouldn't get in the normal app. The main reason behind the fork is to enable internet access.

  • I need a bit of help on the Gadgetbridge side of things.

    Which repository should be used? I didn't find the Gadgetbridge one in espruino.

  • @johan_m_o did you choose the 'Pair' option when connecting, or was it not paired. I've seen when you pair sometimes the OS does seem to hang onto the bluetooth connection, especially if you enabled HID.

    Yes, I do use "Pair" when connecting. The only reason I brought this up is because I haven't seen this happen with the regular Gadgetbridge app for a very long time...

    Sometimes I have trouble when connecting to the app store.

    What happens if you go to the 'my apps' tab and refresh?

    If I get that json error when connecting to the App Loader through GB it doesn't matter what I do, refreshing from the "My apps" tab gives the same error. Force closing and reloading the GB app has worked in getting things working so far.

    is the bitmap rendering supposed to take care of words containing special characters as well?

    Yes. Right now anything that's not char code 0...255 is converted (assuming that the fonts support ISO8859-1 correctly). å is char code 229 though. It seems to be in the 12x20 and 6x8 fonts, but maybe not in the 6x15 one? What size to you think the font was that's not getting rendered right? It could be a Bangle.js issue.

    So, apparently this is a Messages app thing. I did some testing and noticed that the characters only render wrongly in the main messages window. If I click the message and read the whole thing they render just fine. See attached images.

    there was a small toast informing me that the Gadgetbridge app isn't installed on my Bangle.js.

    I really need debug info from Gadgetbridge for that, but the Gadgetbridge app isn't installed on my Bangle.js error occurs when the Bangle throws an error in response to Gadgetbridge sending a message - so that's a bug in the Bangle.js app (do you have the default Android app or did you also install Gadgetbridge Music)? I imagine you'd see exactly that error with the normal Gadgetbridge too.

    Like I said I have not been able to get any logs from the app so far. I only have the Android integration app on the watch, nothing Gadgetbrigde.


    2 Attachments

    • se_char_01.jpg
    • se_char_02.jpg
  • @rullen there is an option in Gadgetbridge settings to enable auto-reconnect. Is that on? I think the default is for it to be off?

    @Gordon Yes, it is default off, but this was the first thing I enabled after installing the app. I have now removed the device and used "Pair" instead, let's see if that makes it reconnect smoother.

  • Thanks - ok so that looks like a font issue, at least for that character. I'll see if I can rebuild the fonts.

    edit: if you use the latest cutting-edge build, the å should be fixed.

    https://github.com/gfwilliams/Gadgetbrid­ge is the repo I'm working on at the moment.

    Yes, I do use "Pair" when connecting

    @johan_m_o @rullen actually I'd advise you to not pair. I'm not sure, but I felt like I experienced more issues when the Bangle was paired.

  • I still was not able to figure out how to get the latest cutting-edge build, especially the Bangle.js specific release of Gadgetbridge. Should I install it from the Gadgetbridge Nightly repo: https://freeyourgadget.codeberg.page/fdr­oid/repo/ or download and install an apk file manually? Latest seems not to be the best approach?

  • Currently, you can only get the build APK if gordon invites you to the pre release "beta" of the app on the play store. As he stated above, he is

    fighting with Google's review process at the moment

    so if you wait a couple days, Google Play Store will be the way to go, even without the beta.

    The latest latest cutting-edge build is also obtainable by cloning the repo from GitHub, opening it in Android Studio, and building it there for your device.

  • @Gordon is it possible to get the apk?

    Thanks!

  • Right now, the best bet is just to build it yourself - there are no automatic builds so anything I post will be out of date in a few days - it's actually not hard at all to install Android Studio and clone the repo. It's just decent size download :)

    As @Poolitzer says I'm currently trying to get it in the Play Store, but it's needing a bit of back and forth and changes. It should be there soon though

  • I can dive into Github Actions and set one up to run on each commit on the master branch to build an apk if you like that. If I remember correctly, as long as you have a Github account, you can see the actions tab, select the last action and download the apk then.

  • @Gordon FYI, your update of the 6x15 font fixed my issue with Swedish characters.

  • Just wondering: is there an actual list of things to be done in the Gadgetbridge app? This pages is not very specific with features to be implemented.

  • @Gordon: have you looked into getting the Bangle version onto F-Droid yet?
    Asking because I'd rather spend my time getting that set up once than compiling and sideloading it myself.
    I'm guessing/hoping "all" that needs to be done is:

    1. on F-Droid: create a copy of the GadgetBridge app named "Bangle.js Gadgetbridge"
    2. adjust the build flavor thingy from "main" to "banglejs"
    3. (figure out how to) adjust the description to list the differences with the main app
    4. explain to the F-Droid people why we need two GadgetBridge versions
    5. probably: fix whatever unexpected issues cause the build to fail
  • @Poolitzer if you can get that set up, it might be really handy. However I'd hope that soon the app will be live!

    @johan_m_o glad that fixed it!

    @Raik no, there isn't anything at the moment. I've just enabled issues for https://github.com/gfwilliams/Gadgetbrid­ge so you could put stuff in there.

    @rigrig not yet, no. I'm wondering whether it's actually worth trying to get Gadgetbridge themselves to build the Bangle.js variant (since it looks like somehow nightlies are handled).

    HOWEVER right now I don't think that's worthwhile. I'm developing on https://github.com/gfwilliams/Gadgetbrid­ge and deploying to the app store and when I'm happy I'm pushing it to upstream Gadgetbridge - so if you were to do an F-droid build from upstream it'd likely be too out of date to be useful.

    I feel like there are really two sides to this:

    • You just want a 'Gadgetbridge for Bangle.js' app in which case just wait a week or two until I get it on the Play Store (or ask to get added to the test account) - it's now in review for the 3rd time and hopefully there won't be too many more
    • You want the absolute latest build - which may break. In which case it might just be handy if you built it yourself, and then at least if there's an issue you'll have the tools needed to at least help debug it, or maybe even fix things yourself.

    GitHub actions could a help with the latter, but it's not helpful for me to get a bunch of comments saying "I tried GitHub commit X and it's not working, I don't know why and I have no log files". There's not much I can do about it without a way to debug...

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview
About

Status of the "Android Integration" app

Posted by Avatar for jgDev @jgDev

Actions