diff options
| -rw-r--r-- | services/core/java/com/android/server/am/ActiveServices.java | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/services/core/java/com/android/server/am/ActiveServices.java b/services/core/java/com/android/server/am/ActiveServices.java index 4c7ea5792e9f..b1543ee86565 100644 --- a/services/core/java/com/android/server/am/ActiveServices.java +++ b/services/core/java/com/android/server/am/ActiveServices.java @@ -1996,17 +1996,16 @@ public final class ActiveServices { final long now = SystemClock.uptimeMillis(); final boolean isLegacyApp = (r.appInfo.targetSdkVersion < Build.VERSION_CODES.S); - boolean showNow = withinFgsDeferRateLimit(uid, now); + // Is the behavior enabled at all? + boolean showNow = !mAm.mConstants.mFlagFgsNotificationDeferralEnabled; if (!showNow) { - final boolean showLegacyNow = isLegacyApp - && mAm.mConstants.mFlagFgsNotificationDeferralApiGated; - showNow = !mAm.mConstants.mFlagFgsNotificationDeferralEnabled || showLegacyNow; + // Did the app have another FGS notification deferred recently? + showNow = withinFgsDeferRateLimit(uid, now); } if (!showNow) { // Legacy apps' FGS notifications are not deferred unless the relevant // DeviceConfig element has been set - showNow = mAm.mConstants.mFlagFgsNotificationDeferralApiGated - && isLegacyApp; + showNow = isLegacyApp && mAm.mConstants.mFlagFgsNotificationDeferralApiGated; } if (!showNow) { // has the app forced deferral? |