Merge "Fix race in short FGS timeout"

This commit is contained in:
TreeHugger Robot
2022-12-07 22:48:05 +00:00
committed by Android (Google) Code Review
2 changed files with 8 additions and 2 deletions

View File

@@ -2981,6 +2981,9 @@ public final class ActiveServices {
void onShortFgsTimeout(ServiceRecord sr) {
synchronized (mAm) {
if (!sr.shouldTriggerShortFgsTimeout()) {
if (DEBUG_SHORT_SERVICE) {
Slog.d(TAG_SERVICE, "[STALE] Short FGS timed out: " + sr);
}
return;
}
Slog.e(TAG_SERVICE, "Short FGS timed out: " + sr);
@@ -3021,6 +3024,9 @@ public final class ActiveServices {
tr.mLatencyTracker.waitingOnAMSLockEnded();
if (!sr.shouldTriggerShortFgsAnr()) {
if (DEBUG_SHORT_SERVICE) {
Slog.d(TAG_SERVICE, "[STALE] Short FGS ANR'ed: " + sr);
}
return;
}

View File

@@ -1416,7 +1416,7 @@ final class ServiceRecord extends Binder implements ComponentName.WithComponentN
|| !mShortFgsInfo.isCurrent()) {
return false;
}
return mShortFgsInfo.getTimeoutTime() < SystemClock.uptimeMillis();
return mShortFgsInfo.getTimeoutTime() <= SystemClock.uptimeMillis();
}
/**
@@ -1431,7 +1431,7 @@ final class ServiceRecord extends Binder implements ComponentName.WithComponentN
|| !mShortFgsInfo.isCurrent()) {
return false;
}
return mShortFgsInfo.getAnrTime() < SystemClock.uptimeMillis();
return mShortFgsInfo.getAnrTime() <= SystemClock.uptimeMillis();
}
private boolean isAppAlive() {