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

Commit 5d932857 authored by Raff Tsai's avatar Raff Tsai
Browse files

Do not allow draw on top for App notification settings

Fixes: 119115683
Test: manual
Change-Id: Ib7b878a23b4a99171c58b5de992fb87feca8a28a
Merged-In: Ib7b878a23b4a99171c58b5de992fb87feca8a28a
(cherry picked from commit fe86a2a5)
parent b985aa2f
Loading
Loading
Loading
Loading
+19 −5
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package com.android.settings.notification;

import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;

import android.app.Notification;
import android.app.NotificationManager;
import android.content.Intent;
@@ -28,17 +30,14 @@ import android.os.UserHandle;
import android.service.notification.NotificationListenerService.Ranking;
import android.util.ArrayMap;
import android.util.Log;

import android.view.Window;
import android.view.WindowManager;
import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.internal.widget.LockPatternUtils;
import com.android.settings.AppHeader;
import com.android.settings.R;
import com.android.settings.applications.LayoutPreference;
import com.android.settings.notification.NotificationBackend.AppRow;
import com.android.settingslib.RestrictedSwitchPreference;
import com.android.settingslib.RestrictedPreference;


import java.util.List;

/** These settings are per app, so should not be returned in global search results. */
@@ -99,6 +98,21 @@ public class AppNotificationSettings extends NotificationSettingsBase {
        }
    }

    @Override
    public void onResume() {
        super.onResume();
        getActivity().getWindow().addPrivateFlags(PRIVATE_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
        android.util.EventLog.writeEvent(0x534e4554, "119115683", -1, "");
    }

    public void onPause() {
        super.onPause();
        final Window window = getActivity().getWindow();
        final WindowManager.LayoutParams attrs = window.getAttributes();
        attrs.privateFlags &= ~PRIVATE_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;
        window.setAttributes(attrs);
    }

    @Override
    protected void updateDependents(int importance) {
        LockPatternUtils utils = new LockPatternUtils(getActivity());