Android Autofill Framwork


#1

Hi there,

I just wanted to share some information with you about the autofill feature of Bitwarden:

This function drove me nuts!

All other password managers were able to display an autofill flyout near a login, where I can choose the login stored in the vault of the password manager. Only Bitwarden seems to do nothing. Well, that’s not true but can only be seen at second sight. Bitwarden recognizes a login and therefore produces a notification. So I have to go to the notification screen, press on the notification and allow Bitwarden to fill in the login data. Quite an ugly way to log into an app or a web page in chrome. Not the worst, but still ugly.

So why is Bitwarden behaving like this? I have Oreo on my Samsung Galaxy S7 edge and the most current version of Bitwarden. And I have activated everything, Bitwarden prompted me to. So what’s wrong?

I remembered Kyle mentioning that the Android Autofill Framework is used for the autofill feature I am looking for. So I went over to Android Developers:

The answer to all my questions seem to be the very first sentence:

“Learn about the autofill framework, which is available in Android 8.0 (API level 26) and higher.”

And the current software version of my Galaxy S7 edge is Android 8.0.0 API level 25. Sadly this obviously means that I cannot use the autofill function of Bitwarden as seen above. Which is a no go for me. The only thing I cannot get my head around is, why every other password manager supports autofill except Bitwarden. Was it a technical decision not to support people who decided not to buy a new phone constantly?

If yes, that’s quote sad as it drives me into the arms of the competition.


#2

I didn’t use the auto-fill feature very much, but what I can tell is that it works fine on Lollipop devices or higher.

That is, as I used LastPass in the past, when I tapped the password field it just had a pop up prompting for the fingerprint auth and then the available logins would show within that pop up. If I long pressed the login, it would offer me to copy the username and password in separate buttons. But that was done in a very intrusive way.

TL;DR

I migrated to Bitwarden recently and tbh, LP was quite buggy and shady for me. (Personal issues here, ofc.)
But, about BW’s UI so far I think it’s pretty neat, even that the app is heavier (in size) than LP. Storage space isn’t a problem for me now, luckily.

All I can tell is that with the persistent notification on that pane works fine. It’s not convenient as I expected, but I’m happy how it opens faster than LP app. It’s much more light than LP that I’ve used in the past.

BW lacks as many features as LP already has, but it takes time. Kyle is a very busy man and he’s doing his best to keep the tech support and development running fine.

Anyway, getting back to the topic, there should be a workaround for this, but if it exists, it’s probably in a hacky nasty way. Something Bitwarden definitely doesn’t want to poke with. The more available APIs that can work seamlessly with the app itself, the better it will run on your device.

For now, there’s nothing much that can be done for this, but if you find a better way to implement a better fluid auto-filling framework, don’t forget to share here. :wink:


#3

Thanks for your reply!

Actually, I really like the intrusive way of Lastpass. But for now, this will not work with Bitwarden considering the old Android version on my device. But I am waiting to update to the new S10 in March, so I will give Bitwarden another shot when I and my device are ready.


#4

I know this topic has been dead for a bit but I can’t get the pop-up working either. I’ve read several other threads here where people say “you don’t understand the autofill service” or “you don’t understand accessibility service” to people. That may be true, but it’s not the case with me. I suspect it’s not the case with all of them either. There’s clearly a problem with Bitwarden to some degree at least.

I’ve been using LastPass for years, but I’d really like to switch to this. I love the popups on LastPass, and they work great for me. On bitwarden they simply don’t work. I have to use the notification pull-down every time I’ve only seen the pop up a couple of times in the last week. I tried with only autofill selected and also with both AutoFill in accessibility and it makes no difference. For what it’s worth I’m running Android 9 pie and I tested it onto Android 9 devices and it acts exactly the same on both. Is this something people are looking into, or is there a workaround that will enable it to work? I’d very much like to switch to this as my daily driver for password management.


#5

Hi burntoc,

after updating recently to the new Samsung Galaxy S10, I gave Bitwarden another shot. Unfortunately, the experience was nearly identical to my old S7 where the autofill framework does not exist, at all. Actually, I was only able to use Bitwarden with the framework once, i.e. on Chrome and with Amazon. All other logins I have tried still depend on the accessibility feature. I did some research and discovered that other password manager also still rely on both, the autofill framework and the accessibility feature, athough the latter drains the battery. And this is mainly due to problems with Chrome and the autofill framework of Android.

What a shame. For me, it means that I have to stay with Lastpass. Every other tool was a step backwards.


#6

I have also posted about this issue.
In a nutshell, if I’m getting this right, Bitwarden seems to work with the Autofill accessibility service (meaning: the notification way) on Google Chrome and it uses the Autofill framework for apps.
However, other password managers, such as 1 Password (and I think LastPass) have found a way for the Autofill framework (meaning: no not the notification way) to work everywhere (sites and apps), via an indirect way (though I have no idea how they’ve managed to implement it), even in Android 7.
This is my main and only little complain about BW, which I really love and I use constantly.


#7

As said before, there are two ways to fill in user name and password in Chrome on Android:

  1. Autofill framework: native funktion since an early version of Android Pie to present some kind of fly out menu when you are presented with a login form on a Chrome for Android web page.
  2. Accessibility feature: more like a notification (e.g. like a notification from a news app) you can use as a workaround to fill in your credentials into a web page’s login form.

I have NEVER seen a password manager that uses way method 1 without problems. Actually, Lastpass is presenting some kind of flyout but it does that for years and therefore cannot be using method 1 because this wasn’t available so long ago.

1password does not use method 1 either:

Android Pie did introduce Autofill compatibility mode, which allows password managers to fill usernames and passwords in browsers that haven’t fully implemented the Autofill API, like Chrome. However, when we tested this out in a couple of beta releases over the summer, we found an issue that made the experience worse than filling with Accessibility. So for now, this is not supported, and you’ll need to enable our Accessibility service to fill in Chrome.

Source: https://www.reddit.com/r/1Password/comments/a1ql1y/requirements_for_enabling_autofill_in_chrome_for/

That being said, a proper autofill in Chrome for Android IS a feature request. But it obviously is some tough nut to crack.


#8

I guess you are right.
It seems that even 1Password uses the Accessibility services for logins on Android Google Chrome browser.
The reason I was confused and thinking that 1Password has found a way to indirectly use the Autofill framework on Android Google Chrome is actually the way 1Password chooses to use the Accessibility services and how it offers and presents it’s options to the user.

So look at this screenshot. 1Password does not actually produce a notification that you have to slide down on the screen with your finger to view it, and then click it, then get to the app and choose the login record you need / want.

1Password has found a way to produce a pop up banner, right below the login username form field.
I know that someone might think that it’s almost the same think but in my case I find that this is a slightly better and faster way to work with a password manager, than having to deal with a common notification you have to slide down, etc.
It probably still uses the Accessibility services and it is bad for the battery but the way it works is something I’d like to see on BitWarden.

p.s. My device is a Samsung S7, with Android Oreo 8.0.0 API level 25, too.


#9

On my S10 it looks exactly the same. The optimum would be if the password manager actually could present you here with the appropriate login. And not with the unnecessary option "autofill with ". Actually, Bitwarden is able to do that. But as I said before, it only worked on the mobile Amazon webpage. Strange…


#10

I’ve just tried on the mobile Amazon page (amazom.com) and I still got the Notification method with BW, and not a pop up banner.
Strange.