From 9aa7b74a7a64c37c1cc7bc42dc643c8916ac94fb Mon Sep 17 00:00:00 2001 From: Neil Fuller Date: Mon, 17 Jun 2019 11:40:35 +0100 Subject: [PATCH] Convert some users of Time.format() to an alt. Convert some frameworks/base/ users of android.text.format.Time.format() to use calculations based on java.time instead. This avoids future Y2038 issues associated with Time. A TimeMigrationUtils method is added that has similar localization behavior to Time's format() method. This commit only contains a replacement for basic formatting usecases. Later commits can handle more complex usecases. The only case that modifies the format is the changes to CalendarContract.java: the pattern used there was unusual and only used in logging/debug logic which was switched off by default. Bug: 16550209 Test: build / boot / treehugger Test: atest FrameworksCoreTests:android.text.format.TimeMigrationUtilsTest Change-Id: Ib142979858012bb766b4c107d41a21b0324de506 --- .../android/provider/CalendarContract.java | 8 +- .../android/text/format/TimeFormatter.java | 69 +++++++++- .../text/format/TimeMigrationUtils.java | 40 ++++++ .../text/format/TimeMigrationUtilsTest.java | 120 ++++++++++++++++++ .../android/server/DropBoxManagerService.java | 6 +- .../android/server/content/SyncManager.java | 10 +- .../server/job/controllers/JobStatus.java | 10 +- .../android/server/pm/ShortcutService.java | 6 +- 8 files changed, 235 insertions(+), 34 deletions(-) create mode 100644 core/java/android/text/format/TimeMigrationUtils.java create mode 100644 core/tests/coretests/src/android/text/format/TimeMigrationUtilsTest.java diff --git a/core/java/android/provider/CalendarContract.java b/core/java/android/provider/CalendarContract.java index 2f68eb475e7a6..d862d6022154b 100644 --- a/core/java/android/provider/CalendarContract.java +++ b/core/java/android/provider/CalendarContract.java @@ -40,7 +40,7 @@ import android.database.DatabaseUtils; import android.net.Uri; import android.os.RemoteException; import android.text.format.DateUtils; -import android.text.format.Time; +import android.text.format.TimeMigrationUtils; import android.util.Log; import com.android.internal.util.Preconditions; @@ -1680,7 +1680,7 @@ public final class CalendarContract { *

Writing to Events

There are further restrictions on all Updates * and Inserts in the Events table: *