Merge "Fix people widget crash" into udc-dev

This commit is contained in:
Julia Reynolds
2023-06-06 14:32:06 +00:00
committed by Android (Google) Code Review
2 changed files with 28 additions and 5 deletions

View File

@@ -775,9 +775,13 @@ public class PeopleSpaceWidgetManager {
NotificationChannel channel,
int modificationType) {
if (channel.isConversation()) {
updateWidgets(mAppWidgetManager.getAppWidgetIds(
new ComponentName(mContext, PeopleSpaceWidgetProvider.class)
));
mBgExecutor.execute(() -> {
if (mUserManager.isUserUnlocked(user)) {
updateWidgets(mAppWidgetManager.getAppWidgetIds(
new ComponentName(mContext, PeopleSpaceWidgetProvider.class)
));
}
});
}
}
};

View File

@@ -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