summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/am/ActiveServices.java11
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?