Merge "Add falsing protection for all notification settings guts" into rvc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
8c9e2496a6
@@ -188,6 +188,11 @@ public class AppOpsInfo extends LinearLayout implements NotificationGuts.GutsCon
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean needsFalsingProtection() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public View getContentView() {
|
||||
return this;
|
||||
|
||||
@@ -403,6 +403,11 @@ public class NotificationConversationInfo extends LinearLayout implements
|
||||
// TODO: do we need to do anything here?
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean needsFalsingProtection() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onInitializeAccessibilityEvent(AccessibilityEvent event) {
|
||||
super.onInitializeAccessibilityEvent(event);
|
||||
|
||||
@@ -104,6 +104,12 @@ public class NotificationGuts extends FrameLayout {
|
||||
* Called when the guts view has finished its close animation.
|
||||
*/
|
||||
default void onFinishedClosing() {}
|
||||
|
||||
/**
|
||||
* Returns whether falsing protection is needed before showing the contents of this
|
||||
* view on the lockscreen
|
||||
*/
|
||||
boolean needsFalsingProtection();
|
||||
}
|
||||
|
||||
public interface OnGutsClosedListener {
|
||||
|
||||
@@ -523,23 +523,27 @@ public class NotificationGutsManager implements Dumpable, NotificationLifetimeEx
|
||||
int x,
|
||||
int y,
|
||||
NotificationMenuRowPlugin.MenuItem menuItem) {
|
||||
if (menuItem.getGutsView() instanceof NotificationInfo) {
|
||||
if (mStatusBarStateController instanceof StatusBarStateControllerImpl) {
|
||||
((StatusBarStateControllerImpl) mStatusBarStateController)
|
||||
.setLeaveOpenOnKeyguardHide(true);
|
||||
if (menuItem.getGutsView() instanceof NotificationGuts.GutsContent) {
|
||||
NotificationGuts.GutsContent gutsView =
|
||||
(NotificationGuts.GutsContent) menuItem.getGutsView();
|
||||
if (gutsView.needsFalsingProtection()) {
|
||||
if (mStatusBarStateController instanceof StatusBarStateControllerImpl) {
|
||||
((StatusBarStateControllerImpl) mStatusBarStateController)
|
||||
.setLeaveOpenOnKeyguardHide(true);
|
||||
}
|
||||
|
||||
Runnable r = () -> mMainHandler.post(
|
||||
() -> openGutsInternal(view, x, y, menuItem));
|
||||
|
||||
mStatusBarLazy.get().executeRunnableDismissingKeyguard(
|
||||
r,
|
||||
null /* cancelAction */,
|
||||
false /* dismissShade */,
|
||||
true /* afterKeyguardGone */,
|
||||
true /* deferred */);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
Runnable r = () -> mMainHandler.post(
|
||||
() -> openGutsInternal(view, x, y, menuItem));
|
||||
|
||||
mStatusBarLazy.get().executeRunnableDismissingKeyguard(
|
||||
r,
|
||||
null /* cancelAction */,
|
||||
false /* dismissShade */,
|
||||
true /* afterKeyguardGone */,
|
||||
true /* deferred */);
|
||||
|
||||
return true;
|
||||
}
|
||||
return openGutsInternal(view, x, y, menuItem);
|
||||
}
|
||||
|
||||
@@ -489,6 +489,11 @@ public class NotificationInfo extends LinearLayout implements NotificationGuts.G
|
||||
mMetricsLogger.write(notificationControlsLogMaker().setType(MetricsEvent.TYPE_CLOSE));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean needsFalsingProtection() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onInitializeAccessibilityEvent(AccessibilityEvent event) {
|
||||
super.onInitializeAccessibilityEvent(event);
|
||||
|
||||
@@ -442,6 +442,11 @@ public class NotificationSnooze extends LinearLayout
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean needsFalsingProtection() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public class NotificationSnoozeOption implements SnoozeOption {
|
||||
private SnoozeCriterion mCriterion;
|
||||
private int mMinutesToSnoozeFor;
|
||||
|
||||
@@ -300,6 +300,11 @@ public class PartialConversationInfo extends LinearLayout implements
|
||||
// TODO: do we need to do anything here?
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean needsFalsingProtection() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onInitializeAccessibilityEvent(AccessibilityEvent event) {
|
||||
super.onInitializeAccessibilityEvent(event);
|
||||
|
||||
Reference in New Issue
Block a user