Profile cover photo
Profile photo
Kostya Vasilyev
1,121 followers -
Teach a man to fish and he'll ask for a hunting rifle
Teach a man to fish and he'll ask for a hunting rifle

1,121 followers
About
Posts

Working on updating our app (Aqua Mail) for Android 8.0 as required by Google.

This one is priceless. Can't set LED color in notifications. Bug report closed as "won't fix / infeasible".

https://issuetracker.google.com/issues/112105327

Where can I order a fireproof suit, amazon maybe?
Add a comment...

Version 1.17.0-1306

Currently visible from 20% of all devices, randomly picked by Google

+ Hide Account list screen so the app opens directly into your Inbox
+ Launcher shortcuts (Android OS 7.1 and higher)
+ Office 365: Support for logging in with Intune (Microsoft Corporate Portal)
+ Improved support for Chrome OS and Samsung DEX
+ Integration with OfficeSuite for opening attachments

---

Версия 1.17.0-1306

Пока видно с 20% устройств, выбранных Google в случайном порядке

+ Сокрытие списка учётных записей чтобы программа открывалась прямо во Входящие
+ Ярлыки (shortcuts) на иконке (Андроид 7.1+)
+ Office 365: поддержка входа через InTune (Корпоративный портал)
+ Улучшена поддержка Chrome OS и Samsung DEX
+ Интеграция с OfficeSuite для открытия вложений

Ugh. Gmail web mail updated to "latest and greatest" design today and there seems no way to undo it.
Add a comment...

У Яндекса поломалась авторизация. Получаю "login error - internal server error" на всех телефонах, раз за разом.

В веб-почте сбросилась настройка цветовой темы, пропала картинка аватара.

Надеюсь что уже чинят :)

Post has attachment
A small-ish but fairly often requested new feature should be available on the forum tomorrow (I hope). Launcher Shortcuts. Android 7.1+.
Photo

Random ramblings. Android Launcher shortcuts.

OK so I wrote all the app specific code - checking what shortcuts need to be displayed, generating their images (for accounts - from phone Contacts matching on account email or color chips... making them round...) now the easy part - telling Android about new shortcuts.

This is simple, there are APIs for that right?

1 - "setDynamicShortcuts" - I'll just use that. Oh wait some shortcuts didn't need to be updated. No problem, I can get the current list of shortcuts replace just the ones I need in the list and set them to the new list.

But... when a shortcut has an icon - you will not get these icons back in your existing shortcut list. The icons will be null. Makes some sense, probably didn't want to shuttle bitmap data back and forth.

Updating a shortcut with null icon (we got a shortcut from Android, decided we didn't need to regenerate it but it's in our "new current" list anyway) - the most logical thing would be to keep the icon as it already is.

Noooo, the icon will reset to some "default" (frog-looking Android on a teal grid background). Not even the app's default icon.

2 - OK I will figure out which shortcuts are not needed anymore, remove them, create any missing ones and update some others, not touching the ones that don't need to be updated. That'll work, right?

Wrong. Dynamic shortcuts are sorted according to their application-specified "rank" (order value). You can use arbitrary values like 5000, 3000, etc.

But - when you get the list of existing shortcuts, their ranks have been re-numbered starting at 0. As far as I can tell this isn't guaranteed but I'm seeing it happen.

The effect is that if you use "arbitrary" rank values - and only create or update some of the existing shortcuts - the new / updates shortcuts will not sort properly with respect to the ones you didn't update.

3 - Alright so I'll have to re-generate each and every shortcut (including the icon, see above, which entails a lookup in phone Contacts and some drawing operations) and replace the whole list. So much for trying to make efficient updates.

4 - Rate limiting. When the app is in the background the launcher shortcut API calls may be ignored.

Let's say the user does something that affects your shortcuts while the app doesn't have any visible UI - for example, removes an account using Phone Settings / Accounts - and now we need to update.

Blam, you're rate limited ( haven't run into it yet, but the docs say it can happen).

Now we've got to remember "somewhere" that shortcuts need to be updated and then either defer to when the app's UI starts up or retry while still in the background.

The former is going to add to startup time. Not much but these things really build up. The latter can keep failing so will need to retry again, and doing it every X seconds or minutes can drain the battery and so now we also need some sort of "exponential backoff".

Maybe I'm imagining things. But maybe I'm not. Heeellloooo, it's just a few "items" each with a bitmap and a text label, why is this soooooooo complicated?
Add a comment...

New "beta" version 1.6.0-1173 ---
+ Redesigned Account screen.
+ Added HTML Signature support.

+ Bug fixes.
+ Account colors are "solid fill" again.
---
+ Обновлённый дизайн: главный экран программы (список учётных записей)
+ Настройки подписи (и приветствия) теперь используют новый редактор (Андроид 5.0+). Стало возможным вставлять HTML код.

+ Исправления ошибок.
+ Вернули "сплошные" цвета учётных записей.

This is a really nasty bug in Android 8.0 - we spent 4+ months tracking down a UI issue that turned out to be caused by this.

https://issuetracker.google.com/issues/78087300

Basically when this bug triggers - the app on the user's device would "skip over" some portions of our code. And this then would have a visible effect on what the app does with things going seriously wrong from then on.

Not sure if the bug will ever be fixed (only starred by two users so far, one of them is myself).

It's also not clear if there is a reliable workaround (but we're trying).
Add a comment...

Google Play link to opt into the beta:

https://play.google.com/apps/testing/org.kman.AquaMail

Version 1.16.0-1143 "beta"

+ Updated design: app's main window (account list).

+ Signature (and greeting) settings now use the new editor (Android 5.0+). Makes it possible to paste "raw" HTML snippets.
-----
Версия 1.16.0-1143 "бета"

+ Обновлённый дизайн: главный экран программы (список учётных записей).

+ Настройки подписи (и приветствия) теперь используют новый редактор (Андроид 5.0+). Стало возможным вставлять HTML код.
Wait while more posts are being loaded