)]}'
{
  "commit": "4c3137a9d3fe39d09aed664c0405bb219591cc90",
  "tree": "946a90c1a4bbc2179ffcf626b5914f46b484e180",
  "parents": [
    "256bb66d02e3cae7a439594a16228d6f462ff9a1"
  ],
  "author": {
    "name": "Siarhei Vishniakou",
    "email": "svv@google.com",
    "time": "Tue Nov 13 13:33:52 2018 -0800"
  },
  "committer": {
    "name": "Siarhei Vishniakou",
    "email": "svv@google.com",
    "time": "Tue Nov 13 21:36:49 2018 +0000"
  },
  "message": "Do not use raw coordinates in VelocityTracker\n\nIn P, we switched VelocityTracker to use raw coordinates when\ncalculating the velocity. While that helped solve the issues with views\nbeing moved while touched, this has broken some other assumptions in the\nview hierarchy. Currently during dispatch, MotionEvent coordinates are\ngetting adjusted as events are passed to the child views.\n\nOne example is a rotated ListView. When setRotation is called on a\nListView, ListView continues to use getYVelocity to determine the fling\nspeed. However, after the view is rotated, its action is in the\nhorizontal direction. This causes flings on ListView to not work\nproperly.\n\nFurther analysing the View system api, it appears that the problem could\nalso occur in such cases as scale, where the view gets increased in\nsize, and MotionEvents are adjusted accordingly.\n\nThis issue could have been solved in the view hierarchy by changing the\nassumptions and reworking the VelocityTracker usage. However, that is\ndeemed infeasible.\n\nThe switch to raw coordinates was to resolve the issue when a moving\nview is trying to calculate the velocity of the fling. Since that no\nlonger is possible, we will have to use work-arounds for those use\ncases. One such example is the SystemUI use case, in PanelView.java.\n\nBug: 117921784\nBug: 117475766\nTest: Sample app from bug 117475766, flings in the horizontal direction\nwork properly\n\nChange-Id: If4cd6ace0bbef52521e1bbab8d58d649b295e2b7\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c07a81245a13759bfc42e75a5d42b2a51e2b31e2",
      "old_mode": 33188,
      "old_path": "libs/input/VelocityTracker.cpp",
      "new_id": "c70ace0fbdd41830123c2cabe9519dbc82f5f3fc",
      "new_mode": 33188,
      "new_path": "libs/input/VelocityTracker.cpp"
    }
  ]
}
