)]}'
{
  "commit": "38baf72ccb8d1df176255d9756ef697cd4d2ffab",
  "tree": "fe194a1886e0081c5bb7c4a34f4c6eae03432f8f",
  "parents": [
    "a9c4d556084fb3b8592063b451c72f0ab0f7a65d"
  ],
  "author": {
    "name": "Alec Mouri",
    "email": "alecmouri@google.com",
    "time": "Wed May 22 19:58:00 2019 -0700"
  },
  "committer": {
    "name": "Ana Krulec",
    "email": "akrulec@google.com",
    "time": "Tue Sep 03 19:09:40 2019 -0700"
  },
  "message": "[SurfaceFlinger] Add vsync offset information to systrace.\n\n* Trace offset values in DispSyncSource\n* Trace offset type in VSyncModulator\n* Refactor how offsets are stored so that refresh rate type can be\nencoded in VSyncModulator\n* Add locking to catch a potential race condition when updating offsets,\nas phase offsets can be accessed or updated on multiple threads.\n\nBug: 133325345\nTest: verified that correct offsets are reported in systrace\nChange-Id: I38d43b722cd54728a2e4de3df7dd472aceb1de15\n(cherry picked from commit d7599d832c96cc3ba0c2ad19653f29bdfe084284)\nMerged-In: I38d43b722cd54728a2e4de3df7dd472aceb1de15\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "265b8aa47feadc904db209abe796295f1f2d2857",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/Scheduler/DispSyncSource.cpp",
      "new_id": "026b55707c7aaea10cc80f2d3a168d0ad86b511b",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/Scheduler/DispSyncSource.cpp"
    },
    {
      "type": "modify",
      "old_id": "b6785c5f748d5ade355fec22c2c74fcfd1f39e65",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/Scheduler/DispSyncSource.h",
      "new_id": "50560a5a2b49d9d358c948fd5f859ff836bc6482",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/Scheduler/DispSyncSource.h"
    },
    {
      "type": "modify",
      "old_id": "276bce1f89a97589196f5bb560b174d8dea87c5f",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/Scheduler/PhaseOffsets.cpp",
      "new_id": "8a2604f4a3b8105a929d7d0b1b820c2278885344",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/Scheduler/PhaseOffsets.cpp"
    },
    {
      "type": "modify",
      "old_id": "dc71e6eb60cefa1a42c5a4b28804e34f34868223",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/Scheduler/PhaseOffsets.h",
      "new_id": "2b5c2f10f1a688b8a4e7f3651e14c3505c69a9c8",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/Scheduler/PhaseOffsets.h"
    },
    {
      "type": "modify",
      "old_id": "af8f445b3023289382a4c0b5778c89b9d8090f21",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/Scheduler/VSyncModulator.cpp",
      "new_id": "381308ab34d8973081b58b4709161e9c74efe7eb",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/Scheduler/VSyncModulator.cpp"
    },
    {
      "type": "modify",
      "old_id": "677862e4fe0e9763f3a92dec73dfa34238453b2d",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/Scheduler/VSyncModulator.h",
      "new_id": "c6374be83addacb659d3ff6bf94f6acf7a9a00f9",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/Scheduler/VSyncModulator.h"
    },
    {
      "type": "modify",
      "old_id": "96121bb088e7f501772c42a46db1ef02e7912064",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/tests/unittests/FakePhaseOffsets.h",
      "new_id": "1d7501102eeb0c5555f7c5f145ba7f29680183c3",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/tests/unittests/FakePhaseOffsets.h"
    }
  ]
}
