Reduce handler message spam.
Skip posting a message to the handler for events that aren't going to be
processed.
Bug: 141645789
Bug: 273758274
Test: atest FrameworksMockingServicesTests:QuotaControllerTest
Change-Id: I9ed4da14aa33e66340f6573ad7f15763458ec5a9
diff --git a/apex/jobscheduler/service/java/com/android/server/job/controllers/QuotaController.java b/apex/jobscheduler/service/java/com/android/server/job/controllers/QuotaController.java
index 1c29982..bd59a3b 100644
--- a/apex/jobscheduler/service/java/com/android/server/job/controllers/QuotaController.java
+++ b/apex/jobscheduler/service/java/com/android/server/job/controllers/QuotaController.java
@@ -2549,7 +2549,25 @@
*/
@Override
public void onUsageEvent(int userId, @NonNull UsageEvents.Event event) {
- mHandler.obtainMessage(MSG_PROCESS_USAGE_EVENT, userId, 0, event).sendToTarget();
+ // Skip posting a message to the handler for events we don't care about.
+ switch (event.getEventType()) {
+ case UsageEvents.Event.ACTIVITY_RESUMED:
+ case UsageEvents.Event.ACTIVITY_PAUSED:
+ case UsageEvents.Event.ACTIVITY_STOPPED:
+ case UsageEvents.Event.ACTIVITY_DESTROYED:
+ case UsageEvents.Event.USER_INTERACTION:
+ case UsageEvents.Event.CHOOSER_ACTION:
+ case UsageEvents.Event.NOTIFICATION_INTERRUPTION:
+ case UsageEvents.Event.NOTIFICATION_SEEN:
+ mHandler.obtainMessage(MSG_PROCESS_USAGE_EVENT, userId, 0, event)
+ .sendToTarget();
+ break;
+ default:
+ if (DEBUG) {
+ Slog.d(TAG, "Dropping event " + event.getEventType());
+ }
+ break;
+ }
}
}
diff --git a/apex/jobscheduler/service/java/com/android/server/tare/InternalResourceService.java b/apex/jobscheduler/service/java/com/android/server/tare/InternalResourceService.java
index b8397d2..357e1396 100644
--- a/apex/jobscheduler/service/java/com/android/server/tare/InternalResourceService.java
+++ b/apex/jobscheduler/service/java/com/android/server/tare/InternalResourceService.java
@@ -316,8 +316,25 @@
*/
@Override
public void onUsageEvent(int userId, @NonNull UsageEvents.Event event) {
- mHandler.obtainMessage(MSG_PROCESS_USAGE_EVENT, userId, 0, event)
- .sendToTarget();
+ // Skip posting a message to the handler for events we don't care about.
+ switch (event.getEventType()) {
+ case UsageEvents.Event.ACTIVITY_RESUMED:
+ case UsageEvents.Event.ACTIVITY_PAUSED:
+ case UsageEvents.Event.ACTIVITY_STOPPED:
+ case UsageEvents.Event.ACTIVITY_DESTROYED:
+ case UsageEvents.Event.USER_INTERACTION:
+ case UsageEvents.Event.CHOOSER_ACTION:
+ case UsageEvents.Event.NOTIFICATION_INTERRUPTION:
+ case UsageEvents.Event.NOTIFICATION_SEEN:
+ mHandler.obtainMessage(MSG_PROCESS_USAGE_EVENT, userId, 0, event)
+ .sendToTarget();
+ break;
+ default:
+ if (DEBUG) {
+ Slog.d(TAG, "Dropping event " + event.getEventType());
+ }
+ break;
+ }
}
};