Add checks before casting entry.extraInfo.

Test: make, flash
Change-Id: I1a9d6a51b1f236e711fdb49d9c2f795e7023cfce
Fixes: 113309404
This commit is contained in:
Julia Reynolds
2018-09-19 12:23:41 -04:00
parent d5ddae8fc4
commit 56966ce8f5
2 changed files with 26 additions and 2 deletions

View File

@@ -281,6 +281,28 @@ public class ManageApplicationsTest {
verify(adapter).notifyDataSetChanged();
}
@Test
public void applicationsAdapter_onBindViewHolder_notifications_wrongExtraInfo() {
when(mUserManager.getProfileIdsWithDisabled(anyInt())).thenReturn(new int[]{});
ReflectionHelpers.setField(mFragment, "mUserManager", mUserManager);
mFragment.mListType = LIST_TYPE_NOTIFICATION;
ApplicationViewHolder holder = mock(ApplicationViewHolder.class);
ReflectionHelpers.setField(holder, "itemView", mock(View.class));
ManageApplications.ApplicationsAdapter adapter =
new ManageApplications.ApplicationsAdapter(mState,
mFragment, mock(AppFilterItem.class),
mock(Bundle.class));
final ArrayList<ApplicationsState.AppEntry> appList = new ArrayList<>();
final ApplicationsState.AppEntry appEntry = mock(ApplicationsState.AppEntry.class);
appEntry.info = mock(ApplicationInfo.class);
appEntry.extraInfo = mock(AppFilterItem.class);
appList.add(appEntry);
ReflectionHelpers.setField(adapter, "mEntries", appList);
adapter.onBindViewHolder(holder, 0);
// no crash? yay!
}
@Test
public void applicationsAdapter_onBindViewHolder_updateSwitch_notifications() {
when(mUserManager.getProfileIdsWithDisabled(anyInt())).thenReturn(new int[]{});