/**
*
*/
package com.asksven.android.common.kernelutils;
import com.asksven.android.common.privateapiproxies.StatElement;
import java.util.ArrayList;
import junit.framework.TestCase;
/**
* @author sven
*/
public class AlarmDumpsysTests extends TestCase {
static ArrayList<String> getTestData_4_3() {
ArrayList<String> myRet = new ArrayList<String>() {{
add("Alarm Stats:");
add(" android +1m35s119ms running, 67 wakeups:");
add(" +39s818ms 0 wakes 9 alarms: act=com.android.server.action.NETWORK_STATS_POLL");
add(" +4s693ms 8 wakes 8 alarms: act=android.appwidget.action.APPWIDGET_UPDATE cmp={com.devexpert.weather/com.devexpert.weather.view.WidgetWeather5x2}");
add(" com.google.android.gsf +5s50ms running, 30 wakeups:");
add(" +5s50ms 30 wakes 30 alarms: cmp={com.google.android.gsf/com.google.android.gsf.checkin.EventLogService$Receiver}");
add(" com.android.vending +46ms running, 4 wakeups:");
add(" +29ms 1 wakes 1 alarms: cmp={com.android.vending/com.google.android.finsky.services.DailyHygiene}");
add(" +17ms 3 wakes 3 alarms: cmp={com.android.vending/com.google.android.finsky.services.ContentSyncService}");
}};
return myRet;
}
static ArrayList<String> getTestData_4_2() {
ArrayList<String> myRet = new ArrayList<String>() {{
add("Alarm Stats:");
add(" com.google.android.gsf");
add(" 8417ms running, 204 wakeups");
add(" 17 alarms: act=com.google.android.intent.action.GTALK_RECONNECT flg=0x4");
add(" 187 alarms: flg=0x4");
add(" com.carl.trafficcounter");
add(" 446486ms running, 5584 wakeups");
add(" 5584 alarms: act=com.carl.trafficcounter.UPDATE_RUN flg=0x4");
}};
return myRet;
}
static ArrayList<String> getTestData_2_3_7() {
ArrayList<String> myRet = new ArrayList<String>() {{
add("Alarm Stats:");
add(" com.google.android.gsf");
add(" Realtime wakeup (now=2014-07-01 13:18:57):");
add(" RTC_WAKEUP #13: Alarm{409bfb70 type 0 com.google.android.gms}");
add(" type=0 when=+5d7h36m8s686ms repeatInterval=579075000 count=0");
add(" operation=PendingIntent{409e0ca0: PendingIntentRecord{40906778 com.google.android.gms broadcastIntent}}");
add(" RTC_WAKEUP #12: Alarm{40a8fbb8 type 0 com.google.android.gms}");
add(" type=0 when=+5d7h36m8s686ms repeatInterval=579075000 count=0");
add(" operation=PendingIntent{40985ef8: PendingIntentRecord{40977218 com.google.android.gms broadcastIntent}}");
add(" Alarm Stats:");
add(" com.google.android.gsf");
add(" 73040ms running, 38 wakeups");
add(" 13 alarms: act=com.google.android.intent.action.GTALK_RECONNECT flg=0x4");
add(" 25 alarms: act=com.google.android.intent.action.GTALK_HEARTBEAT flg=0x4");
add(" com.android.vending");
add(" 642ms running, 10 wakeups");
add(" 4 alarms: flg=0x4 cmp=com.android.vending/com.google.android.finsky.services.DailyHygiene");
add(" 6 alarms: flg=0x4 cmp=com.android.vending/com.google.android.finsky.services.ContentSyncService");
add(" android");
add(" 651712ms running, 44 wakeups");
add(" 2 alarms: act=android.intent.action.DATE_CHANGED flg=0x20000004");
add(" 1112 alarms: act=android.intent.action.TIME_TICK flg=0x40000004");
add(" 110 alarms: act=com.android.server.ThrottleManager.action.POLL flg=0x4");
add(" 27 alarms: act=android.net.wifi.DHCP_RENEW flg=0x4");
add(" 4 alarms: act=android.bluetooth.profile_state.CONNECT flg=0x4");
add(" 6 alarms: act=android.content.syncmanager.SYNC_ALARM flg=0x4");
add(" 7 alarms: act=com.android.internal.policy.impl.KeyguardViewMediator.DELAYED_KEYGUARD flg=0x4");
add(" com.quoord.tapatalkpro.activity");
add(" 9573ms running, 36 wakeups");
add(" 36 alarms: flg=0x4");
/* com.android.providers.calendar
8348ms running, 13 wakeups
1 alarms: act=android.intent.action.EVENT_REMINDER dat=content://com.android.calendar/1404212922000 flg=0x4
2 alarms: act=android.intent.action.EVENT_REMINDER dat=content://com.android.calendar/1404154819000 flg=0x4
2 alarms: act=android.intent.action.EVENT_REMINDER dat=content://com.android.calendar/1404210053000 flg=0x4
5 alarms: act=com.android.providers.calendar.SCHEDULE_ALARM flg=0x4
2 alarms: act=android.intent.action.EVENT_REMINDER dat=content://com.android.calendar/1404151203000 flg=0x4
1 alarms: act=android.intent.action.EVENT_REMINDER dat=content://com.android.calendar/1404153003000 flg=0x4
com.viber.voip
31314ms running, 111 wakeups
110 alarms: act=com.viber.voip.action.KEEP_ALIVE_RECEIVE flg=0x4
1 alarms: act=com.viber.voip.action.VERSION_CHECK flg=0x4
org.sipdroid.sipua
7413ms running, 144 wakeups
144 alarms: flg=0x4
com.android.deskclock
1189ms running, 1 wakeups
1 alarms: act=com.android.deskclock.ALARM_ALERT flg=0x4
com.google.android.gms
94959ms running, 67 wakeups
47 alarms: flg=0x4
1 alarms: act=com.google.android.gms.icing.INDEX_RECURRING_MAINTENANCE flg=0x4 cmp=com.google.android.gms/.icing.service.IndexWorkerService
24 alarms: act=com.google.android.intent.action.SEND_IDLE flg=0x4
5 alarms: act=com.google.android.intent.action.GCM_RECONNECT flg=0x4
com.android.phone
387ms running, 4 wakeups
4 alarms: act=com.android.phone.PhoneApp.ACTION_VIBRATE_45 flg=0x4
*/
}};
return myRet;
}
static ArrayList<String> getTestData_4_4_4() {
ArrayList<String> myRet = new ArrayList<String>() {{
add(" Alarm Stats:");
add(" com.android.keyguard +246ms running, 6 wakeups:");
add(" +246ms 6 wakes 6 alarms: act=com.android.internal.policy.impl.PhoneWindowManager.DELAYED_KEYGUARD");
add(" com.cyanogenmod.lockclock +4ms running, 0 wakeups:");
add(" +4ms 0 wakes 2 alarms: act=com.cyanogenmod.lockclock.action.FORCE_WEATHER_UPDATE cmp={com.cyanogenmod.lockclock/com.cyanogenmod.lockclock.weather.WeatherUpdateService}");
add(" android +1m23s914ms running, 10 wakeups:");
add(" +1m21s585ms 0 wakes 446 alarms: act=android.intent.action.TIME_TICK");
add(" +7s372ms 0 wakes 38 alarms: act=com.android.server.action.NETWORK_STATS_POLL");
add(" +1s213ms 0 wakes 1 alarms: act=android.intent.action.DATE_CHANGED");
add(" +763ms 6 wakes 6 alarms: act=android.content.syncmanager.SYNC_ALARM");
add(" +205ms 3 wakes 3 alarms: act=com.android.server.IdleMaintenanceService.action.UPDATE_IDLE_MAINTENANCE_STATE");
add(" +135ms 0 wakes 1 alarms: act=com.android.server.NetworkTimeUpdateService.action.POLL");
add(" +134ms 1 wakes 1 alarms: act=android.net.ConnectivityService.action.PKT_CNT_SAMPLE_INTERVAL_ELAPSED");
add(" com.android.deskclock +24s199ms running, 0 wakeups:");
add(" +24s199ms 0 wakes 63 alarms: act=com.android.deskclock.ON_QUARTER_HOUR");
add(" com.google.android.gms +51s865ms running, 0 wakeups:");
add(" +34s205ms 0 wakes 2 alarms: cmp={com.google.android.gms/com.google.android.gms.playlog.uploader.UploaderAlarmReceiver}");
add(" +17s530ms 0 wakes 10 alarms: cmp={com.google.android.gms/com.google.android.gms.common.download.DownloadAlarmReceiver}");
add(" +88ms 0 wakes 2 alarms: cmp={com.google.android.gms/com.google.android.gms.security.snet.SnetService}");
add(" +42ms 0 wakes 1 alarms: act=com.google.android.gms.icing.INDEX_RECURRING_MAINTENANCE cmp={com.google.android.gms/com.google.android.gms.icing.service.IndexWorkerService}");
add(" com.touchtype.swiftkey +34s244ms running, 0 wakeups:");
add(" +32s314ms 0 wakes 1 alarms: act=com.touchtype.ACTION_SCHEDULED_JOB cmp={com.touchtype.swiftkey/com.touchtype.CustomUpdaterScheduledJob}");
add(" +1s855ms 0 wakes 3 alarms: act=com.touchtype.ACTION_SCHEDULED_JOB cmp={com.touchtype.swiftkey/com.touchtype.RefreshLanguageConfigurationScheduledJob}");
add(" +75ms 0 wakes 1 alarms: act=com.touchtype.ACTION_SCHEDULED_JOB cmp={com.touchtype.swiftkey/com.touchtype.KeyboardUsesDailyScheduledJob}");
add(" +2ms 0 wakes 1 alarms: cmp={com.touchtype.swiftkey/com.touchtype.ReferrerRegistrationService}");
add(" com.android.phone +189ms running, 0 wakeups:");
add(" +189ms 0 wakes 2 alarms: act=com.android.phone.UPDATE_CALLER_INFO_CACHE cmp={com.android.phone/com.android.phone.CallerInfoCacheUpdateReceiver}");
}};
return myRet;
}
/**
* Test method for {@link com.asksven.android.common.kernelutils.AlarmsDumpsys#getAlarms()}.
*/
public void testGetAlarms() {
ArrayList<StatElement> test4_3 = AlarmsDumpsys.getAlarmsFrom_4_3(getTestData_4_3());
assertNotNull(test4_3);
assertTrue(test4_3.size() > 1);
System.out.print(test4_3);
ArrayList<StatElement> test2_3_7 = AlarmsDumpsys.getAlarmsPriorTo_4_2_2(getTestData_2_3_7());
assertNotNull(test2_3_7);
assertTrue(test2_3_7.size() > 1);
System.out.print(test2_3_7);
ArrayList<StatElement> test4_4_4 = AlarmsDumpsys.getAlarmsFrom_4_3(getTestData_4_4_4());
assertNotNull(test4_4_4);
assertTrue(test4_4_4.size() > 1);
System.out.print(test4_4_4);
}
}