DaneChainS / weaOTP-doc

0 stars 0 forks source link

weaOTP on Huawei Watch 1 #1

Open bovine3dom opened 2 years ago

bovine3dom commented 2 years ago

Continuing this thread: https://github.com/andOTP/andOTP/issues/68

Initial thoughts:

I can't figure out how to unlock the beta. The ID shown is 1971000aeb if that's important. I can try to answer your other questions if we sort that out - at the moment I only have three codes :)

I managed to get several code screens / instruction screens deep into the app somehow at one point, probably when trying to unlock the beta unsuccessfully and repeatedly decrypting the codes.


Thanks for this, it looks really promising :)

DaneChainS commented 2 years ago

Thanks a lot for your feedback so far, I will look into the things.

Sure, just try enter 1n40923291 to remove the safety limits. Regarding the multiple deep screens, sounds like there are several instances of the activity stacked... (so you had to press the back button multiple times and got back to the code screen? (If it works correctly and accounts are loaded there should be: app start -> codes screen -> 1x back -> load screen -> 1x back -> closed.) I will look into this.

Thanks again... I think my main task now would be to optimize and adapt for different screen sizes and resolutions.

DaneChainS commented 2 years ago

Update 1.0.6 will have specific settings for your screen size/density. Since you're the only user, you can let me know if it works and if you want anything adjusted in a specific way.

changed for all screens:

Regarding the play store listing on phone app: when I search for the app on the phone and get no result, I can just tap on the filter "smartwatch" right on top... then it appears and I can install it from there on the watch.

Still remaining open is the issue of the tile not appearing for your watch. I have not found any information about it yet.

bovine3dom commented 2 years ago

I think I somehow need to solve the different resolutions / automated scaling. If you can take a screenshot / photo of the strange looking screens, that would help me. [...] Obviously this is my faulty initial pixel spacing / sizing of the elements... I only checked this on 2 different screen sizes... Might be similar problem like the first one... (if you can take a photo/screenshot, that would help) Also need to adjust this ... maybe based on ppi to look better on older watches

I took some pictures; I'll send them from my phone shortly. I think a big part of the problem is that the resizing animation looks kind of odd on the circular screen. Most apps keep everything the same size and instead just wrap text within a column that is ~80% of the width of the screen, which gives you a lot of usable vertical height (and outside the "perfect" zone it's still quite usable as just the start and end of each thing is cut off

I can add the tile directly on the watch (Samsung). Does Huawei not have this option? I never used the wearOS app... I will research if I need to add something specific for that.

Oh, yeah, it does, I found out how to add tiles directly from the watch. I still don't see weaOTP though.

Regarding the multiple deep screens, sounds like there are several instances of the activity stacked... (so you had to press the back button multiple times and got back to the code screen? (If it works correctly and accounts are loaded there should be: app start -> codes screen -> 1x back -> load screen -> 1x back -> closed.) I will look into this.

The watch only has a home button, I have to swipe :) but yes, I ended up several more screens deeper than that.

It's slightly annoying anyway to have to swipe left twice to exit the app - could you make it so you have to swipe right or long press to change the database? It seems like it would be quite a rare thing to need to do.

Pending update 1.0.6 (currently in verification) will have specific settings for your screen size/density. Since you're the only user, you can let me know if it works and if you want anything adjusted in a specific way.

Hahaha, thanks.

  • corrected countdown circle bar to be at the edge of the screen again; codes should not scroll underneath the circle anymore

I'm no longer sure that that was actually the problem - as I said above, most apps use a static scrolling column with no resizing. I don't think going under the circle anywhere was such a problem - it was just that it happened in the middle of the screen on the main thing I was trying to read.

Regarding the play store listing on phone app: when I search for the app on the phone and get no result, I can just tap on the filter "smartwatch" right on top... then it appears and I can install it from there on the watch.

Ah, I see it now. I would never have thought to do that ... in my mind, filters like that restrict the search rather than expand it. Maybe it's worth adding a companion app (e.g. one to make transferring databases easier?) so that people can find it.


Thanks for making this, the app already functions well enough to be useful :)

bovine3dom commented 2 years ago

Distractingly small font with ugly aliasing (especially on the top item):

IMG_20211111_094950

Icons going under the circle and looking a bit strange:

IMG_20211111_094940

DaneChainS commented 2 years ago

Thanks for the screenshots. They helped a lot. I see now the difference between a real 280dpi display compared to 360 ... I think the increased text size will help for now. At some point at the beginning I actually had a "flat" list without that 3D ball zooming effect implemented. That time I chose the ball effect version because it allowed that extra 20% content on the label and in direct comparison scrolling to point was a bit easier because I saw better what was coming, instead of only 3 codes there were now up to 4 visible at the same time. However I have to admit it looks much better on higher resolution displays... Maybe in future I can implement an alternative list style for the user to choose... or just set it based on the screen of the devices. (remains open for now (1))

Multiple screens deep navigation... Sometimes I saw that as well, however was not able to reproduce it reliable yet to fix it. (still open (2))

Tile maybe not compatible with Huawei / API 25... I have not found any information yet to fix it (still open (3)) -> Priority: I'm researching on this topic first.

2x back to close. This is at the moment an easy (to use and to code) implementation. Planned is to maybe add a menu/settings button to bring up the loading screen. (remains open for now (4)) You can also just send the app to background with your home button and ignore it there... and see if it makes a difference in battery life. Since there are no calculations and updates done by weaOTP in the background, it should not use CPU time.

I also thought to maybe include an andOTP fork with the bluetooth capability for the phone in the app bundle. Would make it much easier to update. I need to think about it and see if I can attach a completely different app. Never done that. (still open (5))

Ah, I see it now. I would never have thought to do that ... in my mind, filters like that restrict the search rather than expand it.

Haha, exactly... I also only discovered that yesterday by accident... same like you assuming that I knew how filters work.

Thanks for making this, the app already functions well enough to be useful :)

Glad to hear that. That's why I use it too... makes 2FA a bit less annoying. Also thanks to the work of the guys from andOTP.

bovine3dom commented 2 years ago

I'll let you know once I notice the update :)

I haven't had any problems with battery life since I've been using it, but obviously I haven't got the tile working.

The decryption took ~30s the first time. Re-opening the app has been pretty instant.

Let me know if you want me to try/comment on anything else!

DaneChainS commented 2 years ago

Thanks for the feedback, good to know there is no excessive battery drain. And since normal usage does not involve generating PBKDF2 keys with up to 160000 iterations all day, this CPU load only occurs when accounts have been changed and decrypting a backup/transmission is necessary.

Regarding issue #(3) I think without contacting the manufacturer I won't know for sure. According to my research, last HW1 OS update was in 2018. Do you have any 3rd party apps on the watch which bring a custom tile and it works? There was a time when the number of allowed active tiles was only 5. And only the provided stock tiles worked. If Huawei did not updated the OS further, then I'm afraid the tile might not work. As a customer you might address Huawei asking them about the custom tiles of 3rd party applications which was introduced by google just this year and v1.0 of the tiles library was released by google just 10 days ago. I assume Huawei might not update older devices anymore. One hint I found on an android website:

Using the Tiles API requires targeting API level 26 or higher.

However I got the error only for the debug renderer and still could target level 25 with releases, but I really think that the tile is just not going to work with 25. If you find out more, or contacted Huawei, let me know. (#(3) closed)

Regarding further testing... at the moment we have to wait for google a bit. Unfortunately, these app updates always take multiple days to be published... There are 3 different ones pending (version name 1.0.6 will be unchanged in all of them). The first 2 (publication day: 11th) just contain the mentioned display changes. I will remove my note in one of my previous posts when it's online. When you get these ones, you can test if there are still any display glitches on your watch I can fix.

The other update from publication day 13th (if it passes verification) does not change much on the watch app (only switches some icon colors from black to grey, to be at least slightly visible on an oled screen), however to address issue #(5), I added a fork of andOTP directly into the weaOTP listing. Means you can optionally install weaOTP now on the phone, which installs an app named (W)andOTP. It is andOTP with bluetooth function, however I removed the Samsung libraries of the fork I forked from, since this version is only taylored towards wearOS/weaOTP and does not need Tizen compatibility. The phone application can run in parallel to the original andOTP, so no need to remove it and you can use/test it side by side. Load your backups there and then have them transmitted via bluetooth to the watch. (if everything works).

When the update is live, you could find weaOTP in the play store without activating the smartwatch "filter". However I could not install it on the phone right after I saw it. Still said "incompatible with device". After clearing the cache of google play store in the app settings of my phone, installation was possible. Just as a heads up if you run into the same problem.

Edit: all updates should be online now

bovine3dom commented 2 years ago

[the] last HW1 OS update was in 2018

That sounds right.

Do you have any 3rd party apps on the watch which bring a custom tile and it works?

No, but I haven't checked.

[contact Huawei to ask them to update Tile support]

I don't think they'd be interested :) Thanks for working out why it doesn't work.

[updates are live]

Yeah, it looks much better now, thanks! No glitches on the "load backup file" screen and the font on the code screen is much more readable. The ring around the outside looks better too.

you can optionally install weaOTP now on the phone, which installs an app named (W)andOTP

Thanks, I'll try to remember to test this but I probably won't get around to it for a while.