)]}'
{
  "log": [
    {
      "commit": "5fb5df001332d5fb05152e7a78d0b28a48ca559e",
      "tree": "74217b0f979a01d958ee255cfdff5f79dcc8be1e",
      "parents": [
        "56062983f1e07295c812fba0e22ce579a35b6f76"
      ],
      "author": {
        "name": "Rickard Helldin",
        "email": "rickard.helldin@sonymobile.com",
        "time": "Fri Feb 07 09:35:04 2014 +0100"
      },
      "committer": {
        "name": "Takeshi Aimi",
        "email": "takeshi.aimi@sonymobile.com",
        "time": "Mon Feb 10 23:21:25 2014 +0900"
      },
      "message": "Fix, MountService now only sends one onShutDownComplete\n\nThe event onShutDownComplete are sent only when all\nvolumes are shutdown. (Not one for every volume.)\n\nChange-Id: I6af521ee8285ca581efac7d3c5f013dfbff3ee30\n"
    },
    {
      "commit": "ff27e6bc44097485abfde24f396399e5eec9ff6d",
      "tree": "4a8965aae6efbaf903ef1189b8e4b3640d33fa12",
      "parents": [
        "cccae25fc7cd3daf68dee3d3ca7665a5ea12f097",
        "41a17c2e72d61be0a060bf43b669623462a23f13"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@android.com",
        "time": "Fri Feb 07 23:30:23 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 07 23:30:24 2014 +0000"
      },
      "message": "Merge \"Use canonical path for /vendor/app\""
    },
    {
      "commit": "6ea720bacb805e88fc3b8634bbd9dc7fa918beaa",
      "tree": "1f8c3656723e667cbdcba7842a296a6f81211343",
      "parents": [
        "449273e2d575041ffe1a5d435666d36923de888b",
        "e8467194dc8d56b5cf418b025b041737754b98b3"
      ],
      "author": {
        "name": "Dan Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Feb 07 15:59:08 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 07 15:59:08 2014 +0000"
      },
      "message": "Merge \"Make sure to turn off led after pulse()\""
    },
    {
      "commit": "c6c633608ad4cd77ed21227b0bdb11eb79797c31",
      "tree": "b21c39081539be374502f1d4de16c39b59e0c4ad",
      "parents": [
        "ab71f8b68fee0f2a4f2049c4345b5334948c9df9"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jan 30 13:14:01 2014 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Jan 30 13:16:48 2014 -0800"
      },
      "message": "frameworks/base: Rename persist.sys.dalvik.vm.lib to allow new default\n\nBug: 12798969\nChange-Id: Ibb7ed86867e4dca53ad7fe33326b08e6f5e664c4\n"
    },
    {
      "commit": "41a17c2e72d61be0a060bf43b669623462a23f13",
      "tree": "1383387e1cbf7767424ea1b2965408c11f620b91",
      "parents": [
        "db3278ab429860161e5baa26f141de95a48de0cb"
      ],
      "author": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonymobile.com",
        "time": "Thu Jan 30 09:39:00 2014 +0100"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonymobile.com",
        "time": "Thu Jan 30 09:45:23 2014 +0100"
      },
      "message": "Use canonical path for /vendor/app\n\nIt wasn\u0027t possible to start apps installed in /vendor/app\non a device where /vendor was a symbolic link to /system/vendor.\nThis is currently the default configuration for android (see\ninit.rc)\n\nDuring installation a dex file is created at:\n/data/dalvik-cache/vendor@app@blah.blah.apk@classes.dex\n\nBut dalvik would fail to start this app with the following error:\nI/dalvikvm( 3453): Unable to open or create cache for /system/vendor/app/blah.apk \\\n(/data/dalvik-cache/system@vendor@app@blah.blah.apk@classes.dex)\n\nNote that dalvik were trying to start /system/vendor/app while the\napp was installed in /vendor. There was a conflict between the\npackage manager and dalvik on how to interpret paths. This change\nmakes the package manager consistent with dalvik.\n\nChange-Id: I1c7e3c3ae45f97dd742cbf06f7965a7405c821a7\n"
    },
    {
      "commit": "6e09eb4c6753f8e5cbd04f9b0c7b65046d27afdb",
      "tree": "0be2811684a15ab53621a3b124639aab44789c41",
      "parents": [
        "baf2c7a400ef27b1f33999498a80e2fb3e05a22f",
        "a0398430fcf365fba6e42ad0bdca2fbf45ed6fe0"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Jan 28 19:12:16 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 28 19:12:17 2014 +0000"
      },
      "message": "Merge \"AArch64: Make graphics classes 64-bit compatible\""
    },
    {
      "commit": "a0398430fcf365fba6e42ad0bdca2fbf45ed6fe0",
      "tree": "f263a4baa0ab7b4e7e0101075f1e85768b3d7ba1",
      "parents": [
        "1ff4293e33f98e6dc19e4f154cb497af9bd88c9d"
      ],
      "author": {
        "name": "Ashok Bhat",
        "email": "ashok.bhat@arm.com",
        "time": "Mon Jan 20 20:08:01 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Jan 28 17:40:38 2014 +0000"
      },
      "message": "AArch64: Make graphics classes 64-bit compatible\n\nChanges in this patch include\n\n[x] Long is used to store native pointers as they can\n    be 64-bit.\n\n[x] Some minor changes have been done to conform with\n    standard JNI practice (e.g. use of jint instead of int\n    in JNI function prototypes)\n\n[x] AssetAtlasManager is not completely 64-bit compatible\n    yet. Specifically mAtlasMap member has to be converted\n    to hold native pointer using long. Added a TODO to\n    AssetAtlasManager.java to indicate the change required.\n\nChange-Id: I940433f601c6db998c1a8ffff338f5361200d5ed\nSigned-off-by: Ashok Bhat \u003cashok.bhat@arm.com\u003e\nSigned-off-by: Craig Barber \u003ccraig.barber@arm.com\u003e\nSigned-off-by: Kévin PETIT \u003ckevin.petit@arm.com\u003e\nSigned-off-by: Marcus Oakland \u003cmarcus.oakland@arm.com\u003e\n"
    },
    {
      "commit": "d5c91ece7bfea74ee7ab2bc86f3cb3f5c531f866",
      "tree": "e25bab302ca193c2e594958f9c7e278f1b332be9",
      "parents": [
        "1ff4293e33f98e6dc19e4f154cb497af9bd88c9d"
      ],
      "author": {
        "name": "louis_chang",
        "email": "louis_chang@htc.com",
        "time": "Tue Jan 28 18:38:06 2014 +0800"
      },
      "committer": {
        "name": "louis_chang",
        "email": "louis_chang@htc.com",
        "time": "Tue Jan 28 18:38:06 2014 +0800"
      },
      "message": "[ActivityManager]: Fix the activity visibility state not sync between ActivityManager and WindowManager\n\nSymptom:\nWhen press Home key to home screen, user is able to see the activity\u0027s window shown on top of wallpaper and below launcher(widgets).\n\nRoot Cause:\nThe ensureActivitiesVisibleLocked() is called pretty often (for example when a new process bound).\nIf the top activity \"B\" was finishing, then the previous activity \"A\" should be visible.\nTherefore, the activity \"A\" window will be set to visible and then launched activity \"A\", but it does not updates the visible state in ActivityRecord for \"A\".\nThere has a timing issue that if a new activity \"C\" is started, \"C\" becomes the new top activity and be resumed.\nIn that case, Activity \"A\" window will remain visible even if it is behind a full screen activity \"C\" because the ActivityRecord.visble of \"A\" is still false, so the window visibility won\u0027t be update.\nSo when user press home key and back to launcher, the surface of activity \"A\" will be composed on top of wallpaper.\n\nSolution:\nUpdates ActivityRecord.visible to true for \"A\". After \"C\" is started, the \"A\" will be called WindowManagerService.setAppVisibility() to set invisible, then called onStop() when execute ensureActivitiesVisibleLocked() again.\n\nChange-Id: I536ba04b95d8d274fea6d679a6493e620bc981e2\n"
    },
    {
      "commit": "e8467194dc8d56b5cf418b025b041737754b98b3",
      "tree": "fe3c1a61b26b08808b90da846216cbd87f7f3983",
      "parents": [
        "c9a60b0f77525244ac4f970258703b8dc62ee140"
      ],
      "author": {
        "name": "Oskar Andero",
        "email": "oskar.andero@sonymobile.com",
        "time": "Tue Dec 03 17:41:27 2013 +0100"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonymobile.com",
        "time": "Fri Jan 24 10:43:53 2014 +0100"
      },
      "message": "Make sure to turn off led after pulse()\n\nsetLightLocked() will update mColor. This will cause the led to not be\nturned off after the pulse.\nWhen notificationManager starts a attention pulse the led will be kept\non. Since attention is of highest prio nothing can turn it off.\nThis is fixed by resetting mColor back to 0 after the call.\n\nChange-Id: Id60ef96e5c21b47c23002f0bcf2fae7fb3f2ca10\n"
    },
    {
      "commit": "cc81bcece411794b4eac6b03b7700a0214fdbb87",
      "tree": "6f9d76c6c0818524a282fb3bdc28922f88dbf2a0",
      "parents": [
        "9fc157a4767f54d1cff53dc9489638b67aec2da3",
        "0464c07a9e3f45091d1f9834788646bc8e4a217d"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@android.com",
        "time": "Wed Jan 22 23:46:57 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 22 23:46:58 2014 +0000"
      },
      "message": "Merge \"Only send storage intents after boot complete\""
    },
    {
      "commit": "719b3b807509d998eeb2aabd582d30b99947673d",
      "tree": "fa5ccf5c5156e7afc003edfc3c91ddedafb55314",
      "parents": [
        "c9a60b0f77525244ac4f970258703b8dc62ee140"
      ],
      "author": {
        "name": "Naofumi Harada",
        "email": "naofumi.harada@sonymobile.com",
        "time": "Tue Jan 21 10:29:36 2014 +0900"
      },
      "committer": {
        "name": "Takeshi Aimi",
        "email": "takeshi.aimi@sonymobile.com",
        "time": "Tue Jan 21 07:41:11 2014 +0000"
      },
      "message": "FLAG_PRIVILEGED disappears if privileged app is updated and rebooted\n\nSince Kitkat, an app pre-loaded under /system/priv-app/ has\nFLAG_PRIVILEGED. However, if the app updated and the device\nrebooted, privileged flag is unset from pkgFlags. This patch\nfix issue to assign privileged flag when scanning the updated\npackages.\n\nBug: 12640283\n\nChange-Id: Ic24b5882f65dabdfae9cc39da3d68661bed4fc31\n"
    },
    {
      "commit": "0464c07a9e3f45091d1f9834788646bc8e4a217d",
      "tree": "970a59f89d8b91979de365c800883ebdfa0cb745",
      "parents": [
        "c9a60b0f77525244ac4f970258703b8dc62ee140"
      ],
      "author": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonymobile.com",
        "time": "Sat Jan 18 22:46:56 2014 +0100"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonymobile.com",
        "time": "Sat Jan 18 22:46:56 2014 +0100"
      },
      "message": "Only send storage intents after boot complete\n\nIt is not possible to send a broadcast before the system\nboot is completed. If you do it anyway you will get an\nIllegalStateException: Cannot broadcast before boot completed.\n\nIf a memory card is inserted or removed while the phone is\nbooting up, there is a risk that the MountService will try to\nbroadcast a storage intent too early, and cause the device\nto crash.\n\nUse FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT to avoid\nproblems with too early broadcasts.\n\nChange-Id: Ied36a13d235df37c9788e45a35de40d919ae0cd0\n"
    },
    {
      "commit": "90cadb35156829ff1d6b7066409596da38fc70e1",
      "tree": "8543d4bf21ca607352aba39f0d3ee724cb4b154b",
      "parents": [
        "cb4d3ec1ea446fc9ce51514cbf5b16da0ec0fa0f",
        "d64fe0f53c8f77a32cb7745a0a1c4309f9d0ba8d"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Jan 13 18:35:31 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 13 18:35:32 2014 +0000"
      },
      "message": "Merge \"MountService listeners can not be unregistered\""
    },
    {
      "commit": "446ef1de8d373c1b017df8d19ebf9a47811fb402",
      "tree": "9ab44abf5e9b6b149bdc922cabe2f1a277523538",
      "parents": [
        "76d5cdd820b5d81af8de73180c272d7f8a01caae"
      ],
      "author": {
        "name": "riddle_hsu",
        "email": "riddle_hsu@htc.com",
        "time": "Thu Jan 09 20:24:34 2014 +0800"
      },
      "committer": {
        "name": "riddle_hsu",
        "email": "riddle_hsu@htc.com",
        "time": "Thu Jan 09 20:24:34 2014 +0800"
      },
      "message": "Fix visibility of multiple non-fullscreen activities.\n\nIssue detail:\nAssume X, Y are non-fullscreen activities.\n a.Home starts an activity X in task A in application stack.\n b.X starts an activity Y in \u003ctask A\u003e or \u003cnew task B\u003e\n c.Activity X will be invisible.\n\nHow to fix:\nBecause the function \"isActivityOverHome\" means an activity is able to see home.\nBut there may have many non-fullscreen activities between the top non-fullscreen activity and home.\nIf flag \"behindFullscreen\" is set, those middle activities will be invisible.\nSo it should only take care from who is adjacent to home.\nThen check two flags frontOfTask(task root) and mOnTopOfHome for constraining the condition.\n\nChange-Id: I60bcea304976414e44835a0a38675aae365e9e19\n"
    },
    {
      "commit": "9607d78f5144792993bd254a4b5983b2a9d5bf83",
      "tree": "994c8bed61fd1fb3bdca8765d017e8788ad32b7b",
      "parents": [
        "8a927cfa4ea8e4a78f6a9fa1e2b1da9187a3d1e8",
        "575ca85c147f1521480ea98aca13aa3b1ec38884"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Wed Jan 08 15:56:13 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 08 15:56:13 2014 +0000"
      },
      "message": "Merge \"Added missing USB device descriptor fields needed for intent filters\""
    },
    {
      "commit": "7e2a9dcf1a4044ed3f81c5b736b5027231395b73",
      "tree": "78312e0208955536bbd8b5f615e228edb7adfd52",
      "parents": [
        "517e9b11d53609d59c60d22dc085e7f9fd442248"
      ],
      "author": {
        "name": "Ashok Bhat",
        "email": "ashok.bhat@arm.com",
        "time": "Thu Jan 02 19:43:30 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Jan 08 10:06:07 2014 +0000"
      },
      "message": "AArch64: Use long for pointers in services\n\nFor storing pointers, long is used, as native pointers\ncan be 64-bit.\n\nIn addition, some minor changes have been done\nto conform with standard JNI practice (e.g. use\nof jint instead of int in JNI function prototypes)\n\nChange-Id: Ib4435f0794740d545c1e640087849215e6844802\nSigned-off-by: Ashok Bhat \u003cashok.bhat@arm.com\u003e\nSigned-off-by: Marcus Oakland \u003cmarcus.oakland@arm.com\u003e\n"
    },
    {
      "commit": "2ac3cb7aef7c8a51cbeb6d34b648dedcb4363994",
      "tree": "75fe6aeb98b9b1d5b0cfe43137083feffb4a76e9",
      "parents": [
        "cccf2a333793badbcea9b04fe3f29447496a56d9"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Jan 06 11:31:35 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Jan 06 11:31:35 2014 +0000"
      },
      "message": "Fix broken XML parsing idiom.\n\nCode that expected a single top level element in an XML file\nwas doing something like :\n\nwhile (type !\u003d START_TAG) { next(); }\n\nThis would loop forever when the XML being parsed was empty,\nwhere each call to XmlPullParser.next() would return END_DOCUMENT.\n\nbug: https://code.google.com/p/android/issues/detail?id\u003d64173\nChange-Id: I7543203e976a8999ae471a6c2d629249a87011bb\n"
    },
    {
      "commit": "c8733b818d9e7eef0d986128f16d12145486b69f",
      "tree": "7d68c89d378e7f13a3dc51031a932c5ef13ed23c",
      "parents": [
        "a11371f42b4dd793a48faa3323be34bca0f6d2e6"
      ],
      "author": {
        "name": "Martin Wallgren",
        "email": "martin.wallgren@sonyericsson.com",
        "time": "Wed Aug 31 12:39:31 2011 +0200"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonymobile.com",
        "time": "Thu Dec 19 13:24:00 2013 +0100"
      },
      "message": "Keydispatching timeout while finish Activity\n\nIf there is input to be handled during finish activity we can get a\nkeydispatching timeout ANR. The reason is that finish activity is some\ntimes not possible, and the activity is instead put on a finish queue.\nThe activity will then be finished sometime in the future. When we add\nthe activity to the finish queue, key dispatching is paused, and there\nis an ANR timer waiting for it to be resumed again. Since it can take a\nlong time before the activity is actually finished, we need to resume\nthe key dispatching to avoid the ANR.\n\nChange-Id: Icea4ab3b5ad05c8bfbadf8f5cece1a59ec621469\n"
    },
    {
      "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": "eb0ca2b7bfd70fbbf2bd730b1c431faac21d0416",
      "tree": "4895bb1986c401213f99dcb7ed45d10b30f6b0c7",
      "parents": [
        "9f4e67c50b5c311adeaaf6135ef79214a46d0e26",
        "a1d6f92f34adb499565c9513235227a308e90221"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Tue Dec 17 18:10:49 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 17 18:10:49 2013 +0000"
      },
      "message": "Merge \"Add timerfd backend to AlarmManagerService\""
    },
    {
      "commit": "9cdf9e52d944e99745a4fe7fb63962fb4508ed6d",
      "tree": "ef472207aaf7a23143e302229674bb58c24608b9",
      "parents": [
        "5d6332e3744e37ced079e5360f1fa3e0e5681d57"
      ],
      "author": {
        "name": "Daniel 2 Olofsson",
        "email": "daniel2.olofsson@sonymobile.com",
        "time": "Mon Dec 16 13:24:25 2013 +0100"
      },
      "committer": {
        "name": "Henrik Baard",
        "email": "henrik.baard@sonymobile.com",
        "time": "Tue Dec 17 11:35:23 2013 +0100"
      },
      "message": "Fix to NullPointerException on move back in ActivityStack.\n\nIn ActivityTask.moveTaskToBackLocked NullPointerException may occur\nwhen moving back with only current Activity in stack. This due to a\ncondition that may trigger despite a TaskRecord being null and then\nattempt accessing the TaskRecord.mOnTopOfHome variable.\n\nTaskRecord task may be set to null when no resumed activity remain.\n\nResolved by assuring that flag mOnTopOfHome is instead set to false\nfor current TaskRecord in case where there are no remaining activities\nabove home.\n\nThe above bug has already been corrected in the following commit,\nada62fca51d314cefe2c5da4e007df5b9abf320d, but it does not set the\ncottect value to mTopOfHome for the current taks, see below.\n\nVariable mOnTopOfHome will not be set to false in situations where\nstack is of size 1 or less and task is null, perhaps from already\nhaving finished current activity.\n\nTo avoid current TaskRecord maintaining value mOnTopOfHome to true\nafter launching Home this variable is set to false.\n\nImpact should not be major due to correction earlier that makes sure\nthat there is always a TaskRecord.mOnTopOfHome set to true above Home\nactivity but if not correctly set for current task still gives a\npossibility of bad behavior.\n\nChange-Id: Ie86ad99c188aaa05b0de9d58eaa16c42b6fc4341\n"
    },
    {
      "commit": "a1d6f92f34adb499565c9513235227a308e90221",
      "tree": "1a15daa9d12d40c38689f183564db57445857df9",
      "parents": [
        "32b4c0779ea3a0149b31a1340513e9e0a6897b5f"
      ],
      "author": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Mon Dec 09 16:56:53 2013 -0800"
      },
      "committer": {
        "name": "Greg Hackmann",
        "email": "ghackmann@google.com",
        "time": "Mon Dec 16 16:23:51 2013 -0800"
      },
      "message": "Add timerfd backend to AlarmManagerService\n\nOn devices without /dev/alarm, use a new backend based on timerfd.\ntimerfd has near-equivalent syscalls for the /dev/alarm ioctls we care\nabout, with two key differences:\n\n1) /dev/alarm uses one fd for all clocks, while timerfd needs one fd per\nclock type.\n\nAlarmManagerService addresses this by replacing the fd (int) with an\nopaque pointer (long) to the backend-specific state.\n\n2) When the RTC changes, the /dev/alarm WAIT ioctl always returns, while\ntimerfd cancels (and signals events) only on specially-flagged RTC\ntimerfds.\n\nThe timerfd backend masks this by creating an extraneous RTC timerfd,\nspecifically so there\u0027s always something to signal on RTC changes.\n\nChange-Id: I5aef867748298610347f6e1479dd8bf569495832\nSigned-off-by: Greg Hackmann \u003cghackmann@google.com\u003e\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"
    }
  ],
  "next": "9a55d60b996dc50fbad8eba114ef69e652a1407d"
}
