Sometimes when technology bugs out, I like a good and heavy analysis on why something didn’t work as intended. Mishaal Rahman, former editor in chief at XDA Developers, wrote an excellent explainer on why a 911 call on a Google Pixel 3 with Microsoft Teams failed during a real emergency — aptly titled: “How a bug in Android and Microsoft Teams could have caused this user’s 911 call to fail.”
Rahman’s story explains the recent situation of a Pixel 3 user frantically trying to call 911 but attempts kept freezing the phone.
New: How a bug in Android and Microsoft Teams could have caused this user’s 911 call to fail.
This is a high-level technical analysis explaining that weird Android 911/Microsoft Teams bug.https://t.co/hjFIm7GGn3
— Mishaal Rahman (@MishaalRahman) December 10, 2021
Even if you start reading the article from the middle — or even skim it — you still get a fascinating look on how the Android OS interfaces with apps like Teams that have phone call features:
Even without analyzing the decompiled code of the Microsoft Teams app, it’s easy to confirm that there’s a bug in the app that results in the excessive registration of PhoneAccount instances. Whenever the Microsoft Teams app is installed but the user has not signed in, every cold launch of the app results in the creation of another PhoneAccount instance.
If you have an app like Teams on your Android phone that can make “phone calls” (looks kind of like a regular cellular call), the article explains in depth how an app will add itself to a list of “PhoneAccounts” that the system can use.
If you’re someone who’s interested in the inner workings of Android — specifically how the OS can fumble emergency phone calls (and where Microsoft went wrong), then you really should go read this article.