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

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

Merge "Fix people widget crash" into udc-dev am: 2c9783b3

parents 2a99038c 2c9783b3
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -775,10 +775,14 @@ public class PeopleSpaceWidgetManager {
                NotificationChannel channel,
                int modificationType) {
            if (channel.isConversation()) {
                mBgExecutor.execute(() -> {
                    if (mUserManager.isUserUnlocked(user)) {
                        updateWidgets(mAppWidgetManager.getAppWidgetIds(
                                new ComponentName(mContext, PeopleSpaceWidgetProvider.class)
                        ));
                    }
                });
            }
        }
    };

+21 −2
Original line number Diff line number Diff line
@@ -481,6 +481,8 @@ public class PeopleSpaceWidgetManagerTest extends SysuiTestCase {
        int[] widgetIdsArray = {1};
        when(mAppWidgetManager.getAppWidgetIds(any())).thenReturn(widgetIdsArray);

        when(mUserManager.isUserUnlocked(any())).thenReturn(true);

        NotificationChannel channel =
                new NotificationChannel(TEST_CHANNEL_ID, TEST_CHANNEL_NAME, IMPORTANCE_DEFAULT);
        channel.setConversationId(TEST_PARENT_CHANNEL_ID, TEST_CONVERSATION_ID);
@@ -489,8 +491,25 @@ public class PeopleSpaceWidgetManagerTest extends SysuiTestCase {
                UserHandle.getUserHandleForUid(0), channel, IMPORTANCE_HIGH);
        mClock.advanceTime(MIN_LINGER_DURATION);

        verify(mAppWidgetManager, times(1)).updateAppWidget(anyInt(),
                any());
        verify(mAppWidgetManager, times(1)).updateAppWidget(anyInt(), any());
    }

    @Test
    public void testOnNotificationChannelModified_userLocked() {
        int[] widgetIdsArray = {1};
        when(mAppWidgetManager.getAppWidgetIds(any())).thenReturn(widgetIdsArray);

        when(mUserManager.isUserUnlocked(any())).thenReturn(false);

        NotificationChannel channel =
                new NotificationChannel(TEST_CHANNEL_ID, TEST_CHANNEL_NAME, IMPORTANCE_DEFAULT);
        channel.setConversationId(TEST_PARENT_CHANNEL_ID, TEST_CONVERSATION_ID);

        mNoMan.issueChannelModification(TEST_PACKAGE_A,
                UserHandle.getUserHandleForUid(0), channel, IMPORTANCE_HIGH);
        mClock.advanceTime(MIN_LINGER_DURATION);

        verify(mAppWidgetManager, never()).updateAppWidget(anyInt(), any());
    }

    @Test