)]}'
{
  "log": [
    {
      "commit": "c2f8da8756553bb682e0e202779063965a89dced",
      "tree": "073fcc3658b813f7b24fa939fa59c5e3d06371c5",
      "parents": [
        "436b6ee3500888a1611d2030b994263b5efa44bc",
        "b9be11c370712cfc4d54aef9202e61092b96960d"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Aug 12 02:09:50 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 12 02:09:51 2013 +0000"
      },
      "message": "Merge \"Bring along BridgeContext for the ride.\" into klp-dev"
    },
    {
      "commit": "b9be11c370712cfc4d54aef9202e61092b96960d",
      "tree": "00e39512a55bf135e371482e7730b72ed141cb77",
      "parents": [
        "7f392defccfae54dc8169e5ad82c2616e0713c8e"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Aug 11 19:08:39 2013 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Aug 11 19:08:39 2013 -0700"
      },
      "message": "Bring along BridgeContext for the ride.\n\nChange-Id: Ic11c0df447c82be3922d529f18a290cfdfec6b05\n"
    },
    {
      "commit": "667fe1039feae068d3333de8fb7115313f4a517b",
      "tree": "cbe42efc3390b4f8bce6854573d7073e698b2dae",
      "parents": [
        "f6971c80fd413cad8e5333cd3184f41fcf64e14b"
      ],
      "author": {
        "name": "Jonathan Dixon",
        "email": "joth@google.com",
        "time": "Fri Aug 02 15:28:31 2013 -0700"
      },
      "committer": {
        "name": "Jonathan Dixon",
        "email": "joth@google.com",
        "time": "Thu Aug 08 17:22:48 2013 -0700"
      },
      "message": "Refactor Canvas.drawPicture() to delegate to Picture\n\nBug: 9814370\n\nTo allow WebView.capturePicture() to return a subclass, we need to\nensure the subclass is always consulted when being drawn into a canvas.\n\nChange-Id: Ia0357f95b6fafb3ac81e6bcfaef05739e619897a\n"
    },
    {
      "commit": "b3c21ac7c661022534135bf688a75ec35fe3a8f2",
      "tree": "2559a8e189ee4b4c5ffa765421140659d18d6653",
      "parents": [
        "26d4adf30f3a40a7f3f7945939f5534a93a27c44"
      ],
      "author": {
        "name": "Satoshi Kataoka",
        "email": "satok@google.com",
        "time": "Wed Aug 07 15:43:29 2013 +0900"
      },
      "committer": {
        "name": "Satoshi Kataoka",
        "email": "satok@google.com",
        "time": "Thu Aug 08 11:32:31 2013 +0900"
      },
      "message": "Reduce the transaction fee of getEnabledInputMethodSubtypeList\n\nBug: 8467480\nChange-Id: If18cce8fbe567df51f29adcdcedff3f743460b8b\n"
    },
    {
      "commit": "f2c89b9ed65116888f1d4a863b7c10c007a49c5d",
      "tree": "5a2a3110e1c1c8673f1fa22b94bc59ad30316e77",
      "parents": [
        "fec4a907b1ccb667758d9e7df151d372a070fd83",
        "9516ed4598948eea5623c57e443bce08c1f48ab6"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Tue Jul 30 12:28:05 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 30 12:28:05 2013 -0700"
      },
      "message": "am 9516ed45: am cfc23ac6: Merge \"Add support for MNC\u003d00\"\n\n* commit \u00279516ed4598948eea5623c57e443bce08c1f48ab6\u0027:\n  Add support for MNC\u003d00\n"
    },
    {
      "commit": "9516ed4598948eea5623c57e443bce08c1f48ab6",
      "tree": "b894cffa03bb3fab7df76620f9056f1eb1ab47ce",
      "parents": [
        "f0589d8fc78f7994cd49c64485f51f446c499259",
        "cfc23ac688be9de1ecd2e659455ea1ebcceb63dc"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Tue Jul 30 12:24:39 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 30 12:24:39 2013 -0700"
      },
      "message": "am cfc23ac6: Merge \"Add support for MNC\u003d00\"\n\n* commit \u0027cfc23ac688be9de1ecd2e659455ea1ebcceb63dc\u0027:\n  Add support for MNC\u003d00\n"
    },
    {
      "commit": "1d766b53217f9e45472a01e84d2f1b02af36dec7",
      "tree": "5408fa90569c4d35467ab508f7f58fd41eb832cb",
      "parents": [
        "d547bcec5634f99195a2b12522b6977f61c40d55"
      ],
      "author": {
        "name": "Mattias Petersson",
        "email": "mattias.petersson@sonyericsson.com",
        "time": "Fri Oct 07 09:33:52 2011 +0200"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonymobile.com",
        "time": "Fri Jul 26 18:42:34 2013 +0000"
      },
      "message": "Add support for MNC\u003d00\n\nThis adds support for operators with MNC (Mobile Network Code) zero\nto add customized resources. For example, it makes it possible to\nadd a folder called \"/res/values-mnc00/\" in an application. This will\ncause resources in that folder to be used when MNC is zero.\n(There is a total of 14 countries that have an operator with MNC\nzero.)\n\nWithout this fix, the resource framework gets confused, because MNC 0\nis normally used when the MNC is undefined (not set).\n\nBug: 7170488\nChange-Id: Icfd39fd0c739216e89446252ea0e7ceba6f002c6\n"
    },
    {
      "commit": "ba23a6677e7a335078fb6fced9a75524e10b2de6",
      "tree": "fa53f1d17470b3a23788c0393ae60e107231ef10",
      "parents": [
        "3de52c67e5fa0f2cc8ddfb4d0ab4f206274e0054"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Jul 23 22:33:50 2013 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Jul 23 22:37:37 2013 -0700"
      },
      "message": "Exclude magic inner-class name from preload\n\nAdd a magic subclass name that will exclude inner classes that are meant\nto prevent object instatiation but allow class preloading. This will\nallow classes that have undesired side-effects to delay initialization\nuntil the side-effects are no longer disruptive.\n\nBug: 9984058\nChange-Id: I46b0784760d84a2a2da1f9f41d87ee7f70a3fc16\n"
    },
    {
      "commit": "acb837fe632b79d52af0c683957cee8b567be74a",
      "tree": "146d1f53561af81292864de102d3fd4bfe2ca1c2",
      "parents": [
        "5fe91c4cb3fecdbe33ef79a80cd1ed1d3e801316",
        "ac6f843c917b68ea8805711965b149a9338e3a0e"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Jul 19 23:07:51 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 19 23:07:51 2013 +0000"
      },
      "message": "Merge \"Fix home activity and user switch interactions.\""
    },
    {
      "commit": "ac6f843c917b68ea8805711965b149a9338e3a0e",
      "tree": "8dbcb9d8f1ae101e1a7b12fac3693c5270c327b2",
      "parents": [
        "350503fba389a753cbb92864c36864830fdd8efe"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Jul 17 13:24:59 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Jul 19 16:05:59 2013 -0700"
      },
      "message": "Fix home activity and user switch interactions.\n\n- Make sure Home activity goes in the correct task and on the correct\nstack.\n- Do not allow different users to be in the same task.\n- Do not set stacks aside for each user.\n\nFixes bug 9775492.\n\nChange-Id: I0e7954e917aac8482a1015a36923e02914e2b692\n"
    },
    {
      "commit": "903709d738a92de467e22f3923d2a7e4e92e9148",
      "tree": "c6603ea2b503805f714edf9be9f4a01ddb4c7d17",
      "parents": [
        "796feda0f0c54729a40852d8d4d48be0b934afb6",
        "388f85eb451bd0b61c8f48b500de5db6bca941f1"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Fri Jul 19 13:42:34 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 19 13:42:34 2013 -0700"
      },
      "message": "am 388f85eb: am a2f41b23: am bf8be2ee: Merge \"Add orientation to configuration for layoutlib.\" into jb-mr2-dev\n\n* commit \u0027388f85eb451bd0b61c8f48b500de5db6bca941f1\u0027:\n  Add orientation to configuration for layoutlib.\n"
    },
    {
      "commit": "388f85eb451bd0b61c8f48b500de5db6bca941f1",
      "tree": "93757b279f216285a049eb0a345adc226c3cef2e",
      "parents": [
        "d96c6956807ca1644079a9e92d0e3af170c51c8f",
        "a2f41b23b6328b0ff3bb04d4a88ccf4a84a50375"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Fri Jul 19 13:37:32 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 19 13:37:32 2013 -0700"
      },
      "message": "am a2f41b23: am bf8be2ee: Merge \"Add orientation to configuration for layoutlib.\" into jb-mr2-dev\n\n* commit \u0027a2f41b23b6328b0ff3bb04d4a88ccf4a84a50375\u0027:\n  Add orientation to configuration for layoutlib.\n"
    },
    {
      "commit": "b9ff71375a9cf55395984613eee767344ece47a9",
      "tree": "b7582f01a1bb7b8598f3e731dc5f105f7f32e2b0",
      "parents": [
        "350503fba389a753cbb92864c36864830fdd8efe"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jul 18 16:37:44 2013 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jul 18 16:37:44 2013 -0700"
      },
      "message": "Fix build.\n\nChange-Id: Ie83f51ab4b8fddceda8d4f0ac24c532eab7458b8\n"
    },
    {
      "commit": "d97d60c0fa4613a47d591d45736299702be1cc7a",
      "tree": "4f2601e66fda50e095c0f9d692beb18c803904a4",
      "parents": [
        "de04dfb62dd43827c63c267003264966dd76c614"
      ],
      "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": "Fri Jul 12 15:54:08 2013 -0700"
      },
      "message": "Add orientation to configuration for layoutlib.\n\nUpdate the configuration with the device orientation before rendering.\n\nChange-Id: Icd40901204fd13f90b18353e53a15e25e5b2176c\n"
    },
    {
      "commit": "9d3b1a424c5c61e24e9659d15fb353026a00d925",
      "tree": "0e543391e3ac7b6ac0bff377e08cd2e233ef7363",
      "parents": [
        "8f5e3d13e166e4873e130a5ef7c987333dbac917"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 01 19:07:15 2013 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 01 20:11:42 2013 -0700"
      },
      "message": "Move input library code to frameworks/native.\n\nNo longer compile libandroidfw as a static library on the device\nsince it already exists as a shared library.  Keeping the static\nlibrary would force us to provide a static library version of\nlibinput for the device as well which doesn\u0027t make sense.\n\nChange-Id: I3517881b87b47dcc209d80dbd0ac6b5cf29a766f\n"
    },
    {
      "commit": "5675b97f6591310d012a013a94a0ae9bd188d975",
      "tree": "9fbffeab628e77c6689519191ed8a46ee0b9c371",
      "parents": [
        "57b867f3f568b026833c6208afdeff2168838ffd"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Wed Jun 26 17:27:35 2013 -0700"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Wed Jun 26 17:27:35 2013 -0700"
      },
      "message": "Switch to shared libpng/libz dependency.\n\nBug: 9593270\nChange-Id: I1eec2590cca046d6e030c73d31a6b400019e1ebd\n"
    },
    {
      "commit": "144a6ae7e6e751388cd322bac70d6bbd950468d5",
      "tree": "4ffd5e4ad9f3c32cc54c598b3809fb5e3999a180",
      "parents": [
        "7a78b39428f86015a1cb1f59d65de455cd52350b"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Jun 24 12:25:57 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Jun 24 12:25:57 2013 -0700"
      },
      "message": "Fix build.\n\nChange-Id: Icdfc6bcbe8603cf9bd3f8982a595336c0407e7d6\n"
    },
    {
      "commit": "80f00c1f2375796dab09bc4ed5b7631c62f7e158",
      "tree": "a8b4a9ac74b57be252952fc4b1d1e261574025d4",
      "parents": [
        "77b7c33a7a4e79022529ae18e39789adbcc86159"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Thu Jun 13 11:10:51 2013 -0400"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Fri Jun 14 13:20:17 2013 -0400"
      },
      "message": "Remove concept of system bar from window manager.\n\nIt was already hardcoded to false, this change removes the dead code.\n\nChange-Id: I5e543344e60f69cb9882a70ba29f7c09404ad9fc\n"
    },
    {
      "commit": "04fe6ebb9f919f196ec06a19bebc09b8e943f95b",
      "tree": "c6b80f3a8d5ff34227de7b97395883139787ef38",
      "parents": [
        "c1e0ca9fee17cb56a992ae107d3b1aa534290b2d"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri May 31 14:39:48 2013 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri May 31 15:00:24 2013 -0700"
      },
      "message": "Fix a bug resolving the correct icon/logo in action bars\n\nRemove some abstraction-breaking magic in ActionBarView and replace it\nwith proper resolution of the icon/logo when creating a window. The\nold implementation relied on the ActionBarView\u0027s context being an\nActivity.\n\nBug 9171554\n\nChange-Id: Idbbb1942622195dcb55e8119f2d64287b07bb509\n"
    },
    {
      "commit": "3d05476b1049bc35727a5432de7af99dd8e0a8c2",
      "tree": "c683c1f6d3ac5c0a2e03f96004eb999d8197d2e6",
      "parents": [
        "32190aca1ccd5f68e4da5488cfd72743864ea7eb",
        "fc691f9df0392a661c4d1708c905f82d50c17f27"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Fri May 24 13:56:05 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 24 13:56:05 2013 -0700"
      },
      "message": "am fc691f9d: am 417e512b: Merge \"Add missing native methods.\" into jb-mr2-dev\n\n* commit \u0027fc691f9df0392a661c4d1708c905f82d50c17f27\u0027:\n  Add missing native methods.\n"
    },
    {
      "commit": "fc691f9df0392a661c4d1708c905f82d50c17f27",
      "tree": "a480ae2a2176d3cd76218af54cee9c788ce5ac52",
      "parents": [
        "e70b8d70029c0fb9370186ee9da425caf0e998ef",
        "417e512ba1d099583c41bd7595f2124ca77c2aee"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Fri May 24 13:53:44 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 24 13:53:44 2013 -0700"
      },
      "message": "am 417e512b: Merge \"Add missing native methods.\" into jb-mr2-dev\n\n* commit \u0027417e512ba1d099583c41bd7595f2124ca77c2aee\u0027:\n  Add missing native methods.\n"
    },
    {
      "commit": "279c00e8e0abb20f7e10577c77937c058da080bf",
      "tree": "e7feb31b205abba693e7f3ba49a8f99088176bea",
      "parents": [
        "d6619ed89ff7e10b0b66aadc353cfea171929344"
      ],
      "author": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Thu May 23 15:20:04 2013 -0700"
      },
      "committer": {
        "name": "Deepanshu Gupta",
        "email": "deepanshu@google.com",
        "time": "Thu May 23 16:44:01 2013 -0700"
      },
      "message": "Add missing native methods.\n\nChange-Id: I7b34e2ec0164520efc658053a80f307791a992b1\n"
    },
    {
      "commit": "19849d3c9a9def039f25323f95f98902e3feac60",
      "tree": "856f47d5e8108e9211611164a4777e8ec20a4946",
      "parents": [
        "77f342c37c7bc7a1060e212b93fefcb23653444b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 21 10:47:17 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 21 10:47:17 2013 -0700"
      },
      "message": "Fix build.\n\nChange-Id: I3dc503a3cd30276ac10582db44732d96b68230ee\n"
    },
    {
      "commit": "3b9831f6a2f991fb492d052cc07817db402f2340",
      "tree": "4346272d6d6258b06f9430bdcace0510176a8488",
      "parents": [
        "60e510af804b5b583d835a0f1f1e676d08b812bc",
        "823abb63145c7a7db2b766cf7bb816cbdac1de66"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Wed May 08 07:35:34 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 08 07:35:34 2013 +0000"
      },
      "message": "Merge \"aapt: move qsort_r_compat here as it is sole client\""
    },
    {
      "commit": "60e510af804b5b583d835a0f1f1e676d08b812bc",
      "tree": "22566e0f8a45715ce2726a4affebbdb9e1cd04b9",
      "parents": [
        "1f5762e646bed2290934280464832782766ee68e"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue May 07 19:52:05 2013 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue May 07 19:52:05 2013 -0700"
      },
      "message": "desperate attempt to fix linux build.\n\nworking on the assumption that the ordering in\nLOCAL_STATIC_LIBRARIES matters.\n\nChange-Id: Ibf5b706652049b195bd66c84c9a5fa1122454ca6\n"
    },
    {
      "commit": "1f5762e646bed2290934280464832782766ee68e",
      "tree": "123bcdf3ba4c98f885631b02bb90803b7885e438",
      "parents": [
        "9f3e1175657425115e863fdb256b83cadedc33e9"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon May 06 20:20:34 2013 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue May 07 17:09:46 2013 -0700"
      },
      "message": "libutils clean-up\n\nChange-Id: I11ee943da23a66828455a9770fc3c5ceb4bbcaa9\n"
    },
    {
      "commit": "823abb63145c7a7db2b766cf7bb816cbdac1de66",
      "tree": "a1502358a0e52f92aeb41dc8293ab01c82db1fec",
      "parents": [
        "e0eb0e90630c19808429a9bcdc9ff8dff085d2e8"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Mon May 06 23:17:58 2013 -0700"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Tue May 07 16:19:41 2013 -0700"
      },
      "message": "aapt: move qsort_r_compat here as it is sole client\n\nThis code is only used on the host for MacOS X compatibility.\nApparently, glibc and Apple\u0027s libc disagree on the parameter\nordering.\n\nChange-Id: I214edcf2870b6ac88316306ac5af43f1dadf9b2e\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "f1301d86fb7f414330b08dd9514436e65ba69ceb",
      "tree": "b0a1944d373ec02db2c33e45008da173138fb8a5",
      "parents": [
        "b98212925e41e9420ce6fefc3fe204b29c8f7a83",
        "b3f6687756ffb660f834ef673bed04b2d4a26d21"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Apr 29 15:29:13 2013 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Apr 29 15:29:13 2013 -0700"
      },
      "message": "Merge commit \u0027b3f66877\u0027 into afdmerge\n\nChange-Id: I319863cf23b2e6eacfa4508f7b111fba7b1cbc24\n"
    },
    {
      "commit": "21675166345646f5bb278af487e69604290f09b0",
      "tree": "61263099de1bf602d666bef3cfc6f72fdddea253",
      "parents": [
        "d334cb13d694a4f1c6b885070ec48033366a4b37",
        "bd1730dec7356e042ee885ff4a63b40f36733062"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@android.com",
        "time": "Mon Apr 29 15:19:24 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 29 15:19:24 2013 -0700"
      },
      "message": "am bd1730de: Merge \"Document the \\\u0027aapt dump strings\\\u0027 command\"\n\n* commit \u0027bd1730dec7356e042ee885ff4a63b40f36733062\u0027:\n  Document the \u0027aapt dump strings\u0027 command\n"
    },
    {
      "commit": "2120f87cded0ce6777b02ee6eaf4c494ad0260f4",
      "tree": "8edfdbfe0d10e78f3cac8331035fa398d8e340dd",
      "parents": [
        "9d2fcfbf3dafd73c0904abc215d579254ccb74e2",
        "9e69a2ced4e11f74ee979390c3f58ec4318a16c3"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Mon Apr 29 11:22:15 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 29 11:22:15 2013 -0700"
      },
      "message": "am 9e69a2ce: am 03ce5b53: Fix build.\n\n* commit \u00279e69a2ced4e11f74ee979390c3f58ec4318a16c3\u0027:\n  Fix build.\n"
    },
    {
      "commit": "b566ebdc928e5920bb243a6cfecdf1bd05e143e0",
      "tree": "55030c7ce0dcc1e91cb7281b57660675d5f5f0ad",
      "parents": [
        "34761434a0957dde28d6156afb48372934581c16",
        "f266c6b93f44fcc674d4c5686af0c1d1b782dab0"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Apr 29 11:22:06 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 29 11:22:06 2013 -0700"
      },
      "message": "am f266c6b9: am f99177f3: Merge \"Update preloaded classes\" into jb-mr2-dev\n\n* commit \u0027f266c6b93f44fcc674d4c5686af0c1d1b782dab0\u0027:\n  Update preloaded classes\n"
    },
    {
      "commit": "7bb9471ea7841dee087857b0123725bfceb83bb3",
      "tree": "832ba8c2ecdcc245648c4e16ff898bbbdd49ec8f",
      "parents": [
        "eda67299cf14de315af12cbf8d5024e02fa5b1aa",
        "fb903a45d7b924c1dfacadaa99ebdf93fd8a1de4"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Mon Apr 29 10:10:51 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 29 10:10:52 2013 +0000"
      },
      "message": "Merge \"Allow compiling aapt for the device\""
    },
    {
      "commit": "08822df147f7794559870d6de01f9a5cea6f1cd4",
      "tree": "08e556d57f9a0442f71a982675b369b683b02fe6",
      "parents": [
        "0bb497b8d1bac2206df89a878ecb7e356d21fe99"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sonymobile.com",
        "time": "Thu Dec 20 10:08:54 2012 +0100"
      },
      "committer": {
        "name": "Henrik Baard",
        "email": "henrik.baard@sonymobile.com",
        "time": "Mon Apr 29 09:57:19 2013 +0200"
      },
      "message": "Document the \u0027aapt dump strings\u0027 command\n\nUpdate the usage page for aapt to mention \u0027strings\u0027 as a valid\nsubcommand to \u0027dump\u0027.\n\nChange-Id: Iadb2b8ce36951ff36ffbf6b5ea349ba1e2b12582\n"
    },
    {
      "commit": "03ce5b536647853cbfa65357760f3fb246b85e36",
      "tree": "fe428d7af92c6ffc1223bc4b8a4ae3d32204ccda",
      "parents": [
        "eecf22d464579e5b7a3baaa6c450481778b59a45"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Fri Apr 26 15:54:44 2013 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Fri Apr 26 15:54:44 2013 -0700"
      },
      "message": "Fix build.\n\nChange-Id: I1fedbbb521305e02502ddb23a96b5ee96fa43b7b\n"
    },
    {
      "commit": "f99177f3944e06fc7a1a516a0b703794e39af5f1",
      "tree": "9e20619bfbf07877e6b7b2e59a756db8d6dcf33c",
      "parents": [
        "fdbd23c64f03ee39759208252a965fec81ad860a",
        "9787b80ea8331bce9be4c72b3dfb48c3e82f76a4"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Apr 26 22:20:35 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 26 22:20:35 2013 +0000"
      },
      "message": "Merge \"Update preloaded classes\" into jb-mr2-dev"
    },
    {
      "commit": "9787b80ea8331bce9be4c72b3dfb48c3e82f76a4",
      "tree": "985ad7388167fcbf69853e338738ce55f96e84a5",
      "parents": [
        "22f6a60e62253436a4f7da1a5d59adc0f17534cc"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Apr 26 12:53:57 2013 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Apr 26 13:38:07 2013 -0700"
      },
      "message": "Update preloaded classes\n\nBug: 5213043\nChange-Id: I272500ce7f6ea6bfbc624c9705f8c8b8ef1aa0ad\n"
    },
    {
      "commit": "5ae02e92e4ea2621ae6be6076e304a972793e2f3",
      "tree": "2efdc361f1eb6f08aaca456819c6eadad7e1ca0f",
      "parents": [
        "65e46420ea0c24f53e36b08f4e927f3d0db3f895",
        "eb6403e95d601b62be7b4610599e72fd329f2666"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Apr 26 12:06:15 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Apr 26 12:06:15 2013 -0700"
      },
      "message": "am eb6403e9: resolved conflicts for merge of bfdd2566 to jb-mr2-dev-plus-aosp\n\n* commit \u0027eb6403e95d601b62be7b4610599e72fd329f2666\u0027:\n  Generate SDK docs for v7 support library packages.\n"
    },
    {
      "commit": "fb903a45d7b924c1dfacadaa99ebdf93fd8a1de4",
      "tree": "6db6caa0c8d1cb6ac02175c5e2721fc8e5e605dd",
      "parents": [
        "007d4d7040c9b41de584e79ba7dbd15d25f54971"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Mon Mar 18 21:17:26 2013 +0000"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Fri Apr 26 15:07:09 2013 +0100"
      },
      "message": "Allow compiling aapt for the device\n\nChanges:\n\n- The static device version of libandroidfw now includes\n  the extra functions needed by aapt. I could only find\n  a few host tools that use the static library, so this is\n  hopefully not a problem.\n\n- The pseudolocalization code is moved into aapt.\n  It was previously in libhost, but only used by aapt.\n\nChange-Id: Ib393ebb7dcebee8abbb628cbe5255ea1679674ac\n"
    },
    {
      "commit": "caf7b0a155f6adef1b9af6cbf7370460c55e3a3f",
      "tree": "c69a8effe9c9299b687232dc672094f9c76c7b00",
      "parents": [
        "22f6a60e62253436a4f7da1a5d59adc0f17534cc"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Apr 25 21:24:44 2013 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Apr 26 00:20:42 2013 -0700"
      },
      "message": "Generate SDK docs for v7 support library packages.\n\nThis change required fixing some bugs in how AAPT handles\nqualified symbols such as \"android:layout_height\"\nwhen generating JavaDoc links.  The links were being\ngenerated using the package name of the generated R file\nrather than the package name of the referenced symbol.\nThese broken links caused the JavaDoc build to fail.\n\nBug: 8175766\nChange-Id: I52fbef27825a25abca960cb44b59c2132267e9d6\n"
    },
    {
      "commit": "faebd8f0795b7d275fb4e503533c8c0c4a9acc21",
      "tree": "464de8bb5dcd9ae99402ebb630d329dc8ce953cc",
      "parents": [
        "b3caa9200a61cde1178a2c83419de56579d3c5a5"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Fri May 18 14:17:57 2012 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Thu Apr 18 13:33:13 2013 -0700"
      },
      "message": "First draft of Scenes \u0026 Transitions feature\n\nThis checkin has preliminary API (in flux, definitely changes still\nto be made) and implementation for a new \"Scenes \u0026 Transitions\" feature.\nThe current implementation allows you to define different Scenes\n(via layout resource IDs or callbacks) and Transitions to be used when\nchanging to those scenes. By default, scene changes will use AutoTransition,\nwhich generally does the right thing.\n\nThere are no overview docs or tutorials yet. The best way to learn how things\nwork is to see the code for the various tests in\nframeworks/base/tests/TransitionTests.\n\nExpect the API to change. Expect the implementation to change (mostly to add\nmore functionality). Expect bugs, but tell me if things do not work\nas expected.\n\nChange-Id: Ib025a9f565678b225afa4759325cf6d496cc7215\n"
    },
    {
      "commit": "974dc1f4f8ffc03760d76928a031193894893c7d",
      "tree": "f06e44320dcc5c50c0aac1bbb928b487016cd708",
      "parents": [
        "de1fae77b6947c8696229ca113a812bc0b79e821",
        "ade20f49a1a0226c06a6ae5d8074c9c1cc14a152"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Sat Apr 13 09:59:07 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Apr 13 09:59:07 2013 -0700"
      },
      "message": "am ade20f49: am a068eedd: Revert \"Make --non-constant-id generates non final IDs for styleable.\"\n\n* commit \u0027ade20f49a1a0226c06a6ae5d8074c9c1cc14a152\u0027:\n  Revert \"Make --non-constant-id generates non final IDs for styleable.\"\n"
    },
    {
      "commit": "a068eeddc9d47af1a12afbe6efe7d00e8e903b9f",
      "tree": "df9f8663d47adc21195ea822fc107c514d514c27",
      "parents": [
        "301e95f2e17164c6f432f1b68f55e5f12aa0ca78"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Sat Apr 13 09:48:01 2013 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Sat Apr 13 09:48:01 2013 -0700"
      },
      "message": "Revert \"Make --non-constant-id generates non final IDs for styleable.\"\n\nThis reverts commit 8730f46ae5ba9021a0e01c068ffc6b552b6c4510.\n"
    },
    {
      "commit": "b2d17bc5b4789ce0fc9627ff10a95e22465fb9a6",
      "tree": "2dbbdb6ab57b86959bb793998247d59c0caf646f",
      "parents": [
        "cc6dda77501d0e8dd5ea267f51c02fd120476d28",
        "95637018052655783a25e8123c5b6f898c4171e6"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Fri Apr 12 18:05:46 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Apr 12 18:05:46 2013 -0700"
      },
      "message": "am 95637018: am 629b1c4f: Merge \"Make --non-constant-id generates non final IDs for styleable.\" into jb-mr2-dev\n\n* commit \u002795637018052655783a25e8123c5b6f898c4171e6\u0027:\n  Make --non-constant-id generates non final IDs for styleable.\n"
    },
    {
      "commit": "8730f46ae5ba9021a0e01c068ffc6b552b6c4510",
      "tree": "0029a29868d6ff22577549764334b6e664766fbf",
      "parents": [
        "e203384f1627f27c81ff72426498927fb9d80698"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Fri Apr 12 16:00:49 2013 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Fri Apr 12 16:02:54 2013 -0700"
      },
      "message": "Make --non-constant-id generates non final IDs for styleable.\n\nThis was already done for all other types of resources, but not\nfor styleable (or the constants for the styleable array indices).\n\nThis fixes this. This only affects the SDK as this is used by the\nSDK toolchain only.\n\nChange-Id: Idfc2f7915be2b0e88590f38fd660610ffc7e160c\n"
    },
    {
      "commit": "28af35e8cdc601c7ab9c7287d9e72fdc331e8a9d",
      "tree": "2eda89e8e3e1c72cf73920a4eaaddcda7ade3a30",
      "parents": [
        "171af247589f63fffee37a0e81a975afb62279a2",
        "a976bddd9cfff0be5703484009ea875dee5d2456"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Apr 09 23:21:42 2013 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Apr 09 23:21:42 2013 -0700"
      },
      "message": "resolved conflicts for merge of a976bddd to master\n\nChange-Id: I64e1cbfb0eee891ce4d1eee40eefdcedcc501f7f\n"
    },
    {
      "commit": "d685894212e6dbeac1fda4996903c1da115d49a6",
      "tree": "c52d05c78811e79a869afbcdbe55a906e38f2fa1",
      "parents": [
        "9fa49cc3308f6af593d780581121afc3c1d7e046"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Apr 09 21:54:12 2013 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Apr 09 21:54:12 2013 -0700"
      },
      "message": "Add liblog\n\nBug: 8580410\nChange-Id: I746aa8258866508c3a725d0773faf4518096548f\n"
    },
    {
      "commit": "b437a79b050e8928ce7187899b7754f049008085",
      "tree": "fe61543e677dd83a899284c2d610c7e182a707c9",
      "parents": [
        "574215e1f39dc0ef096d64e0fee3f9b0a1fe2d5d",
        "21dffd5d11e5c96fe4cc59698155d923ff011c67"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Apr 08 19:05:15 2013 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Apr 08 19:05:15 2013 -0700"
      },
      "message": "resolved conflicts for merge of 21dffd5d to master\n\nChange-Id: I37c48dee471c9d43f19c1fe4a01f70db53e2441f\n"
    },
    {
      "commit": "3a2854bcee08e3af3ca1b042c1fef6ca68f8c70a",
      "tree": "a2b13b8b6949490d856017075f37609df2768e80",
      "parents": [
        "c4ad3cb07ed76c5697c60285456d9c49675174d9",
        "f9e989d5f09e72f5c9a59d713521f37d3fdd93dd"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Apr 08 23:59:24 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 08 23:59:24 2013 +0000"
      },
      "message": "Merge \"Queues, queues, queues and input.\" into jb-mr2-dev"
    },
    {
      "commit": "f9e989d5f09e72f5c9a59d713521f37d3fdd93dd",
      "tree": "1495fe6c1ac72db7420839e7ec068e1e152571fa",
      "parents": [
        "1951ce86c21445ac191e4d2d95233f4f5c096b56"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Apr 04 23:04:03 2013 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Apr 08 15:31:47 2013 -0700"
      },
      "message": "Queues, queues, queues and input.\n\nRedesigned how ViewRootImpl delivers input events to views,\nthe IME and to native activities to fix several issues.\n\nThe prior change to make IME input event delegation use\nInputChannels failed to take into account that InputMethodManager\nis a singleton attached to the main looper whereas UI may be\nattached to any looper.  Consequently interactions with the\nInputChannel might occur on the wrong thread.  Fixed this\nproblem by checking the current thread and posting input\nevents or callbacks to the correct looper when necessary.\n\nNativeActivity has also been broken for a while because the\ndefault event handling logic for joysticks and touch navigation\nwas unable to dispatch events back into the native activity.\nIn particular, this meant that DPad synthesis from touch navigation\nwould not work in any native activity.  The plan is to fix\nthis problem by passing all events through ViewRootImpl as usual\nthen forwarding them to native activity as needed.  This should\ngreatly simplify IME pre-dispatch and system key handling\nand make everything more robust overall.\n\nFixed issues related to when input events are synthesized.\nIn particular, added a more robust mechanism to ensure that\nsynthetic events are canceled appropriately when we discover\nthat events are no longer being resynthesized (because the\napplication or IME is handling or dropping them).\n\nThe new design is structured as a pipeline with a chain of\nresponsibility consisting of InputStage objects.  Each InputStage\nis responsible for some part of handling each input event\nsuch as dispatching to the view hierarchy or to the IME.\nAs a stage processes an input event, it has the option of\nfinishing the event, forwarding the event to the next stage\nor handling the event asynchronously.  Some queueing logic\ntakes care to ensure that events are forwarded downstream in\nthe correct order even if they are handled out of order\nby a given stage.\n\nCleaned up the InputMethodManager singleton initialization logic\nto make it clearer that it must be attached to the main looper.\nWe don\u0027t actually need to pass this looper around.\n\nDeleted the LatencyTimer class since no one uses it and we have\nbetter ways of measuring latency these days using systrace.\n\nAdded a hidden helper to Looper to determine whether the current\nthread is the indicated Looper thread.\n\nNote: NativeActivity\u0027s IME dispatch is broken by this patch.\nThis will be fixed later in another patch.\n\nBug: 8473020\nChange-Id: Iac2a1277545195a7a0137bbbdf04514c29165c60\n"
    },
    {
      "commit": "c85336fd3323d0836b869faf427f70bee37e57f2",
      "tree": "2dcc02bde543f937e8d1fbc14815c549aef12a54",
      "parents": [
        "f7648b7f24bc4cf8a66df4c0cfb5e8aa2b7d3ac8",
        "ecc5b4363571688cb257c2bc9c5e24653efb86f4"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Apr 04 17:34:29 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 04 17:34:29 2013 -0700"
      },
      "message": "am ecc5b436: am 745a42bb: Merge \"aapt: add support for optional uses-permission\" into jb-mr2-dev\n\n* commit \u0027ecc5b4363571688cb257c2bc9c5e24653efb86f4\u0027:\n  aapt: add support for optional uses-permission\n"
    },
    {
      "commit": "745a42bbb9db8d54af5381ef5fe41828bf6fc352",
      "tree": "320320b05df750612e8af1cbb184e7b98b639c15",
      "parents": [
        "a151ef8c667a52d9fae28c09f780784f19bdb039",
        "1bcc3d691fd1cb68abced62caf3024e2bb228561"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Apr 05 00:22:58 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 05 00:23:11 2013 +0000"
      },
      "message": "Merge \"aapt: add support for optional uses-permission\" into jb-mr2-dev"
    },
    {
      "commit": "1bcc3d691fd1cb68abced62caf3024e2bb228561",
      "tree": "d0a53d0ed98af85ef76ad74ae2e837f76c9b9be7",
      "parents": [
        "55cfcd75691581ffc4f88034711a2442db619a53"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Apr 03 09:00:02 2013 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Apr 03 16:32:40 2013 -0700"
      },
      "message": "aapt: add support for optional uses-permission\n\nApplications can request a permission with android:required\u003d\"false\".\nFor example:\n\n\u003cuses-permission android:name\u003d\"android.permission.READ_PHONE_STATE\" android:required\u003d\"false\" /\u003e\n\nMake aapt understand such permissions.\n\nBug: 8522021\nChange-Id: I7d3af64e7c3eca608316d5bea19c4ea639dd2b7a\n"
    },
    {
      "commit": "c849fbcf3ddd3cbb08840c72f7f325294c5d2802",
      "tree": "d57bec7d67b3d4a61e10a9575d7e634ed78f7bc0",
      "parents": [
        "4c6b3b1f2ba720124a784b181d34c0454e259446",
        "5856ee4bd620fcbabc5f52651875d034d1513c5b"
      ],
      "author": {
        "name": "Brian Colonna",
        "email": "bcolonna@google.com",
        "time": "Tue Apr 02 17:16:55 2013 -0400"
      },
      "committer": {
        "name": "Brian Colonna",
        "email": "bcolonna@google.com",
        "time": "Tue Apr 02 17:16:55 2013 -0400"
      },
      "message": "resolved conflicts for merge of 5856ee4b to master\n\nChange-Id: I60ba85bc246b9cf25d467b2099535aad47f82ca7\n"
    },
    {
      "commit": "b1b9a8ac07ea7d438eda613f4c798dd8b10a66ce",
      "tree": "842924f02503946c4cde9d1cc21817b2a4d3af48",
      "parents": [
        "da160ec313d844b09818a91463631440a1b8a09c"
      ],
      "author": {
        "name": "Brian Colonna",
        "email": "bcolonna@google.com",
        "time": "Fri Mar 29 11:52:42 2013 -0400"
      },
      "committer": {
        "name": "Brian Colonna",
        "email": "bcolonna@google.com",
        "time": "Fri Mar 29 18:35:43 2013 -0400"
      },
      "message": "FUL now restarts when flipping tablet 180 (bug 7484464)\n\nWhen a tablet rotates, FUL must be stopped and restarted in a new\nposition.  90 degree rotations cause a configuration change, causing\nFUL to be automatically reconstructed in the new location.  However,\na 180 degree rotation is not a configuration change, so FUL was not\nrestarting.  A 180 degree rotation happens more often than one might\nthink.  If you set the tablet down and later picked it up in the\nopposite orientation, FUL would not work prior to this fix.\n\nThis change adds a rotation watcher to KeyguardFaceUnlockView.  It\nwatches for 180 degree rotations and stops and restarts FUL\naccordingly.\n\nThe rotation watcher callback must be unregistered when\nKeyguardFaceUnlockView is recreated (as during 90 degree rotation\nchanges), otherwise the number of rotation watcher callbacks will keep\ngrowing and they will never go away.  This is a problem not just\nbecause there are many callbacks hanging around, but also because the\nold callbacks end up trying to access biometric unlock views that no\nlonger exist, resulting in crashes.  So, a simple function was added\nto the window manager to unregister a rotation watcher.\n\nChange-Id: Ie1ef20a9a22b8f4e39918987dff2b8ad444fcfd1\n"
    },
    {
      "commit": "96f2fef2460adcf815baa1c2a74e417451fe1237",
      "tree": "dd3b37222cab1d290cc54a983299dd24de13bc59",
      "parents": [
        "9a8c46f64e9fb1bff30d16a3f6a16e8f261f1225",
        "483ac9a779af452d7ef4007d0e24c569ee894557"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 26 18:05:43 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 26 18:05:43 2013 -0700"
      },
      "message": "am 483ac9a7: am b404ecc9: Merge \"Fix build.\" into jb-mr2-dev\n\n* commit \u0027483ac9a779af452d7ef4007d0e24c569ee894557\u0027:\n  Fix build.\n"
    },
    {
      "commit": "f3d46ce88f0777dddfbecebc9bd7f2f216206365",
      "tree": "93877901d285b49c7dfc48f6a1e3972a214234e8",
      "parents": [
        "3bcc2fbaad4064360cee26708d702b7ee575f448"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 26 18:00:42 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 26 18:00:42 2013 -0700"
      },
      "message": "Fix build.\n\nChange-Id: I51b87ee5f0b7f396aad7e239893d9f0764f04bb6\n"
    },
    {
      "commit": "124af2d816c5337000e60c4d5a9c6b0319e5a3e6",
      "tree": "aeed154b6b6dfc7eca15c659b38c3a781557279a",
      "parents": [
        "4e6559358f3ce83ee7f3d4aeffe4d07af04227c3"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Mar 18 18:05:21 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Mar 18 18:05:21 2013 -0700"
      },
      "message": "Update layoutlib to latest interface.\n\nFix build..\n\nChange-Id: I3504e8b8e8431ad76333e852cf42494b2404f8ad\n"
    },
    {
      "commit": "5c14d36c5980e3c56e367857620b387eee4358bd",
      "tree": "b8264f1782b9374da3c77c8ea13c6b0310de5eb1",
      "parents": [
        "9cad79bb0ba3f775c6e6fb9e7d5993812f2f5a85",
        "892e07829414fda01594f52c54352c8dbbd37499"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 05 21:08:21 2013 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 05 21:08:21 2013 +0000"
      },
      "message": "am 892e0782: am ad4a174b: Merge \"Fix build.\" into jb-mr2-dev\n\n* commit \u0027892e07829414fda01594f52c54352c8dbbd37499\u0027:\n  Fix build.\n"
    },
    {
      "commit": "4ec6cc51087f310acf6f933ae2b69f1520b78453",
      "tree": "090fffb4c9e84a683dae619d55d4cf0cd88537f9",
      "parents": [
        "43abdc486d19c137b79a2bde9ce4706c91656bda"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 05 10:28:05 2013 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 05 10:28:05 2013 -0800"
      },
      "message": "Fix build.\n\nChange-Id: Iaa70b05a3cfd372518ec35aa8bcea2f9d78b8292\n"
    },
    {
      "commit": "2e5528c5e0f354c7b780ca5ab436809efd611dcc",
      "tree": "97c7e8c0bb48c9364d18e5dc9f4b50e36f66b53d",
      "parents": [
        "19a38f6f408d8672ca8d253fb7a6039a7f25c96f",
        "2ad920759b1981eaf526fd37a314fbc5a3ed90ae"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Feb 26 01:08:28 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 26 01:08:28 2013 +0000"
      },
      "message": "Merge \"Revert ActivityManager changes for tasks. DO NOT MERGE\" into jb-mr2-dev"
    },
    {
      "commit": "2ad920759b1981eaf526fd37a314fbc5a3ed90ae",
      "tree": "3835b2fb240c592668afa5019f2dbad7036513f1",
      "parents": [
        "ff4fcdb98c9575642c48f1daeafff4b257769e81"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Feb 25 16:19:24 2013 -0800"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Feb 25 17:07:39 2013 -0800"
      },
      "message": "Revert ActivityManager changes for tasks. DO NOT MERGE\n\nKeeping all activity\u003d\u003etask changes in master and removing them\nfrom jb-mr2.\n\nRevert \"Update histories simultaneously.\"\nRevert \"Add null check to setAppGroupId.\"\nRevert \"Fix crashing bug in validator.\"\nRevert \"Switch topRunning* and moveTaskTo*\"\nRevert \"Begin switch over to task based history.\"\nRevert \"Reset and reuse Iterators and don\u0027t new() one.\"\nRevert \"Remove AppWindowToken lists.\"\nRevert \"Fix build.\"\nRevert \"Remove unused App methods.\"\nRevert \"Stop using AppToken movement and start using Task.\"\nRevert \"Replace access to mAppTokens with AppTokenIterator\"\nRevert \"Refactor setAppOpVisibility implementation.\"\nRevert \"Add AppWindowTokens to TaskList.\"\nRevert \"Make ActivityStack.mHistory private.\"\nRevert \"Migrate AppWindowToken lists into DisplayContent.\"\n\nChange-Id: I5722c9a4956dccb52864207e2967690bc58e4ebb\n"
    },
    {
      "commit": "ec559ff78caa16cffcc7b9d688fe911e8945e17d",
      "tree": "1312b153ba9ee001ceb8ed0e09c95fa85ada9bce",
      "parents": [
        "f4b36ad1617920691def64c00179666e2e42d5fa"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Feb 25 15:42:07 2013 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Feb 25 15:42:07 2013 -0800"
      },
      "message": "Fix typo.\n\nChange-Id: I71c8458e02dc9b9a4c59e51ded37b57a930038f9\n"
    },
    {
      "commit": "c4aad01cbbb69c916ef323693e1fd0560b0eccba",
      "tree": "20f636eb690f976e9f83ec0a23e6ac991776b08b",
      "parents": [
        "fb6806570911851fb8cbaaf5bdf275a89f3c3ef4"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Feb 22 15:05:25 2013 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Feb 22 19:14:37 2013 -0800"
      },
      "message": "Formalize overscan metrics.\n\nThe window manager now maintains and reports a new formal\n\"overscan insets\" for each window, much like the existing\ncontent and visible insets.  This is used to correctly\nposition the various UI elements in the various combination\nof layout options.  In particular, this allows us to have\nan activity that is using fitSystemWindows to have the content\nof its UI extend out to the visible content part of the screen\nwhile still positioning its fixed UI elements inside the\nstandard content rect (and the entire window extending all\nthe way into the overscan area to fill the screen as desired).\n\nOkay, maybe that is not written so clearly.  Well, it made\nmy head hurt too, so suffer!\n\nThe key thing is that windows now need to know about three\nrectangles: the overall rectangle of the window, the rectangle\ninside of the overscan area, and the rectangle inside of the\ncontent area.  The FLAG_LAYOUT_IN_OVERSCAN option controls\nwhether the second rectangle is pushed out to fill the entire\noverscan area.\n\nAlso did some improvements to debug dumping in the window\nmanager.\n\nChange-Id: Ib2368c4aff5709d00662c799507c37b6826929fd\n"
    },
    {
      "commit": "29ae06633d6e63fdb29f229f75de758a542c6b66",
      "tree": "d1e9e03516fd56a2ac57bfd0676d66a05e9ac1d1",
      "parents": [
        "9c64d95e51454acfc990d560347850d5a1fe874a",
        "ec6156f9e884ba85c76a9c4683f83f18b3f64afa"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Wed Feb 20 17:08:24 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 20 17:08:24 2013 -0800"
      },
      "message": "am ec6156f9: Merge \"Fix the build.\"\n\n* commit \u0027ec6156f9e884ba85c76a9c4683f83f18b3f64afa\u0027:\n  Fix the build.\n"
    },
    {
      "commit": "ef04a9b7e1dee38f191a8f70be89a1542ccbe367",
      "tree": "c3d509fa946c9897c28a647f76af2779652fc5f7",
      "parents": [
        "ab8e936e852b984624087c97dffc4c74b250fc68"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Wed Feb 20 16:58:59 2013 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Wed Feb 20 16:58:59 2013 -0800"
      },
      "message": "Fix the build.\n\nChange-Id: If53878937fe1ca01ad8db9f9d201d0f9aaaec81b\n"
    },
    {
      "commit": "4f7fb00f6cb74ef506e65994fb04af3280e958fc",
      "tree": "3247e2a607451c79cdb01a3619a29434d63dd6fd",
      "parents": [
        "cd85845b6e7ac35065f576fa6fbc823bfa0bbd19",
        "ee973c27e339a23e0b93d816a97b33954af66bea"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Feb 19 13:38:49 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 19 13:38:49 2013 -0800"
      },
      "message": "am ee973c27: Fix build.\n\n* commit \u0027ee973c27e339a23e0b93d816a97b33954af66bea\u0027:\n  Fix build.\n"
    },
    {
      "commit": "ee973c27e339a23e0b93d816a97b33954af66bea",
      "tree": "e4b2ddbac12870c38a4c726e5b91d52c899cd053",
      "parents": [
        "ccacb8e88bb4369225e5a97bd64b8351fe04f1b5"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Feb 19 13:36:32 2013 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Feb 19 13:36:32 2013 -0800"
      },
      "message": "Fix build.\n\nChange-Id: I277de38a70f3a2e5c1997a3fe5c2e825692ae9e1\n"
    },
    {
      "commit": "34ab0a4a181cf9a9267625af59a3b52bd2a7b56e",
      "tree": "8df6403861034a496ea2778d69313179e73e7cc2",
      "parents": [
        "8cf1921fc027409fb29ffe45e12da6d25197def8",
        "7c93839d7b41727c11925b034d4ec84491d3dee1"
      ],
      "author": {
        "name": "Laurent Tu",
        "email": "laurentt@google.com",
        "time": "Fri Feb 15 16:11:26 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Feb 15 16:11:26 2013 -0800"
      },
      "message": "am 7c93839d: Revert \"Tentative fix for aidl import issue\"\n\n* commit \u00277c93839d7b41727c11925b034d4ec84491d3dee1\u0027:\n  Revert \"Tentative fix for aidl import issue\"\n"
    },
    {
      "commit": "7c93839d7b41727c11925b034d4ec84491d3dee1",
      "tree": "65394461734ad752e1b12b716514f6ba25aa3797",
      "parents": [
        "7f84ed31f01997d4906e408c335f783a91d197d5"
      ],
      "author": {
        "name": "Laurent Tu",
        "email": "laurentt@google.com",
        "time": "Fri Feb 15 16:07:33 2013 -0800"
      },
      "committer": {
        "name": "Laurent Tu",
        "email": "laurentt@google.com",
        "time": "Fri Feb 15 16:07:56 2013 -0800"
      },
      "message": "Revert \"Tentative fix for aidl import issue\"\n\nFix build.\n\nThis reverts commit 4f115e08cb68aaf77693f3f4598f0eb5f7634777.\n\nChange-Id: Ic4f51e3492f54afec5f0eeb48e08491eb47f3c04\n"
    },
    {
      "commit": "1662cf99b6a596d7fd3b9a57bbcb6b66ae0d1ebd",
      "tree": "13e98a67588111e8d79c5f0f24797d52659390b8",
      "parents": [
        "9002ffeb97ed635e646ad88b9b790dcfa1fca936",
        "8acb27c505c610b4027ec3d140ccc7722ab4faa3"
      ],
      "author": {
        "name": "Laurent Tu",
        "email": "laurentt@google.com",
        "time": "Fri Feb 15 15:19:22 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Feb 15 15:19:22 2013 -0800"
      },
      "message": "am 8acb27c5: Merge \"Tentative fix for aidl import issue\"\n\n* commit \u00278acb27c505c610b4027ec3d140ccc7722ab4faa3\u0027:\n  Tentative fix for aidl import issue\n"
    },
    {
      "commit": "8acb27c505c610b4027ec3d140ccc7722ab4faa3",
      "tree": "7cbfc23f7d5c8230c9f8d07b347acbb371a954e1",
      "parents": [
        "156a2fc65a2b493a73fa1031f54664a8086c5f4e",
        "4f115e08cb68aaf77693f3f4598f0eb5f7634777"
      ],
      "author": {
        "name": "Laurent Tu",
        "email": "laurentt@google.com",
        "time": "Fri Feb 15 23:16:07 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 15 23:16:08 2013 +0000"
      },
      "message": "Merge \"Tentative fix for aidl import issue\""
    },
    {
      "commit": "4f115e08cb68aaf77693f3f4598f0eb5f7634777",
      "tree": "60f04cf05eda60bc58fb6e9e1926065416d7958e",
      "parents": [
        "00dcbf8f58c36e3e8803336aa947a333411f43d0"
      ],
      "author": {
        "name": "Laurent Tu",
        "email": "laurentt@google.com",
        "time": "Thu Feb 14 16:12:54 2013 -0800"
      },
      "committer": {
        "name": "Laurent Tu",
        "email": "laurentt@google.com",
        "time": "Thu Feb 14 16:12:54 2013 -0800"
      },
      "message": "Tentative fix for aidl import issue\n\nFix issue when aidl generation doesn\u0027t use the right type when\nit is a suffix of a pre-declared type.\n\neg. android.location.Location and foo.android.location.Location. The\naidl generation will never use foo.android.location.Location.\n\nThe tentative fix reverses the order in which Namespace.Search iterates\nthrough the known types.\n\nA better fix would be to annotate the types that are declared in the\naidl import statements to be prioritary in Namespace.Search. Lmk if I\nyou agree with this approach and think that this is worth the work.\nThanks!\n\nChange-Id: I97dd1a1d417075accf1d61f9aba5aba3dea175c6\n"
    },
    {
      "commit": "102f7110435415cf22187dcf6c01e599e544d5ce",
      "tree": "8a9f38a6c070716cb3c2cb7aba63523a432ab335",
      "parents": [
        "9678c61fecfafea3818e7b020e9723bd1c287bb3",
        "534d136aa66fb13f7c1b482513627de45c218c29"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Feb 14 10:16:57 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Feb 14 10:16:57 2013 -0800"
      },
      "message": "am 534d136a: Merge \"Remove unused App methods.\"\n\n# Via Android (Google) Code Review (1) and Craig Mautner (1)\n* commit \u0027534d136aa66fb13f7c1b482513627de45c218c29\u0027:\n  Remove unused App methods.\n"
    },
    {
      "commit": "b0c0b1fd70e3edeb724e2b2fb2c7063eb943f05e",
      "tree": "698cbfec349c6b8b4a02daf5bdb7a30ee157158e",
      "parents": [
        "ee6e27c122491356f5203b105206a55f0e984fe7"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Feb 13 15:22:54 2013 -0800"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Feb 13 15:24:14 2013 -0800"
      },
      "message": "Remove unused App methods.\n\nNow that the Task methods have replaced the App methods remove\nthe App methods.\n\nChange-Id: I0e7432f2c6f99708759ed8c871d20eb5bd38c3c2\n"
    },
    {
      "commit": "c932760f667cf56ca7a1aeffde505745dc3632e1",
      "tree": "280d86bf8205c51a2b6b59da6c617e220677e790",
      "parents": [
        "eb26fbe427192bc87bb3dbb7882dbf87f760fab2",
        "7c1a49f5f5ed6613d736464bf5001b777e89ced2"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Feb 13 23:14:26 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 13 23:14:58 2013 +0000"
      },
      "message": "Merge \"Revert \"Merge remote-tracking branch \u0027goog/master-chromium\u0027 into \u0027goog/master\u0027\" DO NOT MERGE\""
    },
    {
      "commit": "7c1a49f5f5ed6613d736464bf5001b777e89ced2",
      "tree": "c6726264bde03f4c5957876921d4b15a835b2c71",
      "parents": [
        "d04892d207d50378356feef181ac4e4eff9652d7"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Feb 13 10:25:12 2013 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Feb 13 10:50:20 2013 -0800"
      },
      "message": "Revert \"Merge remote-tracking branch \u0027goog/master-chromium\u0027 into \u0027goog/master\u0027\" DO NOT MERGE\n\nThis reverts commit 6c0307dd0aefe9a08794b155fc03ee60ebd14f25, reversing\nchanges made to a2cd828b749c444d55c2c41c7dbb85088ff94b9f.\n\nConflicts:\n\tpackages/SystemUI/res/values-sv/strings.xml\n\nChange-Id: Ia178efe8b14751583d47b2826bfe3d3d5463dd2e\n"
    },
    {
      "commit": "b47e6c77b34da8bde5d706e5a25a413b8cc2e0ba",
      "tree": "5662b3e7cbbea80cebfe08943b46038d7e3ad70d",
      "parents": [
        "4f0dd02d00107fedda0fe42978ed98855dc53b85",
        "56a2301c7a1169a0692cadaeb48b9a6385d700f5"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Feb 12 23:54:56 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 12 23:54:56 2013 +0000"
      },
      "message": "Merge \"Implement issue #6646859: 4K!!!!  4K!!!!  4K!!!!\""
    },
    {
      "commit": "4f0dd02d00107fedda0fe42978ed98855dc53b85",
      "tree": "e9839d314ac57b996f33a6f00ea4cd43eb9766c9",
      "parents": [
        "d04892d207d50378356feef181ac4e4eff9652d7",
        "36ee5485b85e34008dc31e0f7bace1b2516c5db5"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Feb 12 15:54:02 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 12 15:54:02 2013 -0800"
      },
      "message": "am 36ee5485: am 5d5c05de: am b7a4aed9: am f70b8c1c: Merge \"Fix DateFormat for layoutlib.\" into jb-mr1.1-dev\n\n# Via Android Git Automerger (3) and others\n* commit \u002736ee5485b85e34008dc31e0f7bace1b2516c5db5\u0027:\n  Fix DateFormat for layoutlib.\n"
    },
    {
      "commit": "36ee5485b85e34008dc31e0f7bace1b2516c5db5",
      "tree": "cb1043e6d429b2978b799a46ae29c9a8f45ff4bd",
      "parents": [
        "2d130ceede3dd3af8bcc1d154fb086188c075803",
        "5d5c05dee9911eaf8add2d4298641e60f2a113d5"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Feb 12 15:52:46 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 12 15:52:46 2013 -0800"
      },
      "message": "am 5d5c05de: am b7a4aed9: am f70b8c1c: Merge \"Fix DateFormat for layoutlib.\" into jb-mr1.1-dev\n\n# Via Android Git Automerger (2) and others\n* commit \u00275d5c05dee9911eaf8add2d4298641e60f2a113d5\u0027:\n  Fix DateFormat for layoutlib.\n"
    },
    {
      "commit": "5d5c05dee9911eaf8add2d4298641e60f2a113d5",
      "tree": "bdd876f3dfa79fd4e6765095803531776f048e9f",
      "parents": [
        "4d9aa17a1efcc76fbbd30c1b20338c0d888ae1e8",
        "b7a4aed94eb02731057fdf78eb7bafc8ececadc9"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Feb 12 15:50:16 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 12 15:50:16 2013 -0800"
      },
      "message": "am b7a4aed9: am f70b8c1c: Merge \"Fix DateFormat for layoutlib.\" into jb-mr1.1-dev\n\n# Via Android (Google) Code Review (1) and others\n* commit \u0027b7a4aed94eb02731057fdf78eb7bafc8ececadc9\u0027:\n  Fix DateFormat for layoutlib.\n"
    },
    {
      "commit": "b7a4aed94eb02731057fdf78eb7bafc8ececadc9",
      "tree": "a5c2d162e9d6a6462401342209206900d133c723",
      "parents": [
        "87db373a091b1126f2233e053f9549042564870a",
        "f70b8c1cebbf873031bc92bb6ae3be813830d300"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Feb 12 15:48:07 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 12 15:48:07 2013 -0800"
      },
      "message": "am f70b8c1c: Merge \"Fix DateFormat for layoutlib.\" into jb-mr1.1-dev\n\n# Via Android (Google) Code Review (1) and Xavier Ducrohet (1)\n* commit \u0027f70b8c1cebbf873031bc92bb6ae3be813830d300\u0027:\n  Fix DateFormat for layoutlib.\n"
    },
    {
      "commit": "56a2301c7a1169a0692cadaeb48b9a6385d700f5",
      "tree": "7dfa8ab456c4e2915c095383d37847caa0d013be",
      "parents": [
        "b41af58f49d371cedf041443d20a1893f7f6c840"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Feb 12 15:41:49 2013 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Feb 12 15:41:49 2013 -0800"
      },
      "message": "Implement issue #6646859: 4K!!!!  4K!!!!  4K!!!!\n\nChange-Id: Ib05a2eb6a03db50074805a437a3639a7d10684a0\n"
    },
    {
      "commit": "47a021f7649799187e2d30d4d43e2363fd8f6bd3",
      "tree": "d89bd0ad73aa5b603a8c465fdfdb90aabcd4b056",
      "parents": [
        "7209135504313c27da4f277235e00db6851b9577"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Feb 12 14:05:32 2013 -0800"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Feb 12 14:05:32 2013 -0800"
      },
      "message": "Fix DateFormat for layoutlib.\n\nChange-Id: I389c9d106b93b9f81dd3614398a5b66ba2b39a70\n"
    },
    {
      "commit": "23e500d168e8d649305445f6c1d2b49d8d2c00fd",
      "tree": "788e18e8fc63422b8cb20ea2b00c0ab73114d523",
      "parents": [
        "0984780bc7aed76018b9f88c0d9c3ce300bde39a",
        "6c0307dd0aefe9a08794b155fc03ee60ebd14f25"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Wed Feb 06 12:57:37 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 06 12:57:38 2013 +0000"
      },
      "message": "Merge \"Merge remote-tracking branch \u0027goog/master-chromium\u0027 into \u0027goog/master\u0027\""
    },
    {
      "commit": "961321fe4ed4431a6362d729d9e4ea26bdecde61",
      "tree": "0ddcc0f94b7840ce752fd10a9e57b55c3f2c4d9b",
      "parents": [
        "f51f61269aacdfcf737b2c32b6b216c48ab61e65"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Feb 05 17:22:41 2013 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Feb 05 17:22:41 2013 -0800"
      },
      "message": "App ops: add op for writing settings.\n\nAlso fix a build.\n\nAnd fix a bug that I think was introduced in the multi-user work\nthat removed the permission check for writing to settings...!\n\nChange-Id: I5945682faa789ffc78fd3546c0df7d03693f106d\n"
    },
    {
      "commit": "5cf6f8adfa2c0f83e09bdb4da9fc65f52e916292",
      "tree": "5da0195a467121b2564d20868be8d33872a684d2",
      "parents": [
        "f38a6fad79dd7a5213a9e902c5d1fa104cddb857",
        "573a18ccd883d18046dea600855d34f5c9a57fa8"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Tue Jan 29 02:15:48 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 29 02:15:48 2013 -0800"
      },
      "message": "am 573a18cc: Merge \"Fixing the build\"\n\n# Via Android (Google) Code Review (1) and Svetoslav (1)\n* commit \u0027573a18ccd883d18046dea600855d34f5c9a57fa8\u0027:\n  Fixing the build\n"
    },
    {
      "commit": "f5f7d9751a43b699b6e1c2e41ea0519bc54e39cd",
      "tree": "c7ab60fe6fd38933e8fe90587e3ce8997ed599d6",
      "parents": [
        "dc4271ce1d6e47a193fe0119ca180bd37f3d1311"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Tue Jan 29 02:08:54 2013 -0800"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Tue Jan 29 02:08:54 2013 -0800"
      },
      "message": "Fixing the build\n\nChange-Id: I8d47c7094efc8ff458cdac58a761d5f187c8fc32\n"
    },
    {
      "commit": "c152e16b07b3eb607d018a740f507af635db1e9d",
      "tree": "f3c02a8d24fa0948d80272e8a0d79f42d51dea1a",
      "parents": [
        "53277e977d7fff93eb4cc68e2aff0d9b319849f0",
        "8fea4e72e4dcff9fa76168b9e26cf5907102f70b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jan 18 16:20:40 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 18 16:20:40 2013 -0800"
      },
      "message": "am 8fea4e72: Merge \"Rework ParceledListSlice to be much easier to use.\"\n\n* commit \u00278fea4e72e4dcff9fa76168b9e26cf5907102f70b\u0027:\n  Rework ParceledListSlice to be much easier to use.\n"
    },
    {
      "commit": "d8e1dbb6bc1fbaf4f2e38c3ba92ced94270deaac",
      "tree": "5f6d8b2c0e66c99289ae085cb6a6a3be168eb000",
      "parents": [
        "f25febf01453733e8bdd1ac241ecd9d3bcbef475"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jan 17 17:47:37 2013 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jan 18 13:02:26 2013 -0800"
      },
      "message": "Rework ParceledListSlice to be much easier to use.\n\nTake advantage of this to return better information about\npackages filtered by permissions -- include the permissions\nthey have in the requested array.\n\nAlso fix issue #8026793 (Contact picture shows default pic\nwhile searching for a contact in qsb) by using the base\npackage name of the Context when reporting the app name\nof an operation.  Otherwise you could make a resource-only\ncontext for another application and do calls through that\nand get reported as the wrong app.\n\nChange-Id: I5e0488bf773acea5a3d22f245641828e1a106fb8\n"
    },
    {
      "commit": "73d94a30a25aec25e27aa1d0a328f033465461c0",
      "tree": "b3923f2399b25f84f994a014617317835c407795",
      "parents": [
        "2fd47fea3299ef122e2bc8dc92a4a628b75dfd68",
        "ba1992f8e9e50ca58f007ff528d2f6d2c2b18223"
      ],
      "author": {
        "name": "Justin Koh",
        "email": "justinkoh@google.com",
        "time": "Wed Jan 16 16:21:28 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 16 16:21:28 2013 -0800"
      },
      "message": "am ba1992f8: Merge \"Remove doSingleCrunch call DO NOT MERGE\" into jb-mr1-aah-dev\n\n* commit \u0027ba1992f8e9e50ca58f007ff528d2f6d2c2b18223\u0027:\n  Remove doSingleCrunch call DO NOT MERGE\n"
    },
    {
      "commit": "3944abbb506bb94d8e70b8b62f30225777f50648",
      "tree": "d15f4b56b928d9b660f949106b7bc8ee019e6150",
      "parents": [
        "d50a038340935a0ea8cf8fadce7e21b640b58db0"
      ],
      "author": {
        "name": "Justin Koh",
        "email": "justinkoh@google.com",
        "time": "Wed Jan 16 14:51:29 2013 -0800"
      },
      "committer": {
        "name": "Justin Koh",
        "email": "justinkoh@google.com",
        "time": "Wed Jan 16 14:51:29 2013 -0800"
      },
      "message": "Remove doSingleCrunch call DO NOT MERGE\n\nRemove doSingleCrunch call as it\u0027s breaking jb-mr1-aah-dev.\n\nChange-Id: I0d8ee55344792fd868e74e07f31641a85e71168a\n"
    },
    {
      "commit": "7ed6c6d83b3301280a2150f0697a2a631a0168ad",
      "tree": "d5fcce8959f43f85e6586257eb6b6ab6c096cf8b",
      "parents": [
        "9f7803cbcb8a7733f5861ac521e4358e9bdceab4",
        "35654b61e8fe7bc85afcb076ddbb590d51c5865f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jan 16 12:14:53 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 16 12:14:53 2013 -0800"
      },
      "message": "am 35654b61: More work on App Ops service.\n\n* commit \u002735654b61e8fe7bc85afcb076ddbb590d51c5865f\u0027:\n  More work on App Ops service.\n"
    },
    {
      "commit": "35654b61e8fe7bc85afcb076ddbb590d51c5865f",
      "tree": "0f42a90b4deaa0156d84df5d79b78cd6f2ac8807",
      "parents": [
        "8a8b047f2d28f6b2d728731a7e71eeaf16f89700"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jan 14 17:38:02 2013 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jan 16 12:11:01 2013 -0800"
      },
      "message": "More work on App Ops service.\n\nImplemented reading and writing state to retain information\nacross boots, API to retrieve state from it, improved location\nmanager interaction to monitor both coarse and fine access\nand only note operations when location data is being delivered\nback to app (not when it is just registering to get the data at\nsome time in the future).\n\nAlso implement tracking of read/write ops on contacts and the\ncall log.  This involved tweaking the content provider protocol\nto pass over the name of the calling package, and some\ninfrastructure in the ContentProvider transport to note incoming\ncalls with the app ops service.  The contacts provider and call\nlog provider turn this on for themselves.\n\nThis also implements some of the mechanics of being able to ignore\nincoming provider calls...  all that is left are some new APIs for\nthe real content provider implementation to be involved with\nproviding the correct behavior for query() (return an empty\ncursor with the right columns) and insert() (need to figure out\nwhat URI to return).\n\nChange-Id: I36ebbcd63dee58264a480f3d3786891ca7cbdb4c\n"
    },
    {
      "commit": "4feaa4f945c1dd46cc12c8451755c7d7d77f4c2b",
      "tree": "c0bf08bbc575ff3793fe7b8d0f245550d15034f7",
      "parents": [
        "0728441b932ab806f3616367554fb0618e49d93a",
        "b7de2194d54eb81b1db4b50c171ddd0339831155"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jan 15 16:47:29 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 15 16:47:29 2013 -0800"
      },
      "message": "am b7de2194: resolved conflicts for merge of c71c678e to master\n\n* commit \u0027b7de2194d54eb81b1db4b50c171ddd0339831155\u0027:\n  Fix the single crunch command to return the right error code.\n"
    },
    {
      "commit": "b7de2194d54eb81b1db4b50c171ddd0339831155",
      "tree": "03a09c0ff25281d52f69c773bfc44399b68b1716",
      "parents": [
        "e45113a1564c6e701fcc076813bee276d501c576",
        "c71c678e9b6a4278337b69f2c60c0fbe9988bf93"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jan 15 16:41:29 2013 -0800"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jan 15 16:41:29 2013 -0800"
      },
      "message": "resolved conflicts for merge of c71c678e to master\n\nChange-Id: I9e1a6a1151af00f0a13e2010776276b240e0ac3a\n"
    },
    {
      "commit": "c71c678e9b6a4278337b69f2c60c0fbe9988bf93",
      "tree": "f3bbf4e077314b0bf611a2a94ea586c559d4c4cd",
      "parents": [
        "f37d9c07b258ceeea991801f9223ecf071debd08",
        "a4e10cc746caea514216f436e2065b3bbefb25ef"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jan 15 14:50:37 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 15 14:50:37 2013 -0800"
      },
      "message": "am a4e10cc7: am 6080cc5f: resolved conflicts for merge of dd52dfed to jb-mr1.1-ub-dev\n\n* commit \u0027a4e10cc746caea514216f436e2065b3bbefb25ef\u0027:\n  Fix the single crunch command to return the right error code.\n"
    },
    {
      "commit": "a4e10cc746caea514216f436e2065b3bbefb25ef",
      "tree": "3dce7e8ed99c06ac9483a48d660024b19b19a04d",
      "parents": [
        "b78714b5dfc871fee251db125ec5e14f4e0aff5f",
        "6080cc5fd7c332c79098a50605c0c37d99d4c481"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jan 15 14:48:02 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 15 14:48:02 2013 -0800"
      },
      "message": "am 6080cc5f: resolved conflicts for merge of dd52dfed to jb-mr1.1-ub-dev\n\n* commit \u00276080cc5fd7c332c79098a50605c0c37d99d4c481\u0027:\n  Fix the single crunch command to return the right error code.\n"
    },
    {
      "commit": "6080cc5fd7c332c79098a50605c0c37d99d4c481",
      "tree": "d73683e19eb9236bb62e32409ff0b742557644d2",
      "parents": [
        "5941ff03721005228072dca5b1c808cb5d12a001",
        "dd52dfed52404490d51ca5ed43c2192cbc25a7a7"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jan 15 14:24:56 2013 -0800"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jan 15 14:24:56 2013 -0800"
      },
      "message": "resolved conflicts for merge of dd52dfed to jb-mr1.1-ub-dev\n\nChange-Id: I839981af97e54c39f0ea0b8141a4dd02959263a0\n"
    },
    {
      "commit": "dd52dfed52404490d51ca5ed43c2192cbc25a7a7",
      "tree": "b9b7a58a7eeb8a09ef827c4adb2db9218d81024a",
      "parents": [
        "9af5cf2b38d82d5ddda5ada67aab51314b473800",
        "de3b69e0512c00158333a223f6c53c9eac7b3d34"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jan 15 10:49:12 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 15 10:49:12 2013 -0800"
      },
      "message": "am de3b69e0: Merge \"Fix the single crunch command to return the right error code.\" into jb-mr1-dev\n\n* commit \u0027de3b69e0512c00158333a223f6c53c9eac7b3d34\u0027:\n  Fix the single crunch command to return the right error code.\n"
    },
    {
      "commit": "c75d3f5c10bf6d7718ef69c6bbc1cdf64cd8ff04",
      "tree": "89c04bb1b6f41275fa71aec9bf0df80ef701e59e",
      "parents": [
        "22d7cf239d8a9b009ea7adf86d8826a8a8116d03"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Jan 14 18:02:40 2013 -0800"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue Jan 15 10:37:20 2013 -0800"
      },
      "message": "Fix the single crunch command to return the right error code.\n\nCasting from status_t to int doesn\u0027t work for return values\nif the lower 8 bits are all 0.\n\nChange-Id: I88e910dfe46cb72acd1595352e71da3c8eff4ca9\n"
    }
  ],
  "next": "3cd80d949ca88fbef4d8da495992ac8855ad069c"
}
