)]}'
{
  "commit": "d3efd6920e64d0207a0655640297d87d4937ee27",
  "tree": "22054ead2157be4ed8db2147a9507e9f94e0e86c",
  "parents": [
    "73b61d67109c9a4267b93c238bb9cbab7b1304c4"
  ],
  "author": {
    "name": "Chet Haase",
    "email": "chet@google.com",
    "time": "Mon May 07 12:18:19 2012 -0700"
  },
  "committer": {
    "name": "Chet Haase",
    "email": "chet@google.com",
    "time": "Mon May 07 12:18:19 2012 -0700"
  },
  "message": "Fix issue where scale-animating text would jump temporarily a few pixels\n\nSome logic in the native matrix code would determine that a matrix was\n\u0027pureTranslate\u0027 based on the scale values of a matrix being close-enough to 1,\nwhich was within a very small epsilon. This works in general, because screen space\ncoordinates make that epsilon value irrelevant, so close-enough really is close-enough.\n\nHowever, TextView, when centering text, works in a coordinate system that is quite\nhuge, with left/right values about 500,000. These numbers multiplied times that small\nepsilon value would give a result that was significant, and would cause a miscalculation\nof up to 4-5 pixels, causing the snap that we\u0027d see for a couple of frames as the\nscale got \"close enough\" to 1.\n\nThe fix is to remove the optimization of \"close enough\". What we really need the matrix to\ndo is to identify itself as being translate-only when no scale as been set (which is the\ndefault). For the purposes of that check, it is good enough to simply check the values against\n1 directly. Similarly, the bounds-check logic needs to check against 0 and 1 directly.\n\nIssue #6452687: Glitch when changing scale of a view containing text\n\nChange-Id: I167fb45d02201fb879deea0e5a7ca95e38128e17\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a7fc23a04c0a9b17008e55da322abfaa47e11d22",
      "old_mode": 33188,
      "old_path": "libs/hwui/DisplayListRenderer.h",
      "new_id": "aff68e5b861a7aa1ea81c5c19bcc955ac39f090d",
      "new_mode": 33188,
      "new_path": "libs/hwui/DisplayListRenderer.h"
    },
    {
      "type": "modify",
      "old_id": "a8f937d5ba0c7f843c8334c97aa15edf69a6a28a",
      "old_mode": 33188,
      "old_path": "libs/hwui/Matrix.cpp",
      "new_id": "7348f4d834dd8b35e17c459f8edeb94589f601a6",
      "new_mode": 33188,
      "new_path": "libs/hwui/Matrix.cpp"
    }
  ]
}
