From 43321f13b93800ca7d7484535c9a45ff42730a48 Mon Sep 17 00:00:00 2001 From: Kweku Adams Date: Fri, 18 Mar 2022 19:03:55 +0000 Subject: [PATCH] Handle price vs ctp inversion. Handle cases where the adjusted price is lower than the cost to produce Bug: 158300259 Test: N/A Change-Id: I5f143849fd4fc1ed511c37e7cc98352b92350cb4 --- .../java/com/android/server/tare/ProcessStateModifier.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apex/jobscheduler/service/java/com/android/server/tare/ProcessStateModifier.java b/apex/jobscheduler/service/java/com/android/server/tare/ProcessStateModifier.java index 67a3dc67e569..5ec2f5607153 100644 --- a/apex/jobscheduler/service/java/com/android/server/tare/ProcessStateModifier.java +++ b/apex/jobscheduler/service/java/com/android/server/tare/ProcessStateModifier.java @@ -146,8 +146,11 @@ class ProcessStateModifier extends Modifier { return 0; case PROC_STATE_BUCKET_FGS: // Can't get notification priority. Just use CTP for now. - return ctp; + return Math.min(ctp, price); case PROC_STATE_BUCKET_BFGS: + if (price <= ctp) { + return price; + } return (long) (ctp + .5 * (price - ctp)); case PROC_STATE_BUCKET_BG: default: