From 3cfc950708fe22ded741da9e99ac0b86a0de763c Mon Sep 17 00:00:00 2001 From: Rohan Shah Date: Fri, 30 Mar 2018 10:14:22 -0700 Subject: [PATCH] [Notif] Disable "Customize" for blocking helper Update UI to hide customize when blocking helper is showing. Fixed a small problem with context.getString too where it was unnecessarily passing in a format string argument. Test: Visually Test: Ran atest NotifInfoTest with new test case Fixes: 77321231 Change-Id: Ia03ea7badc7aa7ccd7b3a0e235cce2363ace9953 --- .../systemui/statusbar/NotificationInfo.java | 8 +++---- .../statusbar/NotificationInfoTest.java | 23 +++++++++++++++++++ 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationInfo.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationInfo.java index 82ad74e26f0c6..cb33fe49159a8 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationInfo.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationInfo.java @@ -326,15 +326,15 @@ public class NotificationInfo extends LinearLayout implements NotificationGuts.G minimize.setVisibility(GONE); } - // Set up app settings link + // Set up app settings link (i.e. Customize) TextView settingsLinkView = findViewById(R.id.app_settings); Intent settingsIntent = getAppSettingsIntent(mPm, mPkg, mSingleNotificationChannel, mSbn.getId(), mSbn.getTag()); - if (settingsIntent != null + if (!mIsForBlockingHelper + && settingsIntent != null && !TextUtils.isEmpty(mSbn.getNotification().getSettingsText())) { settingsLinkView.setVisibility(VISIBLE); - settingsLinkView.setText(mContext.getString(R.string.notification_app_settings, - mSbn.getNotification().getSettingsText())); + settingsLinkView.setText(mContext.getString(R.string.notification_app_settings)); settingsLinkView.setOnClickListener((View view) -> { mAppSettingsClickListener.onClick(view, settingsIntent); }); diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationInfoTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationInfoTest.java index c2cb5b9940ebb..6090200aaaf92 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationInfoTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationInfoTest.java @@ -699,6 +699,29 @@ public class NotificationInfoTest extends SysuiTestCase { assertEquals(GONE, settingsLink.getVisibility()); } + @Test + public void testBindHeader_noSettingsLinkWhenIsForBlockingHelper() throws Exception { + final String settingsText = "work chats"; + final ResolveInfo ri = new ResolveInfo(); + ri.activityInfo = new ActivityInfo(); + ri.activityInfo.packageName = TEST_PACKAGE_NAME; + ri.activityInfo.name = "something"; + List ris = new ArrayList<>(); + ris.add(ri); + when(mMockPackageManager.queryIntentActivities(any(), anyInt())).thenReturn(ris); + mNotificationChannel.setImportance(IMPORTANCE_LOW); + Notification n = new Notification.Builder(mContext, mNotificationChannel.getId()) + .setSettingsText(settingsText).build(); + StatusBarNotification sbn = new StatusBarNotification(TEST_PACKAGE_NAME, TEST_PACKAGE_NAME, + 0, null, 0, 0, n, UserHandle.CURRENT, null, 0); + + mNotificationInfo.bindNotification(mMockPackageManager, mMockINotificationManager, + TEST_PACKAGE_NAME, mNotificationChannel, 1, sbn, null, null, null, null, true, + true); + final TextView settingsLink = mNotificationInfo.findViewById(R.id.app_settings); + assertEquals(GONE, settingsLink.getVisibility()); + } + @Test public void testWillBeRemovedReturnsFalseBeforeBind() throws Exception {