)]}'
{
  "log": [
    {
      "commit": "c750c1fb83fbdec895e236dda7207db4da14ec49",
      "tree": "0b853aa47bad8e6dd2c3eafd1f1bd7437768d170",
      "parents": [
        "4104d3295203d8a1f2d15d572293fdc1171631c6"
      ],
      "author": {
        "name": "David Christie",
        "email": "dnchrist@google.com",
        "time": "Thu Aug 08 12:56:57 2013 -0700"
      },
      "committer": {
        "name": "David Christie",
        "email": "dnchrist@google.com",
        "time": "Thu Aug 08 14:06:25 2013 -0700"
      },
      "message": "Update gps status icon to be a \"high power\" location icon.\nMove icon to right side of the screen and synchronize status with\nAppOpsManager.OP_MONITOR_HIGH_POWER_LOCATION.\n\nChange-Id: Iea2570501cb18be0489669fd4ea240dc63f9567a\n"
    },
    {
      "commit": "77ece7b192d45351b313ee23270caab373d3c477",
      "tree": "cc2ebf80b6dc0d4489bbeee0eeabda6c344ff551",
      "parents": [
        "81ba97841089bd23b82c7c6feadd3112ad22966c",
        "dfc7fd7818cda46b914c8a9d69d1ba00443ffe5b"
      ],
      "author": {
        "name": "Matt Casey",
        "email": "mrcasey@google.com",
        "time": "Thu Aug 08 09:33:07 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 08 09:33:08 2013 +0000"
      },
      "message": "Merge \"Extend assist context to foreground services\""
    },
    {
      "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": "1dc14aeb2fa73032f59a05f86e18d90585df1ebf",
      "tree": "e6ecd88970e08ded031288ccd95bde6b4cc42408",
      "parents": [
        "3bf09f77c2150c5d3426cf9b347e8d7a835a73c7",
        "ef981a40aa63069dc115b216ce38d1dd939dc64c"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Aug 08 01:09:37 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 08 01:09:42 2013 +0000"
      },
      "message": "Merge \"Fix propagation of display overscan information.\""
    },
    {
      "commit": "602b232a06ede86999aa362a12eb28cbc782dc1d",
      "tree": "07a2168ba91425f81bd7ac9c9311adb78114cc13",
      "parents": [
        "55db1e1218971105e68ba9d451b2e0b1e9e5f9fb"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Wed Jul 03 17:04:33 2013 -0400"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Wed Aug 07 21:01:39 2013 -0400"
      },
      "message": "Add PAC File support for proxy configuration\n\nPAC (Proxy auto-config) files contain a single javascript function,\nFindProxyForURL(url, host).  It gets called to determine what proxy should be\nused for a specific request.\n\nThis adds PAC support to the system.  The ProxyProperties has been modified\nto hold the PAC file when one is present.  The Proxy method\nsetHttpProxySystemProperty has been modified to insert a PacProxySelector\nas the default ProxySelector when it is required.  This new ProxySelector\nmakes calls to the ConnectivityService to parse the PAC file.\n\nThe ConnectivityService and the WifiConfigStore have been modified to support\nsaving the extra PAC file data.\n\nThe ConnectivityService now has a class attached (PacProxyNative) that\ninterfaces to the native calls for PAC files.  The parsing of the PAC file\nis handled by libpac (which is being added to external/) which utilizes\nlibv8 to parse the javascript.\n\nAs a fallback to applications that don\u0027t use the java ProxySelector,  the proxy\nis setup to point to a local proxy server that will handle the pac parsing.\n\nbug:10182711\nChange-Id: I5eb8df893c632fd3e1b732385cb7720ad646f401\n"
    },
    {
      "commit": "49660c7c24f24c3394233e3bbf94c96281e8c408",
      "tree": "24686640ecaa6c1c2fe4a7cab2a93837f2653839",
      "parents": [
        "f157b48eae1469754d801e2bed5cdacd73e4399d"
      ],
      "author": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Tue Aug 06 19:54:08 2013 -0700"
      },
      "committer": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Wed Aug 07 17:25:53 2013 -0700"
      },
      "message": "Add support for broadcast intents\n\nChange-Id: Icf61e7a202f489cb33b9fd95564285e48154b25b\n"
    },
    {
      "commit": "f157b48eae1469754d801e2bed5cdacd73e4399d",
      "tree": "82876cfdbab4a5ca06aa9cbf156e1de930337d59",
      "parents": [
        "f5323fee2a7deaf264ed10fbe3d9c69055987e55"
      ],
      "author": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Tue Aug 06 15:57:01 2013 -0700"
      },
      "committer": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Wed Aug 07 17:25:35 2013 -0700"
      },
      "message": "Add support for matching explicit intents\n\nThis adds a \u003ccomponent-filter\u003e tag for the intent firewall rules,\nwhich adds another top-level filter similar to intent-filter, that\nmatches intents based on the resolved component they are being sent\nto.\n\nPreviously, the existing \u003cintent-filter\u003e mechanism did not allow\nfiltering for explicit intents that had no action/data/etc. The\nnew \u003ccomponent-filter\u003e functionality can be used for both implicit\nand explicit intents.\n\nChange-Id: I6a10e8bfae901931ed2174bca42ea25ac79804d8\n"
    },
    {
      "commit": "f5323fee2a7deaf264ed10fbe3d9c69055987e55",
      "tree": "8450b9a63743c81d3efb6b1b85d5d77507a1a6bd",
      "parents": [
        "b62237938eb1379980eb80004137d6dcd6ff14f7"
      ],
      "author": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Wed Jul 31 15:09:51 2013 -0700"
      },
      "committer": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Wed Aug 07 17:25:21 2013 -0700"
      },
      "message": "Pass in the ComponentName of the resolved service for service intents\n\nChange-Id: I893035d5f2dba470d19a091c7a5945b13d9c9b67\n"
    },
    {
      "commit": "b62237938eb1379980eb80004137d6dcd6ff14f7",
      "tree": "80443b43dd6f7e50b14ba3b97e8ef81b311f237d",
      "parents": [
        "e64ff1b31a72162a9179eb13f917b3bf67ae9142"
      ],
      "author": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Mon Jul 29 16:35:40 2013 -0700"
      },
      "committer": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Thu Aug 08 00:14:00 2013 +0000"
      },
      "message": "Add support for service intents\n\nChange-Id: Ie090896b70bd6860181a021818fa6514d2e57a3f\n(cherry picked from commit 8b028a6564d9e3af07e2424dc71d287550ebede7)"
    },
    {
      "commit": "e64ff1b31a72162a9179eb13f917b3bf67ae9142",
      "tree": "0f25a3ef870aa5f58c81059c673f5e2812704331",
      "parents": [
        "72bd06204406e93abc236b91bfafd7d2be368221",
        "dd72c9ed558158f889a8cdfed8a108553ba5a562"
      ],
      "author": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Thu Aug 08 00:09:23 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 08 00:09:23 2013 +0000"
      },
      "message": "Merge \"Improve the logic for determining whether the caller is a system app\""
    },
    {
      "commit": "ef981a40aa63069dc115b216ce38d1dd939dc64c",
      "tree": "05c8b9ea8de1ad4d797d397f30e00ab6e031a65a",
      "parents": [
        "18ec40c44c936fd5146133ccc7446a4cd860b527"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Aug 07 14:13:37 2013 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Aug 07 14:33:50 2013 -0700"
      },
      "message": "Fix propagation of display overscan information.\n\nFix several problems in the way that the overscan was plumbed in\nwhich could result in information not being delivered to applications.\nThere was also a violation of certain invariants regarding the\nimmutability of returned DisplayInfo objects.\n\nBug: 10213771\nChange-Id: I21184a14305e44278b5e81353bf95d511e8517fb\n"
    },
    {
      "commit": "18ec40c44c936fd5146133ccc7446a4cd860b527",
      "tree": "b69aed4fbee1cea17e3067115f93dc8d1bd12db9",
      "parents": [
        "9fb9a1c5c1f7921309380476e1c99724663b214f",
        "2eb15342be5b075dda3df29b2b014a92ce13a5f8"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Aug 07 21:32:32 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 07 21:32:32 2013 +0000"
      },
      "message": "Merge \"Destroy surfaces when display is removed.\""
    },
    {
      "commit": "dd72c9ed558158f889a8cdfed8a108553ba5a562",
      "tree": "6c95473c7c6f1f06b60ba74003d35ca20f013f7c",
      "parents": [
        "40f5b63bd9c0d5570d3330d6d9c16f323253aba1"
      ],
      "author": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Tue Aug 06 12:34:17 2013 -0700"
      },
      "committer": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Wed Aug 07 13:59:17 2013 -0700"
      },
      "message": "Improve the logic for determining whether the caller is a system app\n\nBug: 10024554\nChange-Id: I742e918840a98dd83d713bdf7a43a919674e65fe\n"
    },
    {
      "commit": "9fb9a1c5c1f7921309380476e1c99724663b214f",
      "tree": "da49bace90a0c222fd5d12e1c0a31a4508c796a4",
      "parents": [
        "93e095b731f81e8ae410b605a5ffa955b8711edd",
        "9c72281d9799236ace861e151f642fc81f8128d2"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 07 20:36:26 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 07 20:36:26 2013 +0000"
      },
      "message": "Merge \"Fix a bug where window animation could be janky\""
    },
    {
      "commit": "2eb15342be5b075dda3df29b2b014a92ce13a5f8",
      "tree": "d89bd0f74ed4ce431b36de49e222ea5e1cc7b798",
      "parents": [
        "7a2de0615f50ed40021cc1e931ea072b539719b8"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Aug 07 13:13:35 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Aug 07 13:13:35 2013 -0700"
      },
      "message": "Destroy surfaces when display is removed.\n\nFixes bug 10226153.\n\nChange-Id: I4eb8b14258985768d36745260ad4e62ba6c78844\n"
    },
    {
      "commit": "9c72281d9799236ace861e151f642fc81f8128d2",
      "tree": "c860c9cfb5354fc8db0f896d14fa954d81bd73dc",
      "parents": [
        "2275c6c8bfab76d1db8bc11d2b56b7ff913da4e0"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Aug 06 23:48:07 2013 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 07 12:07:24 2013 -0700"
      },
      "message": "Fix a bug where window animation could be janky\n\nSurfaceControl.closeTransaction() will block until the transaction\ntakes effect and this happens at the next vsync -- in practice\nit means this call blocks for ~15ms.\n\nImmediately after that we ask the choreographer to schedule the\nnext frame, which will happen at the next vsync. depending the\ntiming, this would cause the window manager to animate at 30 fps\ninstead of 60.\n\nThis is fixed here by calling the choreographer before we\ncall closeTransaction().\n\nIn the near future, we should be able to fix this by using\nan offseted vsync for the window manager and it won\u0027t need\ncloseTransaction() to block at all.\n\nBug: 10209014\nChange-Id: I33d0c5ecfc25154b2859f3023a8cda6e641826bf\n"
    },
    {
      "commit": "df89ca3308544cfdd1ca12b22eac4a1d16e04410",
      "tree": "aaff0262790fd74889eb206e0e328c16a6f225f8",
      "parents": [
        "9a04435e5fb7c5869d81184736c97097e24fd881"
      ],
      "author": {
        "name": "Todd Poynor",
        "email": "toddpoynor@google.com",
        "time": "Tue Jul 30 20:33:27 2013 -0700"
      },
      "committer": {
        "name": "Todd Poynor",
        "email": "toddpoynor@google.com",
        "time": "Wed Aug 07 18:33:12 2013 +0000"
      },
      "message": "batteryservice: add battery current now and charge counter data\n\nAvailable for retrieval via future APIs if desired.  Dumped by dumpsys.\nNot added to batterystats or ACTION_BATTERY_CHANGED intents at this point.\n\nAlso fixes a formatting problem in the existing dumpsys output for voltage.\n\nChange-Id: I5320b19035914256fb872c13095c09c648dd522a\n"
    },
    {
      "commit": "9a04435e5fb7c5869d81184736c97097e24fd881",
      "tree": "d8bdf718d74bcc76af234806afe681e173897284",
      "parents": [
        "d8e974931ede2344e49416f1586279dab8107cab",
        "d0f964f93f100a8a8a2c22df98964a82219dc77f"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Aug 07 18:26:48 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 07 18:26:49 2013 +0000"
      },
      "message": "Merge \"Compare tasks not activities.\""
    },
    {
      "commit": "d0f964f93f100a8a8a2c22df98964a82219dc77f",
      "tree": "0f3b074b2d7edaf8f52c82e84a2a6eaa433d7a68",
      "parents": [
        "2275c6c8bfab76d1db8bc11d2b56b7ff913da4e0"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Aug 07 11:16:33 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Aug 07 11:16:33 2013 -0700"
      },
      "message": "Compare tasks not activities.\n\nIn order to determine if the topmost activity needs to be moved out\nof the way, compare its task to the task of the source activity\nrather than compare the activities themeselves.\n\nFixes bug 10182783.\n\nChange-Id: Idd4542d7ddce8b7586ee47f100366bc47e07d54f\n"
    },
    {
      "commit": "d8e974931ede2344e49416f1586279dab8107cab",
      "tree": "7381b15c9795053cf51f249e287c31f6c66a1e3d",
      "parents": [
        "e2b1b8e2adcc212f8505bf77a5d7e098d7c12c2f",
        "5e486f59c7a5df753c1f2c40bdfa6c371811564e"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Aug 07 18:10:23 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 07 18:10:23 2013 +0000"
      },
      "message": "Merge \"Try again to cleanup all blocked apps\""
    },
    {
      "commit": "5e486f59c7a5df753c1f2c40bdfa6c371811564e",
      "tree": "21f23fffba2e8b43e2f79beb52d665d607009a98",
      "parents": [
        "c3a1914bd777575cee1917d99d14f05bfd128717"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Aug 07 11:06:44 2013 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Aug 07 11:06:44 2013 -0700"
      },
      "message": "Try again to cleanup all blocked apps\n\nSince the Restrictions feature was removed, some cleanup code was\nadded to unblock apps. But the cleanup is causing some runtime exceptions\ndue to happening too early in the boot up sequence. Moved the cleanup\nto after boot_completed broadcast is received.\n\nBug: 10212758\nChange-Id: Id42eff16b54c24ea48cf8b3a81f77ea801264edd\n"
    },
    {
      "commit": "feca78f7af973cbe68ffdeb8acb871820cf6458b",
      "tree": "fee096882e729b269fd905763c1eac612dd7d83d",
      "parents": [
        "b83f62236c8ca879f826941fd605a2f123262239",
        "23fb6e84182f325f036b1735b817ecc253e2bd19"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 07 17:15:04 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 07 17:15:05 2013 +0000"
      },
      "message": "Merge \"Start adding IPC calls to retrieve proc stat data.\""
    },
    {
      "commit": "23fb6e84182f325f036b1735b817ecc253e2bd19",
      "tree": "39df98e6c5169bbf68a42f6966663fcb0aa50b22",
      "parents": [
        "57e76b405faf154352e17f0114bf6b23aa9ac0f0"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 07 10:08:22 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 07 10:08:22 2013 -0700"
      },
      "message": "Start adding IPC calls to retrieve proc stat data.\n\nAlso fix a bug where we were not correctly unparcelling service\nduration data.\n\nChange-Id: Ie9113b2e3a747622441b1939ffc45edb5803a10f\n"
    },
    {
      "commit": "dee8bf0eb53b7b557f380e8c3ee5c9179ff0c74d",
      "tree": "97f1a88687d8d9841e9191fe90efcd09ac1207c8",
      "parents": [
        "2275c6c8bfab76d1db8bc11d2b56b7ff913da4e0"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Aug 07 09:24:11 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Aug 07 09:24:11 2013 -0700"
      },
      "message": "Create SurfaceSession before creating DimLayer.\n\nFixes \"java.lang.IllegalArgumentException: session must not be null\"\n\nChange-Id: Id7e77a44e59e5169ed8944682ab79783631182dd\n"
    },
    {
      "commit": "c3a1914bd777575cee1917d99d14f05bfd128717",
      "tree": "924db5a2172ca2a05076d981f1052f013aed93ab",
      "parents": [
        "e9a6f9713ca48aab9a6c87e0645cb0a0af946a11"
      ],
      "author": {
        "name": "Ken Wakasa",
        "email": "kwakasa@google.com",
        "time": "Wed Aug 07 15:03:24 2013 +0000"
      },
      "committer": {
        "name": "Ken Wakasa",
        "email": "kwakasa@google.com",
        "time": "Wed Aug 07 15:03:24 2013 +0000"
      },
      "message": "Revert \"Reduce the transaction fee of getEnabledInputMethodSubtypeList\"\n\nThis reverts commit e9a6f9713ca48aab9a6c87e0645cb0a0af946a11.\n\nChange-Id: I611d31086d4f02aae5c7021ac92975bd92a59f34\n"
    },
    {
      "commit": "e9a6f9713ca48aab9a6c87e0645cb0a0af946a11",
      "tree": "2908165f61df85e877dbd37c29b1fb3fab2464fb",
      "parents": [
        "32c5eb3bf89938ba2221e67362571628e1efd520"
      ],
      "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": "Wed Aug 07 17:12:58 2013 +0900"
      },
      "message": "Reduce the transaction fee of getEnabledInputMethodSubtypeList\n\nBug: 8467480\nChange-Id: Ic1fddfe433e097041fcb09d1fd341d77d7d8b13b\n"
    },
    {
      "commit": "dfc7fd7818cda46b914c8a9d69d1ba00443ffe5b",
      "tree": "bb6f5ca2baf7b31d89725be061db4dc40aa2ca3d",
      "parents": [
        "94fa8956b02f307912746d9ac87be7798dc3464e"
      ],
      "author": {
        "name": "Adam Skory",
        "email": "skory@google.com",
        "time": "Mon Aug 05 19:23:41 2013 -0700"
      },
      "committer": {
        "name": "Adam Skory",
        "email": "skory@google.com",
        "time": "Wed Aug 07 02:20:44 2013 +0100"
      },
      "message": "Extend assist context to foreground services\n\nAdd Service.onProvideAssistData(Bundle) which will be\ncalled on foreground Services that have the new attr\nin their manifest of provideAssistData \u003d true;\n\nRename private reference to e.g. \"getTopActivityExtras\"\nas \"getAssistContextExtras\" - do not rename the relevant\npermission, since it is already public.\n\nIn ActivityManagerService, request extras both from the\ntop activity and from any foreground services with the\nabove attribute. Extend PendingActivityExtras as\nPendingAssistExtras with a list of Services from which\nextras are expected.\n\nReduce the timeout to or reporting extras from 4 sec to\njust 500 ms.\n\nBug: 9526331\nChange-Id: Ia03b96e8189033a68ae9c514c8cea0199a19bce8\n"
    },
    {
      "commit": "9d808b1f4823879ce8b52aefb90c55346017cdc7",
      "tree": "ab814d3b4c66f7c2ba11f192fea52ee5ce6fc0a1",
      "parents": [
        "57e76b405faf154352e17f0114bf6b23aa9ac0f0"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Aug 06 18:00:25 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Aug 06 18:07:13 2013 -0700"
      },
      "message": "Add home StackBox to all DisplayContent.\n\nEach display needs a stack and a stack box to contain windows.\n\nFixes bug 10161525.\n\nChange-Id: Ic617cdf5a082ae68f0589e826ecbb37d8fba52ac\n"
    },
    {
      "commit": "57e76b405faf154352e17f0114bf6b23aa9ac0f0",
      "tree": "05069154a0de33fe802fee88cb9da313638bdbc9",
      "parents": [
        "40f5b63bd9c0d5570d3330d6d9c16f323253aba1"
      ],
      "author": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Wed Jul 31 15:41:24 2013 -0700"
      },
      "committer": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Tue Aug 06 17:25:27 2013 -0700"
      },
      "message": "Add the inadvertently missing SCHEME string value provider\n\nChange-Id: I70ce104efac23c3776596571e48ee195be958373\n"
    },
    {
      "commit": "614b4c4cd42699161b0c801117416ec517b2afe2",
      "tree": "947d97e295ebfdf6122521bd17b87b267d38d75b",
      "parents": [
        "52a9a10b6b8c7b7a9f97777541841b94d4fd9754",
        "d2932243e3313b59e7538641731aa98852bc5ac7"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 06 21:32:41 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 06 21:32:42 2013 +0000"
      },
      "message": "Merge \"Refactor ProcessStats, ProcessTracker.\""
    },
    {
      "commit": "d2932243e3313b59e7538641731aa98852bc5ac7",
      "tree": "d2ccb55820c8c47c535f7b973087cd3446f308b6",
      "parents": [
        "03901667db75696ccd544809e0e7bc000a99f417"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 05 18:18:42 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 06 13:54:07 2013 -0700"
      },
      "message": "Refactor ProcessStats, ProcessTracker.\n\nProcessStats is now called ProcessCpuTracker.\n\nProcessTracker is now ProcessStatsService, and its inner State\nclass is broken out into a separate top-level ProcessStats class.\nThis ProcessStats is moved to the framework, so we will be able\nto use it elsewhere.\n\nChange-Id: I6a127bcb835b6b474b72647c0b99b82c2137e5c5\n"
    },
    {
      "commit": "0dff7064897afd4e07993bac28ae877aaeb1b5e3",
      "tree": "72babedd3360513f6d8c1053741e4ac6d20ccb69",
      "parents": [
        "4373232037606285fc44b816b57c34c95ca444b4",
        "b7c1a17846a306deef62855630bca9f061dc9372"
      ],
      "author": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Tue Aug 06 20:02:30 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 06 20:02:30 2013 +0000"
      },
      "message": "Merge \"Read intent firewall rules from any xml file in the ifw directory\""
    },
    {
      "commit": "4373232037606285fc44b816b57c34c95ca444b4",
      "tree": "fcf93845f357e2106335b890500299d1f4476b8f",
      "parents": [
        "445b5f460fd083a0f267669db450d2e2fa049f08",
        "0f922749f45ba0717c317a765286f880bb9a1cce"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Aug 06 19:56:50 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 06 19:56:50 2013 +0000"
      },
      "message": "Merge \"Extend clearing of mLastPausedActivity.\""
    },
    {
      "commit": "aac3954414d34bb22c9db2675fb34ee196685b49",
      "tree": "0d05b581a14927b3c015393f0c8d981834dce934",
      "parents": [
        "3ed2ba3e769ccfb1ec14f52a703f339d643ed555",
        "350962ca82ddd3d455221c0f29fafb92542f38ea"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Aug 06 18:20:55 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 06 18:20:55 2013 +0000"
      },
      "message": "Merge \"Remove restrictions PIN for all users\""
    },
    {
      "commit": "350962ca82ddd3d455221c0f29fafb92542f38ea",
      "tree": "f31d29bdf59172e53faeb4ba1c8c72837019239a",
      "parents": [
        "3d38fa301ca502882b1bbe06c030d037289636b7"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Aug 06 11:18:53 2013 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Aug 06 11:18:53 2013 -0700"
      },
      "message": "Remove restrictions PIN for all users\n\nBug: 10200097\nChange-Id: I4d95cd49a21e8f4f6b2c141d1205f81622c395b5\n"
    },
    {
      "commit": "0f922749f45ba0717c317a765286f880bb9a1cce",
      "tree": "09efd39002b2cf75d5a40af2e8ca5f7e97109730",
      "parents": [
        "f140fd9cef0ad2a522ad0edd852f763003933338"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Aug 06 08:44:42 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Aug 06 08:44:42 2013 -0700"
      },
      "message": "Extend clearing of mLastPausedActivity.\n\nAdd more locations where mLastPausedActivity must be set null before\ncalling resumeTopActivityLocked().\n\nAlso separate the \"No History\" activity from mLastPausedActivity by\nadding mLastNoHistoryActivity. This is necessary because now\nmLastPausedActivity will be null when mLastNoHistoryActivity\nis checked.\n\nContinues to fix bug 10022212.\n\nChange-Id: Ida543b0638c865127691dc51a6e0635062539659\n"
    },
    {
      "commit": "03901667db75696ccd544809e0e7bc000a99f417",
      "tree": "7d62b241f4dbc6301544d7820f526b621085cdaf",
      "parents": [
        "254798f22f133338d016977c65c06e5f3c8dd033",
        "221ea892dcc661bd07d6f36ff012edca2c48aed4"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 06 00:16:04 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 06 00:16:04 2013 +0000"
      },
      "message": "Merge \"Start restricting service calls with implicit intents.\""
    },
    {
      "commit": "254798f22f133338d016977c65c06e5f3c8dd033",
      "tree": "8554f81d691c6cb7933d5324e6ec4fc8f32f0dd8",
      "parents": [
        "449ff243539d570f04cb387159f4cf557c0b6702",
        "8eea0fcd3b4a9c58ba70ea80ed0332d37ac43da5"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 06 00:15:16 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 06 00:15:16 2013 +0000"
      },
      "message": "Merge \"Add a new process state for \"service restarting\".\""
    },
    {
      "commit": "221ea892dcc661bd07d6f36ff012edca2c48aed4",
      "tree": "33a29861257497ebd865fe5565c9e3bfbde3cb1a",
      "parents": [
        "33041bd90301d50c61e6375bbd9bb6da2f1c8cba"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Aug 04 16:50:16 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 05 16:53:26 2013 -0700"
      },
      "message": "Start restricting service calls with implicit intents.\n\nThe bindService() and startService() calls have always had\nundefined behavior when used with an implicit Intent and there\nare multiple matching services.  Because of this, it is not\nsafe for applications to use such Intents when interacting with\nservices, yet the platform would merrily go about doing... something.\n\nIn KLP I want to cause this case to be invalid, resulting in\nan exception thrown back to the app.  Unfortunately there are\nlots of (scary) things relying on this behavior, so we can\u0027t\nimmediately turn it into an exception, even one qualified by the\ncaller\u0027s target SDK version.\n\nIn this change, we start loggin a WTF when such a call happens,\nand clean up some stuff in Bluetooth that was doing this behavior.\n\nChange-Id: I62e25d07890588d2362104e20b054aebb6c0e007\n"
    },
    {
      "commit": "449ff243539d570f04cb387159f4cf557c0b6702",
      "tree": "77784fc6e93ce8451be3b06bf246a8b4ee8adef2",
      "parents": [
        "373673abd68f512dd17a6c2b7606ebad365e87cc",
        "f140fd9cef0ad2a522ad0edd852f763003933338"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Aug 05 23:18:07 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 05 23:18:07 2013 +0000"
      },
      "message": "Merge \"Clear last paused activity.\""
    },
    {
      "commit": "f140fd9cef0ad2a522ad0edd852f763003933338",
      "tree": "3a97fb573266fca497f51ad9f906be5d7665e34c",
      "parents": [
        "f239d9d7bb15fbdbe026835d5ee6b0c91d3ac5f0"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Aug 05 16:14:22 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Aug 05 16:14:22 2013 -0700"
      },
      "message": "Clear last paused activity.\n\nMoving an activity to the back used to move it behind the launcher.\nThis meant that the test in resumeTopActivityLocked() for\nmLastPausedActivity being equal to the top activity would fail after\nmoveTaskToBack(). In the new activity stack model the launcher is\non a different stack so if there is only one task then the test\nnow passes. Clearing mLastPausedActivity when moving an activity\nforward now passes the test.\n\nFixes bug 10022212.\n\nChange-Id: I17932d5c87d2483f13c29ae85a7067202a08f34e\n"
    },
    {
      "commit": "8eea0fcd3b4a9c58ba70ea80ed0332d37ac43da5",
      "tree": "a0ed6ce0de84377ef46d5d49c34d6e0030f75758",
      "parents": [
        "33041bd90301d50c61e6375bbd9bb6da2f1c8cba"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 02 13:40:55 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 05 14:19:44 2013 -0700"
      },
      "message": "Add a new process state for \"service restarting\".\n\nThis is a process that is not actually running, but would be\nif we had enough RAM.\n\nAlso rework how service stats are stored to used the nice\ncompact structure we are already using for processes.\n\nAnd fix a bug where when we committed the current state data,\nwe would mistakenly write it under the name of the *next* state\nthat is now starting.  Ouch.\n\nChange-Id: I9f2b84b8b3f305301fd48dcd9d4e6c232abe8ef9\n"
    },
    {
      "commit": "e6a0b7dea21cae5440d71e49eec8981f88413b3e",
      "tree": "bb6240df91faf438139e55f9ccce4e6bfba4af41",
      "parents": [
        "4c59c54f77f2bac38f0225a5212772f5a3837cf2",
        "f4bdcaba5dec17001cae7e654b74020b527c79e5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 05 17:23:20 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 05 17:23:20 2013 +0000"
      },
      "message": "Merge \"Remove member \"m\" prefix from now local variables\""
    },
    {
      "commit": "32230ef4e67291d5dc1357bbcb452fdc9d65b1c5",
      "tree": "fcf8aeee6431d938b6656a0e4b89ab744a706bfa",
      "parents": [
        "7ce7f32257a1e49493d38b96f503069226e98c9a",
        "9764218ff979f735aee2f1189e3547d5f3b02f83"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Mon Aug 05 13:18:53 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 05 13:18:54 2013 +0000"
      },
      "message": "Merge \"Collapse/disable shade when hiding status bar window.\""
    },
    {
      "commit": "7bb1be4ba9ab141cdfbd2debed82ecda1657f9cf",
      "tree": "03fa7e494a60bd0e6c1c5c92e8284968cfa806db",
      "parents": [
        "f76ff0552bbef531c33ef0cb322932d03b7e6632",
        "835835ee6f913408ac91678d6056896a2c5b25e3"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Aug 05 04:08:46 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 05 04:08:46 2013 +0000"
      },
      "message": "Merge \"Polish the print spooler loading of stored print jobs.\""
    },
    {
      "commit": "835835ee6f913408ac91678d6056896a2c5b25e3",
      "tree": "16f82a42cd1a8d032502adf963912856c9b297a8",
      "parents": [
        "14617a83a64fe982d01450a881a1b4f1ec29e28b"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun Aug 04 20:17:52 2013 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun Aug 04 20:45:10 2013 -0700"
      },
      "message": "Polish the print spooler loading of stored print jobs.\n\n1. The singleton print spooler isntance is created when the print spooler\n   service gets a connection to the system and is destroyed when this\n   connection is removed. Note that if the spooler has work, then the\n   connection to the system will not be removed.\n\n   When the spooler is created, it reads the stored state and notifies the\n   system which in turn dispatches this to the print services.\n\n   When the system connects to the spooler and passes it a connection, we\n   schedule a delayed check whether there is work for the spooler. We do\n   not handle this immediately to avoid intermitted spinning on and off\n   of the spooler process if a client makes a sequence of queries while\n   the spooler has really no work.\n\n2. Fixed a bug in the NotificationManagerService where adding a notification\n   and removing it immediately after that does not remove the notification.\n   The code that is adding a notification is run on a handler thread while\n   the code to remove it on the calling thread. This creates a race and\n   erroneous results. Now the removal is also scheduled on the handler.\n\n3. Many small fixes here and there.\n\nChange-Id: I6415c253139fa6616393fbe23c659d031a29e1f6\n"
    },
    {
      "commit": "5c7132560aac40f291726095b761a0c46ee32b09",
      "tree": "2965cab1edb1e590aa0544c2c9bca12405509d0a",
      "parents": [
        "0770f9ef66f6e0d8724c972fbdce81aae6de2ca1",
        "46ac6fa614131d567bed93d1d2067d765ecef85d"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Sat Aug 03 22:32:04 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Aug 03 22:32:04 2013 +0000"
      },
      "message": "Merge \"Add force default orientation.\""
    },
    {
      "commit": "0770f9ef66f6e0d8724c972fbdce81aae6de2ca1",
      "tree": "54097d07f8fa475f0c007bc68974c2862eaa4a48",
      "parents": [
        "33041bd90301d50c61e6375bbd9bb6da2f1c8cba",
        "c8911ddd486776662e09a6822d4929074d40024d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 02 23:43:31 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 02 23:43:31 2013 -0700"
      },
      "message": "resolved conflicts for merge of c8911ddd to master\n\nChange-Id: I790b547268a23848577199256fc5abc9bdb7abb8\n"
    },
    {
      "commit": "33041bd90301d50c61e6375bbd9bb6da2f1c8cba",
      "tree": "ad725a4ecd7aeea9d3641c85d366649ef45c63e4",
      "parents": [
        "7d00affce6e25b22fd8fc135933b3bf6b547a0dc"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Aug 02 21:11:14 2013 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Aug 02 21:11:14 2013 -0700"
      },
      "message": "Add debug message to help diagnose a presentation bug.\n\nBug: 10154780\nChange-Id: I0e711a6316cb231ec48fc31d87b8cbd5d857c2f8\n"
    },
    {
      "commit": "7d00affce6e25b22fd8fc135933b3bf6b547a0dc",
      "tree": "6ceb674184170a62dd93d7b3508f11ed1830349e",
      "parents": [
        "040f44d0ebdd3a50c59ba0cbc0b023fd2d71039d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Aug 02 19:03:49 2013 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Aug 02 21:11:07 2013 -0700"
      },
      "message": "Support public virtual displays.\n\nRefactor the new private virtual display API to also support\ncreating public virtual displays with various characteristics.\nThis feature requires special permissions and is only intended\nfor use by the system.\n\nChange-Id: I44dd19f37cf76ea6d6e313afe42f4a412bd96663\n"
    },
    {
      "commit": "f4bdcaba5dec17001cae7e654b74020b527c79e5",
      "tree": "755739115fb6b3d642d93809e2b4951a9f40abad",
      "parents": [
        "1e01943fe1876144f0c180163b5b39ee0a9a91ee"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Aug 02 19:49:15 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Aug 02 19:49:15 2013 -0700"
      },
      "message": "Remove member \"m\" prefix from now local variables\n\nChange-Id: I7808cafc1f74c47fcd9d9a4b6a90fb50951457b1\n"
    },
    {
      "commit": "040f44d0ebdd3a50c59ba0cbc0b023fd2d71039d",
      "tree": "9dccd7d594c5854c25581f5ee669c73b2b3b50e4",
      "parents": [
        "1e01943fe1876144f0c180163b5b39ee0a9a91ee"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Aug 02 18:14:46 2013 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Aug 02 19:44:19 2013 -0700"
      },
      "message": "Add support for secure overlay displays for development.\n\nChange-Id: I426115ec5a3fbda52a481097731abc8b3d9013a4\n"
    },
    {
      "commit": "c8911ddd486776662e09a6822d4929074d40024d",
      "tree": "82af56772c82f689008b485be62ae6d915c59e0b",
      "parents": [
        "ae311f4c5f86779bb681b9fa8c1122dc174fea72",
        "373a2f15667956ff8a00ba59b42972b9c930af92"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 02 19:32:13 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 02 19:32:13 2013 -0700"
      },
      "message": "am 373a2f15: am 607b414d: Add new app ops method to reset all op modes.\n\n* commit \u0027373a2f15667956ff8a00ba59b42972b9c930af92\u0027:\n  Add new app ops method to reset all op modes.\n"
    },
    {
      "commit": "607b414d0444067e166fa54d8ea37563f2715ea3",
      "tree": "794a9671518840a260c91135d11b13a6339514ee",
      "parents": [
        "7925e7cc089251afb2faceb3e81eea436647c572"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 02 18:10:10 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 02 19:06:25 2013 -0700"
      },
      "message": "Add new app ops method to reset all op modes.\n\nChange-Id: I5ee6764de8dc31d812e5a788914ab0099bbef4c0\n"
    },
    {
      "commit": "c5e32ef628c23758523008358c11aaa7e7422ac4",
      "tree": "c6a196d755d7de4a0c35c77932f6272297246096",
      "parents": [
        "b7645acfd929911adeeea44334a3168dd0a0cf8b",
        "b33278f876be7d6399c04d470c40c97979a87ccf"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Aug 02 23:58:42 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 02 23:58:42 2013 +0000"
      },
      "message": "Merge \"Teach PackageManager to skip core-libart.jar\""
    },
    {
      "commit": "46ac6fa614131d567bed93d1d2067d765ecef85d",
      "tree": "720caf051afb40d98ec279bc19022efc5037ffa5",
      "parents": [
        "cb92a8d9428c2e4a9f038cd5f10e9d61bf265cd4"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Aug 01 10:06:34 2013 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Aug 02 16:23:58 2013 -0700"
      },
      "message": "Add force default orientation.\n\nDevices can be configured to remain in their default landscape or\nportrait orientation by setting config_forceDefaultOrientation true\nin overlay/.../values/config.xml.\n\nActivities that desire to run in the non-default orientation are\nsupported by creating a logical display within the physical display.\nTransitions to and from the activity perform a crossfade rather than\nthe normal rotation animation.\n\nAlso, improve SurfaceTrace debug output.\n\nFixes bug 9695710.\n\nChange-Id: I053e136cd2b9ae200028595f245b6ada5927cfe9\n"
    },
    {
      "commit": "bb9b30078739dba99ffa094b35fde0118c245097",
      "tree": "f03f4fa6218f39ca80108ab294dc7633c55614e9",
      "parents": [
        "4d79d7821d45719b8efe71e68617e511084cb8a1",
        "8c43376ea83a67414bd6823a472b76d41160239e"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Aug 02 21:24:38 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 02 21:24:38 2013 +0000"
      },
      "message": "Merge \"    First cut of the print notifications.\""
    },
    {
      "commit": "4d79d7821d45719b8efe71e68617e511084cb8a1",
      "tree": "3651b1124c848ff70f8770ca32411d440a4772cd",
      "parents": [
        "d347168f508e5d93c280023d6f7357ec8028ff6f",
        "e67b5e314fe5978b55affc1057944a1954016ae0"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Aug 02 21:22:59 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 02 21:22:59 2013 +0000"
      },
      "message": "Merge \"Revert \"ssss\"\""
    },
    {
      "commit": "8c43376ea83a67414bd6823a472b76d41160239e",
      "tree": "05ee0b02f711058ce5443a8bbee33edd19df2d8f",
      "parents": [
        "55b409a97cf6376399a0940313ea852368727d6f"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Aug 02 14:22:19 2013 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Aug 02 14:22:22 2013 -0700"
      },
      "message": "    First cut of the print notifications.\n\n    1. Added notifications for a queued print job, for a started print job,\n       for ongoing canceling a print job, and for a failed print job. The\n       notifications for queued and started state have a cancel action. The\n       notification for failed print job has a cancel and a restart action.\n\n    2. Propagating failure message from the print service to the notifications.\n\n    3. PrintJobConfigActivity was not setting the initial value for the\n       print job copies and was not updating the UI immediately after creation.\n\n    4. Refactored PrintJobConfigActivity to avoid using the hack to avoid\n       reaction for item selection change in a spinner for an event that\n       happened before the callback was registered.\n\n    5. Removed the label attribute from PrinterInfo and now PrinterId is\n       composed of the printer name and the service component name. This\n       is nice since for restarting print jobs we do not need to store\n       information about the printer except the printer id which is\n       already part of the PrintJobInfo\u0027s data. Also the printer name\n       is not expected to change anyway.\n\n    6. Allowing cancellation of a queued print job. Also no print job is\n       cancelled without asking the managing print service to do that.\n       Before we were immediately canceling print jobs in queued state\n       but it was possible for a buggy print service to not set the\n       print job state to started before starting to do expensive work\n       that will not be canceled.\n\n    7. PrintServiceInfo was throwing an exception the the meta-data\n       XML for the print service was not well-formed which would crash\n       the system process. Now we just ignore not well-formed meta-data.\n\n    8. Removed unused permissions from the PrintSpooler\u0027s manifest.\n\nChange-Id: Iba2dd14b487f56e137b90d1da17c3033422ab5e6\n"
    },
    {
      "commit": "e67b5e314fe5978b55affc1057944a1954016ae0",
      "tree": "9a919b2d64c469e11d94d6205d44cdd9ab553802",
      "parents": [
        "650f0ee31bbd2a23dc64b60caba3a52e7665398c"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Aug 02 21:19:37 2013 +0000"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Aug 02 21:19:37 2013 +0000"
      },
      "message": "Revert \"ssss\"\n\nThis reverts commit 650f0ee31bbd2a23dc64b60caba3a52e7665398c.\n\nChange-Id: Iae83ca6ccb7feccb74069bf09cfb3150c03ec710\n"
    },
    {
      "commit": "d347168f508e5d93c280023d6f7357ec8028ff6f",
      "tree": "447d93a67351562718cea64ed98d65d09f2e6c0d",
      "parents": [
        "ec90545b5ff0e651154f8b9ab107b34e3a1124d8",
        "650f0ee31bbd2a23dc64b60caba3a52e7665398c"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Aug 02 21:15:35 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 02 21:15:36 2013 +0000"
      },
      "message": "Merge \"ssss\""
    },
    {
      "commit": "aa3b0ff3e18585d055494ec3f63f1e0ce1325dd9",
      "tree": "2745783ed3a83406e2b0ea4ef66e342b18935ad2",
      "parents": [
        "b213cec0ce659c1e35c3e7f60a61bae38d94482a",
        "0eab98dd24b3a4272d5e9a41f353071f8508ec2a"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Fri Aug 02 13:44:17 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 02 13:44:17 2013 -0700"
      },
      "message": "am 0eab98dd: am 019f4385: am 7925e7cc: Merge \"Revert \"Add version identifier to app ops.\"\" into jb-mr2-dev\n\n* commit \u00270eab98dd24b3a4272d5e9a41f353071f8508ec2a\u0027:\n  Revert \"Add version identifier to app ops.\"\n"
    },
    {
      "commit": "0eab98dd24b3a4272d5e9a41f353071f8508ec2a",
      "tree": "fb8f3dba53792b2649b06cf4ff3b3054f698f403",
      "parents": [
        "5d6b7db5d9cb7de5cee45dd35af18e179f01d583",
        "019f4385d17234324db23521149e1f1cb6d7d061"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Fri Aug 02 13:42:03 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 02 13:42:03 2013 -0700"
      },
      "message": "am 019f4385: am 7925e7cc: Merge \"Revert \"Add version identifier to app ops.\"\" into jb-mr2-dev\n\n* commit \u0027019f4385d17234324db23521149e1f1cb6d7d061\u0027:\n  Revert \"Add version identifier to app ops.\"\n"
    },
    {
      "commit": "7925e7cc089251afb2faceb3e81eea436647c572",
      "tree": "93dd5e8ce3cc50bebac779efc4fcacf964e9317c",
      "parents": [
        "d364859ce657c6b096cadc703485ccef7979c582",
        "0997c5bd79d11e6ecb11970bfd9b9b911001ac0a"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Fri Aug 02 20:36:28 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 02 20:36:28 2013 +0000"
      },
      "message": "Merge \"Revert \"Add version identifier to app ops.\"\" into jb-mr2-dev"
    },
    {
      "commit": "650f0ee31bbd2a23dc64b60caba3a52e7665398c",
      "tree": "e82192c1acd55e42bdebf34810b485974ef89dca",
      "parents": [
        "55b409a97cf6376399a0940313ea852368727d6f"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Aug 02 13:31:20 2013 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Aug 02 13:31:20 2013 -0700"
      },
      "message": "ssss\n\nChange-Id: I001c2ae5bc6caeac7e1a2223e221be69f6e6cb6c\n"
    },
    {
      "commit": "0997c5bd79d11e6ecb11970bfd9b9b911001ac0a",
      "tree": "c95b1fc32cd3980bc59aee4535d9fbe827bfb345",
      "parents": [
        "483a6bbfc118409b9c46b226cf0aa6afdc4d9159"
      ],
      "author": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Fri Aug 02 20:25:02 2013 +0000"
      },
      "committer": {
        "name": "Dave Burke",
        "email": "daveburke@google.com",
        "time": "Fri Aug 02 20:25:02 2013 +0000"
      },
      "message": "Revert \"Add version identifier to app ops.\"\n\nThis reverts commit 483a6bbfc118409b9c46b226cf0aa6afdc4d9159.\n\nChange-Id: I91d6b8b8d1789089bf9764e734f7fe59d03151a2\n"
    },
    {
      "commit": "474daa2b7838402a1ef81140a512613e1b37a54e",
      "tree": "d669e3df2bc4f13757f3f13f74efdd27abc07f62",
      "parents": [
        "e242e2f236939ace5930392763057ea1e4fb67cb",
        "ebe51fc0d860077245c44bfb00130be62da001e1"
      ],
      "author": {
        "name": "David Christie",
        "email": "dnchrist@google.com",
        "time": "Fri Aug 02 17:17:38 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 02 17:17:38 2013 +0000"
      },
      "message": "Merge \"Add WorkSource capability to AlarmManager.\""
    },
    {
      "commit": "02260e2141fac0b6a712e4ca63702e657e8e7296",
      "tree": "0a58a90a7a3a050ad10e83422234fa3ef2347401",
      "parents": [
        "cf3f35f322971ed5155a65d3c3fbf28232a35c99"
      ],
      "author": {
        "name": "Satoshi Kataoka",
        "email": "satok@google.com",
        "time": "Fri Aug 02 16:22:04 2013 +0900"
      },
      "committer": {
        "name": "Satoshi Kataoka",
        "email": "satok@google.com",
        "time": "Fri Aug 02 16:22:04 2013 +0900"
      },
      "message": "Add a comment on the spell checker framework\n\nChange-Id: Ibd826d68074d8524cbeaae296ce483f8b10c3d07\n"
    },
    {
      "commit": "2fc324553712f02b3d97b6408b0455ba9efc9dd6",
      "tree": "c04ba497fdc5f99b1ed0909e1ab75ac87856f6fe",
      "parents": [
        "1a4645d03087e743a4704c1b5a51a9ab787bbcab",
        "f1cca18ae460b66242988a8a6204c4a42b6fa1c1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 02 03:34:06 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 02 03:34:06 2013 +0000"
      },
      "message": "Merge \"Try to improve PSS collection.\""
    },
    {
      "commit": "f1cca18ae460b66242988a8a6204c4a42b6fa1c1",
      "tree": "52debee86ff1beec5b5c7660f11285cff3250847",
      "parents": [
        "5d3dff1d66f99fbd5bef9178e62d789119c02ad1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 01 10:50:28 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 01 20:28:36 2013 -0700"
      },
      "message": "Try to improve PSS collection.\n\nThe goal is to collect PSS data from processes when they\nare in as stable a state as possible.  We now have tables\nfor the durations to use for PSS collection based on\nprocess state, and scheduling of collection is all driven\nby process state changes.\n\nChange-Id: I95e076f6971b9c093118e53dc8240fb3f5bad3b2\n"
    },
    {
      "commit": "40e5782f5c79ea660b98b8875086f592367bc1d2",
      "tree": "8fdfd3a5bbe90b996c71e933230b7138505fdaa7",
      "parents": [
        "930524ade21464a4f8cbbf80fed7039f4e813965"
      ],
      "author": {
        "name": "David Christie",
        "email": "dnchrist@google.com",
        "time": "Tue Jul 30 11:36:48 2013 -0700"
      },
      "committer": {
        "name": "David Christie",
        "email": "dnchrist@google.com",
        "time": "Thu Aug 01 14:31:48 2013 -0700"
      },
      "message": "Allow a particular LocationRequest to be excluded from\nAppOps monitoring as long as the client as the appropriate\npermission (UPDATE_DEVICE_STATS).\n\nChange-Id: I7223a53bc1551e6498302a22eb310c8c5b5684b0\n"
    },
    {
      "commit": "930524ade21464a4f8cbbf80fed7039f4e813965",
      "tree": "7c5218fdcdae8f5304270ca6f4d7cd600948e7fc",
      "parents": [
        "8c80a476d966b23b117d12d8762a9611cddddfa3",
        "95990fe4c38641ea574efe9224ae279db61cde0f"
      ],
      "author": {
        "name": "Sascha Prueter",
        "email": "saschap@google.com",
        "time": "Thu Aug 01 13:59:09 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 01 13:59:09 2013 -0700"
      },
      "message": "am 95990fe4: am aa268f8f: am d364859c: Merge \"Add version identifier to app ops.\" into jb-mr2-dev\n\n* commit \u002795990fe4c38641ea574efe9224ae279db61cde0f\u0027:\n  Add version identifier to app ops.\n"
    },
    {
      "commit": "95990fe4c38641ea574efe9224ae279db61cde0f",
      "tree": "635f2ad798183d106764539b1d11041c6da0bf19",
      "parents": [
        "3e2b513cc21f5ae59bd7304aada2afabc54735cb",
        "aa268f8fb2855335fc0d4f181cbf91505448e5eb"
      ],
      "author": {
        "name": "Sascha Prueter",
        "email": "saschap@google.com",
        "time": "Thu Aug 01 13:55:43 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 01 13:55:43 2013 -0700"
      },
      "message": "am aa268f8f: am d364859c: Merge \"Add version identifier to app ops.\" into jb-mr2-dev\n\n* commit \u0027aa268f8fb2855335fc0d4f181cbf91505448e5eb\u0027:\n  Add version identifier to app ops.\n"
    },
    {
      "commit": "b33278f876be7d6399c04d470c40c97979a87ccf",
      "tree": "2f97a189fd43d91948b0b033342ab54d34fb6ee7",
      "parents": [
        "2f3efcf1078b051205c2b6708a79f176fa943d17"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Aug 01 13:55:07 2013 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Aug 01 13:55:07 2013 -0700"
      },
      "message": "Teach PackageManager to skip core-libart.jar\n\nA little grossness for now to support dual booting Dalvik and Art.\n\nWhile I was here, removed isDexOptNeeded calls for boot class path which already return false.\n\nChange-Id: Iaaaf21b7733c1791e7bd8ae27e84c47463f9e9c9\n"
    },
    {
      "commit": "d364859ce657c6b096cadc703485ccef7979c582",
      "tree": "727ea19432c9ba3097ea05c192e07d614bb7039d",
      "parents": [
        "9eb434c3899ce4791ca58affcbe673e5a96ff6b9",
        "483a6bbfc118409b9c46b226cf0aa6afdc4d9159"
      ],
      "author": {
        "name": "Sascha Prueter",
        "email": "saschap@google.com",
        "time": "Thu Aug 01 20:50:01 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 01 20:50:02 2013 +0000"
      },
      "message": "Merge \"Add version identifier to app ops.\" into jb-mr2-dev"
    },
    {
      "commit": "ebe51fc0d860077245c44bfb00130be62da001e1",
      "tree": "9d60bdf605188b125c8b453d346dbb0362776d8c",
      "parents": [
        "8c80a476d966b23b117d12d8762a9611cddddfa3"
      ],
      "author": {
        "name": "David Christie",
        "email": "dnchrist@google.com",
        "time": "Fri Jul 26 13:23:29 2013 -0700"
      },
      "committer": {
        "name": "David Christie",
        "email": "dnchrist@google.com",
        "time": "Thu Aug 01 13:22:40 2013 -0700"
      },
      "message": "Add WorkSource capability to AlarmManager.\n\nChange-Id: I663ea3078d405f0fa667a04bdaa376ae6652e994\n"
    },
    {
      "commit": "e1f886f5e35aa0b4297df85e96716687f3b9517d",
      "tree": "6017deda1afb34e0e6c5c5e91c5eddaaf053accd",
      "parents": [
        "1a02c22d018bf22ab40b2d2d93f750bc7a8135b2",
        "0b8374501975aecd7a628336e2f7e53c272ebeea"
      ],
      "author": {
        "name": "David Christie",
        "email": "dnchrist@google.com",
        "time": "Thu Aug 01 19:24:53 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 01 19:24:53 2013 +0000"
      },
      "message": "Merge \"Add new app op to monitor high power location requests.\""
    },
    {
      "commit": "483a6bbfc118409b9c46b226cf0aa6afdc4d9159",
      "tree": "96c3da4abc0d1a44cd43b6520af16754c29df2bc",
      "parents": [
        "38d4cfd4a19de35c2b16c0f64b26d4b9ed362ede"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 01 11:09:27 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 01 11:15:04 2013 -0700"
      },
      "message": "Add version identifier to app ops.\n\nAll old versions drop their modes except for the notification op\n(which is the only one there is currently a user-visible control for).\n\nChange-Id: I9e09cebe63e9ea81f2adc01aef7d1a5a59f57a56\n"
    },
    {
      "commit": "87d01e9e83f33651872b3f3b2a1492c58d3846b5",
      "tree": "e80861c1c986c9f4dc7da07cc4df1743d44c9307",
      "parents": [
        "9171db279826ee91d64eb9538a504ffed5e53b38",
        "9e6f26a8e1e69b1c49676d60a5ebe36c0a0f23f9"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Aug 01 09:35:16 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 01 09:35:16 2013 -0700"
      },
      "message": "am 9e6f26a8: am f3e2f8fe: am 9eb434c3: Allow the user to block notifications for foreground services.\n\n* commit \u00279e6f26a8e1e69b1c49676d60a5ebe36c0a0f23f9\u0027:\n  Allow the user to block notifications for foreground services.\n"
    },
    {
      "commit": "9e6f26a8e1e69b1c49676d60a5ebe36c0a0f23f9",
      "tree": "72492b4258f2cd075104dde3a4b7049d65e18070",
      "parents": [
        "368d81fe185ed4484e3258a160416e6567896e31",
        "f3e2f8feef1a22708cc7ce1a7bc5d914bb53933d"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Aug 01 09:32:40 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 01 09:32:40 2013 -0700"
      },
      "message": "am f3e2f8fe: am 9eb434c3: Allow the user to block notifications for foreground services.\n\n* commit \u0027f3e2f8feef1a22708cc7ce1a7bc5d914bb53933d\u0027:\n  Allow the user to block notifications for foreground services.\n"
    },
    {
      "commit": "5813f240ec21252b5a79616a67998dd0529986fa",
      "tree": "d689b7d7322cf4eab5e88442913040d2d0f02329",
      "parents": [
        "f296e317fb44ac33fe5294fcfe0cc1218ca5b86c",
        "2380566debfc57eb1cc07db1306ccee23b84ddd4"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Aug 01 16:07:08 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 01 16:07:08 2013 +0000"
      },
      "message": "Merge \"Notification muting conditional to exclusive audio focus request\""
    },
    {
      "commit": "e1cd2931512566232f0306c60d3895b459919098",
      "tree": "cb6a81945549624177337dc247220386d44be7c8",
      "parents": [
        "f4b6daf0ae1dd356f8fe22ea1e08d42c70b23f3b",
        "d1e0fae2bc5c98b1f00b185d7be7219dc7e1d0f7"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Aug 01 06:44:28 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 01 06:44:29 2013 +0000"
      },
      "message": "Merge \"Add accessors for all addresses and clarify compare* methods\""
    },
    {
      "commit": "9eb434c3899ce4791ca58affcbe673e5a96ff6b9",
      "tree": "93dd5e8ce3cc50bebac779efc4fcacf964e9317c",
      "parents": [
        "a99cb5bc41d4493db84c5ee3d9123d4a99df5c53"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Jul 31 20:21:07 2013 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Aug 01 00:44:57 2013 -0400"
      },
      "message": "Allow the user to block notifications for foreground services.\n\nStepping carefully around the fix in change Idc788527, we\nperform security (and AppOps, and therefore user block)\nchecks against the uid passed to enqueueNotificationInternal\nrather than the Binder caller.\n\nBug: 9502541\nChange-Id: I91745db92823381df75721c1b8f11013a7fa4ecc\n"
    },
    {
      "commit": "fd5d153af8e37ad88b8564408a7dc27fc20e95f0",
      "tree": "13ee5211db2d1c6430776653ca2fca1777eb2dca",
      "parents": [
        "53672be11093e56c47e037b8540d63221ccd2f7f",
        "87c291421544821fe9d10a08ee4e9f31b62d5052"
      ],
      "author": {
        "name": "Satoshi Kataoka",
        "email": "satok@google.com",
        "time": "Thu Aug 01 03:12:35 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 01 03:12:35 2013 +0000"
      },
      "message": "Merge \"Add a debug utility for InputMethodUtils\""
    },
    {
      "commit": "87c291421544821fe9d10a08ee4e9f31b62d5052",
      "tree": "a1ae047d890b29e16de5353e5403a318df3ed8d7",
      "parents": [
        "46fc6a6e3b8c16d66b4880cde59dff43ab1792db"
      ],
      "author": {
        "name": "Satoshi Kataoka",
        "email": "satok@google.com",
        "time": "Wed Jul 31 23:11:54 2013 +0900"
      },
      "committer": {
        "name": "Satoshi Kataoka",
        "email": "satok@google.com",
        "time": "Thu Aug 01 11:57:27 2013 +0900"
      },
      "message": "Add a debug utility for InputMethodUtils\n\nChange-Id: I59f6001bf20640e36e19b09cf117b8579120ba7d\n"
    },
    {
      "commit": "53672be11093e56c47e037b8540d63221ccd2f7f",
      "tree": "9e499048338b528598ee0d9b4b40fe18b194030b",
      "parents": [
        "e303900dbdda25cb09fdc3c6d1f43aa68708713b",
        "55b409a97cf6376399a0940313ea852368727d6f"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Aug 01 02:16:19 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 01 02:16:20 2013 +0000"
      },
      "message": "Merge \"Iteration of the print sub-system.\""
    },
    {
      "commit": "55b409a97cf6376399a0940313ea852368727d6f",
      "tree": "9a919b2d64c469e11d94d6205d44cdd9ab553802",
      "parents": [
        "85b1f883056a1d74473fd9ce774948878f389ab6"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Jul 31 17:25:13 2013 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Jul 31 18:59:53 2013 -0700"
      },
      "message": "Iteration of the print sub-system.\n\n1. Added APIs for adding partially initialized PrintInfo objects\n   enabling light-weight lookps for print serivces that want to\n   populate the list of available printers without querying each\n   of them for its capabilities. This includes APIs for the system\n   to request from a print service to update certain printers.\n\n2. Fixed a bug in PrinterId#equals().\n\n3. Added equals and hasCode implementaion to PrinterInfo. Also\n   the defaul in PrinterInfo are now an array instead of a\n   SparseArray - cheaper.\n\n4. Now PrintJobConfigActivity works with partially specified\n   printers. Specifically, if such a printer is selected the\n   activity is requesting from the print service to update\n   the printer. We are currently not handling the timeout case.\n   It also handles udpated pritners.\n\nChange-Id: I5e83e924ef597c9e22cbd06a971d4f4d3bd3a9c1\n"
    },
    {
      "commit": "9f1ef00265b4cfd03d024e1fcdc3eaf85b7b8a40",
      "tree": "97afde4a94f05930df9dabc46102e3ef8838fab4",
      "parents": [
        "f94b34f5397d92080c188277b062537480c05b7d",
        "85b1f883056a1d74473fd9ce774948878f389ab6"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Aug 01 00:13:44 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 01 00:13:44 2013 +0000"
      },
      "message": "Merge \"Iteration on the print sub-system.\""
    },
    {
      "commit": "b7c1a17846a306deef62855630bca9f061dc9372",
      "tree": "8ae5cc31c2944f69cbd5d5810dda52c04798fdb5",
      "parents": [
        "af728bd201195799c8e993ece145d607b9ca67df"
      ],
      "author": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Tue Jul 23 15:05:28 2013 -0700"
      },
      "committer": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Wed Jul 31 16:55:23 2013 -0700"
      },
      "message": "Read intent firewall rules from any xml file in the ifw directory\n\nChange-Id: Ic3358c43a25d3610cfad3e00e70353258850e9a8\n"
    },
    {
      "commit": "552436d17b5e09f66926dfb33901aecd4c5d2dd2",
      "tree": "80c95ea0b6ae8d619b52d01b2bf0c2f38ba08dcc",
      "parents": [
        "af728bd201195799c8e993ece145d607b9ca67df",
        "1aef7fc81a959d9d34d92e3cb018848e0a79b2b7"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Wed Jul 31 23:27:34 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 31 23:27:34 2013 +0000"
      },
      "message": "Merge \"Fix excessive log spew.\""
    },
    {
      "commit": "1aef7fc81a959d9d34d92e3cb018848e0a79b2b7",
      "tree": "8f1404975400b6e3fe6664f11934320ef8d61f34",
      "parents": [
        "99ae1c9f08b193517ea470e9786c3906150cc867"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Wed Jul 31 15:49:04 2013 -0700"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Wed Jul 31 15:49:04 2013 -0700"
      },
      "message": "Fix excessive log spew.\n\nBug: 10115060\nChange-Id: I61fd83071da1224f38757b8d90f58c8d6c41d36b\n"
    },
    {
      "commit": "2380566debfc57eb1cc07db1306ccee23b84ddd4",
      "tree": "4d1073bd9e3c7e3d8a0408a3ee8ca0e3a0582f5b",
      "parents": [
        "3a6f25512c0a682b10961a5a7428e3393ffb0b75"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jul 31 14:19:18 2013 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jul 31 14:37:19 2013 -0700"
      },
      "message": "Notification muting conditional to exclusive audio focus request\n\nSummary of feature:\nDo not mute notifications when speech recognition recording is\n  active, but when an app has requested audio focus with\n  AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE.\n\nImplementation:\nMove definition of AUDIOFOCUS_NONE to AudioManager where other\n  audio focus codes are defined.\nAdd support for querying the current audio focus type.\nWhen audio focus is requested as GAIN_TRANSIENT_EXCLUSIVE, make\n  the corresponding loss by LOSS_TRANSIENT.\nBefore playing a notification, check whether GAIN_TRANSIENT_EXCLUSIVE\n  has been requested.\n\nBug 8251963\n\nChange-Id: I41edc77326b70639d2fdcb4642c53109995b72a8\n"
    },
    {
      "commit": "5b45f2366e97d8c937950285d4dc936fed15d00a",
      "tree": "8a172a3394c32bb8cb4a5d290d501ee4001a6d45",
      "parents": [
        "c580489cb95696ab5f3482aeb9e83f5eb7d68d87",
        "bd61ba5b22f55a70615e128310d365c6175a0a4e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 31 14:18:06 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 31 14:18:06 2013 -0700"
      },
      "message": "am bd61ba5b: am a99cb5bc: (DO NOT MERGE) Fix pub issue #58043: Copy crash in Android 4.3...\n\n* commit \u0027bd61ba5b22f55a70615e128310d365c6175a0a4e\u0027:\n  (DO NOT MERGE) Fix pub issue #58043: Copy crash in Android 4.3...\n"
    },
    {
      "commit": "a99cb5bc41d4493db84c5ee3d9123d4a99df5c53",
      "tree": "4ae782c40eaf91498ef089fb92f52473132c530c",
      "parents": [
        "38d4cfd4a19de35c2b16c0f64b26d4b9ed362ede"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jul 29 18:11:02 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 31 13:48:39 2013 -0700"
      },
      "message": "(DO NOT MERGE) Fix pub issue #58043: Copy crash in Android 4.3...\n\n...when clipboard listener attached\n\nWe need to clear the calling identity before dispatching change\nnotifications.  Also make this more robust, so that in the face\nof any failure we will clean up the broadcast state.\n\nIntegrated from master.\n\nChange-Id: I05e1f76ffd486439535631fe4062dabe94bd2ccf\n"
    },
    {
      "commit": "20f170d6af4d761fa0d73fc05549843a9988bc1f",
      "tree": "dc07fee6814d004f756a69d12c58ba4ce2d821f6",
      "parents": [
        "99ae1c9f08b193517ea470e9786c3906150cc867"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jul 31 13:01:02 2013 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jul 31 13:01:02 2013 -0700"
      },
      "message": "Don\u0027t try to do the work if there isn\u0027t any data.\n\nBug 10056484\n\nChange-Id: I527f592b0bb91bfbfff1d52c3327fe9e2ac53471\n"
    },
    {
      "commit": "9764218ff979f735aee2f1189e3547d5f3b02f83",
      "tree": "657d5e3da05c8882f23aa388fd80679b1171fae2",
      "parents": [
        "46fc6a6e3b8c16d66b4880cde59dff43ab1792db"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Mon Jul 29 17:58:39 2013 -0400"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Wed Jul 31 14:54:03 2013 -0400"
      },
      "message": "Collapse/disable shade when hiding status bar window.\n\nProvide system bar window visibility (showing/hiding) to sysui,\ninformation it did not have before.\n\nUse this new info to disable shade interaction when bars are hiding.\n\nBug: 8682123\nChange-Id: I4105b789866f847582af1c68a703240d773fa71e\n"
    },
    {
      "commit": "d1e0fae2bc5c98b1f00b185d7be7219dc7e1d0f7",
      "tree": "feef126920387019ec91d149ba91ead0ceb8b96b",
      "parents": [
        "a1510c9849d527021b9f14ed3d451bfa8d5f1506"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Jul 31 23:23:21 2013 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Aug 01 00:21:24 2013 +0900"
      },
      "message": "Add accessors for all addresses and clarify compare* methods\n\n1. Add a method to return all addresses and all LinkAddresses on\n   all links (both base links and stacked links). We already had\n   one for routes, but did not yet have any for addresses.\n2. Rename compareRoutes to compareAllRoutes, because unlike the\n   other compare* methods, it looks at all interfaces. Update\n   what appears to be its only caller.\n3. Update the documentation of the compare* methods to match\n   reality (they don\u0027t return lists) and clarify whether they\n   look at all links or only the base link.\n\nChange-Id: Ie22e6c7f163d5de8e407248b45171dc28382d2d3\n"
    },
    {
      "commit": "0766eb045c0e2ecbc4317743b025618654ddea38",
      "tree": "4299a9279f2ccf250c9e29b43b6d36433d08fa71",
      "parents": [
        "5b537bf320f22e892da1d827d54b77f558909a69"
      ],
      "author": {
        "name": "Satoshi Kataoka",
        "email": "satok@google.com",
        "time": "Wed Jul 31 18:30:13 2013 +0900"
      },
      "committer": {
        "name": "Satoshi Kataoka",
        "email": "satok@google.com",
        "time": "Wed Jul 31 18:33:48 2013 +0900"
      },
      "message": "Small refactor on InputMethodUtils\n\nChange-Id: Ie4f797508c02abb13c7fe1be162ec4dc18829925\n"
    },
    {
      "commit": "2841e0afac3782583b541dcd8dead80ad8f6e8ea",
      "tree": "322e8cbf33fc042c53b3c8faf3524427016b3d89",
      "parents": [
        "6d64d5ab84a66f98633acf740414a8848feaa14b",
        "5f221e8f93fff70f8a2e192976aac587b8c9c026"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 31 02:07:25 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 31 02:07:26 2013 +0000"
      },
      "message": "Merge \"If you set an alarm before the epoch, you\u0027re gonna have a bad time\""
    },
    {
      "commit": "5f221e8f93fff70f8a2e192976aac587b8c9c026",
      "tree": "d2cceba1c7000755de96502b1346c98d63e87f90",
      "parents": [
        "f2c89b9ed65116888f1d4a863b7c10c007a49c5d"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jul 30 17:13:15 2013 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jul 30 18:55:01 2013 -0700"
      },
      "message": "If you set an alarm before the epoch, you\u0027re gonna have a bad time\n\nFor apps build against the KLP+ SDK, this will now throw an illegal argument\nexception.  Legacy apps will simply see the alarm delivered immediately.\n\nBug 9965704\n\nChange-Id: Ia103d9529d32640098be324820fe228efa95431d\n"
    }
  ],
  "next": "85b1f883056a1d74473fd9ce774948878f389ab6"
}
