)]}'
{
  "log": [
    {
      "commit": "d64fe0f53c8f77a32cb7745a0a1c4309f9d0ba8d",
      "tree": "e033394453714c31652afcfb798b805711cb3765",
      "parents": [
        "44291d9c2722e0d22dc6f909585f4302abdce205"
      ],
      "author": {
        "name": "Niklas Brunlid",
        "email": "niklas.brunlid@sonymobile.com",
        "time": "Fri Jul 05 08:54:03 2013 +0200"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonymobile.com",
        "time": "Wed Dec 18 12:51:26 2013 +0100"
      },
      "message": "MountService listeners can not be unregistered\n\nWhen unregistering MountService listeners, their Binder proxy\nobjects were compared to registered listeners instead of their\nbacking objects.\n\nChange-Id: Ie98a686b1d17544f1eda59fb3eb0dc02d836c1b2\n"
    },
    {
      "commit": "e6585b32ea586743258a5457e2184ffc087f2d2f",
      "tree": "409f3c83c78e878a5efe2a0cc500659a27c77f38",
      "parents": [
        "584ace0d3f79ff43db9298798065dd5beaa66a45"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Dec 13 12:00:26 2013 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Dec 13 13:40:30 2013 -0800"
      },
      "message": "Use java.util.Objects instead on internal API\n\nNot needed since java.util.Objects implements all the needed\nfunctionality.\n\nChange-Id: Icd31d49a9801d1705427f028e9ac927d58e7d34c\n"
    },
    {
      "commit": "2daa0c93c4a0a9d18f4ef4486369fb8c90cd1ea2",
      "tree": "463582fb243cd98893fe7ca1ca75cda2e1ff7d11",
      "parents": [
        "6b8a3a52acf1c2722551f1ea1ce47831f87939cd",
        "64483947fdb03bf838e317ac0a4af5e0f53a5bbf"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Sat Dec 07 02:43:02 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Dec 07 02:43:04 2013 +0000"
      },
      "message": "Merge \"Add address flags and scope to LinkAddress.\""
    },
    {
      "commit": "6b8a3a52acf1c2722551f1ea1ce47831f87939cd",
      "tree": "008704a44c552591a0ebeeba627ebbfc5a3969af",
      "parents": [
        "ebcb32f58a6220802ca129ea33f47b4b69931a10",
        "f7422885a99c5d240f70c2f8227ae44abeea3e5c"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Dec 06 08:17:23 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 06 08:17:23 2013 -0800"
      },
      "message": "am f7422885: Merge \"Augment SELinuxMMAC functionality.\"\n\n* commit \u0027f7422885a99c5d240f70c2f8227ae44abeea3e5c\u0027:\n  Augment SELinuxMMAC functionality.\n"
    },
    {
      "commit": "99a626c2719e1965364fad543101799f527e28ca",
      "tree": "1371ff27a0b08401d7f844d837589f16447205ed",
      "parents": [
        "6e2d0c1d91f644ab50e0c0b7cae4306262a4ca41"
      ],
      "author": {
        "name": "Robert Craig",
        "email": "rpcraig@tycho.ncsc.mil",
        "time": "Mon Dec 02 10:24:23 2013 -0500"
      },
      "committer": {
        "name": "Robert Craig",
        "email": "rpcraig@tycho.ncsc.mil",
        "time": "Fri Dec 06 08:51:20 2013 -0500"
      },
      "message": "Augment SELinuxMMAC functionality.\n\n* No longer support a package name stanza outside of\n  a signature tag. Package names, by themselves, have\n  no security associated with them in Android and thus we\n  should not be allowing or encouraging this\n  type of policy.\n\n* Allow for nested package name stanzas inside\n  signature stanzas. There are cases where a finer\n  distinction needs to be made among apps signed with\n  the same cert. New code allows a different seinfo\n  tag to be assigned to the listed package names\n  signed by the parent cert. When a determination needs\n  to be made concerning seinfo assignments, the inner\n  seinfo tag takes precedence over the outer seinfo\n  labels which are assigned to just the signature.\n\n* Temp structures are now used to parse new policy files\n  until the entire xml file is parsed and deemed correct,\n  at which time the temp structures are copied over to the\n  permanent class structures. This ensures that any structural\n  errors with the policy will not result in partial loads.\n\n* Valid stanzas look like the following with the inner\n  package piece being optional.\n\n   \u003csigner signature\u003d\"\"\u003e\n     \u003cseinfo value\u003d\"\"/\u003e\n     \u003cpackage name\u003d\"\"\u003e\n       \u003cseinfo value\u003d\"\"/\u003e\n     \u003c/package\u003e\n   \u003csigner\u003e\n\n   \u003cdefault\u003e\n     \u003cseinfo value\u003d\"\"/\u003e\n   \u003c/default\u003e\n\nChange-Id: Ia204d71211776dcf9b2dcc86ad6d77c4ad39dc25\n"
    },
    {
      "commit": "64483947fdb03bf838e317ac0a4af5e0f53a5bbf",
      "tree": "856dbc2a83c5b1586b1127e0b3c14f6f335a30fc",
      "parents": [
        "6e2d0c1d91f644ab50e0c0b7cae4306262a4ca41"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Nov 15 18:43:52 2013 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Dec 06 13:54:35 2013 +0900"
      },
      "message": "Add address flags and scope to LinkAddress.\n\nThis is necessary so that the framework can know whether an IPv6\naddress is likely to be usable (i.e., if it\u0027s global scope and\npreferred). Also, it will simplify the address notification\nmethods in INetworkManagementEventObserver, which currently take\nthe address, the flags, and the scope as separate arguments.\n\n1. Add flags and scope to the class and update the unit test.\n   Use the IFA_F_* and RT_SCOPE_* constants defined by libcore.\n   Since most callers don\u0027t know about flags and scope, provide\n   constructors that default the flags to zero and determine the\n   scope from the address. Addresses notified by the kernel will\n   have these properly set. Make multicast addresses invalid.\n   Update the class documentation.\n2. Provide an isSameAddressAs() method that compares only the\n   address and prefix information between two LinkAddress\n   objects. This is necessary because an interface can\u0027t have\n   two addresses with the same address/prefix but different\n   flags.\n3. Update LinkProperties\u0027s addLinkAddress and removeLinkAddress\n   to identify existing addresses to add/remove using\n   isSameAddressAs instead of implicit equals(). Specifically:\n   - If addLinkAddress is called with an address that is already\n     present, the existing address\u0027s flags and scope are updated.\n     This allows, for example, an address on an interface to go\n     from preferred to deprecated when it expires, without it\n     having to be removed and re-added.\n   - If removeLinkAddress is called with an address that is\n     present but with different flags, it deletes that address\n     instead of failing to find a match.\n4. Update the INetworkManagementEventObserver address\n   notification methods to take just a LinkAddress instead of\n   LinkAddress, flags, and scope. While I\u0027m at it, change the\n   order of the arguments for consistency with the other\n   functions in the interface.\n\nChange-Id: Id8fe0f09a7e8f6bee1ea3b52102178b689a9336e\n"
    },
    {
      "commit": "ebcb32f58a6220802ca129ea33f47b4b69931a10",
      "tree": "32b57c1d6ba9180ae63979e06d7421e107a9aa6c",
      "parents": [
        "6e2d0c1d91f644ab50e0c0b7cae4306262a4ca41",
        "bac61807d3bcfff957b358cb9ad77850bd373689"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Dec 05 13:10:46 2013 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Dec 05 13:10:46 2013 -0800"
      },
      "message": "Merge commit \u0027bac61807d3bcfff957b358cb9ad77850bd373689\u0027 into HEAD\n\nChange-Id: I29374270c8e0c2f2859efaf1d55af9f73da0f8d7\n"
    },
    {
      "commit": "856df42a5a13d9aad288e6cddabde8f2f36356fb",
      "tree": "d7f87b9041a9441579c512f3de7ac6b3ee46d648",
      "parents": [
        "f226bc606af9ce5aceff6b05fc4b0200c94cb248"
      ],
      "author": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Mon Dec 02 14:38:31 2013 -0500"
      },
      "committer": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Mon Dec 02 14:38:31 2013 -0500"
      },
      "message": "Remove setEnforcingMode from SELinuxPolicyInstallReceiver.\n\nIt never worked anyhow, at least in AOSP, as nothing checks that property,\nand is pointless now that enforcing mode is set by init.\n\nChange-Id: If05dd49963c5d7081e00039b5e378032bea0939b\nSigned-off-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\n"
    },
    {
      "commit": "5ad421a3d00c92c155d57af9d1a05d81cc2fa88f",
      "tree": "68626927245cd2e5bbe42cddeff69b3199465e6a",
      "parents": [
        "9d4ac9703657142b190d3c256de7c3329e5a4b29"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Sun Nov 17 15:05:02 2013 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Nov 26 21:55:15 2013 +0900"
      },
      "message": "Use LinkAddress in address notifications.\n\nCurrently address{Updated,Removed} pass in the address as a\nstring such as \"fe80::1/64\". Use LinkAddresses instead, since\nthat\u0027s what it is.\n\nThis makes the code more robust in the unlikely case that netd\npasses in an invalid string. In the future we can move flags and\nscope into the LinkAddress itself and simplify the code further.\n\nBug: 9180552\nChange-Id: I66599f9529cf421caa7676fdd0141bb110b8589e\n"
    },
    {
      "commit": "5ae4a531cc31be2868f65c40e8636658f1ae2f06",
      "tree": "d2a5bf64fd3bb9ee4ddfa45ff44750459ead8d94",
      "parents": [
        "a9626c1c956f51e7b4cb783d70b75abc3b180a00"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Oct 31 11:59:46 2013 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Mon Nov 25 17:27:17 2013 +0900"
      },
      "message": "Pass DNS server info notifications to observers.\n\nThese are sent if the device receives IPv6 Router Advertisements\nwith DNS server configuration options. Currently, nothing listens\nto them; in a future change we will use them as IPv6 DNS servers.\n\n[Cherry-pick of 416740ad4d9132005a71dc0883334e852235a18a]\n\nBug: 9180552\nChange-Id: I05000c0cd3867a68ab390102e8470b6912a9d3aa\n"
    },
    {
      "commit": "a9626c1c956f51e7b4cb783d70b75abc3b180a00",
      "tree": "1c1bef2ecca682d5d55176b3956bf4c611febbbf",
      "parents": [
        "132fe8d27dcb45b363dff3eeb347ff2f4cf60901"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Mon Nov 04 17:44:09 2013 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Mon Nov 25 17:25:45 2013 +0900"
      },
      "message": "Minor cleanups to NetdCallbackReceiver.onEvent.\n\n- Clean up identical error messages.\n- Fix the array length check for InterfaceAddressChange.\n\n[Cherry-pick of 59be800e7fe81842aa8c77b91319f58ab165983d]\n\nBug: 9180552\nChange-Id: Id871f481445b530c3ad749725f1548df0e3a1228\n"
    },
    {
      "commit": "132fe8d27dcb45b363dff3eeb347ff2f4cf60901",
      "tree": "0e4c3338fd9e8562438f3e83f6f32c0f78aa4402",
      "parents": [
        "dbccd44a638ae8705a5b14bff8b2dd74abc26045"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Oct 31 23:30:47 2013 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Mon Nov 25 17:24:30 2013 +0900"
      },
      "message": "Use BaseNetworkObserver in Tethering.\n\nTethering currently inherits from the AIDL interface\nINetworkManagementEventObserver, so it has to provide no-op\nimplementations of all the interface\u0027s methods. Inherit from\nBaseNetworkObserver and get rid of the no-ops.\n\n[Cherry-pick of f4e90eac87bc31611ddd80c46fc924d35ce66c1c]\n\nBug: 9180552\nChange-Id: I74859b0d77951005651aaaa418185857e40eeedb\n"
    },
    {
      "commit": "dbccd44a638ae8705a5b14bff8b2dd74abc26045",
      "tree": "14bfabaf3f3c7be86dfc064e919e00433a0cf2bb",
      "parents": [
        "ecfae4f899873f224e1aeed076dc8a41f8884487",
        "b873a17ce7be0a9771c24999adca6964431728f6"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Nov 22 11:18:57 2013 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Nov 22 11:18:57 2013 -0800"
      },
      "message": "Merge commit \u0027b873a17ce7be0a9771c24999adca6964431728f6\u0027 into HEAD\n\nChange-Id: I938755073e70602cc8f51ce9bd420fdcf870cecd\n"
    },
    {
      "commit": "90192a6165f37207fa8ceb15c07aa9582327c294",
      "tree": "d5d196848916e0750723d5ef866678232d875468",
      "parents": [
        "47b260d071859a8c20bb0af2bcc095e253f7046c",
        "0495f4eded46efd7035ed672dc933ec6430b93fd"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Nov 21 08:50:05 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 21 08:50:05 2013 -0800"
      },
      "message": "am 0495f4ed: Merge \"Make SurfaceView layers captured by screenshotApplications()\"\n\n* commit \u00270495f4eded46efd7035ed672dc933ec6430b93fd\u0027:\n  Make SurfaceView layers captured by screenshotApplications()\n"
    },
    {
      "commit": "7ccba974175149b2afa1665fbdbd8c4b7c5ccb3c",
      "tree": "41e9040d63a8368cbdb876086249e2fb7af908a4",
      "parents": [
        "572b759a41fd490fd21b5831dd8b8434b7fd5df8"
      ],
      "author": {
        "name": "Sangkyu Lee",
        "email": "sk82.lee@lge.com",
        "time": "Thu Nov 21 15:20:33 2013 +0900"
      },
      "committer": {
        "name": "Sangkyu Lee",
        "email": "sk82.lee@lge.com",
        "time": "Thu Nov 21 15:20:33 2013 +0900"
      },
      "message": "Make SurfaceView layers captured by screenshotApplications()\n\nSince SurfaceView layers are located below application layers,\nSurfaceView is not captured by screenshotApplications()\nwhen the application is running in fullscreen.\n\nMoreover, ws.isFullscreen(dw, dh) returns mostly true\non the devices which do not use the navigation bar.\n\nChange-Id: Ia1036c79054950384a97504714929fd85c8147de\nSigned-off-by: Sangkyu Lee \u003csk82.lee@lge.com\u003e\n"
    },
    {
      "commit": "bac61807d3bcfff957b358cb9ad77850bd373689",
      "tree": "eb46493a44c43af830d5842eb1a2fd32279bd33b",
      "parents": [
        "32962b3e2c1968fbd83ebbf4cc94ab3dd8de3485",
        "1abead425c0e862e316e17521833a33d22e7a850"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 18 13:32:42 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 18 13:32:42 2013 -0800"
      },
      "message": "am 1abead42: am 245408d2: Merge \"Do not hold direct ref BatteryStatsImpl\" into klp-dev\n\n* commit \u00271abead425c0e862e316e17521833a33d22e7a850\u0027:\n  Do not hold direct ref BatteryStatsImpl$Uid$Proc\n"
    },
    {
      "commit": "245408d29018fee4b1231e52f5da1edcc3283c4a",
      "tree": "a679a23ee7ab71d8e14aac8edcc99cb08defc408",
      "parents": [
        "afc76f28b93f931069bb58c4f9b524d5a99b1604",
        "2cd3fb5aa71cd32cd67ddfaafaca8f85a7ac13c6"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 18 21:26:32 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 18 21:26:32 2013 +0000"
      },
      "message": "Merge \"Do not hold direct ref BatteryStatsImpl$Uid$Proc\" into klp-dev"
    },
    {
      "commit": "32962b3e2c1968fbd83ebbf4cc94ab3dd8de3485",
      "tree": "dff1423df7eb4a8912f7a9079d72d8e9e4e8e38c",
      "parents": [
        "1dc93acf3a4a7cf9ede43e5d2d03fc5c7ff8071e",
        "c65dfef3f5ee07883446be0e6907f15fe457da9d"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Mon Nov 18 12:56:25 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 18 12:56:25 2013 -0800"
      },
      "message": "am c65dfef3: am afc76f28: Merge \"Use scaled display size in wallpaper constraint.\" into klp-dev\n\n* commit \u0027c65dfef3f5ee07883446be0e6907f15fe457da9d\u0027:\n  Use scaled display size in wallpaper constraint.\n"
    },
    {
      "commit": "afc76f28b93f931069bb58c4f9b524d5a99b1604",
      "tree": "f16ff343a0e8ecebc19b13fed1cb0d9708a8147d",
      "parents": [
        "35fb6cdf14549dac07585ae791b27e2c069bf176",
        "d6e836c4a0ebf3af571c46986d324c1bd599ba95"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Mon Nov 18 20:49:16 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 18 20:49:16 2013 +0000"
      },
      "message": "Merge \"Use scaled display size in wallpaper constraint.\" into klp-dev"
    },
    {
      "commit": "2cd3fb5aa71cd32cd67ddfaafaca8f85a7ac13c6",
      "tree": "11d46ef291ddc977829e3837011afe6edc5dbab3",
      "parents": [
        "2229ca031a326491feea5832e5337e9f8a602dca"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 18 12:23:26 2013 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 18 12:29:34 2013 -0800"
      },
      "message": "Do not hold direct ref BatteryStatsImpl$Uid$Proc\n\nBatteryStatsImpl can reset its collected data, including\nremoving a BatteryStatsImpl$Uid$Proc object. If a ProcessRecord\nhas a direct reference, then the battery stats for a process\nwill be recorded in an old Proc object and prevent GC, causing\na memory leak.\n\nbug:11087238\nChange-Id: I19a9cd9d8361c10446a8ebdd5c0860b56c442209\n"
    },
    {
      "commit": "d6e836c4a0ebf3af571c46986d324c1bd599ba95",
      "tree": "c92fc279444cb34ea9ddf834b3450b845d178614",
      "parents": [
        "564fb1b8ce4aa603bd0d5b3a077ba27d66e77c32"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Mon Nov 18 14:14:49 2013 -0500"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Mon Nov 18 14:14:49 2013 -0500"
      },
      "message": "Use scaled display size in wallpaper constraint.\n\nBug:11596190\nChange-Id: Icc81beeea2e71144c2e5330b047e4781a23d7449\n"
    },
    {
      "commit": "51213d943b3931434cbd196a8a159ee325a4e3fc",
      "tree": "7d846b53aaa51be4d2d815c15f3dfd4e0a062b46",
      "parents": [
        "5b95025059f0925ad8d11bf503eb2acb4cc63228",
        "a8a448da25c62f54cac3318c17c69e851a4ecde9"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Nov 18 10:33:46 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 18 10:33:46 2013 -0800"
      },
      "message": "am a8a448da: am e568672c: Merge \"Fix NPE in ConnectivityService\" into klp-dev\n\n* commit \u0027a8a448da25c62f54cac3318c17c69e851a4ecde9\u0027:\n  Fix NPE in ConnectivityService\n"
    },
    {
      "commit": "a8dae99d76903afd40664ae96dc5cc0b135dc930",
      "tree": "55170edf734e96baebaedf8b0682a0fe6ffc01f6",
      "parents": [
        "564fb1b8ce4aa603bd0d5b3a077ba27d66e77c32"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Nov 18 09:43:59 2013 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Nov 18 09:43:59 2013 -0800"
      },
      "message": "Fix NPE in ConnectivityService\n\nbug:11727708\nChange-Id: Ia8ca9d1e23f021feaf4b772ec38d1d0e89b0cd2a\n"
    },
    {
      "commit": "427dcdffc2a61c2eb2760337771be05d14beb0a1",
      "tree": "476eeb232246dcf0c39b5689dea8717c6c3e9fde",
      "parents": [
        "1e5af1bcfa3d6d3047a1b60b7abfeab6f3e9d81a",
        "0324bb1a9972ec766b65d4b47b9688588633967b"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Nov 15 15:26:03 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 15 15:26:03 2013 -0800"
      },
      "message": "am 0324bb1a: am 23188c2b: Merge \"Restore jankless transition keyguard-to-wallpaper\" into klp-dev\n\n* commit \u00270324bb1a9972ec766b65d4b47b9688588633967b\u0027:\n  Restore jankless transition keyguard-to-wallpaper\n"
    },
    {
      "commit": "de43ebe86a26aabee51409472a59ec0c080c2052",
      "tree": "0919e5585aadcf2c66bbe4aadba673c7294d8fb7",
      "parents": [
        "3de885bef2f0f85ea76fd96c8f18cdd743ce66a4"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Nov 15 14:15:43 2013 -0800"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Nov 15 14:15:43 2013 -0800"
      },
      "message": "Restore jankless transition keyguard-to-wallpaper\n\nThere is still a flash of black when going to a non-wallpaper activity\nfrom keyguard. This is not a regression from jb-mr2 and any fixes to\nclean it up are too risky at this late date.\n\nFixes (partially) bug 11570753.\n\nChange-Id: I17aaae4ab8be570f7e28276a7b8ac4b8685e7551\n"
    },
    {
      "commit": "2ea480cac89460ee2524cd080e90f6240e8eebf5",
      "tree": "819e7a2456acd7b6b851efd97361023b168c1562",
      "parents": [
        "2b9f9186fa4b4e336f9d889b66da757c985c2f04",
        "5d0b18cddfcb933d7960c5a6a820045d77a0285c"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Nov 15 00:39:57 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 15 00:39:57 2013 -0800"
      },
      "message": "am 5d0b18cd: am 3de885be: Merge \"Disallow applications from initiating cast screen.\" into klp-dev\n\n* commit \u00275d0b18cddfcb933d7960c5a6a820045d77a0285c\u0027:\n  Disallow applications from initiating cast screen.\n"
    },
    {
      "commit": "3de885bef2f0f85ea76fd96c8f18cdd743ce66a4",
      "tree": "c104583897d8b7ca33826b1b1172df764d7d617e",
      "parents": [
        "2785892dbf6c53b7e1a08596969bfcdf0148c8e9",
        "af574183c274f51d04487a9c8355e9f34a1150f2"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Nov 15 08:35:50 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 15 08:35:50 2013 +0000"
      },
      "message": "Merge \"Disallow applications from initiating cast screen.\" into klp-dev"
    },
    {
      "commit": "af574183c274f51d04487a9c8355e9f34a1150f2",
      "tree": "c325b02a379f86bc9d8eb42b0bb5d8b700cc80bb",
      "parents": [
        "1907c0d280d97776708810c9d24931aa6f818790"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Nov 14 18:16:08 2013 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Nov 15 00:29:43 2013 -0800"
      },
      "message": "Disallow applications from initiating cast screen.\n\nOnly allow the system ui and settings to connect to a remote display.\nTo do this, we essentially hide the remote displays from applications\nby using the ROUTE_TYPE_REMOTE_DISPLAY then add permission checks\naround the operations that connect to them.\n\nAs a bonus, this may actually save power on devices since applications\nthat use MediaRouter will not longer be performing discover on\nremote display routes at all.\n\nBug: 11257292\nChange-Id: I9ea8c568df4df5a0f0cf3d0f11b39c87e2110795\n"
    },
    {
      "commit": "461febadc44190bf19e870a0bc1a706ec3667212",
      "tree": "79db72b35fad356edbc1ae8435d8934b19c2fb61",
      "parents": [
        "fa0211adc3a8bcc988f5a886e71aab1459f7435e",
        "64397749effa088dcea3799fc8440845c5a1c193"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Nov 14 18:41:02 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 14 18:41:02 2013 -0800"
      },
      "message": "am 64397749: am 22010817: Merge \"Handle backup transport registration dynamically\" into klp-dev\n\n* commit \u002764397749effa088dcea3799fc8440845c5a1c193\u0027:\n  Handle backup transport registration dynamically\n"
    },
    {
      "commit": "22010817b90f97756a76777fcd1dbe7e3b63e808",
      "tree": "2eead3fac5e069223774cd730665eb77fd3edd24",
      "parents": [
        "1907c0d280d97776708810c9d24931aa6f818790",
        "cefba58d14f9669b57c16b4ea493779d882c43bd"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Nov 15 02:34:37 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 15 02:34:38 2013 +0000"
      },
      "message": "Merge \"Handle backup transport registration dynamically\" into klp-dev"
    },
    {
      "commit": "cefba58d14f9669b57c16b4ea493779d882c43bd",
      "tree": "a8b0799b5c642b0a4e671c3da6be477003ae51ac",
      "parents": [
        "a951fa56f1855cd0337bddacc01e35868c6d66d6"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Nov 14 18:10:35 2013 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Nov 14 18:13:25 2013 -0800"
      },
      "message": "Handle backup transport registration dynamically\n\nBug 11369873\n\nChange-Id: I9bbdcc21ce25159c6645690123b5d03c553b0ddc\n"
    },
    {
      "commit": "a5acd62bdefe5b616c0ea080434e9dd221169527",
      "tree": "7e6ff24a50b1dd5a286b142e6aef621712533efe",
      "parents": [
        "8e9b5fc93278084487fd98726c6e20333d675c40",
        "6e5cf573f2f2e17825af2973daeba893c6aa5855"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Nov 14 15:44:40 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 14 15:44:40 2013 -0800"
      },
      "message": "am 6e5cf573: am 99437f25: Merge \"Ensure recipient can be launched before attempting broadcast delivery\" into klp-dev\n\n* commit \u00276e5cf573f2f2e17825af2973daeba893c6aa5855\u0027:\n  Ensure recipient can be launched before attempting broadcast delivery\n"
    },
    {
      "commit": "8e9b5fc93278084487fd98726c6e20333d675c40",
      "tree": "d1d7059dcbd2b6bc31d9d000f3ba50e6097af9f7",
      "parents": [
        "0dcddb447c97d5220d21315de428079dada9bdcb",
        "59bf3be7d1cd7311cf60ead6872f33433a097bd1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 14 15:44:36 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 14 15:44:36 2013 -0800"
      },
      "message": "am 59bf3be7: am 2e3ede74: Merge \"Maybe fix issue #11634365: Leaking restarting services\" into klp-dev\n\n* commit \u002759bf3be7d1cd7311cf60ead6872f33433a097bd1\u0027:\n  Maybe fix issue #11634365: Leaking restarting services\n"
    },
    {
      "commit": "99437f252b728f4946940f232c4b73b9dda76cfb",
      "tree": "16fc09f101e0dfa8da5d792f1bc756b43b207a34",
      "parents": [
        "2e3ede74978d14f7bd853c3228864280d99a438e",
        "ba629da331d01d74067afdda5d4255682d4b24d7"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Nov 14 22:59:20 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 14 22:59:20 2013 +0000"
      },
      "message": "Merge \"Ensure recipient can be launched before attempting broadcast delivery\" into klp-dev"
    },
    {
      "commit": "2e3ede74978d14f7bd853c3228864280d99a438e",
      "tree": "f17c652a881db1719749d59f088601f024bc712f",
      "parents": [
        "2a96fc1f516f7ac7fcbf5bd8c8c4fe8c7b2a8a7f",
        "ddc19e98476eec54da83b7386602443ed4aa195e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 14 22:56:14 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 14 22:56:14 2013 +0000"
      },
      "message": "Merge \"Maybe fix issue #11634365: Leaking restarting services\" into klp-dev"
    },
    {
      "commit": "ddc19e98476eec54da83b7386602443ed4aa195e",
      "tree": "578b150f185b3f03ec834fe715858562b9a17c9e",
      "parents": [
        "d6f5b629216a2566883ccc6f2506fee198b07f99"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 14 14:32:17 2013 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 14 14:32:17 2013 -0800"
      },
      "message": "Maybe fix issue #11634365: Leaking restarting services\n\nIt looks like we could add services to the restart list because\nthey end up left in the process\u0027s list of running services after\nthey have been removed from the main activity list, and we can\ntrip up on them there when the app is being force stopped.\n\nChange-Id: I79805b67fcf5b593430dc5c856c97927e1a54a57\n"
    },
    {
      "commit": "ba629da331d01d74067afdda5d4255682d4b24d7",
      "tree": "9c1044d486111af341585ca377e0877880e6aa88",
      "parents": [
        "a951fa56f1855cd0337bddacc01e35868c6d66d6"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Nov 13 17:42:28 2013 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Nov 14 12:37:31 2013 -0800"
      },
      "message": "Ensure recipient can be launched before attempting broadcast delivery\n\nUser removal or eviction inherently races with broadcast delivery.  This\npatch introduces a latest-possible recheck of the availbility of the\ntarget application before attempting to send it a broadcast.\n\nOnce the process has actually been spun up the system is essentially\ncommitted to presenting it as a running application, and there is no\nlater check of the availability of the app: the failure mode for\ncontinuing to attempt delivery is a crash *in the app process*,\nand is user-visible.\n\nWe now check the app+userid existence of the intended recipient\njust prior to committing to launch its process for receipt, and\nif it is no longer available we simply skip that receiver and\ncontinue normally.\n\nBug 11652784\nBug 11272019\nBug 8263020\n\nChange-Id: Ib19ba2af493250890db7371c1a9f853772db1af0\n"
    },
    {
      "commit": "72402f9de7b108d77316e3c93399b07a2f98c42a",
      "tree": "71915600b082d30618247ea43e5143bbff7218b4",
      "parents": [
        "d1b0af82855528c531a35d28d3c65d7a94f2228c",
        "09d8e3cf4e411b016ee65d8328dd7a443c9de0ff"
      ],
      "author": {
        "name": "Matthew Williams",
        "email": "mjwilliams@google.com",
        "time": "Thu Nov 14 09:27:26 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 14 09:27:26 2013 -0800"
      },
      "message": "am 09d8e3cf: am c68bb182: Merge \"SyncManager now returns copy on getCurrentSyncs()\" into klp-dev\n\n* commit \u002709d8e3cf4e411b016ee65d8328dd7a443c9de0ff\u0027:\n  SyncManager now returns copy on getCurrentSyncs()\n"
    },
    {
      "commit": "c68bb18244aa12d19bea9f9d59f2fe0d81478904",
      "tree": "4001380e058d54c1ce0bc380800a8f4f96024bc1",
      "parents": [
        "5fd5aa3d066fc12c92b5b6541d85ac243556223f",
        "a7456e46f4cb64524386b22e2596ea93c244c16f"
      ],
      "author": {
        "name": "Matthew Williams",
        "email": "mjwilliams@google.com",
        "time": "Thu Nov 14 17:18:58 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 14 17:18:58 2013 +0000"
      },
      "message": "Merge \"SyncManager now returns copy on getCurrentSyncs()\" into klp-dev"
    },
    {
      "commit": "a7456e46f4cb64524386b22e2596ea93c244c16f",
      "tree": "d9aabcce03de71591a2c0ab50447bd9eeb4a9cb8",
      "parents": [
        "c641de017ae0b15bbc13f43fd14fca6b1523ec02"
      ],
      "author": {
        "name": "Matthew Williams",
        "email": "mjwilliams@google.com",
        "time": "Tue Nov 12 14:41:02 2013 -0800"
      },
      "committer": {
        "name": "Matthew Williams",
        "email": "mjwilliams@google.com",
        "time": "Wed Nov 13 18:17:54 2013 -0800"
      },
      "message": "SyncManager now returns copy on getCurrentSyncs()\n\nBug:11559103\nAdded a new getCurrentSyncsCopy() that is public. The other version\nis needed for internal SSE calls.\n\nChange-Id: I0287f039a6f75abf04b65b85cb30f78353aeef4f\n"
    },
    {
      "commit": "7fdfe28c75e103b8a66b559dcb813576fbbf2eb5",
      "tree": "26efd6a084a27dcc41e7e0781955072a932cf28e",
      "parents": [
        "1fbb5da29a4ebef1d758dffad9c2704a5932d223",
        "4c514f2a688bdae319c919987092ccfee690f390"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Nov 13 16:29:12 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 13 16:29:12 2013 -0800"
      },
      "message": "am 4c514f2a: am 594eeb08: Merge \"Fix for the invalid Global Proxy Setting\" into klp-dev\n\n* commit \u00274c514f2a688bdae319c919987092ccfee690f390\u0027:\n  Fix for the invalid Global Proxy Setting\n"
    },
    {
      "commit": "ec9e8933effe1dcb6887f7dca1cc0d78e6107e38",
      "tree": "5a7fcd4cbff9b2aae93d4223ffb43e3585f88869",
      "parents": [
        "84f4ad807152b6266431144425f153c48db28696",
        "3b9244b4b4d5008daa9763a169a751975c75cc54"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Nov 13 16:27:56 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 13 16:27:56 2013 -0800"
      },
      "message": "am 3b9244b4: Merge \"Fix for the invalid Global Proxy Setting\"\n\n* commit \u00273b9244b4b4d5008daa9763a169a751975c75cc54\u0027:\n  Fix for the invalid Global Proxy Setting\n"
    },
    {
      "commit": "1fbb5da29a4ebef1d758dffad9c2704a5932d223",
      "tree": "24d93cf8324d3e4a263a67778d1727d306263005",
      "parents": [
        "3857dbe11c723795e9456e5934ca3a4a3513e4b7",
        "29bbd570fe36c55321a3cd9d84330dea9d2f1e10"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Nov 13 16:23:38 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 13 16:23:38 2013 -0800"
      },
      "message": "am 29bbd570: am 1f0f9fa9: Merge \"Add null pointer check.\" into klp-dev\n\n* commit \u002729bbd570fe36c55321a3cd9d84330dea9d2f1e10\u0027:\n  Add null pointer check.\n"
    },
    {
      "commit": "3b9244b4b4d5008daa9763a169a751975c75cc54",
      "tree": "14e80a10fbbc0b17ec5a027eda39c4e42b80ed50",
      "parents": [
        "87c5eeb48b1a0c498eae9bd2877fb33678d90b8a",
        "f89fade0cd23764167e31eecaf4173c340189cb9"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Nov 14 00:23:04 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 14 00:23:04 2013 +0000"
      },
      "message": "Merge \"Fix for the invalid Global Proxy Setting\""
    },
    {
      "commit": "594eeb082e548617ff5092496888c43457593c2b",
      "tree": "2c7db390e9689975fd57157c327f4cea7ef6a06b",
      "parents": [
        "1f0f9fa94913198cd79b8d350cf9e8df8001daeb",
        "92d02491aded7ca233fd52d586cc0b0bda4521cf"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Nov 14 00:22:46 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 14 00:22:46 2013 +0000"
      },
      "message": "Merge \"Fix for the invalid Global Proxy Setting\" into klp-dev"
    },
    {
      "commit": "1f0f9fa94913198cd79b8d350cf9e8df8001daeb",
      "tree": "15ac9a47f1a7a05043ec43847e9bdeae5967d62b",
      "parents": [
        "a951fa56f1855cd0337bddacc01e35868c6d66d6",
        "ada62fca51d314cefe2c5da4e007df5b9abf320d"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Nov 14 00:15:55 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 14 00:15:55 2013 +0000"
      },
      "message": "Merge \"Add null pointer check.\" into klp-dev"
    },
    {
      "commit": "92d02491aded7ca233fd52d586cc0b0bda4521cf",
      "tree": "c876817adb28c781f7736ccc17d36e1c12fc7b8a",
      "parents": [
        "a951fa56f1855cd0337bddacc01e35868c6d66d6"
      ],
      "author": {
        "name": "Raj Mamadgi",
        "email": "rmamadgi@sta.samsung.com",
        "time": "Mon Nov 11 13:52:58 2013 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Nov 14 00:08:21 2013 +0000"
      },
      "message": "Fix for the invalid Global Proxy Setting\n\nAdding validation for Global Proxy setting before it is\nbeing set.\n\nProxy is validated at the boot time also to make sure\nthe value set is valid.\n\nSigned-off-by: Raj Mamadgi \u003crmamadgi@sta.samsung.com\u003e\nbug:11598568\n\nChange-Id: Idff5ae81119d8143da096b5291ecbfbc5875cbd4\n"
    },
    {
      "commit": "f4703da89b220f94b3ed1cf3dd24466e47ba5d85",
      "tree": "1d790a39f67cde08a5028969344e3bd7f93c097b",
      "parents": [
        "d5cb5d0fea49491d3f5ff6a757574d7be82dcf50",
        "ef1dd26ee7b4d8a6ec854bd0b5b9557d67b554f5"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Nov 13 15:18:47 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 13 15:18:47 2013 -0800"
      },
      "message": "am ef1dd26e: am 0e823a45: Merge \"Keyguard isn\\\u0027t visible if it hasn\\\u0027t been drawn.\" into klp-dev\n\n* commit \u0027ef1dd26ee7b4d8a6ec854bd0b5b9557d67b554f5\u0027:\n  Keyguard isn\u0027t visible if it hasn\u0027t been drawn.\n"
    },
    {
      "commit": "0e823a450a729a753fb8e0618474b6ae3cf3b810",
      "tree": "808bf2d549b305588f4be840aa32b91d7e8c875e",
      "parents": [
        "dc0acc6f5d4cc8e4ed6d2a13793030350cd6262d",
        "5c7bd017058ff073b73e96726aa44c4a113f453f"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Nov 13 23:11:12 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 13 23:11:12 2013 +0000"
      },
      "message": "Merge \"Keyguard isn\u0027t visible if it hasn\u0027t been drawn.\" into klp-dev"
    },
    {
      "commit": "ada62fca51d314cefe2c5da4e007df5b9abf320d",
      "tree": "f0dcd5cfe1e3eb0e10273069768213975d0db312",
      "parents": [
        "48dab493b927f4a71687ccd557084ccee195de73"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Nov 13 15:06:15 2013 -0800"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Nov 13 15:09:55 2013 -0800"
      },
      "message": "Add null pointer check.\n\nFixes bug 11673948.\n\nChange-Id: I60b590b9793ae1b8d5c3d343f4bb6cb40ba4a092\n"
    },
    {
      "commit": "5c7bd017058ff073b73e96726aa44c4a113f453f",
      "tree": "57118a4d74eb5e14b8986e75b2cca2aaf6341439",
      "parents": [
        "48dab493b927f4a71687ccd557084ccee195de73"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Nov 13 13:09:35 2013 -0800"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Nov 13 13:09:35 2013 -0800"
      },
      "message": "Keyguard isn\u0027t visible if it hasn\u0027t been drawn.\n\nReduces jank in multiuser lock from QuickSettings. The launcher and\nwallpaper were being hidden as soon as the surface for the keyguard\nwas created. Now they are not hidden until the keyguard has been\ndrawn. This still leaves a short time where there is a black screen\nbut it is considerably shorter than it was. Comparable to jb now.\n\nFixes bug 11046339.\n\nChange-Id: I349d95dba72da27e5c05a7a64c95a2774d17a34e\n"
    },
    {
      "commit": "87b84ca6fc5070f2fbbb5f6d94863680b33d188b",
      "tree": "80f2e08a1bed79982af02a1fd13a3dd176cccc22",
      "parents": [
        "086034117d9214de6339a29b93412276eb00afea",
        "e995ad1559ac12a0ac5e2e56ce378b0b29f10f24"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Nov 13 12:14:29 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 13 12:14:29 2013 -0800"
      },
      "message": "am e995ad15: am 0b2c2b10: Merge \"Support preferred activities with zero or one scheme in the filter\" into klp-dev\n\n* commit \u0027e995ad1559ac12a0ac5e2e56ce378b0b29f10f24\u0027:\n  Support preferred activities with zero or one scheme in the filter\n"
    },
    {
      "commit": "c4f535bddac2491aa0e354a609fcbf7c49276295",
      "tree": "a734b89a074fc6741e70793518629ab04f0f150f",
      "parents": [
        "955b575dd94370f618f6b6424d60c1aa9dc34c14",
        "299e011ebd7ce9593c203ecfc9f5eed45360a5ed"
      ],
      "author": {
        "name": "John Huang",
        "email": "jsh@google.com",
        "time": "Wed Nov 13 12:14:16 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 13 12:14:16 2013 -0800"
      },
      "message": "am 299e011e: am 54ca9066: Merge \"Get rid of a race in NsdService in stopResolveService and getAddrInfo\" into klp-dev\n\n* commit \u0027299e011ebd7ce9593c203ecfc9f5eed45360a5ed\u0027:\n  Get rid of a race in NsdService in stopResolveService and getAddrInfo\n"
    },
    {
      "commit": "0b2c2b10053afd7a525dbf8a4eb0f0aaf98739b3",
      "tree": "65c5ea096baece4ff474db4e6095b7bb71c3e484",
      "parents": [
        "31f7c912f0b6a2cfa2ea0f0b3a9022e8323f5542",
        "087044c902e693dd2b7b267163f4d9f892592a67"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Nov 13 19:33:46 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 13 19:33:46 2013 +0000"
      },
      "message": "Merge \"Support preferred activities with zero or one scheme in the filter\" into klp-dev"
    },
    {
      "commit": "54ca906604c2ff0a58274e5d1b66cdba4df8c3d8",
      "tree": "b0471ba448dccf28976ce3fbee6e1c801eca26c6",
      "parents": [
        "41b92b008e03be95db938e0238ccb9373c2aaadc",
        "4038724a536c990859866489195add7ed537006b"
      ],
      "author": {
        "name": "John Huang",
        "email": "jsh@google.com",
        "time": "Wed Nov 13 19:13:59 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 13 19:14:00 2013 +0000"
      },
      "message": "Merge \"Get rid of a race in NsdService in stopResolveService and getAddrInfo\" into klp-dev"
    },
    {
      "commit": "955b575dd94370f618f6b6424d60c1aa9dc34c14",
      "tree": "74938fa7ab768e2d47302fa1e5906e82206fdc8c",
      "parents": [
        "d24bf4ab07693e910410cffb745e83bc572fd339",
        "6eddb39c857b178672218a345a276c4304e7ad37"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Nov 13 10:27:46 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 13 10:27:46 2013 -0800"
      },
      "message": "am 6eddb39c: am 18490abd: Merge \"Fix NPE in ConnectivityService\"\n\n* commit \u00276eddb39c857b178672218a345a276c4304e7ad37\u0027:\n  Fix NPE in ConnectivityService\n"
    },
    {
      "commit": "6eddb39c857b178672218a345a276c4304e7ad37",
      "tree": "db20fbbe123bccd81d42d61734c6cc2a0cdf9d99",
      "parents": [
        "221080078a36f4b30fe6edc8c91f339a5b84ed83",
        "18490abd9bcb401f0d75a314056fb2a44dd61f07"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Nov 13 10:25:30 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 13 10:25:30 2013 -0800"
      },
      "message": "am 18490abd: Merge \"Fix NPE in ConnectivityService\"\n\n* commit \u002718490abd9bcb401f0d75a314056fb2a44dd61f07\u0027:\n  Fix NPE in ConnectivityService\n"
    },
    {
      "commit": "e5ae0bfdf7933d7ea8bec94f0c7e25347c423710",
      "tree": "ba468d62eec515df41aafe4c9be85dbb443d6214",
      "parents": [
        "e86ab5e1d34beb6706589f0ce316c0cfa0053ee4",
        "a20f625cc1006b03d4a2be90ba35d1a9783ad363"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Nov 13 08:58:53 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 13 08:58:53 2013 -0800"
      },
      "message": "am a20f625c: am 41b92b00: Merge \"Finalize assets for screen casting.\" into klp-dev\n\n* commit \u0027a20f625cc1006b03d4a2be90ba35d1a9783ad363\u0027:\n  Finalize assets for screen casting.\n"
    },
    {
      "commit": "41b92b008e03be95db938e0238ccb9373c2aaadc",
      "tree": "89377fe52633b69366da4960319a488a6872ffa1",
      "parents": [
        "7d667ee2de2c6add257466d9648024d7e8402926",
        "e7ae644522f692c204d0233f91e77c7841bdfe53"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Nov 13 16:51:53 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 13 16:51:53 2013 +0000"
      },
      "message": "Merge \"Finalize assets for screen casting.\" into klp-dev"
    },
    {
      "commit": "e86ab5e1d34beb6706589f0ce316c0cfa0053ee4",
      "tree": "de51d8860ffe0a9796ef7f09eea3d9b83714fbbf",
      "parents": [
        "f7400aa1da0b3604dbb5fc1bf4b4242a8e65e860",
        "79033da8e42ba6ccf096bf10dea1e51873f7d402"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Wed Nov 13 08:50:07 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 13 08:50:07 2013 -0800"
      },
      "message": "am 79033da8: am 7d667ee2: Merge \"Ensure wallpaper hint is at least as large as the display.\" into klp-dev\n\n* commit \u002779033da8e42ba6ccf096bf10dea1e51873f7d402\u0027:\n  Ensure wallpaper hint is at least as large as the display.\n"
    },
    {
      "commit": "7d667ee2de2c6add257466d9648024d7e8402926",
      "tree": "bed22f17b93567df2d4a0e07e0c480c2bd808e97",
      "parents": [
        "78cfdf31b7c48589ea3a148ec1d6d573235bc06b",
        "41f6464b3f247c6ee0828e1b1aa3300e56e8cabb"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Wed Nov 13 16:41:43 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 13 16:41:44 2013 +0000"
      },
      "message": "Merge \"Ensure wallpaper hint is at least as large as the display.\" into klp-dev"
    },
    {
      "commit": "e7ae644522f692c204d0233f91e77c7841bdfe53",
      "tree": "62576b08cf67d11e70b9359f2fdcdb84536c46dc",
      "parents": [
        "218ecd43946001f07b60757db130ef5585d474d3"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Nov 13 00:45:18 2013 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Nov 13 02:17:53 2013 -0800"
      },
      "message": "Finalize assets for screen casting.\n\nExtend wifi display connection timeout.\n\nShow a notification while connecting to wifi display.\n\nEnsure that remote display providers are really trusted before\nconnecting to them.\n\nBug: 11257292\nChange-Id: Iad0caaa30d7946df818bc75ade071f2e377f8a53\n"
    },
    {
      "commit": "151d3032eb81337b0b876b0a43c6faefe54e516a",
      "tree": "ebdfdca8200fd0eaa86d38ab3ebf528697788ff5",
      "parents": [
        "0b807d2e74f786af0d44162d92cc0bf85883349a"
      ],
      "author": {
        "name": "Ken Mixter",
        "email": "kmixter@google.com",
        "time": "Thu Nov 07 22:08:24 2013 -0800"
      },
      "committer": {
        "name": "Ken Mixter",
        "email": "kmixter@google.com",
        "time": "Tue Nov 12 22:17:46 2013 -0800"
      },
      "message": "Fix NPE in ConnectivityService\n\nCould occur when requestRouteToHostAddress is called on a network\nwith no associated tracker.  Code later in the method handles\nthis case gracefully but code introduced in JB throws an exception.\n\nChange-Id: I6c8a0e313ecbcca120aeb5dd0802a72114749aa1\n"
    },
    {
      "commit": "f89fade0cd23764167e31eecaf4173c340189cb9",
      "tree": "8b01fe24ef03dbc5a2137b1d83803cf93af43567",
      "parents": [
        "01e42c0be27f492a7325141f509755aa064923f3"
      ],
      "author": {
        "name": "Raj Mamadgi",
        "email": "rmamadgi@sta.samsung.com",
        "time": "Mon Nov 11 13:52:58 2013 -0800"
      },
      "committer": {
        "name": "Ankit Somani",
        "email": "a.somani@sta.samsung.com",
        "time": "Tue Nov 12 21:14:02 2013 -0500"
      },
      "message": "Fix for the invalid Global Proxy Setting\n\nb/11598568\n\nAdding validation for Global Proxy setting before it is\nbeing set.\n\nProxy is validated at the boot time also to make sure\nthe value set is valid.\n\nChange-Id: Ib93d24a80af1a329694f07c47bd81dfcc1e1b874\nSigned-off-by: Raj Mamadgi \u003crmamadgi@sta.samsung.com\u003e\n"
    },
    {
      "commit": "bf581034f9771fd67ea796e91ce28787c33fbb82",
      "tree": "928911711d01348edfa3ef9416ac35be67ebe689",
      "parents": [
        "69689fc9e66c3a3c3a7e0faf219a4da82d344cba",
        "679ba4e86e4fecb6dbfe48d6c49205c32f995a1c"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Nov 12 16:00:54 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 12 16:00:54 2013 -0800"
      },
      "message": "am 679ba4e8: am 6cd206b2: Merge \"Relayout windows that handle their own config change.\" into klp-dev\n\n* commit \u0027679ba4e86e4fecb6dbfe48d6c49205c32f995a1c\u0027:\n  Relayout windows that handle their own config change.\n"
    },
    {
      "commit": "6cd206b2aa0039c215fc0a4cc487471c4b3f1496",
      "tree": "d3957bdae0c258a8beedc83601067d0085f2c8f2",
      "parents": [
        "48dab493b927f4a71687ccd557084ccee195de73",
        "5d9f547720e07a2715d34320a9e11004654cede6"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Nov 12 23:56:21 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 12 23:56:21 2013 +0000"
      },
      "message": "Merge \"Relayout windows that handle their own config change.\" into klp-dev"
    },
    {
      "commit": "4038724a536c990859866489195add7ed537006b",
      "tree": "bf1d2b0aa115f2a182e821294f9423bc5bb4f332",
      "parents": [
        "105b9b05041ea6f1109d961d548f3dde2bd69501"
      ],
      "author": {
        "name": "Vinit Deshapnde",
        "email": "vinitd@google.com",
        "time": "Tue Nov 12 15:36:37 2013 -0800"
      },
      "committer": {
        "name": "Vinit Deshapnde",
        "email": "vinitd@google.com",
        "time": "Tue Nov 12 15:36:37 2013 -0800"
      },
      "message": "Get rid of a race in NsdService in stopResolveService and getAddrInfo\n\nBoth requests are made using same id; and there is a chance that\nstopResolve() is not fully completed when getAddrInfo() is issued. That\nresults getAddrInfo() failure, because both are using same requestId.\n\nThis change fixes this problem by creating a new unique id to call\ngetAddrInfo() with.\n\nBug: 11597153\nChange-Id: I56bd78740e8a40bd31c52705dc797486aff53a50\n"
    },
    {
      "commit": "8a71cdaeb159af1bf851264c8ad5d037a705bcfa",
      "tree": "d3cdaa2fc5bc20b1180fcdd5c17f0c5a787b802c",
      "parents": [
        "1d64812a35350692e0a770dcf278fab45ff855c8",
        "f174b5162664da2cb7f1e91c2b03324711540ba2"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Nov 12 14:53:19 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 12 14:53:19 2013 -0800"
      },
      "message": "am f174b516: am 48dab493: Merge \"Fix inconsistency in reporting device admin active state.\" into klp-dev\n\n* commit \u0027f174b5162664da2cb7f1e91c2b03324711540ba2\u0027:\n  Fix inconsistency in reporting device admin active state.\n"
    },
    {
      "commit": "48dab493b927f4a71687ccd557084ccee195de73",
      "tree": "7ad57e91b33aad104677fc9e125107bc0b417c67",
      "parents": [
        "c641de017ae0b15bbc13f43fd14fca6b1523ec02",
        "f65c0a99583cfaa8119836b8691d3a79db21dbbf"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Nov 12 22:47:55 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 12 22:47:55 2013 +0000"
      },
      "message": "Merge \"Fix inconsistency in reporting device admin active state.\" into klp-dev"
    },
    {
      "commit": "5d9f547720e07a2715d34320a9e11004654cede6",
      "tree": "cb8b2477167e7bd4840ae1c8894e204072702162",
      "parents": [
        "c481a634f4db6e95bc03b22b72414ba12da99f4b"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Nov 12 14:02:52 2013 -0800"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Nov 12 14:02:52 2013 -0800"
      },
      "message": "Relayout windows that handle their own config change.\n\nIf a window claims to handle its own configuration change then we\nwon\u0027t destroy and recreate its window on a configuration change.\nNormally that recreation triggers the first layout following\norientation change because mHaveFrame is false. Windows that handle\ntheir own configuration changes never got a relayout pass following a\nchange in orientation.\n\nThis change passes the configuration changes that an application\nhandles into the AppWindowToken. If the app says it handles\norientation or screen size changes then a relayout will occur when the\nconfiguration has changed.\n\nFixes bug 11647107.\n\nChange-Id: Ie8d49fd050442ebbdcf0b805087894e3a2fc4be9\n"
    },
    {
      "commit": "087044c902e693dd2b7b267163f4d9f892592a67",
      "tree": "7aaa3dfe0cac63d40988248aec7040765abd40e6",
      "parents": [
        "596e409ec9703e5071bb9a0de08787cde7745f7a"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Nov 11 17:43:43 2013 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Nov 12 12:23:10 2013 -0800"
      },
      "message": "Support preferred activities with zero or one scheme in the filter\n\nAlso use the existing full PreferredActivity match machinery instead\nof the existing direct comparison now that the intent filters can\nbe more flexible.\n\nBug 11482259\n\nChange-Id: Icb649ca60ecfbdb9ee3c256ee512d3f3f989e05f\n"
    },
    {
      "commit": "191b2bd8d0f6e33b2123c64bc8af1c6ec175b5f0",
      "tree": "d4f097607989859f8620a55a0b0b328c48bf5d16",
      "parents": [
        "d303549b5175d3e589ca656c5e01a88b55bf373a",
        "449b32e844b9bdadbcbca68e87f446b509e5e667"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Nov 12 11:24:43 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 12 11:24:43 2013 -0800"
      },
      "message": "am 449b32e8: am c641de01: Merge \"Add event logging for tasks and stacks.\" into klp-dev\n\n* commit \u0027449b32e844b9bdadbcbca68e87f446b509e5e667\u0027:\n  Add event logging for tasks and stacks.\n"
    },
    {
      "commit": "2c2549c5f44b712dbbf66a69d91f07d6f5336ee6",
      "tree": "7beb409e840b1e31015691d01bd8f63c49661322",
      "parents": [
        "c481a634f4db6e95bc03b22b72414ba12da99f4b"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Nov 12 08:31:15 2013 -0800"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Nov 12 09:57:00 2013 -0800"
      },
      "message": "Add event logging for tasks and stacks.\n\nAlso remove crufty write-only DisplayContent.mStackHistory.\n\nChange-Id: I62b2b53dc02377c5d0d3b79df70b1990eed87d23\n"
    },
    {
      "commit": "41f6464b3f247c6ee0828e1b1aa3300e56e8cabb",
      "tree": "f9279faf0a421c71c9fba6171414587eb44edf30",
      "parents": [
        "c481a634f4db6e95bc03b22b72414ba12da99f4b"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Mon Nov 04 13:48:38 2013 -0500"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Tue Nov 12 10:28:14 2013 -0500"
      },
      "message": "Ensure wallpaper hint is at least as large as the display.\n\nBug:11332853\nBug:11606952\nChange-Id: I1840d7b723015c379da8eab7e22aa478d56adeb3\n"
    },
    {
      "commit": "9ffc4a65e51ae8695be0531c6fae0d33301ded60",
      "tree": "eedfd44e375e7d02c1501eb4b1bcdc9c0cb3257e",
      "parents": [
        "ebda68bf844d4b5b75a01317b45ee04041e726e3",
        "854395add8ceaa2b80a14e063567f1292eb91c4d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Nov 11 22:04:54 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 11 22:04:54 2013 -0800"
      },
      "message": "am 854395ad: am c481a634: Merge \"UI tweaks.\" into klp-dev\n\n* commit \u0027854395add8ceaa2b80a14e063567f1292eb91c4d\u0027:\n  UI tweaks.\n"
    },
    {
      "commit": "39ad0e559896b45185429ea17cd12f18f7ae842c",
      "tree": "9e8d5d137a467f6ccd3ad6d453014d89f7ca21f7",
      "parents": [
        "596e409ec9703e5071bb9a0de08787cde7745f7a"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Nov 11 17:55:08 2013 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Nov 11 21:48:53 2013 -0800"
      },
      "message": "UI tweaks.\n\nHide disabled routes from the chooser.\n\nFix layout of chooser dialog when the settings button is visible and\nthe list is very long to prevent truncation of the settings button.\n\nFix an issue when we fake the route connecting status when a route\nis selected.  The route changed notification needs to be propagated\nto apps.  Fake it better.\n\nImmediately disconnect from a route when the connection is lost or\na connection attempt fails.  Added a few new test displays for this\ncase.\n\nBug: 11257292\nChange-Id: I360ab5dc937ad60d97592eab54b19f034519645e\n"
    },
    {
      "commit": "bf687484573ef63c5b54adfc0325a41115fb49fa",
      "tree": "a193fba5483e3d166a50af76213ef5bb65564f04",
      "parents": [
        "bb3adc44dfdb02c087a79df85ddeceb770e9cfb2",
        "0259c010221c73db11ee52b4b0758a179e5c0db1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Nov 11 18:05:10 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 11 18:05:10 2013 -0800"
      },
      "message": "am 0259c010: am 596e409e: Merge \"Work on issue #11634365: Leaking restarting services\" into klp-dev\n\n* commit \u00270259c010221c73db11ee52b4b0758a179e5c0db1\u0027:\n  Work on issue #11634365: Leaking restarting services\n"
    },
    {
      "commit": "596e409ec9703e5071bb9a0de08787cde7745f7a",
      "tree": "7eddefbedcec1657f86e2df42f60a77f51c0575b",
      "parents": [
        "778eaf4bece18d08e91df1d405337a18c3abcd57",
        "d6f5b629216a2566883ccc6f2506fee198b07f99"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Nov 12 01:36:10 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 12 01:36:10 2013 +0000"
      },
      "message": "Merge \"Work on issue #11634365: Leaking restarting services\" into klp-dev"
    },
    {
      "commit": "d6f5b629216a2566883ccc6f2506fee198b07f99",
      "tree": "f991c4897e2c7930a5474185eb02090f6f90808c",
      "parents": [
        "55d12486df5e801dc8e74d96abdf87a250bc0ba1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Nov 11 17:25:37 2013 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Nov 11 17:25:37 2013 -0800"
      },
      "message": "Work on issue #11634365: Leaking restarting services\n\nTighten up some flows to try to avoid any chance of leaving\na restarting service on the list, add a log to the only remaining\nplace I could find that we could get in to trouble for some\nreason.\n\nChange-Id: Iffb9be9d97deefc6cf0c5790eedfeb6e4e8a36bc\n"
    },
    {
      "commit": "9a55d60b996dc50fbad8eba114ef69e652a1407d",
      "tree": "617844b6cf6160df5005b6667da638f7afc3c6f2",
      "parents": [
        "cb623a8d44cfef63133c3c8d1d8a31aa48ba57d2",
        "64234cfc1e0e74774492c2b8208da38ab0250469"
      ],
      "author": {
        "name": "Jatin Lodhia",
        "email": "jlodhia@google.com",
        "time": "Mon Nov 11 15:57:19 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 11 15:57:19 2013 -0800"
      },
      "message": "am 64234cfc: am 09e7e0ef: Delegate existence of account check to Authenticator.\n\n* commit \u002764234cfc1e0e74774492c2b8208da38ab0250469\u0027:\n  Delegate existence of account check to Authenticator.\n"
    },
    {
      "commit": "09e7e0ef8bcd8b7b78b79fb570de2032871f0c97",
      "tree": "81591bab813d74f1026d3e69d3d9360a08786c93",
      "parents": [
        "fed822cb8e17579dfa792b40ebe82683088e7779"
      ],
      "author": {
        "name": "Jatin Lodhia",
        "email": "jlodhia@google.com",
        "time": "Thu Nov 07 00:14:25 2013 -0800"
      },
      "committer": {
        "name": "Jatin Lodhia",
        "email": "jlodhia@google.com",
        "time": "Mon Nov 11 23:48:53 2013 +0000"
      },
      "message": "Delegate existence of account check to Authenticator.\n\nCurrent AccountManager code for getAuthToken checks if the account\nin the request exists. If the account does not exist then it throws\nan exception which leads to a runtime exception being thrown by\nAccountManager in the client. In perticular, Checkin client code\nhits this issue when accounts are deleted by user. As the exception\nis thrown from the getAuthToken method call and is a RuntimeException\nit is not caught by the client. Futhermore, Checkin runs in one of the\nimportant processes and this exception makes the process crash.\n\nThis cl, does the following:\n1) Delegates the account exists check to Authentictor which in turn\nwould cause an AuthenticatorException which is a checked exception.\n2) Replaces some of the runtime exceptions thrown by AccountManagerService\nwith calling AccountManagerResponse.onError() which causes more graceful\nfailure on the client.\n3) Correctly passes on the error returned by Authenticator to\nAccountManager. Earlier if Authenticator returned an error code to\nthe AccountManager, it ignored the error and returned null token to the\nclient which was incorrect.\n\nBug: 10856295\nChange-Id: Ie250fec601d46f6dfecd74677b478bfd4e9dcfad\n"
    },
    {
      "commit": "f65c0a99583cfaa8119836b8691d3a79db21dbbf",
      "tree": "d207f658297e11058ba699ba6d1cfd2c51c7fd3b",
      "parents": [
        "e8c51298a43f607fea7418ced7cc783e6065fe87"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Nov 11 11:44:37 2013 -0800"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Nov 11 11:44:37 2013 -0800"
      },
      "message": "Fix inconsistency in reporting device admin active state.\n\nWhen a device admin goes away due to a package change, only one of two lists\nwas being updated, causing an inconsistency in the query for active admins\ndepending on which API was being called.\n\nThis makes sure that mAdminMap stays in sync with mAdminList so that\nisActiveAdmin() and getActiveAdmins() returns the same results.\n\nBug: 11588094\nChange-Id: I232608738249492d9fca7e4d7aa7566d96fccf46\n"
    },
    {
      "commit": "f488cd3b77c064c29040edc5af1fc98d6faa994e",
      "tree": "4ee45334961ab4c79820d37768d0018a091e2564",
      "parents": [
        "fa0d9c2fa8e5c2c73bd36688784f1e44eb08635b",
        "7e40e3176399e0609051e5f0bfcb5149e78c2ea6"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Nov 11 11:37:19 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 11 11:37:19 2013 -0800"
      },
      "message": "am 7e40e317: am c85a1143: Merge \"Fix issue #11630188: Still seeing some processes not on LRU list errors\" into klp-dev\n\n* commit \u00277e40e3176399e0609051e5f0bfcb5149e78c2ea6\u0027:\n  Fix issue #11630188: Still seeing some processes not on LRU list errors\n"
    },
    {
      "commit": "c85a1143aa7be1cef40cba72f83c71e81fe5c86e",
      "tree": "301a3f1256d62f0dc0b70ce815c9378572bbf594",
      "parents": [
        "1cdbbb1e73bff05f5dd1679bae2e3502d4f82368",
        "bc72dce07546063c3512138634d5abd84fe99915"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Nov 11 19:31:59 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 11 19:31:59 2013 +0000"
      },
      "message": "Merge \"Fix issue #11630188: Still seeing some processes not on LRU list errors\" into klp-dev"
    },
    {
      "commit": "bc72dce07546063c3512138634d5abd84fe99915",
      "tree": "4c5fedbb8e103391ffc1bc66b6e1db51527fe2f3",
      "parents": [
        "45bf2815158cb98130fff120b34ad05f5a54b8f8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Nov 11 10:43:38 2013 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Nov 11 10:55:42 2013 -0800"
      },
      "message": "Fix issue #11630188: Still seeing some processes not on LRU list errors\n\nThis happened:\n\nandroid.util.Log$TerribleFailure: Adding dependent process ProcessRecord{43c7a120 0:com.google.android.gms/u0a7} not on LRU list: service connection ConnectionRecord{437c16e0 u0 CR ACT com.google.android.gms/.icing.impl.IndexService:@436ba7f8} from ProcessRecord{43c64208 4908:com.google.android.googlequicksearchbox:search/u0a19}\n\tat android.util.Log.wtf(Log.java:290)\n\tat android.util.Slog.wtf(Slog.java:82)\n\tat com.android.server.am.ActivityManagerService.updateLruProcessInternalLocked(ActivityManagerService.java:2290)\n\tat com.android.server.am.ActivityManagerService.updateLruProcessLocked(ActivityManagerService.java:2508)\n\tat com.android.server.am.ActiveServices.updateServiceClientActivitiesLocked(ActiveServices.java:636)\n\tat com.android.server.am.ActiveServices.removeConnectionLocked(ActiveServices.java:1656)\n\tat com.android.server.am.ActiveServices.unbindServiceLocked(ActiveServices.java:860)\n\tat com.android.server.am.ActivityManagerService.unbindService(ActivityManagerService.java:12773)\n\tat android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:869)\n\tat com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2071)\n\tat android.os.Binder.execTransact(Binder.java:404)\n\tat dalvik.system.NativeStart.run(Native Method)\n\nBecause of this earlier:\n\n11-09 18:02:19.126 W/ActivityManager(  809): Exception when starting service com.google.android.gms/.icing.impl.IndexService\n11-09 18:02:19.126 W/ActivityManager(  809): android.os.DeadObjectException\n11-09 18:02:19.126 W/ActivityManager(  809): \tat android.os.BinderProxy.transact(Native Method)\n11-09 18:02:19.126 W/ActivityManager(  809): \tat android.app.ApplicationThreadProxy.scheduleCreateService(ApplicationThreadNative.java:850)\n11-09 18:02:19.126 W/ActivityManager(  809): \tat com.android.server.am.ActiveServices.realStartServiceLocked(ActiveServices.java:1384)\n11-09 18:02:19.126 W/ActivityManager(  809): \tat com.android.server.am.ActiveServices.bringUpServiceLocked(ActiveServices.java:1294)\n11-09 18:02:19.126 W/ActivityManager(  809): \tat com.android.server.am.ActiveServices.bindServiceLocked(ActiveServices.java:755)\n11-09 18:02:19.126 W/ActivityManager(  809): \tat com.android.server.am.ActivityManagerService.bindService(ActivityManagerService.java:12766)\n11-09 18:02:19.126 W/ActivityManager(  809): \tat android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:859)\n11-09 18:02:19.126 W/ActivityManager(  809): \tat com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2071)\n11-09 18:02:19.126 W/ActivityManager(  809): \tat android.os.Binder.execTransact(Binder.java:404)\n11-09 18:02:19.126 W/ActivityManager(  809): \tat dalvik.system.NativeStart.run(Native Method)\n\nNot clearing the service\u0027s app pointer.\n\nAlso fix this wtf where we were not clearing the started state of\na ServiceTracker when its process goes away.  (This was like this\nbecause we used to want to leave the started state so that we can\nknow the process is trying to restart.  But now that have a new\nexplicit restarting strate, there is no need to leave it.)\n\nandroid.util.Log$TerribleFailure: Service owner ServiceRecord{436f5168 u0 com.dirtywaterlabs.uberhype/com.dirtywaterlabs.musichype.MDService} cleared while started: pkg\u003dcom.dirtywaterlabs.uberhype service\u003dcom.dirtywaterlabs.musichype.MDService proc\u003dProcessState{42bf4bb8 com.dirtywaterlabs.uberhype:remote/10115 pkg\u003dcom.dirtywaterlabs.uberhype}\n\tat android.util.Log.wtf(Log.java:290)\n\tat android.util.Slog.wtfStack(Slog.java:86)\n\tat com.android.internal.app.ProcessStats$ServiceState.clearCurrentOwner(ProcessStats.java:2989)\n\tat com.android.server.am.ActiveServices.serviceDoneExecutingLocked(ActiveServices.java:1821)\n\tat com.android.server.am.ActiveServices.serviceProcessGoneLocked(ActiveServices.java:1779)\n\tat com.android.server.am.ActiveServices.removeConnectionLocked(ActiveServices.java:1693)\n\tat com.android.server.am.ActiveServices.killServicesLocked(ActiveServices.java:2028)\n\tat com.android.server.am.ActivityManagerService.cleanUpApplicationRecordLocked(ActivityManagerService.java:12424)\n\tat com.android.server.am.ActivityManagerService.handleAppDiedLocked(ActivityManagerService.java:3605)\n\tat com.android.server.am.ActivityManagerService.appDiedLocked(ActivityManagerService.java:3750)\n\tat com.android.server.am.ActivityManagerService$AppDeathRecipient.binderDied(ActivityManagerService.java:1026)\n\tat android.os.BinderProxy.sendDeathNotice(Binder.java:493)\n\tat dalvik.system.NativeStart.run(Native Method)\n\nChange-Id: I25a3fb678b5365254490cd5509b558348655b589\n"
    },
    {
      "commit": "fa0d9c2fa8e5c2c73bd36688784f1e44eb08635b",
      "tree": "01e2d6dfc775bba9af24edbdf529b160285e7374",
      "parents": [
        "c1c5e37cf62db04cb029f1ff339f9192ae43e3c0",
        "02b775755105a956456cb193b60d765e1a4690b6"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Nov 11 10:23:57 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 11 10:23:57 2013 -0800"
      },
      "message": "am 02b77575: am 1cdbbb1e: Merge \"Changes to support new screen cast settings screen.\" into klp-dev\n\n* commit \u002702b775755105a956456cb193b60d765e1a4690b6\u0027:\n  Changes to support new screen cast settings screen.\n"
    },
    {
      "commit": "1cdbbb1e73bff05f5dd1679bae2e3502d4f82368",
      "tree": "1f4ed5753a58fa274f9fdad6f90db715b12894bf",
      "parents": [
        "45bf2815158cb98130fff120b34ad05f5a54b8f8",
        "75af171006ee80aaf7cfb56ded1378afe0084cca"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Nov 11 18:19:25 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 11 18:19:26 2013 +0000"
      },
      "message": "Merge \"Changes to support new screen cast settings screen.\" into klp-dev"
    },
    {
      "commit": "c1c5e37cf62db04cb029f1ff339f9192ae43e3c0",
      "tree": "6459df2c351064abcd7db8120edd414a0de82e8c",
      "parents": [
        "6492c0f3af881c070170a00212e5e034f74436ae",
        "86b06976e7d93772422c85c15d08ec1f00ebbcfc"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Nov 11 10:07:25 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 11 10:07:25 2013 -0800"
      },
      "message": "am 86b06976: am 45bf2815: Merge \"Fix a couple of issues with mOpeningApps.\" into klp-dev\n\n* commit \u002786b06976e7d93772422c85c15d08ec1f00ebbcfc\u0027:\n  Fix a couple of issues with mOpeningApps.\n"
    },
    {
      "commit": "6492c0f3af881c070170a00212e5e034f74436ae",
      "tree": "522bf25df5bfe58b52fac3809c1f6a7f2eaa0173",
      "parents": [
        "35631bccd4f58cc1fbb4d79d1890fbf1ff59dbc2",
        "22a9710608d47747f9b834aa2a6b377bf529ad33"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Nov 11 10:07:21 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 11 10:07:21 2013 -0800"
      },
      "message": "am 22a97106: am 8cfa6d08: Merge \"Use old task info when creating new task.\" into klp-dev\n\n* commit \u002722a9710608d47747f9b834aa2a6b377bf529ad33\u0027:\n  Use old task info when creating new task.\n"
    },
    {
      "commit": "45bf2815158cb98130fff120b34ad05f5a54b8f8",
      "tree": "03f2aa48194a618e3116da9c115ec3347cec4583",
      "parents": [
        "8cfa6d083bc5638801fa6d1b2dfccbc460c88bb9",
        "a8ee262c04749db4f32f73d2b9e7f58989c4638b"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Nov 11 18:02:08 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 11 18:02:08 2013 +0000"
      },
      "message": "Merge \"Fix a couple of issues with mOpeningApps.\" into klp-dev"
    },
    {
      "commit": "8cfa6d083bc5638801fa6d1b2dfccbc460c88bb9",
      "tree": "caadc2d32db5980e8d84ead1ab497c4b94b8a43b",
      "parents": [
        "e45d8b2dab33de18bef5cc5ae7db37b890b22d8d",
        "8862929e2a5ae4936083b6d7ac7e908df256a885"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Nov 11 18:01:36 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 11 18:01:36 2013 +0000"
      },
      "message": "Merge \"Use old task info when creating new task.\" into klp-dev"
    },
    {
      "commit": "75af171006ee80aaf7cfb56ded1378afe0084cca",
      "tree": "d26fe83b1d36b8afe4709b80fcd8897bd0db28c8",
      "parents": [
        "dd4f9e8b61c0a5639aa82480b7fdd760a2ed609c"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Nov 10 18:54:03 2013 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Nov 10 22:51:15 2013 -0800"
      },
      "message": "Changes to support new screen cast settings screen.\n\nFixed the Preference ordering code to consider the case where\ntwo preferences might have the same order.  In that case, it\nfalls back on the title to disambiguate.  Previous behavior was\nundefined (and technically not stable).\n\nExpose the wifi display device address.\n\nPerform wifi display scans every 10 seconds instead of every 15\nto improve reponsiveness.\n\nMake sure to define routes for wifi displays that we are connecting\nto even if they are not yet paired.  Simplified the logic for\nadding and removing these routes to avoid possibly getting out\nof sync and leaving stale routes behind.\n\nFix wifi display notification icon.\n\nBug: 11257292\nChange-Id: I8ac15fb17d83758c0bdce80399e12723c367b83c\n"
    },
    {
      "commit": "8862929e2a5ae4936083b6d7ac7e908df256a885",
      "tree": "04dadd7d8fcf9368f59e0b3912c5fb098087493d",
      "parents": [
        "105b9b05041ea6f1109d961d548f3dde2bd69501"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Sun Nov 10 20:39:05 2013 -0800"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Sun Nov 10 20:39:05 2013 -0800"
      },
      "message": "Use old task info when creating new task.\n\nWhen a new task is being created solely to protect the system from an\nold task going away, save the info from the old task and use it when\ncreating a new task.\n\nFixes bug 11615548.\n\nChange-Id: Ibc3fd15ec4b0d76bce30381fbd83b6899f6a9023\n"
    },
    {
      "commit": "7aa535a8633ec93426381c68dc061cd951ab5832",
      "tree": "92723a13d4a62235cf10f7675c759e046fda7d93",
      "parents": [
        "73d15db0f03cadbb54bf13400218191fb009a8d4",
        "01edb22617a96502dfb5297eff1cdf5f265299e2"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Fri Nov 08 16:27:38 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 08 16:27:38 2013 -0800"
      },
      "message": "am 01edb226: am ed7376fc: Merge \"Restore permission check in keyguard.\" into klp-dev\n\n* commit \u002701edb22617a96502dfb5297eff1cdf5f265299e2\u0027:\n  Restore permission check in keyguard.\n"
    },
    {
      "commit": "a8ee262c04749db4f32f73d2b9e7f58989c4638b",
      "tree": "a42dc5ce74eaba10c5022aa1905204a2ef44d4e1",
      "parents": [
        "105b9b05041ea6f1109d961d548f3dde2bd69501"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Nov 08 15:24:22 2013 -0800"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Nov 08 15:36:23 2013 -0800"
      },
      "message": "Fix a couple of issues with mOpeningApps.\n\nIn setAppVisibility add wtoken to mOpeningApps even if the requested\nvisibility already matches requestedHidden. When Keyguard hides an app\nrequestedHidden will mismatch and mOpeningApps will end up empty where\nit should have the app that will become visible.\n\nAdd mAnimateWallpaperWithTarget \u003d true to another situation where\nwallpaper animation needs it.\n\nFixes bug 11570753.\n\nChange-Id: I70b93bbb580386eb912613f0ce11e582eff8c449\n"
    },
    {
      "commit": "505329b21b743c6e74e0d1b14bea78a22f7b4145",
      "tree": "de6e2e814ab04e443f1f95afcc4447fc8aad8e3b",
      "parents": [
        "b6d3c1cecadb50263c2682a89f9f0b2936bfcd19"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Fri Nov 08 13:25:36 2013 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Fri Nov 08 14:08:10 2013 -0800"
      },
      "message": "Restore permission check in keyguard.\n\nFixes bug 11584685\n\nChange-Id: I80621f5608505bdc365930e0276c297c0d5bff67\n"
    },
    {
      "commit": "eb544c338c39f3e9435ad1098d559b618d287cf2",
      "tree": "213cadc2f5c9baeb4a3eafb8c4d663ce7806bb38",
      "parents": [
        "913c0e38a1316f4a653563ba401a0095c54b71d0",
        "ca39478f33977ba6ba278fb9e3913144d7a5d0c2"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Nov 08 11:16:17 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 08 11:16:17 2013 -0800"
      },
      "message": "am ca39478f: am f99b017e: Merge \"Allow keyguard dialogs to show on secondary displays.\" into klp-dev\n\n* commit \u0027ca39478f33977ba6ba278fb9e3913144d7a5d0c2\u0027:\n  Allow keyguard dialogs to show on secondary displays.\n"
    },
    {
      "commit": "4fd791735b21162bc573ece564144fa4f0e2ed29",
      "tree": "9e34f83f6d33ca7abcd4207e8a7b76cfd8d464de",
      "parents": [
        "52277428d54cc71f0cde3f1efa035f1e6742b900"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Nov 07 17:58:15 2013 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Nov 08 09:53:56 2013 -0800"
      },
      "message": "Allow keyguard dialogs to show on secondary displays.\n\nWhen the keyguard or a dream is visible, we usually block content\nfrom showing on secondary displays by mirroring the primary display\ncontents to them.  However, the keyguard may wish to show a\npresentation on a secondary display in which case we should not\nmirror.\n\nThis change adds an exemption for keyguard dialogs when the full\nscreen is obscured.  The keyguard can then create presentations with\nthe TYPE_KEYGUARD_DIALOG window type in order to show special\ncontent on other displays selectively.\n\nThe old code used to cause all secondary displays to mirror, which\nisn\u0027t quite what we want.\n\nBug: 11257292\nChange-Id: I55429002b2233ae25fe80db149636d6f41f2a112\n"
    },
    {
      "commit": "c2b652fd4d386b79dc99af249b6ad3844e53fdf1",
      "tree": "a2b18b14080224edefb19550266a341e2090b836",
      "parents": [
        "84d760257f46232601e5f47411fb4e59f57f1872",
        "5182ea4bb20ec8fbe9562d0eaae8135d433ea0b6"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Nov 07 17:44:14 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 07 17:44:14 2013 -0800"
      },
      "message": "am 5182ea4b: am d40a4d74: Merge \"Add media router service and integrate with remote displays.\" into klp-dev\n\n* commit \u00275182ea4bb20ec8fbe9562d0eaae8135d433ea0b6\u0027:\n  Add media router service and integrate with remote displays.\n"
    },
    {
      "commit": "d40a4d74c623175c96a2e9d865a99826e56d1132",
      "tree": "8fcb8823aab60b909ff4962d5b00fdd5681ad806",
      "parents": [
        "1f7a8a06256907e03405f89108f081289c23e97a",
        "69b07161bebdb2c726e3a826c2268866f1a94517"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Nov 08 01:36:55 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 08 01:36:55 2013 +0000"
      },
      "message": "Merge \"Add media router service and integrate with remote displays.\" into klp-dev"
    }
  ],
  "next": "25f6d3e6e0d341239fc9ef56a6310e92bc5f21ce"
}
