)]}'
{
  "log": [
    {
      "commit": "095cd2e2d14e4fe25b66df54861fb66000a25adc",
      "tree": "b16c8e094f998b23b77a68e364e70f45629f13b5",
      "parents": [
        "12a5475205243bc2d069a87d2c7d4982b5f4d11d"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Jul 18 18:06:09 2012 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Jul 19 09:06:03 2012 -0700"
      },
      "message": "Fix aapt -G to properly support class attr in fragment.\n\nThe code added attributes android:name and class to a\nKeyedVector under the same key (fragment) so the 2nd\nadd (android:name) removed class with was never checked.\n\nThis replace the value type in the KeyedVector to be\nVector\u003cNamespaceAttributePair\u003e instead of just\nNamespaceAttributePair.\n\nChange-Id: I009b8a8cca878191661c2a63bb14c967d230498d\n"
    },
    {
      "commit": "54a18ef7ad9da65a95f4d383952ae6268f8a4f34",
      "tree": "627ce814923bcd9cedc56c43b57faeddd2f1bea5",
      "parents": [
        "40a4ab130a3e3c99afb1a57e9aa30de03a89b51e"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Jul 09 15:53:40 2012 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jul 10 12:51:30 2012 -0700"
      },
      "message": "Replace LruCache implementation for layoutlib. do not merge.\n\nThe android version depends on a custom version of LinkedHashMap\nwhich is not present on desktop VMs. This new implementation is done\nin a way that minimizes the difference between the two.\n\nAlso some minor fixes.\n\n(cherry picked from commit 01b6c755dbcf24e71192dc44757e2eea2a426091)\n\nChange-Id: Idc7bca820e472e281a3024a5b610fd55606cf428\n"
    },
    {
      "commit": "4d7f301f94b9d2dda0ef109e9991ad2d77442f75",
      "tree": "f7a5bbab6a84abe5b9272b3e294e130c80e4ea72",
      "parents": [
        "1b36a68f607538bd090c33b31bd418169657ff6c"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jun 19 18:01:50 2012 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jun 19 18:02:21 2012 -0700"
      },
      "message": "Disable debug output in SDK layoutlib.\n\nBug: 6697442\n\nChange-Id: I9741761342ea220c158aa124089430b0db80bf7e\n"
    },
    {
      "commit": "2bd8d0403be62df679f0f94ab4d84c9ae9a2e918",
      "tree": "64bab80cac947253c02794f0aea7d765aecb5e3b",
      "parents": [
        "a7e3a1e0e7d308e7e78a1992038a34485d04ab29"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 11 12:27:05 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 11 12:27:05 2012 -0700"
      },
      "message": "Fix issue #6641368: can\u0027t launch gallery\n\nThis is a revert of 1db36528b12395b9ed9bf8a1005a6d4ace737627,\nbut with comments added so I don\u0027t make this mistake again. :)\n\nChange-Id: I053216279e3721f08f32f561bb989736ef619f82\n"
    },
    {
      "commit": "bb47cf66ec72adff895d0e8b94c26f5d438be49a",
      "tree": "58824f18a2e3e751de8ef06e5cb2883bb19a36a5",
      "parents": [
        "6593be0c200f69d932e40e05e9df54b89c157c48"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 04 10:51:17 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 04 10:51:17 2012 -0700"
      },
      "message": "Fix build.\n\nChange-Id: I41415fed99d98406bc033289428bde59475c2917\n"
    },
    {
      "commit": "6ae8d1821822296df0606c9cd1c46708cc21cb58",
      "tree": "eb4b17b255b1f0e78078923474afcaad67755f12",
      "parents": [
        "3dac02265e42bf176e26b83da430ce15d6fd06df"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 23 13:12:42 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 29 13:33:09 2012 -0700"
      },
      "message": "Fix (mostly) issue #5109947: Race condition between retrieving a...\n\n...content provider and updating its oom adj\n\nThis introduces the concept of an \"unstable\" reference on a content\nprovider.  When holding such a reference (and no normal stable ref),\nthe content provider dying will not cause the client process to be\nkilled.\n\nThis is used in ContentResolver.query(), .openAssetFileDescriptor(),\nand .openTypedAssetFileDescriptor() to first access the provider\nwith an unstable reference, and if at the point of calling into the\nprovider we find it is dead then acquiring a new stable reference\nand doing the operation again.  Thus if the provider process dies\nat any point until we get the result back, our own process will not\nbe killed and we can safely retry the operation.\n\nArguably there is still the potential for a race -- if somehow the\nprovider is killed way late by the OOM killer after the query or\nopen has returned -- but this should now be *extremely* unlikely.\nWe also continue to have the issue with the other calls, but these\nare much less critical, and the same model can\u0027t be used there (we\nwouldn\u0027t want to execute two insert operations for example).\n\nThe implementation of this required some significant changes to the\nunderlying plumbing of content providers, now keeping track of the\ntwo different reference counts, and managing them appropriately.  To\nfacilitate this, the activity manager now has a formal connection\nobject for a client reference on a content provider, which hands to\nthe application when opening the provider.\n\nThese changes have allowed a lot of the code to be cleaned up and\nsubtle issues closed.  For example, when a process is crashing, we\nnow have a much better idea of the state of content provider clients\n(olding a stable ref, unstable ref, or waiting for it to launch), so\nthat we can correctly handle each of these.\n\nThe client side code is also a fair amount cleaner, though in the\nfuture there is more than should be done.  In particular, the two\nProviderClientRecord and ProviderRefCount classes should be combined\ninto one, part of which is exposed to the ContentResolver internal\nAPI as a reference on a content provider with methods for updating\nreference counts and such.  Some day we\u0027ll do that.\n\nChange-Id: I87b10d1b67573ab899e09ca428f1b556fd669c8c\n"
    },
    {
      "commit": "996b073e813ba1a22a13282ccdebb664f14ba898",
      "tree": "0f59bedc48c4da4a49b82eac6170c5d8d7e37e6f",
      "parents": [
        "0eaeb69d1c4849da8ab1df70b84e90837193df67"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue May 22 11:24:22 2012 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue May 22 11:35:22 2012 -0700"
      },
      "message": "Fix length of pattern.\n\nAfter skipping * with \"token++\", the length should decrease by 1 as\nwell.\n\nChange-Id: I132eb7d12bb756f2f713c607e92741ca834aef81\n"
    },
    {
      "commit": "9c06ac09c3530c5f0bc0b47a3350eedb5b539c35",
      "tree": "4ce6121aa3126bd243e014b449df65c72296de1f",
      "parents": [
        "ee3bb6498adc801023798b4fc48b5dcd77e059f5",
        "6c255a3a378143af59021d29b4980b28f1ab4544"
      ],
      "author": {
        "name": "Raphael Moll",
        "email": "ralf@android.com",
        "time": "Mon May 21 13:09:29 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 21 13:09:29 2012 -0700"
      },
      "message": "Merge \"Merge \"AAPT: support a new --ignore-assets flag.\"\" into jb-dev"
    },
    {
      "commit": "6c255a3a378143af59021d29b4980b28f1ab4544",
      "tree": "145d2632678e6227c664a046de8930ff2e3873be",
      "parents": [
        "43a760ba84a5357bae792a33ad4a0e946f02679c"
      ],
      "author": {
        "name": "Raphael Moll",
        "email": "ralf@android.com",
        "time": "Mon May 07 16:16:46 2012 -0700"
      },
      "committer": {
        "name": "Raphael Moll",
        "email": "raphael@google.com",
        "time": "Fri May 18 20:34:44 2012 -0700"
      },
      "message": "Merge \"AAPT: support a new --ignore-assets flag.\"\n\nAAPT has a fixed built-in list of files and directories\nto ignore when parsing resource files. Over the years we\nalways had developers requiring specific patterns.\n\nAdded a command-line option for it:\n  aapt di --ignore-assets \"foo*:*.blah\"\n\nIf the env var ANDROID_AAPT_IGNORE is set, it is parsed\nto find which file/directory patterns to ignore.\n\nOtherwise a default is used that matches the current behavior.\n\nSDK Bug: 5343 24067\n\n(cherry-pick from AOSP 90897ed87bce639bf6bb2ccf15fbabb59b131bab)\n\nChange-Id: Ia4caa2a8188c8c1df143f884e459b8182645995f\n"
    },
    {
      "commit": "9275197d35a99c3f187d18d0eda6ead3b8a32603",
      "tree": "ba364f6cf805ce6dac0d3eb8ced5d82d71cd956a",
      "parents": [
        "fb5c3dba4ddac023cfd4cdcabdfdbcf343197c94"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 18 19:22:14 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 18 19:23:19 2012 -0700"
      },
      "message": "Add aapt support for generating proguard rules for onClick methods.\n\nAlso fix Activity menu inflater when using the dark on light\ntheme wrapper to still be able to find onClick listeners.\n\nChange-Id: Ie206db26d1df96041bc477804e476b02ad99dc9d\n"
    },
    {
      "commit": "98e00add5544df3d8fc1804bc0be825b2238701c",
      "tree": "79d6ce9ea61ba9e2f7c34334396abdcad4d1738f",
      "parents": [
        "c6015df128811a52faf918bd34d0d7296c8a6834"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 17 17:03:51 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 17 17:03:51 2012 -0700"
      },
      "message": "Fix the preloaded-classes tool for JellyBean.\n\nBug: 5213043\nChange-Id: I8178ca04da0bd72a90244983be5e8ecfbc1b0573\n"
    },
    {
      "commit": "4286d6d115385391b75db8e6c4e397008ef9b3db",
      "tree": "a44118310b76995e9b1eed18f6707b062117504b",
      "parents": [
        "2a7a6ca00ab176105b5bbfa6b17bb0dcd058d517"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun May 13 16:03:39 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun May 13 16:03:39 2012 -0700"
      },
      "message": "Fix build.\n\nChange-Id: I53263d509559c70100cd78ad49f225f0dafd8891\n"
    },
    {
      "commit": "85afd1b6f871d471fdff1980134676a5f1690525",
      "tree": "94f1a2661418208e7969d659dc694353ff43d304",
      "parents": [
        "dca5fb9e7e193d6aed233e0650691675a56022a3"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun May 13 13:31:06 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun May 13 13:31:06 2012 -0700"
      },
      "message": "Implement new window cropping.\n\nThe window manager now performs the crop internally, evaluating\nit every animation from, to be able to update it along with\nthe surface position.\n\nChange-Id: I960a2161b9defb6fba4840fa35aee4e411c39b32\n"
    },
    {
      "commit": "421dceb0a4fd8f20349a0de277f82b56e71cb90b",
      "tree": "092633533796bf65021ee895b1bd7d7a42cb99c2",
      "parents": [
        "dc442534070aa8ff4c07cae16fc5207ba6821651",
        "21385cd83d7d7938b57a4acbaa236dd4c7804ed4"
      ],
      "author": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Thu May 10 10:35:19 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 10 10:35:19 2012 -0700"
      },
      "message": "Merge \"Making transition out of recents look better\" into jb-dev"
    },
    {
      "commit": "21385cd83d7d7938b57a4acbaa236dd4c7804ed4",
      "tree": "4437d4ba6ded58da748f2231c2d87c5c406b807e",
      "parents": [
        "0fa152912e55f2d08f0a8d1260332a81e5706694"
      ],
      "author": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Thu May 03 10:57:31 2012 -0700"
      },
      "committer": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Wed May 09 20:25:28 2012 -0700"
      },
      "message": "Making transition out of recents look better\n\n- Fading out recents first, then scaling up app\nthumbnail\n- Fade Recents out over 130ms\n- Delay the window animation for 200ms first,\nthen animate for 200ms (previously we didn\u0027t delay\nand then animated for 300ms)\n\nBug: 6390075\n\nChange-Id: Ia8c753bf7ee03d2acef6eb2772b28d88fe10a682"
    },
    {
      "commit": "652b6d1e591f6684cda4b93d4712920f287991b4",
      "tree": "5ffe183aa2cbe66c8b8b89e8f3a809e4e7f4c603",
      "parents": [
        "a53de0629f3b94472c0f160f5bbe1090b020feab"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 09 18:18:40 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 09 18:18:40 2012 -0700"
      },
      "message": "Add infrastructure for accessing \"unstable\" content providers.\n\nWe have an API and some stuff that purports to this, but no real\nimplementation yet.\n\nChange-Id: I93555440014a50fdf79fa3f65318d90fb82265b4\n"
    },
    {
      "commit": "f18c68b83f4919cf903e249da056acb470b683af",
      "tree": "56ebc10498d0d25156114dc3b6787cb49af44b61",
      "parents": [
        "5602d02389c2b945e8d78ea34990933a8e1ddc8b"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue May 08 17:14:18 2012 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue May 08 17:14:18 2012 -0700"
      },
      "message": "Add missing native method to Canvas_Delegate.\n\nChange-Id: I86288c942004e5489eacc43ba5e112cf56f94487\n"
    },
    {
      "commit": "947f1c8db00bd3805838ff49a5f4d220df507b47",
      "tree": "706e6101ae3e5bfb31b505d11e429256e33580cd",
      "parents": [
        "6d6d186cd1a5df5fff73c8a731a81a9da3fea13b",
        "a7771df3696954f0e279407e8894a916a7cb26cc"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue May 08 10:51:12 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 08 10:51:12 2012 -0700"
      },
      "message": "Merge \"Move CancellationSignal to android.os package.\" into jb-dev"
    },
    {
      "commit": "6d6d186cd1a5df5fff73c8a731a81a9da3fea13b",
      "tree": "e466b0debd557c7954d9fd83624dfa5629b54bf3",
      "parents": [
        "4a337ec99e0d6b7f2f3b79b990809bf64a42f0ec",
        "436bbd1a6c227148c294117e725e03be75e01ebf"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 08 10:45:38 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 08 10:45:38 2012 -0700"
      },
      "message": "Merge \"The \u0027localize\u0027 tool is dead.\" into jb-dev"
    },
    {
      "commit": "a7771df3696954f0e279407e8894a916a7cb26cc",
      "tree": "3615be79c515fad41808d2b84ac0221ba5a7e299",
      "parents": [
        "507f5586fb48f59f7b4f2fa0ca5387e4d4f2bd8d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon May 07 20:06:46 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon May 07 20:06:46 2012 -0700"
      },
      "message": "Move CancellationSignal to android.os package.\n\nBug: 6427830\nChange-Id: I39451bb1e1d4a8d976ed1c671234f0c8c61658dd\n"
    },
    {
      "commit": "daf5d894ef71c5674e83b11de8b408e3bdabe4c7",
      "tree": "37ab29946003c4d6b13d5f261c06f0737485241f",
      "parents": [
        "59bbef0cd781f4933fd8a0a85b6067f36e529e02"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon May 07 18:30:18 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon May 07 18:30:18 2012 -0700"
      },
      "message": "Small tweaks to orientation.\n\nImproved threshold for detecting external acceleration.\n\nBug: 5976859\nChange-Id: Iaf2298fba8eda72d1cacbb2f3aea72f460a9262f\n"
    },
    {
      "commit": "436bbd1a6c227148c294117e725e03be75e01ebf",
      "tree": "c0312cb3d52d2043e993eab54f6093f745e705db",
      "parents": [
        "476b03b0c0d5cae4d1b114c6f80858d59ba36cad"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon May 07 17:34:08 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon May 07 17:34:08 2012 -0700"
      },
      "message": "The \u0027localize\u0027 tool is dead.\n\nChange-Id: I6486e50fd1d2f82dd040371a308a2a756beadb64\n"
    },
    {
      "commit": "fd1d99f5dd1749a8cecb4a98cddb91e911323eb8",
      "tree": "b118f59223942f1f61a74fd65a510dd1005b1593",
      "parents": [
        "6098c1f44b0f2010053f9ebb6d36e01830784fc5"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu May 03 17:15:56 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu May 03 17:15:56 2012 -0700"
      },
      "message": "Remove obsolete tool.\n\nChange-Id: I750ad12e9ebc41d9e620942f3df09c7660340715\n"
    },
    {
      "commit": "5c58de3a523a384c47b0b1e0f5dd9728a74cd9f7",
      "tree": "1f765389f4c5153bf09f2cacb9fe87f74169dc67",
      "parents": [
        "3ea8761974a530218a246dc73583c8820b12bf0b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Apr 28 19:52:37 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 30 12:11:43 2012 -0700"
      },
      "message": "Add system insets to windows.\n\nThis will be used to determine which parts of a window a completely\nhidden by system UI elements (status bar, nav bar, system bar) so\nthat they can be clipped out from rendering.\n\nChange-Id: I2c6c6ac67dbdfeed82d2c089ef806fb483165bd9\n"
    },
    {
      "commit": "79c6346100b555a8a3d51b3b1c34dbbe99305b9a",
      "tree": "f1fa24b3be063a4a340ec15d19476691b181264e",
      "parents": [
        "a36b7ab04650b598ea08de1f95bb34c5e694167c",
        "12d3a94397c33fdb773a1eaaaa13cab80bf0c571"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 27 17:42:48 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 27 17:42:48 2012 -0700"
      },
      "message": "Merge \"When a window is first shown only draw once while animating.\" into jb-dev"
    },
    {
      "commit": "a36b7ab04650b598ea08de1f95bb34c5e694167c",
      "tree": "faabf03b4fe32aea432136414afedad6dcebf3fc",
      "parents": [
        "ffd6ea4523d8fa1210d2a7bb757cc65e1d18465f",
        "96ff709fe25632f6e27fa4c13c7d75dbbcfa38e0"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Apr 27 17:31:56 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 27 17:31:56 2012 -0700"
      },
      "message": "Merge \"Work around build break in layoutlib.\" into jb-dev"
    },
    {
      "commit": "96ff709fe25632f6e27fa4c13c7d75dbbcfa38e0",
      "tree": "9deab7479cde4ccd454b4b426e38c3de943662fa",
      "parents": [
        "771526c88f5cc4b56a41cb12aa06a28d377a07d5"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Apr 27 17:18:06 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Apr 27 17:18:06 2012 -0700"
      },
      "message": "Work around build break in layoutlib.\n\nBug: 6413563\nChange-Id: Ia7101fba87f3784fd8159c75e4289f642913d099\n"
    },
    {
      "commit": "12d3a94397c33fdb773a1eaaaa13cab80bf0c571",
      "tree": "607f0f7677f8597227883ced5d97f27b0cf39c52",
      "parents": [
        "11dea2945124b166f167d4b5a23a059f33c04fa1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 27 14:16:30 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 27 15:21:44 2012 -0700"
      },
      "message": "When a window is first shown only draw once while animating.\n\nOn some hardware allocating a new graphics buffer is quite\nexpensive, which blocks updates to the UI.  This can cause\nglitches when performing window animations.\n\nTo reduce these glitches, the view hierarchy will now only\nallow itself to be drawn once if its window is being shown\nwhile the window manager is animating, not resuming draws\nuntil it is told that the animation is done.\n\nChange-Id: Ie15192f6fddbd0931b022a72c76ddd55ca266d84\n"
    },
    {
      "commit": "002f53770a7f6850eab4d7e381e91dc94d28968f",
      "tree": "d2d83fa4b29e498003fc5cd027bc818310a10e80",
      "parents": [
        "64ac862f7bb40f2ec2d65510904cf157b1cf60a5"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Wed Apr 25 18:53:49 2012 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Thu Apr 26 13:13:08 2012 -0700"
      },
      "message": "Apply --extra-packages in case --custom-pacakge is also specified.\n\nCherry-picked from master.\n\nChange-Id: I2d67b8821afdf064f4186ccd8def1b65f9a7dc88\n"
    },
    {
      "commit": "cb092e2b7fa46477651c8b8733d50307b0de9d6d",
      "tree": "c021b1e8481f91b00c2f34230abbc84bf41d1c37",
      "parents": [
        "a8d6ddee98e09a68030f4226b94f631e3b4c83c1"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Apr 23 17:41:37 2012 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Apr 23 17:41:37 2012 -0700"
      },
      "message": "Fix Paint_Delegate with missing native method.\n\nChange-Id: I39638dcb323fdd1ec3cb58dcad05757145d09026\n"
    },
    {
      "commit": "68c33ca7ce1f142eb5f1e1f90118aeba4c9db1e3",
      "tree": "f598517d463bc750d7081e2bd84b1e325c254f32",
      "parents": [
        "1b965941713a395dc8003cf8ee29a40f92dd77aa"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 19 14:51:25 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 19 14:55:13 2012 -0700"
      },
      "message": "Add new API to find smallest/largest screen size.\n\nChange-Id: I790801fceaf84ee2e3b1c9d32828285ad3231d0e\n"
    },
    {
      "commit": "420489ca1f92b290f4737fb675bfd3db9cdbed29",
      "tree": "f77b82c1d51a6ef84858397b29cdd494949f1f72",
      "parents": [
        "4db3ca7f814c54ca80211053c583df5163237a60",
        "6ec6f79e1ac1714e3b837796e99f07ff88f66601"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Apr 17 17:59:03 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 17 17:59:03 2012 -0700"
      },
      "message": "Merge \"Support loading keyboard layout overlays from resources.\""
    },
    {
      "commit": "6ec6f79e1ac1714e3b837796e99f07ff88f66601",
      "tree": "02aa55617bfa6dd2eb0bec29156e279c8afaaa0d",
      "parents": [
        "a3bc565882dd3984e995363642b1295fe3d24d10"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Apr 17 16:52:41 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Apr 17 17:56:32 2012 -0700"
      },
      "message": "Support loading keyboard layout overlays from resources.\n\nAdded the concept of a keyboard layout overlay, which is\na key character map file that has \"type OVERLAY\".\n\nAdded support for loading keyboard layout overlays from\nresources dynamically.  The layouts are reloaded whenever they\nare changed in the Settings application or an application\nis installed.  This is somewhat more aggressive than necessary\nso we might want to optimize it later.\n\nBefore system-ready, the input system uses just the generic\nkeyboard layouts that are included on the device system image.\nAfter system-ready, it considers the user\u0027s selected keyboard\nlayout overlay and attempts to load it as necessary.  We need to\nwait until system-ready before doing this because we need to\nbe in a state where it is safe to start applications or access\ntheir resources.\n\nBug: 6110399\nChange-Id: Iae0886d3356649b0d2440aa00910a888cedd8323\n"
    },
    {
      "commit": "ac76e72272c957dc7609aa68224efa2d32c23cd0",
      "tree": "3fb89e515da0aabcfedddf871aa92ee0b1173c38",
      "parents": [
        "2c2ab0e07106942ee64dd66d6efa71e70b336b0d",
        "eabfb3a36e9469c5e219f92b39b7200104319185"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 16 17:34:25 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 16 17:34:25 2012 -0700"
      },
      "message": "Merge \"Add new scale-up window manager animation.\""
    },
    {
      "commit": "eabfb3a36e9469c5e219f92b39b7200104319185",
      "tree": "ef38c351e0d5f6b1a60b514c78a4396e3a2c20a6",
      "parents": [
        "455b7bb83ce4a12a72f5b8341eda19754d582293"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 16 16:28:22 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 16 17:32:50 2012 -0700"
      },
      "message": "Add new scale-up window manager animation.\n\nLike zoom thumbnail, but without the thumbnail.\n\nChange-Id: I9486dd204398b87c9e70ff0d05d03f4a22449cd6\n"
    },
    {
      "commit": "4aa14b912fa7b0e8f2f1deb3e66dab4668de1e12",
      "tree": "94c306cbcf94a0c1d46d97d863d498825429e455",
      "parents": [
        "455b7bb83ce4a12a72f5b8341eda19754d582293"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 13 19:18:41 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 16 11:34:15 2012 -0700"
      },
      "message": "Add new aapt dump badging output explaining implicit badging.\n\nNew uses-implied-feature and uses-implied-permission tell you\nabout any features or permissions that aapt is automatically\nadding to your app, and why it is doing so.\n\nChange-Id: I45edb055408e1259699c994f956166ce67e8db5d\n"
    },
    {
      "commit": "9f25b7fdf216c9ef0bd2322cd223eeaf0d60f77f",
      "tree": "b0b509a261874435cab3f5f1a727c02b399bd91c",
      "parents": [
        "54ae14749bc7f9e73cfda35a8b49f9efa80a77fb"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Apr 10 14:30:49 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Apr 10 18:23:58 2012 -0700"
      },
      "message": "Request key maps from input manager service.\n\nInstead of each application loading the KeyCharacterMap from\nthe file system, get them from the input manager service as\npart of the InputDevice object.\n\nRefactored InputManager to be a proper singleton instead of\nhaving a bunch of static methods.\n\nInputManager now maintains a cache of all InputDevice objects\nthat it has loaded.  Currently we never invalidate the cache\nwhich can cause InputDevice to return stale motion ranges if\nthe device is reconfigured.  This will be fixed in a future change.\n\nAdded a fake InputDevice with ID -1 to represent the virtual keyboard.\n\nChange-Id: If7a695839ad0972317a5aab89e9d1e42ace28eb7\n"
    },
    {
      "commit": "4527a9242127c28ad9472ec3b7677b444b3ef215",
      "tree": "b66d5ebfb607565f3ccc4f58978682483a69c7e4",
      "parents": [
        "9944ecd28e1c56c4e9f0a50ed6e8be2110ba5c31",
        "b6ec11ef372a498c4d5fd2317a015b808495a2ed"
      ],
      "author": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Tue Apr 10 17:13:17 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 10 17:13:17 2012 -0700"
      },
      "message": "Merge \"Adding a line for android-debuggable to \u0027dump badging\u0027 if AndroidManifest.xml is configured as such. This is to be used by e.g. Play Store to warn the developer that they are about to publish a security hole.\""
    },
    {
      "commit": "29d6fa9d8b651b6940e6f3f9182f5b72c404c739",
      "tree": "87c56ad1fb531a82f86f81b7622e8dd95f4a1ecc",
      "parents": [
        "dc0dbbd4a005f16624978b95817b33156acac526",
        "31b0e0e86ad061cd8005e80817bcad017e2d56dd"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 06 11:11:32 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 06 11:11:32 2012 -0700"
      },
      "message": "Merge \"Implement call log permission compatibility.\""
    },
    {
      "commit": "31b0e0e86ad061cd8005e80817bcad017e2d56dd",
      "tree": "f69e9622ac7c1d06dbd78fcac3d5934f831417de",
      "parents": [
        "9828830611137bb751ab3512082a3bd31f439e38"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 05 19:33:30 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 05 19:33:30 2012 -0700"
      },
      "message": "Implement call log permission compatibility.\n\nIf a pre-JellyBean application requests read/write contacts, it\nwill implicitly be given read/write call log.\n\nChange-Id: I029db4b09fda737bb8fba4e1611355ebdbbfd34f\n"
    },
    {
      "commit": "ac14351e16e1258f1cb54e2bf772b8be004eb2b8",
      "tree": "55c22fe8e19d35764f00a6ffad899e4fd2c4ccd0",
      "parents": [
        "030711c39b6093024d784c1c3d7566bd5a3e3489"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Apr 05 18:57:33 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Apr 05 19:33:11 2012 -0700"
      },
      "message": "Move some APIs from window manager to input manager.\n\nSimplified input injection API down to just one call.\n\nRemoved all input state reading API.  It was only used by the\nwindow manager policy and required a permission that applications\ncould not obtain.  READ_INPUT_STATE is now unused and deprecated.\n\nChange-Id: I41278141586ddee9468cae0fb59ff0dced6cbc00\n"
    },
    {
      "commit": "5459c43b83c3a9d0406f01deffaadd2ef458518c",
      "tree": "9193ba676d54cf522aec320b089692c9fcecbbd8",
      "parents": [
        "5b4a57973c85afb2f5ec833dc2c202111399b871",
        "f87d19621dc2a30232bba1f51862a0b671eb9729"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 05 11:47:02 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 05 11:47:02 2012 -0700"
      },
      "message": "Merge \"Clean up status bar, system bar, navigation bar management.\""
    },
    {
      "commit": "f87d19621dc2a30232bba1f51862a0b671eb9729",
      "tree": "8bf53cb17770100b6fd1c1f31f1b27eb7121ce3e",
      "parents": [
        "5b86de1e6b8f597ab2444de0f2274546321f1810"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 04 12:48:24 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 04 16:00:45 2012 -0700"
      },
      "message": "Clean up status bar, system bar, navigation bar management.\n\nThe status bar and navigation bar are two completely separate\nelements, with their own semantics.  The system bar now classifies\nitself as a navigation bar, since that is really how it behaves.\n\nThis required rewriting the HDMI resizing code, so that it is\nall done by PhoneWindowManager since that is what is responsible\nfor the size of the navigation bar (and thus now system bar).  This\nactually gets rid of a fair amount of code, and means we can also\ndo the same thing for a pure navigation bar.\n\nLikewise the system bar now has the navigation bar ability to be\nhidden when requested by system UI flags.  To get the behavior\nwe want on Xoom, we only allow the nav bar to be hidden when it\nwill help provide a better aspect ratio for showing widescreen\nvideos.\n\nFinally the nav/system bar now animates when hidden and shown.\n\nChange-Id: Ie927154b68376a0b61802f99171ff56b8da92e7a\n"
    },
    {
      "commit": "ec4a50428d5f26a22df3edaf7e5b08f41d5cb54b",
      "tree": "cd47b15082ff35879cf6e22a86f44108f45920aa",
      "parents": [
        "58a40a3e92f8a53ac1068f0839dec4a1707fa6fb"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Apr 04 10:27:15 2012 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Apr 04 12:05:59 2012 -0700"
      },
      "message": "Embed layout padding in nine patch images\n\n- Added a new custom PNG chunk that carries the layout padding ints.\n- Extract the padding ticks from .9.png images and store in the chunk.\n- Load the padding information at runtime into Bitmap and NinePatchDrawable.\n\n- The new chunk is ordered first so that it doesn\u0027t cause a problem in older\n  versions of the platform.\n\nBug: 6087201\n\nChange-Id: I5de46167a1d44b3ec21065b0c165e594b1dc8399\n"
    },
    {
      "commit": "b6ec11ef372a498c4d5fd2317a015b808495a2ed",
      "tree": "529b04c2ffa8665181f94555c601aaca496a094d",
      "parents": [
        "b3fa3960a03ef553e58bf1add88029a6c072c6b6"
      ],
      "author": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Tue Apr 03 12:44:40 2012 -0700"
      },
      "committer": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Tue Apr 03 14:42:05 2012 -0700"
      },
      "message": "Adding a line for android-debuggable to \u0027dump badging\u0027 if AndroidManifest.xml\nis configured as such. This is to be used by e.g. Play Store to warn the\ndeveloper that they are about to publish a security hole.\n\nChange-Id: Ib6f8537462cbc00ed0504435bdeee2aae0c5b69b\n"
    },
    {
      "commit": "fbd0509f4746ae1ebca4ab91fc55ebd234ba9d3d",
      "tree": "c7ce19b712ec537ddd8757605b4e068df2e18686",
      "parents": [
        "d5f2374e13a7bcefbc7252b814d128794f22af93",
        "22f700a1b8fb9d2ac7b261e30a46a040928c23bc"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Fri Mar 23 16:29:50 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 23 16:29:50 2012 -0700"
      },
      "message": "Merge \"Add Delegate for ViewRootImpl#isInTouchMode to prevent IPC call in Eclipse.\""
    },
    {
      "commit": "22f700a1b8fb9d2ac7b261e30a46a040928c23bc",
      "tree": "8c56dc423da3c3ec1e443f090c8426243265de48",
      "parents": [
        "0aa4713e47a53377720a043cf1b043ce31cb73da"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Fri Mar 23 16:07:23 2012 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Fri Mar 23 16:07:23 2012 -0700"
      },
      "message": "Add Delegate for ViewRootImpl#isInTouchMode to prevent IPC call in Eclipse.\n\nAlso fix some new/removed method from BitmapFactory.\n\nChange-Id: I606bd8bee6ff1e2c6c9472b4672175bfdaff45de\n"
    },
    {
      "commit": "8078d8c8a282ca81344febe7256f63b1e805e3aa",
      "tree": "6bfb8ab0a389c2ae344088017bd0ceee1e913660",
      "parents": [
        "3c4da3cad04ca878a4a37fcca3f3e2ff51d03fcb"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 20 11:11:26 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 23 14:13:13 2012 -0700"
      },
      "message": "Add new thumbnail animation.\n\nUse it for recent tasks switching.\n\nNot perfect yet by far, but something.\n\nAlso fix issue #6186758: Twitter crashes after tapping on a tweet on JRM75D\n\nChange-Id: I49bf6c94aafde875ac652dedaf96d6c08cc9e7d2\n"
    },
    {
      "commit": "a982dc05d7ca919c07f50e446549ef9dceadf6bd",
      "tree": "e9b0e1564069bf39447db97b966a01c6dda66609",
      "parents": [
        "54c546223cd550d2995ec6d956a8e7963311a0a6"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Mar 22 18:43:07 2012 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Mar 22 18:43:07 2012 -0700"
      },
      "message": "frameworks/base: move Zip* from libandroidfw to libutils\n\nZipUtils is needed by build/tools, move it from libandroidfw\n(frameworks/base) to libutils (frameworks/native).\n\nChange-Id: I2b4b7adcdf68eb25ee7cba5dd3b69eadf0523af3\n"
    },
    {
      "commit": "fe75d62eba3935d2d1a4a7790fc7459ded241ad3",
      "tree": "71054bce03f3a52e59fb5dc4af890f93da50a259",
      "parents": [
        "80a6b33be276eb6c808fce13debb4bb7a489cdad"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Mar 19 14:08:58 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Mar 19 14:08:58 2012 -0700"
      },
      "message": "Use qsort_r_compat() as a portable wrapper for qsort_r().\n\nChange-Id: Ie79f81625947f4e95122047605d994c86e872e74\n"
    },
    {
      "commit": "80a6b33be276eb6c808fce13debb4bb7a489cdad",
      "tree": "87a9f32d2f21c9381cc51f9ce1d9fa84a255d5f2",
      "parents": [
        "cc67069aa7ea6d6b3a573b5917f43246d228290d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Mar 19 12:02:10 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Mar 19 12:02:10 2012 -0700"
      },
      "message": "Fix build break on glibc, for real.\n\nChange-Id: I8bbec237229b05f96c708d41f3c4da17e2a90e2b\n"
    },
    {
      "commit": "46fc395386f2277a0425b2c46be08fd91f6554f4",
      "tree": "fd748e51bea1b40e081d66332034f0a8fc3b5a60",
      "parents": [
        "5db7bc6eea9c9c7c84ae21a7cc0069ceee08a6d4"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Mar 19 11:48:12 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Mar 19 11:50:02 2012 -0700"
      },
      "message": "Fix build break on glibc hosts.\n\nChange-Id: Ida70bec6ea972d042982428353cbbc33cde25136\n"
    },
    {
      "commit": "c0f7366a15655c6973ea21029f1997f24c006cca",
      "tree": "ad9302a32cfbfa603ce5b58a6fa263c92953795a",
      "parents": [
        "c9fd9263feedac32e4f5b1f13a3246347efdc25f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Mar 16 22:17:41 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Mar 17 14:12:57 2012 -0700"
      },
      "message": "aapt: Preprocess images in parallel.\n\nCurrently hardcoded to use up to 4 threads.\n\nThis change substantially reduces the amount of time spent\npreprocessing framework resources to just a few seconds.\n\nChange-Id: I02fdd283fb529a152aeb22ac87f278779fd77983\n"
    },
    {
      "commit": "c9fd9263feedac32e4f5b1f13a3246347efdc25f",
      "tree": "034a4002a842eae595f59f5d78d982e6316fb13d",
      "parents": [
        "61361f376b47d45966b1ca0d24d51622304c93c3"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Mar 16 19:25:20 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Mar 16 22:25:15 2012 -0700"
      },
      "message": "Use quicksort to sort the string pool.\n\nThe current implementation of Vector::sort uses insertion sort\non the assumption that the data is mostly sorted.  It isn\u0027t.\n\nThis change brings the total time spent sorting packages by config\ndown to 500ms from about 93 seconds.\n\nBug: 6186278\nChange-Id: Iec8da11e09297acd6c73733d063b0fa9dacf69f7\n"
    },
    {
      "commit": "61361f376b47d45966b1ca0d24d51622304c93c3",
      "tree": "b634bf9370932e1b4c9296156b9c85777d87d01c",
      "parents": [
        "bf02b984738f6be5cc2e2d66b12aff7af99eb79e"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Mar 16 15:25:17 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Mar 16 22:24:54 2012 -0700"
      },
      "message": "Add some comments about StringPool sort order.\n\nChange-Id: I57f24d46328a6bfef883819eaf95c03114d573bb\n"
    },
    {
      "commit": "bf02b984738f6be5cc2e2d66b12aff7af99eb79e",
      "tree": "5935f61cba1cf10d6f1b135c68e37d34424a72ff",
      "parents": [
        "4eb7fbb250feb34a7fe0df1eb2f4b76945d65c8b",
        "345b7eb8749d6954942fd4e961fff9f2f854934c"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Mar 16 19:10:57 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 16 19:10:57 2012 -0700"
      },
      "message": "Merge \"Remove dead code in StringPool.\""
    },
    {
      "commit": "4eb7fbb250feb34a7fe0df1eb2f4b76945d65c8b",
      "tree": "0e5529d5d71ca567aebdcf3d358b4b14a3e7cb98",
      "parents": [
        "dea50f05e43b2ad6ea392d7ddfbfa691f6903734",
        "8a9cfcc85260eadcc2c17c4a8911c6d93b642f39"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Mar 16 19:10:47 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 16 19:10:47 2012 -0700"
      },
      "message": "Merge \"Make StringPool entry types trivially movable.\""
    },
    {
      "commit": "345b7eb8749d6954942fd4e961fff9f2f854934c",
      "tree": "9357978bf60889db44adb838760e261265a5d839",
      "parents": [
        "8a9cfcc85260eadcc2c17c4a8911c6d93b642f39"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Mar 16 15:25:17 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Mar 16 15:25:17 2012 -0700"
      },
      "message": "Remove dead code in StringPool.\n\nThe sorted string pool option was no longer used.\nNeither were strings with associated identifiers.\n\nChange-Id: Ic5f6368637fbeedfda873d63f4ad0f3ea9d0d603\n"
    },
    {
      "commit": "8a9cfcc85260eadcc2c17c4a8911c6d93b642f39",
      "tree": "7534c55dc00e91b64c61c9a830f5115cb304cad5",
      "parents": [
        "543ec1c808e0064371cdf491bb8ff1e08134ed93"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Mar 16 15:24:32 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Mar 16 15:24:32 2012 -0700"
      },
      "message": "Make StringPool entry types trivially movable.\n\nChange-Id: If93957a840a0f1cae2e6ef291eeeb1b0c7c20958\n"
    },
    {
      "commit": "5d701eddcf7f4abd5867ec3bf2091916d5ebbdf1",
      "tree": "20ef99ad3536036c82e74b616b998e960f7c107c",
      "parents": [
        "55ba267c097b5aadc265bbb9abc7ec5323c33194"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Fri Mar 16 14:58:47 2012 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Fri Mar 16 15:14:02 2012 -0700"
      },
      "message": "LayoutLib: Properly support attr ns when used in styles.\n\nChange-Id: I885864588928589d7c9a34b94339917c5be47fa5\n"
    },
    {
      "commit": "a421f6c0ba8c354e2a81830e6402654bbf732780",
      "tree": "42a9806e866f8366fba62edb91d8f066513193cc",
      "parents": [
        "a1d2bd829d4804b7841d7c39c8d2ae438b634efb"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Feb 22 10:21:02 2012 -0800"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Mar 15 16:23:51 2012 -0700"
      },
      "message": "Fix sdk layout rendering in JB.\n\nSince JB, com.android.internal.R does not contain all the resources,\ninstead only the ones that are accessed through Java.\nThis means we need to dynamically generate IDs for resources that are\nprivate and only accessed from other XML resources. This is done\nthrough the DynamicIdMap class.\n\nAlso add a PolicyManager and a PowerManager since those are now\nneeded by ViewRootImpl?!?\n\nChange-Id: If2ae8ad79502fa084d852664a44aefd46e01aec6\n"
    },
    {
      "commit": "a4972e951bf2bdb7afdafee95b3ab0c15b8bacae",
      "tree": "9800a9dcd62d945a8ad71549ebcef70393ef5442",
      "parents": [
        "89ea4ca9c26f3c7e365525a0b83500e85517a457"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 14 10:38:05 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 14 12:57:14 2012 -0700"
      },
      "message": "Add new \"options\" argument to all startActivity APIs.\n\nThis will be used to allow new features to be requested...  such as,\nsay, a special kind of animation.  Right now there are no options\ndefined.\n\nChange-Id: I4eb6f27275cdd4bf186f6da316ab93a2372ad4b7\n"
    },
    {
      "commit": "7924512aa12c6af37d90e8ccfcdf04eb78a294a3",
      "tree": "d0b539a6b6ea5d810458196dcff5f377428d3311",
      "parents": [
        "05f692e8050c3650ec123b2361143a121e2e7d4b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 12 10:51:26 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 12 15:07:31 2012 -0700"
      },
      "message": "Add new READ_EXTERNAL_STORAGE permission.\n\nAlso adds some initial compatibility code for dealing with it.\n\nChange-Id: I104bff11798349e4aaa6da9b7be787b257daa1bb\n"
    },
    {
      "commit": "583fcb9175cd0c614f096db633d9e784ab7e1f54",
      "tree": "a75573a0bc37dd1df88b127068a4e3c7f47e95ed",
      "parents": [
        "a0b29f556519653c9749cebff4af43e68b4d59ce",
        "bb9908b828a8cfd5965553be66faa6af89973697"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Mar 08 15:06:50 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 08 15:06:50 2012 -0800"
      },
      "message": "Merge \"Dispatch screen state change events to Views Bug #6120957\""
    },
    {
      "commit": "bb9908b828a8cfd5965553be66faa6af89973697",
      "tree": "33ab74a9cb8ad69058cece5ae83d4b82f7b51633",
      "parents": [
        "3bef5e9f3aa90465ee3ab66ef33d7a88d1b0c5c1"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Mar 08 11:14:07 2012 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Mar 08 15:05:12 2012 -0800"
      },
      "message": "Dispatch screen state change events to Views\nBug #6120957\n\nUsing this new callback, views can interrupt and resume their\nanimations or other periodic tasks based on the current state\nof the display.\n\nChange-Id: I398f4abd421e9c5f207107bf1009a7b92cf45daa\n"
    },
    {
      "commit": "a0b29f556519653c9749cebff4af43e68b4d59ce",
      "tree": "e0019fb4eab98881af74ea6cbd7f0699e8e9ddcc",
      "parents": [
        "7d8775a87eeedfcd9349f56f667b636f6643766e",
        "db6e67d8ec081f43bcf14155741e268a38915719"
      ],
      "author": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Thu Mar 08 14:52:09 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 08 14:52:09 2012 -0800"
      },
      "message": "Merge \"Fix an issue where a non-styled string could be made into a styled string\""
    },
    {
      "commit": "731f018928ea122e5367eb23bc6c94cde0e53b2d",
      "tree": "f5bcac0b465be99c744305227d8b59b5720502c7",
      "parents": [
        "5ec9193a9de1d88f1958d66f49dacbb58daa0702",
        "e0cf12fc4d5c9de464f899522a9e2ca77dbb865a"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Mar 08 11:09:49 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 08 11:09:49 2012 -0800"
      },
      "message": "Merge \"Fix the build\""
    },
    {
      "commit": "e0cf12fc4d5c9de464f899522a9e2ca77dbb865a",
      "tree": "5b8af20f2926aeee0ca63a82f1dd3d6ccd9e23e2",
      "parents": [
        "7e4e561bc717a6eea4e0d06ec4173ad27420425f"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Mar 08 11:08:31 2012 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Mar 08 11:08:31 2012 -0800"
      },
      "message": "Fix the build\n\nChange-Id: Ia86ba9b1c432ab3f8107557e95b12c9eedc4d9f7\n"
    },
    {
      "commit": "db6e67d8ec081f43bcf14155741e268a38915719",
      "tree": "143c9d8b2324d6d7d662dbbd31c5f83bcdb6dbae",
      "parents": [
        "42f23b3cfe2c4fa45c7c9ca4b60a6724aea31621"
      ],
      "author": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Wed Mar 07 21:19:16 2012 -0800"
      },
      "committer": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Wed Mar 07 21:19:16 2012 -0800"
      },
      "message": "Fix an issue where a non-styled string could be made into a styled string\n\nIf a styled version of an otherwise identical string is encountered before\na non-styled version, aapt merges the two, effectively making the\nnon-styled string have a spurious style.\n\nChange-Id: I424a61c0c83c59e0b9c8939e457402efd06a7a4f\n"
    },
    {
      "commit": "59eb5fd509c98a371b8824f6b13cf29981a4f063",
      "tree": "c40de115ed24179aa4dbabd93f8634f8167d8efc",
      "parents": [
        "5eb37241fee7e656cf9787bf00a160e94b4894fc"
      ],
      "author": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Tue Mar 06 19:26:22 2012 -0800"
      },
      "committer": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Wed Mar 07 10:49:55 2012 -0800"
      },
      "message": "Fix up getAttributeFlags() function\n\nIn addition to a couple of minor clean-up items, this fixes an issue that can\nrarely cause incorrect parsing of attribute flag values, when there is a \u0027|\u0027\ncharacter in the few bytes past the end of the attribute value being parsed.\n\nChange-Id: I6050b1c2db60720c7c0ab7df9eba8cfc629b320e\n"
    },
    {
      "commit": "aeb17f17ffd8d3384dfed223e40010b4abac4cc5",
      "tree": "411156d560e7bf4ec626d9e91d5290229ca6c199",
      "parents": [
        "0a66900ee5093afa12a5786c4b9dc0e58991f426",
        "77fdcbff8b458dd3430b38e60aee1a28ca92a738"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Feb 27 07:51:05 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 27 07:51:05 2012 -0800"
      },
      "message": "am 77fdcbff: am f038868d: am 44e63a21: Support rendering layout that use the new res-auto namespace.\n\n* commit \u002777fdcbff8b458dd3430b38e60aee1a28ca92a738\u0027:\n  Support rendering layout that use the new res-auto namespace.\n"
    },
    {
      "commit": "77fdcbff8b458dd3430b38e60aee1a28ca92a738",
      "tree": "ef25b6f7891b9a6a7daa77c6abc2dcf8a887e2c9",
      "parents": [
        "44b1a43d823ec3cb93e02df4834b27a75bb30ba5",
        "f038868d74af534effceaa8f1d932f9576f4f647"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Fri Feb 24 19:35:25 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Feb 24 19:35:25 2012 -0800"
      },
      "message": "am f038868d: am 44e63a21: Support rendering layout that use the new res-auto namespace.\n\n* commit \u0027f038868d74af534effceaa8f1d932f9576f4f647\u0027:\n  Support rendering layout that use the new res-auto namespace.\n"
    },
    {
      "commit": "f038868d74af534effceaa8f1d932f9576f4f647",
      "tree": "37523a466f90f3dc427c3d4169bffd80ade6961f",
      "parents": [
        "e65a9ab1ea42d1f6190bee844ee666b7910d71ef",
        "44e63a218cf8fcab9b4418246a512bd0b0c9157b"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Fri Feb 24 19:32:47 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Feb 24 19:32:47 2012 -0800"
      },
      "message": "am 44e63a21: Support rendering layout that use the new res-auto namespace.\n\n* commit \u002744e63a218cf8fcab9b4418246a512bd0b0c9157b\u0027:\n  Support rendering layout that use the new res-auto namespace.\n"
    },
    {
      "commit": "44e63a218cf8fcab9b4418246a512bd0b0c9157b",
      "tree": "a298468377df3f6d26a257a4997fe37fbb33b170",
      "parents": [
        "5786f5cf1b248b79f938b3fa3c5d534159261f09"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Fri Feb 24 19:02:18 2012 -0800"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Fri Feb 24 19:29:31 2012 -0800"
      },
      "message": "Support rendering layout that use the new res-auto namespace.\n\nChange-Id: I9b89c965dc8c9458e74c15ab8ff765e16e1b32c2\n"
    },
    {
      "commit": "cb581bbe2e1fd2a55b70a516fbaac53da0108c28",
      "tree": "d22a8f97d563432cdf66a157141348acee85c076",
      "parents": [
        "2521a0197065e5ff0335199becc5a84de295fd09",
        "34706a4c81b82319a79a1b5ffa9084ed92a6e284"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Feb 24 16:37:35 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Feb 24 16:37:35 2012 -0800"
      },
      "message": "resolved conflicts for merge of 34706a4c to master\n\nChange-Id: I4dd24f3b917aa7e3d2c4b0fae51e951dfcf88ba8\n"
    },
    {
      "commit": "34706a4c81b82319a79a1b5ffa9084ed92a6e284",
      "tree": "7db04d1c5c352025b3c80df03dec0d4fa11f1625",
      "parents": [
        "92ce6314c15bd6d59a94a247ae63f1da9b4ccab2",
        "e65a9ab1ea42d1f6190bee844ee666b7910d71ef"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Feb 24 16:26:57 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Feb 24 16:26:57 2012 -0800"
      },
      "message": "am e65a9ab1: am 5786f5cf: Merge \"Fix build.\" into ics-mr1\n\n* commit \u0027e65a9ab1ea42d1f6190bee844ee666b7910d71ef\u0027:\n  Fix build.\n"
    },
    {
      "commit": "e65a9ab1ea42d1f6190bee844ee666b7910d71ef",
      "tree": "1b897b577950188fc6aebda6de5ac98290474760",
      "parents": [
        "dc5fa1859d03ecca36fc6be2fed7bbd4ba70b51f",
        "5786f5cf1b248b79f938b3fa3c5d534159261f09"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Feb 24 16:24:40 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Feb 24 16:24:40 2012 -0800"
      },
      "message": "am 5786f5cf: Merge \"Fix build.\" into ics-mr1\n\n* commit \u00275786f5cf1b248b79f938b3fa3c5d534159261f09\u0027:\n  Fix build.\n"
    },
    {
      "commit": "5786f5cf1b248b79f938b3fa3c5d534159261f09",
      "tree": "f5ceb6d50c4a574dd2296ee0142cb3ef2bbe0eb8",
      "parents": [
        "133dc2d7aecc68990c363c861716b134910a4ced",
        "b69b2c01b4de8a161d6c39e7428ffd25c36eb8cc"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Feb 24 16:23:07 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 24 16:23:07 2012 -0800"
      },
      "message": "Merge \"Fix build.\" into ics-mr1"
    },
    {
      "commit": "b69b2c01b4de8a161d6c39e7428ffd25c36eb8cc",
      "tree": "7463eb6300e658e103706bda5f9c2e2c6092b1d6",
      "parents": [
        "7663d80f6b6fd6ca7a736c3802013a09c0abdeb9"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Feb 24 16:10:26 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Feb 24 16:10:26 2012 -0800"
      },
      "message": "Fix build.\n\nChange-Id: Id3262bff0df598ecc81a4346dee9febd3aaa60c9\n"
    },
    {
      "commit": "54c8c3d920ee863716638483602a011943da6484",
      "tree": "5dc32f22af72eacec8a0a787557ecf17ce77d508",
      "parents": [
        "85eb3f0af00aa35cceebbf162de4434418bf5a84",
        "b3c780f16c37d2fb41a4eb211ea062b4c0b4e366"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Feb 23 18:44:16 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Feb 23 18:44:16 2012 -0800"
      },
      "message": "am b3c780f1: am 816b873d: Move the automatic namespace outside of the res namespace. do not merge.\n\n* commit \u0027b3c780f16c37d2fb41a4eb211ea062b4c0b4e366\u0027:\n  Move the automatic namespace outside of the res namespace. do not merge.\n"
    },
    {
      "commit": "b3c780f16c37d2fb41a4eb211ea062b4c0b4e366",
      "tree": "d709655aa10af3b3e80d449c5381dfd167120537",
      "parents": [
        "9694910e17a18c307e61811284f88a26db2bfbae",
        "816b873df1ab98d0e79913cf589b7b1fbaf14e85"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Feb 23 18:42:01 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Feb 23 18:42:01 2012 -0800"
      },
      "message": "am 816b873d: Move the automatic namespace outside of the res namespace. do not merge.\n\n* commit \u0027816b873df1ab98d0e79913cf589b7b1fbaf14e85\u0027:\n  Move the automatic namespace outside of the res namespace. do not merge.\n"
    },
    {
      "commit": "816b873df1ab98d0e79913cf589b7b1fbaf14e85",
      "tree": "158f5cd764d00712d5d5eab582d5b16dab26b5f8",
      "parents": [
        "eed8d0b3af8e76d6146ce4ed3fbe6ef7e172c8cd"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Feb 23 16:59:27 2012 -0800"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Feb 23 18:10:20 2012 -0800"
      },
      "message": "Move the automatic namespace outside of the res namespace. do not merge.\n\n(cherry picked from commit d9fe8018ffbf94f18a840005e688ad1d712f0225)\n\nChange-Id: I48ca78d5fccc75392b3f1cf9525890e5145293c4\n"
    },
    {
      "commit": "eed8d0b3af8e76d6146ce4ed3fbe6ef7e172c8cd",
      "tree": "166b028e1706754143f52d6ab3c6ed137a235f05",
      "parents": [
        "566328a2a5fcd8c40fc67d8974d6df0df48b0056"
      ],
      "author": {
        "name": "inazaruk",
        "email": "ievgenii.nazaruk@gmail.com",
        "time": "Sun May 22 15:09:06 2011 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Feb 23 18:09:31 2012 -0800"
      },
      "message": "Fix for issue 9656 - custom xml attributes in Android Libraries. do not merge.\n\nAdded support for predefined namespace http://schemas.android.com/apk/res/auto\nthat aapt tool recognizes and treats as namespace with package name\ntaken from current application\u0027s AndroidManifest.xml, //manifest/package attribute.\n\nSigned-off-by: inazaruk \u003cievgenii.nazaruk@gmail.com\u003e\n\n(cherry picked from commit e348909c1966c3d192841cc131a32be6ed90da18)\n\nChange-Id: I4bff836c42a309bac36e5d1ce1899131b3c4c194\n"
    },
    {
      "commit": "d9fe8018ffbf94f18a840005e688ad1d712f0225",
      "tree": "92ea6e2eae6f932c638869295456e07177a436fb",
      "parents": [
        "583e885bef9891f582d19b06d575fc0cd96620a0"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Feb 23 16:59:27 2012 -0800"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Feb 23 16:59:27 2012 -0800"
      },
      "message": "Move the automatic namespace outside of the res namespace.\n\nChange-Id: I107ee94af0a13f008ef4a8844a9038b84f97a247\n"
    },
    {
      "commit": "111a7a107cc0d1d37c50e760996dfe9863d099d0",
      "tree": "c94ba12a2151d46e8dc18c7b5cf3cc7aacd53d10",
      "parents": [
        "61fd70a34f17ccb4c2faf3fe22143e4e8c50ca87",
        "0842a2262d03fc98e42541cb38f51a341d346ae0"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Feb 23 13:04:24 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Feb 23 13:04:24 2012 -0800"
      },
      "message": "am 0842a226: am fe99051c: am 0e25e4cd: am 63e43ba5: Merge \"Fix for issue 9656 - custom xml attributes in Android Libraries\"\n\n* commit \u00270842a2262d03fc98e42541cb38f51a341d346ae0\u0027:\n  Fix for issue 9656 - custom xml attributes in Android Libraries\n"
    },
    {
      "commit": "0842a2262d03fc98e42541cb38f51a341d346ae0",
      "tree": "0fe842f9e07a1fb30a444c921faea3d8a99e0e65",
      "parents": [
        "08cb8352ef208730e4e3e1e71ebc47a59f0363de",
        "fe99051c78994e0cc5153468eeba6f75f3e04b8e"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Feb 23 13:01:59 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Feb 23 13:01:59 2012 -0800"
      },
      "message": "am fe99051c: am 0e25e4cd: am 63e43ba5: Merge \"Fix for issue 9656 - custom xml attributes in Android Libraries\"\n\n* commit \u0027fe99051c78994e0cc5153468eeba6f75f3e04b8e\u0027:\n  Fix for issue 9656 - custom xml attributes in Android Libraries\n"
    },
    {
      "commit": "fe99051c78994e0cc5153468eeba6f75f3e04b8e",
      "tree": "49f44af2ee53a8d66a3be15ac204523259129105",
      "parents": [
        "0a232673370989f54e05fd2508ce90267a54abd1",
        "0e25e4cd292dbc6bce330a876dedb7154e5cd847"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Feb 23 12:59:22 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Feb 23 12:59:22 2012 -0800"
      },
      "message": "am 0e25e4cd: am 63e43ba5: Merge \"Fix for issue 9656 - custom xml attributes in Android Libraries\"\n\n* commit \u00270e25e4cd292dbc6bce330a876dedb7154e5cd847\u0027:\n  Fix for issue 9656 - custom xml attributes in Android Libraries\n"
    },
    {
      "commit": "0e25e4cd292dbc6bce330a876dedb7154e5cd847",
      "tree": "e657bddbb6aec57fda038a2c41751ab6253f8c99",
      "parents": [
        "b92aee4e8c3d93235c9a57afa81711383538f54f",
        "63e43ba56a95708c229eec539a544967f1bbb7d7"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Feb 23 12:57:03 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Feb 23 12:57:03 2012 -0800"
      },
      "message": "am 63e43ba5: Merge \"Fix for issue 9656 - custom xml attributes in Android Libraries\"\n\n* commit \u002763e43ba56a95708c229eec539a544967f1bbb7d7\u0027:\n  Fix for issue 9656 - custom xml attributes in Android Libraries\n"
    },
    {
      "commit": "63e43ba56a95708c229eec539a544967f1bbb7d7",
      "tree": "a43e67d0ff08c1117313101381965ad634f2dcd0",
      "parents": [
        "69e9c30c2641add74c9a3b02d0959c0ded9e66f7",
        "e348909c1966c3d192841cc131a32be6ed90da18"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Feb 23 12:38:12 2012 -0800"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 23 12:38:14 2012 -0800"
      },
      "message": "Merge \"Fix for issue 9656 - custom xml attributes in Android Libraries\""
    },
    {
      "commit": "5e6c2194774eb5449889f3a9f984897bf0f06b1c",
      "tree": "f149d093320afc1a93ea55b780094165c440e560",
      "parents": [
        "6822c97898ef6c73528d17beb161059e5032f34a",
        "f8e737cb61ab86b90ec318591fbcfec40fac63cf"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Feb 23 12:22:40 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Feb 23 12:22:40 2012 -0800"
      },
      "message": "am f8e737cb: am 22701ec5: am 503247f2: Merge \"Make sure resource references are resolved.\" into ics-mr1\n\n* commit \u0027f8e737cb61ab86b90ec318591fbcfec40fac63cf\u0027:\n  Make sure resource references are resolved.\n"
    },
    {
      "commit": "f8e737cb61ab86b90ec318591fbcfec40fac63cf",
      "tree": "d527a1ea9d78e12ef73f80cd310ec9614303a924",
      "parents": [
        "32916f7a22f2abf5c1e7021f44c2337ca172f2e5",
        "22701ec5b11f6138e6298814fff5f09da82df144"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Feb 22 10:52:16 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 22 10:52:16 2012 -0800"
      },
      "message": "am 22701ec5: am 503247f2: Merge \"Make sure resource references are resolved.\" into ics-mr1\n\n* commit \u002722701ec5b11f6138e6298814fff5f09da82df144\u0027:\n  Make sure resource references are resolved.\n"
    },
    {
      "commit": "22701ec5b11f6138e6298814fff5f09da82df144",
      "tree": "2a9d69b0bc57711ea7b1ec2f237935c4cf5af842",
      "parents": [
        "fc4215eec9b947628c3ab5b3707711d16da19120",
        "503247f213ef2894324a22e7608101e90a7fe8fb"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Feb 22 10:49:15 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 22 10:49:15 2012 -0800"
      },
      "message": "am 503247f2: Merge \"Make sure resource references are resolved.\" into ics-mr1\n\n* commit \u0027503247f213ef2894324a22e7608101e90a7fe8fb\u0027:\n  Make sure resource references are resolved.\n"
    },
    {
      "commit": "cbc69718cb8c637426bc1a642a13a1880d843a45",
      "tree": "7131e704d79f81e0d6eee5022fa59c33cb6cca7d",
      "parents": [
        "30167542cb23726a0d28c2eeb280f16f3101e97f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 21 14:34:47 2012 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 21 14:34:47 2012 -0800"
      },
      "message": "another attempt at fixing the linux build\n\nChange-Id: Iac20439fd6eea4682859112e72f051294bc87ef6\n"
    },
    {
      "commit": "c3f979f6fecb8b46e9315fddb2a1f344bf1f1447",
      "tree": "2558c8a34c9bf516a3c669629c378c2516a20074",
      "parents": [
        "2d559b5311be1cd909e5a445afe75a840688b822"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Feb 21 14:26:32 2012 -0800"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Feb 21 14:33:37 2012 -0800"
      },
      "message": "Make sure resource references are resolved.\n\nXmlPullAttribute can query for attributes and return them in a given\nformat. We need to make sure they are first resolved before\ntrying to convert them to int/float/boolean/...\n\nChange-Id: I2aaced022a0382e501978c396e49d6191d53bdc8\n"
    },
    {
      "commit": "83c64e6b624a876436d2ef5d2f173b10407e27b4",
      "tree": "c4effc3260ab399e8fdae23baf06b076cd87a604",
      "parents": [
        "94d0024557f415b8463f085c9784a3e1d02b58c6"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Feb 20 16:58:20 2012 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Feb 20 22:38:43 2012 -0800"
      },
      "message": "frameworks/base refactoring\n\ncreate the new libandroidfw from parts of libui and libutils\n\nChange-Id: I1584995616fff5d527a2aba63921b682a6194d58\n"
    },
    {
      "commit": "b13b9bdad2baf6ad1ec2e56b6b7598fa20f55fc4",
      "tree": "2b90dc39a35d8081ea47b038893624b69a01202d",
      "parents": [
        "6db0608dff408130b35e6f21abe746a635648b18"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 17 18:27:36 2012 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 17 19:01:26 2012 -0800"
      },
      "message": "frameworks/base refactoring.\n\nstep 2: move libutils headers to their new home: androidfw\n\nChange-Id: I14624ba23db92a81f2cb929f104386e1fab293ef\n"
    },
    {
      "commit": "5bf842b22e79d779d82d5a1cc84b57b7ff7bd846",
      "tree": "46d1c693493c1f17378b134c0787647bc16e6343",
      "parents": [
        "4a7571bc0bd6d675d6964595407f0c184c51d9ac"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Feb 17 16:56:27 2012 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Feb 17 16:56:59 2012 -0800"
      },
      "message": "Fix build break.\n\nChange-Id: I0bc8ac6e76ff28bd4c3585afbd6b3aa1930bf710\n"
    },
    {
      "commit": "4a7571bc0bd6d675d6964595407f0c184c51d9ac",
      "tree": "538218bea4023df93d726e15d25705d8c606131b",
      "parents": [
        "6917e6550d2dc11ad3b794be08cc9caa53970d32",
        "b93a03f841d93498bfea6cc92a22faa34bce1337"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Feb 17 16:28:20 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 17 16:28:20 2012 -0800"
      },
      "message": "Merge \"frameworks/base refactoring.\""
    },
    {
      "commit": "b93a03f841d93498bfea6cc92a22faa34bce1337",
      "tree": "b5c2e1c097ad9dc4a3580ee661223794e0560f60",
      "parents": [
        "e97df97b6cb5e4bff8f9da9ecff7cddb7d04ff41"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 17 15:34:57 2012 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 17 15:36:10 2012 -0800"
      },
      "message": "frameworks/base refactoring.\n\nFirst step. Move libui includes to their new home: androidfw.\n\nChange-Id: Ic042b52fdba72f30edc3cc6339bf30b4c1b99662\n"
    },
    {
      "commit": "17a452f00c188173f48d0d490d98750cbb4529ca",
      "tree": "c7a8278fb8df4db660642c88446685834455886f",
      "parents": [
        "580d079101ef69e562ba491b33ecf4672fb10e58"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Fri Feb 17 10:38:00 2012 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Fri Feb 17 10:38:00 2012 -0800"
      },
      "message": "Revert \"Revert \"The com.android.athome api classes are moving android.support.place.\"\"\n\nThis reverts commit 9dede89795a88268ab735a1b28e628f2a77922fe.\n"
    }
  ],
  "next": "abfac6a55984fc7f0cf044371104c4e1b0b65fbf"
}
