Merge "Disable priority conversation widget for secondary users" into udc-qpr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
8aef12b550
@@ -48,6 +48,7 @@ import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.RemoteException;
|
||||
import android.os.UserHandle;
|
||||
import android.os.UserManager;
|
||||
import android.service.notification.StatusBarNotification;
|
||||
import android.text.TextUtils;
|
||||
import android.transition.ChangeBounds;
|
||||
@@ -118,6 +119,8 @@ public class NotificationConversationInfo extends LinearLayout implements
|
||||
private NotificationGuts mGutsContainer;
|
||||
private OnConversationSettingsClickListener mOnConversationSettingsClickListener;
|
||||
|
||||
private UserManager mUm;
|
||||
|
||||
@VisibleForTesting
|
||||
boolean mSkipPost = false;
|
||||
private int mActualHeight;
|
||||
@@ -155,7 +158,9 @@ public class NotificationConversationInfo extends LinearLayout implements
|
||||
// People Tile add request.
|
||||
if (mSelectedAction == ACTION_FAVORITE && getPriority() != mSelectedAction) {
|
||||
mShadeController.animateCollapseShade();
|
||||
mPeopleSpaceWidgetManager.requestPinAppWidget(mShortcutInfo, new Bundle());
|
||||
if (mUm.isSameProfileGroup(UserHandle.USER_SYSTEM, mSbn.getNormalizedUserId())) {
|
||||
mPeopleSpaceWidgetManager.requestPinAppWidget(mShortcutInfo, new Bundle());
|
||||
}
|
||||
}
|
||||
mGutsContainer.closeControls(v, /* save= */ true);
|
||||
};
|
||||
@@ -188,6 +193,7 @@ public class NotificationConversationInfo extends LinearLayout implements
|
||||
public void bindNotification(
|
||||
ShortcutManager shortcutManager,
|
||||
PackageManager pm,
|
||||
UserManager um,
|
||||
PeopleSpaceWidgetManager peopleSpaceWidgetManager,
|
||||
INotificationManager iNotificationManager,
|
||||
OnUserInteractionCallback onUserInteractionCallback,
|
||||
@@ -211,6 +217,7 @@ public class NotificationConversationInfo extends LinearLayout implements
|
||||
mEntry = entry;
|
||||
mSbn = entry.getSbn();
|
||||
mPm = pm;
|
||||
mUm = um;
|
||||
mAppName = mPackageName;
|
||||
mOnSettingsClickListener = onSettingsClick;
|
||||
mNotificationChannel = notificationChannel;
|
||||
|
||||
@@ -30,6 +30,7 @@ import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.UserHandle;
|
||||
import android.os.UserManager;
|
||||
import android.provider.Settings;
|
||||
import android.service.notification.StatusBarNotification;
|
||||
import android.util.ArraySet;
|
||||
@@ -112,6 +113,9 @@ public class NotificationGutsManager implements NotifGutsViewManager {
|
||||
private Runnable mOpenRunnable;
|
||||
private final INotificationManager mNotificationManager;
|
||||
private final PeopleSpaceWidgetManager mPeopleSpaceWidgetManager;
|
||||
|
||||
private final UserManager mUserManager;
|
||||
|
||||
private final LauncherApps mLauncherApps;
|
||||
private final ShortcutManager mShortcutManager;
|
||||
private final UserContextProvider mContextTracker;
|
||||
@@ -128,6 +132,7 @@ public class NotificationGutsManager implements NotifGutsViewManager {
|
||||
AccessibilityManager accessibilityManager,
|
||||
HighPriorityProvider highPriorityProvider,
|
||||
INotificationManager notificationManager,
|
||||
UserManager userManager,
|
||||
PeopleSpaceWidgetManager peopleSpaceWidgetManager,
|
||||
LauncherApps launcherApps,
|
||||
ShortcutManager shortcutManager,
|
||||
@@ -150,6 +155,7 @@ public class NotificationGutsManager implements NotifGutsViewManager {
|
||||
mAccessibilityManager = accessibilityManager;
|
||||
mHighPriorityProvider = highPriorityProvider;
|
||||
mNotificationManager = notificationManager;
|
||||
mUserManager = userManager;
|
||||
mPeopleSpaceWidgetManager = peopleSpaceWidgetManager;
|
||||
mLauncherApps = launcherApps;
|
||||
mShortcutManager = shortcutManager;
|
||||
@@ -471,6 +477,7 @@ public class NotificationGutsManager implements NotifGutsViewManager {
|
||||
notificationInfoView.bindNotification(
|
||||
mShortcutManager,
|
||||
pmUser,
|
||||
mUserManager,
|
||||
mPeopleSpaceWidgetManager,
|
||||
mNotificationManager,
|
||||
mOnUserInteractionCallback,
|
||||
|
||||
@@ -62,6 +62,7 @@ import android.graphics.drawable.Drawable;
|
||||
import android.graphics.drawable.Icon;
|
||||
import android.os.Handler;
|
||||
import android.os.UserHandle;
|
||||
import android.os.UserManager;
|
||||
import android.service.notification.StatusBarNotification;
|
||||
import android.test.suitebuilder.annotation.SmallTest;
|
||||
import android.testing.AndroidTestingRunner;
|
||||
@@ -132,6 +133,8 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
|
||||
@Mock
|
||||
private PackageManager mMockPackageManager;
|
||||
@Mock
|
||||
private UserManager mUserManager;
|
||||
@Mock
|
||||
private OnUserInteractionCallback mOnUserInteractionCallback;
|
||||
@Mock
|
||||
private BubblesManager mBubblesManager;
|
||||
@@ -238,6 +241,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
|
||||
mNotificationInfo.bindNotification(
|
||||
mShortcutManager,
|
||||
mMockPackageManager,
|
||||
mUserManager,
|
||||
mPeopleSpaceWidgetManager,
|
||||
mMockINotificationManager,
|
||||
mOnUserInteractionCallback,
|
||||
@@ -262,6 +266,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
|
||||
mNotificationInfo.bindNotification(
|
||||
mShortcutManager,
|
||||
mMockPackageManager,
|
||||
mUserManager,
|
||||
mPeopleSpaceWidgetManager,
|
||||
mMockINotificationManager,
|
||||
mOnUserInteractionCallback,
|
||||
@@ -314,6 +319,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
|
||||
mNotificationInfo.bindNotification(
|
||||
mShortcutManager,
|
||||
mMockPackageManager,
|
||||
mUserManager,
|
||||
mPeopleSpaceWidgetManager,
|
||||
mMockINotificationManager,
|
||||
mOnUserInteractionCallback,
|
||||
@@ -339,6 +345,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
|
||||
mNotificationInfo.bindNotification(
|
||||
mShortcutManager,
|
||||
mMockPackageManager,
|
||||
mUserManager,
|
||||
mPeopleSpaceWidgetManager,
|
||||
mMockINotificationManager,
|
||||
mOnUserInteractionCallback,
|
||||
@@ -363,6 +370,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
|
||||
mNotificationInfo.bindNotification(
|
||||
mShortcutManager,
|
||||
mMockPackageManager,
|
||||
mUserManager,
|
||||
mPeopleSpaceWidgetManager,
|
||||
mMockINotificationManager,
|
||||
mOnUserInteractionCallback,
|
||||
@@ -398,6 +406,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
|
||||
mNotificationInfo.bindNotification(
|
||||
mShortcutManager,
|
||||
mMockPackageManager,
|
||||
mUserManager,
|
||||
mPeopleSpaceWidgetManager,
|
||||
mMockINotificationManager,
|
||||
mOnUserInteractionCallback,
|
||||
@@ -423,6 +432,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
|
||||
mNotificationInfo.bindNotification(
|
||||
mShortcutManager,
|
||||
mMockPackageManager,
|
||||
mUserManager,
|
||||
mPeopleSpaceWidgetManager,
|
||||
mMockINotificationManager,
|
||||
mOnUserInteractionCallback,
|
||||
@@ -452,6 +462,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
|
||||
mNotificationInfo.bindNotification(
|
||||
mShortcutManager,
|
||||
mMockPackageManager,
|
||||
mUserManager,
|
||||
mPeopleSpaceWidgetManager,
|
||||
mMockINotificationManager,
|
||||
mOnUserInteractionCallback,
|
||||
@@ -476,6 +487,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
|
||||
mNotificationInfo.bindNotification(
|
||||
mShortcutManager,
|
||||
mMockPackageManager,
|
||||
mUserManager,
|
||||
mPeopleSpaceWidgetManager,
|
||||
mMockINotificationManager,
|
||||
mOnUserInteractionCallback,
|
||||
@@ -504,6 +516,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
|
||||
mNotificationInfo.bindNotification(
|
||||
mShortcutManager,
|
||||
mMockPackageManager,
|
||||
mUserManager,
|
||||
mPeopleSpaceWidgetManager,
|
||||
mMockINotificationManager,
|
||||
mOnUserInteractionCallback,
|
||||
@@ -532,6 +545,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
|
||||
mNotificationInfo.bindNotification(
|
||||
mShortcutManager,
|
||||
mMockPackageManager,
|
||||
mUserManager,
|
||||
mPeopleSpaceWidgetManager,
|
||||
mMockINotificationManager,
|
||||
mOnUserInteractionCallback,
|
||||
@@ -563,6 +577,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
|
||||
mNotificationInfo.bindNotification(
|
||||
mShortcutManager,
|
||||
mMockPackageManager,
|
||||
mUserManager,
|
||||
mPeopleSpaceWidgetManager,
|
||||
mMockINotificationManager,
|
||||
mOnUserInteractionCallback,
|
||||
@@ -600,6 +615,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
|
||||
mNotificationInfo.bindNotification(
|
||||
mShortcutManager,
|
||||
mMockPackageManager,
|
||||
mUserManager,
|
||||
mPeopleSpaceWidgetManager,
|
||||
mMockINotificationManager,
|
||||
mOnUserInteractionCallback,
|
||||
@@ -628,6 +644,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
|
||||
mNotificationInfo.bindNotification(
|
||||
mShortcutManager,
|
||||
mMockPackageManager,
|
||||
mUserManager,
|
||||
mPeopleSpaceWidgetManager,
|
||||
mMockINotificationManager,
|
||||
mOnUserInteractionCallback,
|
||||
@@ -663,6 +680,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
|
||||
mNotificationInfo.bindNotification(
|
||||
mShortcutManager,
|
||||
mMockPackageManager,
|
||||
mUserManager,
|
||||
mPeopleSpaceWidgetManager,
|
||||
mMockINotificationManager,
|
||||
mOnUserInteractionCallback,
|
||||
@@ -691,6 +709,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
|
||||
mNotificationInfo.bindNotification(
|
||||
mShortcutManager,
|
||||
mMockPackageManager,
|
||||
mUserManager,
|
||||
mPeopleSpaceWidgetManager,
|
||||
mMockINotificationManager,
|
||||
mOnUserInteractionCallback,
|
||||
@@ -735,6 +754,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
|
||||
mNotificationInfo.bindNotification(
|
||||
mShortcutManager,
|
||||
mMockPackageManager,
|
||||
mUserManager,
|
||||
mPeopleSpaceWidgetManager,
|
||||
mMockINotificationManager,
|
||||
mOnUserInteractionCallback,
|
||||
@@ -778,6 +798,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
|
||||
mNotificationInfo.bindNotification(
|
||||
mShortcutManager,
|
||||
mMockPackageManager,
|
||||
mUserManager,
|
||||
mPeopleSpaceWidgetManager,
|
||||
mMockINotificationManager,
|
||||
mOnUserInteractionCallback,
|
||||
@@ -822,6 +843,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
|
||||
mNotificationInfo.bindNotification(
|
||||
mShortcutManager,
|
||||
mMockPackageManager,
|
||||
mUserManager,
|
||||
mPeopleSpaceWidgetManager,
|
||||
mMockINotificationManager,
|
||||
mOnUserInteractionCallback,
|
||||
@@ -860,6 +882,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
|
||||
mNotificationInfo.bindNotification(
|
||||
mShortcutManager,
|
||||
mMockPackageManager,
|
||||
mUserManager,
|
||||
mPeopleSpaceWidgetManager,
|
||||
mMockINotificationManager,
|
||||
mOnUserInteractionCallback,
|
||||
@@ -896,6 +919,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
|
||||
mNotificationInfo.bindNotification(
|
||||
mShortcutManager,
|
||||
mMockPackageManager,
|
||||
mUserManager,
|
||||
mPeopleSpaceWidgetManager,
|
||||
mMockINotificationManager,
|
||||
mOnUserInteractionCallback,
|
||||
@@ -936,6 +960,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
|
||||
mNotificationInfo.bindNotification(
|
||||
mShortcutManager,
|
||||
mMockPackageManager,
|
||||
mUserManager,
|
||||
mPeopleSpaceWidgetManager,
|
||||
mMockINotificationManager,
|
||||
mOnUserInteractionCallback,
|
||||
@@ -967,6 +992,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
|
||||
mNotificationInfo.bindNotification(
|
||||
mShortcutManager,
|
||||
mMockPackageManager,
|
||||
mUserManager,
|
||||
mPeopleSpaceWidgetManager,
|
||||
mMockINotificationManager,
|
||||
mOnUserInteractionCallback,
|
||||
@@ -996,6 +1022,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
|
||||
mNotificationInfo.bindNotification(
|
||||
mShortcutManager,
|
||||
mMockPackageManager,
|
||||
mUserManager,
|
||||
mPeopleSpaceWidgetManager,
|
||||
mMockINotificationManager,
|
||||
mOnUserInteractionCallback,
|
||||
@@ -1033,6 +1060,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
|
||||
mNotificationInfo.bindNotification(
|
||||
mShortcutManager,
|
||||
mMockPackageManager,
|
||||
mUserManager,
|
||||
mPeopleSpaceWidgetManager,
|
||||
mMockINotificationManager,
|
||||
mOnUserInteractionCallback,
|
||||
@@ -1069,6 +1097,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
|
||||
mNotificationInfo.bindNotification(
|
||||
mShortcutManager,
|
||||
mMockPackageManager,
|
||||
mUserManager,
|
||||
mPeopleSpaceWidgetManager,
|
||||
mMockINotificationManager,
|
||||
mOnUserInteractionCallback,
|
||||
@@ -1104,6 +1133,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
|
||||
mNotificationInfo.bindNotification(
|
||||
mShortcutManager,
|
||||
mMockPackageManager,
|
||||
mUserManager,
|
||||
mPeopleSpaceWidgetManager,
|
||||
mMockINotificationManager,
|
||||
mOnUserInteractionCallback,
|
||||
@@ -1143,6 +1173,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
|
||||
mNotificationInfo.bindNotification(
|
||||
mShortcutManager,
|
||||
mMockPackageManager,
|
||||
mUserManager,
|
||||
mPeopleSpaceWidgetManager,
|
||||
mMockINotificationManager,
|
||||
mOnUserInteractionCallback,
|
||||
@@ -1173,6 +1204,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
|
||||
mNotificationInfo.bindNotification(
|
||||
mShortcutManager,
|
||||
mMockPackageManager,
|
||||
mUserManager,
|
||||
mPeopleSpaceWidgetManager,
|
||||
mMockINotificationManager,
|
||||
mOnUserInteractionCallback,
|
||||
@@ -1198,6 +1230,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
|
||||
mNotificationInfo.bindNotification(
|
||||
mShortcutManager,
|
||||
mMockPackageManager,
|
||||
mUserManager,
|
||||
mPeopleSpaceWidgetManager,
|
||||
mMockINotificationManager,
|
||||
mOnUserInteractionCallback,
|
||||
@@ -1219,11 +1252,13 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
|
||||
|
||||
@Test
|
||||
public void testSelectPriorityRequestsPinPeopleTile() {
|
||||
when(mUserManager.isSameProfileGroup(anyInt(), anyInt())).thenReturn(true);
|
||||
//WHEN channel is default importance
|
||||
mNotificationChannel.setImportantConversation(false);
|
||||
mNotificationInfo.bindNotification(
|
||||
mShortcutManager,
|
||||
mMockPackageManager,
|
||||
mUserManager,
|
||||
mPeopleSpaceWidgetManager,
|
||||
mMockINotificationManager,
|
||||
mOnUserInteractionCallback,
|
||||
@@ -1249,11 +1284,46 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
|
||||
verify(mPeopleSpaceWidgetManager, times(1)).requestPinAppWidget(any(), any());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSelectPriorityRequestsPinPeopleTile_noMultiuser() {
|
||||
when(mUserManager.isSameProfileGroup(anyInt(), anyInt())).thenReturn(false);
|
||||
//WHEN channel is default importance
|
||||
mNotificationChannel.setImportantConversation(false);
|
||||
mNotificationInfo.bindNotification(
|
||||
mShortcutManager,
|
||||
mMockPackageManager,
|
||||
mUserManager,
|
||||
mPeopleSpaceWidgetManager,
|
||||
mMockINotificationManager,
|
||||
mOnUserInteractionCallback,
|
||||
TEST_PACKAGE_NAME,
|
||||
mNotificationChannel,
|
||||
mEntry,
|
||||
mBubbleMetadata,
|
||||
null,
|
||||
mIconFactory,
|
||||
mContext,
|
||||
true,
|
||||
mTestHandler,
|
||||
mTestHandler, null, Optional.of(mBubblesManager),
|
||||
mShadeController);
|
||||
|
||||
// WHEN user clicks "priority"
|
||||
mNotificationInfo.setSelectedAction(NotificationConversationInfo.ACTION_FAVORITE);
|
||||
|
||||
// and then done
|
||||
mNotificationInfo.findViewById(R.id.done).performClick();
|
||||
|
||||
// No widget prompt; on a secondary user
|
||||
verify(mPeopleSpaceWidgetManager, never()).requestPinAppWidget(any(), any());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSelectDefaultDoesNotRequestPinPeopleTile() {
|
||||
mNotificationInfo.bindNotification(
|
||||
mShortcutManager,
|
||||
mMockPackageManager,
|
||||
mUserManager,
|
||||
mPeopleSpaceWidgetManager,
|
||||
mMockINotificationManager,
|
||||
mOnUserInteractionCallback,
|
||||
@@ -1288,6 +1358,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
|
||||
mNotificationInfo.bindNotification(
|
||||
mShortcutManager,
|
||||
mMockPackageManager,
|
||||
mUserManager,
|
||||
mPeopleSpaceWidgetManager,
|
||||
mMockINotificationManager,
|
||||
mOnUserInteractionCallback,
|
||||
|
||||
@@ -52,6 +52,7 @@ import android.content.pm.ShortcutManager;
|
||||
import android.graphics.Color;
|
||||
import android.os.Binder;
|
||||
import android.os.Handler;
|
||||
import android.os.UserManager;
|
||||
import android.provider.Settings;
|
||||
import android.service.notification.StatusBarNotification;
|
||||
import android.testing.AndroidTestingRunner;
|
||||
@@ -137,6 +138,8 @@ public class NotificationGutsManagerTest extends SysuiTestCase {
|
||||
@Mock private HeadsUpManagerPhone mHeadsUpManagerPhone;
|
||||
@Mock private ActivityStarter mActivityStarter;
|
||||
|
||||
@Mock private UserManager mUserManager;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
mTestableLooper = TestableLooper.get(this);
|
||||
@@ -147,7 +150,7 @@ public class NotificationGutsManagerTest extends SysuiTestCase {
|
||||
|
||||
mGutsManager = new NotificationGutsManager(mContext, mHandler, mHandler,
|
||||
mAccessibilityManager,
|
||||
mHighPriorityProvider, mINotificationManager,
|
||||
mHighPriorityProvider, mINotificationManager, mUserManager,
|
||||
mPeopleSpaceWidgetManager, mLauncherApps, mShortcutManager,
|
||||
mChannelEditorDialogController, mContextTracker, mAssistantFeedbackController,
|
||||
Optional.of(mBubblesManager), new UiEventLoggerFake(), mOnUserInteractionCallback,
|
||||
|
||||
Reference in New Issue
Block a user