Loading apex/jobscheduler/service/java/com/android/server/DeviceIdleController.java +0 −4 Original line number Diff line number Diff line Loading @@ -48,7 +48,6 @@ import android.os.BatteryStats; import android.os.Binder; import android.os.Bundle; import android.os.Environment; import android.os.FileUtils; import android.os.Handler; import android.os.IDeviceIdleController; import android.os.Looper; Loading Loading @@ -3597,9 +3596,6 @@ public class DeviceIdleController extends SystemService try { stream = mConfigFile.startWrite(); memStream.writeTo(stream); stream.flush(); FileUtils.sync(stream); stream.close(); mConfigFile.finishWrite(stream); } catch (IOException e) { Slog.w(TAG, "Error writing config file", e); Loading apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java +49 −3 Original line number Diff line number Diff line Loading @@ -109,6 +109,9 @@ import libcore.util.EmptyArray; import java.io.FileDescriptor; import java.io.PrintWriter; import java.time.Clock; import java.time.Instant; import java.time.ZoneId; import java.time.ZoneOffset; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; Loading Loading @@ -144,10 +147,53 @@ public class JobSchedulerService extends com.android.server.SystemService @VisibleForTesting public static Clock sSystemClock = Clock.systemUTC(); private abstract static class MySimpleClock extends Clock { private final ZoneId mZoneId; MySimpleClock(ZoneId zoneId) { this.mZoneId = zoneId; } @Override public ZoneId getZone() { return mZoneId; } @Override public Clock withZone(ZoneId zone) { return new MySimpleClock(zone) { @Override public long millis() { return MySimpleClock.this.millis(); } }; } @Override public abstract long millis(); @Override public Instant instant() { return Instant.ofEpochMilli(millis()); } } @VisibleForTesting public static Clock sUptimeMillisClock = SystemClock.uptimeClock(); public static Clock sUptimeMillisClock = new MySimpleClock(ZoneOffset.UTC) { @Override public long millis() { return SystemClock.uptimeMillis(); } }; @VisibleForTesting public static Clock sElapsedRealtimeClock = SystemClock.elapsedRealtimeClock(); public static Clock sElapsedRealtimeClock = new MySimpleClock(ZoneOffset.UTC) { @Override public long millis() { return SystemClock.elapsedRealtime(); } }; /** Global local for all job scheduler state. */ final Object mLock = new Object(); Loading Loading @@ -2126,7 +2172,7 @@ public class JobSchedulerService extends com.android.server.SystemService job.getServiceComponent(), PackageManager.MATCH_DEBUG_TRIAGED_MISSING, job.getUserId()); } catch (RemoteException e) { throw e.rethrowAsRuntimeException(); throw new RuntimeException(e); } if (service == null) { Loading apex/jobscheduler/service/java/com/android/server/job/controllers/JobStatus.java +8 −4 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ import android.net.Network; import android.net.Uri; import android.os.RemoteException; import android.os.UserHandle; import android.text.format.TimeMigrationUtils; import android.text.format.DateFormat; import android.util.ArraySet; import android.util.Pair; import android.util.Slog; Loading Loading @@ -1518,7 +1518,7 @@ public final class JobStatus { if (job.getClipData() != null) { pw.print(prefix); pw.print(" Clip data: "); StringBuilder b = new StringBuilder(128); job.getClipData().toShortString(b); b.append(job.getClipData()); pw.println(b); } if (uriPerms != null) { Loading Loading @@ -1659,14 +1659,18 @@ public final class JobStatus { } if (mLastSuccessfulRunTime != 0) { pw.print(prefix); pw.print("Last successful run: "); pw.println(TimeMigrationUtils.formatMillisWithFixedFormat(mLastSuccessfulRunTime)); pw.println(formatTime(mLastSuccessfulRunTime)); } if (mLastFailedRunTime != 0) { pw.print(prefix); pw.print("Last failed run: "); pw.println(TimeMigrationUtils.formatMillisWithFixedFormat(mLastFailedRunTime)); pw.println(formatTime(mLastFailedRunTime)); } } private static CharSequence formatTime(long time) { return DateFormat.format("yyyy-MM-dd HH:mm:ss", time); } public void dump(ProtoOutputStream proto, long fieldId, boolean full, long elapsedRealtimeMillis) { final long token = proto.start(fieldId); Loading Loading
apex/jobscheduler/service/java/com/android/server/DeviceIdleController.java +0 −4 Original line number Diff line number Diff line Loading @@ -48,7 +48,6 @@ import android.os.BatteryStats; import android.os.Binder; import android.os.Bundle; import android.os.Environment; import android.os.FileUtils; import android.os.Handler; import android.os.IDeviceIdleController; import android.os.Looper; Loading Loading @@ -3597,9 +3596,6 @@ public class DeviceIdleController extends SystemService try { stream = mConfigFile.startWrite(); memStream.writeTo(stream); stream.flush(); FileUtils.sync(stream); stream.close(); mConfigFile.finishWrite(stream); } catch (IOException e) { Slog.w(TAG, "Error writing config file", e); Loading
apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java +49 −3 Original line number Diff line number Diff line Loading @@ -109,6 +109,9 @@ import libcore.util.EmptyArray; import java.io.FileDescriptor; import java.io.PrintWriter; import java.time.Clock; import java.time.Instant; import java.time.ZoneId; import java.time.ZoneOffset; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; Loading Loading @@ -144,10 +147,53 @@ public class JobSchedulerService extends com.android.server.SystemService @VisibleForTesting public static Clock sSystemClock = Clock.systemUTC(); private abstract static class MySimpleClock extends Clock { private final ZoneId mZoneId; MySimpleClock(ZoneId zoneId) { this.mZoneId = zoneId; } @Override public ZoneId getZone() { return mZoneId; } @Override public Clock withZone(ZoneId zone) { return new MySimpleClock(zone) { @Override public long millis() { return MySimpleClock.this.millis(); } }; } @Override public abstract long millis(); @Override public Instant instant() { return Instant.ofEpochMilli(millis()); } } @VisibleForTesting public static Clock sUptimeMillisClock = SystemClock.uptimeClock(); public static Clock sUptimeMillisClock = new MySimpleClock(ZoneOffset.UTC) { @Override public long millis() { return SystemClock.uptimeMillis(); } }; @VisibleForTesting public static Clock sElapsedRealtimeClock = SystemClock.elapsedRealtimeClock(); public static Clock sElapsedRealtimeClock = new MySimpleClock(ZoneOffset.UTC) { @Override public long millis() { return SystemClock.elapsedRealtime(); } }; /** Global local for all job scheduler state. */ final Object mLock = new Object(); Loading Loading @@ -2126,7 +2172,7 @@ public class JobSchedulerService extends com.android.server.SystemService job.getServiceComponent(), PackageManager.MATCH_DEBUG_TRIAGED_MISSING, job.getUserId()); } catch (RemoteException e) { throw e.rethrowAsRuntimeException(); throw new RuntimeException(e); } if (service == null) { Loading
apex/jobscheduler/service/java/com/android/server/job/controllers/JobStatus.java +8 −4 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ import android.net.Network; import android.net.Uri; import android.os.RemoteException; import android.os.UserHandle; import android.text.format.TimeMigrationUtils; import android.text.format.DateFormat; import android.util.ArraySet; import android.util.Pair; import android.util.Slog; Loading Loading @@ -1518,7 +1518,7 @@ public final class JobStatus { if (job.getClipData() != null) { pw.print(prefix); pw.print(" Clip data: "); StringBuilder b = new StringBuilder(128); job.getClipData().toShortString(b); b.append(job.getClipData()); pw.println(b); } if (uriPerms != null) { Loading Loading @@ -1659,14 +1659,18 @@ public final class JobStatus { } if (mLastSuccessfulRunTime != 0) { pw.print(prefix); pw.print("Last successful run: "); pw.println(TimeMigrationUtils.formatMillisWithFixedFormat(mLastSuccessfulRunTime)); pw.println(formatTime(mLastSuccessfulRunTime)); } if (mLastFailedRunTime != 0) { pw.print(prefix); pw.print("Last failed run: "); pw.println(TimeMigrationUtils.formatMillisWithFixedFormat(mLastFailedRunTime)); pw.println(formatTime(mLastFailedRunTime)); } } private static CharSequence formatTime(long time) { return DateFormat.format("yyyy-MM-dd HH:mm:ss", time); } public void dump(ProtoOutputStream proto, long fieldId, boolean full, long elapsedRealtimeMillis) { final long token = proto.start(fieldId); Loading