Loading packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/row/PromotedNotificationInfoTest.java +15 −6 Original line number Diff line number Diff line Loading @@ -19,6 +19,9 @@ package com.android.systemui.statusbar.notification.row; import static android.app.Notification.EXTRA_BUILDER_APPLICATION_INFO; import static android.app.NotificationManager.IMPORTANCE_LOW; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.ArgumentMatchers.isNull; import static org.mockito.Mockito.atLeastOnce; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; Loading Loading @@ -52,11 +55,11 @@ import com.android.systemui.statusbar.notification.collection.EntryAdapter; import com.android.systemui.statusbar.notification.collection.EntryAdapterFactoryImpl; import com.android.systemui.statusbar.notification.collection.NotificationEntry; import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder; import com.android.systemui.statusbar.notification.headsup.HeadsUpManager; import com.android.systemui.statusbar.notification.promoted.domain.interactor.PackageDemotionInteractor; import com.android.systemui.statusbar.notification.collection.coordinator.VisualStabilityCoordinator; import com.android.systemui.statusbar.notification.collection.provider.HighPriorityProvider; import com.android.systemui.statusbar.notification.headsup.HeadsUpManager; import com.android.systemui.statusbar.notification.people.PeopleNotificationIdentifier; import com.android.systemui.statusbar.notification.promoted.domain.interactor.PackageDemotionInteractor; import com.android.systemui.statusbar.notification.row.icon.AppIconProvider; import com.android.systemui.statusbar.notification.row.icon.NotificationIconStyleProvider; Loading Loading @@ -101,6 +104,7 @@ public class PromotedNotificationInfoTest extends SysuiTestCase { @Mock private OnUserInteractionCallback mOnUserInteractionCallback; @Mock private ChannelEditorDialogController mChannelEditorDialogController; @Mock private PackageDemotionInteractor mPackageDemotionInteractor; Loading @@ -109,6 +113,9 @@ public class PromotedNotificationInfoTest extends SysuiTestCase { @Mock private TelecomManager mTelecomManager; @Mock NotificationInfo.OnSettingsClickListener mMockSettingsClickListener; @Before public void setUp() throws Exception { final ApplicationInfo applicationInfo = new ApplicationInfo(); Loading Loading @@ -171,7 +178,7 @@ public class PromotedNotificationInfoTest extends SysuiTestCase { mSbn, mEntry, mEntryAdapter, null, mMockSettingsClickListener, null, null, mUiEventLogger, Loading @@ -185,9 +192,11 @@ public class PromotedNotificationInfoTest extends SysuiTestCase { // Click demote button final View demoteButton = mInfo.findViewById(R.id.promoted_demote); demoteButton.performClick(); // TODO(b/417258670): restore original behavior when settings detour is removed. // verify that notiManager tried to demote verify(mMockINotificationManager, atLeastOnce()).setCanBePromoted(TEST_PACKAGE_NAME, mSbn.getUid(), false, true); // verify(mMockINotificationManager, atLeastOnce()).setCanBePromoted(TEST_PACKAGE_NAME, // mSbn.getUid(), false, true); verify(mMockSettingsClickListener, atLeastOnce()).onClick(any(), isNull(), eq(TEST_UID)); } } packages/SystemUI/src/com/android/systemui/statusbar/notification/row/PromotedNotificationInfo.java +8 −8 Original line number Diff line number Diff line Loading @@ -27,7 +27,6 @@ import android.service.notification.StatusBarNotification; import android.text.SpannableStringBuilder; import android.text.style.ImageSpan; import android.util.AttributeSet; import android.util.Log; import android.view.View; import android.widget.TextView; Loading @@ -51,6 +50,7 @@ public class PromotedNotificationInfo extends NotificationInfo { private INotificationManager mNotificationManager; private PackageDemotionInteractor mPackageDemotionInteractor; OnSettingsClickListener mOnSettingsClickListener; public PromotedNotificationInfo(Context context, AttributeSet attrs) { super(context, attrs); } Loading Loading @@ -88,6 +88,7 @@ public class PromotedNotificationInfo extends NotificationInfo { mNotificationManager = iNotificationManager; mOnSettingsClickListener = onSettingsClick; mPackageDemotionInteractor = packageDemotionInteractor; bindDemote(sbn, pkg); Loading Loading @@ -130,13 +131,12 @@ public class PromotedNotificationInfo extends NotificationInfo { private OnClickListener getDemoteClickListener(StatusBarNotification sbn, String packageName) { return ((View v) -> { try { mNotificationManager.setCanBePromoted(packageName, sbn.getUid(), false, true); mPackageDemotionInteractor.onPackageDemoted(packageName, sbn.getUid()); mGutsContainer.closeControls(v, true); } catch (RemoteException e) { Log.e(TAG, "Couldn't revoke live update permission", e); } // TODO(b/417258670) Remove detour through settings by using specialized permission. // mNotificationManager.setCanBePromoted(packageName, sbn.getUid(), false, true); // mPackageDemotionInteractor.onPackageDemoted(packageName, sbn.getUid()); // mGutsContainer.closeControls(v, true); mOnSettingsClickListener.onClick(v, null, sbn.getUid()); }); } } Loading Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/row/PromotedNotificationInfoTest.java +15 −6 Original line number Diff line number Diff line Loading @@ -19,6 +19,9 @@ package com.android.systemui.statusbar.notification.row; import static android.app.Notification.EXTRA_BUILDER_APPLICATION_INFO; import static android.app.NotificationManager.IMPORTANCE_LOW; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.ArgumentMatchers.isNull; import static org.mockito.Mockito.atLeastOnce; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; Loading Loading @@ -52,11 +55,11 @@ import com.android.systemui.statusbar.notification.collection.EntryAdapter; import com.android.systemui.statusbar.notification.collection.EntryAdapterFactoryImpl; import com.android.systemui.statusbar.notification.collection.NotificationEntry; import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder; import com.android.systemui.statusbar.notification.headsup.HeadsUpManager; import com.android.systemui.statusbar.notification.promoted.domain.interactor.PackageDemotionInteractor; import com.android.systemui.statusbar.notification.collection.coordinator.VisualStabilityCoordinator; import com.android.systemui.statusbar.notification.collection.provider.HighPriorityProvider; import com.android.systemui.statusbar.notification.headsup.HeadsUpManager; import com.android.systemui.statusbar.notification.people.PeopleNotificationIdentifier; import com.android.systemui.statusbar.notification.promoted.domain.interactor.PackageDemotionInteractor; import com.android.systemui.statusbar.notification.row.icon.AppIconProvider; import com.android.systemui.statusbar.notification.row.icon.NotificationIconStyleProvider; Loading Loading @@ -101,6 +104,7 @@ public class PromotedNotificationInfoTest extends SysuiTestCase { @Mock private OnUserInteractionCallback mOnUserInteractionCallback; @Mock private ChannelEditorDialogController mChannelEditorDialogController; @Mock private PackageDemotionInteractor mPackageDemotionInteractor; Loading @@ -109,6 +113,9 @@ public class PromotedNotificationInfoTest extends SysuiTestCase { @Mock private TelecomManager mTelecomManager; @Mock NotificationInfo.OnSettingsClickListener mMockSettingsClickListener; @Before public void setUp() throws Exception { final ApplicationInfo applicationInfo = new ApplicationInfo(); Loading Loading @@ -171,7 +178,7 @@ public class PromotedNotificationInfoTest extends SysuiTestCase { mSbn, mEntry, mEntryAdapter, null, mMockSettingsClickListener, null, null, mUiEventLogger, Loading @@ -185,9 +192,11 @@ public class PromotedNotificationInfoTest extends SysuiTestCase { // Click demote button final View demoteButton = mInfo.findViewById(R.id.promoted_demote); demoteButton.performClick(); // TODO(b/417258670): restore original behavior when settings detour is removed. // verify that notiManager tried to demote verify(mMockINotificationManager, atLeastOnce()).setCanBePromoted(TEST_PACKAGE_NAME, mSbn.getUid(), false, true); // verify(mMockINotificationManager, atLeastOnce()).setCanBePromoted(TEST_PACKAGE_NAME, // mSbn.getUid(), false, true); verify(mMockSettingsClickListener, atLeastOnce()).onClick(any(), isNull(), eq(TEST_UID)); } }
packages/SystemUI/src/com/android/systemui/statusbar/notification/row/PromotedNotificationInfo.java +8 −8 Original line number Diff line number Diff line Loading @@ -27,7 +27,6 @@ import android.service.notification.StatusBarNotification; import android.text.SpannableStringBuilder; import android.text.style.ImageSpan; import android.util.AttributeSet; import android.util.Log; import android.view.View; import android.widget.TextView; Loading @@ -51,6 +50,7 @@ public class PromotedNotificationInfo extends NotificationInfo { private INotificationManager mNotificationManager; private PackageDemotionInteractor mPackageDemotionInteractor; OnSettingsClickListener mOnSettingsClickListener; public PromotedNotificationInfo(Context context, AttributeSet attrs) { super(context, attrs); } Loading Loading @@ -88,6 +88,7 @@ public class PromotedNotificationInfo extends NotificationInfo { mNotificationManager = iNotificationManager; mOnSettingsClickListener = onSettingsClick; mPackageDemotionInteractor = packageDemotionInteractor; bindDemote(sbn, pkg); Loading Loading @@ -130,13 +131,12 @@ public class PromotedNotificationInfo extends NotificationInfo { private OnClickListener getDemoteClickListener(StatusBarNotification sbn, String packageName) { return ((View v) -> { try { mNotificationManager.setCanBePromoted(packageName, sbn.getUid(), false, true); mPackageDemotionInteractor.onPackageDemoted(packageName, sbn.getUid()); mGutsContainer.closeControls(v, true); } catch (RemoteException e) { Log.e(TAG, "Couldn't revoke live update permission", e); } // TODO(b/417258670) Remove detour through settings by using specialized permission. // mNotificationManager.setCanBePromoted(packageName, sbn.getUid(), false, true); // mPackageDemotionInteractor.onPackageDemoted(packageName, sbn.getUid()); // mGutsContainer.closeControls(v, true); mOnSettingsClickListener.onClick(v, null, sbn.getUid()); }); } } Loading