)]}'
{
  "log": [
    {
      "commit": "98365d7663cbd82979a5700faf0050220b01084d",
      "tree": "8a4ff3e0a8afd814ed29609b26aa1c6ade2367f6",
      "parents": [
        "848c2dc93b6795e171f3dd6f64ea0be65e2762ca"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Aug 19 20:30:52 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Aug 19 22:42:08 2012 -0700"
      },
      "message": "Refactor for multi-display support.\n\nSplit WindowManagerImpl into two parts, the WindowManager\ninterface implementation remains where it is but the global\ncommunications with the window manager are now handled by\nthe WindowManagerGlobal class.  This change greatly simplifies\nthe challenge of having separate WindowManager instances\nfor each Context.\n\nRemoved WindowManagerImpl.getDefault().  This represents the\nbulk of this change.  Most of the usages of this method were\neither to perform global functions (now handled by WindowManagerGlobal)\nor to obtain the default display (now handled by DisplayManager).\n\nExplicitly associate each new window with a display and make\nthe Display object available to the View hierarchy.\n\nAdd stubs for some new display manager API features.\n\nStart to split apart the concepts of display id and layer stack.\nsince they operate at different layers of abstraction.\nWhile it\u0027s true that each logical display uniquely corresponds to a\nsurface flinger layer stack, it is not necessarily the case that\nthey must use the same ids.  Added Display.getLayerStack()\nand started using it in places where it was relatively easy to do.\n\nChange-Id: I29ed909114dec86807c4d3a5059c3fa0358bea61\n"
    },
    {
      "commit": "569ca8b7dd6931d21babb94839dc6029b9c652df",
      "tree": "077dc5f9fb46207cede7613a521c0d969b2193ce",
      "parents": [
        "561ff8a74e3d9ea15f58d9b6534da9ea5a63d84b"
      ],
      "author": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Fri Jun 01 14:07:23 2012 -0700"
      },
      "committer": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Fri Jun 01 14:09:26 2012 -0700"
      },
      "message": "Temporarily disable FakeOemFeatures from userdebug or higher builds\n\nChange-Id: I452d079f60a087a36c20e984b38b8354327e1d5a\n"
    },
    {
      "commit": "e0afc34128417799f3eec6c1b1df62a93214e2eb",
      "tree": "6a1600f7b8f4d33c503a63139312efb5e7a5aa3e",
      "parents": [
        "8279570b222d46def4e541d71ef29dbfd9fbe3d7"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Feb 29 12:37:59 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Feb 29 12:37:59 2012 -0800"
      },
      "message": "Whoops forgot this change.\n\nShould have been creating a few more processes.\n\nChange-Id: I59d8c89c989fff7965122c5a9d798138ef156857\n"
    },
    {
      "commit": "04a3a4350e320b65bda9fae6500250c4880e4bf2",
      "tree": "1c8b8a2806c111c4705999a135bd96d9a980e998",
      "parents": [
        "2437a4ab02d0adcbb0c4c762210762db2973cce8"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Feb 28 12:53:19 2012 -0800"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Feb 28 12:53:19 2012 -0800"
      },
      "message": "Disable ProGuard for FakeOemFeatures to fix build.\n\nChange-Id: If0ccf16712bf43adb5fe490906be2a13b484f726\n"
    },
    {
      "commit": "d459f4bbfcfe4989a0e2298b3cfd36064b386b88",
      "tree": "2daf1a933af25393ef94b5d086cacb92aef1bf47",
      "parents": [
        "35ae6e2a841d8a287bccb56881f58e9fe24a07b6"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Feb 27 18:37:40 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Feb 27 18:46:29 2012 -0800"
      },
      "message": "You could think of this as what an OEM might do.\n\nExcept it does nothing.\n\nBut eat resources.\n\nYum, yum!\n\nCurrent we create five processes.  The main process sucks up 16MB of\nRAM and creates a full-screen window; only on high-end devices does\nthe window (and process) use the GPU.\n\nThe second through fourth processes just sits there not really doing\nanything except using process overhead.\n\nThe fifth process runs a background service, slowing eating RAM until\nit gets killed by the system (as the system will ultimately do with\nbackground services).  It also creates a full-screen window, and always\nuses the GPU even on low-end devices.\n\nChange-Id: Ibe9e25f7dbd889f4dc83eed6a3c09b9b0437b4e3\n"
    }
  ]
}
