Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d14ba166 authored by Philip P. Moltmann's avatar Philip P. Moltmann
Browse files

Hide all user's overlays during grant permissions

... and installations

Fixes: 35612487
Test: 1. Installed facebook messanger and enabled chat-heads in private
         profile
      2. Opened work-profile camera which asks for location permission
      3. Chat head disappered during permission check
      4. Chat head re-appeared after permission check

Change-Id: I0792480b734229305b80b181faf19074f6b11f5a
parent fae06c0e
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ import android.app.Activity;
import android.app.AppOpsManager;
import android.os.Binder;
import android.os.IBinder;
import android.os.UserHandle;

public class OverlayTouchActivity extends Activity {
    private final IBinder mToken = new Binder();
@@ -38,10 +39,10 @@ public class OverlayTouchActivity extends Activity {
    private void setOverlayAllowed(boolean allowed) {
        AppOpsManager appOpsManager = getSystemService(AppOpsManager.class);
        if (appOpsManager != null) {
            appOpsManager.setUserRestriction(AppOpsManager.OP_SYSTEM_ALERT_WINDOW,
                    !allowed, mToken);
            appOpsManager.setUserRestriction(AppOpsManager.OP_TOAST_WINDOW,
                    !allowed, mToken);
            appOpsManager.setUserRestrictionForUser(AppOpsManager.OP_SYSTEM_ALERT_WINDOW, !allowed,
                    mToken, null, UserHandle.USER_ALL);
            appOpsManager.setUserRestrictionForUser(AppOpsManager.OP_TOAST_WINDOW, !allowed,
                    mToken, null, UserHandle.USER_ALL);
        }
    }
}