Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 25b8fa5e authored by Julia Reynolds's avatar Julia Reynolds Committed by Automerger Merge Worker
Browse files

Merge "Disable priority conversation widget for secondary users" into...

Merge "Disable priority conversation widget for secondary users" into sc-v2-dev am: a665e2d3 am: e8f41307

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/24575248



Change-Id: Ic1737e762e7e78b3f3846f3b6ad31efeaec8ce9b
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 29e8c9a1 e8f41307
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import android.content.Context;
import android.content.pm.LauncherApps;
import android.content.pm.ShortcutManager;
import android.os.Handler;
import android.os.UserManager;
import android.view.accessibility.AccessibilityManager;

import com.android.internal.logging.UiEventLogger;
@@ -160,6 +161,7 @@ public interface NotificationsModule {
            HighPriorityProvider highPriorityProvider,
            INotificationManager notificationManager,
            NotificationEntryManager notificationEntryManager,
            UserManager userManager,
            PeopleSpaceWidgetManager peopleSpaceWidgetManager,
            LauncherApps launcherApps,
            ShortcutManager shortcutManager,
@@ -180,6 +182,7 @@ public interface NotificationsModule {
                highPriorityProvider,
                notificationManager,
                notificationEntryManager,
                userManager,
                peopleSpaceWidgetManager,
                launcherApps,
                shortcutManager,
+8 −1
Original line number Diff line number Diff line
@@ -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,8 +158,10 @@ public class NotificationConversationInfo extends LinearLayout implements
        // People Tile add request.
        if (mSelectedAction == ACTION_FAVORITE && getPriority() != mSelectedAction) {
            mShadeController.animateCollapsePanels();
            if (mUm.isSameProfileGroup(UserHandle.USER_SYSTEM, mSbn.getNormalizedUserId())) {
                mPeopleSpaceWidgetManager.requestPinAppWidget(mShortcutInfo, new Bundle());
            }
        }
        mGutsContainer.closeControls(v, true);
    };

@@ -189,6 +194,7 @@ public class NotificationConversationInfo extends LinearLayout implements
            @Action int selectedAction,
            ShortcutManager shortcutManager,
            PackageManager pm,
            UserManager um,
            PeopleSpaceWidgetManager peopleSpaceWidgetManager,
            INotificationManager iNotificationManager,
            OnUserInteractionCallback onUserInteractionCallback,
@@ -214,6 +220,7 @@ public class NotificationConversationInfo extends LinearLayout implements
        mEntry = entry;
        mSbn = entry.getSbn();
        mPm = pm;
        mUm = um;
        mAppName = mPackageName;
        mOnSettingsClickListener = onSettingsClick;
        mNotificationChannel = notificationChannel;
+7 −0
Original line number Diff line number Diff line
@@ -31,6 +31,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;
@@ -126,6 +127,9 @@ public class NotificationGutsManager implements Dumpable, NotificationLifetimeEx
    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;
@@ -145,6 +149,7 @@ public class NotificationGutsManager implements Dumpable, NotificationLifetimeEx
            HighPriorityProvider highPriorityProvider,
            INotificationManager notificationManager,
            NotificationEntryManager notificationEntryManager,
            UserManager userManager,
            PeopleSpaceWidgetManager peopleSpaceWidgetManager,
            LauncherApps launcherApps,
            ShortcutManager shortcutManager,
@@ -163,6 +168,7 @@ public class NotificationGutsManager implements Dumpable, NotificationLifetimeEx
        mAccessibilityManager = accessibilityManager;
        mHighPriorityProvider = highPriorityProvider;
        mNotificationManager = notificationManager;
        mUserManager = userManager;
        mPeopleSpaceWidgetManager = peopleSpaceWidgetManager;
        mLauncherApps = launcherApps;
        mShortcutManager = shortcutManager;
@@ -491,6 +497,7 @@ public class NotificationGutsManager implements Dumpable, NotificationLifetimeEx
                notificationInfoView.getSelectedAction(),
                mShortcutManager,
                pmUser,
                mUserManager,
                mPeopleSpaceWidgetManager,
                mNotificationManager,
                mOnUserInteractionCallback,
+71 −0
Original line number Diff line number Diff line
@@ -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;
@@ -239,6 +242,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
                -1,
                mShortcutManager,
                mMockPackageManager,
                mUserManager,
                mPeopleSpaceWidgetManager,
                mMockINotificationManager,
                mOnUserInteractionCallback,
@@ -264,6 +268,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
                -1,
                mShortcutManager,
                mMockPackageManager,
                mUserManager,
                mPeopleSpaceWidgetManager,
                mMockINotificationManager,
                mOnUserInteractionCallback,
@@ -317,6 +322,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
                -1,
                mShortcutManager,
                mMockPackageManager,
                mUserManager,
                mPeopleSpaceWidgetManager,
                mMockINotificationManager,
                mOnUserInteractionCallback,
@@ -343,6 +349,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
                -1,
                mShortcutManager,
                mMockPackageManager,
                mUserManager,
                mPeopleSpaceWidgetManager,
                mMockINotificationManager,
                mOnUserInteractionCallback,
@@ -368,6 +375,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
                -1,
                mShortcutManager,
                mMockPackageManager,
                mUserManager,
                mPeopleSpaceWidgetManager,
                mMockINotificationManager,
                mOnUserInteractionCallback,
@@ -404,6 +412,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
                -1,
                mShortcutManager,
                mMockPackageManager,
                mUserManager,
                mPeopleSpaceWidgetManager,
                mMockINotificationManager,
                mOnUserInteractionCallback,
@@ -430,6 +439,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
                -1,
                mShortcutManager,
                mMockPackageManager,
                mUserManager,
                mPeopleSpaceWidgetManager,
                mMockINotificationManager,
                mOnUserInteractionCallback,
@@ -460,6 +470,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
                -1,
                mShortcutManager,
                mMockPackageManager,
                mUserManager,
                mPeopleSpaceWidgetManager,
                mMockINotificationManager,
                mOnUserInteractionCallback,
@@ -485,6 +496,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
                -1,
                mShortcutManager,
                mMockPackageManager,
                mUserManager,
                mPeopleSpaceWidgetManager,
                mMockINotificationManager,
                mOnUserInteractionCallback,
@@ -514,6 +526,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
                -1,
                mShortcutManager,
                mMockPackageManager,
                mUserManager,
                mPeopleSpaceWidgetManager,
                mMockINotificationManager,
                mOnUserInteractionCallback,
@@ -543,6 +556,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
                -1,
                mShortcutManager,
                mMockPackageManager,
                mUserManager,
                mPeopleSpaceWidgetManager,
                mMockINotificationManager,
                mOnUserInteractionCallback,
@@ -575,6 +589,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
                -1,
                mShortcutManager,
                mMockPackageManager,
                mUserManager,
                mPeopleSpaceWidgetManager,
                mMockINotificationManager,
                mOnUserInteractionCallback,
@@ -613,6 +628,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
                -1,
                mShortcutManager,
                mMockPackageManager,
                mUserManager,
                mPeopleSpaceWidgetManager,
                mMockINotificationManager,
                mOnUserInteractionCallback,
@@ -642,6 +658,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
                -1,
                mShortcutManager,
                mMockPackageManager,
                mUserManager,
                mPeopleSpaceWidgetManager,
                mMockINotificationManager,
                mOnUserInteractionCallback,
@@ -678,6 +695,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
                -1,
                mShortcutManager,
                mMockPackageManager,
                mUserManager,
                mPeopleSpaceWidgetManager,
                mMockINotificationManager,
                mOnUserInteractionCallback,
@@ -707,6 +725,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
                -1,
                mShortcutManager,
                mMockPackageManager,
                mUserManager,
                mPeopleSpaceWidgetManager,
                mMockINotificationManager,
                mOnUserInteractionCallback,
@@ -752,6 +771,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
                -1,
                mShortcutManager,
                mMockPackageManager,
                mUserManager,
                mPeopleSpaceWidgetManager,
                mMockINotificationManager,
                mOnUserInteractionCallback,
@@ -796,6 +816,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
                -1,
                mShortcutManager,
                mMockPackageManager,
                mUserManager,
                mPeopleSpaceWidgetManager,
                mMockINotificationManager,
                mOnUserInteractionCallback,
@@ -841,6 +862,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
                -1,
                mShortcutManager,
                mMockPackageManager,
                mUserManager,
                mPeopleSpaceWidgetManager,
                mMockINotificationManager,
                mOnUserInteractionCallback,
@@ -879,6 +901,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
                -1,
                mShortcutManager,
                mMockPackageManager,
                mUserManager,
                mPeopleSpaceWidgetManager,
                mMockINotificationManager,
                mOnUserInteractionCallback,
@@ -916,6 +939,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
                -1,
                mShortcutManager,
                mMockPackageManager,
                mUserManager,
                mPeopleSpaceWidgetManager,
                mMockINotificationManager,
                mOnUserInteractionCallback,
@@ -957,6 +981,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
                -1, // no action selected by default
                mShortcutManager,
                mMockPackageManager,
                mUserManager,
                mPeopleSpaceWidgetManager,
                mMockINotificationManager,
                mOnUserInteractionCallback,
@@ -988,6 +1013,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
                NotificationConversationInfo.ACTION_FAVORITE, // "Favorite" selected by default
                mShortcutManager,
                mMockPackageManager,
                mUserManager,
                mPeopleSpaceWidgetManager,
                mMockINotificationManager,
                mOnUserInteractionCallback,
@@ -1018,6 +1044,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
                -1,
                mShortcutManager,
                mMockPackageManager,
                mUserManager,
                mPeopleSpaceWidgetManager,
                mMockINotificationManager,
                mOnUserInteractionCallback,
@@ -1055,6 +1082,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
                -1,
                mShortcutManager,
                mMockPackageManager,
                mUserManager,
                mPeopleSpaceWidgetManager,
                mMockINotificationManager,
                mOnUserInteractionCallback,
@@ -1092,6 +1120,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
                -1,
                mShortcutManager,
                mMockPackageManager,
                mUserManager,
                mPeopleSpaceWidgetManager,
                mMockINotificationManager,
                mOnUserInteractionCallback,
@@ -1128,6 +1157,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
                -1,
                mShortcutManager,
                mMockPackageManager,
                mUserManager,
                mPeopleSpaceWidgetManager,
                mMockINotificationManager,
                mOnUserInteractionCallback,
@@ -1163,6 +1193,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
                -1,
                mShortcutManager,
                mMockPackageManager,
                mUserManager,
                mPeopleSpaceWidgetManager,
                mMockINotificationManager,
                mOnUserInteractionCallback,
@@ -1189,6 +1220,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
                -1,
                mShortcutManager,
                mMockPackageManager,
                mUserManager,
                mPeopleSpaceWidgetManager,
                mMockINotificationManager,
                mOnUserInteractionCallback,
@@ -1210,12 +1242,14 @@ 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(
                -1,
                mShortcutManager,
                mMockPackageManager,
                mUserManager,
                mPeopleSpaceWidgetManager,
                mMockINotificationManager,
                mOnUserInteractionCallback,
@@ -1241,12 +1275,48 @@ 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(
                -1,
                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(
                -1,
                mShortcutManager,
                mMockPackageManager,
                mUserManager,
                mPeopleSpaceWidgetManager,
                mMockINotificationManager,
                mOnUserInteractionCallback,
@@ -1282,6 +1352,7 @@ public class NotificationConversationInfoTest extends SysuiTestCase {
                -1,
                mShortcutManager,
                mMockPackageManager,
                mUserManager,
                mPeopleSpaceWidgetManager,
                mMockINotificationManager,
                mOnUserInteractionCallback,
+4 −0
Original line number Diff line number Diff line
@@ -54,6 +54,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;
@@ -139,6 +140,8 @@ public class NotificationGutsManagerTest extends SysuiTestCase {
    @Mock private PeopleSpaceWidgetManager mPeopleSpaceWidgetManager;
    @Mock private AssistantFeedbackController mAssistantFeedbackController;

    @Mock private UserManager mUserManager;

    @Before
    public void setUp() {
        mTestableLooper = TestableLooper.get(this);
@@ -157,6 +160,7 @@ public class NotificationGutsManagerTest extends SysuiTestCase {
        mGutsManager = new NotificationGutsManager(mContext,
                () -> Optional.of(mCentralSurfaces), mHandler, mHandler, mAccessibilityManager,
                mHighPriorityProvider, mINotificationManager, mNotificationEntryManager,
                mUserManager,
                mPeopleSpaceWidgetManager, mLauncherApps, mShortcutManager,
                mChannelEditorDialogController, mContextTracker, mAssistantFeedbackController,
                Optional.of(mBubblesManager), new UiEventLoggerFake(), mOnUserInteractionCallback,