)]}'
{
  "log": [
    {
      "commit": "06a864413f03627ba7671d1c19ae114e3afaad4b",
      "tree": "80350aef406318d12c2f9c4971adc8c7cccd4188",
      "parents": [
        "c83a666fe6f808f99a88a34f3fe00ee16ed48fd9"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jul 11 15:59:22 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jan 17 09:38:23 2012 -0800"
      },
      "message": "Thread::getTid returns pid_t gettid() after run\n\nThis is needed when the parent or any other thread besides the child\nneeds access to the child\u0027s kernel tid.\n\nChange-Id: Ib148505913eb78314cfd76657c30d7b20663dffd\n"
    },
    {
      "commit": "c83a666fe6f808f99a88a34f3fe00ee16ed48fd9",
      "tree": "9d61ab838c9fef47facadf806ecc9cd76b68c843",
      "parents": [
        "cc767191cfb675f744e0165608b0a4196aba2b37",
        "06e09f6928ee50835ea156f55e95a3ccb4047f16"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Jan 17 09:00:49 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 17 09:00:49 2012 -0800"
      },
      "message": "Merge \"Expand WebKitHitTest and do some preliminary caching\""
    },
    {
      "commit": "cc767191cfb675f744e0165608b0a4196aba2b37",
      "tree": "3b6bfa942a86249a5467a53902c3e11cfecfb803",
      "parents": [
        "6e987a46f48da0cf445c0613c037dceb4f6117a4"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jan 17 08:38:51 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jan 17 08:38:51 2012 -0800"
      },
      "message": "Fix build for SDK on Mac\n\nChange-Id: If99541e3537edbe3636e06b1766aa31d877a2fc8\n"
    },
    {
      "commit": "6e987a46f48da0cf445c0613c037dceb4f6117a4",
      "tree": "f9503d37b906bd56f214525dfa6bff859cc09293",
      "parents": [
        "c80f4078291877450e60400dd29a004c61b875d5"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 06 08:40:01 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jan 17 07:45:07 2012 -0800"
      },
      "message": "Check stream type in AudioFlinger::createTrack\n\nA bad parameter to AudioFlinger::createTrack could cause mediaserver to crash.\n\nOther AudioFlinger stream type cleanup:\n - Simplify range check for audio_stream_type_t\n - Add comment about mStreamTypes array initialization.\n\nChange-Id: Ia33aa1cce0fdd694b08d9288816ffc097a9543d0\n"
    },
    {
      "commit": "c80f4078291877450e60400dd29a004c61b875d5",
      "tree": "5cdf38dc7c9c5f3122a3dd8a382b052ca5ffa31f",
      "parents": [
        "8c17a2f0884527c3ce42a2c6dbd073014d179b53",
        "e6f8a425da3fdcd512dfc19d2252e99abac555f4"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jan 17 07:28:14 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 17 07:28:14 2012 -0800"
      },
      "message": "Merge \"Fix locking for mMasterVolume and mMute\""
    },
    {
      "commit": "8c17a2f0884527c3ce42a2c6dbd073014d179b53",
      "tree": "914455ede452e4c89c7c3d700fc68c6a2cb0b157",
      "parents": [
        "3c6b9cca79c872427599a325bcbb5d4a00113d80",
        "faf354dc7f8065a90174adb6e725603176f0044f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jan 17 07:27:46 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 17 07:27:46 2012 -0800"
      },
      "message": "Merge \"Use size_t for frame size\""
    },
    {
      "commit": "3c6b9cca79c872427599a325bcbb5d4a00113d80",
      "tree": "622dfb8e526d84be17e76a0ee91c57f51f247e33",
      "parents": [
        "a7f656206550dea94e51dd8c9bb2dd8734bcdf92",
        "bc1d77b6cbce23fbe25f7231651037ae195bc90e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jan 17 07:25:36 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 17 07:25:36 2012 -0800"
      },
      "message": "Merge \"Use audio_stream_type_t consistently\""
    },
    {
      "commit": "a7f656206550dea94e51dd8c9bb2dd8734bcdf92",
      "tree": "b884f4aed069fa819fdc0ce5bad65d22ef516091",
      "parents": [
        "dd3ca2e268bc638fb57092a4e12df84cf2c5a6a9",
        "6793ac943afeb16642f477c43ddfd27e498db37b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jan 17 07:20:47 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 17 07:20:47 2012 -0800"
      },
      "message": "Merge \"Add android.os.Process.setThreadScheduler\""
    },
    {
      "commit": "dd3ca2e268bc638fb57092a4e12df84cf2c5a6a9",
      "tree": "fb56f9e519918d3e857a2da53041b965e50b9332",
      "parents": [
        "ade420df08a40bd568df48a3b023b63aafc8e3ee",
        "4790bd8be850235e9c6f1acf1e1e6146ef2996b3"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jan 17 07:18:26 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 17 07:18:26 2012 -0800"
      },
      "message": "Merge \"AudioTrack and AudioFlinger send level cleanup\""
    },
    {
      "commit": "ade420df08a40bd568df48a3b023b63aafc8e3ee",
      "tree": "f16863f3f88a9f98eed22bed50631c42b6dee86d",
      "parents": [
        "ce346e1cee8dfc9f8ba3b51745545aac78550214",
        "2afcd2d1a29f4417425630916e1ab93aa383cf1e"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Fri Jan 13 18:27:45 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 13 18:27:45 2012 -0800"
      },
      "message": "am 2afcd2d1: am 3938e4fb: Merge \"docs: emphasize qualifier order and mention implicit version qualifer\" into ics-mr1\n\n* commit \u00272afcd2d1a29f4417425630916e1ab93aa383cf1e\u0027:\n  docs: emphasize qualifier order and mention implicit version qualifer\n"
    },
    {
      "commit": "2afcd2d1a29f4417425630916e1ab93aa383cf1e",
      "tree": "25f672a23f2210af6fde25a0d109b1a674251cf7",
      "parents": [
        "114875e837163e1029536439ec3891bc2582acf2",
        "3938e4fbaae132db9b4676ba26f6b3c042a6879e"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Fri Jan 13 18:25:44 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 13 18:25:44 2012 -0800"
      },
      "message": "am 3938e4fb: Merge \"docs: emphasize qualifier order and mention implicit version qualifer\" into ics-mr1\n\n* commit \u00273938e4fbaae132db9b4676ba26f6b3c042a6879e\u0027:\n  docs: emphasize qualifier order and mention implicit version qualifer\n"
    },
    {
      "commit": "ce346e1cee8dfc9f8ba3b51745545aac78550214",
      "tree": "2490ebb3b196e5b360c57ad6b32bc97f039e9847",
      "parents": [
        "dda932005b8a1dc202bc9aba019c7e9260341bb9",
        "114875e837163e1029536439ec3891bc2582acf2"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Fri Jan 13 18:25:34 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 13 18:25:34 2012 -0800"
      },
      "message": "am 114875e8: am 40d6e7d9: Merge \"docs: mention x86 as a native platform filter\" into ics-mr1\n\n* commit \u0027114875e837163e1029536439ec3891bc2582acf2\u0027:\n  docs: mention x86 as a native platform filter\n"
    },
    {
      "commit": "dda932005b8a1dc202bc9aba019c7e9260341bb9",
      "tree": "6f2b3533def3bd804a48119d87521b94b7ab644f",
      "parents": [
        "72bc790705f4ed9722a6a838205c69ceba6209d8",
        "d4d68fe20259e2d6aaae8bc4a38b360aa0b57081"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jan 13 18:25:31 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 13 18:25:31 2012 -0800"
      },
      "message": "am d4d68fe2: am cc7bd5ab: Merge \"Update notification documentation to follow current guidelines.\" into ics-mr1\n\n* commit \u0027d4d68fe20259e2d6aaae8bc4a38b360aa0b57081\u0027:\n  Update notification documentation to follow current guidelines.\n"
    },
    {
      "commit": "72bc790705f4ed9722a6a838205c69ceba6209d8",
      "tree": "e2849f66c232abc4e8027688b4994daa9647ba86",
      "parents": [
        "ba8aa433d5141e155eccba5640fc464228424efb",
        "80c4cd1fd7d44fcacbff7d4903ce227eb3add1e3"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Fri Jan 13 18:25:28 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 13 18:25:28 2012 -0800"
      },
      "message": "am 80c4cd1f: am bd9d9d3a: cherrypick from hc-mr2, updated adk installation instructions Change-Id: I6a0e21a79b81c3383d1fa05a4893bab5626dbe05\n\n* commit \u002780c4cd1fd7d44fcacbff7d4903ce227eb3add1e3\u0027:\n  cherrypick from hc-mr2, updated adk installation instructions Change-Id: I6a0e21a79b81c3383d1fa05a4893bab5626dbe05\n"
    },
    {
      "commit": "3938e4fbaae132db9b4676ba26f6b3c042a6879e",
      "tree": "4b048594ee1ae2830b4a59297ef1be2b97f170b2",
      "parents": [
        "40d6e7d913fe865accb8313efdb87aacd6d71f18",
        "be0cf70dc3ff77661dbdf416d415757f2500e889"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Fri Jan 13 18:23:40 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 13 18:23:40 2012 -0800"
      },
      "message": "Merge \"docs: emphasize qualifier order and mention implicit version qualifer\" into ics-mr1"
    },
    {
      "commit": "114875e837163e1029536439ec3891bc2582acf2",
      "tree": "9ce93414b44c8a1f14e52ed735c6da7336e82808",
      "parents": [
        "d4d68fe20259e2d6aaae8bc4a38b360aa0b57081",
        "40d6e7d913fe865accb8313efdb87aacd6d71f18"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Fri Jan 13 18:23:35 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 13 18:23:35 2012 -0800"
      },
      "message": "am 40d6e7d9: Merge \"docs: mention x86 as a native platform filter\" into ics-mr1\n\n* commit \u002740d6e7d913fe865accb8313efdb87aacd6d71f18\u0027:\n  docs: mention x86 as a native platform filter\n"
    },
    {
      "commit": "d4d68fe20259e2d6aaae8bc4a38b360aa0b57081",
      "tree": "f18decd03b8689936e201345fd979ec49a55c136",
      "parents": [
        "80c4cd1fd7d44fcacbff7d4903ce227eb3add1e3",
        "cc7bd5ab550855c14c76701709b35d12a9677eb2"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jan 13 18:23:34 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 13 18:23:34 2012 -0800"
      },
      "message": "am cc7bd5ab: Merge \"Update notification documentation to follow current guidelines.\" into ics-mr1\n\n* commit \u0027cc7bd5ab550855c14c76701709b35d12a9677eb2\u0027:\n  Update notification documentation to follow current guidelines.\n"
    },
    {
      "commit": "80c4cd1fd7d44fcacbff7d4903ce227eb3add1e3",
      "tree": "caeddc84763bca0c230a92d7c4ea3ecc4a179057",
      "parents": [
        "e80341c8c5d0a0e20ff96c3f2314abd9a0fdb0cf",
        "bd9d9d3ae2a758139c7dd722c4836a33b9b059a8"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Fri Jan 13 18:23:33 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 13 18:23:33 2012 -0800"
      },
      "message": "am bd9d9d3a: cherrypick from hc-mr2, updated adk installation instructions Change-Id: I6a0e21a79b81c3383d1fa05a4893bab5626dbe05\n\n* commit \u0027bd9d9d3ae2a758139c7dd722c4836a33b9b059a8\u0027:\n  cherrypick from hc-mr2, updated adk installation instructions Change-Id: I6a0e21a79b81c3383d1fa05a4893bab5626dbe05\n"
    },
    {
      "commit": "40d6e7d913fe865accb8313efdb87aacd6d71f18",
      "tree": "39588adeaee1ceb8f4fa967ff9708673d6762e11",
      "parents": [
        "cc7bd5ab550855c14c76701709b35d12a9677eb2",
        "e2225df2593d7821f55cdc440641087f1245f4ae"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Fri Jan 13 18:21:42 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 13 18:21:42 2012 -0800"
      },
      "message": "Merge \"docs: mention x86 as a native platform filter\" into ics-mr1"
    },
    {
      "commit": "e2225df2593d7821f55cdc440641087f1245f4ae",
      "tree": "6b45875578dd0fde2a69078e7a51d04bc37754d9",
      "parents": [
        "62472581c30a3202b7bbd86e644b4346d5a4e65c"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Fri Jan 13 18:20:10 2012 -0800"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Fri Jan 13 18:20:10 2012 -0800"
      },
      "message": "docs: mention x86 as a native platform filter\n\nChange-Id: I003b1e0e649f36e8971df85ef2a28f991875d605\n"
    },
    {
      "commit": "06e09f6928ee50835ea156f55e95a3ccb4047f16",
      "tree": "57422e50425c25e0f5cb03d6830ef271e2346174",
      "parents": [
        "ba8b97e202d98721c4e73004204cb4f4c11ffa68"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Jan 13 13:32:19 2012 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Jan 13 17:56:49 2012 -0800"
      },
      "message": "Expand WebKitHitTest and do some preliminary caching\n\nChange-Id: Id9e9cc11f1482f434133e70b14970d7248a39008\n"
    },
    {
      "commit": "ba8aa433d5141e155eccba5640fc464228424efb",
      "tree": "af4f9c16b0f290527682ce16dc2cceb1b23ac4a9",
      "parents": [
        "ba82e0675e2b96237941e196a8c4cf3da85864f4",
        "fc7f95abcda6fa35c175f9225358ea75c22952ab"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Jan 13 16:41:41 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 13 16:41:41 2012 -0800"
      },
      "message": "Merge \"cleanup for concurrency\""
    },
    {
      "commit": "fc7f95abcda6fa35c175f9225358ea75c22952ab",
      "tree": "c63f526c09ec738553b3696ebe2354f22d02f600",
      "parents": [
        "b5c6ff59930a4f7b7efbcfac143fd4aed4315cb9"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Jan 04 14:50:09 2012 -0800"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Jan 13 16:38:43 2012 -0800"
      },
      "message": "cleanup for concurrency\n\nAllow multiple instances of WifiMonitor and WifiNative to be\ncreated in preparation for multiple socket connections\n\nChange-Id: I06a227f87f1406dc62f884d56ad639ac623414b6\n"
    },
    {
      "commit": "cc7bd5ab550855c14c76701709b35d12a9677eb2",
      "tree": "2a8dac971143fef2017d95fd2c0a704358101841",
      "parents": [
        "bd9d9d3ae2a758139c7dd722c4836a33b9b059a8",
        "6ceca588a268ed8fef4b32df278ca7567e608510"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jan 13 16:36:05 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 13 16:36:05 2012 -0800"
      },
      "message": "Merge \"Update notification documentation to follow current guidelines.\" into ics-mr1"
    },
    {
      "commit": "ba82e0675e2b96237941e196a8c4cf3da85864f4",
      "tree": "9af8e0f9655cb4b393cfd6fbe0505f9a439a55e7",
      "parents": [
        "438304d515387f25ea4f9658d94aadcc12b7d415",
        "4695e20aa50845ccb8470b4fcd74229503d81d49"
      ],
      "author": {
        "name": "Michael Kolb",
        "email": "kolby@google.com",
        "time": "Fri Jan 13 16:25:14 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 13 16:25:14 2012 -0800"
      },
      "message": "Merge \"fix layer scrollbar updates\""
    },
    {
      "commit": "4695e20aa50845ccb8470b4fcd74229503d81d49",
      "tree": "80df1fcbe98e920ca547535328aa6c6264eafd9c",
      "parents": [
        "cc9858049ddea5a28cbd1d6ee59dd814e21ef512"
      ],
      "author": {
        "name": "Michael Kolb",
        "email": "kolby@google.com",
        "time": "Fri Jan 13 16:15:11 2012 -0800"
      },
      "committer": {
        "name": "Michael Kolb",
        "email": "kolby@google.com",
        "time": "Fri Jan 13 16:15:11 2012 -0800"
      },
      "message": "fix layer scrollbar updates\n\n    Bug: 5868791\n\ntell webkit the layer has been scrolled\n\nChange-Id: Ib12963340d950be992fbe5f9520c9a33c04404e8\n"
    },
    {
      "commit": "e6f8a425da3fdcd512dfc19d2252e99abac555f4",
      "tree": "b3a5da7fb653c76a609f3b9f2233d839c7436d71",
      "parents": [
        "6a78cd85867c5f22e4e82259b81fab46088331ad"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Dec 13 11:47:54 2011 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 13 15:53:10 2012 -0800"
      },
      "message": "Fix locking for mMasterVolume and mMute\n\nmMasterVolume and mMute are both protected by mutex in AudioFlinger class, but\nthere were two places where they were accessed without a mutex.\n\nAlso make AudioFlinger::mMasterMute private not protected.\n\nChange-Id: Ia3897daeb5c50313df5bcc071824357526237f3e\n"
    },
    {
      "commit": "438304d515387f25ea4f9658d94aadcc12b7d415",
      "tree": "acdfffdb4de2260ee4f50473b779a12ffaa995e9",
      "parents": [
        "4bedb481036fbc6b72e5c0c620b569b508d3be16",
        "a27a3e8ad7d20dea63ef2d5cb8b6ec7e56c20a89"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Jan 13 15:33:42 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 13 15:33:42 2012 -0800"
      },
      "message": "Merge \"Introduce FileRotator.\""
    },
    {
      "commit": "a27a3e8ad7d20dea63ef2d5cb8b6ec7e56c20a89",
      "tree": "a233bcf4a407daa0652fd6229930aaaa348e2f35",
      "parents": [
        "6a78cd85867c5f22e4e82259b81fab46088331ad"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Jan 08 16:41:36 2012 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Jan 13 15:27:28 2012 -0800"
      },
      "message": "Introduce FileRotator.\n\nUtility that rotates files over time, similar to logrotate. There is\na single \"active\" file, which is periodically rotated into historical\nfiles, and eventually deleted entirely. Files are stored under a\nspecific directory with a well-known prefix.\n\nBug: 5386531\nChange-Id: I29f821a881247e50ce0f6f73b20bbd020db39e43\n"
    },
    {
      "commit": "4790bd8be850235e9c6f1acf1e1e6146ef2996b3",
      "tree": "1820560bc322ca1e67abee5d2a65c0539b72dbf5",
      "parents": [
        "6a78cd85867c5f22e4e82259b81fab46088331ad"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jan 03 14:22:33 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 13 15:25:14 2012 -0800"
      },
      "message": "AudioTrack and AudioFlinger send level cleanup\n\nAdd an API to control block for getting/setting send level.\nThis allow us to make the mSendLevel field private.\n\nDocument the lack of barriers.\n\nUse 0.0f to initialize floating-point values (for doc only).\n\nChange-Id: I59f83b00adeb89eeee227e7648625d9a835be7a4\n"
    },
    {
      "commit": "4bedb481036fbc6b72e5c0c620b569b508d3be16",
      "tree": "0642e5f28cc560e6ad9e1f5122faf31c33b1957c",
      "parents": [
        "dfef19940f2af5c043e0c6fb49909f093b8ff96b",
        "0922328270d2ec55a7f9407dfaac2d482e3f59cb"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jan 13 15:16:59 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 13 15:16:59 2012 -0800"
      },
      "message": "Merge \"Fix compilation with Clang.\""
    },
    {
      "commit": "dfef19940f2af5c043e0c6fb49909f093b8ff96b",
      "tree": "d649b2e130720c400641f2ba6fb5c0eba7d130fa",
      "parents": [
        "893eace60992a640064b454d7ad477c1bbffcb1d",
        "c0cb3dc2c16883f19bf1caf652b2fcdb55a1a856"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jan 13 15:16:28 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 13 15:16:29 2012 -0800"
      },
      "message": "Merge \"Fix a few memory leaks in the input dispatcher.\""
    },
    {
      "commit": "bd9d9d3ae2a758139c7dd722c4836a33b9b059a8",
      "tree": "cba8480bd9ec4e280bb0b661c2967389f25d812d",
      "parents": [
        "2ddf6ea6dc67043fb9f91df366187c2153c30d30"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Thu May 12 15:49:07 2011 -0400"
      },
      "committer": {
        "name": "Robert Ly",
        "email": "robertly@google.com",
        "time": "Fri Jan 13 15:12:07 2012 -0800"
      },
      "message": "cherrypick from hc-mr2, updated adk installation instructions Change-Id: I6a0e21a79b81c3383d1fa05a4893bab5626dbe05\n\nChange-Id: I8910c0982ffe2be482f6ae1a49343a1c79be0632\n"
    },
    {
      "commit": "faf354dc7f8065a90174adb6e725603176f0044f",
      "tree": "8b5b80b7b9c082bd226c0e25cc75d862b2db4054",
      "parents": [
        "fcbbaf1d837e96e77d0ec45a050e8a41060ae7f3"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jan 11 09:48:27 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 13 14:58:44 2012 -0800"
      },
      "message": "Use size_t for frame size\n\nexcept in the control block, where we don\u0027t have room.\n\nIn AudioFlinger::ThreadBase::TrackBase::getBuffer,\nread the frame size from control block only once.\n\nChange-Id: Id6c4bccd4ed3e07d91df6bbea43bae45524f9f4e\n"
    },
    {
      "commit": "893eace60992a640064b454d7ad477c1bbffcb1d",
      "tree": "e68f5eda68dc68f30ac12be4993503aab1d91174",
      "parents": [
        "d615f34b565bce98e202397240448845b934e596",
        "b35ab7b72967adcfd01cec483a705dafe8b951d1"
      ],
      "author": {
        "name": "Gilles Debunne",
        "email": "debunne@google.com",
        "time": "Fri Jan 13 14:53:54 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 13 14:53:54 2012 -0800"
      },
      "message": "Merge \"Sub display list in TextView\""
    },
    {
      "commit": "d615f34b565bce98e202397240448845b934e596",
      "tree": "98771683a579df1ec97d0be4713143ae699d74c7",
      "parents": [
        "d36f7d249591559e713a8ca45c6d452c14c94895",
        "3203f2af9425f13ce2c4d99233a5fcdce6a0989c"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jan 13 14:32:50 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 13 14:32:50 2012 -0800"
      },
      "message": "Merge \"media/mtp: Add missing LOCAL_C_INCLUDES\""
    },
    {
      "commit": "d36f7d249591559e713a8ca45c6d452c14c94895",
      "tree": "db8797e003da02474de2c9147af1562f1000beb0",
      "parents": [
        "1e80869133924e1ffff5c10ca787da303fd0b53d",
        "6b4cf07cab1374d71c07d0b70666ad2d781d5be7"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Fri Jan 13 13:57:24 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 13 13:57:24 2012 -0800"
      },
      "message": "Merge \"Add support for new root.expand() calls.\""
    },
    {
      "commit": "1e80869133924e1ffff5c10ca787da303fd0b53d",
      "tree": "4c354abe54c717ec7c52c6a607947e5f57e70ea3",
      "parents": [
        "fcbbaf1d837e96e77d0ec45a050e8a41060ae7f3"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Dec 19 13:55:34 2011 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 13 13:45:39 2012 -0800"
      },
      "message": "Get AID_GRAPHICS from right place\n\nChange-Id: I97b1754dc7260fec083275c71a8f71ebfb2cefa8\n"
    },
    {
      "commit": "fcbbaf1d837e96e77d0ec45a050e8a41060ae7f3",
      "tree": "885ea6d805e09736e18cf5bd60c9ff6c9257234b",
      "parents": [
        "f88d1493aa968d3da551116f076edd5e21f7ccfc",
        "e80341c8c5d0a0e20ff96c3f2314abd9a0fdb0cf"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Jan 13 13:39:28 2012 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Jan 13 13:39:28 2012 -0800"
      },
      "message": "resolved conflicts for merge of e80341c8 to master\n\nChange-Id: I5d2150e20aebb6aba10caa391268c0fdbbf281ef\n"
    },
    {
      "commit": "e80341c8c5d0a0e20ff96c3f2314abd9a0fdb0cf",
      "tree": "e3582eab1afcba23eabd0d1f16f3f71721600dc6",
      "parents": [
        "100651779fde99f7ae2a10719d688b51115f08e9",
        "2ddf6ea6dc67043fb9f91df366187c2153c30d30"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Jan 13 13:12:34 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 13 13:12:34 2012 -0800"
      },
      "message": "am 2ddf6ea6: Merge \"Fix issue with selecting proper JNI libraries\" into ics-mr1\n\n* commit \u00272ddf6ea6dc67043fb9f91df366187c2153c30d30\u0027:\n  Fix issue with selecting proper JNI libraries\n"
    },
    {
      "commit": "2ddf6ea6dc67043fb9f91df366187c2153c30d30",
      "tree": "b866b6c8a7aa1238a18166ed960e51cf60f9cfca",
      "parents": [
        "2e282f35b009fe4c23daca35592dae2032641643",
        "10410fc85248ea77c2c1fbbb666c3fe4fcfef1b6"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Jan 13 13:11:02 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 13 13:11:02 2012 -0800"
      },
      "message": "Merge \"Fix issue with selecting proper JNI libraries\" into ics-mr1"
    },
    {
      "commit": "f88d1493aa968d3da551116f076edd5e21f7ccfc",
      "tree": "553a98239d2e3d547da50e658c57a708efc17aad",
      "parents": [
        "31cef1451e84e613825a78716f4b8cedd5ae9084",
        "100651779fde99f7ae2a10719d688b51115f08e9"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jan 13 13:01:48 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 13 13:01:48 2012 -0800"
      },
      "message": "am 10065177: am 2e282f35: Merge \"Fix issue #5823276: home repaints after full-screen app is exited\" into ics-mr1\n\n* commit \u0027100651779fde99f7ae2a10719d688b51115f08e9\u0027:\n  Fix issue #5823276: home repaints after full-screen app is exited\n"
    },
    {
      "commit": "100651779fde99f7ae2a10719d688b51115f08e9",
      "tree": "40c5f42a0944ce40e5a217387be522924f5b584d",
      "parents": [
        "bcce2a195390c3f5fc235c3fa551d3d725a7f88a",
        "2e282f35b009fe4c23daca35592dae2032641643"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jan 13 12:58:45 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 13 12:58:45 2012 -0800"
      },
      "message": "am 2e282f35: Merge \"Fix issue #5823276: home repaints after full-screen app is exited\" into ics-mr1\n\n* commit \u00272e282f35b009fe4c23daca35592dae2032641643\u0027:\n  Fix issue #5823276: home repaints after full-screen app is exited\n"
    },
    {
      "commit": "2e282f35b009fe4c23daca35592dae2032641643",
      "tree": "8dc3befb0826cc22653a327281f86ebc904647e9",
      "parents": [
        "da7b7700d0f499ac9b0bac51365b3da235388ae6",
        "01b02a734d2988c22b00f5df6346ad03d8bf52b6"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jan 13 12:56:40 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 13 12:56:40 2012 -0800"
      },
      "message": "Merge \"Fix issue #5823276: home repaints after full-screen app is exited\" into ics-mr1"
    },
    {
      "commit": "31cef1451e84e613825a78716f4b8cedd5ae9084",
      "tree": "ca31d9a6402db881fd75a68a2ac124f724e9dad0",
      "parents": [
        "ecce05fac6600d01b5dca1cbf6345837e2840c5a",
        "bcce2a195390c3f5fc235c3fa551d3d725a7f88a"
      ],
      "author": {
        "name": "Bart Sears",
        "email": "bsears@google.com",
        "time": "Fri Jan 13 12:37:53 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 13 12:37:53 2012 -0800"
      },
      "message": "am bcce2a19: am da7b7700: Merge \"Update to latest version of Roboto\" into ics-mr1\n\n* commit \u0027bcce2a195390c3f5fc235c3fa551d3d725a7f88a\u0027:\n  Update to latest version of Roboto\n"
    },
    {
      "commit": "bcce2a195390c3f5fc235c3fa551d3d725a7f88a",
      "tree": "f340478f9efd76176136a4860de22729709671c5",
      "parents": [
        "89620c5d982858f590f3740169c9f69ee380be3e",
        "da7b7700d0f499ac9b0bac51365b3da235388ae6"
      ],
      "author": {
        "name": "Bart Sears",
        "email": "bsears@google.com",
        "time": "Fri Jan 13 12:35:07 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 13 12:35:07 2012 -0800"
      },
      "message": "am da7b7700: Merge \"Update to latest version of Roboto\" into ics-mr1\n\n* commit \u0027da7b7700d0f499ac9b0bac51365b3da235388ae6\u0027:\n  Update to latest version of Roboto\n"
    },
    {
      "commit": "da7b7700d0f499ac9b0bac51365b3da235388ae6",
      "tree": "3814f483de0bca799e8a348ff7b87134ab1b7e8b",
      "parents": [
        "2cf18d28785fdd188641867503586627cb212302",
        "6c16a58b2c59a78c7cd3e23bd7d85eab4c1a007b"
      ],
      "author": {
        "name": "Bart Sears",
        "email": "bsears@google.com",
        "time": "Fri Jan 13 12:32:43 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 13 12:32:43 2012 -0800"
      },
      "message": "Merge \"Update to latest version of Roboto\" into ics-mr1"
    },
    {
      "commit": "ecce05fac6600d01b5dca1cbf6345837e2840c5a",
      "tree": "0c7831bc04f92baecf94b327bb8b6d77abd11b7d",
      "parents": [
        "60c6b082eaa534402911adb2a5e76618e6e0e49d",
        "89620c5d982858f590f3740169c9f69ee380be3e"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jan 13 12:18:55 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 13 12:18:55 2012 -0800"
      },
      "message": "am 89620c5d: am 2cf18d28: Merge \"Streamline package-installed handling by the Backup Manager\" into ics-mr1\n\n* commit \u002789620c5d982858f590f3740169c9f69ee380be3e\u0027:\n  Streamline package-installed handling by the Backup Manager\n"
    },
    {
      "commit": "60c6b082eaa534402911adb2a5e76618e6e0e49d",
      "tree": "d890a1ecd39a1adaa2c2f6ad4983c993cbea17cb",
      "parents": [
        "70f52e6d795f1cd4d23efcbdc2b9e2f9d0c22eb6",
        "44d79747b5e434e8f43928b5548442c65e40e5c3"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jan 13 12:13:52 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 13 12:13:52 2012 -0800"
      },
      "message": "Merge \"Remove unused parameter\""
    },
    {
      "commit": "44d79747b5e434e8f43928b5548442c65e40e5c3",
      "tree": "76c19bd0457742cb5a83cc3c03cf818b4308a07f",
      "parents": [
        "a8f75fe9a9753178e809666f9e88c4734a911ed5"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jan 13 12:12:09 2012 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jan 13 12:12:09 2012 -0800"
      },
      "message": "Remove unused parameter\n\nChange-Id: I0896b2cdb9f1fa9c5e191e4ea425e22ac6f10f29\n"
    },
    {
      "commit": "89620c5d982858f590f3740169c9f69ee380be3e",
      "tree": "6f049457640bb8d7e78986c3211971908cb0bd8d",
      "parents": [
        "e65723044d6ad7fb2ff1bb760100a3cf40c6c5f2",
        "2cf18d28785fdd188641867503586627cb212302"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jan 13 12:08:09 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 13 12:08:09 2012 -0800"
      },
      "message": "am 2cf18d28: Merge \"Streamline package-installed handling by the Backup Manager\" into ics-mr1\n\n* commit \u00272cf18d28785fdd188641867503586627cb212302\u0027:\n  Streamline package-installed handling by the Backup Manager\n"
    },
    {
      "commit": "2cf18d28785fdd188641867503586627cb212302",
      "tree": "7b9d010b690c7ada4c3b012b244748035d4b128f",
      "parents": [
        "2753e826b2d0e7a4c5f80c3e825afa4aa579942b",
        "0bacfd2ba68d21a68a3df345b830bc2a1e515b5a"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jan 13 11:49:20 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 13 11:49:20 2012 -0800"
      },
      "message": "Merge \"Streamline package-installed handling by the Backup Manager\" into ics-mr1"
    },
    {
      "commit": "6c16a58b2c59a78c7cd3e23bd7d85eab4c1a007b",
      "tree": "82dcbd64bc43b7f5044eb82853d19560e83e4387",
      "parents": [
        "dacbf67ab915fa8b987f6fb9f044160af92652cd"
      ],
      "author": {
        "name": "Bart Sears",
        "email": "bsears@google.com",
        "time": "Fri Jan 13 11:44:23 2012 -0800"
      },
      "committer": {
        "name": "Bart Sears",
        "email": "bsears@google.com",
        "time": "Fri Jan 13 11:44:23 2012 -0800"
      },
      "message": "Update to latest version of Roboto\n\nBug: 5527891\n\nU+0125 (h with Circumflex):  Moved the Circumflex to not stick out\n       beyond the left edge of the \"h\"\nU+0300, U+0301, U+0303, U+0309, U+030F, U+0323: Move to the left so\n       that they can be composited.\nU+047C (Capital Omega with Titlo): Fixed the Titlo accent\nU+047D (Small Omega with Titlo): Fixed the Titlo accent\nU+048E (Capital ER with tick): Changed the tick to be diagonal\nU+2248 (Almost equal to):  Added the glyph\n\nChange-Id: Ibcadcd008a58f42d8bd4238d768101d8bf726ff6\n"
    },
    {
      "commit": "70f52e6d795f1cd4d23efcbdc2b9e2f9d0c22eb6",
      "tree": "1a19ccfb290edeaec2a0d39c340bb3600a8e0c8d",
      "parents": [
        "134a68356534951f5a6792e30f61db518c6b6ad8",
        "e65723044d6ad7fb2ff1bb760100a3cf40c6c5f2"
      ],
      "author": {
        "name": "John Huang",
        "email": "jsh@google.com",
        "time": "Fri Jan 13 11:41:01 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 13 11:41:01 2012 -0800"
      },
      "message": "am e6572304: am 2753e826: Merge \"Fix teardown of secondary connections on CDMA\" into ics-mr1\n\n* commit \u0027e65723044d6ad7fb2ff1bb760100a3cf40c6c5f2\u0027:\n  Fix teardown of secondary connections on CDMA\n"
    },
    {
      "commit": "e65723044d6ad7fb2ff1bb760100a3cf40c6c5f2",
      "tree": "67906751c218d264f3eeab7da9946de4952aeabb",
      "parents": [
        "c0ef548c748f0c3bc917eff7b50941f9cbe1df86",
        "2753e826b2d0e7a4c5f80c3e825afa4aa579942b"
      ],
      "author": {
        "name": "John Huang",
        "email": "jsh@google.com",
        "time": "Fri Jan 13 11:39:03 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 13 11:39:03 2012 -0800"
      },
      "message": "am 2753e826: Merge \"Fix teardown of secondary connections on CDMA\" into ics-mr1\n\n* commit \u00272753e826b2d0e7a4c5f80c3e825afa4aa579942b\u0027:\n  Fix teardown of secondary connections on CDMA\n"
    },
    {
      "commit": "2753e826b2d0e7a4c5f80c3e825afa4aa579942b",
      "tree": "4ed529f0af2eb922c13c1cbabc53366a7d7595ad",
      "parents": [
        "62472581c30a3202b7bbd86e644b4346d5a4e65c",
        "2fceb7fec09f903c8505f0889a09d431e7b743f1"
      ],
      "author": {
        "name": "John Huang",
        "email": "jsh@google.com",
        "time": "Fri Jan 13 11:37:15 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 13 11:37:15 2012 -0800"
      },
      "message": "Merge \"Fix teardown of secondary connections on CDMA\" into ics-mr1"
    },
    {
      "commit": "134a68356534951f5a6792e30f61db518c6b6ad8",
      "tree": "bcdce00fe315829572d50b110ac0292bf8bd4224",
      "parents": [
        "3e9aa56e563ac5a876bb23c0377ccd4698709630",
        "c0ef548c748f0c3bc917eff7b50941f9cbe1df86"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jan 13 11:28:09 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 13 11:28:09 2012 -0800"
      },
      "message": "am c0ef548c: am d75961ee: am b4cee0f8: Merge \"stagefright aacenc/amrwbenc: Remove trailing whitespace\"\n\n* commit \u0027c0ef548c748f0c3bc917eff7b50941f9cbe1df86\u0027:\n  stagefright aacenc/amrwbenc: Remove trailing whitespace\n"
    },
    {
      "commit": "c0ef548c748f0c3bc917eff7b50941f9cbe1df86",
      "tree": "6de11c7ff704f0263d293ff884833faf62029e3f",
      "parents": [
        "7da0abc52e3cbdeeb7fae0d22895710254ef9ec4",
        "d75961eecbfeb3f7e027a2a1f6011a26dd7d2d2d"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jan 13 11:25:09 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 13 11:25:09 2012 -0800"
      },
      "message": "am d75961ee: am b4cee0f8: Merge \"stagefright aacenc/amrwbenc: Remove trailing whitespace\"\n\n* commit \u0027d75961eecbfeb3f7e027a2a1f6011a26dd7d2d2d\u0027:\n  stagefright aacenc/amrwbenc: Remove trailing whitespace\n"
    },
    {
      "commit": "d75961eecbfeb3f7e027a2a1f6011a26dd7d2d2d",
      "tree": "15933ecf64afb8d8f08fc9426b0ba0fbfcb2e81c",
      "parents": [
        "baaf136cd279e22a7ae4b551ebd5fad23b84996d",
        "b4cee0f871e0f5a2abd6c6f05b65710b69423f2c"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jan 13 11:22:08 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 13 11:22:08 2012 -0800"
      },
      "message": "am b4cee0f8: Merge \"stagefright aacenc/amrwbenc: Remove trailing whitespace\"\n\n* commit \u0027b4cee0f871e0f5a2abd6c6f05b65710b69423f2c\u0027:\n  stagefright aacenc/amrwbenc: Remove trailing whitespace\n"
    },
    {
      "commit": "3e9aa56e563ac5a876bb23c0377ccd4698709630",
      "tree": "72150539e37d1d8cc50e285174577c26df5396e1",
      "parents": [
        "ade3289beefd7acb318ccb937e1e1615012a003e",
        "7da0abc52e3cbdeeb7fae0d22895710254ef9ec4"
      ],
      "author": {
        "name": "Robert Ly",
        "email": "robertly@google.com",
        "time": "Fri Jan 13 11:20:43 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 13 11:20:43 2012 -0800"
      },
      "message": "am 7da0abc5: am 62472581: Merge \"cherrypick from master - add overview description for RS API reference Change-Id: Id5554c607ad4c435f92bfa939e4ce4833a638f62\" into ics-mr1\n\n* commit \u00277da0abc52e3cbdeeb7fae0d22895710254ef9ec4\u0027:\n  cherrypick from master - add overview description for RS API reference Change-Id: Id5554c607ad4c435f92bfa939e4ce4833a638f62\n"
    },
    {
      "commit": "be0cf70dc3ff77661dbdf416d415757f2500e889",
      "tree": "cf9f9bf722eb413e1454144387b53e369c072b90",
      "parents": [
        "722c8c02f1e17c232b041440ea97a2fda336a6e8"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Fri Jan 13 11:13:13 2012 -0800"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Fri Jan 13 11:19:05 2012 -0800"
      },
      "message": "docs: emphasize qualifier order and mention implicit version qualifer\n\nChange-Id: I6e1d174a27ccbdc5179bd3d06de0a69c17a5cfcc\n"
    },
    {
      "commit": "7da0abc52e3cbdeeb7fae0d22895710254ef9ec4",
      "tree": "55e9f22bb6b7a6e39de686bf067ed4e48021df80",
      "parents": [
        "cea3892bd7fdf605d51a7f99aa0d20dfbea80dd3",
        "62472581c30a3202b7bbd86e644b4346d5a4e65c"
      ],
      "author": {
        "name": "Robert Ly",
        "email": "robertly@google.com",
        "time": "Fri Jan 13 11:09:27 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 13 11:09:27 2012 -0800"
      },
      "message": "am 62472581: Merge \"cherrypick from master - add overview description for RS API reference Change-Id: Id5554c607ad4c435f92bfa939e4ce4833a638f62\" into ics-mr1\n\n* commit \u002762472581c30a3202b7bbd86e644b4346d5a4e65c\u0027:\n  cherrypick from master - add overview description for RS API reference Change-Id: Id5554c607ad4c435f92bfa939e4ce4833a638f62\n"
    },
    {
      "commit": "ade3289beefd7acb318ccb937e1e1615012a003e",
      "tree": "72150539e37d1d8cc50e285174577c26df5396e1",
      "parents": [
        "6a78cd85867c5f22e4e82259b81fab46088331ad",
        "e1c4a0b31bfbaef85c59f2dc346cfec71b0686c3"
      ],
      "author": {
        "name": "Alon Albert",
        "email": "aalbert@google.com",
        "time": "Fri Jan 13 10:35:53 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 13 10:35:53 2012 -0800"
      },
      "message": "Merge \"New command to request a sync\""
    },
    {
      "commit": "bc1d77b6cbce23fbe25f7231651037ae195bc90e",
      "tree": "6936dbe05b0edbefe69c5c3452ba64ea72a2575a",
      "parents": [
        "6a78cd85867c5f22e4e82259b81fab46088331ad"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 12 16:38:12 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 13 10:20:14 2012 -0800"
      },
      "message": "Use audio_stream_type_t consistently\n\nAt native level it was a mixture of audio_stream_type_t, int, uint32_t,\nand uint8_t.  Java is still int.  Also fixed a couple of hard-coded -1\ninstead of AUDIO_STREAM_DEFAULT, and in startToneCommand a hard-coded 0\ninstead of AUDIO_STREAM_VOICE_CALL.\n\nChange-Id: Ia33bfd70edca8c2daec9052984b369cd8eee2a83\n"
    },
    {
      "commit": "e1c4a0b31bfbaef85c59f2dc346cfec71b0686c3",
      "tree": "4794e9c2730688ee9f757b848f188cf2c818255d",
      "parents": [
        "7a939077bd14521c7d351af98df7ed75a8ec9c15"
      ],
      "author": {
        "name": "Alon Albert",
        "email": "aalbert@google.com",
        "time": "Fri Jan 13 09:35:35 2012 -0800"
      },
      "committer": {
        "name": "Alon Albert",
        "email": "aalbert@google.com",
        "time": "Fri Jan 13 10:19:24 2012 -0800"
      },
      "message": "New command to request a sync\n\nChange-Id: I523e8ff4814940197d0b9a362a3920e69feae6fd\n"
    },
    {
      "commit": "62472581c30a3202b7bbd86e644b4346d5a4e65c",
      "tree": "04f693293f01764de7452776fa826a9e8c2aadc1",
      "parents": [
        "722c8c02f1e17c232b041440ea97a2fda336a6e8",
        "0272f1dfd797f44db7b528f0f2c0b19b200256a6"
      ],
      "author": {
        "name": "Robert Ly",
        "email": "robertly@google.com",
        "time": "Fri Jan 13 10:13:14 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 13 10:13:14 2012 -0800"
      },
      "message": "Merge \"cherrypick from master - add overview description for RS API reference Change-Id: Id5554c607ad4c435f92bfa939e4ce4833a638f62\" into ics-mr1"
    },
    {
      "commit": "0272f1dfd797f44db7b528f0f2c0b19b200256a6",
      "tree": "a00521e6cec17c38eacf298212d5e6fb6a4e8171",
      "parents": [
        "dacbf67ab915fa8b987f6fb9f044160af92652cd"
      ],
      "author": {
        "name": "Robert Ly",
        "email": "robertly@google.com",
        "time": "Fri Jan 13 10:07:20 2012 -0800"
      },
      "committer": {
        "name": "Robert Ly",
        "email": "robertly@google.com",
        "time": "Fri Jan 13 10:07:20 2012 -0800"
      },
      "message": "cherrypick from master - add overview description for RS API reference Change-Id: Id5554c607ad4c435f92bfa939e4ce4833a638f62\n\nChange-Id: Iff4b4bd171818208bb3be46dd3ef7e91b6cbd80f\n"
    },
    {
      "commit": "b4cee0f871e0f5a2abd6c6f05b65710b69423f2c",
      "tree": "7a71ba9c841b5be320133967585d028c1ea4e66b",
      "parents": [
        "0a3fcc3eed15ed50bcaa7808b6ccb170fb137210",
        "62a62ef415bd1db5f5862e5ef1cc127ccd6465b8"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jan 13 07:48:55 2012 -0800"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 13 07:48:56 2012 -0800"
      },
      "message": "Merge \"stagefright aacenc/amrwbenc: Remove trailing whitespace\""
    },
    {
      "commit": "3203f2af9425f13ce2c4d99233a5fcdce6a0989c",
      "tree": "26386c41641030d3efcbf375ca8589f0ce935eb5",
      "parents": [
        "e00274a5ab8d16d1050adda84412016c01a469b3"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jan 13 14:17:29 2012 +0100"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jan 13 14:21:42 2012 +0100"
      },
      "message": "media/mtp: Add missing LOCAL_C_INCLUDES\n\nOne of the source files here is including \u003ccutils/tztime.h\u003e which\nitself includes \u003cbionic_time.h\u003e, a private C library header used\nto define the strftime_tz() extension (which used to be declared\nin \u003ctime.h\u003e but was moved there instead).\n\nAdd a missing C include path to let our code compile as usual.\n\nChange-Id: I6aac2f1d3d15ad182679c81ff3f4febff74eb671\n"
    },
    {
      "commit": "0922328270d2ec55a7f9407dfaac2d482e3f59cb",
      "tree": "78372601dfa4e46926e1d65af7186b962752047f",
      "parents": [
        "e00274a5ab8d16d1050adda84412016c01a469b3"
      ],
      "author": {
        "name": "Evgeniy Stepanov",
        "email": "eugenis@google.com",
        "time": "Fri Jan 13 15:33:54 2012 +0400"
      },
      "committer": {
        "name": "Evgeniy Stepanov",
        "email": "eugenis@google.com",
        "time": "Fri Jan 13 15:33:54 2012 +0400"
      },
      "message": "Fix compilation with Clang.\n\nwarning: extraneous template parameter list in template specialization\ntemplate\u003c\u003e\n\nChange-Id: If3e3e1d06a018343b40ac0984dfd9ecc12629f8d\n"
    },
    {
      "commit": "6a78cd85867c5f22e4e82259b81fab46088331ad",
      "tree": "b03aaf430edb7350e4fa881578b876b752a8e8d3",
      "parents": [
        "73f22cd4306bfc640b7d7656732e1c26e83a0895",
        "191713a51f0292b7fce72cc7e16cfd0f0204a0c7"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu Jan 12 21:00:15 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 12 21:00:15 2012 -0800"
      },
      "message": "Merge \"Move where prop dev.bootcomplete is set\""
    },
    {
      "commit": "73f22cd4306bfc640b7d7656732e1c26e83a0895",
      "tree": "a48178d7be752d216b5d25d3016f570d8e4a9a75",
      "parents": [
        "a8f75fe9a9753178e809666f9e88c4734a911ed5",
        "4b45522304b95204d932cbce30670f3b9afb5734"
      ],
      "author": {
        "name": "Bart Sears",
        "email": "bsears@google.com",
        "time": "Thu Jan 12 19:20:05 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 12 19:20:05 2012 -0800"
      },
      "message": "Merge \"Add glyphs for Vertical Text\""
    },
    {
      "commit": "6b4cf07cab1374d71c07d0b70666ad2d781d5be7",
      "tree": "037ce84414aa6687756da29f4d06431739881e38",
      "parents": [
        "a9830d430ac36e22b53a1c2d405e4315396a8ab7"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Thu Jan 12 18:56:23 2012 -0800"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Thu Jan 12 18:56:43 2012 -0800"
      },
      "message": "Add support for new root.expand() calls.\n\nBUG\u003d5444144\n\nChange-Id: I9ab942561a03e9f837a3199457259bb3e07ac76f\n"
    },
    {
      "commit": "a8f75fe9a9753178e809666f9e88c4734a911ed5",
      "tree": "74f0244fe16cbd22f3fc9a690e9492d83cbd1468",
      "parents": [
        "5a5b84c3e1e6381375a9cb02ee4972e5348668a1",
        "87c6ea6eedbe920774e55175e921b229c4f74cc8"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jan 12 18:49:07 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 12 18:49:07 2012 -0800"
      },
      "message": "Merge \"fix a bug with vsync management\""
    },
    {
      "commit": "c0cb3dc2c16883f19bf1caf652b2fcdb55a1a856",
      "tree": "fb6e5d716f4c07e49463aba171d0201fcd777347",
      "parents": [
        "dc89357810976556d20483c7fe161b68ed4d2acf"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jan 12 18:30:12 2012 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jan 12 18:30:12 2012 -0800"
      },
      "message": "Fix a few memory leaks in the input dispatcher.\n\nBug: 5862398\nChange-Id: Iae3284a223b8307f541a7987f90f5b28e70b9244\n"
    },
    {
      "commit": "5a5b84c3e1e6381375a9cb02ee4972e5348668a1",
      "tree": "4c99853ed954f7acd1ff619991a56f8705f2a2c4",
      "parents": [
        "cf1290271922dab2ad9fd0b155a00a5fe0597ba8",
        "c8f4183669c7cf166ced70bf60ad056482f3390b"
      ],
      "author": {
        "name": "Ken Wakasa",
        "email": "kwakasa@google.com",
        "time": "Thu Jan 12 18:15:42 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 12 18:15:42 2012 -0800"
      },
      "message": "Merge \"Bring LatinIME\u0027s privateImeOptions \"forceAscii\" to a formal public API\""
    },
    {
      "commit": "191713a51f0292b7fce72cc7e16cfd0f0204a0c7",
      "tree": "d8fc9aae23ff85cd5f2c88d3c4ca2fad36642283",
      "parents": [
        "dc89357810976556d20483c7fe161b68ed4d2acf"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu Jan 12 12:02:22 2012 -0800"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu Jan 12 17:39:40 2012 -0800"
      },
      "message": "Move where prop dev.bootcomplete is set\n\nCurrently test harnesses depends on this flag to determine when\nthe system is fully booted, and start dismissing keyguard, launch\ntests etc. However, the flag is usually set when the boot animation\nis still running, and typically about 5 seconds before keyguard is\nup etc. Moving to to when BOOT_COMPLETE broadcast is sent makes it\nwork more reliable.\n\nWe also discussed about using sys.boot_completed instead,\nunfortunately this flag is not in all platform and we still have\nbackwards compatibility to maintain in order to drive unbundled\ntests.\n\nChange-Id: I99b084cd70d8e4bcfe490ddeca868136d32712e2\n"
    },
    {
      "commit": "cf1290271922dab2ad9fd0b155a00a5fe0597ba8",
      "tree": "9eef5c5473332b8ddf9ce4f334b5b308927b6470",
      "parents": [
        "b5c6ff59930a4f7b7efbcfac143fd4aed4315cb9",
        "27096822e2da828e0f41c0337cf6f0f11e5bace5"
      ],
      "author": {
        "name": "Alon Albert",
        "email": "aalbert@google.com",
        "time": "Thu Jan 12 17:39:37 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 12 17:39:37 2012 -0800"
      },
      "message": "Merge \"Log global autosync on dumpsys Protect dumpsys from divide by zero\""
    },
    {
      "commit": "2fceb7fec09f903c8505f0889a09d431e7b743f1",
      "tree": "92395ea3ae4733927d329f19809186edbd7da363",
      "parents": [
        "4b1261f17ae2a0180be09b1c987ec7e70b2b46a7"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Jan 12 17:38:54 2012 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Jan 12 17:38:54 2012 -0800"
      },
      "message": "Fix teardown of secondary connections on CDMA\n\nRestores functionallity from Gingerbread.  We should tear down when the\nenabledcount goes to zero, but we should always notify and attempt to\nswitch back to default when indicated.\n\nbug:5830081\nChange-Id: Ib8469bb5369da21e8cc05fb755b2d7e24c8e02a6\n"
    },
    {
      "commit": "b5c6ff59930a4f7b7efbcfac143fd4aed4315cb9",
      "tree": "46e68851f9af64e7c6c1ad32f443dcdfc022ec43",
      "parents": [
        "dc89357810976556d20483c7fe161b68ed4d2acf",
        "d1ba6ed94543b6d2af666e01f4ffd29412511400"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jan 12 16:56:58 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 12 16:56:58 2012 -0800"
      },
      "message": "Merge \"Separate sniffing from session initialization\""
    },
    {
      "commit": "dc89357810976556d20483c7fe161b68ed4d2acf",
      "tree": "a573eedabe811f2a83ad32b8076eeb4861fe250a",
      "parents": [
        "c8ac86ba6baa329949137ca8dde1c3d940ff25cd",
        "791a6331e3ca21e3b6cdbfee62348e45786ca3ea"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Thu Jan 12 16:47:00 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 12 16:47:00 2012 -0800"
      },
      "message": "Merge \"Getting rid of hack where the wallpaper offset was being deferred\""
    },
    {
      "commit": "c8f4183669c7cf166ced70bf60ad056482f3390b",
      "tree": "b3d179bb4da5dc0b8db895a12e158395ce2237eb",
      "parents": [
        "e00274a5ab8d16d1050adda84412016c01a469b3"
      ],
      "author": {
        "name": "Ken Wakasa",
        "email": "kwakasa@google.com",
        "time": "Thu Jan 12 22:51:55 2012 +0900"
      },
      "committer": {
        "name": "Ken Wakasa",
        "email": "kwakasa@google.com",
        "time": "Fri Jan 13 09:45:41 2012 +0900"
      },
      "message": "Bring LatinIME\u0027s privateImeOptions \"forceAscii\" to a formal public API\n\nbug: 5850605\nChange-Id: I6ab6076909c735a3e0729b457de68d0b5301184d\n"
    },
    {
      "commit": "4b45522304b95204d932cbce30670f3b9afb5734",
      "tree": "8d95df88816e3f29dcbce8ca4c6a3b0b133e50a4",
      "parents": [
        "cf5cecd854376b1a08b3f28a34e7555b44c594f3"
      ],
      "author": {
        "name": "Bart Sears",
        "email": "bsears@google.com",
        "time": "Thu Jan 12 16:42:32 2012 -0800"
      },
      "committer": {
        "name": "Bart Sears",
        "email": "bsears@google.com",
        "time": "Thu Jan 12 16:42:32 2012 -0800"
      },
      "message": "Add glyphs for Vertical Text\n\nAdds U+FE10-U+FE19, U+2022, U+25C9, U+FE45, U+FE46\n\nAlso has an updated version of U+59A9 (this is a bug fix\nunrelated to the new Vertical Text glyphs).\n\nThis is the second drop from Monotype.  The first drop was\nmissing U+FE11 and U+FE13 and had a few other minor issues.\n\nBug: 5472953\nChange-Id: I270ae3c88bf8ba227de58cdce7321464ca708308\n"
    },
    {
      "commit": "d1ba6ed94543b6d2af666e01f4ffd29412511400",
      "tree": "10d0b29f0a9b7b08cccae0a907595cc8f96f3d4a",
      "parents": [
        "1f7b23dda211f419f0a140b871de44339c4a10c7"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jan 10 08:24:37 2012 -0800"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jan 12 16:25:12 2012 -0800"
      },
      "message": "Separate sniffing from session initialization\n\nThis avoid lengthy/duplicate sniffing for drm plugins when a decrypt session is opened\n\no The change is backward compatibile in that no update is required\n  for existing drm plug-ins if they do not plan to provide separate\n  sniffer/extractor\n\nrelated-to-bug: 5725548\n\nChange-Id: I7fc4caf82d77472da4e2bc7b5d31060fb54fd84c\n"
    },
    {
      "commit": "0bacfd2ba68d21a68a3df345b830bc2a1e515b5a",
      "tree": "4ba0f1c83b94a9dfe2df611cb83f10c346e00cab",
      "parents": [
        "51938e26913a98aa8de0292e9be8ea9d9ebc67c3"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jan 11 14:41:19 2012 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Jan 12 16:15:09 2012 -0800"
      },
      "message": "Streamline package-installed handling by the Backup Manager\n\nIn particular, don\u0027t do O(asec_apps * installed_apps) work during the\nbroadcast receiver\u0027s operation.  On devices with many installed apps\nand a large number of them moved to ASECs, this was causing the system\nprocess to become unresponsive and the watchdog to fire -- which in turn\nwould initiate a restart loop, as the same package-installed broadcast\nwould then be issued again once the package manager rescanned the ASEC\ncontainers, ad infinitum.  With this change, the expensive call to the\npackage manager is only made once rather than asec_apps times.\n\nBug 5850283\n\nChange-Id: I14e280ea1fa6af19cebc58869a20fbb599c92c8c\n"
    },
    {
      "commit": "87c6ea6eedbe920774e55175e921b229c4f74cc8",
      "tree": "7787bb5346646a57e1bfd5102cbdf0d68e7c0ad1",
      "parents": [
        "2fdc357bc66b97614455c5148562a5dfb650c1b7"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jan 12 16:13:54 2012 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jan 12 16:13:54 2012 -0800"
      },
      "message": "fix a bug with vsync management\n\nthis bug was introduced recently. we were signaling *all* clients\nregardless of the vsync rate.\n\nChange-Id: I2ae8a6c820a390f602382596ba75e8ed737fb2ef\n"
    },
    {
      "commit": "b35ab7b72967adcfd01cec483a705dafe8b951d1",
      "tree": "3c82a2653c3a9854ddcb92f4528ddb8e464f54e6",
      "parents": [
        "cf5cecd854376b1a08b3f28a34e7555b44c594f3"
      ],
      "author": {
        "name": "Gilles Debunne",
        "email": "debunne@google.com",
        "time": "Mon Dec 05 15:54:00 2011 -0800"
      },
      "committer": {
        "name": "Gilles Debunne",
        "email": "debunne@google.com",
        "time": "Thu Jan 12 15:56:37 2012 -0800"
      },
      "message": "Sub display list in TextView\n\nTextView uses a sub-display list to \u0027cache\u0027 the rendering of its\ntext. This saves time when drawing an editable text, where the blinking\ncursor forces a re-draw twice per second, which creates pauses during\nscrolling.\n\nAdded a sub-display list invalidation when an appearance span is\nmodified/added/removed.\n\nAlso added an invalidation of the display list when selection range\nis changed.\n\nChange-Id: I41e8068a12902b8a745c5bb77de8c77def76a270\n"
    },
    {
      "commit": "c8ac86ba6baa329949137ca8dde1c3d940ff25cd",
      "tree": "5f9e696711278655752f8a57d5e707122419f770",
      "parents": [
        "bd2ff3666b6e923d5df074f614f350304f2c89f2",
        "cea3892bd7fdf605d51a7f99aa0d20dfbea80dd3"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu Jan 12 15:49:34 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 12 15:49:34 2012 -0800"
      },
      "message": "am cea3892b: am 722c8c02: Merge \"docs: make AD logo clickable on home page\" into ics-mr1\n\n* commit \u0027cea3892bd7fdf605d51a7f99aa0d20dfbea80dd3\u0027:\n  docs: make AD logo clickable on home page\n"
    },
    {
      "commit": "6ceca588a268ed8fef4b32df278ca7567e608510",
      "tree": "ae3d0bf0aff3d4fb0b175a8ed0443b8f72b8b410",
      "parents": [
        "d3be0a76e46584357dbb77fcd200128d0d7dc9a8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jan 10 15:24:26 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jan 12 15:48:20 2012 -0800"
      },
      "message": "Update notification documentation to follow current guidelines.\n\nThe documentation is now consistent with the current UI guidelines\nfor handling notifications, and includes complete sample code showing\nthe correct way to do this.\n\nChange-Id: I68f0afc62c2af164c3205535e62093679e2a256a\n"
    },
    {
      "commit": "cea3892bd7fdf605d51a7f99aa0d20dfbea80dd3",
      "tree": "5b35f2b9ec1dbcf888114a7935093812e2d057ad",
      "parents": [
        "1e9e7f76d5e6187befaf96eece258c27fd08bdc5",
        "722c8c02f1e17c232b041440ea97a2fda336a6e8"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu Jan 12 15:47:15 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 12 15:47:15 2012 -0800"
      },
      "message": "am 722c8c02: Merge \"docs: make AD logo clickable on home page\" into ics-mr1\n\n* commit \u0027722c8c02f1e17c232b041440ea97a2fda336a6e8\u0027:\n  docs: make AD logo clickable on home page\n"
    },
    {
      "commit": "722c8c02f1e17c232b041440ea97a2fda336a6e8",
      "tree": "7a0aa94b0296bf28c3413050e6db9dd8bfb90b15",
      "parents": [
        "ff321d496a6a07fc667112ecfe4d9a107d44147b",
        "8b56d20e300a42249375a60b929e84283cc2dedb"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu Jan 12 15:44:53 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 12 15:44:53 2012 -0800"
      },
      "message": "Merge \"docs: make AD logo clickable on home page\" into ics-mr1"
    },
    {
      "commit": "bd2ff3666b6e923d5df074f614f350304f2c89f2",
      "tree": "28cfdd70a714d871670e2f9205b13eda0b5bd444",
      "parents": [
        "986f00faf44b0d9ed5b1384746ca4254037fc180",
        "3d0edd31d8082b7b8b2cdee5efda216179f677b5"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Jan 12 15:36:58 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 12 15:36:58 2012 -0800"
      },
      "message": "Merge \"AccessibilityService description not internationalized.\""
    },
    {
      "commit": "8b56d20e300a42249375a60b929e84283cc2dedb",
      "tree": "3770e95bdeec0fae31c9566775d7f6b934bc1015",
      "parents": [
        "755a967bdc2cddb6fbadd10e357f8a5328520061"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu Jan 12 15:33:38 2012 -0800"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu Jan 12 15:33:38 2012 -0800"
      },
      "message": "docs: make AD logo clickable on home page\n\nChange-Id: Ib8a94280d4183b82bcbc5969f2dff1a67c1ecc53\n"
    },
    {
      "commit": "986f00faf44b0d9ed5b1384746ca4254037fc180",
      "tree": "ee51ba282c84cc22d2391ff307fdfda10af9b92e",
      "parents": [
        "156936975dec49022681f218b8221ef9e3d87011",
        "e5360fbf3efe85427f7e7f59afe7bbeddb4949ac"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jan 12 15:03:26 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 12 15:03:26 2012 -0800"
      },
      "message": "Merge \"Rewrite SQLite database wrappers.\""
    },
    {
      "commit": "156936975dec49022681f218b8221ef9e3d87011",
      "tree": "b0d7d576420b81efcce58880f83fc40554e63a8d",
      "parents": [
        "18c415c3c87da27ceca27ce8df6e2c816d6a2fa3",
        "3f11f302c7e8c4ba513f6c559f33db96319c3825"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jan 12 14:59:30 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 12 14:59:30 2012 -0800"
      },
      "message": "Merge \"Fix indentation and whitespace.\""
    },
    {
      "commit": "18c415c3c87da27ceca27ce8df6e2c816d6a2fa3",
      "tree": "c01bc46ec47dc5ea17b65efeb0742fb56cf30de5",
      "parents": [
        "5d134343ca9f3ce28704a7fa69a11e4f4d0d25a4",
        "5a05c23f3d6a1a895bf5917aacd8bd9a5302ba00"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jan 12 14:59:11 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 12 14:59:11 2012 -0800"
      },
      "message": "Merge \"Clean up database tests a little bit.\""
    },
    {
      "commit": "e5360fbf3efe85427f7e7f59afe7bbeddb4949ac",
      "tree": "53d32881de72a9b4b018f01dade23373cb65cc88",
      "parents": [
        "3f11f302c7e8c4ba513f6c559f33db96319c3825"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Oct 31 17:48:13 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jan 12 14:56:18 2012 -0800"
      },
      "message": "Rewrite SQLite database wrappers.\n\nThe main theme of this change is encapsulation.  This change\npreserves all existing functionality but the implementation\nis now much cleaner.\n\nInstead of a \"database lock\", access to the database is treated\nas a resource acquisition problem.  If a thread\u0027s owns a database\nconnection, then it can access the database; otherwise, it must\nacquire a database connection first, and potentially wait for other\nthreads to give up theirs.  The SQLiteConnectionPool encapsulates\nthe details of how connections are created, configured, acquired,\nreleased and disposed.\n\nOne new feature is that SQLiteConnectionPool can make scheduling\ndecisions about which thread should next acquire a database\nconnection when there is contention among threads.  The factors\nconsidered include wait queue ordering (fairness among peers),\nwhether the connection is needed for an interactive operation\n(unfairness on behalf of the UI), and whether the primary connection\nis needed or if any old connection will do.  Thus one goal of the\nnew SQLiteConnectionPool is to improve the utilization of\ndatabase connections.\n\nTo emulate some quirks of the old \"database lock,\" we introduce\nthe concept of the primary database connection.  The primary\ndatabase connection is the one that is typically used to perform\nwrite operations to the database.  When a thread holds the primary\ndatabase connection, it effectively prevents other threads from\nmodifying the database (although they can still read).  What\u0027s\nmore, those threads will block when they try to acquire the primary\nconnection, which provides the same kind of mutual exclusion\nfeatures that the old \"database lock\" had.  (In truth, we\nprobably don\u0027t need to be requiring use of the primary database\nconnection in as many places as we do now, but we can seek to refine\nthat behavior in future patches.)\n\nAnother significant change is that native sqlite3_stmt objects\n(prepared statements) are fully encapsulated by the SQLiteConnection\nobject that owns them.  This ensures that the connection can\nfinalize (destroy) all extant statements that belong to a database\nconnection when the connection is closed.  (In the original code,\nthis was very complicated because the sqlite3_stmt objects were\nmanaged by SQLiteCompiledSql objects which had different lifetime\nfrom the original SQLiteDatabase that created them.  Worse, the\nSQLiteCompiledSql finalizer method couldn\u0027t actually destroy the\nsqlite3_stmt objects because it ran on the finalizer thread and\ntherefore could not guarantee that it could acquire the database\nlock in order to do the work.  This resulted in some rather\ntortured logic involving a list of pending finalizable statements\nand a high change of deadlocks or leaks.)\n\nBecause sqlite3_stmt objects never escape the confines of the\nSQLiteConnection that owns them, we can also greatly simplify\nthe design of the SQLiteProgram, SQLiteQuery and SQLiteStatement\nobjects.  They no longer have to wrangle a native sqlite3_stmt\nobject pointer and manage its lifecycle.  So now all they do\nis hold bind arguments and provide a fancy API.\n\nAll of the JNI glue related to managing database connections\nand performing transactions is now bound to SQLiteConnection\n(rather than being scattered everywhere).  This makes sense because\nSQLiteConnection owns the native sqlite3 object, so it is the\nonly class in the system that can interact with the native\nSQLite database directly.  Encapsulation for the win.\n\nOne particularly tricky part of this change is managing the\nownership of SQLiteConnection objects.  At any given time,\na SQLiteConnection is either owned by a SQLiteConnectionPool\nor by a SQLiteSession.  SQLiteConnections should never be leaked,\nbut we handle that case too (and yell about it with CloseGuard).\n\nA SQLiteSession object is responsible for acquiring and releasing\na SQLiteConnection object on behalf of a single thread as needed.\nFor example, the session acquires a connection when a transaction\nbegins and releases it when finished.  If the session cannot\nacquire a connection immediately, then the requested operation\nblocks until a connection becomes available.\n\nSQLiteSessions are thread-local.  A SQLiteDatabase assigns a\ndistinct session to each thread that performs database operations.\nThis is very very important.  First, it prevents two threads\nfrom trying to use the same SQLiteConnection at the same time\n(because two threads can\u0027t share the same session).\nSecond, it prevents a single thread from trying to acquire two\nSQLiteConnections simultaneously from the same database (because\na single thread can\u0027t have two sessions for the same database which,\nin addition to being greedy, could result in a deadlock).\n\nThere is strict layering between the various database objects,\nobjects at lower layers are not aware of objects at higher layers.\nMoreover, objects at higher layers generally own objects at lower\nlayers and are responsible for ensuring they are properly disposed\nwhen no longer needed (good for the environment).\n\nAPI layer: SQLiteDatabase, SQLiteProgram, SQLiteQuery, SQLiteStatement.\nSession layer: SQLiteSession.\nConnection layer: SQLiteConnectionPool, SQLiteConnection.\nNative layer: JNI glue.\n\nBy avoiding cyclic dependencies between layers, we make the\narchitecture much more intelligible, maintainable and robust.\n\nFinally, this change adds a great deal of new debugging information.\nIt is now possible to view a list of the most recent database\noperations including how long they took to run using\n\"adb shell dumpsys dbinfo\".  (Because most of the interesting\nwork happens in SQLiteConnection, it is easy to add debugging\ninstrumentation to track all database operations in one place.)\n\nChange-Id: Iffb4ce72d8bcf20b4e087d911da6aa84d2f15297\n"
    },
    {
      "commit": "791a6331e3ca21e3b6cdbfee62348e45786ca3ea",
      "tree": "c0330674209a564cac33cdc847bf08576be3ee97",
      "parents": [
        "d9bb7a8df856d477701158c2cc5c40b86a2c70f5"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Thu Jan 12 14:38:38 2012 -0800"
      },
      "committer": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Thu Jan 12 14:38:38 2012 -0800"
      },
      "message": "Getting rid of hack where the wallpaper offset was being deferred\n\n-\u003e This was a hack, and with all the work going into vsync etc, it\n   really shouldn\u0027t be needed.\n\nChange-Id: I59005e2644e0ba08846a6c661e8c4e22640d8e02\n"
    },
    {
      "commit": "3f11f302c7e8c4ba513f6c559f33db96319c3825",
      "tree": "78e25c96488aba94f2d281b06a3149452b908a50",
      "parents": [
        "5a05c23f3d6a1a895bf5917aacd8bd9a5302ba00"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jan 12 14:21:54 2012 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jan 12 14:37:58 2012 -0800"
      },
      "message": "Fix indentation and whitespace.\n\nChange-Id: Iccb954fb77f21b230eecb3f06328e11b14611f17\n"
    },
    {
      "commit": "5a05c23f3d6a1a895bf5917aacd8bd9a5302ba00",
      "tree": "004b84d6921a0c8732d64401d73ea499b98c77aa",
      "parents": [
        "38e90751a25606459a9e571aa1b6c992d4c64151"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jan 12 12:04:22 2012 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jan 12 14:37:57 2012 -0800"
      },
      "message": "Clean up database tests a little bit.\n\nChange-Id: Ib05c699bf59187cb51627b5f352c2a15ad2c28bb\n"
    }
  ],
  "next": "5d134343ca9f3ce28704a7fa69a11e4f4d0d25a4"
}
