timezonepicker: Crash when trying to use timepicker to get time zone.
After the Android version upgrade, the mTranstions field in ZoneInfo
class in libcore is changed from int[] to long[]. So, modified this
class accordingly.
Change-Id: I3c7812ee93de66fcf7d4259877f0ce5d1585565a
diff --git a/src/com/android/timezonepicker/TimeZoneInfo.java b/src/com/android/timezonepicker/TimeZoneInfo.java
index 9d302eb..6b883c9 100644
--- a/src/com/android/timezonepicker/TimeZoneInfo.java
+++ b/src/com/android/timezonepicker/TimeZoneInfo.java
@@ -46,7 +46,7 @@
TimeZone mTz;
public String mTzId;
int mRawoffset;
- public int[] mTransitions; // may have trailing 0's.
+ public long[] mTransitions; // may have trailing 0's.
public String mCountry;
public int groupId;
public String mDisplayName;
@@ -194,15 +194,15 @@
return displayName;
}
- private static int[] getTransitions(TimeZone tz, long time)
+ private static long[] getTransitions(TimeZone tz, long time)
throws IllegalAccessException, NoSuchFieldException {
Class<?> zoneInfoClass = tz.getClass();
Field mTransitionsField = zoneInfoClass.getDeclaredField("mTransitions");
mTransitionsField.setAccessible(true);
- int[] objTransitions = (int[]) mTransitionsField.get(tz);
- int[] transitions = null;
+ long[] objTransitions = (long[]) mTransitionsField.get(tz);
+ long[] transitions = null;
if (objTransitions.length != 0) {
- transitions = new int[NUM_OF_TRANSITIONS];
+ transitions = new long[NUM_OF_TRANSITIONS];
int numOfTransitions = 0;
for (int i = 0; i < objTransitions.length; ++i) {
if (objTransitions[i] < time) {