A Quick Review

Android 12 — App Overlay Controls?

Android 12 is slowly coming into our lives and the first 2 preview versions have already been released. With those, the changes to be made in application behaviors and features have already begun to give an idea. We expect to see more of these features and enhancements when the Beta version is released in May. Of course, we may also witness some of the ones that have been published so far being removed from the plan. The right to do this is reserved.

What are the features in the devices, most of which will be released in 2022? In this series of articles, I will try to share some of these with you.

APP OVERLAY CONTROLS

One of the biggest changes in the security area is app overlay controls. Android 12 brings capabilities for developers to provide users with a safer app experience. With Android 12, users will be able to make sure that other applications cannot monitor them while performing sensitive transactions such as logging in and banking.

Developers can hide app overlay windows on a screen with Android 12

What are the applications to be restricted?

Some applications can use the SYSTEM_ALERT_WINDOW permission to show windows of type TYPE_APPLICATION_OVERLAY that can run on top of running applications. Although this permission is helpful with features like Bubbles and Dialogs, it can also be used for malicious purposes such as TapJacking that may capture users’ sensitive information. You can learn more about that from Subho Halder’s blog post.

Android 12 allows developers to close TYPE_APPLICATION_OVERLAY type of windows during these transactions in order to prevent such uses and increase the security.

After the HIDE_OVERLAY_WINDOWS permission is declared, when the sensitive screen is opened, the overlay windows will be closed with the following code snippet:

 Window.setHideOverlayWindows(boolean)

How will restricted applications refactor?

They will try to find a suitable solution for their intended use with alternatives such as picture-in-picture or bubbles.

Android Developer, Flutter explorer