)]}'
{
  "commit": "9e63f9dbc8129622eedba21c3ee217111cddbc26",
  "tree": "3363c6443a30c9e6ce06eca9c2e559fec70d0980",
  "parents": [
    "f8798e2fb2a992f81923c01fdf93802b9a954e04"
  ],
  "author": {
    "name": "Joachim Sauer",
    "email": "jsauer@google.com",
    "time": "Thu May 26 11:46:57 2016 +0100"
  },
  "committer": {
    "name": "Joachim Sauer",
    "email": "jsauer@google.com",
    "time": "Fri May 27 14:46:11 2016 +0100"
  },
  "message": "Add a method to clear the cached default timezone.\n\nAdds clearCacheDefault() method that clears the cached timezone. This\nmethod is hidden from the public API and will only be used by\njava.util.TimeZone to ensure that ICU has the same view of what the\ndefault timezone is as java.util.TimeZone.\n\nThis (together with the corresponding change in libcore) means that the\ncalling android.icu.util.TimeZone.setDefault() with a value foo does not\nguarantee that the ICU default timezone after the call is equal to foo\nsince the value will be conferted to a JDK-equivalent in ICU\nTimeZone.setDefault() and back to a ICU equivalent in ICU\nTimeZone.getDefault(). Both of these processes are potentially lossy.\n\nBackground:\n\nWhen java.util.TimeZone.setDefault() is called (either by client code or\nfrom ActivityThread.updateTimeZone due to ACTION_TIMEZONE_CHANGED) we\nneed to notify android.icu.util.TimeZone of this change, as it keeps a\ncached android.icu.util.TimeZone object to represent that default value.\n\nandroid.icu.util.TimeZone.setTimeZone would be the obvious candidate\nhere. Unfortunately that method was hidden to have a single consistent\nway to set the timezone and tries to do some extra work that is\nundesireable on Android.\n\nBug: 28949992\n\n(cherry picked from commit 79f03f9433865f1fc8fce926cbcfa3174f7b53b6)\n\nChange-Id: I18dbddc3df5ebde5c9fc42cd0084c0312cf8c987\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6d50802d1dabf0e4743f3016fa7b226cabed1e6a",
      "old_mode": 33188,
      "old_path": "android_icu4j/src/main/java/android/icu/util/TimeZone.java",
      "new_id": "27f2eec052e5a931efa948e41234e9d679baccac",
      "new_mode": 33188,
      "new_path": "android_icu4j/src/main/java/android/icu/util/TimeZone.java"
    },
    {
      "type": "modify",
      "old_id": "dcfe21e8cfda94f218374feda1df32fe67dbf651",
      "old_mode": 33188,
      "old_path": "android_icu4j/src/main/tests/android/icu/dev/test/timezone/TimeZoneTest.java",
      "new_id": "2612b000cc83069a3161f445b4c07414cfbfbe54",
      "new_mode": 33188,
      "new_path": "android_icu4j/src/main/tests/android/icu/dev/test/timezone/TimeZoneTest.java"
    },
    {
      "type": "modify",
      "old_id": "bb4e04c44cb78ed00b25ce3c7d2eb378748e619b",
      "old_mode": 33188,
      "old_path": "icu4j/main/classes/core/src/com/ibm/icu/util/TimeZone.java",
      "new_id": "dc9b7d345fb71ea2d00214b15088112863227e22",
      "new_mode": 33188,
      "new_path": "icu4j/main/classes/core/src/com/ibm/icu/util/TimeZone.java"
    },
    {
      "type": "modify",
      "old_id": "abbd06349f340a5302f0eb1a68b5f770e6784de8",
      "old_mode": 33188,
      "old_path": "icu4j/main/tests/core/src/com/ibm/icu/dev/test/timezone/TimeZoneTest.java",
      "new_id": "bac70b54d79900545750a76103eb579d36d6af24",
      "new_mode": 33188,
      "new_path": "icu4j/main/tests/core/src/com/ibm/icu/dev/test/timezone/TimeZoneTest.java"
    },
    {
      "type": "modify",
      "old_id": "5473a834814de22f5b8bd781a26bca210ff17db7",
      "old_mode": 33188,
      "old_path": "tools/srcgen/src/main/java/com/android/icu4j/srcgen/Icu4jTransform.java",
      "new_id": "b77cae72debacb586f359d576bb89e33a0055caa",
      "new_mode": 33188,
      "new_path": "tools/srcgen/src/main/java/com/android/icu4j/srcgen/Icu4jTransform.java"
    }
  ]
}
