JapaneseCalendar.CURRENT_ERA should not depend on system time

JapaneseCalendar.CURRENT_ERA is static final int.
Since ICU 63, CURRENT_ERA is computed based on the system time,
via the API System.currentTimeMillis(). Before ICU 63 (Android P or
below), it takes the latest era known by ICU.

Android could initialize the value early during boot with
an incorrect system time, and could result in undesired behavior
in app, e.g. using the previous era Heisei in date format, even
though the system time is set to a time in Reiwa era.

This change set JapaneseCalendar.CURRENT_ERA to REIWA, which
is the latest era known to ICU.

Also fix android.icu.dev.test.calendar.EraRulesTest#testAPIs
test failure during the era transition due to time zone inconsistency
in the test.

Note on JapaneseTest#Test3860, it passes on before and after era starts,
even though it depends on CURRENT_ERA in the test.

Bug: 131822957
Bug: 131766004
Test: CtsIcuTestCases when system time is to 30 Apr, 1 May(UTC) and 2 may
Change-Id: I0b1bdba23ebf2c61d6627d920a9610cf47327405
5 files changed