)]}'
{
  "log": [
    {
      "commit": "4323d6ea5143a3f2c419b3db28f956755652d78a",
      "tree": "d14c89f9dd93c1af349fd3e028794d737162bc7a",
      "parents": [
        "d54d7cfec7bcfd4fa84dcf686071cc5e9b599522",
        "2ec541fa4b19bee3e5a60245dcb504a6033cd0ac"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Jun 13 15:27:51 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 13 15:27:51 2012 -0700"
      },
      "message": "Merge \"Do not hide animating window behind keyguard.\" into jb-dev"
    },
    {
      "commit": "f8d05b4ea61bb0db32c1a7f93f27a13f67c9ef0c",
      "tree": "7e71598e79650a346ee3f633d9311251fe4747e2",
      "parents": [
        "4b4a947b5e4913d7f8b7df15d3a7cdf8f343471f",
        "507a2ee12b6d1d683e4a5806804c472b3fe32e61"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Jun 13 14:09:08 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 13 14:09:08 2012 -0700"
      },
      "message": "Merge \"Update wallpaper visibility at time of hide/show.\" into jb-dev"
    },
    {
      "commit": "963218905ab31ccd2cf7ff57d372b185624543a4",
      "tree": "f8a1f0c563b06bcbfd135d3a5f39b3e6f52fd371",
      "parents": [
        "d772c4878e2207795e92b26a462fd02bca7e3c2e",
        "6c0b4f393ae8e728c7a7943bfbdcdd27d6642192"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Jun 13 12:06:10 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 13 12:06:10 2012 -0700"
      },
      "message": "Merge \"Clear identity when snoozing limit.\" into jb-dev"
    },
    {
      "commit": "507a2ee12b6d1d683e4a5806804c472b3fe32e61",
      "tree": "5462c10fb3f409664f174b37669906100b817293",
      "parents": [
        "f958732bd3924205d9f8bda94f4f6e3bb4045b28"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Jun 13 08:39:38 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Jun 13 08:39:38 2012 -0700"
      },
      "message": "Update wallpaper visibility at time of hide/show.\n\nCall the Window client method dispatchAppVisibility when hiding or\nshowing wallpaper rather than wait until the next call to\nperformLayoutAndPlaceSurfaces.\n\nFixes bug 6645473.\n\nChange-Id: I363f69f8db0affff92308e11ce52546401959d8f\n"
    },
    {
      "commit": "6c0b4f393ae8e728c7a7943bfbdcdd27d6642192",
      "tree": "dfd7c2aa6e047047f5e84b284d5b2dd99c290790",
      "parents": [
        "f6f7f1d2dc6e8fad5d6ff9a56af9929488873b4f"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jun 12 21:06:30 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jun 12 21:06:30 2012 -0700"
      },
      "message": "Clear identity when snoozing limit.\n\nContinues to check MANAGE_NETWORK_POLICY permission.  This allows\nSystemUI to invoke snoozeLimit() without CONNECTIVITY_INTERNAL.\n\nBug: 6653091\nChange-Id: I464bf62b79f2647c6b6db151251a0036897d0cc0\n"
    },
    {
      "commit": "2ec541fa4b19bee3e5a60245dcb504a6033cd0ac",
      "tree": "7988ca9547afd03a32b164e9a673300674ee836a",
      "parents": [
        "f958732bd3924205d9f8bda94f4f6e3bb4045b28"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Jun 12 15:50:45 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Jun 12 19:18:21 2012 -0700"
      },
      "message": "Do not hide animating window behind keyguard.\n\nThe transition from clock to keyguard when restarting the device\nwas janky. The cause was that the clock app was animating away\nwhich kept the adjustWallpaperWindowsLocked() method from setting\nthe keyguard as the new mWallpaperTarget. At the same time the\nWindowAnimator saw that the keyguard was readyToDisplay() which\nset mForceHiding true causing the clock to become hidden. Since\nthe clock was mWallpaperTarget the wallpaper was hidden at the\nsame time.\n\nThis fix does not allow mForceHiding to hide an animating\nwindow.\n\nFixes bug 6649988.\n\nChange-Id: Ie5cb0dfcc987d5ee1ad2351cf520629b8e301a2b\n"
    },
    {
      "commit": "1c9581023ced89a209fca9c4e40305f8e0859732",
      "tree": "6fa0a5b629b6665a916bf6d12470bf8c8fab47e4",
      "parents": [
        "f6f7f1d2dc6e8fad5d6ff9a56af9929488873b4f",
        "a803371535e98e522c1044f0963ec8229e437b4f"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Jun 12 19:04:01 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 12 19:04:01 2012 -0700"
      },
      "message": "Merge \"Set detached wallpaper on the scale up animation.\" into jb-dev"
    },
    {
      "commit": "f6f7f1d2dc6e8fad5d6ff9a56af9929488873b4f",
      "tree": "90c21e60d27a114281276e3a49ad8dc620efdd9e",
      "parents": [
        "fdcac45b6767caaac70c30fd974dce61119f79d7"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jun 12 17:12:08 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jun 12 17:12:08 2012 -0700"
      },
      "message": "Low disk space string change, surface state.\n\nSurface current low disk state through IPackageManager for use in\nSettings app.\n\nBug: 6576409\nChange-Id: I9ae9ce99a2faa3015a237036c03567d1ae11628f\n"
    },
    {
      "commit": "a803371535e98e522c1044f0963ec8229e437b4f",
      "tree": "defd7408489381973394bd4326fb7736630bee36",
      "parents": [
        "f958732bd3924205d9f8bda94f4f6e3bb4045b28"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Jun 12 15:50:45 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Jun 12 15:50:45 2012 -0700"
      },
      "message": "Set detached wallpaper on the scale up animation.\n\nThis keeps the background wallpaper from disappearing when expanding an\napp that has a wallpaper background (e.g. clock).\n\nFixes bug 6649988. The second half of the bug, the first half will be\nreissued as a new bug.\n\nChange-Id: I209c9038469e4133586a927c92ef64ae43fb937f\n"
    },
    {
      "commit": "4d6a0df37930309f8e138499785483d9dcadf7d9",
      "tree": "25ca50020a450403565218941a1266ea227b9952",
      "parents": [
        "085c4825897bbbfa0f8564c2de45f74d7bea4029",
        "9fec779587a425450bff021cdd8c83c3d3d3a869"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Jun 12 15:45:37 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 12 15:45:37 2012 -0700"
      },
      "message": "Merge \"Do not cancel animations when switching.\" into jb-dev"
    },
    {
      "commit": "4cabbef8266c909997cf608d008920f5a2f49937",
      "tree": "b251055ea27b1c30600876b8aeaa67944c55fa0d",
      "parents": [
        "36eeb6a5be895bfba0405d34062d0db5b118a329",
        "5007ddded6ec4b47c253d3c039806eb5dd77b40e"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jun 12 13:38:56 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 12 13:38:56 2012 -0700"
      },
      "message": "Merge \"Make sure to stop noHistory\u003d\"true\" activities properly\" into jb-dev"
    },
    {
      "commit": "5007ddded6ec4b47c253d3c039806eb5dd77b40e",
      "tree": "e0c4a4446e13cf8833688b8df9fbfcec6905547b",
      "parents": [
        "0d8eba64b2ee2921915e0f6793ddd2d8f44e2428"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jun 12 13:08:18 2012 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jun 12 13:08:18 2012 -0700"
      },
      "message": "Make sure to stop noHistory\u003d\"true\" activities properly\n\nThe code was correctly inducing a \u0027finish\u0027 when such an activity was\nbeing stopped, but then was not continuing with the rest of the stop\nbookkeeping at that point.  In some circumstances this could result\nin an inconsistent state, with the activity marked as finishing but\nneither in the foreground nor stopped.\n\nBug 6585403\n\nChange-Id: Ib5c5be885bc6534e099e040d87a8589f7b7454ce\n"
    },
    {
      "commit": "9fec779587a425450bff021cdd8c83c3d3d3a869",
      "tree": "ee2403dc809b38603055c97a639f95d9f4627676",
      "parents": [
        "f958732bd3924205d9f8bda94f4f6e3bb4045b28"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Jun 12 11:13:41 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Jun 12 11:13:41 2012 -0700"
      },
      "message": "Do not cancel animations when switching.\n\nWas canceling ongoing animations when starting a new animation which\ncaused the window of the first animation to restart. This looked\njanky. The original cancellation was put in to stop the incorrect\nanimation being selected when quickly switching between an incoming\napp and the homescreen. Reversing the cancellation no longer exposes\nthe original problem it was put in to fix.\n\nOne way to duplicate what this is fixing.\n1. Slow down animations to 10x.\n2. Run ApiDemos/App/Alert Dialogs/List dialog\n3. Tap outside the list dialog and then tap the home button.\nTapping outside the list dialog causes the list dialog to animate\naway. Tapping the home button then causes the app to animate away.\nBefore this fix the list dialog would revert to full size before\nthe app animates away. With this fix the list dialog continues its\noriginal animation as the app animates away.\n\nFixes bug 6600726.\n\nChange-Id: I29c940254808a321c3b6c2e4f4b7c78a72b47899\n"
    },
    {
      "commit": "0fa77c1e0fc218040efc570936e988dbeece399c",
      "tree": "9d95b2857de99ab8b0023041cc9b2c11304a3985",
      "parents": [
        "c38869abe5d89b7f9e66f23599889e17b93b5eec"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Jun 11 15:57:19 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Jun 11 16:30:48 2012 -0700"
      },
      "message": "Remove over aggressive optimization.\n\nIt turns out that sometimes the wallpaper target is migrated to the\nbottom of the window stack and then mWallpaperTarget is set to null.\nIn particular this happens when the launcher all-apps screen is\nbrought up. When this happens the layer of the wallpaper is\ncorrectly set below the previous wallpaper target.\n\nAn optimization in WindowAnimator was keeping the layer update from\npropagating to the Surface object. This fix removes that optimization.\n\nFixes bug 6631717.\n\nChange-Id: I800dd043ce8df83b4e5edbf710503135396bc01e\n"
    },
    {
      "commit": "c38869abe5d89b7f9e66f23599889e17b93b5eec",
      "tree": "90d3af88ba6277f0291b04dfbb8809c539a4a9bb",
      "parents": [
        "a5bbb8987b98fdbef45549103f70979f4e1e9e4d"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Jun 11 16:27:54 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Jun 11 16:30:48 2012 -0700"
      },
      "message": "Revert \"Merge errors.\"\n\nThis reverts commit b0419a52008e57475ee254def1da20451da22d4c.\n"
    },
    {
      "commit": "a5bbb8987b98fdbef45549103f70979f4e1e9e4d",
      "tree": "9d95b2857de99ab8b0023041cc9b2c11304a3985",
      "parents": [
        "64dbcd64be34f83e51229891da865ca047b4f5f4"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Jun 11 16:26:14 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Jun 11 16:30:48 2012 -0700"
      },
      "message": "Merge errors.\n\nChange-Id: I33d0b1aa5dc5018cc879d2e9878e4825adaa4074\n"
    },
    {
      "commit": "64dbcd64be34f83e51229891da865ca047b4f5f4",
      "tree": "90d3af88ba6277f0291b04dfbb8809c539a4a9bb",
      "parents": [
        "519e91ef84aab79d0e18ba72e8a133d2306b821c",
        "c016aaaa42f2d7f758bb6d973f035285e3d3dd87"
      ],
      "author": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Mon Jun 11 16:17:35 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 11 16:17:35 2012 -0700"
      },
      "message": "Merge \"Tweak recents out animation a bit more\" into jb-dev"
    },
    {
      "commit": "c016aaaa42f2d7f758bb6d973f035285e3d3dd87",
      "tree": "8bbd966908fb3dc70c6747e7c5fc73a88e8f1acf",
      "parents": [
        "a7e3a1e0e7d308e7e78a1992038a34485d04ab29"
      ],
      "author": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Tue Jun 05 17:22:24 2012 -0700"
      },
      "committer": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Mon Jun 11 15:23:20 2012 -0700"
      },
      "message": "Tweak recents out animation a bit more\n\nBug: 6490204\n\n-Fading to black in the recents layer\n-Tweaking duration and interpolators\n-Removing some unnecessary debug exceptions (Bug: 6642072)\n\nChange-Id: Iba18fade7f874078111fc1d79a81830ee07617d4"
    },
    {
      "commit": "409d563b51853fc9dce6b4c02df84f58ec887afd",
      "tree": "1c1eef0a325690dad54cadc0c2a0ec6653df1e14",
      "parents": [
        "47adf865bddf6c81051d457e04785408d2710f60",
        "ac5f998396d6a3f1fa5bab131eb170e0fbcb375c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 11 13:20:35 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 11 13:20:35 2012 -0700"
      },
      "message": "Merge \"DO NOT MERGE: Cherry-pick 2ed524966d3c4bd04ea5f54026ed59558d73cd44 to JB.\" into jb-dev"
    },
    {
      "commit": "47adf865bddf6c81051d457e04785408d2710f60",
      "tree": "a208ea18c2004f950022304ff709e95a891e25a3",
      "parents": [
        "0f6471ace77387560988964ed0679f843bba6f1f",
        "b9836b9185132974f6cfa9296bb3c28d1c9b668a"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Jun 11 13:10:01 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 11 13:10:01 2012 -0700"
      },
      "message": "Merge \"Fix exposing wallpaper on rotations and other.\" into jb-dev"
    },
    {
      "commit": "ac5f998396d6a3f1fa5bab131eb170e0fbcb375c",
      "tree": "cd79a00250c4627ac6a30a3501d761bde6d5a366",
      "parents": [
        "a7e3a1e0e7d308e7e78a1992038a34485d04ab29"
      ],
      "author": {
        "name": "Vairavan Srinivasan",
        "email": "vairav@codeaurora.org",
        "time": "Tue May 22 00:06:15 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 11 13:06:41 2012 -0700"
      },
      "message": "DO NOT MERGE: Cherry-pick 2ed524966d3c4bd04ea5f54026ed59558d73cd44 to JB.\n\nThis was contributed from AOSP, a fix to the management of URI write\npermissions.  This is a very blatant bug, and with the new Intent ClipData\nand other stuff we are making much more use of write permissions in JB,\nso it is well worth taking.\n\nChange-Id: I58c86119b4d5c13fefd090944bea139803df1a48\n"
    },
    {
      "commit": "d667aebfb34085960e2b41a2f52d10ae749ec44c",
      "tree": "cc9ad93aab130fcb6b93a822669fef0891a3e93d",
      "parents": [
        "926a5c507b2e532d1f1348dc8a5672b76ae1f4dc",
        "dadc857d9de364fded10d4f69eb82bc9cd35d4b7"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Mon Jun 11 11:49:46 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 11 11:49:46 2012 -0700"
      },
      "message": "Merge \"VPN: move VpnDialogs away from system uid.\" into jb-dev"
    },
    {
      "commit": "b9836b9185132974f6cfa9296bb3c28d1c9b668a",
      "tree": "9946dd46489a35be4e9752790090068cc76ebe38",
      "parents": [
        "78fc35bde452c2fea18ecf9d8aeedee6d82ba1eb"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Jun 11 11:40:09 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Jun 11 11:40:09 2012 -0700"
      },
      "message": "Fix exposing wallpaper on rotations and other.\n\n1. Rotations do not go through standard closing of animations so the\nwallpaper was not being hidden when the wallpaper target surface was\ndestroyed. This fix adds hiding the wallpaper when the wallpaper\ntarget is destroyed.\n\n2. The wallpaper target is nulled when switching from launcher home\nscreen to launcher all apps. In this case the wallpaper remains\nvisible but below visible layers. It should be hidden so that when\nthose layers adjust it is not exposed. (Separate fix for adjusting\nwallpaper in this case will come).\n\nFixes bug 6629464.\n\nChange-Id: I522f97dafc0cdcc0f933a825ec9a29d8f63590b5\n"
    },
    {
      "commit": "a7e3a1e0e7d308e7e78a1992038a34485d04ab29",
      "tree": "5714a6058e534f2c136eb146eb074ec8d2a54eb6",
      "parents": [
        "913bf80416a81f2783376939e7ad0b956975b05c",
        "f72467ad9843bf5d4b75fb308386e77ebb5c3447"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 11 10:37:51 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 11 10:37:51 2012 -0700"
      },
      "message": "Merge \"Include important native processes in watchdog stacks.\" into jb-dev"
    },
    {
      "commit": "b7726159e3ee29b45381ede8446c1e87fbbaa23a",
      "tree": "cca4147e97fe828bb7cf477b5a925a64e1fcf170",
      "parents": [
        "86bbf70587602c1fd86fce1a2a4be78da45aaedc",
        "e45c0b230ba92d7daf8bf625a59bd87d5948101b"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun Jun 10 09:59:24 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jun 10 09:59:24 2012 -0700"
      },
      "message": "Merge \"Crash in the touch explorer.\" into jb-dev"
    },
    {
      "commit": "f72467ad9843bf5d4b75fb308386e77ebb5c3447",
      "tree": "65fbe419f8942bdb0a9c3d991bd510aaff23351f",
      "parents": [
        "2e6f9be5633cf37223425b9b93c0b1512db091af"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 08 17:23:59 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 08 18:36:48 2012 -0700"
      },
      "message": "Include important native processes in watchdog stacks.\n\nHelps us track down deadlocks involving native service processes.\n\nBug: 6615693\nChange-Id: I580047550772e29586195a8cf440141574e3f40c\n"
    },
    {
      "commit": "e45c0b230ba92d7daf8bf625a59bd87d5948101b",
      "tree": "c281fce2f77ca047fb72bb73c0cfe6d467a76778",
      "parents": [
        "4206ee2b680fb2c273c03efc9083e327c7051121"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Jun 08 17:44:29 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Jun 08 17:49:52 2012 -0700"
      },
      "message": "Crash in the touch explorer.\n\n1. The touch explorer was notified for accessibility events from\n   a binder thread which was poking the internal state of the\n   latter which by design is not tread safe. Since the touch\n   explorer is expected to be running only on the main thread\n   the accessibility manager service delivers the accessibility\n   events to the explorer on that thread.\n\nbug:6635496\n\nChange-Id: Ifdc5329e4be8e485d7f77f0fb472184494fa0d15\n"
    },
    {
      "commit": "ee33ad24cdc31ed0d7f99e110e041b0a63c9b0f1",
      "tree": "bdae1442798fdc5891a18ef85da0261c974334a7",
      "parents": [
        "4206ee2b680fb2c273c03efc9083e327c7051121"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Jun 08 16:09:29 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Jun 08 16:09:36 2012 -0700"
      },
      "message": "Settings crash after enabling TalkBack accessibility.\n\n1. AccessibilityInput filter was not checking whether the touch\n   explorer instance is not null before passing it an accessibility\n   event. If the accessibility event is dispatched before the input\n   filter is installed but after it is created we runt into this\n   case.\n\n2. Added a missing null check in accessibility node info.\n\nbug:6635089\n\nChange-Id: Ia389dc1f427427eb73794f6331ccb870e0b44c55\n"
    },
    {
      "commit": "78fc35bde452c2fea18ecf9d8aeedee6d82ba1eb",
      "tree": "e21400e104c9cc6d25ba1efaf8fa49927b2b3e53",
      "parents": [
        "7f786b8fa20619dcd69324c521cb59242a8f2944",
        "ff92f04e76cb141caba6bf767618b1c5153242c1"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Jun 08 13:14:54 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 08 13:14:54 2012 -0700"
      },
      "message": "Merge \"Hide wallpaper when wallpaper target gets hidden.\" into jb-dev"
    },
    {
      "commit": "dadc857d9de364fded10d4f69eb82bc9cd35d4b7",
      "tree": "10aefdaa7a72cadf4025187dc12e6977a40bc6f4",
      "parents": [
        "37e0c3681ef403e5a43a4f3dbca954ec8a4bfb5d"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Fri Jun 08 13:05:58 2012 -0700"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Fri Jun 08 13:05:58 2012 -0700"
      },
      "message": "VPN: move VpnDialogs away from system uid.\n\nBug: 6632536\nChange-Id: Iece647c077caf5298ccfe7d7aba5f0911a4ed0d1\n"
    },
    {
      "commit": "ff92f04e76cb141caba6bf767618b1c5153242c1",
      "tree": "258e4ec9e164d00e3b083ab45bfa370cd547314d",
      "parents": [
        "fab75dc830039b5aa1463aea55ceee2de279ec52"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Jun 08 12:56:14 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Jun 08 12:56:14 2012 -0700"
      },
      "message": "Hide wallpaper when wallpaper target gets hidden.\n\nAnother location that potentially hides the wallpaper target while\nleaving the wallpaper itself still visible. Causes the wallpaper to\nshow up when upper surfaces are transparent all the way down.\n\nFixes bug b6621986.\n\nChange-Id: If75053160f041eb78868eda36b7820fb2110d069\n"
    },
    {
      "commit": "7f786b8fa20619dcd69324c521cb59242a8f2944",
      "tree": "d19cf1795dbe93adf654d06dcd38e3832da5b207",
      "parents": [
        "8325eee0c29a6497b33c4b2cb32e242625186a70",
        "291576ec6f0b55084caa330db4b9fdaf83dae367"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Jun 08 12:48:19 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 08 12:48:19 2012 -0700"
      },
      "message": "Merge \"Do not animate keyboard and button brightness.\" into jb-dev"
    },
    {
      "commit": "fab75dc830039b5aa1463aea55ceee2de279ec52",
      "tree": "2c1fac6b89cdc26068c439df7e4c7c06cd5129e4",
      "parents": [
        "7cd464292bc1012a46479898b0ee69c5e38dfe35",
        "236a35b77a1b48b11e7ad5ce9774e41ef6500a29"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Jun 08 11:36:36 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 08 11:36:36 2012 -0700"
      },
      "message": "Merge \"Turn off dimming immediately for removed windows.\" into jb-dev"
    },
    {
      "commit": "0876ab0ac17518c479e9dffe025884870a586d9c",
      "tree": "06c9f837ba6cfc6d538e0c9d7515aafa6accb872",
      "parents": [
        "f2427580732b3651fb97ac4859334718d2260d15",
        "d0c5f515c05d05c9d24971695337daf9d6ce409c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 08 11:01:42 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 08 11:01:42 2012 -0700"
      },
      "message": "Merge \"Fix issue #6295373: \"Package com.google.android.apps.authenticator2 has...\" into jb-dev"
    },
    {
      "commit": "236a35b77a1b48b11e7ad5ce9774e41ef6500a29",
      "tree": "c8115d3b00a7299dd54efbb0eecad5f39f01cfdb",
      "parents": [
        "a9144ffd6466a914a9138dabab8bc331fdc70e2f"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Jun 08 09:54:59 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Jun 08 09:54:59 2012 -0700"
      },
      "message": "Turn off dimming immediately for removed windows.\n\nDimming was only turning off immediately for app-animated windows.\nFor removed windows dimming wouldn\u0027t turn off until the window was\ncompletely gone.\n\nFixes bug 6628057.\n\nChange-Id: I3ba6501b10a31b6f8c91012e17ad8734a84050c4\n"
    },
    {
      "commit": "291576ec6f0b55084caa330db4b9fdaf83dae367",
      "tree": "a2701884f81be3baa4a90d3fa9da38c7e92a4414",
      "parents": [
        "a9144ffd6466a914a9138dabab8bc331fdc70e2f"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Jun 07 19:58:58 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Jun 08 09:22:36 2012 -0700"
      },
      "message": "Do not animate keyboard and button brightness.\n\nKeyboard and button brightness are always set to assign values\nimmediately but were being passed through the animation process\nanyways. This interfered with the state of the screen brightness\nanimation. Intercept keyboard and button brightness directives and\nimplement them immediately.\n\nAlso use actual screen brightness and value to determine when we\nare dimming or brightening. Previously we were using the sensor\nvalues to determine whether the action called for was to brighten or\ndim. This looks at the actual screen brightness level to make that\ndetermination. If the two values get out of sync it is better to rely\non the screen value than the sensor value.\n\nFixes bug 6626681.\n\nChange-Id: I82158f5188ffb739e01f818ba88e79f03a405c58\n"
    },
    {
      "commit": "f27f2f8f71f584471fe558845c24121e957b2cf2",
      "tree": "b42e814d80cd646f2aeacfc7d3930372b8b58a6f",
      "parents": [
        "4d94ecb223866b695db64065ed62b6773aa47d07",
        "84e35eadfba001bf3b99877ce28bfbd4a32a2e08"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Jun 08 09:16:40 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 08 09:16:40 2012 -0700"
      },
      "message": "Merge \"Delete old forward-locked apps on upgrade\" into jb-dev"
    },
    {
      "commit": "75fb3e7ac25099d9f6f0a4c34ee0aa7db2dd5d65",
      "tree": "22e8a511339f65b62e600b3490bea5bda4c43968",
      "parents": [
        "fca9ff387178b4d3c4205427e2d52ef4a5996fe2",
        "385d9f24b5ce2acb86c0dc192ce702718ab01c39"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Jun 07 19:52:19 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 07 19:52:19 2012 -0700"
      },
      "message": "Merge \"Cannot click on the last touch explored auto-completion item.\" into jb-dev"
    },
    {
      "commit": "d0c5f515c05d05c9d24971695337daf9d6ce409c",
      "tree": "bce8b771249be92852eb2914c0d8927ee4ab18ab",
      "parents": [
        "0646411cbd91039e843c0f3067ea0a379176978a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 07 16:53:59 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 07 16:57:57 2012 -0700"
      },
      "message": "Fix issue #6295373: \"Package com.google.android.apps.authenticator2 has...\n\n...mismatched uid: X on disk, Y in settings\" errors on Froyo and Gingerbread\n\nDeal more gracefully with the uid changing in three ways:\n\n1. If the uid on disk has become root, then have installd change it to\n   the application\u0027s uid.  This is to correct a potential case where\n   installd was interrupted while linking or unlinking the libs dir,\n   during which it temporarily changes the owner of the dir to root\n   so that a malicious app can not get in its way.  So if the uid on\n   disk has become root, we assume we can safely just change it back\n   to the correct uid.\n\n2. When scaning packages at boot, use the same \"delete and rebuild data\n   directory\" code for third party applications as we have for system\n   applications.  This allows us to at least end up in a state where the\n   app will run, even if its data is lost.\n\n3. But we really don\u0027t want to get in to case 2, so if an application\n   update is being installed and we find that the uid we now have for\n   the app is different than the one on disk, fail the update.  This will\n   protect against for example a developer changing the sharedUserId of\n   their app and getting into this bad state.\n\nBug: 6295373\nChange-Id: Ic802fdd818ac62449ff3c61d1fff1aa4d4942f39\n"
    },
    {
      "commit": "385d9f24b5ce2acb86c0dc192ce702718ab01c39",
      "tree": "c04565ea56a1e8839636d014affe18ece26c9b04",
      "parents": [
        "86783474fdec98a22bc22e224462767eab13e273"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Jun 07 16:35:04 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Jun 07 16:35:11 2012 -0700"
      },
      "message": "Cannot click on the last touch explored auto-completion item.\n\n1. When typing into an auto completion edit field a list of completions pops up and if\n   the user touch explores the list and tries to double tap to select the touched\n   completion the latter is not selected.\n\n   The auto completion is a popup that does not take input focus and is overlaid on\n   top of the window that has input focus. The touch explorer was clicking on the\n   location of the accessibility focus if the last touch explored location is within\n   the bounds of the active window. In this case this was the window with the edit\n   text into which the user is typing. The check performed by the touch explorer\n   was missing the case when the last touch explored location was within the bounds\n   of the active window but it actually was deloverd to another overlaid window.\n   Now we are poking on the accessibility focus location if the last explored\n   location is within the active window and was delivered to it.\n\nbug:6629535\n\nChange-Id: Ie66d5bb81ab021f2bb0414339b7de26d96826191\n"
    },
    {
      "commit": "87353093ef98f13c45c418884734460a1b09c149",
      "tree": "415b770965e7fbd75b951d60157cdcc9eafeb821",
      "parents": [
        "0e0ce11e57a9506ad4429269732f3b7144875a84",
        "2afded11aad8e3228a0f71585ecfb89c6c54b066"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Jun 07 15:40:54 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 07 15:40:54 2012 -0700"
      },
      "message": "Merge \"Measure ASECs for forward-locked apps\" into jb-dev"
    },
    {
      "commit": "906272b977f5bfd977ca69d0826bb95ba3fcda63",
      "tree": "e19a2dc16c283e12ccf7ed10f6b52b133dff633c",
      "parents": [
        "78c6aeeffac7b665a0e1d822e88c92ef2b5ef353",
        "c7a8999a52351c0c49dbbb25d6d1ccb1a3c12883"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Jun 07 14:21:14 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 07 14:21:14 2012 -0700"
      },
      "message": "Merge \"Only call fixSdPermissions when appropriate\" into jb-dev"
    },
    {
      "commit": "2afded11aad8e3228a0f71585ecfb89c6c54b066",
      "tree": "87ddc6aee0031f0df69164d074fa0933c9580b60",
      "parents": [
        "b7161f578642df90c44728c175e31fca198aaddb"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Jun 04 16:39:47 2012 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Jun 07 13:23:10 2012 -0700"
      },
      "message": "Measure ASECs for forward-locked apps\n\nForward-locked apps are mostly in ASEC containers now, so the\ncontainers need to be measured as well.\n\nBug: 6606390\nChange-Id: I69e9fe47aabe1e130568779a45fe8000b3ce9d4c\n"
    },
    {
      "commit": "c7a8999a52351c0c49dbbb25d6d1ccb1a3c12883",
      "tree": "3b9460c8e3580e0816658f476b329cb0ecdaadc3",
      "parents": [
        "b7161f578642df90c44728c175e31fca198aaddb"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Jun 05 15:13:17 2012 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Jun 07 12:50:15 2012 -0700"
      },
      "message": "Only call fixSdPermissions when appropriate\n\nWhen media packages were loaded, they would lose their forward-locked\nstatus since the flags covering it was not available when the\ndoPostInstall step was called.\n\nBug: 6611980\nChange-Id: I807fcec6b61cedf7654808b704fba7de9c7c1922\n"
    },
    {
      "commit": "86783474fdec98a22bc22e224462767eab13e273",
      "tree": "38ca4f46402c35874a2960ea9bc2da16ca4eb2eb",
      "parents": [
        "fefd48965c5f521f21c10aad86586cf68ae48f71"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Jun 06 21:12:20 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Jun 07 12:02:16 2012 -0700"
      },
      "message": "Cannot interact with dialogs when IME is up and on not touch explored popups.\n\n1. If the last touch explored location is within the active window we\n   used to click on exact location if it is within the accessibility\n   focus otherwise in the accessibility focus center. If the last touch\n   explored location is not within the active window we used to just\n   click there. This breaks in the case were one has touch explored\n   at a given place in the current window and now a dialog opens *not*\n   covering the touch explored location. If one uses swipes to move\n   accessibility focus i.e. to traverse the dialog without touching\n   it one cannot activate anything because the touch explorer is using\n   the last touch explored location that is outside of the active\n   window e.g the dialog.\n\n   The solution is to clear the last touch explored location when a\n   window opens or accessibility focus moves. If the last touch\n   explored location is null we are clicking in the accessibility\n   focus location.\n\nbug:6620911\n\n2. There is a bug in the window manager that does not notify a\n   window that its location has changed (bug:6623031). This breaks\n   accessibility interaction with dialogs that have input because\n   when the IME is up the dialog is moved but not notified. Now\n   the accessibility layer gets incorrect location for the\n   accessibility focus and the window bounds.\n\n   The soluion is when the accessibility manager service calls\n   into the remove thress to obtain some accessibility node infos\n   it passes the window left and top which it gets from the\n   window manager. These values are used to update the attach info\n   window left and top so all accessibility node infos emitted\n   from that window had correct bounds in screen coordinates.\n\nbug:6620796\n\nChange-Id: I18914f2095c55cfc826acf5277bd94b776bda0c8\n"
    },
    {
      "commit": "84e35eadfba001bf3b99877ce28bfbd4a32a2e08",
      "tree": "7a3f51e1ed19669d41cc856b8f048e2a5a484da6",
      "parents": [
        "b7161f578642df90c44728c175e31fca198aaddb"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jun 06 16:05:05 2012 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jun 06 16:06:21 2012 -0700"
      },
      "message": "Delete old forward-locked apps on upgrade\n\nThe old style forward-locked apps were in a directory called\n/data/app-private but the new style forward-locked apps are in ASEC\ncontainers. This made the upgrade path confused and it wouldn\u0027t\ncorrectly generate the InstallArgs to delete the old file.\n\nBug: 6619438\nChange-Id: If4323fa8701d9fc653998f5db58670b4124b9e87\n"
    },
    {
      "commit": "a9144ffd6466a914a9138dabab8bc331fdc70e2f",
      "tree": "bddb2e563ad593258622dd608f4c0cf0e860d172",
      "parents": [
        "4ca17df3802cad87a4d07b804823ad9c11e090ea",
        "a4e96d5a6e07f342f1a4b972c1620340cb289de8"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Jun 06 15:24:36 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 06 15:24:36 2012 -0700"
      },
      "message": "Merge \"Disable automatic screen dimming.\" into jb-dev"
    },
    {
      "commit": "a4e96d5a6e07f342f1a4b972c1620340cb289de8",
      "tree": "70ab3e0928a050555226f13ec4686e5103824cc9",
      "parents": [
        "b215726a0e46400c8dbc4a585c2f4200c7a619b6"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Jun 06 14:49:44 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Jun 06 14:49:44 2012 -0700"
      },
      "message": "Disable automatic screen dimming.\n\nDone by setting the dimming period to Integer.MAX_VALUE. While it\ndoesn\u0027t technically disable dimming it will take 248 days to get to\nany target value.\n\nFixes bug 6616423.\n\nChange-Id: I5b753286b9d93664fbff79021be38adf4d8a007d\n"
    },
    {
      "commit": "3793368f72b284950aa917273193e30739c8cdf7",
      "tree": "d0ce0983b8d965f2ac2d5b2cf14590a3a189a8d6",
      "parents": [
        "b215726a0e46400c8dbc4a585c2f4200c7a619b6"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Jun 06 14:13:39 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Jun 06 14:13:39 2012 -0700"
      },
      "message": "Set screen brightness to match sensor at power on.\n\nUse the first sensor value received after screen on to set the screen\nbrightness. Do this setting immediately rather than animate to the\ntarget brightness.\n\nFixes bug 6612418.\n\nChange-Id: I6c24c55e0bd35ef58a6494d3b5e449954241fd00\n"
    },
    {
      "commit": "1e1228505d1704eab2dabb446c14518c6ae4ddc0",
      "tree": "0df654c4488b99495b92f342c08cef00168f23bc",
      "parents": [
        "804e822c56473ce71d1f912c617ff05b474a7af6",
        "bd145dbfd720d0e2ddd879492837da0f47ac11a8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 05 18:01:29 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 05 18:01:29 2012 -0700"
      },
      "message": "Merge \"Fix issue #6609383: java.lang.SecurityException: Requires...\" into jb-dev"
    },
    {
      "commit": "bd145dbfd720d0e2ddd879492837da0f47ac11a8",
      "tree": "7e668323bb1c6b9325ab212fce17829f00095f22",
      "parents": [
        "1ad66b2f873496bcbe72e91d1978cf1b2633b3a4"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 05 16:20:46 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 05 16:20:46 2012 -0700"
      },
      "message": "Fix issue #6609383: java.lang.SecurityException: Requires...\n\n...MANAGE_APP_TOKENS permission\n\nBug: 6609383\nChange-Id: I5ce8ac1ec496af50477111b46e6daea81181e3ca\n"
    },
    {
      "commit": "cab5b8a91d6fbcbb694284038f5529ff02f10f78",
      "tree": "f918e92c404a56b5615add1222e5238f63d1d6f9",
      "parents": [
        "35b691f056159e938a256420f6d3dec1ebf8bfd9",
        "e47957a0bbe2164467ff6e7a566b0c9e4689cdc9"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Jun 05 15:55:42 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 05 15:55:42 2012 -0700"
      },
      "message": "Merge \"Nodes with contentDescription should always be important for accessibility.\" into jb-dev"
    },
    {
      "commit": "e47957a0bbe2164467ff6e7a566b0c9e4689cdc9",
      "tree": "3b7e214111a43302ecc6cc298e9856c43a3e01bb",
      "parents": [
        "1c20cc5c063bf4238309827176bb84b3e512e119"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Jun 05 14:46:50 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Jun 05 14:48:58 2012 -0700"
      },
      "message": "Nodes with contentDescription should always be important for accessibility.\n\n1. Now after setting the content description on a view we mark is as\n   important for accessibility of the current important for accessibility\n   mode of that view is auto.\n\n2. Minor tweak to a touch explorer coefficient to make performing double\n   tapping easier.\n\nbug:6615353\n\nChange-Id: I3b477f533a3ebde85d425caf32ace5e851240f88\n"
    },
    {
      "commit": "35b691f056159e938a256420f6d3dec1ebf8bfd9",
      "tree": "c669553cafd25ec634b71c9220bf4bfb3960aabb",
      "parents": [
        "3676b137ecf2f24e88e8a3567c11234e7d4416d2",
        "ad5725d7985a784056b02b97ab76357a667a6ad4"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Jun 05 13:40:14 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 05 13:40:14 2012 -0700"
      },
      "message": "Merge \"Eliminate wallpaper exposure during transition.\" into jb-dev"
    },
    {
      "commit": "ad5725d7985a784056b02b97ab76357a667a6ad4",
      "tree": "4febfb6286f2f9e1f127c4051d4ffabb123e51a9",
      "parents": [
        "ab886f588d4086214e66eed548ea3edd77f8d2ba"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Jun 05 10:20:56 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Jun 05 10:20:56 2012 -0700"
      },
      "message": "Eliminate wallpaper exposure during transition.\n\nMake sure that the wallpaper target exists and is visible before\nexposing the wallpaper.\n\nFixes bug 6570335.\n\nChange-Id: I1dddfe26683e84fd813e7bee884ba2bd4bb85272\n"
    },
    {
      "commit": "ccf97dc1afc1b0f99ced0b5324e383edd5ee8246",
      "tree": "68942ab4a308feeb1b636e9813314bd52690ff5c",
      "parents": [
        "5751f816f06454ea48bc25f56051878e0ce82dc1",
        "c682fc965df2518a95d23e39ec51d788100d20ec"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Jun 04 23:06:42 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 04 23:06:42 2012 -0700"
      },
      "message": "Merge \"Global accessibility action to open recent apps shows the old dialog style.\" into jb-dev"
    },
    {
      "commit": "5751f816f06454ea48bc25f56051878e0ce82dc1",
      "tree": "c394f0c10affe2a9db48653502b881406047f2ba",
      "parents": [
        "69609ed40260b67d5ee6baace9d60cf9b677f4c9",
        "919aca5663be997eb238a9635e742858d29b8592"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Jun 04 22:53:00 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 04 22:53:00 2012 -0700"
      },
      "message": "Merge \"Add contentobserver for nsd_on setting\" into jb-dev"
    },
    {
      "commit": "919aca5663be997eb238a9635e742858d29b8592",
      "tree": "48ef29751b517262328ddf57ca7a645e72bb20c1",
      "parents": [
        "a3489c50b6341a79aeb5d469debf6e77b7c298d9"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Jun 01 16:44:13 2012 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Jun 04 15:54:30 2012 -0700"
      },
      "message": "Add contentobserver for nsd_on setting\n\nBug: 6606274\nChange-Id: I863b9e2a2446d697f3c9c49f24dcdc2b599f091e\n"
    },
    {
      "commit": "c682fc965df2518a95d23e39ec51d788100d20ec",
      "tree": "a02d8929659cd08ed5ba9532d4b6b079a3fe1a0c",
      "parents": [
        "01827ce9f2d5f4441c7f7b0211d2739824320daf"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Jun 04 14:02:09 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Jun 04 14:06:45 2012 -0700"
      },
      "message": "Global accessibility action to open recent apps shows the old dialog style.\n\n1. The global action to open recent apps shows the old dialog style rent apps\n   panel. Apparently the key code to open recent apps is not opening the new\n   UI so the AccessibilityManagerService is calling directly the method on\n   the IStatusBarSerivce to do so.\n\nbug:6607664\n\nChange-Id: I94c1963b07947776bf1c2448903b26f3603f9a59\n"
    },
    {
      "commit": "ab886f588d4086214e66eed548ea3edd77f8d2ba",
      "tree": "3b5388422c5623ff8ccc6d31fb234ab05f3c2f95",
      "parents": [
        "51df04b93e8e362edd867abd7efaf1659b8b8b82"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Mon Jun 04 14:36:25 2012 -0400"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Jun 04 13:57:49 2012 -0700"
      },
      "message": "Don\u0027t do closing animation on an opening app.\n\nCheck to make sure that the closing wallpaper animation isn\u0027t used on\nan opening app token. This can happen when a previous animation hasn\u0027t\ncompleted when the next animation is starting.\n\nFixes bug 6557751.\n\nChange-Id: Ib8bd4dd7de1e361f6fc0cab11d0997e70f9ddd0b\n"
    },
    {
      "commit": "6593be0c200f69d932e40e05e9df54b89c157c48",
      "tree": "d7062fe03bb70c80d9ef24819d54eeaed94f7786",
      "parents": [
        "7b4799cafa6624862a172aaf2ececf661850b03c",
        "84375876fcef73c5fa9c3de205c7db908ee14e15"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 04 10:29:32 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 04 10:29:32 2012 -0700"
      },
      "message": "Merge \"Work on issue #6579997: Mariner entrance animation\" into jb-dev"
    },
    {
      "commit": "cc822a769e752c2845dc795f05b7b35b5b3f6614",
      "tree": "7b122533c2852263d0c238691ab638fa5b8016cf",
      "parents": [
        "b6585d19311f13ec28fa38a3c849589dba8c293a",
        "cd94caf2bb94f07522ea5bbf0e37dea960b38220"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun Jun 03 20:30:12 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jun 03 20:30:12 2012 -0700"
      },
      "message": "Merge \"Touch exploration gesture end not delivered to clients.\" into jb-dev"
    },
    {
      "commit": "cd94caf2bb94f07522ea5bbf0e37dea960b38220",
      "tree": "bab0081dd65b10c9ac672aeee19c9ec4d6d005f8",
      "parents": [
        "01827ce9f2d5f4441c7f7b0211d2739824320daf"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun Jun 03 19:34:34 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun Jun 03 19:34:38 2012 -0700"
      },
      "message": "Touch exploration gesture end not delivered to clients.\n\n1. Touch exploration gestures are demarcated by start and end\n   events. Due to a bug in the AccessibilityManagerService\n   the gesture end event was not dispatched. This caused the\n   AccessibilityNodeInfoCache to be off sync since it relies\n   on getting such events not to mention that the clients were\n   not getting the end but only the start event. The issue\n   was that the notified service types variable was not reset\n   after every event so when the manager sends the last hover\n   exit it flags that the service type is already notified\n   resulting in dropping on the floor the following gesture\n   end event.\n\nbug:6539306\n\nChange-Id: I2b96bcecea3b2240199d67f01afa6a033afce1de\n"
    },
    {
      "commit": "778fa81f5da05dcc45260caa70c97971bdccf8bb",
      "tree": "c3705193841a5e3b1a2384f97cbf6dee08fb3862",
      "parents": [
        "a764816b1ae961218bd7c628ab9f0ad384eab8cd",
        "ebac1b79c4a355d8cd73b49df059deb00d7aa256"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun Jun 03 12:38:57 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jun 03 12:38:57 2012 -0700"
      },
      "message": "Merge \"Fixing a crash in the TouchExplorer.\" into jb-dev"
    },
    {
      "commit": "da652f6e51e5b255019ac020d56e262e477c2a46",
      "tree": "32c60e186b56358919f8199e9182f2950f1e16e1",
      "parents": [
        "1f3c11b7952d92ebbafa71bf0904b8137edfd440",
        "3aa7fcac1c46353c2f147d978d9eb2f2748def4a"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Sun Jun 03 00:57:23 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jun 03 00:57:23 2012 -0700"
      },
      "message": "Merge \"Revert change to correct animations.\" into jb-dev"
    },
    {
      "commit": "ebac1b79c4a355d8cd73b49df059deb00d7aa256",
      "tree": "cc655a6fa6296a5840353e1cb5379159a5177c10",
      "parents": [
        "01827ce9f2d5f4441c7f7b0211d2739824320daf"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sat Jun 02 16:26:44 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sat Jun 02 16:26:59 2012 -0700"
      },
      "message": "Fixing a crash in the TouchExplorer.\n\n1. If the runnable for performing a long press is not\n   removed when all pointers are up and it is executed\n   the explorer gets into delegating mode with no pointer\n   down and the next down crashes the explorer. Added\n   code to remove the long press runnable in a few places\n   it was missing and also added a safety in the runnable\n   to avoid executing it in case there are no active pointers.\n\nbug:6557183\n\nChange-Id: I9dab3de88fd08d8e2b38af18249ac551837c0736\n"
    },
    {
      "commit": "3aa7fcac1c46353c2f147d978d9eb2f2748def4a",
      "tree": "1771b4d6499a0f0db34d35957603aa183a7d6666",
      "parents": [
        "bde32efa209acb47324add8981577af1fa410574"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Sat Jun 02 15:31:33 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Sat Jun 02 15:31:33 2012 -0700"
      },
      "message": "Revert change to correct animations.\n\nIncorrect animation was introduced with CL 196207 (perhaps in\ncombination with a later CL). Reverting part of that CL fixes\nthe incorrect animation and so far has not reintroduced the jank\nthat was fixed by that CL. If the jank reappears it should be\nfixed in a different fashion than in CL 196207.\n\nFixes bug 6597505.\n\nChange-Id: Ie8012237a8d49810ede51bd8d78ef8c2fd91ddd4\n"
    },
    {
      "commit": "d672b241f6720201e3b8f613363d71e4291b8597",
      "tree": "aad7986a7dc8b7c29d29271a78598fa6561dd3e6",
      "parents": [
        "dba86e2dc1e89760670817f16da1d1db04ca85f7",
        "d29568cf5f1d2ce22c0c3c5f32812b64bf958f63"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Sat Jun 02 11:24:29 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jun 02 11:24:29 2012 -0700"
      },
      "message": "Merge \"Fix power manager issues.\" into jb-dev"
    },
    {
      "commit": "84375876fcef73c5fa9c3de205c7db908ee14e15",
      "tree": "230c6885be36f22ec9fb9e661aaeed57210e63af",
      "parents": [
        "ea01e4a2d5cc28093e9fd720055082b2d3f708d9"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 01 19:03:50 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 01 19:13:55 2012 -0700"
      },
      "message": "Work on issue #6579997: Mariner entrance animation\n\nAdd a new variation of ActivityOptions that allows you to\nsupply custom animation resources and get a callback when the\nanimation starts.\n\nUse this in SearchPanelView to determine when to start hiding\nthe search panel instead of having a fixed delay.\n\nFix some issues in the activity manager where we would cancel\nthe options in cases where we should actually keep them to give\nto the window manager for a transition.  (Basically when the\nactivity being started is not actually ending up launched, but\njust results in a shift in the activity stack.)\n\nNote that this is not quite what the design calls for -- the\nentire search UI is waiting and then disappearing when the\nanimation starts, instead of the ring first disappearing while\nwaiting for the time to fade out the circle.\n\nChange-Id: Iee9a404ba530908d73cdbd4a9d0d2907ac03428f\n"
    },
    {
      "commit": "d29568cf5f1d2ce22c0c3c5f32812b64bf958f63",
      "tree": "7251e45331d67c9e51c61fac723787b899cfcba4",
      "parents": [
        "bde32efa209acb47324add8981577af1fa410574"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Jun 01 16:02:47 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Jun 01 16:02:47 2012 -0700"
      },
      "message": "Fix power manager issues.\n\n1. If a new brightness animation is started while an unrelated one is\nongoing complete the old animation immediately. Unrelated means that\nthe old and new animations apply to different devices (button,\nkeyboard, or screen).\n\n2. Do not interpret turning off the keyboard or button lights as\nturning off the screen in isScreenTurningOffLocked().\n\nFixes bug 6519847.\n\nChange-Id: I53a20951036bcdb793daeff84a9ebeed44be01fc\n"
    },
    {
      "commit": "01827ce9f2d5f4441c7f7b0211d2739824320daf",
      "tree": "3d82f0dc16317c5c7fe0069b27da4477a214f739",
      "parents": [
        "0a19dba545d25760839399e4bc8ece6d9cc888da",
        "26ece57dadb5e59e619bcd5d906935837d55d5db"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Jun 01 14:31:05 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 01 14:31:05 2012 -0700"
      },
      "message": "Merge \"Be more discriminating when canceling notifications on changing packages.\" into jb-dev"
    },
    {
      "commit": "6acca2442572a28b7d9428e5e2fc2aa4271e29f9",
      "tree": "c5ca6ad075f7ea13b82e475b8b9c96a4e88f94b7",
      "parents": [
        "ea01e4a2d5cc28093e9fd720055082b2d3f708d9",
        "238099c0dbbdc66b8443552126680ad1c7cab17d"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Jun 01 14:19:05 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 01 14:19:05 2012 -0700"
      },
      "message": "Merge \"Cannot double tap and hold outside of the input focused window.\" into jb-dev"
    },
    {
      "commit": "238099c0dbbdc66b8443552126680ad1c7cab17d",
      "tree": "69adc872d92664fed388b0c9b40fc415d35e2136",
      "parents": [
        "5ab6e12b450d13c8eb501001c7a8669826b86ea4"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Jun 01 13:52:54 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Jun 01 13:59:28 2012 -0700"
      },
      "message": "Cannot double tap and hold outside of the input focused window.\n\n1. The long press routine was using the coordintates of the\n   accessibility focused item in the input focused window.\n   As a result double tap and hold did not work in a window\n   that does not take input focus such as the system bar.\n   Now the routine is using the last touch explored location\n   if it cannot find accessibility focus in the last touched\n   window.\n\nbug:6584438\n\nChange-Id: Ifd43adb20a066f389a9d4bd5716dd7ad834dd574\n"
    },
    {
      "commit": "26ece57dadb5e59e619bcd5d906935837d55d5db",
      "tree": "5179ff6008ef82c0b1a27ff4807dd58b5e4d2036",
      "parents": [
        "046fddff5beabd21b9e9e0c6ae24ba11ab444f0d"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Jun 01 15:38:46 2012 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Jun 01 16:26:46 2012 -0400"
      },
      "message": "Be more discriminating when canceling notifications on changing packages.\n\nSpecifically: don\u0027t do it if the package is enabled at the\ntime the PACKAGE_CHANGED broadcast is sent. (We only want to\ncancel notifications when packages enter the disabled\nstate.)\n\nBug: 6589355\nChange-Id: Iba754cef27e2bdff35a13e403a867933c996f562\n"
    },
    {
      "commit": "40ba4dad4c56b8a7fbae4a93a6e5385993301ad4",
      "tree": "1908d351bc6b3ab2c0be68be16c9e2709593b813",
      "parents": [
        "a3489c50b6341a79aeb5d469debf6e77b7c298d9",
        "b8203719bd037b39d12413f54d546e9ecc9e4872"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jun 01 12:47:07 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 01 12:47:07 2012 -0700"
      },
      "message": "Merge \"Add a thread to handle the radio shutdown.\" into jb-dev"
    },
    {
      "commit": "a93c2c117d502ee57dd27705a0b5efca4bf65011",
      "tree": "f8e89f166602f58d83c17399746c2c9c40cf6939",
      "parents": [
        "f0e96de863a06bbee2aaf2aeb0f586e2a434aa62"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 31 15:29:36 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 31 18:58:34 2012 -0700"
      },
      "message": "Extend process observer to be usable for media routing.\n\nIt now has a new callback to report changes in the \"importance\"\nof processes.  Rewrote the dispatching code to be a bit more\nefficient now that we are sending more reports.\n\nChange-Id: Ie865cfd286455819f04e8c14e9b6fd54d028f8f2\n"
    },
    {
      "commit": "b8203719bd037b39d12413f54d546e9ecc9e4872",
      "tree": "d53b15128e685d0793fe6ec165d391872de77e5d",
      "parents": [
        "80a1de1007ddc62e1af2a4746008f499145aeaab"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu May 31 17:39:13 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu May 31 18:37:34 2012 -0700"
      },
      "message": "Add a thread to handle the radio shutdown.\n\nProtect the ShutdownThread from possible hangs in the telephony,\nBluetooth or NFC stack while turning off the radios.\n\nBug: 6585958\nChange-Id: I6b448c854c5a0efb0eedd90437853ef2571e785b\n"
    },
    {
      "commit": "f0e96de863a06bbee2aaf2aeb0f586e2a434aa62",
      "tree": "ffaaeab25fd5148bc1b4f47602cd51a951b5f8a8",
      "parents": [
        "be5044015212b82a6e530c4516004255fe245ebe",
        "a3a041d55b2039d52da386647c235e50198e36a3"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 31 17:38:42 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 31 17:38:42 2012 -0700"
      },
      "message": "Merge \"Maybe fix #6584979: Unable to launch share chooser activity from a Notification action\" into jb-dev"
    },
    {
      "commit": "a3a041d55b2039d52da386647c235e50198e36a3",
      "tree": "1f5d5954e0cc5cf41fff079dbab5a5b20035e2f0",
      "parents": [
        "3c144c3e69405000f5c7542f20890437a4fb4987"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 31 16:18:21 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 31 16:18:21 2012 -0700"
      },
      "message": "Maybe fix #6584979: Unable to launch share chooser activity from a Notification action\n\nDon\u0027t count an activity as a system dialog to be closed, if it is the\none that asked to have system dialogs closed.\n\nChange-Id: I60bb194adde78dc3ac0a4d9b0c1dfbabd105e594\n"
    },
    {
      "commit": "35c60c944a9350d6240673e157fe06a97fb24180",
      "tree": "fff68bbd813d749e69ba3e589608d64a65e54a4c",
      "parents": [
        "593b4446fd5cac974b86988cbd03f5a8c1a4862d",
        "881656831c9734bfa4a42c56574bbd871c967a3e"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu May 31 15:35:56 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 31 15:35:56 2012 -0700"
      },
      "message": "Merge \"Use Surface layer for Surface operation.\" into jb-dev"
    },
    {
      "commit": "881656831c9734bfa4a42c56574bbd871c967a3e",
      "tree": "63adcb9a984b815705de2f804b11e2a7a90d721d",
      "parents": [
        "bde32efa209acb47324add8981577af1fa410574"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu May 31 14:25:31 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu May 31 14:25:31 2012 -0700"
      },
      "message": "Use Surface layer for Surface operation.\n\nPrevious fix exposed an existing bug where we were using mAnimLayer to\ndetermine the highest Surface layer. This fix uses mSurfaceLayer to set\nthe layer limits for making the screenshot.\n\nFixes bug 6586168.\n\nChange-Id: Iaa3b43867aef795ca617ff4b8076428dfc91eaf2\n"
    },
    {
      "commit": "a13b4da68d8df0977c8dec5001de7c9ecea71d9e",
      "tree": "14bc671a1707ff4c742b8afb0d5c3009d56ea5b6",
      "parents": [
        "ce9b5c7611954fba91f4983bd41c0507b9931046",
        "af01fe02150bbcfec12f280029b3d71778f8b956"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu May 31 13:07:03 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 31 13:07:03 2012 -0700"
      },
      "message": "Merge \"Fix initial brightness state after startup.\" into jb-dev"
    },
    {
      "commit": "af01fe02150bbcfec12f280029b3d71778f8b956",
      "tree": "95e33db3a871d84f2c4f3291fe5ef3b03ba9b110",
      "parents": [
        "817a243c3be0920cfc0707c260e51c746bd26e01"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu May 31 10:03:32 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu May 31 10:03:32 2012 -0700"
      },
      "message": "Fix initial brightness state after startup.\n\nSetting of mInitialAnimation member was assuming that currentValue\nmember would only be 0 at boot. It also gets set to 0 when the\nsensor goes dark. This fix removes mInitialValue reliance on\ncurrentValue.\n\nFixes bug 6444319.\n\nChange-Id: I27069f1b44f1f727533d34bbecad2e5aeaa7aab8\n"
    },
    {
      "commit": "e857632abd994bd1e4a649afb4231f3a97763828",
      "tree": "5e1a229fc700e058845bacffca526a00d4d79e04",
      "parents": [
        "fa716c7b9bfe0b15725dff63a63b188fe7bc6aca",
        "960779d3bbc6f2c767432ce48aca1e12cb0093b7"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Thu May 31 08:44:47 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 31 08:44:47 2012 -0700"
      },
      "message": "Merge \"Dock: Renable desk-dock apps\" into jb-dev"
    },
    {
      "commit": "cee7203f9ac3e54f39b5f528e014f2d3583f60dc",
      "tree": "b109377a3f1788eea9c97e029a6413239b555183",
      "parents": [
        "43cee47d4f813e43a59f907bfea030f157853fd2",
        "b1fbaaccb656ef09a8770c28df15e3e91a452e64"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 31 08:22:50 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 31 08:22:50 2012 -0700"
      },
      "message": "Merge \"Send device connection intents from AudioService\" into jb-dev"
    },
    {
      "commit": "758534ed50d1d2c643999bd7eb3f909b0834e393",
      "tree": "7cc082a63a6c498baa7f954b50de52f5ff1f4448",
      "parents": [
        "4b55eac42dbb0bc5fb21e10f5bfde26d5f2828e3",
        "9a4c5cd19106c3021eeead27fbc2aa05ad7d0d18"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed May 30 19:06:23 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 30 19:06:23 2012 -0700"
      },
      "message": "Merge \"Ask to enable touch exploration only the first time it enables the feature.\" into jb-dev"
    },
    {
      "commit": "9a4c5cd19106c3021eeead27fbc2aa05ad7d0d18",
      "tree": "2bb45fef9711f8d360bdd36b87907ef3c0c45fed",
      "parents": [
        "5ab6e12b450d13c8eb501001c7a8669826b86ea4"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed May 30 14:06:32 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed May 30 18:41:08 2012 -0700"
      },
      "message": "Ask to enable touch exploration only the first time it enables the feature.\n\n1. Now we are asking the user to grant permission to the service to enable\n   touch exploration only the first time this service is enabled. If the\n   service was uninstalled and then later installed we ask the user again.\n   This avoids the scenario in which rebooting the device or upgrading an\n   accessibility service leaves the device in a state in which the user\n   cannot interact with.\n\nbug:6582088\n\nChange-Id: I51d24e4892b3b48c9fb11dfb09ec1118502ba526\n"
    },
    {
      "commit": "efc620a8b905fbe0903b8bac6ecfe91fda6f03be",
      "tree": "cd53e20325a2aad90e26cb56ac88266aaa217600",
      "parents": [
        "03e93e51c8cf936dc68bb807d28308628e3981cc",
        "d9137ca87eba9fb1d6a49440691374c48bac0d50"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 30 17:20:28 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 30 17:20:28 2012 -0700"
      },
      "message": "Merge \"Add time stamp to content provider connection.\" into jb-dev"
    },
    {
      "commit": "d9137ca87eba9fb1d6a49440691374c48bac0d50",
      "tree": "b595d1725010874c97b61c7d77bcce4f5767e9ee",
      "parents": [
        "3c144c3e69405000f5c7542f20890437a4fb4987"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 30 15:29:36 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 30 15:29:36 2012 -0700"
      },
      "message": "Add time stamp to content provider connection.\n\nFor help in tracking down memory use issues, seeing how long\na connection has been held that is keeping other processes around.\n\nLet\u0027s call this for issue #6577613: Unbelievably sluggish nexus-S\n\nChange-Id: Ia3d016c5ed9d2155eea18ec884047e1e1d8a0ad5\n"
    },
    {
      "commit": "9154b877807a1222abf46608cdff66428e906328",
      "tree": "62505ced44b750e73d04a32e011f7c3c492d5f18",
      "parents": [
        "6713024727039004fa1f59a5ad4cad1f3c5f57f4",
        "7e4ff4b986d626493afb676dd4824d2b3663260a"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed May 30 15:00:39 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 30 15:00:39 2012 -0700"
      },
      "message": "Merge \"Fix comparison of device source bits.\" into jb-dev"
    },
    {
      "commit": "b1fbaaccb656ef09a8770c28df15e3e91a452e64",
      "tree": "200c9e04729844783efdf360375297483113d6cc",
      "parents": [
        "48c22c84c089213dda6495fbdeb384e400c7c5c5"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 29 09:24:28 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 30 14:44:43 2012 -0700"
      },
      "message": "Send device connection intents from AudioService\n\nAudioService is currently notified of wired headset and A2DP\nsink connection states via broadcast intents from WiredAccessoryObserver\nand BluetoothA2dpService. This is a problem as there is no guaranty that\nAudioService can take actions upon the change before other apps are notified.\nFor instance, the Play On feature requires the UI to be refreshed when a device\nis inserted/removed and we must guaranty that the UI component can read\nnew A2DP enable state from AudioManager after it receives a device connection state\nchange intent.\n\n- Added hidden methods to AudioManager so that WiredAccessoryObserver\nand BluetoothA2dpService can notify AudioService of device connection directly.\n- The wired accessories connection intents are now sent by AudioService.\n- The A2DP state change intent is delayed by BluetoothA2DPService when\nACTION_AUDIO_BECOMING_NOISY is sent by AudioService\n- ACTION_AUDIO_BECOMING_NOISY intent is not sent when disconnecting A2DP\nwhile a wired headset is present and vice versa.\n\nBug 6485897.\n\nChange-Id: Ie160b3ee5f451132065530772b868593c90afd94\n"
    },
    {
      "commit": "7e4ff4b986d626493afb676dd4824d2b3663260a",
      "tree": "cc5bc8dd1a9c7d41231b687ecf934b4f72677fe4",
      "parents": [
        "fb910e8ffa439bc32234cfbf85c36f1f8c3a9c59"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed May 30 14:32:16 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed May 30 14:32:16 2012 -0700"
      },
      "message": "Fix comparison of device source bits.\n\nBug: 6576743\nChange-Id: I6952b052e2ab9e62ddd46ab76f4df37ecc656757\n"
    },
    {
      "commit": "26627ccc3f20ad353cf7c48c0488699c26e69a0b",
      "tree": "ea99611f5e84b34a33ce4365d4eb1c1ccbebd84e",
      "parents": [
        "a78bdd95b30ecdbd26e1b46c0d651b3975fea6b8",
        "7f96b7961b173f1b78f32de1332fee7f7ddd0a5b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 30 11:18:08 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 30 11:18:08 2012 -0700"
      },
      "message": "Merge \"A little debug code from issue #6516197: Places app not getting removed...\" into jb-dev"
    },
    {
      "commit": "17150cf91be1478e367c2ef5e4f5baaa66b487d0",
      "tree": "b8e3d68f6a9fef0291cb2f60092ab6736002bb1d",
      "parents": [
        "38616ccc94b1e1a605ab43cc5c230d6acc729a15"
      ],
      "author": {
        "name": "Satoshi Kataoka",
        "email": "satok@google.com",
        "time": "Wed May 30 20:05:44 2012 +0900"
      },
      "committer": {
        "name": "Satoshi Kataoka",
        "email": "satok@google.com",
        "time": "Wed May 30 20:36:52 2012 +0900"
      },
      "message": "Fix locale in TextServicesManagerService\n\nBug: 6542210\nChange-Id: I1670fac014beb834ec7c065ebf040d0ff3cf4161\n"
    },
    {
      "commit": "7f96b7961b173f1b78f32de1332fee7f7ddd0a5b",
      "tree": "4c6358fb424b03f0300b1a5348e68f5c509869ab",
      "parents": [
        "aefe4aa4d470d308f17a71b16bf1a0d58c79c05c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 29 18:46:45 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 29 18:46:45 2012 -0700"
      },
      "message": "A little debug code from issue #6516197: Places app not getting removed...\n\n...from recent apps drawer after launching Places app\n\nChange-Id: Ibfa75e9cea2721a7380d7c13dc21504fbce61aee\n"
    },
    {
      "commit": "ae5811c71405878b09eace395ec2b28e54eeb427",
      "tree": "4e5a0839c56b109fd699751836348957540b8812",
      "parents": [
        "bb1b7cf66bc17165b656c2aaed8027f9e5992306",
        "6ae8d1821822296df0606c9cd1c46708cc21cb58"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 29 15:51:24 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 29 15:51:24 2012 -0700"
      },
      "message": "Merge \"Fix (mostly) issue #5109947: Race condition between retrieving a...\" into jb-dev"
    },
    {
      "commit": "82b3b1bce9665a68b32ab0d7393ea63425677f70",
      "tree": "f1a9ee99ecdea63861d3b77ac4e6bd3ec5c4bca6",
      "parents": [
        "817a243c3be0920cfc0707c260e51c746bd26e01",
        "00355d5a592533a3ecb0a5a74aef8e69dd16902a"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Tue May 29 15:28:00 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 29 15:28:00 2012 -0700"
      },
      "message": "Merge \"Make location providers upgradeable.\" into jb-dev"
    },
    {
      "commit": "960779d3bbc6f2c767432ce48aca1e12cb0093b7",
      "tree": "7f992265b22bf9e547aae6e4daf856949b5609e6",
      "parents": [
        "48c22c84c089213dda6495fbdeb384e400c7c5c5"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Tue May 29 14:37:05 2012 -0400"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Tue May 29 18:19:57 2012 -0400"
      },
      "message": "Dock: Renable desk-dock apps\n\nRevert to pre-dreams behavior. DeskClock once again launches the correct\nactivity (instead of Screensaver) when desk-dock is attached.\n\nBug: 6559590\nChange-Id: I32a03a25469f17b5e87e16831839ec757d56c90b\n"
    },
    {
      "commit": "de1ddd0f93fae6ba517d516993e7fb495424f574",
      "tree": "05b37c849ada29fb132dc5d3fedfdb50c7194bf1",
      "parents": [
        "a073e570789e5b49e8339af44516444b13db4428",
        "1d961d46d68eb3134e4bd6c3751f9730e9d32f17"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue May 29 13:53:06 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 29 13:53:06 2012 -0700"
      },
      "message": "Merge \"Better handle changing app transitions.\" into jb-dev"
    },
    {
      "commit": "6ae8d1821822296df0606c9cd1c46708cc21cb58",
      "tree": "eb4b17b255b1f0e78078923474afcaad67755f12",
      "parents": [
        "3dac02265e42bf176e26b83da430ce15d6fd06df"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 23 13:12:42 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 29 13:33:09 2012 -0700"
      },
      "message": "Fix (mostly) issue #5109947: Race condition between retrieving a...\n\n...content provider and updating its oom adj\n\nThis introduces the concept of an \"unstable\" reference on a content\nprovider.  When holding such a reference (and no normal stable ref),\nthe content provider dying will not cause the client process to be\nkilled.\n\nThis is used in ContentResolver.query(), .openAssetFileDescriptor(),\nand .openTypedAssetFileDescriptor() to first access the provider\nwith an unstable reference, and if at the point of calling into the\nprovider we find it is dead then acquiring a new stable reference\nand doing the operation again.  Thus if the provider process dies\nat any point until we get the result back, our own process will not\nbe killed and we can safely retry the operation.\n\nArguably there is still the potential for a race -- if somehow the\nprovider is killed way late by the OOM killer after the query or\nopen has returned -- but this should now be *extremely* unlikely.\nWe also continue to have the issue with the other calls, but these\nare much less critical, and the same model can\u0027t be used there (we\nwouldn\u0027t want to execute two insert operations for example).\n\nThe implementation of this required some significant changes to the\nunderlying plumbing of content providers, now keeping track of the\ntwo different reference counts, and managing them appropriately.  To\nfacilitate this, the activity manager now has a formal connection\nobject for a client reference on a content provider, which hands to\nthe application when opening the provider.\n\nThese changes have allowed a lot of the code to be cleaned up and\nsubtle issues closed.  For example, when a process is crashing, we\nnow have a much better idea of the state of content provider clients\n(olding a stable ref, unstable ref, or waiting for it to launch), so\nthat we can correctly handle each of these.\n\nThe client side code is also a fair amount cleaner, though in the\nfuture there is more than should be done.  In particular, the two\nProviderClientRecord and ProviderRefCount classes should be combined\ninto one, part of which is exposed to the ContentResolver internal\nAPI as a reference on a content provider with methods for updating\nreference counts and such.  Some day we\u0027ll do that.\n\nChange-Id: I87b10d1b67573ab899e09ca428f1b556fd669c8c\n"
    }
  ],
  "next": "1d961d46d68eb3134e4bd6c3751f9730e9d32f17"
}
