)]}'
{
  "log": [
    {
      "commit": "d96e3dfa02b203b1fc826e80d6f9aa074ba9c250",
      "tree": "a91a318c43620b6523bd2e83be01632f223b153c",
      "parents": [
        "43ea4e10dc402d20f506cdb4b4f27e49b4dc0443"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jan 25 15:12:23 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jan 25 15:14:50 2012 -0800"
      },
      "message": "Add xxhdpi; fix ActivityManager.getLauncherLargeIconSize() etc.\n\nChange-Id: I519d6cdc527a402d93b98df17a64fc1da52ad598\n"
    },
    {
      "commit": "d3fe9abfb9a6a21a18abde6a98dceb423c04ebef",
      "tree": "35cadfcae72edfa6d0bff057bfd84a2e60857edd",
      "parents": [
        "865534a0e30982b0e669006509b9590fad129295",
        "ab9601cdbb95ae94088750eff9a926a572c1a4d6"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Fri Jan 20 15:48:21 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 20 15:48:21 2012 -0800"
      },
      "message": "am ab9601cd: am 230a7092: Merge \"Fix 5863053: Add method to lock screen immediately.\" into ics-mr1\n\n* commit \u0027ab9601cdbb95ae94088750eff9a926a572c1a4d6\u0027:\n  Fix 5863053: Add method to lock screen immediately.\n"
    },
    {
      "commit": "d2f0dcd182fbc0423d206919e81f3845fb9b8155",
      "tree": "1c2e12890b625fc29a26b7bb67cd485b04f45a8c",
      "parents": [
        "bad12166190a7e8087eb5db0ae8df9a4e5843fde",
        "68fc1dfce050f1406f751e71cadd1b9fdb0f825c"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jan 19 17:42:10 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 19 17:42:10 2012 -0800"
      },
      "message": "Merge \"Remove unused code\""
    },
    {
      "commit": "68fc1dfce050f1406f751e71cadd1b9fdb0f825c",
      "tree": "b77dabe0c0ded8067cafb5278fe4cfc5a4ed002a",
      "parents": [
        "f9d9c065ed75f1196316a9a31f92309f602cef76"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jan 19 17:41:39 2012 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jan 19 17:41:39 2012 -0800"
      },
      "message": "Remove unused code\n\nChange-Id: Ife0a43f3cfe64a1e74401b10bf74d37cbeefb5af\n"
    },
    {
      "commit": "5bf2802ad9de237ccc014489dd36ff4baadadfaa",
      "tree": "b1a7d91193d66de13924be8d0b58d9637ed2a76e",
      "parents": [
        "170bfe32ab8971805d56f8870758cbc46060d1ef"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Jan 18 17:08:53 2012 -0800"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Jan 18 17:08:53 2012 -0800"
      },
      "message": "Fix broken drawCircle LayoutLib.\n\nChange-Id: I5e23bbe0119e385fa2f77854a8f88128351d3759\n"
    },
    {
      "commit": "93c518e4f8abd98f87cda1712b30a5a86cfa60dd",
      "tree": "fd9e7459bf5a228aef50826097a2cc714b8a6013",
      "parents": [
        "ff321d496a6a07fc667112ecfe4d9a107d44147b"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Jan 17 15:55:31 2012 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Jan 17 18:11:05 2012 -0800"
      },
      "message": "Fix 5863053: Add method to lock screen immediately.\n\nThis fixes a bug where the device fails to lock when DevicePolicyManagerService\nrequests the device to be locked and the screen was off because the user hit\nthe power button.\n\nThe change allows DPMS to directly invoke screen lock, bypasssing the screen state.\n\nChange-Id: Iecdda6fc61e9c519119de495be23c69c3b983921\n"
    },
    {
      "commit": "5aa73ae58f049379a97bc86add541f27170c02a4",
      "tree": "d76f786422c0a173127888d180d4257e70af3eea",
      "parents": [
        "c0cb3dc2c16883f19bf1caf652b2fcdb55a1a856"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jan 13 15:29:21 2012 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Jan 17 17:07:10 2012 -0800"
      },
      "message": "Improve heuristics for orientation detection.\n\n1. Except as otherwise indicated, orientation change happens once\n   the predicted rotation has been stable for 40ms.  Noise is\n   suppressed by a low-pass filter with a 200ms time constant which\n   seems to be about as small as is practical given the quality\n   of the sensor data.\n\n2. If the magnitude exceeds a threshold (excessive noise or freefall),\n   resets the predicted orientation.\n   Doesn\u0027t happen very often even when shaking the device.\n   This heuristic mainly protects the detector from spurious tilt due\n   to inaccurate determination of the gravity vector.\n\n3. If the device was previously in a flat posture (on a table for at\n   least 1000ms), then it must move out of that posture for at least\n   500ms before the next orientation change will happen.\n   This heuristic suppresses most spurious rotations that happen while\n   picking up the device.\n\n4. If the device is tilted away from the user by 20 degrees within\n   a span of 300ms, the device is said to be swinging and at least\n   300ms must elapse after the device stops swinging before the\n   next orientation change will happen.\n   This heuristic suppresses some but not all spurious rotations that\n   happen while putting down a device.  Unfortunately, this heuristic\n   sometimes triggers a false positive when turning the device very\n   rapidly due to accelerometer noise.  The 300ms pause is a compromise\n   so that occasional mispredicted swings don\u0027t significantly delay\n   the rotation.\n\nBug: 5796249\nChange-Id: Id7b36c4c563e35b70d6a7ac36d04f3c3d6ea5811\n"
    },
    {
      "commit": "3762c311729fe9f3af085c14c5c1fb471d994c03",
      "tree": "7d4caccad80ac7327c7bff96dafc857d5f4631ad",
      "parents": [
        "7a939077bd14521c7d351af98df7ed75a8ec9c15"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Jan 06 19:20:56 2012 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Sun Jan 08 13:19:13 2012 +0000"
      },
      "message": "Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/#/c/157220\n\nBug: 5449033\nChange-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c\n"
    },
    {
      "commit": "74366c06ff6cad7038c17c9041d25979975ce55e",
      "tree": "32e91c249f80f68c4b3b6a48d7e94179129751d3",
      "parents": [
        "bbfec33d946aa66a2f1414d4f1ec69a5f2b80134",
        "e74763e26f760e8de23a4edfbe599a166ef6bb53"
      ],
      "author": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Fri Jan 06 14:39:11 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 06 14:39:11 2012 -0800"
      },
      "message": "Merge \"Minor tweak to console output.\""
    },
    {
      "commit": "e74763e26f760e8de23a4edfbe599a166ef6bb53",
      "tree": "64db7f395da05ee85a1f13f379b3e40366a94062",
      "parents": [
        "18c6afa0c57074e08b8856dde306d3302834b1a9"
      ],
      "author": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Fri Jan 06 10:47:10 2012 -0800"
      },
      "committer": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Fri Jan 06 14:10:45 2012 -0800"
      },
      "message": "Minor tweak to console output.\n\nChange-Id: I494910eda1d02f6bcff945b9a13c83767f2248b6\n"
    },
    {
      "commit": "8564c8da817a845353d213acd8636b76f567b234",
      "tree": "71acbd8ace822c769aef917629bf5a079f63274d",
      "parents": [
        "c42e6a0bed2c88fd03466c5104d62d7f98e68768"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Thu Jan 05 23:22:43 2012 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Jan 06 10:07:54 2012 +0000"
      },
      "message": "Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/157065\n\nBug: 5449033\nChange-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69\n"
    },
    {
      "commit": "6215d3ff4b5dfa52a5d8b9a42e343051f31066a5",
      "tree": "fa31802ed64676368447b67d20567fc1e806c79d",
      "parents": [
        "c9c76a82c6d0bf2362044d899013832882f32c94"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Wed Jan 04 20:05:49 2012 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Wed Jan 04 20:05:49 2012 +0000"
      },
      "message": "Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/156801\n\nBug: 5449033\nChange-Id: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea\n"
    },
    {
      "commit": "5baa3a62a97544669fba6d65a11c07f252e654dd",
      "tree": "109755e1595b438873d34b981e31f84ea64bd2a5",
      "parents": [
        "173ab4d61077c49f115b82eff34f97fda5a7273a"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Tue Dec 20 16:23:08 2011 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Tue Jan 03 22:38:27 2012 +0000"
      },
      "message": "Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/156016\n\nBug: 5449033\nChange-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298\n"
    },
    {
      "commit": "44fcb83b38b062a650ddf556fe7f5e34905df9ea",
      "tree": "f5726b3011934023b43a46eb3ce3be6742a274ba",
      "parents": [
        "3766a7a27535101e62af958b1d2d710daa166d7d"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Dec 14 20:59:30 2011 -0800"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Thu Dec 15 16:16:14 2011 -0800"
      },
      "message": "Add a new ui mode for \"appliance\"\n\nThe idea is that this is a device which is more-or-less headless.  It\nmight have some limited interaction capabilities, but it\u0027s not something\nthat you want to rely on having.\n\nChange-Id: Ib92f53a120bf83de781728011721a4859def7d9f\n"
    },
    {
      "commit": "7c3bef85dab709326e052fec1fdc8b32e47c811e",
      "tree": "4734f2c57dbd3c3cdabf3ad7232a890cab3807b3",
      "parents": [
        "a5cbf023e349f2394ba6fc58d73b4375cfec4369"
      ],
      "author": {
        "name": "Raphael",
        "email": "raphael@google.com",
        "time": "Thu Oct 27 17:01:31 2011 -0700"
      },
      "committer": {
        "name": "Raphael Moll",
        "email": "raphael@google.com",
        "time": "Sun Dec 11 13:59:02 2011 -0800"
      },
      "message": "Merge \"AAPT fix printf %zd crash on Windows\". Do not merge.\n\nThere\u0027s no printf %zd on Mingw/Cygwin so the verbose\nprintf crashes aapt.\n\nSDK bugs: 20395, 20986\n\nBug: 5742142\n\n(cherry picked from commit f51125d8429ffa71c57ba6fbdca9effc72642a9b)\n\nChange-Id: I7545734ce8ce4a1f3e95f8a255daa8a909f870a1\n"
    },
    {
      "commit": "063a44e541335819b673fb1c20a338bbcaf3a3f5",
      "tree": "40cfd3630f98f27573f4d0b77012a401a3399d1e",
      "parents": [
        "9cf8c86c624b1e76c4adef8fa60f4d5db7abe4da"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Dec 08 08:46:03 2011 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Dec 08 08:46:34 2011 -0800"
      },
      "message": "Add aapt support for implicitly-granted permissions\n\nBug: 2363582\nBug: 2877343\nChange-Id: Iff7b496fb845e45fe1be2317089a96f7d63ed223\n"
    },
    {
      "commit": "e98ae0a050d6ce4b3e2aec7c070a87922086c256",
      "tree": "1f2b043f9f7ee1425499fddf5c50d5125f5760c3",
      "parents": [
        "7f2e21b6f4de96c8be986b5ec02200fac464f814",
        "f7270ba9083e5b0069f73fc88aec439ab439275b"
      ],
      "author": {
        "name": "Tor Norbye",
        "email": "tnorbye@google.com",
        "time": "Tue Dec 06 13:31:04 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 06 13:31:04 2011 -0800"
      },
      "message": "Merge \"Upgrade layoutlib generation code to use ASM 4.0\""
    },
    {
      "commit": "96e942dabeeaaa9ab6df3a870668c6fe53d930da",
      "tree": "c2bee431f14b90422586d0dc1e7d77256474fadb",
      "parents": [
        "0a0a1248cfc03940174cbd9af677bafd7280a3bc"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Nov 30 19:55:01 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Dec 05 16:39:59 2011 -0800"
      },
      "message": "Use a Choreographer to schedule animation and drawing.\n\nBoth animations and drawing need to march to the beat of\nthe same drum, but the animation system doesn\u0027t know\nabgout the view system and vice-versa so neither one\ncan drive the other.\n\nWe introduce the Choreographer as a drummer to keep\neveryone in time and ensure a magnificent performance.\n\nThis patch enabled VSync based animations and drawing by\ndefault.  Two system properties are provided for testing\npurposes to control the behavior.\n\n\"debug.choreographer.vsync\": Enables vsync based animation\ntiming.  Defaults to true.  When false, animations are\ntimed by posting delayed messages to a message queue in\nthe same way they used to be before this patch.\n\n\"debug.choreographer.animdraw\": Enables the use of the animation\ntimer to drive drawing such that drawing is synchronized with\nanimations (in other words, with vsync or the timing loop).\nDefaults to true.  When false, layout traversals and drawing\nare posted to the message queue for execution without any delay or\nsynchronization in the same way they used to be before this patch.\n\nStubbed out part of the layoutlib animation code because it\ndepends on the old timing loop (opened bug 5712395)\n\nChange-Id: I186d9518648e89bc3e809e393e9a9148bbbecc4d\n"
    },
    {
      "commit": "f7270ba9083e5b0069f73fc88aec439ab439275b",
      "tree": "23d213439821ac7ecbb377d1c0e4dbb9d332063c",
      "parents": [
        "58915ce9222b18064b4de0be7c23c488b52eaee5"
      ],
      "author": {
        "name": "Tor Norbye",
        "email": "tnorbye@google.com",
        "time": "Mon Dec 05 14:26:04 2011 -0800"
      },
      "committer": {
        "name": "Tor Norbye",
        "email": "tnorbye@google.com",
        "time": "Mon Dec 05 14:26:04 2011 -0800"
      },
      "message": "Upgrade layoutlib generation code to use ASM 4.0\n\nChange-Id: I46b3854a05677dc7cadd217efb001dbb25631fbd\n"
    },
    {
      "commit": "c0b7f65ae0594e19d1272e5caf2d83638041d19c",
      "tree": "cc78ccc95a642e060a8a3d96218f1e312ad957e9",
      "parents": [
        "cb52d6760078197cd6d0c16349348dd2ad16a88c",
        "496f6e2ad656c5bb8a277e191554d16abd290b58"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Nov 28 16:57:17 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 28 16:57:17 2011 -0800"
      },
      "message": "am 496f6e2a: am b54980d1: Merge \"Fix issue #5588689: Black camera preview after coming back from gmail\" into ics-mr1\n\n* commit \u0027496f6e2ad656c5bb8a277e191554d16abd290b58\u0027:\n  Fix issue #5588689: Black camera preview after coming back from gmail\n"
    },
    {
      "commit": "6d05fd3c795088ac60f86382df5a66d631e8a0cb",
      "tree": "c6363c2b687619f594e95b4b67b83c3d015dab58",
      "parents": [
        "e35581ad5ad635f9dcfe4ab6a432c48b46b782cd"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Nov 19 14:36:15 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Nov 28 14:45:50 2011 -0800"
      },
      "message": "Fix issue #5588689: Black camera preview after coming back from gmail\n\nMake surface management between SurfaceView and the window manager\nmuch more controlled, to ensure that SurfaceView always gets to report\nthe current surface is destroyed before the window manager actually\ndestroys it.\n\nAlso a small tweak to allow windows that have a wallpaper background\nto still have a preview window.  This makes launching home after it\nhas been killed feel much more responsive.\n\nChange-Id: I0d22cf178a499601a770cb1dbadef7487e392d85\n"
    },
    {
      "commit": "8836c55818937ba00f186075eb7efb6462191113",
      "tree": "baab13b80a6e58f4648a612840ecf2adff662791",
      "parents": [
        "688ff9a7d6c42d4b26f1a72f963d09203f774c3f"
      ],
      "author": {
        "name": "Tor Norbye",
        "email": "tnorbye@google.com",
        "time": "Tue Nov 01 11:51:20 2011 -0700"
      },
      "committer": {
        "name": "Tor Norbye",
        "email": "tnorbye@google.com",
        "time": "Tue Nov 01 11:51:20 2011 -0700"
      },
      "message": "Set theme-tag in render log when failing to find style\n\nChange-Id: I20461a7113eb25469deca13dca870936bdb33a29\n"
    },
    {
      "commit": "f51125d8429ffa71c57ba6fbdca9effc72642a9b",
      "tree": "f94891383e3cd48374f02bff435b0a3ca783bd90",
      "parents": [
        "e87d2da0b4e44051edbee4a4339f846eba9d3a36"
      ],
      "author": {
        "name": "Raphael",
        "email": "raphael@google.com",
        "time": "Thu Oct 27 17:01:31 2011 -0700"
      },
      "committer": {
        "name": "Raphael",
        "email": "raphael@google.com",
        "time": "Thu Oct 27 17:11:21 2011 -0700"
      },
      "message": "AAPT fix printf %zd crash on Windows.\n\nThere\u0027s no printf %zd on Mingw/Cygwin so the verbose\nprintf crashes aapt.\n\nSDK bugs: 20395, 20986\n\nChange-Id: I5b8ac36749263205a19f1448b1aaca90d5a2e06d\n"
    },
    {
      "commit": "71f2cf116aab893e224056c38ab146bd1538dd3e",
      "tree": "75a9162a0ea00830184b12a9ca51d3a1a040a5bb",
      "parents": [
        "1da79501066a74b630c8aa138db0f86ab6c690bb"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Thu Oct 20 11:56:00 2011 +0100"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Wed Oct 26 09:57:54 2011 +0100"
      },
      "message": "Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF)  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/#/c/143865\n\nBug: 5449033\nChange-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a\n"
    },
    {
      "commit": "64ef6b47e020da5370af8897638a0a778fa52b74",
      "tree": "740353ef25502e55bae3bca6aaa81733f2fb3df9",
      "parents": [
        "63aa6622d0eb6592a582ac28078404bfc411bcef"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Wed Oct 19 22:35:56 2011 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Oct 20 16:21:25 2011 -0700"
      },
      "message": "add -ldl to host executables\n\nThis fixes the build on Linux when RefBase is compiled with reference tracking\nenabled.\n\nChange-Id: I3e931e0b463ce836f6fdb30c37068d77144631a3\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "0c4ccff36930ff4f0292b94ad51e164c9fa060a3",
      "tree": "062b194978f180d67b352cc64b552a485bdead62",
      "parents": [
        "70ac412b2fe7be2507189a9fdfb30c43b36d56ac"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Oct 19 16:39:14 2011 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Oct 19 16:39:14 2011 -0400"
      },
      "message": "Add hasNavigationBar() to the window manager.\n\nIt is no longer sufficient to check the value of\ninternal.R.bool.config_showNavigationBar to determine if a\nnavigation bar (separate from the status bar) is shown on a\ndevice, because the emulator needs to be able to override\nthis value (now possible by setting qemu.hw.mainkeys to \"1\"\nor \"0\", for navbar or no navbar, respectively).\n\nThis logic is now contained in PhoneWindowManager, and any\nclients wishing to know whether the system has a software\nnav bar should consult the new hasNavigationBar() method.\n\nBug: 5404945\nChange-Id: I119d32a8c84b88b2ef46f63244e7f11dc5de0359\n"
    },
    {
      "commit": "bd9d2bcdebfa66a0f71fa67aa256dcae4ccd93da",
      "tree": "9ba4516e691ebe9f7948028a93c3c7ff513f1c1f",
      "parents": [
        "cd8640fc1a801349e863a7b6270a0702a63c014b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Oct 16 14:17:07 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Oct 16 14:17:07 2011 -0700"
      },
      "message": "Whoops, remove left-over debug output.\n\nChange-Id: Ib30571b22a6750629f975319a403d38de5e9462c\n"
    },
    {
      "commit": "e6b680364dd992907a8d2037685a2e500d188dfb",
      "tree": "3d931a3139f058da9ae934e5cf50cd6dc50f7e64",
      "parents": [
        "d814d4fa0c76a0384f7e32816e1ca36f237911c6"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 13 16:26:02 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Oct 16 11:52:17 2011 -0700"
      },
      "message": "New aapt feature to do smarter filtering of configurations.\n\nThis adds a --preferred-configurations flag that specifies the\nspecific configurations you would like to have.\n\nIt is smarter than \"-c\" because it will avoid stripping a\nconfiguration if that would result in there being no value\nfor the resource.\n\nIt is dumber than \"-c\" because it can\u0027t process as many kinds\nof resources.  It is really only intended for bitmaps and use\nwith density configs.\n\nThis required re-arranging AaptAssets to group files together\nby config again, like they used to be.  I think this hasn\u0027t\nbroken anything.  Hopefully.\n\nChange-Id: I4e9d12ff6e6dbd1abb8fd4cb1814c6674b19d0e5\n"
    },
    {
      "commit": "d2183654e03d589b120467f4e98da1b178ceeadb",
      "tree": "c52368d929521fd0d7182dc3cf53f8e4b37ed25f",
      "parents": [
        "1d8e7d640ad5ed6fe82bca017293dd89169f1c2e"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Oct 09 12:39:53 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Oct 09 22:10:36 2011 -0700"
      },
      "message": "Fix ownership of CursorWindows across processes.\nBug: 5332296\n\nEnsure that there is always an owner for each CursorWindow\nand that references to each window are acquired/released\nappropriately at all times.\n\nAdded synchronization to CursorToBulkCursorAdaptor to\nprevent the underlying Cursor and CursorWindow from being\nremotely accessed in ways that might violate invariants,\nresulting in leaks or other problems.\n\nEnsured that CursorToBulkCursorAdaptor promptly releases\nits references to the Cursor and CursorWindow when closed\nso they don\u0027t stick around longer than they should, even\nif the remote end hangs onto the IBulkCursor for some reason.\n\nCursorWindow respects Parcelable.FLAG_WRITE_RETURN_VALUE\nas an indication that one reference to the CursorWindow is\nbeing released.  Correspondingly, CursorToBulkCursorAdaptor\nacquires a reference to the CursorWindow before returning\nit to the caller.  This change also prevents races from\nresulting in the transfer of an invalid CursorWindow over\nthe wire.\n\nEnsured that BulkCursorToCursorAdaptor promptly releases\nits reference to the IBulkCursor when closed and throws\non attempts to access the cursor while closed.\n\nModified ContentProviderNative to handle both parts of\nthe wrapping and unwrapping of Cursors into IBulkCursors.\nThis makes it a lot easier to ensure that the right\nthings happen on both ends.  Also, it turns out that\nthe only caller of IContentProvider.bulkQuery was\nContentProviderNative itself so there was no need\nto support bulkQuery on ContentProviderProxy and it was\njust getting in the way.\n\nImplement CloseGuard on CursorWindow.\n\nChange-Id: Ib3c8305d3cc62322f38a06698d404a2989bb6ef9\n"
    },
    {
      "commit": "85b9edf2da0534bc53d139bb88cda8866d265afe",
      "tree": "a0a50380b9f263103fbc99c6622f40e7541d95f8",
      "parents": [
        "7853c579fa52e4365c6e44ba38aeb3299d776f44",
        "9a230e01a1237749a8a19a5de8d46531b0c8ca6a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 06 15:15:32 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 06 15:15:32 2011 -0700"
      },
      "message": "Merge \"Fix issue #5371530: SYSTEMUI_FLAG_HIDE_NAVIGATION reasserts itself immediately\""
    },
    {
      "commit": "9a230e01a1237749a8a19a5de8d46531b0c8ca6a",
      "tree": "c62734c0dcd00cc9add7c70bd60e8946e0915735",
      "parents": [
        "fe7fcd23d5b306db7b1fb31c901cbcbb6b66db1d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 06 11:51:27 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 06 14:57:37 2011 -0700"
      },
      "message": "Fix issue #5371530: SYSTEMUI_FLAG_HIDE_NAVIGATION reasserts itself immediately\n\nThis cleans up how ui flags are managed between the client and window manager.\nIt still reports the global UI mode state to the callback, but we now only clear\ncertain flags when the system goes out of a state (currently this just means the\nhide nav bar mode), and don\u0027t corrupt other flags in the application when the\nglobal state changes.\n\nAlso introduces a sequence number between the app and window manager, to avoid\nusing bad old data coming from the app during these transitions.\n\nChange-Id: I40bbd12d9b7b69fc0ff1c7dc0cb58a933d4dfb23\n"
    },
    {
      "commit": "2447871b99e6b10a68985f037420eb77cabe4d29",
      "tree": "34138acbfb7fff8d2362bf348cb97a048279326b",
      "parents": [
        "4dfce20cac7492882d366d053006795aefad59da"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Oct 05 18:01:23 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Oct 05 18:04:48 2011 -0700"
      },
      "message": "Fix build.\n\nChange-Id: I7bb00b8ee0da952f3697b23dccf32dde55733b7a\n"
    },
    {
      "commit": "d410bfb2001e7960a27fe6adb9d56f229e70fe5c",
      "tree": "5c44ddfed050a89911e907fdc61e0aa7ed48bbde",
      "parents": [
        "e5493f31152ebb2e9c9818699ba6f853a9a59894"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Oct 04 19:39:18 2011 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Oct 04 19:39:18 2011 -0700"
      },
      "message": "LayoutLib: fix support for textScaleX.\n\nChange-Id: I821191a40012e9727b4a3573d580483c3ae1de48\n"
    },
    {
      "commit": "14094097329b3bdcbf26392141111d74c8b89718",
      "tree": "9a41ea4a27d5bb311916b66c0f756055f97c78cf",
      "parents": [
        "178006a0e05b41b4c4de93aec30368a9102ca140"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Aug 03 17:11:33 2011 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Oct 04 18:24:30 2011 -0700"
      },
      "message": "Layoutlib: Typeface support for loading fonts manually.\n\nIf the font being loaded is a system font, then we can find the font\nfile and manually load it.\n\nChange-Id: I95473b1f1b88df64316b77c41ed05d4d09ab61ed\n"
    },
    {
      "commit": "178006a0e05b41b4c4de93aec30368a9102ca140",
      "tree": "5261679b7d2ae70313d6896a54b6301c69a13179",
      "parents": [
        "3c1951c442e40f7f46775acfc8a22c24f04d8cfc"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Oct 04 18:01:07 2011 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Oct 04 18:02:10 2011 -0700"
      },
      "message": "Layoutlib now parses system_fonts.xml instead of its own.\n\nAlso parse fallback_fonts.\nThis lets layoutlib automatically use the same fonts as the base\nplatforms, for instance it now uses the new ICS fonts.\n\nChange-Id: Id6e778dc0e3f2a9112601e0eaf8499a9713ec433\n"
    },
    {
      "commit": "f1dee199a009fec5e3a5d1469f654098261f8b06",
      "tree": "d7dd38d33c0b8d99566731240c6e556b236e991f",
      "parents": [
        "c8f68e5c7ffef3bc6775edf39a251baf79b81f6b"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Fri Sep 30 18:08:05 2011 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Oct 03 09:06:07 2011 -0700"
      },
      "message": "Layoutlib: add support for ITextServicesManager.\n\nThis include a fix in layoutlib_create to properly handle\ndelegating a static method of an inner class (was broken and\nonly worked on non static method).\n\nAdded a few comments here and there to *_Accessor classes so\nthat it\u0027s a bit more obvious what they are for and how they are\nused.\n\nChange-Id: Ifc31dd1a006393bb0c08e22b6a17f500dd62e090\n"
    },
    {
      "commit": "58b91575494157892b580611c1ebc019feddb341",
      "tree": "ef243646dc70a90b3b036722e3756678e5da4416",
      "parents": [
        "51e6e3f2ef8e65f52688dffc272a7318778064ff",
        "387d078e64f3bcc8284732287bc3f26fce856a88"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Fri Sep 30 09:41:35 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 30 09:41:35 2011 -0700"
      },
      "message": "Merge \"LayoutLib: Fix native delegate for Display.\""
    },
    {
      "commit": "387d078e64f3bcc8284732287bc3f26fce856a88",
      "tree": "3c430fa19acfd740b0e6ec376e5a48649f051a16",
      "parents": [
        "ee1d541ec89e1d2724a382c90276586e2c28b278"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Sep 29 18:33:50 2011 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Sep 29 18:33:50 2011 -0700"
      },
      "message": "LayoutLib: Fix native delegate for Display.\n\nChange-Id: If097cae2309d340162b3bac1d0f6a2289635adca\n"
    },
    {
      "commit": "56088a55ca6c9277f09040a7883117cb127e1e56",
      "tree": "b8aae80cfdb46fcbc6c81b952a8b9f6e4e6af477",
      "parents": [
        "b9c13d091efde4865ed5cfaf1c5a17b0bb17a38e"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Sep 29 13:49:45 2011 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Sep 29 13:49:48 2011 -0700"
      },
      "message": "Add package-verifier to aapt dump badging\n\nPrint out the package-verifier information when printing out badging.\n\nChange-Id: I9c79c163261d5d4f1094bda76d90b3ff6e1ce540\n"
    },
    {
      "commit": "4f217d5acecab35c046d9b9d9c74f0336a0a8cbd",
      "tree": "70fd9081534a1860fb44e094d01ccf29c7ed1ee0",
      "parents": [
        "2a9e1a28124d56547812b9407972f90e53e2283f",
        "a94489b4394350b1727437818cd4f6d845e97dc0"
      ],
      "author": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Wed Sep 28 17:03:07 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 28 17:03:07 2011 -0700"
      },
      "message": "am a94489b4: Merge \"Don\\\u0027t lose product variant strings that also vary between locales.\" into ics-factoryrom\n\n* commit \u0027a94489b4394350b1727437818cd4f6d845e97dc0\u0027:\n  Don\u0027t lose product variant strings that also vary between locales.\n"
    },
    {
      "commit": "914f7e683a01f15f8830810c49eaecc31bc554a6",
      "tree": "702278393601f3f27b0ec0213246c8ea3bf70d09",
      "parents": [
        "006e6ef2e6349f5b3f9ef27c81750f007f56c69a"
      ],
      "author": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Tue Sep 27 16:09:41 2011 -0700"
      },
      "committer": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Tue Sep 27 16:09:41 2011 -0700"
      },
      "message": "Don\u0027t lose product variant strings that also vary between locales.\n\nLocalized strings with product variants were not being included in the APK,\napparently because the check to ensure that a different variation of the\nstring had not already been included in the APK was matching the version\nof it from the default, untranslated configuration.\n\nNow check to make sure that the string not only exists but also exists in\nthe correct configuration.\n\nBug 5372711\n\nChange-Id: I52975570b75e0f11827dc6bcf1cb4a987d0541aa\n"
    },
    {
      "commit": "4c253119db0ce753e46ec3809b54b9e357d363db",
      "tree": "b0737e61622e7184ae35abf71702c9bb87e5def4",
      "parents": [
        "87c9ce06259976186187b02b356a1d2fefbc44e3",
        "c0347aa19f354a8e1ff4fcd5372b134c0c7c16ad"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Sep 23 18:28:01 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 23 18:28:01 2011 -0700"
      },
      "message": "Merge \"Prevent unintended rotations. Bug: 4981385\""
    },
    {
      "commit": "c0347aa19f354a8e1ff4fcd5372b134c0c7c16ad",
      "tree": "b442f6284e23f5b203538adb123e9fe2b704fd43",
      "parents": [
        "745f1e3a06eb504c9e4465afc987854a6269220d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Sep 23 17:26:09 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Sep 23 17:26:09 2011 -0700"
      },
      "message": "Prevent unintended rotations.\nBug: 4981385\n\nChanged the orientation listener to notify the policy whenever\nits proposed orientation changes, and changes the window manager\nto notify the orientation listener when the actual orientation\nchanges.  This allows us to better handle the case where the\npolicy has rejected a given proposal at one time (because the\ncurrent application forced orientation) but might choose\nto accept the same proposal at another time.\n\nIt\u0027s important that the proposal always be up to date.  A proposal\nbecomes irrelevant as soon as the phone posture changes such\nthat we can no longer determine the orientation with confidence\n(such as when a device is placed flat on a table).\n\nSimplified the orientation filtering.  Now we just wait 200ms\nfor the device to be still before issuing a proposal.  The idea\nis that if the device is moving around a lot, we assume that\nthe device is being picked up or put down or otherwise in\nthe process of being moved.  We don\u0027t want to change the rotation\nuntil that\u0027s all settled down.  However, we do want to tolerate\na certain amount of environmental noise.\n\n(The previous confidence algorithm was also designed along\nthese lines but it was less direct about waiting for things\nto settle.  Instead it simply made orientation changes take\nlonger than usual while unsettled, but the extra delay was often\ntoo much or too little.  This one should be easier to tune.)\n\nChange-Id: I09e6befea1f0994b6b15d424f3182859c0d9a530\n"
    },
    {
      "commit": "90c52de28691ca0bbbf7c039ef20f85ce46882cc",
      "tree": "3a6dcf93f186f44561a312927d7fe2e97e45f6d4",
      "parents": [
        "67c5b1251178532726964c2e0f4229d079ff0a3e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 23 12:57:44 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 23 13:39:33 2011 -0700"
      },
      "message": "Fix issue #5173952: Opening a Notification From Lock Screen...\n\n...Should Skip Unsecure Lockscreen (ICS)\n\nAlso while I am in there, clean up logging of intent objects to include\neven less sensitive information, while showing the true Intent in dump\noutput (since apps can\u0027t get to that).\n\nChange-Id: I35fed714645b21e4304ba38a11ebb9c4c963538e\n"
    },
    {
      "commit": "01a98ddbdfbaf1f0d2bc602537e6e314364902a3",
      "tree": "ce904db3ee0772e0e2a35882a6cf86c7b9fcd84e",
      "parents": [
        "04ef5b8dd7262ee90b56df9c992f103695d0a21c"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 20 15:08:29 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 21 19:26:15 2011 -0700"
      },
      "message": "Handle orientation changes more systematically.\nBug: 4981385\n\nSimplify the orientation changing code path in the\nWindowManager.  Instead of the policy calling setRotation()\nwhen the sensor determined orientation changes, it calls\nupdateRotation(), which figures everything out.  For the most\npart, the rotation actually passed to setRotation() was\nmore or less ignored and just added confusion, particularly\nwhen handling deferred orientation changes.\n\nEnsure that 180 degree rotations are disallowed even when\nthe application specifies SCREEN_ORIENTATION_SENSOR_*.\nThese rotations are only enabled when docked upside-down for\nsome reason or when the application specifies\nSCREEN_ORIENTATION_FULL_SENSOR.\n\nEnsure that special modes like HDMI connected, lid switch,\ndock and rotation lock all cause the sensor to be ignored\neven when the application asks for sensor-based orientation\nchanges.  The sensor is not relevant in these modes because\nsome external factor (or the user) is determining the\npreferred rotation.\n\nCurrently, applications can still override the preferred\nrotation even when there are special modes in play that\nmight say otherwise.  We could tweak this so that some\nspecial modes trump application choices completely\n(resulting in a letter-boxed application, perhaps).\nI tested this sort of tweak (not included in the patch)\nand it seems to work fine, including transitions between\napplications with varying orientation.\n\nDelete dead code related to animFlags.\n\nHandle pausing/resuming orientation changes more precisely.\nEnsure that a deferred orientation change is performed when\na drag completes, even if endDragLw() is not called because the\ndrag was aborted before the drop happened.  We pause\nthe orientation change in register() and resume in unregister()\nbecause those methods appear to always be called as needed.\n\nChange-Id: If0a31de3d057251e581fdee64819f2b19e676e9a\n"
    },
    {
      "commit": "ce801c4a1b1137ca2fd51ede6818722793c79ea4",
      "tree": "1d0c0063c2f5a83f00cee71b9c3a0cde5d4f8d79",
      "parents": [
        "2f7d7c9bdbda2956266492f98b5f95a428225a7d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Sep 18 15:22:24 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Sep 18 15:22:24 2011 -0700"
      },
      "message": "Fix build.\n\nChange-Id: Ife2b4b207270f8017d3acd80c76eaf1c7a50986d\n"
    },
    {
      "commit": "ee5e77cafec2eae70890abdcc1646ed39b06eddd",
      "tree": "761b1fccabd3d49f58470e8694032f552060f9dd",
      "parents": [
        "117999d1f44ec3423369385495ae207898b7b73e"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Sep 02 18:50:15 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Sep 02 19:22:50 2011 +0900"
      },
      "message": "Make setAdditionalInputMethodSubtypes async\n\nBug: 5120261\nChange-Id: Ic7869cfaa5361531e08d58d7dfa5ba0feab0613e\n"
    },
    {
      "commit": "18fff11e15dc1b4fe53cb37fa39637aa3fb9bc36",
      "tree": "08c0d34b3917fb3f5fd2edb916f6dcbfa8596651",
      "parents": [
        "6c79bcf351aa1dc2929f9e876ee794b98f165b80"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Aug 25 11:58:17 2011 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Sep 01 14:14:14 2011 -0700"
      },
      "message": "Add new dependency generation option to aidl.\n\nThe SDK build system does not provide an output file\nand instead uses the -o\u003cFOLDER\u003e option and lets aidl figure\nout the intermediary folders that represents the packages,\nand the filename based on the input file (and its package).\n\nBecause of this the -d\u003cFILE\u003e option to generate a dependency\nfile is not convenient.\n\nInstead the new option, -a (no parameters), automatically generate\na dependency files next to the output file.\n\nAlso, when compiling parcelable aidl files, without the -b option,\na dependency file is still generated. This is used by the SDK build\nsystem since it cannot parse the file separately and instead tries\nto compile every .aidl file.\nThe generation of this dependency file (which shows no output) allows\nto know when any type of aidl file has been compiled.\n\nChange-Id: If81dc7e1e0a780592c94d1850a1d1b094d6e7908\n"
    },
    {
      "commit": "29aae6f36e565b8f2a99f2193597b964bb800ee8",
      "tree": "72d0d0798fe9549ebc82e1766464d1fe3ea5233f",
      "parents": [
        "5b56f7d6f662a543d0432a46047a55f1ee900994"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 18 18:30:09 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 23 17:44:52 2011 -0700"
      },
      "message": "Fix issue #4279860: previous UI flashes before showing lock screen...\n\n...(when turning display on after recently turning it off)\n\nAlso clean up when we decide to turn the screen on to improve that\ntransition.  There are still problems here with turning it on\nbefore the wallpaper gets dispayed.\n\nChange-Id: I2bc56c12e5ad75a1ce5a0546f43a845bf0823e66\n"
    },
    {
      "commit": "8433c36a98c9f45c37d2c60afc8a6a27514ddf2b",
      "tree": "7f34f034dd8e6e354a97d9970fc4415fa697e164",
      "parents": [
        "110be0f1d9e66e0a40a0084db5ebc4285194a8d7"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Aug 22 13:13:16 2011 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Aug 22 13:13:16 2011 -0700"
      },
      "message": "LayoutLib: add native delegate for set/getHinting in Paint.\n\nChange-Id: I1758f8ce861240d72113aa23dcbef5a52abade56\n"
    },
    {
      "commit": "1797d6086f9acbea582cac6d484e749abafa1868",
      "tree": "4b1af23c311a9e261d3494d9b6b0bcb54550c9a6",
      "parents": [
        "6ccadb04a42703f8d6f51db5ada034ed01a48afa",
        "d98e1be20e1cca5c36c7e0344500d4a5574568aa"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Aug 18 14:51:43 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 18 14:51:43 2011 -0700"
      },
      "message": "am d98e1be2: am f4750724: am 9d829f98: am 21e6e2de: Merge \"Change generated dependency file names\"\n\n* commit \u0027d98e1be20e1cca5c36c7e0344500d4a5574568aa\u0027:\n  Change generated dependency file names\n"
    },
    {
      "commit": "d98e1be20e1cca5c36c7e0344500d4a5574568aa",
      "tree": "9fb8a00956a58e1eb452f7b91e109fa4461f8027",
      "parents": [
        "294539df2c05eb62c417e25b2e1c8a71474b09e6",
        "f4750724cf8db972a052cb388dc9a39fc7aa6dd6"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Aug 18 14:48:49 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 18 14:48:49 2011 -0700"
      },
      "message": "am f4750724: am 9d829f98: am 21e6e2de: Merge \"Change generated dependency file names\"\n\n* commit \u0027f4750724cf8db972a052cb388dc9a39fc7aa6dd6\u0027:\n  Change generated dependency file names\n"
    },
    {
      "commit": "f4750724cf8db972a052cb388dc9a39fc7aa6dd6",
      "tree": "41b012f385db8a87c920db44b35199dd1e2e119e",
      "parents": [
        "3e9413473f87ad17f3767ffbb0c57046c2db29be",
        "9d829f98dc19edecb2305b61b9c79517c4f95383"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Aug 18 14:45:36 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 18 14:45:36 2011 -0700"
      },
      "message": "am 9d829f98: am 21e6e2de: Merge \"Change generated dependency file names\"\n\n* commit \u00279d829f98dc19edecb2305b61b9c79517c4f95383\u0027:\n  Change generated dependency file names\n"
    },
    {
      "commit": "b711f3f7ee0544685ef26a1a4b4755d5a6233dba",
      "tree": "a597541ade9616440906a10db603d377d2211506",
      "parents": [
        "d144748d4767b2ccfb13857e23f78bc944e9531d"
      ],
      "author": {
        "name": "Josiah Gaskin",
        "email": "josiahgaskin@google.com",
        "time": "Mon Aug 15 18:33:44 2011 -0700"
      },
      "committer": {
        "name": "Josiah Gaskin",
        "email": "josiahgaskin@google.com",
        "time": "Tue Aug 16 08:14:51 2011 -0700"
      },
      "message": "Change generated dependency file names\n\nThis changes the name of the generated dependency files to R.java.d\nand \u003cApkName\u003e.ap_.d respectively.\n\nChange-Id: I17e18770fc0d0a5d31c7b37b40ac1949f45ef13a\n"
    },
    {
      "commit": "7f9f99ea11051614a7727dfb9f9578b518e76e3c",
      "tree": "d39b916bb092a717e028345813b53f6bcfa12f61",
      "parents": [
        "7277f3b9b26f0011475b39da1298484a510aca29"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Aug 11 10:16:17 2011 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Aug 11 12:57:51 2011 -0700"
      },
      "message": "Make some methods/fields package private so that layoutlib can access them.\n\nChange-Id: I4aeadfbaf8a4f6a459fa19937c21ac23d9e5fb64\n"
    },
    {
      "commit": "ea670054d6c5b59b8481cbf796e6a1cd9f38b672",
      "tree": "9e9a732c3a9034074ea755782650185b01d418d0",
      "parents": [
        "95b0292fb4e27a9dc273884be60dad8523b8bd7a"
      ],
      "author": {
        "name": "Philip Milne",
        "email": "pmilne@google.com",
        "time": "Tue Aug 09 11:22:59 2011 -0700"
      },
      "committer": {
        "name": "Philip Milne",
        "email": "pmilne@google.com",
        "time": "Tue Aug 09 11:25:25 2011 -0700"
      },
      "message": "Implement native println_native in android.util.Log for LayoutLib\n\nChange-Id: I2ab83a131468490cf789bf17f9c12b6360e953a4\n"
    },
    {
      "commit": "dfee59afb3e4cdcde38f6338f9360655de76da92",
      "tree": "9581ba1b0c6d7c0034e7ff69fcf85071a9244a1c",
      "parents": [
        "5d4967884132647a75d05bcc2ca1f9ce490b372f"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Aug 05 20:48:30 2011 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Sun Aug 07 14:17:30 2011 -0700"
      },
      "message": "Fix bug 5011824 - New Holo overflow menu for physical menu key devices\n\nThe new Holo-style overflow menu now appears from the edge of the screen\nwhere the device\u0027s physical menu key can be found. The policy determining\nthis lives in getPreferredOptionsPanelGravity() in WindowManagerService.\n\nChange-Id: I8851a2265547156591e82044e50b5cfc58d3eefa\n"
    },
    {
      "commit": "162c1dcd5e635d17d8425936d7729d0ae5ed1a62",
      "tree": "99ee7975eaa6671bdd10b0055eb7f3348c997b91",
      "parents": [
        "b389bdfba291382f9b306dd0e1bf7ba42fd94a4a"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Aug 03 17:20:58 2011 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Aug 03 17:23:12 2011 -0700"
      },
      "message": "Layoutlib: implement Resources.getBoolean(int).\n\nChange-Id: I44cee203bb9a8fabaebfd689fc20ec2f2a9b3561\n"
    },
    {
      "commit": "569ed054042f0350e898b4352694b792b0fdef9b",
      "tree": "430d7f0e59b61567513bea1cff1359a59bd96427",
      "parents": [
        "78a29c9fde5debc4abe3b0f093d35ddfcae60565"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Aug 02 10:44:53 2011 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Aug 02 10:55:18 2011 -0700"
      },
      "message": "Layoutlib: simple comment fix.\n\nChange-Id: I402f6b465706e8edd14e512a973d087a14abbfe3\n"
    },
    {
      "commit": "d2f664d42cc29507b01a98622298b69131463825",
      "tree": "21379de5fe0625ffcfb9e776dafef6d1e2614f6f",
      "parents": [
        "f7be31ee1062722855602c6b0227f01bdb7c0b80"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Fri Jul 29 17:41:39 2011 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Aug 01 15:08:26 2011 -0700"
      },
      "message": "Misc layoutlib fix in preparation of the access change in framework code.\n\nChange-Id: I873adb7345514be6daa5c4fea4ebabb515f203e2\n"
    },
    {
      "commit": "395c86f7f659e3ffc834689576cc738b517d3b9e",
      "tree": "3081a301646215c02456d4c0b6c8b29e471e2a6f",
      "parents": [
        "fcbb4924864976339d5ad8b7adb925d7a050df6a",
        "6abf2f501e60132a5369ad5b15b388912c8e9e5b"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Jul 27 18:43:32 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 27 18:43:32 2011 -0700"
      },
      "message": "am 6abf2f50: am 0b45ca88: am cd01ad7c: am 20339b24: Merge \"Remove Debug Code\"\n\n* commit \u00276abf2f501e60132a5369ad5b15b388912c8e9e5b\u0027:\n  Remove Debug Code\n"
    },
    {
      "commit": "6abf2f501e60132a5369ad5b15b388912c8e9e5b",
      "tree": "e7b4001eb87e942aa3259e9260c75cd75a72184d",
      "parents": [
        "8ce53e387e2b4427265ae9e43bc15d9fe850643d",
        "0b45ca8884acfd2e9ccdcb3fbe641a46b116bda0"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Jul 27 18:40:49 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 27 18:40:49 2011 -0700"
      },
      "message": "am 0b45ca88: am cd01ad7c: am 20339b24: Merge \"Remove Debug Code\"\n\n* commit \u00270b45ca8884acfd2e9ccdcb3fbe641a46b116bda0\u0027:\n  Remove Debug Code\n"
    },
    {
      "commit": "0b45ca8884acfd2e9ccdcb3fbe641a46b116bda0",
      "tree": "6ea23c651a81ebec8791b869118a04be3f866815",
      "parents": [
        "c682559d3c39aa4503d5c4d60ae046393aa45b79",
        "cd01ad7cc7813e3067826945c2a472602f1d3509"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Jul 27 18:38:50 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 27 18:38:50 2011 -0700"
      },
      "message": "am cd01ad7c: am 20339b24: Merge \"Remove Debug Code\"\n\n* commit \u0027cd01ad7cc7813e3067826945c2a472602f1d3509\u0027:\n  Remove Debug Code\n"
    },
    {
      "commit": "20339b24394be06c5bfe5157a4b35adc48f665eb",
      "tree": "9752f9a3abb307c58f1fa8644d7f2b252303eec5",
      "parents": [
        "4d1fa60bfe660fd0fc6671116da597c0027cbb16",
        "7a09ccfb5052dc555d54ef77177083616e8f1b69"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Jul 27 18:26:01 2011 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Wed Jul 27 18:26:01 2011 -0700"
      },
      "message": "Merge \"Remove Debug Code\""
    },
    {
      "commit": "7a09ccfb5052dc555d54ef77177083616e8f1b69",
      "tree": "f6b1bd9157eaa29ac397d3739193a3299566e18a",
      "parents": [
        "6800a80199477c90fc64af7211a177de06478a02"
      ],
      "author": {
        "name": "Josiah Gaskin",
        "email": "josiahgaskin@google.com",
        "time": "Wed Jul 27 17:45:32 2011 -0700"
      },
      "committer": {
        "name": "Josiah Gaskin",
        "email": "josiahgaskin@google.com",
        "time": "Wed Jul 27 17:45:32 2011 -0700"
      },
      "message": "Remove Debug Code\n\nThis change removes debugging code from FileFinder.\nThis code was considered harmful because it uses the std::cout\nfrom \u003ciostream\u003e.\n\nChange-Id: Iad9b5e8a631883bd4854abdb29bc6df8a5b4a056\n"
    },
    {
      "commit": "3d5a703db83265f7914eed8580de986106abfad2",
      "tree": "3ef1e72cf1335a1bb9d36ac1b6f86f0a1b84c302",
      "parents": [
        "be922d6006879692d100894dc924d947b50aed34",
        "bc68a59c024bdb745dac8e2ec7408a9f30595f1a"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jul 27 15:54:50 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 27 15:54:50 2011 -0700"
      },
      "message": "Merge \"Report the external display size to the input reader.\""
    },
    {
      "commit": "388432ac4326fc16e69f45784ee76aa1a6260272",
      "tree": "e6252ab35f329fae56e759fec26014ea0a82fbe2",
      "parents": [
        "d3cb204a7b5140d6f59ed9f9f64ef3cbdae3acba",
        "af2872d1e324ed67b44b4f44e2d83b1f0d985027"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jul 27 15:54:39 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 27 15:54:39 2011 -0700"
      },
      "message": "Merge \"Change ZipFile flags anonymous enum\""
    },
    {
      "commit": "bc68a59c024bdb745dac8e2ec7408a9f30595f1a",
      "tree": "9b3cfa4dc30eb787cbd828e97f7d816d5a91e68d",
      "parents": [
        "49754db5a304d995c1cc108ff6f19e4ba4265572"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 25 12:58:12 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 25 20:10:12 2011 -0700"
      },
      "message": "Report the external display size to the input reader.\n\nThe input reader needs this information so that it knows how to\ninterpolate touches on an external touch screen.\n\nChanged Display so that it asks the WindowManager what the real\ndisplay size is (as opposed to the raw display size).  This means\nit now takes into the forced display size set by\nadb shell am display-size.\n\nReplaced all calls to getRealWidth() / getRealHeight() /\ngetRealMetrics() in the WindowManager and replaced them with direct\nusages of the mCurDisplayWidth / mCurDisplayHeight so that the WM\ndoesn\u0027t end up making a reentrant Binder call into itself.\n\nFixed the table status bar HeightReceiver so that it updates the\nheight on all configuration changes since it is possible that the\ndisplay size changed independently of an external HDMI display\nbeing plugged / unplugged.\n\nImproved the Display class documentation to make the distinctions\nbetweeen the various sizes clearer.\n\nChange-Id: I3f75de559d3ebffed532ab46c4ae52c5e7f1da2b\n"
    },
    {
      "commit": "4f727fbdc302946b9b677e2518350dd3574d198a",
      "tree": "66cab48f2a59ec8de46001b97024133ba77d4332",
      "parents": [
        "fa93052d91ab6e6da3195ce3872c4543beb6d5c9",
        "ed07215e482cae1ffedbba707284821b3afc310f"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Jul 25 17:24:56 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jul 25 17:24:56 2011 -0700"
      },
      "message": "am ed07215e: am 55775e5f: am e70b2b8f: am 9bcf26ea: Merge \"Layoutlib_create flag -p: don\\\u0027t change all accesses to public.\"\n\n* commit \u0027ed07215e482cae1ffedbba707284821b3afc310f\u0027:\n  Layoutlib_create flag -p: don\u0027t change all accesses to public.\n"
    },
    {
      "commit": "af2872d1e324ed67b44b4f44e2d83b1f0d985027",
      "tree": "248c7929317a9c0eda33da867be4cef25b8f50c2",
      "parents": [
        "b243d5bc7db88396f0da304553687e7a0bccfa3d"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Jul 25 12:55:41 2011 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Jul 25 16:49:17 2011 -0700"
      },
      "message": "Change ZipFile flags anonymous enum\n\nThe arguments that ZipFile takes were apparently meant to be a typed\nenum, but the name of the type was taken out because it creates invalid\nconversion warnings in C++ since this is an invalid use of enum.\n\nJust change the typedef enum to an anonymous enum so we get rid of the\ncompiler warnings. It will be implicitly converted to int instead.\n\nChange-Id: Ie72c4c235c8f9ee8fd1b795e1010b77c55e983de\n"
    },
    {
      "commit": "ed07215e482cae1ffedbba707284821b3afc310f",
      "tree": "0a4b4a868ae68249e5ee9f26a7cc9dea5e66201b",
      "parents": [
        "64ed105957098a900d58e7c2598e060cb37755ce",
        "55775e5f34af8d7c22ab3212c253b3a7d34a6f8a"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Jul 25 12:21:17 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jul 25 12:21:17 2011 -0700"
      },
      "message": "am 55775e5f: am e70b2b8f: am 9bcf26ea: Merge \"Layoutlib_create flag -p: don\\\u0027t change all accesses to public.\"\n\n* commit \u002755775e5f34af8d7c22ab3212c253b3a7d34a6f8a\u0027:\n  Layoutlib_create flag -p: don\u0027t change all accesses to public.\n"
    },
    {
      "commit": "55775e5f34af8d7c22ab3212c253b3a7d34a6f8a",
      "tree": "87b37b98bfbe1201ed236aef1f563fb914539c04",
      "parents": [
        "e612c881ecf74770098aa9c07d4f0611ac982038",
        "e70b2b8fe0c265171f3a367a66c99b36c62567c7"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Jul 21 16:25:50 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 21 16:25:50 2011 -0700"
      },
      "message": "am e70b2b8f: am 9bcf26ea: Merge \"Layoutlib_create flag -p: don\\\u0027t change all accesses to public.\"\n\n* commit \u0027e70b2b8fe0c265171f3a367a66c99b36c62567c7\u0027:\n  Layoutlib_create flag -p: don\u0027t change all accesses to public.\n"
    },
    {
      "commit": "e70b2b8fe0c265171f3a367a66c99b36c62567c7",
      "tree": "7bc6330ca5ecd1f2993bb1c0f30ac6e633d77b42",
      "parents": [
        "4f3a8db64d75cd3e88213d3b105dc50fc5bd6262",
        "9bcf26ea7aa108ce4bf4e973b4774d3e60eebafe"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Jul 21 16:23:18 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 21 16:23:18 2011 -0700"
      },
      "message": "am 9bcf26ea: Merge \"Layoutlib_create flag -p: don\\\u0027t change all accesses to public.\"\n\n* commit \u00279bcf26ea7aa108ce4bf4e973b4774d3e60eebafe\u0027:\n  Layoutlib_create flag -p: don\u0027t change all accesses to public.\n"
    },
    {
      "commit": "9bcf26ea7aa108ce4bf4e973b4774d3e60eebafe",
      "tree": "fc27ba7544aaa9f2c4d52b991f59adea7121f0be",
      "parents": [
        "3cf039876177b5b314b635bb12a1dae1b42f4605",
        "caed59d90db8626462baaec351e66b2a3280dc34"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Jul 21 16:17:03 2011 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Thu Jul 21 16:17:03 2011 -0700"
      },
      "message": "Merge \"Layoutlib_create flag -p: don\u0027t change all accesses to public.\""
    },
    {
      "commit": "3a8801e0599cfd8f12750d65ee309e20a33e04f6",
      "tree": "07b015062432700566dec6b77e80779fa2d5eddb",
      "parents": [
        "f5a4dd386fcbe200ad9c5d06ecf66d31ba8d4e30",
        "b3ab070edb17f00a4b2d0f511ca539c885b28b6f"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Jul 20 18:56:52 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 20 18:56:52 2011 -0700"
      },
      "message": "am b3ab070e: am 3a2d1c23: am ddb8e3b2: am 9bac0a9f: Merge \"Fix to compile for windows\"\n\n* commit \u0027b3ab070edb17f00a4b2d0f511ca539c885b28b6f\u0027:\n  Fix to compile for windows\n"
    },
    {
      "commit": "b3ab070edb17f00a4b2d0f511ca539c885b28b6f",
      "tree": "6b574399fe937e834584bec3bc6bea4614fb3e19",
      "parents": [
        "84be06e4ce0778fbf0c1ac72f94795ef8433439b",
        "3a2d1c2351c0b4eeb4dc4d91d1c334b9f8ba00ed"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Jul 20 18:55:21 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 20 18:55:21 2011 -0700"
      },
      "message": "am 3a2d1c23: am ddb8e3b2: am 9bac0a9f: Merge \"Fix to compile for windows\"\n\n* commit \u00273a2d1c2351c0b4eeb4dc4d91d1c334b9f8ba00ed\u0027:\n  Fix to compile for windows\n"
    },
    {
      "commit": "3a2d1c2351c0b4eeb4dc4d91d1c334b9f8ba00ed",
      "tree": "56cd474eb51d1c1f80cde02a4217937e3081db91",
      "parents": [
        "ea9e6d24a458c06df6237fddd22b6165b2f92cb5",
        "ddb8e3b24b2fe3e4371ca8c1239748f5c71910f6"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Jul 20 18:53:08 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 20 18:53:08 2011 -0700"
      },
      "message": "am ddb8e3b2: am 9bac0a9f: Merge \"Fix to compile for windows\"\n\n* commit \u0027ddb8e3b24b2fe3e4371ca8c1239748f5c71910f6\u0027:\n  Fix to compile for windows\n"
    },
    {
      "commit": "ddb8e3b24b2fe3e4371ca8c1239748f5c71910f6",
      "tree": "8f481d25b1c34db709fff71195008e94134cc861",
      "parents": [
        "b582af31c74a58922120fdb747c1a3b867d95e90",
        "9bac0a9f93976ff341fc9c46b3a85be767119a88"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Jul 20 18:49:46 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 20 18:49:46 2011 -0700"
      },
      "message": "am 9bac0a9f: Merge \"Fix to compile for windows\"\n\n* commit \u00279bac0a9f93976ff341fc9c46b3a85be767119a88\u0027:\n  Fix to compile for windows\n"
    },
    {
      "commit": "9102165fd8be64bdc9110d0839a84fcdfa5b68cb",
      "tree": "3c9f6a6449ee315a165192ff8f8b9d2280809bc9",
      "parents": [
        "0bc12a0b13719976aff95a801d88e48c64510d11"
      ],
      "author": {
        "name": "Josiah Gaskin",
        "email": "josiahgaskin@google.com",
        "time": "Wed Jul 20 17:33:08 2011 -0700"
      },
      "committer": {
        "name": "Josiah Gaskin",
        "email": "josiahgaskin@google.com",
        "time": "Wed Jul 20 18:22:26 2011 -0700"
      },
      "message": "Fix to compile for windows\n\nThis change includes a workaround for dirent.h on windows not\nincluding d_type.\n\nChange-Id: Ieaa3f298d2e6b32f2d8367384a1d02a2f5d06cca\n"
    },
    {
      "commit": "ac1fe6f8460448d379721677a064868e103a2260",
      "tree": "210b3ac8b0e15d02a24ea5b31b29867dfa4cec66",
      "parents": [
        "ae7c0926499491999fa5964d75fd05a1b5f4480d",
        "84be06e4ce0778fbf0c1ac72f94795ef8433439b"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Jul 20 17:49:26 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 20 17:49:26 2011 -0700"
      },
      "message": "am 84be06e4: resolved conflicts for merge of ea9e6d24 to honeycomb-plus-aosp\n\n* commit \u002784be06e4ce0778fbf0c1ac72f94795ef8433439b\u0027:\n  Added Caching for PreProcessed PNGs\n"
    },
    {
      "commit": "84be06e4ce0778fbf0c1ac72f94795ef8433439b",
      "tree": "ea9b35882420896cfba281f17293bce74e564089",
      "parents": [
        "a125c937de06b1cc43368743592f47513eb88b76",
        "ea9e6d24a458c06df6237fddd22b6165b2f92cb5"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Jul 20 17:45:11 2011 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Jul 20 17:45:11 2011 -0700"
      },
      "message": "resolved conflicts for merge of ea9e6d24 to honeycomb-plus-aosp\n\nChange-Id: I8e047147a4d2c899b6654c03a5f32b04d929e602\n"
    },
    {
      "commit": "e53365f6f145303b8c7a0613189ad415959dd697",
      "tree": "83922948d5c70b79f6b58d05c696291cca3bb291",
      "parents": [
        "0f4e81df9942dbea16f803bb795cae057fb085f5",
        "a125c937de06b1cc43368743592f47513eb88b76"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Jul 20 17:18:04 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 20 17:18:04 2011 -0700"
      },
      "message": "am a125c937: resolved conflicts for merge of 2c311be7 to honeycomb-plus-aosp\n\n* commit \u0027a125c937de06b1cc43368743592f47513eb88b76\u0027:\n  Add generation of dependency file for .ap_ package\n"
    },
    {
      "commit": "a125c937de06b1cc43368743592f47513eb88b76",
      "tree": "514f08565d17813860d4cc240162806f3fda9816",
      "parents": [
        "57aebc6109f2059ba335a02bf95928a494cff4ba",
        "2c311be720341e3249887e592bbc1881008b02bd"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Jul 20 16:31:25 2011 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Jul 20 16:31:25 2011 -0700"
      },
      "message": "resolved conflicts for merge of 2c311be7 to honeycomb-plus-aosp\n\nChange-Id: I806c7b4ae95f66df621587e52497dd8739a115fe\n"
    },
    {
      "commit": "ea9e6d24a458c06df6237fddd22b6165b2f92cb5",
      "tree": "25d5a8f238f4d21b5e219e8c228c18328c9e28c3",
      "parents": [
        "2c311be720341e3249887e592bbc1881008b02bd",
        "b582af31c74a58922120fdb747c1a3b867d95e90"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Jul 20 16:02:33 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 20 16:02:33 2011 -0700"
      },
      "message": "am b582af31: am 0bc12a0b: Merge \"Added Caching for PreProcessed PNGs\"\n\n* commit \u0027b582af31c74a58922120fdb747c1a3b867d95e90\u0027:\n  Added Caching for PreProcessed PNGs\n"
    },
    {
      "commit": "b582af31c74a58922120fdb747c1a3b867d95e90",
      "tree": "5d173bd4bb432b61324081c45219f62df263999a",
      "parents": [
        "3082449508a8c574d0476fdb988f98d9554637ae",
        "0bc12a0b13719976aff95a801d88e48c64510d11"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Jul 20 16:00:44 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 20 16:00:44 2011 -0700"
      },
      "message": "am 0bc12a0b: Merge \"Added Caching for PreProcessed PNGs\"\n\n* commit \u00270bc12a0b13719976aff95a801d88e48c64510d11\u0027:\n  Added Caching for PreProcessed PNGs\n"
    },
    {
      "commit": "2c311be720341e3249887e592bbc1881008b02bd",
      "tree": "42355e81f98af1743af7e0c4a70e50d5af4fcdd4",
      "parents": [
        "ba6c98db8f21016f81ecac35bb0ea3c433044bb7",
        "3082449508a8c574d0476fdb988f98d9554637ae"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Jul 20 15:27:39 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 20 15:27:39 2011 -0700"
      },
      "message": "am 30824495: am 1e24ccbd: Merge \"Add generation of dependency file for .ap_ package\"\n\n* commit \u00273082449508a8c574d0476fdb988f98d9554637ae\u0027:\n  Add generation of dependency file for .ap_ package\n"
    },
    {
      "commit": "3082449508a8c574d0476fdb988f98d9554637ae",
      "tree": "b52bf802f09270f3c564661d57e0450b2ffafd4d",
      "parents": [
        "82943ecfe2c4266cf3db50326240825fefcaa38f",
        "1e24ccbdd56a45c8bb5f2eba94af5aecd2d02554"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Jul 20 15:23:55 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 20 15:23:55 2011 -0700"
      },
      "message": "am 1e24ccbd: Merge \"Add generation of dependency file for .ap_ package\"\n\n* commit \u00271e24ccbdd56a45c8bb5f2eba94af5aecd2d02554\u0027:\n  Add generation of dependency file for .ap_ package\n"
    },
    {
      "commit": "8a39da80b33691b0c82458c3b7727e13ff71277e",
      "tree": "b6fa94370ecb2dba85d5fdb45c83729cef8708e1",
      "parents": [
        "1e24ccbdd56a45c8bb5f2eba94af5aecd2d02554"
      ],
      "author": {
        "name": "Josiah Gaskin",
        "email": "josiahgaskin@google.com",
        "time": "Mon Jun 06 17:00:35 2011 -0700"
      },
      "committer": {
        "name": "Josiah Gaskin",
        "email": "josiahgaskin@google.com",
        "time": "Wed Jul 20 15:20:26 2011 -0700"
      },
      "message": "Added Caching for PreProcessed PNGs\n\nAdded a cache management system for pre-processed PNG files\nalong with unit tests. The cache system will be used if\nthe --no-crunch flag is passed to AAPT during the package\nphase. The cache can be updated by a call to \u0027aapt crunch\u0027\n(see usage statement). Also put in benchmarking code.\n\nChange-Id: I58271fb2ee2f5f9075fd74d4ff6f15e7afabd05c\n"
    },
    {
      "commit": "caed59d90db8626462baaec351e66b2a3280dc34",
      "tree": "321f7c680bb71591cb2b95fa0afb0449e0c720f3",
      "parents": [
        "d40c93f61ca5b3f2351b8db716f67b58f1625e85"
      ],
      "author": {
        "name": "Raphael Moll",
        "email": "ralf@android.com",
        "time": "Tue Jul 19 22:36:13 2011 -0700"
      },
      "committer": {
        "name": "Raphael Moll",
        "email": "ralf@android.com",
        "time": "Tue Jul 19 22:36:13 2011 -0700"
      },
      "message": "Layoutlib_create flag -p: don\u0027t change all accesses to public.\n\nChange-Id: Icb1709ed0cb275a5a51ca34030695a5e94091499\n"
    },
    {
      "commit": "af64556de0064eeb5a4d4e6d634c3f074f5f40ce",
      "tree": "aaeb6dba4b713c2d7a21621d00555d823104316c",
      "parents": [
        "f2cc48fe8bea26bd07cb943b8308a19336536867"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jul 19 15:10:23 2011 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jul 19 15:10:23 2011 -0700"
      },
      "message": "Layoutlib: misc fix + start of AndroidBidi support.\n\nChange-Id: If2ce0b683da8cce01679322d503eed8dd474e521\n"
    },
    {
      "commit": "c810fffe1ffda8876c083f10b5f2b3b197768809",
      "tree": "c1156134ff4a0ab798c1c0e588dca02c650be9a4",
      "parents": [
        "e242042b81bc88c6231caf4628d0c7364b29abad",
        "9139868b6c5cb29b3665984225dceb0193fec31d"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jul 19 10:23:19 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 19 10:23:19 2011 -0700"
      },
      "message": "am 9139868b: am ba6c98db: am 82943ecf: am d40c93f6: Merge \"Add dependency generation to Aapt for R.java\"\n\n* commit \u00279139868b6c5cb29b3665984225dceb0193fec31d\u0027:\n  Add dependency generation to Aapt for R.java\n"
    },
    {
      "commit": "e242042b81bc88c6231caf4628d0c7364b29abad",
      "tree": "ea9531e5b2a3244d12bb541e8b664d56c48dfd0b",
      "parents": [
        "5f9fa8826887dd9a97617d5637a3862baf7b5913",
        "bf31250ba0858a2e72a3906a1f0216846683bc2e"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jul 19 10:23:16 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 19 10:23:16 2011 -0700"
      },
      "message": "am bf31250b: am d5431ed5: am 2e659ae5: am 42755155: Merge \"Copy once-created R.java into library projects\"\n\n* commit \u0027bf31250ba0858a2e72a3906a1f0216846683bc2e\u0027:\n  Copy once-created R.java into library projects\n"
    },
    {
      "commit": "9139868b6c5cb29b3665984225dceb0193fec31d",
      "tree": "01c3dfab0f56bfcf38d32f2c2054915a6864d10d",
      "parents": [
        "bf31250ba0858a2e72a3906a1f0216846683bc2e",
        "ba6c98db8f21016f81ecac35bb0ea3c433044bb7"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jul 19 10:18:28 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 19 10:18:28 2011 -0700"
      },
      "message": "am ba6c98db: am 82943ecf: am d40c93f6: Merge \"Add dependency generation to Aapt for R.java\"\n\n* commit \u0027ba6c98db8f21016f81ecac35bb0ea3c433044bb7\u0027:\n  Add dependency generation to Aapt for R.java\n"
    },
    {
      "commit": "bf31250ba0858a2e72a3906a1f0216846683bc2e",
      "tree": "7bcccb6aa598b8c4ffcec17e534f5a84f7a2b2f6",
      "parents": [
        "6e8c7dd2128b2a46f5d56ed46d4d530af6ad38f5",
        "d5431ed5505a42e5e33c8bf7cc2ff72792979be9"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jul 19 10:18:25 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 19 10:18:25 2011 -0700"
      },
      "message": "am d5431ed5: am 2e659ae5: am 42755155: Merge \"Copy once-created R.java into library projects\"\n\n* commit \u0027d5431ed5505a42e5e33c8bf7cc2ff72792979be9\u0027:\n  Copy once-created R.java into library projects\n"
    },
    {
      "commit": "ba6c98db8f21016f81ecac35bb0ea3c433044bb7",
      "tree": "8b085339eafa29cdb40a777319cd942bae6f1b16",
      "parents": [
        "d5431ed5505a42e5e33c8bf7cc2ff72792979be9",
        "82943ecfe2c4266cf3db50326240825fefcaa38f"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jul 19 10:15:11 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 19 10:15:11 2011 -0700"
      },
      "message": "am 82943ecf: am d40c93f6: Merge \"Add dependency generation to Aapt for R.java\"\n\n* commit \u002782943ecfe2c4266cf3db50326240825fefcaa38f\u0027:\n  Add dependency generation to Aapt for R.java\n"
    },
    {
      "commit": "d5431ed5505a42e5e33c8bf7cc2ff72792979be9",
      "tree": "dc400c2878d748a178c40ba32a0c3972e2ff1db2",
      "parents": [
        "a4aef41a74a69b0296b88361ffb33d0470a26362",
        "2e659ae59c17a0c0584d35b8c400a294c9d49e12"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jul 19 10:15:09 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 19 10:15:09 2011 -0700"
      },
      "message": "am 2e659ae5: am 42755155: Merge \"Copy once-created R.java into library projects\"\n\n* commit \u00272e659ae59c17a0c0584d35b8c400a294c9d49e12\u0027:\n  Copy once-created R.java into library projects\n"
    },
    {
      "commit": "82943ecfe2c4266cf3db50326240825fefcaa38f",
      "tree": "4ed53fe7ca63c27c35379236ab80debace4c0108",
      "parents": [
        "2e659ae59c17a0c0584d35b8c400a294c9d49e12",
        "d40c93f61ca5b3f2351b8db716f67b58f1625e85"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jul 19 10:10:17 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 19 10:10:17 2011 -0700"
      },
      "message": "am d40c93f6: Merge \"Add dependency generation to Aapt for R.java\"\n\n* commit \u0027d40c93f61ca5b3f2351b8db716f67b58f1625e85\u0027:\n  Add dependency generation to Aapt for R.java\n"
    },
    {
      "commit": "2e659ae59c17a0c0584d35b8c400a294c9d49e12",
      "tree": "0001ad6ea39148a4dafb95e331d397aecf9b3fe4",
      "parents": [
        "a74774fd9146aa22801487d3652dc18e9e328b8e",
        "42755155d6e8ddc3201b08def2bf262a64fa25f2"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jul 19 10:10:15 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 19 10:10:15 2011 -0700"
      },
      "message": "am 42755155: Merge \"Copy once-created R.java into library projects\"\n\n* commit \u002742755155d6e8ddc3201b08def2bf262a64fa25f2\u0027:\n  Copy once-created R.java into library projects\n"
    },
    {
      "commit": "03589cc65355220e0a4a0c816189a9fa25cc81fc",
      "tree": "ebe98e64c530708e8709025e8ad051c714eab9a3",
      "parents": [
        "9bf34ca6f85309c65b0ebdf614cb8266401b49ba"
      ],
      "author": {
        "name": "Josiah Gaskin",
        "email": "josiahgaskin@google.com",
        "time": "Mon Jun 27 16:26:02 2011 -0700"
      },
      "committer": {
        "name": "Josiah Gaskin",
        "email": "josiahgaskin@google.com",
        "time": "Mon Jul 18 16:37:55 2011 -0700"
      },
      "message": "Add generation of dependency file for .ap_ package\n\nMake Aapt generate a dependency file in the same directory as the\noutput ap_ file if the --generate-dependencies flag is set.\nThis dependency file can then be read by the ant exec loop task\nto see whether to repackage resources.\n\nChange-Id: I763679414daf76369700aa599c26dcf78d4de099\n"
    },
    {
      "commit": "91e88122cf28a48fd2e2260da7d3d87dd437227a",
      "tree": "b448f50dfd296574e5dabc6a9393624ad4a39868",
      "parents": [
        "bd029f64f2c695d49ea169f4c5c107e8172a1de5"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Mon Jul 18 11:11:42 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue Jul 19 04:59:48 2011 +0900"
      },
      "message": "Enable IMEs to set additional subtypes in background\n\nBug: 4591792\n\nChange-Id: I7e61a576c56d1a3a56001bdf2fd51ad3801add01\n"
    }
  ],
  "next": "49062e3b4cae08e41a0fee5002eee50d58a827db"
}
