use of com.android.settings.applications.AppStateNotificationBridge.NotificationsSentState in project Resurrection_packages_apps_Settings by ResurrectionRemix.
the class AppStateNotificationBridgeTest method testGetAggregatedUsageEvents_multipleEventsAgg.
@Test
public void testGetAggregatedUsageEvents_multipleEventsAgg() throws Exception {
List<Event> events = new ArrayList<>();
Event good = new Event();
good.mEventType = Event.NOTIFICATION_INTERRUPTION;
good.mPackage = PKG1;
good.mTimeStamp = 6;
events.add(good);
Event good1 = new Event();
good1.mEventType = Event.NOTIFICATION_INTERRUPTION;
good1.mPackage = PKG1;
good1.mTimeStamp = 1;
events.add(good1);
UsageEvents usageEvents = getUsageEvents(events);
when(mUsageStats.queryEventsForUser(anyLong(), anyLong(), anyInt(), anyString())).thenReturn(usageEvents);
Map<String, NotificationsSentState> map = mBridge.getAggregatedUsageEvents();
assertThat(map.get(AppStateNotificationBridge.getKey(0, PKG1)).sentCount).isEqualTo(2);
assertThat(map.get(AppStateNotificationBridge.getKey(0, PKG1)).lastSent).isEqualTo(6);
}
use of com.android.settings.applications.AppStateNotificationBridge.NotificationsSentState in project Resurrection_packages_apps_Settings by ResurrectionRemix.
the class AppStateNotificationBridgeTest method testFilterBlocked.
@Test
public void testFilterBlocked() {
NotificationsSentState allowState = new NotificationsSentState();
allowState.blocked = true;
AppEntry allow = mock(AppEntry.class);
allow.extraInfo = allowState;
assertTrue(FILTER_APP_NOTIFICATION_BLOCKED.filterApp(allow));
NotificationsSentState denyState = new NotificationsSentState();
denyState.blocked = false;
AppEntry deny = mock(AppEntry.class);
deny.extraInfo = denyState;
assertFalse(FILTER_APP_NOTIFICATION_BLOCKED.filterApp(deny));
}
use of com.android.settings.applications.AppStateNotificationBridge.NotificationsSentState in project Resurrection_packages_apps_Settings by ResurrectionRemix.
the class AppStateNotificationBridgeTest method testFilterFrequency.
@Test
public void testFilterFrequency() {
NotificationsSentState allowState = new NotificationsSentState();
allowState.sentCount = 1;
AppEntry allow = mock(AppEntry.class);
allow.extraInfo = allowState;
assertTrue(FILTER_APP_NOTIFICATION_FREQUENCY.filterApp(allow));
NotificationsSentState denyState = new NotificationsSentState();
denyState.sentCount = 0;
AppEntry deny = mock(AppEntry.class);
deny.extraInfo = denyState;
assertFalse(FILTER_APP_NOTIFICATION_FREQUENCY.filterApp(deny));
}
use of com.android.settings.applications.AppStateNotificationBridge.NotificationsSentState in project Resurrection_packages_apps_Settings by ResurrectionRemix.
the class AppStateNotificationBridgeTest method testSummary_recency.
@Test
public void testSummary_recency() {
NotificationsSentState neverSent = new NotificationsSentState();
NotificationsSentState sent = new NotificationsSentState();
sent.lastSent = System.currentTimeMillis() - (2 * DAY_IN_MILLIS);
assertThat(AppStateNotificationBridge.getSummary(mContext, neverSent, R.id.sort_order_recent_notification)).isEqualTo(mContext.getString(R.string.notifications_sent_never));
assertThat(AppStateNotificationBridge.getSummary(mContext, sent, R.id.sort_order_recent_notification).toString()).contains("2");
}
use of com.android.settings.applications.AppStateNotificationBridge.NotificationsSentState in project Resurrection_packages_apps_Settings by ResurrectionRemix.
the class AppStateNotificationBridgeTest method testLoadAllExtraInfo_multipleUsers.
@Test
public void testLoadAllExtraInfo_multipleUsers() throws RemoteException {
// has work profile
when(mUserManager.getProfileIdsWithDisabled(anyInt())).thenReturn(new int[] { 1 });
mBridge = new AppStateNotificationBridge(mContext, mState, mock(AppStateBaseBridge.Callback.class), mUsageStats, mUserManager, mBackend);
List<Event> eventsProfileOwner = new ArrayList<>();
for (int i = 0; i < 8; i++) {
Event good = new Event();
good.mEventType = Event.NOTIFICATION_INTERRUPTION;
good.mPackage = PKG1;
good.mTimeStamp = i;
eventsProfileOwner.add(good);
}
List<Event> eventsProfile = new ArrayList<>();
for (int i = 0; i < 4; i++) {
Event good = new Event();
good.mEventType = Event.NOTIFICATION_INTERRUPTION;
good.mPackage = PKG1;
good.mTimeStamp = i;
eventsProfile.add(good);
}
UsageEvents usageEventsOwner = getUsageEvents(eventsProfileOwner);
when(mUsageStats.queryEventsForUser(anyLong(), anyLong(), eq(0), anyString())).thenReturn(usageEventsOwner);
UsageEvents usageEventsProfile = getUsageEvents(eventsProfile);
when(mUsageStats.queryEventsForUser(anyLong(), anyLong(), eq(1), anyString())).thenReturn(usageEventsProfile);
ArrayList<AppEntry> apps = new ArrayList<>();
AppEntry owner = getMockAppEntry(PKG1);
owner.info.uid = 1;
apps.add(owner);
AppEntry profile = getMockAppEntry(PKG1);
profile.info.uid = UserHandle.PER_USER_RANGE + 1;
apps.add(profile);
when(mSession.getAllApps()).thenReturn(apps);
mBridge.loadAllExtraInfo();
assertThat(((NotificationsSentState) apps.get(0).extraInfo).sentCount).isEqualTo(8);
assertThat(((NotificationsSentState) apps.get(0).extraInfo).lastSent).isEqualTo(7);
assertThat(((NotificationsSentState) apps.get(0).extraInfo).avgSentWeekly).isEqualTo(0);
assertThat(((NotificationsSentState) apps.get(0).extraInfo).avgSentDaily).isEqualTo(1);
assertThat(((NotificationsSentState) apps.get(1).extraInfo).sentCount).isEqualTo(4);
assertThat(((NotificationsSentState) apps.get(1).extraInfo).lastSent).isEqualTo(3);
assertThat(((NotificationsSentState) apps.get(1).extraInfo).avgSentWeekly).isEqualTo(4);
assertThat(((NotificationsSentState) apps.get(1).extraInfo).avgSentDaily).isEqualTo(1);
}
Aggregations