Loading packages/SystemUI/res/layout/notification_conversation_info.xml +10 −0 Original line number Diff line number Diff line Loading @@ -390,6 +390,16 @@ android:paddingStart="4dp" android:paddingEnd="4dp" > <TextView android:id="@+id/inline_dismiss" android:text="@string/notification_inline_dismiss" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentStart="true" android:gravity="center_vertical" android:minWidth="@dimen/notification_importance_toggle_size" android:minHeight="@dimen/notification_importance_toggle_size" style="@style/TextAppearance.NotificationInfo.Button"/> <TextView android:id="@+id/done" android:text="@string/inline_ok_button" Loading packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationConversationInfo.java +6 −1 Original line number Diff line number Diff line Loading @@ -218,7 +218,7 @@ public class NotificationConversationInfo extends LinearLayout implements @Background Handler bgHandler, OnConversationSettingsClickListener onConversationSettingsClickListener, Optional<BubblesManager> bubblesManagerOptional, ShadeController shadeController) { ShadeController shadeController, boolean isDismissable, OnClickListener onCloseClick) { mINotificationManager = iNotificationManager; mPeopleSpaceWidgetManager = peopleSpaceWidgetManager; mOnUserInteractionCallback = onUserInteractionCallback; Loading Loading @@ -263,6 +263,11 @@ public class NotificationConversationInfo extends LinearLayout implements bindHeader(); bindActions(); View dismissButton = findViewById(R.id.inline_dismiss); dismissButton.setOnClickListener(onCloseClick); dismissButton.setVisibility(dismissButton.hasOnClickListeners() && isDismissable ? VISIBLE : GONE); View done = findViewById(R.id.done); done.setOnClickListener(mOnDone); done.setAccessibilityDelegate(mGutsContainer.getAccessibilityDelegate()); Loading packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationGutsManager.java +3 −1 Original line number Diff line number Diff line Loading @@ -608,7 +608,9 @@ public class NotificationGutsManager implements NotifGutsViewManager, CoreStarta mBgHandler, onConversationSettingsListener, mBubblesManagerOptional, mShadeController); mShadeController, row.canViewBeDismissed(), row.getCloseButtonOnClickListener(row)); } /** Loading packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationConversationInfoTest.java +24 −7 Original line number Diff line number Diff line Loading @@ -171,6 +171,8 @@ public class NotificationConversationInfoTest extends SysuiTestCase { private ConversationIconFactory mIconFactory; @Mock private Notification.BubbleMetadata mBubbleMetadata; @Mock private View.OnClickListener mCloseListener; private Handler mTestHandler; @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(); Loading Loading @@ -298,7 +300,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase { true, mTestHandler, mTestHandler, null, Optional.of(mBubblesManager), mShadeController); mShadeController, true, mCloseListener); } @Test Loading Loading @@ -402,7 +404,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase { true, mTestHandler, mTestHandler, null, Optional.of(mBubblesManager), mShadeController); mShadeController, true, null); final TextView nameView = mNotificationInfo.findViewById(R.id.delegate_name); assertEquals(VISIBLE, nameView.getVisibility()); assertTrue(nameView.getText().toString().contains("Proxied")); Loading Loading @@ -442,7 +444,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase { true, mTestHandler, mTestHandler, null, Optional.of(mBubblesManager), mShadeController); mShadeController, true, null); final View feedback = mNotificationInfo.findViewById(R.id.feedback); assertEquals(VISIBLE, feedback.getVisibility()); Loading Loading @@ -484,7 +486,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase { true, mTestHandler, mTestHandler, null, Optional.of(mBubblesManager), mShadeController); mShadeController, true, null); final View settingsButton = mNotificationInfo.findViewById(R.id.info); settingsButton.performClick(); Loading Loading @@ -524,7 +526,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase { false, mTestHandler, mTestHandler, null, Optional.of(mBubblesManager), mShadeController); mShadeController, true, null); final View settingsButton = mNotificationInfo.findViewById(R.id.info); assertTrue(settingsButton.getVisibility() != View.VISIBLE); } Loading Loading @@ -601,7 +603,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase { true, mTestHandler, mTestHandler, null, Optional.of(mBubblesManager), mShadeController); mShadeController, true, null); assertThat(((TextView) mNotificationInfo.findViewById(R.id.priority_summary)).getText()) .isEqualTo(mContext.getString( R.string.notification_channel_summary_priority_dnd)); Loading Loading @@ -633,7 +635,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase { true, mTestHandler, mTestHandler, null, Optional.of(mBubblesManager), mShadeController); mShadeController, true, null); assertThat(((TextView) mNotificationInfo.findViewById(R.id.priority_summary)).getText()) .isEqualTo(mContext.getString( R.string.notification_channel_summary_priority_baseline)); Loading Loading @@ -1018,4 +1020,19 @@ public class NotificationConversationInfoTest extends SysuiTestCase { // THEN the user is not presented with the People Tile pinning request verify(mPeopleSpaceWidgetManager, never()).requestPinAppWidget(eq(mShortcutInfo), any()); } @Test public void testDismiss() throws Exception { doStandardBind(); View dismiss = mNotificationInfo.findViewById(R.id.inline_dismiss); dismiss.performClick(); mTestableLooper.processAllMessages(); // Verify action performed on button click verify(mCloseListener).onClick(any()); } } Loading
packages/SystemUI/res/layout/notification_conversation_info.xml +10 −0 Original line number Diff line number Diff line Loading @@ -390,6 +390,16 @@ android:paddingStart="4dp" android:paddingEnd="4dp" > <TextView android:id="@+id/inline_dismiss" android:text="@string/notification_inline_dismiss" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentStart="true" android:gravity="center_vertical" android:minWidth="@dimen/notification_importance_toggle_size" android:minHeight="@dimen/notification_importance_toggle_size" style="@style/TextAppearance.NotificationInfo.Button"/> <TextView android:id="@+id/done" android:text="@string/inline_ok_button" Loading
packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationConversationInfo.java +6 −1 Original line number Diff line number Diff line Loading @@ -218,7 +218,7 @@ public class NotificationConversationInfo extends LinearLayout implements @Background Handler bgHandler, OnConversationSettingsClickListener onConversationSettingsClickListener, Optional<BubblesManager> bubblesManagerOptional, ShadeController shadeController) { ShadeController shadeController, boolean isDismissable, OnClickListener onCloseClick) { mINotificationManager = iNotificationManager; mPeopleSpaceWidgetManager = peopleSpaceWidgetManager; mOnUserInteractionCallback = onUserInteractionCallback; Loading Loading @@ -263,6 +263,11 @@ public class NotificationConversationInfo extends LinearLayout implements bindHeader(); bindActions(); View dismissButton = findViewById(R.id.inline_dismiss); dismissButton.setOnClickListener(onCloseClick); dismissButton.setVisibility(dismissButton.hasOnClickListeners() && isDismissable ? VISIBLE : GONE); View done = findViewById(R.id.done); done.setOnClickListener(mOnDone); done.setAccessibilityDelegate(mGutsContainer.getAccessibilityDelegate()); Loading
packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationGutsManager.java +3 −1 Original line number Diff line number Diff line Loading @@ -608,7 +608,9 @@ public class NotificationGutsManager implements NotifGutsViewManager, CoreStarta mBgHandler, onConversationSettingsListener, mBubblesManagerOptional, mShadeController); mShadeController, row.canViewBeDismissed(), row.getCloseButtonOnClickListener(row)); } /** Loading
packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationConversationInfoTest.java +24 −7 Original line number Diff line number Diff line Loading @@ -171,6 +171,8 @@ public class NotificationConversationInfoTest extends SysuiTestCase { private ConversationIconFactory mIconFactory; @Mock private Notification.BubbleMetadata mBubbleMetadata; @Mock private View.OnClickListener mCloseListener; private Handler mTestHandler; @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(); Loading Loading @@ -298,7 +300,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase { true, mTestHandler, mTestHandler, null, Optional.of(mBubblesManager), mShadeController); mShadeController, true, mCloseListener); } @Test Loading Loading @@ -402,7 +404,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase { true, mTestHandler, mTestHandler, null, Optional.of(mBubblesManager), mShadeController); mShadeController, true, null); final TextView nameView = mNotificationInfo.findViewById(R.id.delegate_name); assertEquals(VISIBLE, nameView.getVisibility()); assertTrue(nameView.getText().toString().contains("Proxied")); Loading Loading @@ -442,7 +444,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase { true, mTestHandler, mTestHandler, null, Optional.of(mBubblesManager), mShadeController); mShadeController, true, null); final View feedback = mNotificationInfo.findViewById(R.id.feedback); assertEquals(VISIBLE, feedback.getVisibility()); Loading Loading @@ -484,7 +486,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase { true, mTestHandler, mTestHandler, null, Optional.of(mBubblesManager), mShadeController); mShadeController, true, null); final View settingsButton = mNotificationInfo.findViewById(R.id.info); settingsButton.performClick(); Loading Loading @@ -524,7 +526,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase { false, mTestHandler, mTestHandler, null, Optional.of(mBubblesManager), mShadeController); mShadeController, true, null); final View settingsButton = mNotificationInfo.findViewById(R.id.info); assertTrue(settingsButton.getVisibility() != View.VISIBLE); } Loading Loading @@ -601,7 +603,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase { true, mTestHandler, mTestHandler, null, Optional.of(mBubblesManager), mShadeController); mShadeController, true, null); assertThat(((TextView) mNotificationInfo.findViewById(R.id.priority_summary)).getText()) .isEqualTo(mContext.getString( R.string.notification_channel_summary_priority_dnd)); Loading Loading @@ -633,7 +635,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase { true, mTestHandler, mTestHandler, null, Optional.of(mBubblesManager), mShadeController); mShadeController, true, null); assertThat(((TextView) mNotificationInfo.findViewById(R.id.priority_summary)).getText()) .isEqualTo(mContext.getString( R.string.notification_channel_summary_priority_baseline)); Loading Loading @@ -1018,4 +1020,19 @@ public class NotificationConversationInfoTest extends SysuiTestCase { // THEN the user is not presented with the People Tile pinning request verify(mPeopleSpaceWidgetManager, never()).requestPinAppWidget(eq(mShortcutInfo), any()); } @Test public void testDismiss() throws Exception { doStandardBind(); View dismiss = mNotificationInfo.findViewById(R.id.inline_dismiss); dismiss.performClick(); mTestableLooper.processAllMessages(); // Verify action performed on button click verify(mCloseListener).onClick(any()); } }