Telegram Group & Telegram Channel
AccountManager, или как Google врет в документации

Первый пост в канале был посвящен адовым проблемам шифрования в Android. Но Android SDK не перестает удивлять. На этот раз AccountManager — системное хранилище аккаунтов. В VK внедряли его, чтобы сохранять данные пользователя и восстанавливать в случае, если приложение-чистильщик затрет все данные приложения ==> мы сохраним авторизацию ==> сэкономим деньги на смс.

Реализовать не сложно: вызвать несколько методов по работе с аккаунтом и реализовать Bound Service для взаимодействия с системой. Но нет, Google оставил подляну.

1) В документации четко сказано, что методы можно вызывать на главном потоке. Но нельзя! Вызов методов на главном потоке приводит к ANR. Получали тысячи событий в Firebase. Пруфы в комментах.

2) В документации нигде не написано, как обработать нажатие на кнопку удаление аккаунта из системы. Нигде. И мало того, есть похожие API в AccountManager, которые могли бы подойти: accountChangeListener, метод из Bound сервиса. Пришлось самому дебажить. Дам код в комментах.

3) Гугл говорит, что хранить данные там небезопасно. Окей, шифруем. Но при очистке данных приложения затираются и ключи с alias’ами в Keystore, итого надежного хранения ключа нет. Использовали другие алгоритмы по другим алгоритмам.

4) Гугл утаивает, что аккаунт в системе можно не показывать. Для этого нужно оставить пустым мета-информацию для Bound сервиса.

Google не перестает удивлять.



group-telegram.com/artrblog/29
Create:
Last Update:

AccountManager, или как Google врет в документации

Первый пост в канале был посвящен адовым проблемам шифрования в Android. Но Android SDK не перестает удивлять. На этот раз AccountManager — системное хранилище аккаунтов. В VK внедряли его, чтобы сохранять данные пользователя и восстанавливать в случае, если приложение-чистильщик затрет все данные приложения ==> мы сохраним авторизацию ==> сэкономим деньги на смс.

Реализовать не сложно: вызвать несколько методов по работе с аккаунтом и реализовать Bound Service для взаимодействия с системой. Но нет, Google оставил подляну.

1) В документации четко сказано, что методы можно вызывать на главном потоке. Но нельзя! Вызов методов на главном потоке приводит к ANR. Получали тысячи событий в Firebase. Пруфы в комментах.

2) В документации нигде не написано, как обработать нажатие на кнопку удаление аккаунта из системы. Нигде. И мало того, есть похожие API в AccountManager, которые могли бы подойти: accountChangeListener, метод из Bound сервиса. Пришлось самому дебажить. Дам код в комментах.

3) Гугл говорит, что хранить данные там небезопасно. Окей, шифруем. Но при очистке данных приложения затираются и ключи с alias’ами в Keystore, итого надежного хранения ключа нет. Использовали другие алгоритмы по другим алгоритмам.

4) Гугл утаивает, что аккаунт в системе можно не показывать. Для этого нужно оставить пустым мета-информацию для Bound сервиса.

Google не перестает удивлять.

BY Engineering notes | Артур Илькаев




Share with your friend now:
group-telegram.com/artrblog/29

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

For example, WhatsApp restricted the number of times a user could forward something, and developed automated systems that detect and flag objectionable content. Andrey, a Russian entrepreneur living in Brazil who, fearing retaliation, asked that NPR not use his last name, said Telegram has become one of the few places Russians can access independent news about the war. 'Wild West' Perpetrators of these scams will create a public group on Telegram to promote these investment packages that are usually accompanied by fake testimonies and sometimes advertised as being Shariah-compliant. Interested investors will be asked to directly message the representatives to begin investing in the various investment packages offered. The picture was mixed overseas. Hong Kong’s Hang Seng Index fell 1.6%, under pressure from U.S. regulatory scrutiny on New York-listed Chinese companies. Stocks were more buoyant in Europe, where Frankfurt’s DAX surged 1.4%.
from pl


Telegram Engineering notes | Артур Илькаев
FROM American