diff --git a/Reef/src/main/java/dev/pranav/reef/util/ScreenUsageHelper.kt b/Reef/src/main/java/dev/pranav/reef/util/ScreenUsageHelper.kt index cd154f0..0370bc4 100644 --- a/Reef/src/main/java/dev/pranav/reef/util/ScreenUsageHelper.kt +++ b/Reef/src/main/java/dev/pranav/reef/util/ScreenUsageHelper.kt @@ -29,19 +29,27 @@ object ScreenUsageHelper { end: Long, targetPackage: String? = null ): Map { + fun Map<*, Long>.totalTime(): Long = values.sum() + val ONE_DAY_MS: Long = 24 * 60 * 60 * 1000L + try { - val eventBasedUsage = + var usage = calculateUsageFromEvents(usageStatsManager, start, end, targetPackage) - if (eventBasedUsage.isEmpty()) { - Log.w(TAG, "Event-based tracking returned no data, using UsageStats fallback") - return calculateUsageFromStats(usageStatsManager, start, end, targetPackage) + if (!usage.isEmpty() && usage.totalTime() <= ONE_DAY_MS) { + return usage + } + + usage = calculateUsageFromStats(usageStatsManager, start, end, targetPackage) + + if (usage.totalTime() <= ONE_DAY_MS) { + return usage } - return eventBasedUsage + return emptyMap() } catch (e: Exception) { Log.e(TAG, "Error fetching usage", e) - return calculateUsageFromStats(usageStatsManager, start, end, targetPackage) + return emptyMap() } }