Display proper block text for blocking helper
Test: runtest systemui
Bug: 63095540
Change-Id: Ifa86744e2ddbb0170f61d15750a2e5453107988d
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationInfo.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationInfo.java
index 6279fdc..735f4fd 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationInfo.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationInfo.java
@@ -79,6 +79,7 @@
private OnSettingsClickListener mOnSettingsClickListener;
private OnAppSettingsClickListener mAppSettingsClickListener;
private NotificationGuts mGutsContainer;
+ private boolean mNegativeUserSentiment;
private OnClickListener mOnKeepShowing = v -> {
closeControls(v);
@@ -122,6 +123,22 @@
final OnAppSettingsClickListener onAppSettingsClick,
final Set<String> nonBlockablePkgs)
throws RemoteException {
+ bindNotification(pm, iNotificationManager, pkg, notificationChannel, numChannels, sbn,
+ checkSaveListener, onSettingsClick, onAppSettingsClick, nonBlockablePkgs,
+ false /* negative sentiment */);
+ }
+
+ public void bindNotification(final PackageManager pm,
+ final INotificationManager iNotificationManager,
+ final String pkg,
+ final NotificationChannel notificationChannel,
+ final int numChannels,
+ final StatusBarNotification sbn,
+ final CheckSaveListener checkSaveListener,
+ final OnSettingsClickListener onSettingsClick,
+ final OnAppSettingsClickListener onAppSettingsClick,
+ final Set<String> nonBlockablePkgs,
+ boolean negativeUserSentiment) throws RemoteException {
mINotificationManager = iNotificationManager;
mPkg = pkg;
mNumNotificationChannels = numChannels;
@@ -133,6 +150,7 @@
mOnSettingsClickListener = onSettingsClick;
mSingleNotificationChannel = notificationChannel;
mStartingUserImportance = mChosenImportance = mSingleNotificationChannel.getImportance();
+ mNegativeUserSentiment = negativeUserSentiment;
int numTotalChannels = mINotificationManager.getNumNotificationChannelsForPackage(
pkg, mAppUid, false /* includeDeleted */);
@@ -227,27 +245,30 @@
}
private void bindPrompt() {
- final TextView channelName = findViewById(R.id.channel_name);
final TextView blockPrompt = findViewById(R.id.block_prompt);
+ bindName();
if (mNonblockable) {
- if (mIsSingleDefaultChannel || mNumNotificationChannels > 1) {
- channelName.setVisibility(View.GONE);
- } else {
- channelName.setText(mSingleNotificationChannel.getName());
- }
-
blockPrompt.setText(R.string.notification_unblockable_desc);
} else {
- if (mIsSingleDefaultChannel || mNumNotificationChannels > 1) {
- channelName.setVisibility(View.GONE);
+ if (mNegativeUserSentiment) {
+ blockPrompt.setText(R.string.inline_blocking_helper);
+ } else if (mIsSingleDefaultChannel || mNumNotificationChannels > 1) {
blockPrompt.setText(R.string.inline_keep_showing_app);
} else {
- channelName.setText(mSingleNotificationChannel.getName());
blockPrompt.setText(R.string.inline_keep_showing);
}
}
}
+ private void bindName() {
+ final TextView channelName = findViewById(R.id.channel_name);
+ if (mIsSingleDefaultChannel || mNumNotificationChannels > 1) {
+ channelName.setVisibility(View.GONE);
+ } else {
+ channelName.setText(mSingleNotificationChannel.getName());
+ }
+ }
+
private boolean hasImportanceChanged() {
return mSingleNotificationChannel != null && mStartingUserImportance != mChosenImportance;
}