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

Commit 36b0b60e authored by Chad Brubaker's avatar Chad Brubaker Committed by Android (Google) Code Review
Browse files

Merge "Hide notifications when in Lockdown mode" into pi-dev

parents ad5d8175 ea8c5ef2
Loading
Loading
Loading
Loading
+5 −0
Original line number Original line Diff line number Diff line
@@ -1455,6 +1455,11 @@ public class LockPatternUtils {
        return (getStrongAuthForUser(userId) & ~StrongAuthTracker.ALLOWING_FINGERPRINT) == 0;
        return (getStrongAuthForUser(userId) & ~StrongAuthTracker.ALLOWING_FINGERPRINT) == 0;
    }
    }


    public boolean isUserInLockdown(int userId) {
        return getStrongAuthForUser(userId)
                == StrongAuthTracker.STRONG_AUTH_REQUIRED_AFTER_USER_LOCKDOWN;
    }

    private ICheckCredentialProgressCallback wrapCallback(
    private ICheckCredentialProgressCallback wrapCallback(
            final CheckCredentialProgressCallback callback) {
            final CheckCredentialProgressCallback callback) {
        if (callback == null) {
        if (callback == null) {
+16 −1
Original line number Original line Diff line number Diff line
@@ -38,6 +38,7 @@ import android.widget.TextView;
import android.widget.Toast;
import android.widget.Toast;


import com.android.internal.statusbar.IStatusBarService;
import com.android.internal.statusbar.IStatusBarService;
import com.android.internal.widget.LockPatternUtils;
import com.android.systemui.Dependency;
import com.android.systemui.Dependency;
import com.android.systemui.Dumpable;
import com.android.systemui.Dumpable;
import com.android.systemui.OverviewProxyService;
import com.android.systemui.OverviewProxyService;
@@ -67,6 +68,7 @@ public class NotificationLockscreenUserManager implements Dumpable {
            Dependency.get(DeviceProvisionedController.class);
            Dependency.get(DeviceProvisionedController.class);
    private final UserManager mUserManager;
    private final UserManager mUserManager;
    private final IStatusBarService mBarService;
    private final IStatusBarService mBarService;
    private final LockPatternUtils mLockPatternUtils;


    private boolean mShowLockscreenNotifications;
    private boolean mShowLockscreenNotifications;
    private boolean mAllowLockscreenRemoteInput;
    private boolean mAllowLockscreenRemoteInput;
@@ -155,6 +157,7 @@ public class NotificationLockscreenUserManager implements Dumpable {
        mCurrentUserId = ActivityManager.getCurrentUser();
        mCurrentUserId = ActivityManager.getCurrentUser();
        mBarService = IStatusBarService.Stub.asInterface(
        mBarService = IStatusBarService.Stub.asInterface(
                ServiceManager.getService(Context.STATUS_BAR_SERVICE));
                ServiceManager.getService(Context.STATUS_BAR_SERVICE));
        mLockPatternUtils = new LockPatternUtils(mContext);
    }
    }


    public void setUpWithPresenter(NotificationPresenter presenter,
    public void setUpWithPresenter(NotificationPresenter presenter,
@@ -258,13 +261,25 @@ public class NotificationLockscreenUserManager implements Dumpable {
        }
        }
    }
    }


    /**
     * Returns true if notifications are temporarily disabled for this user for security reasons,
     * regardless of the normal settings for that user.
     */
    private boolean shouldTemporarilyHideNotifications(int userId) {
        if (userId == UserHandle.USER_ALL) {
            userId = mCurrentUserId;
        }
        return mLockPatternUtils.isUserInLockdown(userId);
    }

    /**
    /**
     * Returns true if we're on a secure lockscreen and the user wants to hide notification data.
     * Returns true if we're on a secure lockscreen and the user wants to hide notification data.
     * If so, notifications should be hidden.
     * If so, notifications should be hidden.
     */
     */
    public boolean shouldHideNotifications(int userId) {
    public boolean shouldHideNotifications(int userId) {
        return isLockscreenPublicMode(userId) && !userAllowsNotificationsInPublic(userId)
        return isLockscreenPublicMode(userId) && !userAllowsNotificationsInPublic(userId)
                || (userId != mCurrentUserId && shouldHideNotifications(mCurrentUserId));
                || (userId != mCurrentUserId && shouldHideNotifications(mCurrentUserId))
                || shouldTemporarilyHideNotifications(userId);
    }
    }


    /**
    /**