Loading apex/jobscheduler/service/aconfig/job.aconfig +1 −9 Original line number Diff line number Diff line Loading @@ -80,15 +80,7 @@ flag { } } flag { name: "fix_deadline_delay_job_stall" namespace: "backstage_power" description: "Fix deadline and delay job stall due to a incorrect time check in TimeController" bug: "400440145" metadata { purpose: PURPOSE_BUGFIX } } flag { name: "fix_reporting_active_jobs" Loading apex/jobscheduler/service/java/com/android/server/job/controllers/TimeController.java +7 −18 Original line number Diff line number Diff line Loading @@ -33,7 +33,7 @@ import android.util.proto.ProtoOutputStream; import com.android.internal.annotations.VisibleForTesting; import com.android.modules.expresslog.Counter; import com.android.server.AppSchedulingModuleThread; import com.android.server.job.Flags; import com.android.server.job.JobSchedulerService; import com.android.server.job.StateControllerProto; Loading Loading @@ -149,8 +149,7 @@ public final class TimeController extends StateController { * Checking here avoids unnecessary delays in starting the job. */ private boolean isDelayAlarmDelayed() { return Flags.fixDeadlineDelayJobStall() && sElapsedRealtimeClock.millis() >= mNextDelayExpiredElapsedMillis; return sElapsedRealtimeClock.millis() >= mNextDelayExpiredElapsedMillis; } /** Loading @@ -159,8 +158,7 @@ public final class TimeController extends StateController { * Checking here avoids unnecessary delays in starting the job. */ private boolean isDeadlineAlarmDelayed() { return Flags.fixDeadlineDelayJobStall() && sElapsedRealtimeClock.millis() >= mNextJobExpiredElapsedMillis; return sElapsedRealtimeClock.millis() >= mNextJobExpiredElapsedMillis; } @Override Loading Loading @@ -424,14 +422,10 @@ public final class TimeController extends StateController { Slog.d(TAG, "Deadline-expired alarm fired"); } if (Flags.fixDeadlineDelayJobStall()) { synchronized (mLock) { mNextJobExpiredElapsedMillis = Long.MAX_VALUE; checkExpiredDeadlinesAndResetAlarm(); } } else { checkExpiredDeadlinesAndResetAlarm(); } } }; Loading @@ -442,16 +436,11 @@ public final class TimeController extends StateController { Slog.d(TAG, "Delay-expired alarm fired"); } if (Flags.fixDeadlineDelayJobStall()) { synchronized (mLock) { mLastFiredDelayExpiredElapsedMillis = sElapsedRealtimeClock.millis(); mNextDelayExpiredElapsedMillis = Long.MAX_VALUE; checkExpiredDelaysAndResetAlarm(); } } else { mLastFiredDelayExpiredElapsedMillis = sElapsedRealtimeClock.millis(); checkExpiredDelaysAndResetAlarm(); } } }; Loading Loading
apex/jobscheduler/service/aconfig/job.aconfig +1 −9 Original line number Diff line number Diff line Loading @@ -80,15 +80,7 @@ flag { } } flag { name: "fix_deadline_delay_job_stall" namespace: "backstage_power" description: "Fix deadline and delay job stall due to a incorrect time check in TimeController" bug: "400440145" metadata { purpose: PURPOSE_BUGFIX } } flag { name: "fix_reporting_active_jobs" Loading
apex/jobscheduler/service/java/com/android/server/job/controllers/TimeController.java +7 −18 Original line number Diff line number Diff line Loading @@ -33,7 +33,7 @@ import android.util.proto.ProtoOutputStream; import com.android.internal.annotations.VisibleForTesting; import com.android.modules.expresslog.Counter; import com.android.server.AppSchedulingModuleThread; import com.android.server.job.Flags; import com.android.server.job.JobSchedulerService; import com.android.server.job.StateControllerProto; Loading Loading @@ -149,8 +149,7 @@ public final class TimeController extends StateController { * Checking here avoids unnecessary delays in starting the job. */ private boolean isDelayAlarmDelayed() { return Flags.fixDeadlineDelayJobStall() && sElapsedRealtimeClock.millis() >= mNextDelayExpiredElapsedMillis; return sElapsedRealtimeClock.millis() >= mNextDelayExpiredElapsedMillis; } /** Loading @@ -159,8 +158,7 @@ public final class TimeController extends StateController { * Checking here avoids unnecessary delays in starting the job. */ private boolean isDeadlineAlarmDelayed() { return Flags.fixDeadlineDelayJobStall() && sElapsedRealtimeClock.millis() >= mNextJobExpiredElapsedMillis; return sElapsedRealtimeClock.millis() >= mNextJobExpiredElapsedMillis; } @Override Loading Loading @@ -424,14 +422,10 @@ public final class TimeController extends StateController { Slog.d(TAG, "Deadline-expired alarm fired"); } if (Flags.fixDeadlineDelayJobStall()) { synchronized (mLock) { mNextJobExpiredElapsedMillis = Long.MAX_VALUE; checkExpiredDeadlinesAndResetAlarm(); } } else { checkExpiredDeadlinesAndResetAlarm(); } } }; Loading @@ -442,16 +436,11 @@ public final class TimeController extends StateController { Slog.d(TAG, "Delay-expired alarm fired"); } if (Flags.fixDeadlineDelayJobStall()) { synchronized (mLock) { mLastFiredDelayExpiredElapsedMillis = sElapsedRealtimeClock.millis(); mNextDelayExpiredElapsedMillis = Long.MAX_VALUE; checkExpiredDelaysAndResetAlarm(); } } else { mLastFiredDelayExpiredElapsedMillis = sElapsedRealtimeClock.millis(); checkExpiredDelaysAndResetAlarm(); } } }; Loading