/** * Returns aggregated UsageStats added by calling {@link #addUsageStats}. * * The real implementation creates these aggregated objects from individual {@link Event}. This * aggregation logic is nontrivial, so the shadow implementation just returns the aggregate data * added using {@link #addUsageStats}. */ @Implementation protected List<UsageStats> queryUsageStats(int intervalType, long beginTime, long endTime) { List<UsageStats> results = new ArrayList<>(); Range<Long> queryRange = Range.closed(beginTime, endTime); for (UsageStats stats : usageStatsByIntervalType.get(intervalType)) { Range<Long> statsRange = Range.closed(stats.getFirstTimeStamp(), stats.getLastTimeStamp()); if (queryRange.isConnected(statsRange)) { results.add(stats); } } return results; }
UsageStats stats = queryUsageStats.get(i); if (i == 0 && !"org.pervacio.pvadiag".equals(stats.getPackageName())) { Log.i("LPU", "PackageName: " + stats.getPackageName() + " " + stats.getLastTimeStamp()); if (stats.getLastTimeStamp() > recentTime) { recentTime = stats.getLastTimeStamp(); recentPkg = stats.getPackageName();
@Test public void usageStatsBuilder_noFieldsSet() { UsageStats usage = UsageStatsBuilder.newBuilder() // Don't set any fields; the object should still build. .build(); assertThat(usage.getPackageName()).isNull(); assertThat(usage.getFirstTimeStamp()).isEqualTo(0); assertThat(usage.getLastTimeStamp()).isEqualTo(0); assertThat(usage.getLastTimeUsed()).isEqualTo(0); assertThat(usage.getTotalTimeInForeground()).isEqualTo(0); }
/** * Returns aggregated UsageStats added by calling {@link #addUsageStats}. * * The real implementation creates these aggregated objects from individual {@link Event}. This * aggregation logic is nontrivial, so the shadow implementation just returns the aggregate data * added using {@link #addUsageStats}. */ @Implementation protected List<UsageStats> queryUsageStats(int intervalType, long beginTime, long endTime) { List<UsageStats> results = new ArrayList<>(); Range<Long> queryRange = Range.closed(beginTime, endTime); for (UsageStats stats : usageStatsByIntervalType.get(intervalType)) { Range<Long> statsRange = Range.closed(stats.getFirstTimeStamp(), stats.getLastTimeStamp()); if (queryRange.isConnected(statsRange)) { results.add(stats); } } return results; }
HashMap<String, Integer> lastApp = new HashMap<String, Integer>(); for (UsageStats u : usageStatsList) { lastApp.put(u.getPackageName(), (int) u.getLastTimeStamp());