)]}'
{
  "log": [
    {
      "commit": "fe0806a3b60ff54c7444a51b91353e2299ed1bca",
      "tree": "0729301943554528cc3d398255a620024dbfe3d8",
      "parents": [
        "ae14715284837aebe179f790e0456d2bdb367583"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed May 16 12:41:33 2012 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed May 16 12:43:02 2012 -0400"
      },
      "message": "Removing a notification that isn\u0027t there isn\u0027t a big deal.\n\nYou shouldn\u0027t do it, but there\u0027s no need to fault your\nprocess.\n\nBug: 6396830\nChange-Id: I47c20b9829e4e8bb98862f33c3c52be1b5987f37\n"
    },
    {
      "commit": "80fea051ba7e8e3ad82eca3d907aaa4a528658d1",
      "tree": "b81a1d7da1cf593ec5d9fae362d5a8de9098997b",
      "parents": [
        "79f5777d7c1652badeba4be92a5271d2c2276d22",
        "3e52fc25154540faf3c0cb927ff45532cdebdddf"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 15 18:15:47 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 15 18:15:47 2012 -0700"
      },
      "message": "Merge \"Fix some issues with updating the offsets of a window.\" into jb-dev"
    },
    {
      "commit": "3e52fc25154540faf3c0cb927ff45532cdebdddf",
      "tree": "31d1b46e2f13ed7562308655eb0651f1f944085f",
      "parents": [
        "a7ea0d3968dc990aa76f3535c213e735e6d5e186"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 15 17:58:02 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 15 17:58:02 2012 -0700"
      },
      "message": "Fix some issues with updating the offsets of a window.\n\n- Apply the correct crop rect at this point.\n- Apply the correct position by taking into account the frame left/top.\n- Don\u0027t directly apply the new values if the window is currently\n  animating, since we need to go through the whole animation step\n  to determine what the correct position is (taking into account\n  any transformations).\n\nChange-Id: I15d79354d9779867c49c7c0880faccdead7b021d\n"
    },
    {
      "commit": "e302a162359e191633e966520a6bab4ad569390c",
      "tree": "db60c3db01e336141f0d453f62b2b8c309e0bd4d",
      "parents": [
        "bea7afc52cc85e35b7fc200912246c62d3791198"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 15 14:58:32 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 15 14:58:32 2012 -0700"
      },
      "message": "A few odds and ends.\n\n- Add documentation on \"television\" UI mode.\n- Tweak new documentation and implementation around propagating\n  URI grants through choosers.\n- Add new activity launch flag for closing system dialogs.\n\nChange-Id: I978c05f0dc3d16e1c55d43631828b9efa6335b19\n"
    },
    {
      "commit": "bea7afc52cc85e35b7fc200912246c62d3791198",
      "tree": "6b3b08efa7bf51ff53c4614398c4819531f6c6cf",
      "parents": [
        "0a283346aae1801e5b773673729d97336ce42c43",
        "03fcc333cf0fbbc4df1215649746d6360801efd8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 15 13:57:06 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 15 13:57:06 2012 -0700"
      },
      "message": "Merge \"Fix issue #6284404: ArrayIndexOutOfBoundsException in...\" into jb-dev"
    },
    {
      "commit": "0bef72450b954ab0254ab948f75a89d65af3808c",
      "tree": "fec657607f166244516e9592bce7d5a4d35672ab",
      "parents": [
        "8414beac87b9fb411566c0c99f772c54d4223a31",
        "5c89f44ea16667bf18297ccb9fb10aad639dab1f"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue May 15 13:41:25 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 15 13:41:25 2012 -0700"
      },
      "message": "Merge \"Implement the global accessibility action to expand notifications.\" into jb-dev"
    },
    {
      "commit": "5c89f44ea16667bf18297ccb9fb10aad639dab1f",
      "tree": "39dc1a8aa3c62261836488d1687879b939f479c3",
      "parents": [
        "0aeb05e6ded37dcf3d02ee1e8021ed61d4fec52a"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue May 15 13:28:09 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue May 15 13:28:14 2012 -0700"
      },
      "message": "Implement the global accessibility action to expand notifications.\n\nbug:6468852\n\nChange-Id: Id4494a07b1ed96773e22dcfdd5991afe3ee98004\n"
    },
    {
      "commit": "03fcc333cf0fbbc4df1215649746d6360801efd8",
      "tree": "4a68733bcedec1006fd5cb57b512956fe5ad20ec",
      "parents": [
        "d9016b2c949309bccfdc2871e1dba36136969a3f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 15 12:49:40 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 15 13:13:33 2012 -0700"
      },
      "message": "Fix issue #6284404: ArrayIndexOutOfBoundsException in...\n\n...FragmentManagerImpl.restoreAllState\n\nThis was a bug related to the difference between the pre- and post-HC\nbehavior of onSaveInstanceState().  Prior to HC, state was saved\nbefore calling onPause().  Starting with HC, it is saved between\nonPause() and onStop().  To maintain compatibility with existing\napplications, there is a check in ActivityThread for pre-HC to in\nthat case emulate the behavior of old applications, still calling\nonSaveInstanceState() before onPause() but using the state later.\n\nOne of the special cases we had to deal with in the old model of\nsaving state before pausing was restarting an activity that is\nalready paused.\n\nConsider, for example: you have two activities on screen, the one on\ntop not fullscreen so you can see the one behind.  The top activity\nis resumed, the behind activity is paused.  In the pre-HC world, the\nbehind activity would have already had its state saved.\n\nNow you rotate the screen, and we need to restart the activities.\nWe need to destroy the behind activity and create a new instance,\nbut the new instance has to end up in the paused state.  To\naccompish this, we restart it with a flag saying that it should\nend up paused.  For the pre-HC world, since it ends up paused,\nwe need to make sure we still have its instance state kept around\nin case we need it because we can\u0027t regenerate it (since it is\nalready paused).\n\nSo that is what the changed code here is doing.  It goes through\nthe normal create/start/resume steps, but holds on to the current\nsaved state so that it isn\u0027t lost when resume clears it, and then\nputs the activity back to paused and stuffs that old saved state\nback in to it.\n\nThe problem is that this code was doing it for every application,\neven HC apps.  So we end up in a bad state, when a HC app has its\nsaved state sitting there as if it had been saved, even though it\nis only paused.  Now if we go to restart the activity again, instead\nof asking it for a new saved state (as we should for a HC app as\npart of stopping it), we just re-use the existing saved state again.\n\nNow this wouldn\u0027t generally be a huge problem.  Worst case, when we\nrestart the activity yet again we are just instantiating it from\nthe same saved state as we used last time, dropping whatever changes\nmay have happened in-between.  Who cares?  All it has been doing is\nsitting there in the background, visible to the user, but not something\nthey can interact with.  If the activity made changes to its\nfragments, those changes will be lost, and we will restore it from\nthe older state.\n\nHowever...  if one of those fragements is a retained fragment, this\nwill *not* appear in the saved state, but actually be retained across\neach activity instance.  And now we have a problem: if the retained\nfragments are changed during this time, the next activity instance\nwill be created from the most recent state for the retained fragments,\nbut the older state for everyting else.  If these are inconsistent...\nwham, dead app.\n\nTo fix this, just don\u0027t keep the saved state for HC apps.\n\nAlso includes a small optimization to ActivityStack to not push\nthe home screen to the front redundantly.\n\nChange-Id: Ic3900b12940de25cdd7c5fb9a2a28fb1f4c6cd1a\n"
    },
    {
      "commit": "d1ff736d01cebaee70b76f012b660ae549c252b9",
      "tree": "509c37b67ef775aa8e48c5c24df0120d6ab13352",
      "parents": [
        "0aeb05e6ded37dcf3d02ee1e8021ed61d4fec52a"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue May 15 12:51:38 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue May 15 12:51:43 2012 -0700"
      },
      "message": "Keeping the screen on during gesture detection.\n\n1. During gesture detection we are not injecting the events we receive\n   since we do not want the accessibility focus to move as a result of\n   the hover event of the gesture. Because of that it was possible that\n   we consume all events since the user performs only gesture to navigate\n   resulting in the screen being off while the user is actively interacting\n   with the device. Now we are poking the user activity in the power\n   manager to keep the screen on.\n\nbug:6485171\n\nChange-Id: I06a09c5297f01bef5e20d471cee76fa7aae0c4fe\n"
    },
    {
      "commit": "bfc1be1101b87f193b043b62edd1722b8c4eb23c",
      "tree": "48530f29fffdce1ccb9d7efa6787312c37348e67",
      "parents": [
        "8ce2d78aa89e89e9a5607d8809bf6d248508a531"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue May 15 11:12:17 2012 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue May 15 11:12:17 2012 -0700"
      },
      "message": "Fix a problem in finish affinity in Activity Manager.\n\nFinishing tasks with an activity affinity was failing if the\nactivity was found at index 0. This fixes the loop condition.\n\nChange-Id: If2e0d294e3e4493bca8b7efd40f24adaf2eb0b6f\n"
    },
    {
      "commit": "a827843f9b46700a187bd3a506498a0f36f474fa",
      "tree": "94347de65921bfbd45062db0bcb1e801b43509c1",
      "parents": [
        "e48d12b78011ff5ddbb6838a038ea5384190ec92",
        "b61a02657b9e577179c934bbb5e199ce919c4642"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 14 17:31:53 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 14 17:31:53 2012 -0700"
      },
      "message": "Merge \"Fix issue #6020164: Settings crashed on orientation change...\" into jb-dev"
    },
    {
      "commit": "b61a02657b9e577179c934bbb5e199ce919c4642",
      "tree": "4da2799e5a097baeda037e7c525334867888132f",
      "parents": [
        "04d3521839c90d1cccf3ee428963a0aef0088ef9"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 14 17:19:18 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 14 17:19:18 2012 -0700"
      },
      "message": "Fix issue #6020164: Settings crashed on orientation change...\n\n...while listening to TTS example\n\nThis was a nice one.  What was happening is that immediately upon\nbeing created, the activity was starting another activity in a\ndifferent process.  The second activity would never show, just\nimmediately exit.  However the original activity had time to\npause and get into stopping itself before the second activity had\ncome back to the activity manager to say it was going away, resulting\nin the activity manager asking the original activity to resume.\n\nAt this point the activity manager\u0027s state is that the second\nactivity is finishing and gone, and the original activity is\nresumed.  However in the app process the original activity is\nstill working on stopping itself, and it eventually completes\nthis and tells the activity manager.  The activity manager now\nchanges its state to STOPPED, even though it is actually resumed\nand that is the last thing it told it to be, and it is now\nproceeding to set itself in that state.\n\nThis would result later in the activity manager sending an\nunnecessary state change to the application.  In the case of\nthe screen here, we next do a rotation change, the activity\nmanager thinks the current state is STOPPED not RESUMED, so it\ntells the application to relaunch the activity in a new config\nbut not in the resumed state.  Now it does the whole \"start a\nnew temporary activity\" thing again, at which point it tries\nto pause the original activity again, and we have an unbalanced\nonPause() call to the app and it falls over.\n\nChange-Id: I38b680746f4c61ae30e7ce831e1de187adf60902\n"
    },
    {
      "commit": "b696c0542cae70d7f66b9011be2f9d1812885159",
      "tree": "00aba688f13fa7c72705dc6651445a7730d6aebc",
      "parents": [
        "4ebaf0f1d4be34f475bb663784b40cf79b9d2184",
        "3d33c268cc7f08ec3d2ec1aa535fa86dec458b2e"
      ],
      "author": {
        "name": "Geremy Condra",
        "email": "gcondra@google.com",
        "time": "Mon May 14 15:53:48 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 14 15:53:48 2012 -0700"
      },
      "message": "Merge \"Adds support for the CertBlacklister.\" into jb-dev"
    },
    {
      "commit": "a69b7eb1fc6ab6f47411493a17463fe7a43b8b3f",
      "tree": "d62579288a0c7b6575999070a86c2308023fd884",
      "parents": [
        "728e43948c9b4d18a900fa50acad8d2734947b21"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon May 14 14:47:06 2012 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon May 14 15:02:19 2012 -0700"
      },
      "message": "Change thread priority for disk measurement to bg\n\nChange the thread priority for all disk measurement and statfs calls to\nbackground priority.\n\nAlso move the measurement fully into the measurement task since it makes\nmore sense.\n\nBug: 6332097\nChange-Id: Iafc2151313ad9b14117daf67e933dccd32f68d54\n"
    },
    {
      "commit": "521e0d794d298201716d30c66164f0c60d6a74c0",
      "tree": "99ec22ef8afa76b586cc3955097c077da2881068",
      "parents": [
        "11fd02f63acba18a1b03351b595490597136fc6a"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon May 14 04:01:53 2012 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon May 14 04:11:02 2012 -0700"
      },
      "message": "WindowManager: unset the wallpaper window crop\n\nThis change removes the window crop of the wallpaper when setting its position.\n\nChange-Id: I0f4dc10ea9a724b210f75286580ef391145286df\n"
    },
    {
      "commit": "11fd02f63acba18a1b03351b595490597136fc6a",
      "tree": "a1de7bd1de674ae337af451216b6aba1e4c3e69d",
      "parents": [
        "8f76176016a63026168f5886604d4378f170fc6c",
        "5a48f9758b990fe6c46359927a40aecb6a02b64c"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun May 13 19:09:47 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun May 13 19:09:47 2012 -0700"
      },
      "message": "Merge \"Update the API version checks.\" into jb-dev"
    },
    {
      "commit": "8f76176016a63026168f5886604d4378f170fc6c",
      "tree": "12c3f8f84e97e3c2e33265c3b65b7225f135b99b",
      "parents": [
        "4286d6d115385391b75db8e6c4e397008ef9b3db",
        "7b1e0c7046abefc0b40884b36197c8a803d9cf6d"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun May 13 19:09:35 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun May 13 19:09:35 2012 -0700"
      },
      "message": "Merge \"Removing default accessibility gesture handling.\" into jb-dev"
    },
    {
      "commit": "2a7a6ca00ab176105b5bbfa6b17bb0dcd058d517",
      "tree": "3fbe473f3de97aa6e5fc6b5e837dea0b8e589e4c",
      "parents": [
        "0d607fbe546ac943de38dad33ae681b09efec6ea",
        "85afd1b6f871d471fdff1980134676a5f1690525"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun May 13 15:24:32 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun May 13 15:24:32 2012 -0700"
      },
      "message": "Merge \"Implement new window cropping.\" into jb-dev"
    },
    {
      "commit": "5a48f9758b990fe6c46359927a40aecb6a02b64c",
      "tree": "3f3ea72bee2c68c04a6836fcf2b12cb7963341c6",
      "parents": [
        "8d8176d41b8b8f08435e727f03e43e27a542dcc2"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun May 13 13:33:53 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun May 13 13:34:00 2012 -0700"
      },
      "message": "Update the API version checks.\n\n1. Since the API version has been finalized this change\n   updates the SDk version checks to use the JellyBean\n   verson number.\n\nbug:5947249\n\nChange-Id: Ie22fa7e18a7ea7b0c7077d80246a26c17f327ceb\n"
    },
    {
      "commit": "85afd1b6f871d471fdff1980134676a5f1690525",
      "tree": "94f1a2661418208e7969d659dc694353ff43d304",
      "parents": [
        "dca5fb9e7e193d6aed233e0650691675a56022a3"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun May 13 13:31:06 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun May 13 13:31:06 2012 -0700"
      },
      "message": "Implement new window cropping.\n\nThe window manager now performs the crop internally, evaluating\nit every animation from, to be able to update it along with\nthe surface position.\n\nChange-Id: I960a2161b9defb6fba4840fa35aee4e411c39b32\n"
    },
    {
      "commit": "7b1e0c7046abefc0b40884b36197c8a803d9cf6d",
      "tree": "65033ef86abd0146f183b8ed423081c057fa8a17",
      "parents": [
        "8d8176d41b8b8f08435e727f03e43e27a542dcc2"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun May 13 11:57:29 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun May 13 12:39:51 2012 -0700"
      },
      "message": "Removing default accessibility gesture handling.\n\n1. The initial design was to have some accessibility gestures\n   being handled by the system if the gesture handling access\n   service does not consume the gesture. However, we are not\n   sure what a good default is and once we add a default handler\n   we cannot remove it since people may rely on it. Thus, we\n   take the simples approach and let the accessibility service\n   handle the gestures. If no gestures are handled the system\n   will work in explore by touch as before.\n\nbug:5932640\n\nChange-Id: I865a83549fa03b0141d27ce9713e9b7bb45a57b4\n"
    },
    {
      "commit": "c8179e78052af3d68725e1160214a736f143f8a2",
      "tree": "9fffad56501d67d9c03aad3a0d36e70c9533395c",
      "parents": [
        "76e07e7767098a885365e4ae8c8bb51f6a8c3b09",
        "d5895a7e8a94e58451af640fe796d1822cbd793f"
      ],
      "author": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Sat May 12 14:01:43 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat May 12 14:01:43 2012 -0700"
      },
      "message": "Merge \"Improve transition out of recents\" into jb-dev"
    },
    {
      "commit": "d5895a7e8a94e58451af640fe796d1822cbd793f",
      "tree": "549e026345ecd9aaa578371f85215a128fc56983",
      "parents": [
        "0891a89790777e2f88f413351fafe49dda36714f"
      ],
      "author": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Sat May 12 13:24:58 2012 -0700"
      },
      "committer": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Sat May 12 13:24:58 2012 -0700"
      },
      "message": "Improve transition out of recents\n\n- During the transition, fade the bg to black\n- Exiting activity fades to black\n- Recents background no longer fades away, because\nthen it would fight against the fade to black\nhappening behind it"
    },
    {
      "commit": "3d33c268cc7f08ec3d2ec1aa535fa86dec458b2e",
      "tree": "0b447301cf7fcee0d74605ff1065dacbcb5c0fdb",
      "parents": [
        "9d7bbcb89a3f14331c55ed2bbdcf768a4aa91cc1"
      ],
      "author": {
        "name": "Geremy Condra",
        "email": "gcondra@google.com",
        "time": "Sun May 06 18:32:19 2012 -0700"
      },
      "committer": {
        "name": "Geremy Condra",
        "email": "gcondra@google.com",
        "time": "Sat May 12 13:09:45 2012 -0700"
      },
      "message": "Adds support for the CertBlacklister.\n\nThe CertBlacklister is a mechanism for allowing is to use gservices\nto blacklist certs by serial number or public key.\n\nChange-Id: Ie4b0c966a8a43c9823fb550c0b1691204f133ae7\n"
    },
    {
      "commit": "58770232216cd735afdfd3dd53151070e06de5ce",
      "tree": "502d189420768053f373e17e3bb634d0dfd33c8b",
      "parents": [
        "dca5fb9e7e193d6aed233e0650691675a56022a3",
        "7304c343821309dd15f769b18f1de2fa43751573"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri May 11 19:32:56 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 11 19:32:56 2012 -0700"
      },
      "message": "Merge \"Move power HAL interactions to PowerManagerService.\" into jb-dev"
    },
    {
      "commit": "7304c343821309dd15f769b18f1de2fa43751573",
      "tree": "37a1b20d78ee47ed7356c39d00bd1529989cea22",
      "parents": [
        "888da152ece9a8cfe62fad9e7d1a43e792c41e2f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri May 11 18:42:42 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri May 11 18:42:42 2012 -0700"
      },
      "message": "Move power HAL interactions to PowerManagerService.\n\nThis refactoring sets the stage for a follow-on change that\nwill make use additional functions of the power HAL.\n\nMoved functionality from android.os.Power into PowerManagerService.\nNone of these functions make sense being called outside of the\nsystem server.  Moving them to the PowerManagerService makes it\neasier to ensure that the power HAL is initialized exactly once.\n\nSimilarly, moved ShutdownThread out of the policy package and into\nthe services package where it can tie into the PowerManagerService\nas needed.\n\nBug: 6435382\nChange-Id: I958241bb124fb4410d96f5d5eb00ed68d60b29e5\n"
    },
    {
      "commit": "ab1c5456b789205ef305b19e5a7682b6561aacac",
      "tree": "8299759c0e011a237e0dc762f08343b167090c6f",
      "parents": [
        "6788e028c363583406d513d66d9a78576f984302",
        "35d0e1d11c046b5e5ddf6d12c1a09becb8561af0"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri May 11 16:07:10 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 11 16:07:10 2012 -0700"
      },
      "message": "Merge \"Keep launcher screen from flashing over lockscreen\" into jb-dev"
    },
    {
      "commit": "cd5862586ab555b53ffd0a62488843838d1aa94d",
      "tree": "e20dfc27fd057b29ded79b4cf70418228d581f81",
      "parents": [
        "2b5cebebb60c33fe864bed71778253837cbddb54",
        "f53857716a0db805c51c0cae93550d90e32e4749"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri May 11 15:47:01 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 11 15:47:01 2012 -0700"
      },
      "message": "Merge \"Enforce READ_EXTERNAL through Settings.Secure.\" into jb-dev"
    },
    {
      "commit": "f53857716a0db805c51c0cae93550d90e32e4749",
      "tree": "f08bea9fbd41f3299a42c68740d286d614e37f65",
      "parents": [
        "0891a89790777e2f88f413351fafe49dda36714f"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri May 11 14:04:41 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri May 11 15:31:39 2012 -0700"
      },
      "message": "Enforce READ_EXTERNAL through Settings.Secure.\n\nAlways defers to user-defined setting, when present.\n\nBug: 6389556\nChange-Id: I079d2a41b772facfdac74eefc4c8072fc9284f97\n"
    },
    {
      "commit": "2f0957607411b99810226ad38d59cf18718b86d0",
      "tree": "02c124b552f1f206498e50f3532c5140c9fda8c4",
      "parents": [
        "3816174b3bea63eb355a0aa212c6b51e9435627b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu May 10 21:29:33 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri May 11 12:32:56 2012 -0700"
      },
      "message": "Rename kcm attribute to keyboardLayout.\n\nBug: 6478076\nChange-Id: I7fc0d8eb36d03a628d070f8fd6ea1e1464b1a163\n"
    },
    {
      "commit": "35d0e1d11c046b5e5ddf6d12c1a09becb8561af0",
      "tree": "ee023c7af77634ca11ca19d49cb30170dafd9e5b",
      "parents": [
        "bf6e0ba99dbfef44d3feb014ce7e530de800d7c2"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri May 11 11:50:58 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri May 11 11:50:58 2012 -0700"
      },
      "message": "Keep launcher screen from flashing over lockscreen\n\nExtend the force hide period to include the animation.\n\nFixes bug b6471929.\n\nChange-Id: I91daf9dc678723be4c69913aa5a3aa0e265d103e\n"
    },
    {
      "commit": "a1dc761c8322355eb1bb71d3d6c9c603c1d1fc0f",
      "tree": "19887c9a0d1c4ee83117d3324360cf88da2c96d0",
      "parents": [
        "1bc1b8a5b8a0c5fbcd670d1963235de27a5ccec4"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu May 10 04:14:53 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu May 10 12:28:04 2012 -0700"
      },
      "message": "Adding scroll actions to accessibility node info.\n\n1. Scrolling actions are crucial for enabling a gesture based\n   traversal of the UI and specifically scrollable containers\n   especially lists and anything backed by an adapter. Since\n   accessibility focus can land only attached views, it cannot\n   visit views for adapter items not shown on the screen.\n   Auto scrolling the list as a result of putting access focus\n   ot a list item does not work well since the user may get\n   trapped in a long list. Adding an accessibility node provider\n   to emit virtual views for one view before the first and one\n   after the last is complex and suffers the limitation of trapping\n   the user. Accessibility service need an explicit scroll actions\n   which may be performed upon an explicit user action. Hence,\n   the user is informed for the start/end of the visible part of\n   the list and he makes a deliberate choice to scroll. This will\n   benefit also people developing Braille devices since they can\n   scroll the content without telling the user to stop using the\n   Braille controller and take the device out of his pocket to scroll\n   and go back to the Braille controller.\n\nNOTE: Without these action large portions of the screen will be\n    hard to access since users will have to touch and explore to\n    find and scroll the list.\n\nChange-Id: Iafcf54d4967893205872b3649025a4e347a299ed\n"
    },
    {
      "commit": "4fe5ebcc962ad7edb205bf988dd463854dea1044",
      "tree": "47bf23e6ce73a4f4e4638bebd3bca02d07aa9345",
      "parents": [
        "1870c69693d655b101fcc221eb14b1cd7592059d",
        "acafd19c5ea05a8d465f97204f8d63468bdaa2a4"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu May 10 11:30:53 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 10 11:30:53 2012 -0700"
      },
      "message": "Merge \"Update DimAnimator layer when its window changes.\" into jb-dev"
    },
    {
      "commit": "b86bc1058b8b9bce045ae94f7cd703d4bfecccb3",
      "tree": "dd1e53494712560d0514dcf2501e39123b607b44",
      "parents": [
        "a4487e1b4be823e6e90b25442f663a9424ac90e0",
        "bf91046872dd711019e8dec543441601576cc950"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Thu May 10 11:02:20 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 10 11:02:20 2012 -0700"
      },
      "message": "Merge \"UsbService: Fix problem detecting audio accessory mode when connected at boot\" into jb-dev"
    },
    {
      "commit": "6b16286f653f9f8a1c17a8dffebbe6cee4e5afca",
      "tree": "54eb32fd1c10e213aa73123aebea4ab07fc25fe7",
      "parents": [
        "230e86a1cf31d2f2233a444e4abb0a334576477b",
        "198e564c9a66010cfe93e0b1a75f84d696bda494"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Thu May 10 10:50:29 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 10 10:50:29 2012 -0700"
      },
      "message": "Merge \"Notify windows when window animations complete\" into jb-dev"
    },
    {
      "commit": "acafd19c5ea05a8d465f97204f8d63468bdaa2a4",
      "tree": "3f7c638d48d3854d8762d0f550b1dcd3186ab8bf",
      "parents": [
        "a76f823c7f31bffdea4d49daa6c6165520928708"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu May 10 10:41:02 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu May 10 10:41:02 2012 -0700"
      },
      "message": "Update DimAnimator layer when its window changes.\n\nPrior to this fix once dimming had been turned on it stayed at the\nsame layer and associated with the same window until it was turned\noff. Now the DimAnimator layer is updated if either the window layer\nchanges or the dimming window changes.\n\nFixes bug 6467865.\n\nChange-Id: I3e1765b92b51be26e3718c8a87e2583041a36af9\n"
    },
    {
      "commit": "ca90d6dad572c6aaad3b0a314df200d1762c23af",
      "tree": "b0ad129f320dc7e681975128881224fee511bb3a",
      "parents": [
        "421dceb0a4fd8f20349a0de277f82b56e71cb90b",
        "20f5c3d4135809ca0b72c23e0c8daf2a8e4e84b2"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu May 10 10:35:45 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 10 10:35:45 2012 -0700"
      },
      "message": "Merge \"Avoid updating thresholds during shutdown.\" into jb-dev"
    },
    {
      "commit": "421dceb0a4fd8f20349a0de277f82b56e71cb90b",
      "tree": "092633533796bf65021ee895b1bd7d7a42cb99c2",
      "parents": [
        "dc442534070aa8ff4c07cae16fc5207ba6821651",
        "21385cd83d7d7938b57a4acbaa236dd4c7804ed4"
      ],
      "author": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Thu May 10 10:35:19 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 10 10:35:19 2012 -0700"
      },
      "message": "Merge \"Making transition out of recents look better\" into jb-dev"
    },
    {
      "commit": "bf91046872dd711019e8dec543441601576cc950",
      "tree": "0de0ab5db9f32ef106906f3351570bd69ff98419",
      "parents": [
        "7c38077edf73e3313bceccdbde1f78ed1bd14be2"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Wed May 09 16:19:20 2012 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Thu May 10 10:09:12 2012 -0700"
      },
      "message": "UsbService: Fix problem detecting audio accessory mode when connected at boot\n\nChange-Id: Ie0e23b8ec88f1dd29bb956bc1d21c241f3545059\nSigned-off-by: Mike Lockwood \u003clockwood@google.com\u003e\n"
    },
    {
      "commit": "198e564c9a66010cfe93e0b1a75f84d696bda494",
      "tree": "96b60f91ca2de9ce8dce5ae8fd4cff647a724380",
      "parents": [
        "2f4b10e2d4320db490b03eb198ce034302ef00fc"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Thu May 10 09:55:15 2012 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Thu May 10 09:55:15 2012 -0700"
      },
      "message": "Notify windows when window animations complete\n\nDrawing in windows is suppressed during window animations, to make window\nanimations smoother. This means that drawing activities that the activity\nrequested are dropped on the floor. There is no call at the end of window\nanimations to tell the windows that they may now draw, which leaves the windows\nand activities in an uncertain state, especially with respect to some of the\ndirty flags that we use internally to know when we have requested (and satisfied)\ninvalidations on views.\n\nThe fix is to notice, on the WindowManager side, when we\u0027ve finished window\nanimations and to schedule a traversal on the WindowManager, which will then send\nout appropriate messages to the affected windows.\n\nIssue #6461113 EventInfo is stuck in day view\n\nChange-Id: I364c9c472531c467d44801698cfb453970173bb3\n"
    },
    {
      "commit": "a25079e6bafcfd77135a852f0e838738d80606ef",
      "tree": "b2bc77ac0abc0e3f7222904955bfa168ced6e380",
      "parents": [
        "e95658c98e4154a2daf0ed70d15d24f8bf3153f0"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu May 10 10:48:56 2012 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu May 10 11:01:34 2012 -0400"
      },
      "message": "Show the ADB icon in the status bar again.\n\nBug: 6440323\nChange-Id: I3b1972d18be4ad77a87c4b71673b6cfb7735c59e\n"
    },
    {
      "commit": "8c3906d920f55ec0d42252ef8f460e6066b1d4b6",
      "tree": "9f0b22cece3886570b7671f1d3bd1713662dedba",
      "parents": [
        "e2c7e2adc06d813d64bb557944eb16e3fa9a7e57",
        "88670d816ba48076bf89afe57b78b09d1e4288bb"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed May 09 21:39:49 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 09 21:39:49 2012 -0700"
      },
      "message": "Merge \"Use the right flag types when creating InstallArgs\" into jb-dev"
    },
    {
      "commit": "2c2864f65c5cec6aebcb1b5612331f3946893042",
      "tree": "3ab07b4425c71e63bf994b7f6e420a4082692a0f",
      "parents": [
        "dd79ae6b7201b68dbe2a223d2f371ea1a473f6c4",
        "59325eb31f25704bb88c348160bb69e7c1aa3b48"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 09 21:34:42 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 09 21:34:42 2012 -0700"
      },
      "message": "Merge \"Add new API to find total RAM.\" into jb-dev"
    },
    {
      "commit": "21385cd83d7d7938b57a4acbaa236dd4c7804ed4",
      "tree": "4437d4ba6ded58da748f2231c2d87c5c406b807e",
      "parents": [
        "0fa152912e55f2d08f0a8d1260332a81e5706694"
      ],
      "author": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Thu May 03 10:57:31 2012 -0700"
      },
      "committer": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Wed May 09 20:25:28 2012 -0700"
      },
      "message": "Making transition out of recents look better\n\n- Fading out recents first, then scaling up app\nthumbnail\n- Fade Recents out over 130ms\n- Delay the window animation for 200ms first,\nthen animate for 200ms (previously we didn\u0027t delay\nand then animated for 300ms)\n\nBug: 6390075\n\nChange-Id: Ia8c753bf7ee03d2acef6eb2772b28d88fe10a682"
    },
    {
      "commit": "20f5c3d4135809ca0b72c23e0c8daf2a8e4e84b2",
      "tree": "c56b3acba490b9c0118fd888e267725394094252",
      "parents": [
        "6de357e4d10fa5977ab9a6c665dc858765e95d34"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed May 09 19:59:07 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed May 09 19:59:07 2012 -0700"
      },
      "message": "Avoid updating thresholds during shutdown.\n\nBug: 6472388\nChange-Id: I70e1ed5dc75056840f2f0b130ce0dfecb06f385e\n"
    },
    {
      "commit": "59325eb31f25704bb88c348160bb69e7c1aa3b48",
      "tree": "b0e5c3229fbc35974658646b08b5611f5cad93ff",
      "parents": [
        "a53de0629f3b94472c0f160f5bbe1090b020feab"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 09 18:45:20 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 09 18:45:20 2012 -0700"
      },
      "message": "Add new API to find total RAM.\n\nChange-Id: Iad2dff3c44f471515f093e7f0d0d959528881ab9\n"
    },
    {
      "commit": "b4ffa66d6e696bdc773b64802b1cf6d20097c6a3",
      "tree": "22174756f8f63d5fd9091c0f43a29daf773e9775",
      "parents": [
        "78fd4a14dd2a1e2d9ab4be024861c0d9119cce7f",
        "9aa695871c9d5a0a4784dd60f77a44922cfd2498"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed May 09 18:05:08 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 09 18:05:08 2012 -0700"
      },
      "message": "Merge \"Fix wallpaper glitch and moving window animation.\" into jb-dev"
    },
    {
      "commit": "78fd4a14dd2a1e2d9ab4be024861c0d9119cce7f",
      "tree": "ae67d944ab45af566e107b145509037b412c80f3",
      "parents": [
        "8bd8d8969380e24fadca64b6977dc20b1cf4d569",
        "518a3d82f78e5089d0f99e61e46e1e915aea91ab"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 09 18:03:12 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 09 18:03:12 2012 -0700"
      },
      "message": "Merge \"Remove auto-brightness adjustment knob.\" into jb-dev"
    },
    {
      "commit": "9aa695871c9d5a0a4784dd60f77a44922cfd2498",
      "tree": "bd95bb2f48edf11730647e9465185b5bcf7d4fd9",
      "parents": [
        "a76f823c7f31bffdea4d49daa6c6165520928708"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed May 09 17:41:13 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed May 09 17:41:13 2012 -0700"
      },
      "message": "Fix wallpaper glitch and moving window animation.\n\n1. Previous fix to hide wallpaper at the same time the wallpaper target\nwas hidden was too aggressive. In the case where one wallpaper target\nwas replacing another we would lose the wallpaper for an instant.\n\n2. Previous fix to keep from overwriting the moving window boundaries\nwas incomplete.  The default values for the parent window were 0,0\nwhich caused the lock window animation to translate down and to the\nright. Defaulting the parent window boundaries to the full screen\nand restoring it to the full screen after each animation fixes this.\n\nFixes bug 6472070.\n\nChange-Id: I0b13c642c1aaab666cdd0f4a1e7fb4b716e6b17f\n"
    },
    {
      "commit": "518a3d82f78e5089d0f99e61e46e1e915aea91ab",
      "tree": "2a424254302c5423cb6d3dc584070006f01763d9",
      "parents": [
        "a53de0629f3b94472c0f160f5bbe1090b020feab"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 09 16:30:49 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 09 16:30:49 2012 -0700"
      },
      "message": "Remove auto-brightness adjustment knob.\n\nNot yet ready for release.\n\nChange-Id: I75bc87f35af47c6baac1f26953d8bf3e38062c92\n"
    },
    {
      "commit": "e4abc512aa6474f0106f407f7b399832da34483f",
      "tree": "d565addd98efa55674b10c29cc2b5410f0e190b4",
      "parents": [
        "e2d47e63cf1c5c095eb54f7af2a4a02b46862ddd"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed May 09 11:02:38 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed May 09 16:17:20 2012 -0700"
      },
      "message": "Remove activation gestures form reported and add a touch explore requesting flag.\n\n1. Delegating activation gestures has several issues that we should\n   decide how to handle if possible before allowing an accessibility\n   service to take over them:\n\n   A) It is needed that every view than can be clicked or long pressed on\n      reacts to such as a response to calling performClick and performLongPress\n      which is not necessary true since the view may watch the touch\n      events and do its own click long click detection. As a result it may\n      be possible that there are view a user cannot interact with in\n      touch exploration mode but can if not in that mode.\n\n   B) Clicking or long pressing on a different location in a view may yield\n      different results, for example NumberPicker. Ideally such views have\n      to implement AccessibilityNodeProvide which provider handles correctly\n      the request for click long press on virtual nodes. Some apps however\n      just fire different hover accessibility events when the user is over\n      a specific semantic portion of the view but do not provide virtual\n      nodes. Hence, a user will not be able to interact with such semantic\n      regions but the system can achieve that by sending the click/long click\n      at the precise location in the view that was last touch explored.\n\n2. Adding a flag on accessibility service info to request explore by touch\n   mode. There is no need to put the device in this mode if node of the currently\n   enabled accessibility services supports it. Now the problem is inverted and\n   the service has to explicitly state its capability.\n\n3. Fixing a bug where includeImportantViews was ignored for automation\n   services.\n\nChange-Id: I3b29a19f24ab5e26ee29f974bbac2197614c9e2a\n"
    },
    {
      "commit": "88670d816ba48076bf89afe57b78b09d1e4288bb",
      "tree": "97f2351997d480929b1c731fc15ed663fb11a4e2",
      "parents": [
        "a76f823c7f31bffdea4d49daa6c6165520928708"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed May 09 15:47:35 2012 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed May 09 16:02:09 2012 -0700"
      },
      "message": "Use the right flag types when creating InstallArgs\n\nNeed to use PackageManager.INSTALL_{EXTERNAL,FORWARD_LOCKED} for\ncreateInstallArgs instead of ApplicationInfo.FLAG_etc for the install\nargs to be created correctly. If certain flags conflict, there will be a\nfailure to delete the package.\n\nChange-Id: Ibd8705943371596b2f2d6c24bd071b737ca74ef4\n"
    },
    {
      "commit": "0fa152912e55f2d08f0a8d1260332a81e5706694",
      "tree": "3b587e2578c476dcb646845d23543e6b520ac17b",
      "parents": [
        "2ed09ea41fcb0d16e2dcf0372b1d0f73a7850fc3",
        "df549f83810c6fa76be1845363ef69809a30e569"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Wed May 09 15:11:14 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 09 15:11:14 2012 -0700"
      },
      "message": "Merge \"Make UiTestAutomationBridge see non-important views again\" into jb-dev"
    },
    {
      "commit": "a53de0629f3b94472c0f160f5bbe1090b020feab",
      "tree": "d3816b90689fee8b1aee48cdc834ce0f597e99d3",
      "parents": [
        "8b2e37e5a0e10d234ffe6815e9a462283cad3d78"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 08 18:53:51 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 09 14:53:20 2012 -0700"
      },
      "message": "Add callback hack to find out when to load system properties.\n\nUse this to reload the trace and layout bounds properties.\n\nThis is ONLY for debugging.\n\nChange-Id: I1c4bdb52c823520c352c5bac45fa9ee31160793c\n"
    },
    {
      "commit": "6367b1669d41f9fe7cd7abe5e05296edecd50f8e",
      "tree": "2d59625dfa9084d1601aab635df2011c4173aabd",
      "parents": [
        "9669a0ce574745ba0b0ebd32e8337811973fb7dc",
        "6de357e4d10fa5977ab9a6c665dc858765e95d34"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed May 09 14:36:40 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 09 14:36:40 2012 -0700"
      },
      "message": "Merge \"Recover from Throwable in FileRotator, dump.\" into jb-dev"
    },
    {
      "commit": "df549f83810c6fa76be1845363ef69809a30e569",
      "tree": "800d0bfc5625be36e253cc19879d43c701ecd8ed",
      "parents": [
        "bad417df657128a988b23a6b70b4d08633e4ac5a"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Tue May 08 23:09:24 2012 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Wed May 09 14:32:15 2012 -0700"
      },
      "message": "Make UiTestAutomationBridge see non-important views again\n\nThis problem was introduced in I74df9c24. The intention of the\nchange was still let UiTestAutomationBridge see the\nnon-important views, but there were bugs in the implementation:\n\n1. AccessibilityManagerService was not really updating\n   mIncludeNotImportantViews when mIsAutomation is true\n\n2. Wrong constant is used to set the flag\n\nChange-Id: Ia0a2e9ed9720bd0ea3a563e0b492e870a6ec1586\n"
    },
    {
      "commit": "9669a0ce574745ba0b0ebd32e8337811973fb7dc",
      "tree": "55a959cb17f7898a417727e91e89a8a85648c4e4",
      "parents": [
        "08c04000c6355a735dab237e1994dc17c7e5d44f",
        "22af38c5261d2c03796b496e6edb125327cace16"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed May 09 14:04:04 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 09 14:04:04 2012 -0700"
      },
      "message": "Merge \"API review fixes\" into jb-dev"
    },
    {
      "commit": "08c04000c6355a735dab237e1994dc17c7e5d44f",
      "tree": "3224552980f84efa5e205357d1ec48040816ca3e",
      "parents": [
        "c1fc0f01d2b0af2216870a40ae4cb6572588d194",
        "9158cbcbc9895e476606c5191168ee4a6c67c9c7"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed May 09 13:55:52 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 09 13:55:52 2012 -0700"
      },
      "message": "Merge \"Remove incorrect CLEAR_WHEN_TASK_RESET behavior.\" into jb-dev"
    },
    {
      "commit": "6de357e4d10fa5977ab9a6c665dc858765e95d34",
      "tree": "f5a0ce10d0d665dd5dda2afcd4b4656b7a6dc8a3",
      "parents": [
        "6704c233390743890d23338a2329dcda5709b810"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed May 09 13:33:52 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed May 09 13:43:19 2012 -0700"
      },
      "message": "Recover from Throwable in FileRotator, dump.\n\nIn rewriteSingle(), catch Throwable to rollback to backup file,\ninstead of just IOException. Also add dumpAll() to pack up contents\nfor later debugging, and use it when encountering bad stats.\n\nBug: 6467868\nChange-Id: Ic8e287cf5a235706811a304a88d71d11d3a79cd4\n"
    },
    {
      "commit": "22af38c5261d2c03796b496e6edb125327cace16",
      "tree": "0901ae2edda6f7889eaea78ac58f0fc430987aff",
      "parents": [
        "faac92942c50b12edada5e92e7c323609b2bdb5f"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu May 03 16:44:27 2012 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed May 09 11:48:42 2012 -0700"
      },
      "message": "API review fixes\n\n- Remove the notion of channel from an application perspective\n- Remove the use of DnsSd as part of API and add a protocol type to allow\nfuture extensions\n- Use the listener object as a handler for stop and unregister operations. Also,\nwe now allow multiple active discovery operations.\n- Remove init/deinit operations in favour of setting up construction\n\nBug:6434844\nChange-Id: Id15521d571aac9c4053d81184ad66dfc54f636de\n"
    },
    {
      "commit": "9158cbcbc9895e476606c5191168ee4a6c67c9c7",
      "tree": "229dc7fd3ad0b237d0eb8c01836e844d3b924ae2",
      "parents": [
        "a4e2ec64db896366592b3b2347eb2ac6d2ca060a"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed May 09 11:37:48 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed May 09 11:37:48 2012 -0700"
      },
      "message": "Remove incorrect CLEAR_WHEN_TASK_RESET behavior.\n\nFixes bug 6447950.\n\nChange-Id: I6b512d5dd44c54e7b51f85c51783e8c942238c1d\n"
    },
    {
      "commit": "393295fabff828d3bc974a617d152ff0895a4071",
      "tree": "9330e874ab9f72036b9bdde1dabf3c2652738168",
      "parents": [
        "14124c696d82e68f93baed905ca01fc498ae1fc6",
        "a83580614f4f75f7d474e81c7c10c2c784df1380"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed May 09 11:17:19 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 09 11:17:19 2012 -0700"
      },
      "message": "Merge \"Keep layout from overwriting translate dimensions\" into jb-dev"
    },
    {
      "commit": "e0a99414bd3737ad976bf4a040c184bebd8e2e3d",
      "tree": "6152c9426ec7bf8e64b56ef3048c85314da298e9",
      "parents": [
        "2f913d951c481edccbefa4d321a76f28740b48d7"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu May 10 02:22:58 2012 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu May 10 02:57:11 2012 +0900"
      },
      "message": "Fix the issue that the insets linger after closing the voice input\n\nBug: 6456954\nChange-Id: Idf7700271cf882dfbf35c9d16f0f173a791221bc\n"
    },
    {
      "commit": "a83580614f4f75f7d474e81c7c10c2c784df1380",
      "tree": "e00a9382427c0bbfc0bcfa5122a6044d9813c658",
      "parents": [
        "a4e2ec64db896366592b3b2347eb2ac6d2ca060a"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed May 09 10:37:41 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed May 09 10:37:41 2012 -0700"
      },
      "message": "Keep layout from overwriting translate dimensions\n\nIf the layout goes through more than one pass after detecting a window\nmovement but before animation begins then the later pass overwrites\nthe animation offsets. The incorrect values are large leading to an\nanimation starting location in the bottom right corner.\n\nFixes bug 6450310.\n\nChange-Id: I0f74e67b3e9a15a9246151abf6d47384509340e9\n"
    },
    {
      "commit": "93d744deb167d5c681b5bb5627fd36a92f1ea79a",
      "tree": "faa1d4cdb522c9a0af6107b361084d83b44e1877",
      "parents": [
        "a71293f36cb6f6b906301a426c6c5f388e118552"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed May 09 17:14:08 2012 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed May 09 17:14:08 2012 +0900"
      },
      "message": "Fix sort order of the input method switcher in IMMS\n\nBug: 6333988\nChange-Id: Ief392c9157f2a37600e517ec9caf586ffb9d5f0d\n"
    },
    {
      "commit": "a71293f36cb6f6b906301a426c6c5f388e118552",
      "tree": "b687a5a5f1c77a8249facc68d4b437ce7f5e34de",
      "parents": [
        "ea3f8cc71e0bb89840e727e22ba332bae228ac36",
        "fdf419e81d795593e3792c9e78f33ed899ff098e"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue May 08 23:39:32 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 08 23:39:32 2012 -0700"
      },
      "message": "Merge \"Do not return stale subtypes\" into jb-dev"
    },
    {
      "commit": "a4e2ec64db896366592b3b2347eb2ac6d2ca060a",
      "tree": "5234540fdccb2b260c138d53f6a80382ab486463",
      "parents": [
        "137407087b069b3418e49b260f64e48e7a6a3144",
        "d8f10240c0eef18b71a488d34b27d05bdc3216ae"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 08 17:19:15 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 08 17:19:15 2012 -0700"
      },
      "message": "Merge \"Fix Issue 26574: Service\u0027s onStartCommand receiving incorrect flag...\" into jb-dev"
    },
    {
      "commit": "d8f10240c0eef18b71a488d34b27d05bdc3216ae",
      "tree": "0383b510f35193da9cb3a64d0fffcddc459139fe",
      "parents": [
        "4a337ec99e0d6b7f2f3b79b990809bf64a42f0ec"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 08 17:14:58 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 08 17:14:58 2012 -0700"
      },
      "message": "Fix Issue 26574: Service\u0027s onStartCommand receiving incorrect flag...\n\n...parameter for Intents\n\nChange-Id: I2e2332c87e008c7ad6a89e17ae3f732c78e376ef\n"
    },
    {
      "commit": "79b7742cf17c79c529bbcbd1acc2d871a90e8fbc",
      "tree": "9d914aeca89fa0e4028243e41c13c3e322913818",
      "parents": [
        "a3b6728933c13599f3b2f22aad7016cdaa04d706",
        "0afddcb7f11ddfcaa5d1f5a5db75fce1b5d40253"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue May 08 17:01:43 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 08 17:01:43 2012 -0700"
      },
      "message": "Merge \"Fix wallpaper exposure bugs.\" into jb-dev"
    },
    {
      "commit": "0afddcb7f11ddfcaa5d1f5a5db75fce1b5d40253",
      "tree": "ef6788bb86698984ab7fff1e9c0c713f986718c3",
      "parents": [
        "989c753281fcb689ea163530096ac589c9e5a44f"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue May 08 15:38:00 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue May 08 16:32:50 2012 -0700"
      },
      "message": "Fix wallpaper exposure bugs.\n\nQualify the test for wallpaper animation to exclude the dummy\nanimation. This keeps us from treating a dummy-animating wallpaper\nas an exiting wallpaper and providing the wrong animation.\n\nHide wallpapers when the wallpaper target window is hidden. This\nfixes a timing issue where the wallpaper was exposed for one pass\nthrough performLayout after the launcher was hidden.\n\nFixes bug 6454992.\n\nChange-Id: Ib4f9205c01a37e6f48f1f93ddcf2476e40ff942f\n"
    },
    {
      "commit": "c29b49faf3e193a8c72c25c6e362ac26ea0e2464",
      "tree": "c2867b1f520c30a8c2d52b2f79b279babcdf0d9a",
      "parents": [
        "8a7eff18f3f83e0d41de47b84052723f337bf53b",
        "208d341bbd61bf818ec0acddb6cad4e616239d50"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue May 08 16:14:20 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 08 16:14:20 2012 -0700"
      },
      "message": "Merge \"Handle addition of system apps during OTA\" into jb-dev"
    },
    {
      "commit": "208d341bbd61bf818ec0acddb6cad4e616239d50",
      "tree": "3bf8926c19015a53cc590ffa53de3d6ca79793e1",
      "parents": [
        "59f3f5853cd05103b5a83f5ddbe584a5270a9c6b"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon May 07 19:42:35 2012 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue May 08 15:57:44 2012 -0700"
      },
      "message": "Handle addition of system apps during OTA\n\nIf there were apps already installed that were added in a later system\nOTA, bad things would happen.\n\nIf the previously installed application is an older version, simply\ndelete the installed application. If the system app is older than the\npreviously installed one, mark it as a disabled system app and use the\nprevioulsy installed application.\n\nAdditionally, the application will now have the correct granted\npermissions.\n\nBug: 6251602\nChange-Id: Iea444b6acac460fca1e08d4e2cbf68a258214ca6\n"
    },
    {
      "commit": "9ac663ef9ab6ec455403d1e71bf897c34d3b311e",
      "tree": "a3d93bad53794e92964c41a377017a542022802a",
      "parents": [
        "c8ade15dadd680c5e4b201f3b7b0823a13dedb3e",
        "c042ee2acd8529b95c5dc99240d626e61d2500cd"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue May 08 15:15:56 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 08 15:15:56 2012 -0700"
      },
      "message": "Merge \"Disable input dispatch until boot finished.\" into jb-dev"
    },
    {
      "commit": "c8ade15dadd680c5e4b201f3b7b0823a13dedb3e",
      "tree": "9bdbedce9405c522224b1921e0b54694d131fdf8",
      "parents": [
        "2e999d12743edf329b6991d7168099cec9f1c24f",
        "bffc3d1bd33eb2d8e00a9f8b6261d815db503311"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 08 15:15:49 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 08 15:15:49 2012 -0700"
      },
      "message": "Merge \"Silent and Vibrate mode clean up\" into jb-dev"
    },
    {
      "commit": "bffc3d1bd33eb2d8e00a9f8b6261d815db503311",
      "tree": "a1479697fba70c0d8bbb608f4bb9a612781b9f3f",
      "parents": [
        "c2182c67d65619041956849c346d67e77010ab7e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon May 07 17:43:49 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 08 15:10:37 2012 -0700"
      },
      "message": "Silent and Vibrate mode clean up\n\nClean up related to new Vibration policy.\nThe vibrate behavior is now only derived from:\n - presence of a vibrator on the device\n - current ringer mode selected: NORMAL, VIBRATE or SILENT\nIf no vibrator is present the ringer mode can only be NORMAL or SILENT.\n\nThe control of ringer mode via volume keys when volume keys control the \"master\"\nstream type (RING on phones, MUSIC on tablets) is as follows:\nIf a vibrator is present:\n VOL- and volume equals 1: NORMAL \u003d\u003e VIBRATE\n VOL- and volume equals 0 and not continuous press: VIBRATE \u003d\u003e SILENT\n VOL+ and in SILENT mode: SILENT \u003d\u003e VIBRATE\n VOL+ and in VIBRATE mode: VIBRATE \u003d\u003e NORMAL, volume \u003d 1\nIf no vibrator is present:\n VOL- and volume equals 0 and not continuous press: NORMAL \u003d\u003e SILENT\n VOL+ and in SILENT mode: SILENT \u003d\u003e NORMAL, volume \u003d 0\n\nVIBRATE_ON and VIBRATE_IN_SILENT settings are not stored/retreived any more.\n\nAudioService checks and corrects ringer mode and stream volumes if necessary when reading from\nDB at boot time.\n\nAlso:\n Added dump for stream volumes in AudioService.\n Added device names missing in AudioSystem for USB accessory and USB device.\n\nIssue: 6036529\nIssue: 6414950\nIssue: 6448163\n\nChange-Id: I77fb821ec63e4e566320cac2701b4ac466e86aef\n"
    },
    {
      "commit": "14326fd456f8b457e4ab7b53393b9b1e0d1726aa",
      "tree": "3eeed2962d355cddb243a98c268bc082ebfceb75",
      "parents": [
        "eb194d5d3c84a71de82316618b845bcd1fde61ff",
        "ef5889810c32eca9d874503fdc7df6e2a1575993"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue May 08 14:46:01 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 08 14:46:01 2012 -0700"
      },
      "message": "Merge \"DefaultGestureHandlingHelperService should not include non-important views.\" into jb-dev"
    },
    {
      "commit": "c042ee2acd8529b95c5dc99240d626e61d2500cd",
      "tree": "4af0331cce7c05242025c6c02506a5addd2c3ee9",
      "parents": [
        "a7771df3696954f0e279407e8894a916a7cb26cc"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue May 08 13:03:42 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue May 08 13:58:32 2012 -0700"
      },
      "message": "Disable input dispatch until boot finished.\n\nBug: 6263070\nChange-Id: I25e15e3d8af8eb3343c7b684fec345337d9f6aab\n"
    },
    {
      "commit": "8a2fe26873f73a7a422cadf9e5ccfd7c68bbd9ca",
      "tree": "7c6286e6c625af146498bec0c16a87d2b780f29c",
      "parents": [
        "fdb7412af3e5b702b2d07cf782d3db8e297ef7b4",
        "c52d6fd04316483f4a88f3a087b93bb197cd97f4"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue May 08 12:50:07 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 08 12:50:07 2012 -0700"
      },
      "message": "Merge \"Prune hidden system apps when removed via OTA\" into jb-dev"
    },
    {
      "commit": "c4eb11db04be07000e996d09b477a7a833435db8",
      "tree": "400189e12ccda196eaa53aa0a7750da8d4027621",
      "parents": [
        "ef31e7cab57c82083c41adf2d2a056ab159a4f51",
        "b041f23026536dd287c1a9a962642c84ebd10004"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Tue May 08 10:27:22 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 08 10:27:22 2012 -0700"
      },
      "message": "Merge \"Increase interval threshold below which we just leave the GPS on.\" into jb-dev"
    },
    {
      "commit": "fdf419e81d795593e3792c9e78f33ed899ff098e",
      "tree": "472d6bdd60af4c85045e3b74b74bfa8f7a67ccf3",
      "parents": [
        "05f5236f6093b7f518677289f023f033832218f7"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue May 08 16:52:08 2012 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue May 08 17:05:46 2012 +0900"
      },
      "message": "Do not return stale subtypes\n\nBug: 6294329\nChange-Id: I3f0713f94c291298dfd447d1b65bd7c6d2858492\n"
    },
    {
      "commit": "c52d6fd04316483f4a88f3a087b93bb197cd97f4",
      "tree": "9870f2edcfd9f3e84f087a75d6f388b7244c2d75",
      "parents": [
        "775bcac6bcdd04b6bffd23b5de0da4588a749337"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon May 07 23:04:52 2012 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon May 07 23:07:49 2012 -0700"
      },
      "message": "Prune hidden system apps when removed via OTA\n\nSystem applications which had an update applied to them at some point\nwere in a semi-broken state when removed via an OTA. The\n\"updated-package\" setting would stay around forever and permissions\nwouldn\u0027t be revoked.\n\nChange-Id: I908e813b5de59c0f777d9b051253b28255a1c694\n"
    },
    {
      "commit": "69de7e1a4ee9455ecd5a4aedfb6e5c395364dbbe",
      "tree": "8d02bb0bbdda323f4fea55d22cf4a310eb66d284",
      "parents": [
        "29bb27ef90564a294d506c2ffd546ba21788aeac"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon May 07 18:42:24 2012 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon May 07 18:42:24 2012 -0700"
      },
      "message": "Fix a bug in ActivityManagerService#navigateUpTo\n\nDeliver new intents to an existing parent from the calling uid obtained from\nthe applicationInfo instead of the process record, since the process record\nmight be dead.\n\nStoopid monkeys.\n\nBug 6328725\n\nChange-Id: I4371a5705ccd7004f0dfe11da7c48d1563fb8dac\n"
    },
    {
      "commit": "29bb27ef90564a294d506c2ffd546ba21788aeac",
      "tree": "8226d74cc09125dd32c5f4110f38460c111e19c0",
      "parents": [
        "d57521c6742f4018761faab1de96bd38afbcac02",
        "ceb1b0bfaea56251796b08c07b963de7403d84eb"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon May 07 18:41:27 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 07 18:41:27 2012 -0700"
      },
      "message": "Merge \"Add encryption parameters to package installation\" into jb-dev"
    },
    {
      "commit": "ef5889810c32eca9d874503fdc7df6e2a1575993",
      "tree": "813d387046635fd9bc53d33a30eb20f201dc9c80",
      "parents": [
        "2551e5a1d9990514d8116e352b8e5c2f10a9d303"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon May 07 18:05:26 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon May 07 18:05:31 2012 -0700"
      },
      "message": "DefaultGestureHandlingHelperService should not include non-important views.\n\n1. Since we are using a stateless proxy accessibility service to\n   perform default accessibility gesture handling it shuld not\n   operate against not important views.\n\nbug:6422069\n\nChange-Id: I74df9c2415ab3b164d9ac5873f7004c0459e2bfa\n"
    },
    {
      "commit": "b041f23026536dd287c1a9a962642c84ebd10004",
      "tree": "cf71b0ef3c495d7333bf5c65ac4abdbabdf4c045",
      "parents": [
        "6e4cb6a93b1a1b6970862d21769d14c9e583dd59"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Mon May 07 17:12:25 2012 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Mon May 07 17:12:25 2012 -0700"
      },
      "message": "Increase interval threshold below which we just leave the GPS on.\n\nHot TTTF is about 5 seconds, so don\u0027t cycle the GPS hardware until\nthe interval is 10 seconds.\n\nAlso add some more dumpsys logging.\n\nBug: 6367964\nChange-Id: I39402fc61f34458a1639c8814610a02606a8eb79\n"
    },
    {
      "commit": "ceb1b0bfaea56251796b08c07b963de7403d84eb",
      "tree": "fea73b05f6b4d47da174eca362693958cf5d785a",
      "parents": [
        "476b03b0c0d5cae4d1b114c6f80858d59ba36cad"
      ],
      "author": {
        "name": "Anonymous Coward",
        "email": "nobody@android.com",
        "time": "Tue Apr 24 10:35:16 2012 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon May 07 16:34:49 2012 -0700"
      },
      "message": "Add encryption parameters to package installation\n\nChange-Id: Ic9f8ab9f8110f08bb3c00725cfce5b8ee7b766f3\n"
    },
    {
      "commit": "8e11051a06b3362b7d7cda654f8dcb5ca3760494",
      "tree": "a5e5a71519ba01f466ace969ada0523e1a2a34aa",
      "parents": [
        "ebd6016b8c6faf70b44283c59461023cda1ca6b0",
        "d367ca88eeede24e7d9a51ae85996a9d08d734b2"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 07 16:12:44 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 07 16:12:44 2012 -0700"
      },
      "message": "Merge \"Tweak anim API to automatically call Intent.setSourceBounds().\" into jb-dev"
    },
    {
      "commit": "d367ca88eeede24e7d9a51ae85996a9d08d734b2",
      "tree": "11bd866bf13ce77533bd56a05b5fa12ec7797206",
      "parents": [
        "ff0e8cd8b60aa8372b06edecb2e754b0905c4d31"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 07 15:49:39 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 07 15:54:58 2012 -0700"
      },
      "message": "Tweak anim API to automatically call Intent.setSourceBounds().\n\nAlso don\u0027t retain the source bounds in recent tasks, since it\nhas no meaning there and it would be better when relaunching an\nactivity to have a new bounds set based on wherever it is now\nbeing launched from.\n\nChange-Id: Ia90c04ee98a888a7f725b038abe23d71e2b12800\n"
    },
    {
      "commit": "bae365c166538d5c2319bf42aaf1715a1fb749e7",
      "tree": "5aacc624571a4f69ce67dadb5f4304e580c00900",
      "parents": [
        "d9aab5432e48211b1b89410ec290db5d9c511bf3",
        "755c8bfbffe5134232217ef4c3998194b344ae17"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 07 15:12:33 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 07 15:12:33 2012 -0700"
      },
      "message": "Merge \"Fix issue #6319312: Consecutive call to Activity\u0027s onCreate()/onResume()...\" into jb-dev"
    },
    {
      "commit": "755c8bfbffe5134232217ef4c3998194b344ae17",
      "tree": "2fb453ccca242d8a5de0650a2765316ecf6698be",
      "parents": [
        "ff0e8cd8b60aa8372b06edecb2e754b0905c4d31"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 07 15:06:09 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 07 15:06:09 2012 -0700"
      },
      "message": "Fix issue #6319312: Consecutive call to Activity\u0027s onCreate()/onResume()...\n\n...without onPause() in between\n\nThere was a bug in the handling of \"always finish activities\" where we\nwould go through destroying activities while in the middle of updating\nthe activity stack.  This would result in the activity behind the\nnon-full-screen activity being created and then immediately destroyed,\nwhich things were not expecting.\n\nChange-Id: Idaa89089f7b1af7eb747d7b8f9f394beeb2d23fa\n"
    },
    {
      "commit": "d8efe42496806b483bbacea28d2456e8b2eac4fb",
      "tree": "e5334897ca2f22de383fb829ae966bdf91e1d4c1",
      "parents": [
        "b3482ffbeee30650359e6ab8f3950a83e06963b4",
        "3a67f35f5e912b9c1ec44adbdc5531427318b12d"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon May 07 13:10:08 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 07 13:10:08 2012 -0700"
      },
      "message": "Merge \"Change DimAnimator to reflect rotations.\" into jb-dev"
    },
    {
      "commit": "3a67f35f5e912b9c1ec44adbdc5531427318b12d",
      "tree": "93eb908ca6930fd54d54cf2c38c81635ec55b668",
      "parents": [
        "989c753281fcb689ea163530096ac589c9e5a44f"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon May 07 11:21:33 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon May 07 11:21:33 2012 -0700"
      },
      "message": "Change DimAnimator to reflect rotations.\n\nEnlarge DimAnimator to cover corners when frozen surface rotates.\nUpdate DimAnimator size following rotation to reflect new dimensions.\n\nFixes bug 6449788.\nFixes bug 6449035.\n\nChange-Id: I217d7c96af940e6affc395b79dc665d00318b18c\n"
    },
    {
      "commit": "fb0caad42353687e63cd560dc7fb028b8439edde",
      "tree": "55cf3af2551d5758a699a7ae10c18f6e733fe4aa",
      "parents": [
        "ee00b31a54cc186cb53fe30d7834361791baab20",
        "5801597a90949240e99c3980c0bb889deeec2e5c"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon May 07 11:16:01 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 07 11:16:01 2012 -0700"
      },
      "message": "Merge \"Ack, wrap advisePersistThreshold() in lock.\" into jb-dev"
    },
    {
      "commit": "5801597a90949240e99c3980c0bb889deeec2e5c",
      "tree": "22d4e319dec1860c8b4b312cc95b29212f7e0cbb",
      "parents": [
        "3c5f92432734e1e3b9bdc515628a4c09d7759cd4"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon May 07 11:08:49 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon May 07 11:08:49 2012 -0700"
      },
      "message": "Ack, wrap advisePersistThreshold() in lock.\n\nBug: 6449725\nChange-Id: I702dc2ff9d4b237c46d89bcae41289bc3e9ef2f8\n"
    },
    {
      "commit": "051ecfaf46ac0b0c68ec6950bfec76a7dfff2720",
      "tree": "3b95780c4c489272276b29796224501d067bf512",
      "parents": [
        "989c753281fcb689ea163530096ac589c9e5a44f",
        "924d9b75d6ec4597264a7af3f8be5b5a7d3a3dd2"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Sun May 06 16:01:00 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun May 06 16:01:00 2012 -0700"
      },
      "message": "Merge \"Force BlackSurface to be a black surface.\" into jb-dev"
    },
    {
      "commit": "2551e5a1d9990514d8116e352b8e5c2f10a9d303",
      "tree": "a16ecdba03fc3a65d2eeffa3f9140fb43da5dacf",
      "parents": [
        "3f28a1b7ebb3500d13a1672ab76fe68e9c0a75e8",
        "2b435aada3d274a9c08d334946fff1ab9ba15b48"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun May 06 14:53:27 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun May 06 14:53:27 2012 -0700"
      },
      "message": "Merge \"API REVIEW: android.view.accessibility\" into jb-dev"
    },
    {
      "commit": "924d9b75d6ec4597264a7af3f8be5b5a7d3a3dd2",
      "tree": "72ddb898ae3b0081fa3783919bb98cfe5ea57b8c",
      "parents": [
        "139e5aa1da51b27231ab36344cf2d0dafab23f1e"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Sun May 06 13:12:04 2012 -0700"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Sun May 06 14:27:44 2012 -0700"
      },
      "message": "Force BlackSurface to be a black surface.\n\nBlackSurface transparency was tracking animation transparency causing\nbackground images to peek around the corners.\n\nFixes bug 4998851.\n\nChange-Id: I48ac7bf5d0cc560b655c9f12faccda411985cbad\n"
    },
    {
      "commit": "1dd005441301ab91c2df3d7dd6b1458c2006135e",
      "tree": "01df413f44bb538975dc7312e1f0b36701dc8b7d",
      "parents": [
        "b05b158b84b620e46d736dcaf038fa6268cbcb00",
        "6e4cb6a93b1a1b6970862d21769d14c9e583dd59"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Fri May 04 17:17:57 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 04 17:17:57 2012 -0700"
      },
      "message": "Merge \"Log PID of apps requesting location updates.\" into jb-dev"
    },
    {
      "commit": "2b435aada3d274a9c08d334946fff1ab9ba15b48",
      "tree": "7d3968b53ea8f70914852c45b6dd2c5c41a99487",
      "parents": [
        "414efc3b5f50e2784f4f7c2be3f2c096aef0c6b4"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri May 04 17:16:37 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri May 04 17:16:41 2012 -0700"
      },
      "message": "API REVIEW: android.view.accessibility\n\n1. Changed all references to granularity to movement\n   granularity. BTW, to be more precise it should be\n   text movement granularity.\n\nbug:6435232\n\nChange-Id: If6366b002ca3390f74918995b342baff2cbcfd01\n"
    },
    {
      "commit": "6e4cb6a93b1a1b6970862d21769d14c9e583dd59",
      "tree": "71c925b041899f48bfbadfc925fb7adb73cc9079",
      "parents": [
        "e06747c727c9edc05c1d32f389a2347a11f653d5"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Fri May 04 13:29:20 2012 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Fri May 04 16:18:09 2012 -0700"
      },
      "message": "Log PID of apps requesting location updates.\n\nBUG\u003d6444765\n\nChange-Id: Ib948b8fddb99f95f63486fbc096a26609c1a6c21\n"
    }
  ],
  "next": "8c1dc72b1402d55dae388a294476565b2473a87a"
}
