)]}'
{
  "commit": "f244f10ce4f47d1c423eb09a668ff57af9d13900",
  "tree": "8f77913f65f676d542e76a797b5f5f7f3969a490",
  "parents": [
    "31d41415101ff3483ce1cc5a9c2ef322490a05bd"
  ],
  "author": {
    "name": "Leon Scroggins III",
    "email": "scroggo@google.com",
    "time": "Mon Feb 06 11:05:02 2023 -0500"
  },
  "committer": {
    "name": "Leon Scroggins III",
    "email": "scroggo@google.com",
    "time": "Mon Feb 06 11:27:58 2023 -0500"
  },
  "message": "Switch SchedulerClock to std::chrono::steady_clock\n\nAccording to\nhttps://en.cppreference.com/w/cpp/chrono/high_resolution_clock, we\nshould prefer steady_clock or system_clock, depending on our needs. We\nalready assert that it is_steady, and we use values of this type as if\nthey *are* from steady_clock.\n\nSpecifically, android::scheduler::TimePoint, used throughout\nSurfaceFlinger, inherits from SchedulerClock::time_point. When computing\nthe earliestPresentTime, we use TimePoints (aka a subclass of\nhigh_resolution_clock::time_point), but then we assign the result to\nCompositionRefreshArgs.earliestPresentTime, which is a\nsteady_clock::time_point.\n\nMake this consistent by using the recommended type throughout.\n\nTest: m\n\nChange-Id: I10a3ba4829a60dfc83256cb9fea3736a6c8a0f94\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "bd4e3c27b3a8e494e1fdb3bbd3f83683f10191b9",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/Scheduler/include/scheduler/Time.h",
      "new_id": "ba1459a5627118c370a8355f9f6db0d5dd4cd5fb",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/Scheduler/include/scheduler/Time.h"
    }
  ]
}
