)]}'
{
  "log": [
    {
      "commit": "bdd8fbf6eae886dc3b2cd716745ede918773a2c4",
      "tree": "b2253029638ca058b5b634805443d7d6ec5871b3",
      "parents": [
        "01cdd3123f408dc41a2bd4786f3a943157ab6c69",
        "877ae53586c3f7f5b788a40dfb0a58bef54a7446"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue May 13 02:20:10 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 13 02:20:10 2014 +0000"
      },
      "message": "am 877ae535: Set default text style in layoutlib as NORMAL [DO NOT MERGE]\n\n* commit \u0027877ae53586c3f7f5b788a40dfb0a58bef54a7446\u0027:\n  Set default text style in layoutlib as NORMAL [DO NOT MERGE]\n"
    },
    {
      "commit": "01cdd3123f408dc41a2bd4786f3a943157ab6c69",
      "tree": "9849bd626d384312f0b4b5e1da0b4f305e2905a9",
      "parents": [
        "d094742d2e19371291409886bb80f070df099533",
        "669792b303b99a003bbcbf8d962f5be1debf9b63"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue May 13 02:20:07 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 13 02:20:07 2014 +0000"
      },
      "message": "am 669792b3: Fix sans-serif-thin and sans-serif-light fonts in layoutlib. [DO NOT MERGE]\n\n* commit \u0027669792b303b99a003bbcbf8d962f5be1debf9b63\u0027:\n  Fix sans-serif-thin and sans-serif-light fonts in layoutlib. [DO NOT MERGE]\n"
    },
    {
      "commit": "d094742d2e19371291409886bb80f070df099533",
      "tree": "b2b599560d23bea98ec2c87eab06eb24fe3bf043",
      "parents": [
        "7bb8de580a451621480913d7839fd7eb784ab689",
        "cda89ca02548c19250ae55671c055536b64b74f8"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue May 13 02:19:59 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 13 02:19:59 2014 +0000"
      },
      "message": "am cda89ca0: Fix a bug in Nine Patch library. [DO NOT MERGE]\n\n* commit \u0027cda89ca02548c19250ae55671c055536b64b74f8\u0027:\n  Fix a bug in Nine Patch library. [DO NOT MERGE]\n"
    },
    {
      "commit": "7bb8de580a451621480913d7839fd7eb784ab689",
      "tree": "aab26e63f31bd94a3c5878a7304db2f2257bbcd6",
      "parents": [
        "69b3115e1c02f2b22165b93bd9bcc5c90ec69b12",
        "a2b34c96f1ef24d96854d1e23426dec7774510e8"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue May 13 02:19:56 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 13 02:19:56 2014 +0000"
      },
      "message": "am a2b34c96: Optimize layout rendering in layoutlib [DO NOT MERGE]\n\n* commit \u0027a2b34c96f1ef24d96854d1e23426dec7774510e8\u0027:\n  Optimize layout rendering in layoutlib [DO NOT MERGE]\n"
    },
    {
      "commit": "69b3115e1c02f2b22165b93bd9bcc5c90ec69b12",
      "tree": "3d673806a4fdbae13801a8ef1ccf44472fa5977a",
      "parents": [
        "82d5bd98b77a9955e375b075e262639625c40232",
        "e183855c1eb7baf750c67bb20e70fb887eba7af6"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue May 13 02:19:52 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 13 02:19:52 2014 +0000"
      },
      "message": "am e183855c: Add methods for Time_Delegate [DO NOT MERGE]\n\n* commit \u0027e183855c1eb7baf750c67bb20e70fb887eba7af6\u0027:\n  Add methods for Time_Delegate [DO NOT MERGE]\n"
    },
    {
      "commit": "82d5bd98b77a9955e375b075e262639625c40232",
      "tree": "5c262c3b83f090a2a1c2e9d90af963b5386bb69b",
      "parents": [
        "d5de1bd6305dc8885027504996602755b1e79099",
        "e5a2347bc6cf1506799136af4c9724275ca0247e"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue May 13 02:19:49 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 13 02:19:49 2014 +0000"
      },
      "message": "am e5a2347b: Fix NPE in layoutlib. [DO NOT MERGE]\n\n* commit \u0027e5a2347bc6cf1506799136af4c9724275ca0247e\u0027:\n  Fix NPE in layoutlib. [DO NOT MERGE]\n"
    },
    {
      "commit": "d5de1bd6305dc8885027504996602755b1e79099",
      "tree": "dbb9cb4c3f5831d865ee01c7ae3b5914af90a132",
      "parents": [
        "8a70bcef5a724906e3c35c58cb2266ee9c9e1b78",
        "30505abeb6cda9d042ec41f2563d561714eac46b"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue May 13 02:19:46 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 13 02:19:46 2014 +0000"
      },
      "message": "am 30505abe: Fix text size in Fake Action Bar. [DO NOT MERGE]\n\n* commit \u002730505abeb6cda9d042ec41f2563d561714eac46b\u0027:\n  Fix text size in Fake Action Bar. [DO NOT MERGE]\n"
    },
    {
      "commit": "8a70bcef5a724906e3c35c58cb2266ee9c9e1b78",
      "tree": "f2cb1b765259a60932381baaab6da5436d03b237",
      "parents": [
        "40fea8b1bf689933e63941b5fa5e3379f82c88b5",
        "5a7b3b65b691edbdb855eb6154b8b30f5700acbb"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Mon May 12 18:57:34 2014 -0700"
      },
      "committer": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Mon May 12 18:57:34 2014 -0700"
      },
      "message": "resolved conflicts for merge 5a7b3b65 to jb-dev-plus-aosp\n\nChange-Id: I6bafdb9c6a8dfc6f55a4d9adf67f447661137eb8\n"
    },
    {
      "commit": "40fea8b1bf689933e63941b5fa5e3379f82c88b5",
      "tree": "d3b0400cdaa9c9fd40176748059f77b9f5122f94",
      "parents": [
        "065ce2e8b3e11ff8bb1699748edbd23d272bc8a6",
        "4b5da86d04200ba278b62ff99da91e212b87e9af"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue May 13 01:52:32 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 13 01:52:32 2014 +0000"
      },
      "message": "am 4b5da86d: Fix DatePicker and Calendar widget in layoutlib. [DO NOT MERGE]\n\n* commit \u00274b5da86d04200ba278b62ff99da91e212b87e9af\u0027:\n  Fix DatePicker and Calendar widget in layoutlib. [DO NOT MERGE]\n"
    },
    {
      "commit": "065ce2e8b3e11ff8bb1699748edbd23d272bc8a6",
      "tree": "1172f5724fe99a26d49f19fd759bef9bbc16b0a7",
      "parents": [
        "9f2f5e776aed6bfcd87be0b7dd6aa9d22af28817",
        "5c166c9c04b6ea9d4955830e7ba277be71f17a6f"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue May 13 01:52:28 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 13 01:52:28 2014 +0000"
      },
      "message": "am 5c166c9c: Layoutlib: Update the wifi icon in the status bar. [DO NOT MERGE]\n\n* commit \u00275c166c9c04b6ea9d4955830e7ba277be71f17a6f\u0027:\n  Layoutlib: Update the wifi icon in the status bar. [DO NOT MERGE]\n"
    },
    {
      "commit": "9f2f5e776aed6bfcd87be0b7dd6aa9d22af28817",
      "tree": "c973773aae23028496acb208e58b7449f00ef162",
      "parents": [
        "06c4f23d737082717f37f5f3583d9c12f4b64bf2",
        "2d82586b96593b1b3b5280d77d5ae9a09df9d1fd"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue May 13 01:52:25 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 13 01:52:25 2014 +0000"
      },
      "message": "am 2d82586b: Fix CalendarView to show the right labels. [DO NOT MERGE]\n\n* commit \u00272d82586b96593b1b3b5280d77d5ae9a09df9d1fd\u0027:\n  Fix CalendarView to show the right labels. [DO NOT MERGE]\n"
    },
    {
      "commit": "06c4f23d737082717f37f5f3583d9c12f4b64bf2",
      "tree": "64b766589afd8e060291cf494adf4e9f64b3651a",
      "parents": [
        "cdb87d8d83e8a76a4cf78d24d5c49ee8548eba1f",
        "64dc0380127047ffcf135b6848c9150aa8dbed85"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue May 13 01:52:21 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 13 01:52:21 2014 +0000"
      },
      "message": "am 64dc0380: Fix layoutlib [DO NOT MERGE]\n\n* commit \u002764dc0380127047ffcf135b6848c9150aa8dbed85\u0027:\n  Fix layoutlib [DO NOT MERGE]\n"
    },
    {
      "commit": "cdb87d8d83e8a76a4cf78d24d5c49ee8548eba1f",
      "tree": "5254a9d9f4ce93f13e219a565e8b776536abe9e0",
      "parents": [
        "edae4e69512a7c9df1076fde70de83e15053a30a",
        "a59c27dd6674a31c875b0baa86519caec628ca2d"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue May 13 01:52:18 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 13 01:52:18 2014 +0000"
      },
      "message": "am a59c27dd: Fix ClassCastException when rendering ListView [DO NOT MERGE]\n\n* commit \u0027a59c27dd6674a31c875b0baa86519caec628ca2d\u0027:\n  Fix ClassCastException when rendering ListView [DO NOT MERGE]\n"
    },
    {
      "commit": "edae4e69512a7c9df1076fde70de83e15053a30a",
      "tree": "f49af95f48fa15922f072db754ebe291b3e05559",
      "parents": [
        "3ecaa88d83d04a0fd55b494829badbb41016f5a1",
        "8a39c3afb29f2540b05319042e758dd4d5f73a1e"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue May 13 01:52:15 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 13 01:52:15 2014 +0000"
      },
      "message": "am 8a39c3af: Add orientation to configuration for layoutlib. [DO NOT MERGE]\n\n* commit \u00278a39c3afb29f2540b05319042e758dd4d5f73a1e\u0027:\n  Add orientation to configuration for layoutlib. [DO NOT MERGE]\n"
    },
    {
      "commit": "877ae53586c3f7f5b788a40dfb0a58bef54a7446",
      "tree": "ad1d0e6b55054fc9aa163357b4f4615ea3159484",
      "parents": [
        "669792b303b99a003bbcbf8d962f5be1debf9b63"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Wed Feb 19 11:05:02 2014 -0800"
      },
      "committer": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue May 06 14:02:46 2014 -0700"
      },
      "message": "Set default text style in layoutlib as NORMAL [DO NOT MERGE]\n\nIf a style doesn\u0027t specify text style (normal/bold/italic/bold-italic)\nthen default to normal instead of throwing an error.\n\nBug: http://b.android.com/61358\nChange-Id: I0138c73807a5ff6e4d938a99ece3044333110aa1\n(cherry-picked from bcbeaf83ca75e4a819377938fdf3ec1e07fa30a7)\n"
    },
    {
      "commit": "669792b303b99a003bbcbf8d962f5be1debf9b63",
      "tree": "4722ec9c2137a49a0b6becf70fb6e979664d1031",
      "parents": [
        "cda89ca02548c19250ae55671c055536b64b74f8"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Wed Feb 19 10:53:27 2014 -0800"
      },
      "committer": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue May 06 14:02:46 2014 -0700"
      },
      "message": "Fix sans-serif-thin and sans-serif-light fonts in layoutlib. [DO NOT MERGE]\n\nFor these font families, text was always rendered as italic. This\nchangeset fixes the issue.\n\nBug: http://b.android.com/57221\nChange-Id: Ic8a299bd1e555f5bb914cd3d2fe72917ec7f471a\n(cherry-picked from 5be65fda15c6f66067da3cc623811427e9d541e4)\n"
    },
    {
      "commit": "cda89ca02548c19250ae55671c055536b64b74f8",
      "tree": "8236ee47cf924e8d6313d536458edcdcb0c0b37f",
      "parents": [
        "a2b34c96f1ef24d96854d1e23426dec7774510e8"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Wed Feb 05 17:11:14 2014 -0800"
      },
      "committer": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue May 06 14:02:46 2014 -0700"
      },
      "message": "Fix a bug in Nine Patch library. [DO NOT MERGE]\n\nThe nine patches were not drawn correctly if they were not positioned at\nthe top left corner of the canvas.\n\nBug: http://b.android.com/29959\nChange-Id: Icfed522ea07322a3ee9f3955067d3da26c4b0b5b\n(cherry-picked from 5bb3414d148f1309dade9333fe9b89c8d1c2f308)\n"
    },
    {
      "commit": "a2b34c96f1ef24d96854d1e23426dec7774510e8",
      "tree": "a08c442846dd49a566f8393fbef617bd9df56470",
      "parents": [
        "e183855c1eb7baf750c67bb20e70fb887eba7af6"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Mon Jan 20 17:02:37 2014 -0800"
      },
      "committer": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue May 06 14:02:45 2014 -0700"
      },
      "message": "Optimize layout rendering in layoutlib [DO NOT MERGE]\n\nThe height of a layout should be zero if it is assigned a layout_weight.\nThis way, the layout is measured only once and prevents spurious errors.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d58398\nChange-Id: If49a7480e5eb82cb86780e00f2f5b65ee053fc2a\n(cherry-picked from 5712b5fc3fec0dc376e84f660f2fe0d1102c0cbb)\n"
    },
    {
      "commit": "e183855c1eb7baf750c67bb20e70fb887eba7af6",
      "tree": "605ee71b08c79e1afd44d296bd595ad26449f13f",
      "parents": [
        "e5a2347bc6cf1506799136af4c9724275ca0247e"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Fri Jan 31 19:03:48 2014 -0800"
      },
      "committer": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue May 06 14:02:45 2014 -0700"
      },
      "message": "Add methods for Time_Delegate [DO NOT MERGE]\n\nBug: http://b.android.com/65359\nChange-Id: I7c2d09286d6bcd9899444aaa5a4a5a342e39d923\n(cherry-picked from 02cde9ceeb4c052ee273a5d809816dfd355ebb56)\n"
    },
    {
      "commit": "e5a2347bc6cf1506799136af4c9724275ca0247e",
      "tree": "617004ed8978b3823313a3fcd85d9ff7a48fab9d",
      "parents": [
        "30505abeb6cda9d042ec41f2563d561714eac46b"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue Nov 12 18:33:17 2013 +0530"
      },
      "committer": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue May 06 14:02:45 2014 -0700"
      },
      "message": "Fix NPE in layoutlib. [DO NOT MERGE]\n\nChange-Id: I36623304d83b344ea078044001577b8005a63c02\n(cherry picked from commit 689c0dfe72a57c0555560012cbc6806375e7d4b7)\n"
    },
    {
      "commit": "30505abeb6cda9d042ec41f2563d561714eac46b",
      "tree": "af42df6a9b013972e6581b50964f9b886609b326",
      "parents": [
        "5a7b3b65b691edbdb855eb6154b8b30f5700acbb"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Fri Nov 08 16:43:07 2013 +0530"
      },
      "committer": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue May 06 14:02:44 2014 -0700"
      },
      "message": "Fix text size in Fake Action Bar. [DO NOT MERGE]\n\nThe density multiplier was being applied twice to the title text in\nthe fake action bar.\n\nBug: 11436018\nChange-Id: Id74c11037cb43d01f6cd79126623c84edfc37aaf\n(cherry-picked from 083d1562e00631630b5594462ce4a867a3508d8d)\n"
    },
    {
      "commit": "5a7b3b65b691edbdb855eb6154b8b30f5700acbb",
      "tree": "d3dc6d36dc0fe3c1f20887caaab0c48ebbff758c",
      "parents": [
        "4b5da86d04200ba278b62ff99da91e212b87e9af"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue Sep 10 15:41:21 2013 -0700"
      },
      "committer": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue May 06 13:55:56 2014 -0700"
      },
      "message": "Remove references to non-std Java classes. [DO NOT MERGE]\n\nDo not add the non-standard Java classes. Updates the references to all\nnon-standard classes to new classes in\ncom.android.tools.layoulib.create package. This also treats\njava.lang.AutoCloseable which is part of Java 7 similarly so that we can\nstill run on Java 6.\n\nThis also adapts the cherrypick for this branch by updating references\nto the non-standard Java classes present in this branch. This also\nincludes the following change that includes some changes that the\noriginal cherrypick missed.\nChange-Id: I76c87c74ee088778b37d1a7a7d531e0fde5c758f\ncommit: 1ed75bde09275c9f2bd1f81830e381ea864ac7f5\n\nChange-Id: Iac5b272652e2780c9bb72d19f415d150948ca589\n(cherry picked from 80c668f2a076e91d887dbf77776cd503ff88b0b4)\n"
    },
    {
      "commit": "4b5da86d04200ba278b62ff99da91e212b87e9af",
      "tree": "7f0c035e13a8868a1b52897c9a6ea023081ca462",
      "parents": [
        "5c166c9c04b6ea9d4955830e7ba277be71f17a6f"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Sat Oct 12 18:37:19 2013 -0700"
      },
      "committer": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Mon May 05 18:42:28 2014 -0700"
      },
      "message": "Fix DatePicker and Calendar widget in layoutlib. [DO NOT MERGE]\n\nIssue: https://code.google.com/p/android/issues/detail?id\u003d59732\n\nChange-Id: I281b3fdad88c591281a3645592c84f3e2cb61d09\n(cherry picked from commit 6335590aa8997944cc7fb358a315dbb9b789f87f)\n"
    },
    {
      "commit": "5c166c9c04b6ea9d4955830e7ba277be71f17a6f",
      "tree": "ed50ff091b83989feecb9465d03ff876a854358a",
      "parents": [
        "2d82586b96593b1b3b5280d77d5ae9a09df9d1fd"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Sat Oct 12 21:28:50 2013 -0700"
      },
      "committer": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Mon May 05 18:33:08 2014 -0700"
      },
      "message": "Layoutlib: Update the wifi icon in the status bar. [DO NOT MERGE]\n\nIssue: https://code.google.com/p/android/issues/detail?id\u003d60993\n\nChange-Id: Ia43ed40b42c79f67dcd5809b827d4fecbc823c25\n(cherry picked from commit 11ee746dc5e77f4f33aac45ac9e344444223012d)\n"
    },
    {
      "commit": "2d82586b96593b1b3b5280d77d5ae9a09df9d1fd",
      "tree": "612a59c1b4d1d3b847a4b15a7379aeecf8d46986",
      "parents": [
        "64dc0380127047ffcf135b6848c9150aa8dbed85"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Mon Oct 14 18:14:58 2013 -0700"
      },
      "committer": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Mon May 05 18:32:04 2014 -0700"
      },
      "message": "Fix CalendarView to show the right labels. [DO NOT MERGE]\n\nChange-Id: I95431f1054678d4192bd1621c1f69b29268f55e9\n(cherry picked from commit 44bcd64e5b9fd211dd56b0598693a0559f65dc1a)\n"
    },
    {
      "commit": "64dc0380127047ffcf135b6848c9150aa8dbed85",
      "tree": "7a91446d1791bbcbe997a68c66b26e814c5d902a",
      "parents": [
        "a59c27dd6674a31c875b0baa86519caec628ca2d"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Wed Oct 16 20:27:51 2013 -0700"
      },
      "committer": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Mon May 05 18:23:15 2014 -0700"
      },
      "message": "Fix layoutlib [DO NOT MERGE]\n\nFix a NPE.\n\nThe cherry-pick differs slightly from the original to remove changes not\nrelevant to the current branch.\n\nBug: 11140701\nChange-Id: Id92fc5359acf6dde1bcdbc781aaf637fdb6eecbf\n(cherry-picked from 87be67f91719234cbd381ff0242b5efc8b6aa257)\n"
    },
    {
      "commit": "a59c27dd6674a31c875b0baa86519caec628ca2d",
      "tree": "241812ea15034a063d7df2304cdd178815ecfca4",
      "parents": [
        "8a39c3afb29f2540b05319042e758dd4d5f73a1e"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Tue Sep 10 15:39:41 2013 -0700"
      },
      "committer": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Mon May 05 18:21:41 2014 -0700"
      },
      "message": "Fix ClassCastException when rendering ListView [DO NOT MERGE]\n\nBug: b.android.com/59300\nChange-Id: Ia350adb3308daa8170bff755302760790163c811\n(cherry picked from commit 7b5d54f05be61a7ab40021644a91c466e2897627)\n"
    },
    {
      "commit": "8a39c3afb29f2540b05319042e758dd4d5f73a1e",
      "tree": "db14a03054a1938c0078df9fc5b620ec468b2595",
      "parents": [
        "ecb013dbff5e33b95c49015fa375579e055911ae"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Fri Jul 12 15:24:51 2013 -0700"
      },
      "committer": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Mon May 05 18:17:13 2014 -0700"
      },
      "message": "Add orientation to configuration for layoutlib. [DO NOT MERGE]\n\nUpdate the configuration with the device orientation before rendering.\n\nChange-Id: Icd40901204fd13f90b18353e53a15e25e5b2176c\n(cherry picked from commit d4875e19f5b7c69226783b0a6590831466159f84)\n"
    },
    {
      "commit": "fcc93e734be9fe4608fb5a6818163104cdec3fb5",
      "tree": "2855c1d7f4f69858c28021531f7b0448c7f3d220",
      "parents": [
        "82f0ba79e67c154fc12a6cfde2fe1205da166b0d",
        "135b5ba52431b147d51a81b807784009cd0510dd"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Oct 18 17:48:57 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 18 17:48:57 2012 -0700"
      },
      "message": "am 135b5ba5: Layoutlib: Read and close XML files as soon as possible. do not merge.\n\n* commit \u0027135b5ba52431b147d51a81b807784009cd0510dd\u0027:\n  Layoutlib: Read and close XML files as soon as possible. do not merge.\n"
    },
    {
      "commit": "135b5ba52431b147d51a81b807784009cd0510dd",
      "tree": "275f2981705cf6541ce08f50ffce24c576ef75bb",
      "parents": [
        "4a6b69488f9fd90bbe04a930ffad8999bc93e173"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Oct 17 18:38:49 2012 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Oct 18 15:48:10 2012 -0700"
      },
      "message": "Layoutlib: Read and close XML files as soon as possible. do not merge.\n\nBecause passing an InputStream to KXML does not close the\nstream after the file has been parsed, the files are staying\nlocked on windows until the gc and finalizers are run.\n\nThis change preload the XML files and close their stream,\nand then pass the content in a stream to the parser.\n\n(cherry picked from commit c48b0b940d632b9862ff6aa32665e37fe9e50845)\n\nChange-Id: I1b225454c166026c1aab6290c55ac8279e8862d5\n"
    },
    {
      "commit": "64b3de296cdbc8c02e2890f8853409c6d49cddb1",
      "tree": "6898aeea14acaf1cd926844e8ca3cf3c69dcff6f",
      "parents": [
        "5dc7ac745300fb043267a0c9235244a115507c51",
        "434cd38f96a4a87220a8218901622f31e567354a"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Oct 18 12:23:28 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 18 12:23:28 2012 -0700"
      },
      "message": "am 434cd38f: Update layoutlib for jb mr1. do not merge.\n\n* commit \u0027434cd38f96a4a87220a8218901622f31e567354a\u0027:\n  Update layoutlib for jb mr1. do not merge.\n"
    },
    {
      "commit": "434cd38f96a4a87220a8218901622f31e567354a",
      "tree": "030c8815439bcd6187c2bdb3eab17d7ab3dd76b6",
      "parents": [
        "a7b56a20ec80699371359cdd6f459a7eaec67185"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Oct 16 19:56:03 2012 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Oct 18 11:15:39 2012 -0700"
      },
      "message": "Update layoutlib for jb mr1. do not merge.\n\nStatus bar displayed on all devices.\nUpdate logic for displaying nav bar to whether or not\ndevice has soft button.\n\nUpdate navigation buttons to new look.\nRemove battery and signal from navigation bar.\n\n(cherry picked from commit 891b703f7b1e0e396d16477cc66a286da7161b49)\n\nChange-Id: Id7cc9ad4255d2c4d2e6461a565dfe2cc17e12e75\n"
    },
    {
      "commit": "54059cd38de24bbffc2525b56955535df73bf1eb",
      "tree": "693abe2c8ae261ba276ef46f72e9c7b16cb2adf4",
      "parents": [
        "23316a1ef8868bc641ed72d42839c20b7b86fadb",
        "15c15eaac51c0c375d18fb70cd1bd066d87b034e"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jul 10 18:38:21 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 10 18:38:21 2012 -0700"
      },
      "message": "am 15c15eaa: Merge \"Replace LruCache implementation for layoutlib. do not merge.\" into jb-dev\n\n* commit \u002715c15eaac51c0c375d18fb70cd1bd066d87b034e\u0027:\n  Replace LruCache implementation for layoutlib. do not merge.\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": "58a8d8d2d4b15cd4abf010680181359823ebfda4",
      "tree": "2d5eb4858fa0599a93671be236fe41949585a544",
      "parents": [
        "f99e81a6ff22b6b93dd057802e553f66c0a7b97b",
        "0e302bc884fa4b25eb391d625f2fb0eddc25d9b7"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jun 19 18:06:37 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 19 18:06:37 2012 -0700"
      },
      "message": "am 0e302bc8: Merge \"Disable debug output in SDK layoutlib.\" into jb-dev\n\n* commit \u00270e302bc884fa4b25eb391d625f2fb0eddc25d9b7\u0027:\n  Disable debug output in SDK layoutlib.\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": "bce1011dd2a371c587d2e39ad8c3d446b63049d0",
      "tree": "3e99f4996919ff44364c895e95999f3f9c03d37b",
      "parents": [
        "eb02d40c6d068ffcbb822910c5449b7081d1ae51",
        "8cf489c1f509ad2414a887035ad3d6996d1931a3"
      ],
      "author": {
        "name": "Raphael Moll",
        "email": "raphael@google.com",
        "time": "Thu Jun 14 14:14:45 2012 -0700"
      },
      "committer": {
        "name": "Raphael Moll",
        "email": "raphael@google.com",
        "time": "Thu Jun 14 14:14:45 2012 -0700"
      },
      "message": "resolved conflicts for merge of 8cf489c1 to jb-dev-plus-aosp\n\nChange-Id: I06608e3c122b8f321429d457c51aa2213dd238b4\n"
    },
    {
      "commit": "4306096a4351030cab4ea413b5e87460b60a84bf",
      "tree": "359ee2d75645d0d641f052fde11469628194add8",
      "parents": [
        "f01f6b6d379c911a2c1e350bc758cea26bfe6d9d"
      ],
      "author": {
        "name": "Raphael Moll",
        "email": "ralf@android.com",
        "time": "Wed Jun 13 00:22:47 2012 -0700"
      },
      "committer": {
        "name": "Raphael Moll",
        "email": "ralf@android.com",
        "time": "Wed Jun 13 15:44:54 2012 -0700"
      },
      "message": "Layoutlib Create: Find dependencies.\n\nUsage: layoutlib_create --list-deps /path/to/layoutlib.jar\n\nPrints:\n- all classes found in the Jar and the types they use (the dependencies).\n- all the dependencies missing from the Jar and what uses them.\n\nChange-Id: I8b2674df127e1494feed7a653282e88e4d2f5494\n"
    },
    {
      "commit": "fcd738240a7d716e21721514202caa5bfb2dcb98",
      "tree": "caaa71a10f3154c2925f0c5b060126f74f1a81bf",
      "parents": [
        "5bf8f01be1cd9800e53b30117fe9ea7fb1153301",
        "dd251cab5b6e5b590cc0aeae8be8f885a7794e72"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 04 11:09:00 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 04 11:09:00 2012 -0700"
      },
      "message": "am dd251cab: Merge \"Fix build.\" into jb-dev\n\n* commit \u0027dd251cab5b6e5b590cc0aeae8be8f885a7794e72\u0027:\n  Fix build.\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": "f3b4c93e0da9af2db9e16864faa734cf70fecfe3",
      "tree": "7e9700c7556be59ccc6919bcb4cd0a3cdb50b7f6",
      "parents": [
        "09dfd60bc37585e2670e4ca997940256e5b21ac8",
        "ae5811c71405878b09eace395ec2b28e54eeb427"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 29 15:53:38 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 29 15:53:38 2012 -0700"
      },
      "message": "am ae5811c7: Merge \"Fix (mostly) issue #5109947: Race condition between retrieving a...\" into jb-dev\n\n* commit \u0027ae5811c71405878b09eace395ec2b28e54eeb427\u0027:\n  Fix (mostly) issue #5109947: Race condition between retrieving a...\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": "38e34874a89b6e71464bfa3e89480252000765ad",
      "tree": "4d1c5a4945991dec9dcefbb85ca59ca28a83afe5",
      "parents": [
        "1b61dc2eb7f738bb49142db14a7d339e2fd90545",
        "2a9b85d7ccdd3b8e6be90454cdcb4be3b032cd64"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri May 18 16:33:10 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 18 16:33:10 2012 -0700"
      },
      "message": "am 2a9b85d7: am c0f17383: Merge \"Move kxml2 to prebuilts/misc\"\n\n* commit \u00272a9b85d7ccdd3b8e6be90454cdcb4be3b032cd64\u0027:\n  Move kxml2 to prebuilts/misc\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": "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": "bda124453d58d8b55d9026e4c5e7ae8c804e995a",
      "tree": "2692d58dee80a6999826d37bd331b8d7143a5567",
      "parents": [
        "d29032e362d41e81ed07d97b8103df855427cb14"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Apr 30 17:35:26 2012 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Apr 30 17:35:26 2012 -0700"
      },
      "message": "Move kxml2 to prebuilts/misc\n\nChange-Id: Ie4b45d2073f26d8313843f9860cf658e288c850b\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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "a175a5b7ea3682cb58cca7f9726d0b8171cd549d",
      "tree": "a0747492e739adc22a9415fe37a19a71a4a1e010",
      "parents": [
        "1654d0b8d9ba477a0134338838b6e5921f1aabb8"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Feb 15 19:18:31 2012 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Feb 15 19:32:16 2012 -0800"
      },
      "message": "Encapsulate the ViewRootImpl\u0027s handler.\n\nThis change makes it much easier to make sense of the messages that\nget posted to the ViewRootImpl\u0027s handler by encapsulating their point\nof dispatch within the ViewRootImpl itself.\n\nAs part of this change, the View.AttachInfo now carries a reference\nto the ViewRootImpl itself, which simplifies some code that used\nto try to find the ViewRootImpl by getting the root view\u0027s parent.\n\nIn principle, it might have been nice to hide the ViewRootImpl from\nthe View hierarchy but in practice the two were coupled in many ways.\n\nChange-Id: I51ebccdf5f8c8c505cd6f17cdf594174d041dc54\n"
    },
    {
      "commit": "688bd47fccf1a1373e6287bc49b5b33fad12b7f3",
      "tree": "8b394c364fc55aad2d87188156a058ef52d43fd5",
      "parents": [
        "ed219c117d449304bd720fc7d7da1f361015dc58"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Feb 09 20:09:17 2012 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Feb 10 16:44:12 2012 +0900"
      },
      "message": "Add an api to switch to the next IME and subtype\n\nBug: 5975302\n\nChange-Id: I48aa4220159c65f456d61a324efcdf0a1ceec91c\n"
    },
    {
      "commit": "c8a0b8e6bccc604d3670d72cab0691ab6b8302c1",
      "tree": "1694852a78b981679479120bd1b0cb2eaa47d96a",
      "parents": [
        "c10cd4a6e3021010786c1dbd69ab4e03ecb689e6"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Feb 06 17:29:19 2012 -0800"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Feb 06 17:29:19 2012 -0800"
      },
      "message": "Fix a setBackgroundDrawable in layoutlib.\n\nChange-Id: Id5f3ec8cc6863fa5929743ef4014c331633efce9\n"
    },
    {
      "commit": "331bb0c393d5e2ea2485102dcddbb8c2d42654d2",
      "tree": "ae190ea4bed14fbe12870f685b7c59f74219eede",
      "parents": [
        "a9d9fa723a10ae41c047a4e8eba330112d344dc8"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Feb 06 14:57:22 2012 -0800"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Feb 06 16:40:03 2012 -0800"
      },
      "message": "Setup ActionBars in layoutlib the same way the platform does it. do not merge.\n\nInstead of using a simple ImageView for the icon, this uses the platform\nlayout/action_bar_home which uses a custom class to position and resize\nthe icon (and also supports the Up icon that we don\u0027t yet support).\n\nThis ensures that the icon is properly positionned and sized like\non devices.\n\n(cherry picked from commit 7396348dfcfb45b7ad055f4c18cabbe5e8270d26)\n\nChange-Id: Ifd3bc318089b70ba843519523e366e59d434e919\n"
    },
    {
      "commit": "7396348dfcfb45b7ad055f4c18cabbe5e8270d26",
      "tree": "66b6607b253b5197e19194bd423f2e4cedd2836b",
      "parents": [
        "0afa7e2d95a1ae047ceddf2ca67f05c67ac30770"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Feb 06 14:57:22 2012 -0800"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Feb 06 15:11:12 2012 -0800"
      },
      "message": "Setup ActionBars in layoutlib the same way the platform does it.\n\nInstead of using a simple ImageView for the icon, this uses the platform\nlayout/action_bar_home which uses a custom class to position and resize\nthe icon (and also supports the Up icon that we don\u0027t yet support).\n\nThis ensures that the icon is properly positionned and sized like\non devices.\n\nChange-Id: I57432afa82d257bb043247001320b368045d7f55\n"
    },
    {
      "commit": "ec99f609cc2db862db307f7ba56a2400c58403a0",
      "tree": "6fe7103e5cf1e34819149e92d0699c299dec854e",
      "parents": [
        "c445ed701ade87e5a15f161483fb0200ff5e3e4a",
        "4c1241df8f8b7fd5ec3dff6c7e0f66271248e76e"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Feb 02 18:50:55 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 02 18:50:55 2012 -0800"
      },
      "message": "Merge \"Rename CancellationSignal using preferred spelling.\""
    },
    {
      "commit": "4c1241df8f8b7fd5ec3dff6c7e0f66271248e76e",
      "tree": "36df1bce8fe7295d0ab778ca519232a291a3294f",
      "parents": [
        "8ca8a69d5801ad4b809e7b9dbf53bd728820924b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Feb 02 17:05:00 2012 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Feb 02 18:02:16 2012 -0800"
      },
      "message": "Rename CancellationSignal using preferred spelling.\n\nBug: 5943637\nChange-Id: I12a339f285f4db58e79acb5fd8ec2fc1acda5265\n"
    },
    {
      "commit": "46d43ccfd8cef75b4315828073c094cf1efb05ff",
      "tree": "572565d2d3cfc8db8423cfc9aac3386837d8ab46",
      "parents": [
        "c69acaef0b31af922931461c11f075e436642fef"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Feb 02 15:44:50 2012 -0800"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Feb 02 17:45:45 2012 -0800"
      },
      "message": "Make Layoutlib compile on Java 6.\n\nChange-Id: Ic8f0e321c6c218de83664fc01f253a07fa80852c\n"
    },
    {
      "commit": "75ea64fc54f328d37b115cfb1ded1e45c30380ed",
      "tree": "4254a5d2d0662de8b606b38fea6987da17c130e3",
      "parents": [
        "ebc016c01ea9d5707287cfc19ccc59b21a486c00"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jan 25 19:37:13 2012 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jan 27 17:33:21 2012 -0800"
      },
      "message": "Implement a cancelation mechanism for queries.\n\nAdded new API to enable cancelation of SQLite and content provider\nqueries by means of a CancelationSignal object.  The application\ncreates a CancelationSignal object and passes it as an argument\nto the query.  The cancelation signal can then be used to cancel\nthe query while it is executing.\n\nIf the cancelation signal is raised before the query is executed,\nthen it is immediately terminated.\n\nChange-Id: If2c76e9a7e56ea5e98768b6d4f225f0a1ca61c61\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": "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": "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"
    }
  ],
  "next": "d2183654e03d589b120467f4e98da1b178ceeadb"
}
