)]}'
{
  "log": [
    {
      "commit": "21ca44d67b972e66a5c8698886ee8747366c8b05",
      "tree": "8213848925220e0e3b691189f87f5981e624b04c",
      "parents": [
        "4c333e177220387cf6746d47e1948bbfcc374512"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Mar 07 13:58:00 2013 -0500"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Mar 07 14:01:22 2013 -0500"
      },
      "message": "Properly support USER_ALL in notification listener API.\n\nListeners should be notified for any notification if they\nregister for USER_ALL, or for any notification posted to\nUSER_ALL.\n\nBug: 8328357\nChange-Id: Ib5024d41287090d1a390539a015d8cb4dfa854a7\n"
    },
    {
      "commit": "32440aa25d958c8b82e7c17f784defc0a5860c0a",
      "tree": "ff9b2f209fb7e51073fea1b3f6a4b97e3599b41c",
      "parents": [
        "7be6d4c421cfa6f93079517d3ee54024c8049ae5",
        "7dd5bb18d44a9ed0521308595f664b51b6e9b3e9"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Fri Mar 01 22:20:46 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 01 22:20:46 2013 +0000"
      },
      "message": "Merge \"Unify inputDispatchingTimedOut with keyDispatchingTimedOut\" into jb-mr2-dev"
    },
    {
      "commit": "7dd5bb18d44a9ed0521308595f664b51b6e9b3e9",
      "tree": "19e0562b4a408c2ce699228dbae8fd11d7334190",
      "parents": [
        "5633e23c2222c00f388a73f74295acee3fd13c44"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Wed Feb 27 17:07:29 2013 -0800"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Fri Mar 01 14:14:35 2013 -0800"
      },
      "message": "Unify inputDispatchingTimedOut with keyDispatchingTimedOut\n\nBug: 8194916\nChange-Id: Iac40108d848bcca77f49a7a49c57a095b3dbe9c9\n"
    },
    {
      "commit": "7f61d0146e48275bf372e6b1ea82d2f48163c73d",
      "tree": "1d53f5f2b18d1c52859906eb5595e9512a33b73d",
      "parents": [
        "f5e0471703d73a1285601928b790cdf0ab028fa5",
        "812085bc70a4a644ffab7fbbf9d4564632325a83"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Mar 01 00:58:31 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 01 00:58:32 2013 +0000"
      },
      "message": "Merge \"Allow loopback traffic in lockdown mode.\" into jb-mr2-dev"
    },
    {
      "commit": "812085bc70a4a644ffab7fbbf9d4564632325a83",
      "tree": "8dc33fe4bab4704536e27715b773308a4d21bb87",
      "parents": [
        "ba761979ee883237b8e0143973ba5b6032f37d05"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Feb 28 16:57:58 2013 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Feb 28 16:57:58 2013 -0800"
      },
      "message": "Allow loopback traffic in lockdown mode.\n\nBug: 8245184\nChange-Id: If993e3d6f5c7ce5970bfe701074c85b9245aa2aa\n"
    },
    {
      "commit": "79751848d1c3a5139eb5ccd6ddecaf84c2a09783",
      "tree": "71f86448bdb5a5a0328bdcf4d655be663f90ffb2",
      "parents": [
        "c732976e6b40be5a23eee2df2bff23101abc1f91"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Feb 28 16:16:03 2013 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Feb 28 16:33:48 2013 +0900"
      },
      "message": "Expose clatd commands to NetworkManagementService.\n\nFor now, we only support running one clat at a time. This is\nenforced by the netd ClatdController code.\n\nBug: 8276725\nChange-Id: I8a50305f9182f4da0f80716081211625a0202583\n"
    },
    {
      "commit": "2a45b9fe99b10baeedb9c4529dcc5177ad7e3584",
      "tree": "f90768e98757f0f4cbfd401dfea76dbd444134de",
      "parents": [
        "29466f85c06b7b58b2d058dcf293298fecdeb704",
        "3c55e5c6595d28c64f5a760947c66fdefa2481e2"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Thu Feb 28 02:33:05 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 28 02:33:05 2013 +0000"
      },
      "message": "Merge \"Fake accessibility service used by UiAutomation not destroyed.\" into jb-mr2-dev"
    },
    {
      "commit": "3c55e5c6595d28c64f5a760947c66fdefa2481e2",
      "tree": "b4e37137661ff97004653f50adb413664847fd16",
      "parents": [
        "9ad665417713398524d425f63b0d6fa751244237"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Wed Feb 27 18:24:28 2013 -0800"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Wed Feb 27 18:32:17 2013 -0800"
      },
      "message": "Fake accessibility service used by UiAutomation not destroyed.\n\nUiAutomation registers a fake accessibility service to introspect\nthe screen. Upon the death of the shell process that started an\ninstrumentation in which a UiAutomation resides the connection\nbetween the UiAutomation and the system is kept alive allowing\nthe instrumentation to introspect the screen even after the death\nof the shell process.\n\nbug:8285905\n\nChange-Id: I1a16d78abbea032116c4baed175cfc0d5dedbf0c\n"
    },
    {
      "commit": "a60fdfac9432972e520e8c53b3b0717b4c3a2973",
      "tree": "4c574b95441696126b4228d0e60218264eb8ffc4",
      "parents": [
        "9ad665417713398524d425f63b0d6fa751244237"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Tue Feb 26 19:16:18 2013 -0800"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Tue Feb 26 19:25:01 2013 -0800"
      },
      "message": "NPE in AccessibilityManagerService.\n\nIf an accessibility service is connected but already removed\nfrom the list of connecting services we get a NPE since the\ncall to set the service connection is made over a null\nremove interface. Note that service connection is asynchronous.\n\nbug:8229877\n\nChange-Id: I7b05f219dd0c1da6286ee4ec90b1ef310908545d\n"
    },
    {
      "commit": "173bb61544fb41a10398606766f2bdf079ee02fc",
      "tree": "7297265576fda88a30527eb8a2fd12cc0b55df29",
      "parents": [
        "d0d209ed4d6280b6e1203eebe823f04f9db766c0",
        "5633e23c2222c00f388a73f74295acee3fd13c44"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Tue Feb 26 22:14:41 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 26 22:14:41 2013 +0000"
      },
      "message": "Merge \"Move stack dump off of InputDispatcher thread\" into jb-mr2-dev"
    },
    {
      "commit": "305dbea8e39608b61810637944b6ffbbe6c07d2f",
      "tree": "e2130142cd31c905e9f8e5cc586586901eda74d5",
      "parents": [
        "4b141acde00840db4cd850e5cddbe2cf849830aa",
        "efcc1a23a1f731390ef8506b3536b9562d18ed78"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Feb 26 18:16:22 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 26 18:16:22 2013 +0000"
      },
      "message": "Merge \"App ops: adding operations for reading/writing clipboard.\" into jb-mr2-dev"
    },
    {
      "commit": "9fbdda42a2acff8179c251f6455fd3e2c9971545",
      "tree": "62b08d053971a58636aa9b7a424de688fd1c4e25",
      "parents": [
        "30a51b3f01ceee9f17ba4070e518b1829e32063d",
        "302b06de7ea7ac97ac4a2189213a1133220bfdc8"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Feb 26 17:04:58 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 26 17:04:58 2013 +0000"
      },
      "message": "Merge \"Fix leak in WifiManager\" into jb-mr2-dev"
    },
    {
      "commit": "302b06de7ea7ac97ac4a2189213a1133220bfdc8",
      "tree": "c51d4d2e36504f8384d893cc8f178135fe40f593",
      "parents": [
        "ff4fcdb98c9575642c48f1daeafff4b257769e81"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Feb 22 12:35:31 2013 -0800"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Feb 26 09:01:48 2013 -0800"
      },
      "message": "Fix leak in WifiManager\n\nAvoid leaks from having a channel connection per manager instance\n\nBug: 8254124\nChange-Id: I10de91d7e5a775bc14bbab245734717d3b2f90d5\n"
    },
    {
      "commit": "efcc1a23a1f731390ef8506b3536b9562d18ed78",
      "tree": "3bf75913746cac59177a3d1c7ff2d82034e03cc2",
      "parents": [
        "f4b36ad1617920691def64c00179666e2e42d5fa"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Feb 25 18:02:35 2013 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Feb 25 18:02:35 2013 -0800"
      },
      "message": "App ops: adding operations for reading/writing clipboard.\n\nChange-Id: Ic4cade153618fe86954754a3b3edde64a52a0a9c\n"
    },
    {
      "commit": "5633e23c2222c00f388a73f74295acee3fd13c44",
      "tree": "1d994b6968ad323ae56e88c73a1874e82ef0e4e3",
      "parents": [
        "40bbc3bb9997c6e9ea9aae42edd6bb4430d70978"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Mon Feb 25 17:52:37 2013 -0800"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Mon Feb 25 17:52:37 2013 -0800"
      },
      "message": "Move stack dump off of InputDispatcher thread\n\nChange-Id: I7250a0488c3e4c5dc159f4635a57e1e49aa8397a\n"
    },
    {
      "commit": "2e5528c5e0f354c7b780ca5ab436809efd611dcc",
      "tree": "97c7e8c0bb48c9364d18e5dc9f4b50e36f66b53d",
      "parents": [
        "19a38f6f408d8672ca8d253fb7a6039a7f25c96f",
        "2ad920759b1981eaf526fd37a314fbc5a3ed90ae"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Feb 26 01:08:28 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 26 01:08:28 2013 +0000"
      },
      "message": "Merge \"Revert ActivityManager changes for tasks. DO NOT MERGE\" into jb-mr2-dev"
    },
    {
      "commit": "2ad920759b1981eaf526fd37a314fbc5a3ed90ae",
      "tree": "3835b2fb240c592668afa5019f2dbad7036513f1",
      "parents": [
        "ff4fcdb98c9575642c48f1daeafff4b257769e81"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Feb 25 16:19:24 2013 -0800"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Feb 25 17:07:39 2013 -0800"
      },
      "message": "Revert ActivityManager changes for tasks. DO NOT MERGE\n\nKeeping all activity\u003d\u003etask changes in master and removing them\nfrom jb-mr2.\n\nRevert \"Update histories simultaneously.\"\nRevert \"Add null check to setAppGroupId.\"\nRevert \"Fix crashing bug in validator.\"\nRevert \"Switch topRunning* and moveTaskTo*\"\nRevert \"Begin switch over to task based history.\"\nRevert \"Reset and reuse Iterators and don\u0027t new() one.\"\nRevert \"Remove AppWindowToken lists.\"\nRevert \"Fix build.\"\nRevert \"Remove unused App methods.\"\nRevert \"Stop using AppToken movement and start using Task.\"\nRevert \"Replace access to mAppTokens with AppTokenIterator\"\nRevert \"Refactor setAppOpVisibility implementation.\"\nRevert \"Add AppWindowTokens to TaskList.\"\nRevert \"Make ActivityStack.mHistory private.\"\nRevert \"Migrate AppWindowToken lists into DisplayContent.\"\n\nChange-Id: I5722c9a4956dccb52864207e2967690bc58e4ebb\n"
    },
    {
      "commit": "40bbc3bb9997c6e9ea9aae42edd6bb4430d70978",
      "tree": "89eeb78b7a70316d8f3f6646fb0eaf68f6cf46b7",
      "parents": [
        "eb9dddbffb9f2d568d2222454c5dd7582efa819d",
        "6794458f8626c3be27eac3db3a5c89d94f132675"
      ],
      "author": {
        "name": "Maggie Benthall",
        "email": "mbenthall@google.com",
        "time": "Mon Feb 25 21:42:13 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 25 21:42:13 2013 +0000"
      },
      "message": "Merge \"Add location sharing toggle user restriction.\" into jb-mr2-dev"
    },
    {
      "commit": "eb9dddbffb9f2d568d2222454c5dd7582efa819d",
      "tree": "0bc39ed902751b736c4b328c83c0ff28a7e73653",
      "parents": [
        "88a1cf841ef8b5792fad8f3af4b4831101497c6c",
        "01d159d88a51c44d7e282e07b834535e5b0e8bd1"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Feb 25 21:35:29 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 25 21:35:29 2013 +0000"
      },
      "message": "Merge \"Lookup permission groups by name\" into jb-mr2-dev"
    },
    {
      "commit": "01d159d88a51c44d7e282e07b834535e5b0e8bd1",
      "tree": "87d98fe2d57cf241f679838408dc95e258722f16",
      "parents": [
        "ff4fcdb98c9575642c48f1daeafff4b257769e81"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Feb 25 13:22:42 2013 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Feb 25 13:22:42 2013 -0800"
      },
      "message": "Lookup permission groups by name\n\nWhen a top-level permission group is specified, lookup the group id\nby name instead of parsing the value as an integer. This matches\nwhat we do when the group tag is a child of \u003cpermission/\u003e.\n\nChange-Id: I54954ae683cecdf72cf846f75383bf6ba862dc5b\n"
    },
    {
      "commit": "7b4596fd68a24643145e33f3dc4da9285d0f53aa",
      "tree": "c55735d226ad7aa77648d5786f35477d591ffaa4",
      "parents": [
        "02a4cec107f1f07409fd03106b1cde56043894fa"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Feb 25 10:55:29 2013 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Feb 25 11:02:50 2013 -0800"
      },
      "message": "Require command and argument separation, cleanup.\n\nWhen invoking NativeDaemonCommands, require that base command and\narguments are separate.  Clean up reverse tethering commands, and\nremove deprecated throttle events.\n\nChange-Id: I302a74130b4f7c3f3045815a56d566e89c8969f6\n"
    },
    {
      "commit": "6794458f8626c3be27eac3db3a5c89d94f132675",
      "tree": "67840d15784013dede06dc3e40306c35e30d4be7",
      "parents": [
        "ff4fcdb98c9575642c48f1daeafff4b257769e81"
      ],
      "author": {
        "name": "Maggie Benthall",
        "email": "mbenthall@google.com",
        "time": "Fri Feb 22 14:58:27 2013 -0500"
      },
      "committer": {
        "name": "Maggie Benthall",
        "email": "mbenthall@google.com",
        "time": "Mon Feb 25 12:45:14 2013 -0500"
      },
      "message": "Add location sharing toggle user restriction.\n\nAnd add support for respecting it.\n\nChange-Id: Ia5cf9134c5f5741c3f55afadbe54f862da7bfe5b\n"
    },
    {
      "commit": "c4aad01cbbb69c916ef323693e1fd0560b0eccba",
      "tree": "20f636eb690f976e9f83ec0a23e6ac991776b08b",
      "parents": [
        "fb6806570911851fb8cbaaf5bdf275a89f3c3ef4"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Feb 22 15:05:25 2013 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Feb 22 19:14:37 2013 -0800"
      },
      "message": "Formalize overscan metrics.\n\nThe window manager now maintains and reports a new formal\n\"overscan insets\" for each window, much like the existing\ncontent and visible insets.  This is used to correctly\nposition the various UI elements in the various combination\nof layout options.  In particular, this allows us to have\nan activity that is using fitSystemWindows to have the content\nof its UI extend out to the visible content part of the screen\nwhile still positioning its fixed UI elements inside the\nstandard content rect (and the entire window extending all\nthe way into the overscan area to fill the screen as desired).\n\nOkay, maybe that is not written so clearly.  Well, it made\nmy head hurt too, so suffer!\n\nThe key thing is that windows now need to know about three\nrectangles: the overall rectangle of the window, the rectangle\ninside of the overscan area, and the rectangle inside of the\ncontent area.  The FLAG_LAYOUT_IN_OVERSCAN option controls\nwhether the second rectangle is pushed out to fill the entire\noverscan area.\n\nAlso did some improvements to debug dumping in the window\nmanager.\n\nChange-Id: Ib2368c4aff5709d00662c799507c37b6826929fd\n"
    },
    {
      "commit": "e436e4f8a48a6bc3094c036166cca3911a540321",
      "tree": "9286b3b1844afbd675919b463622eba0e9fa7ea7",
      "parents": [
        "ea53d7e0a46f333642f3663ce54ee0d36b87b813"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Feb 22 14:57:00 2013 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Feb 22 15:36:33 2013 -0800"
      },
      "message": "Remove two new permission checks\n\nThese checks while technically reasonable are a hard to swallow API change\nthat may break existing apps and pragmatically serves no purpose:  the protected\ndata is available in publicly readable java VM properties.\n\nChange-Id: I522c493c2604a33e28d99e2be31054326c9a8323\n"
    },
    {
      "commit": "a3f0665c62b79429009ed44960b712f4c0ca1f0e",
      "tree": "5f5cc32bc6cd70d05a03a2a93e5422d19b586424",
      "parents": [
        "7508039d66a2c1a3d19d3710f0d68e2cca0d872b",
        "5a6bdc46e2fdc8cfd930396773dd89efd19fa1f1"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Feb 22 20:02:02 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 22 20:02:02 2013 +0000"
      },
      "message": "Merge \"Improve ConnectivityManager docs\""
    },
    {
      "commit": "12e563fff95ebb186126d531b6f65af18eb1a069",
      "tree": "1645068724f4d0d5c7cc1bb9d3b7ce6f935c6324",
      "parents": [
        "d99375528ce5d87bdeb23a63b726fd04f6922ed7",
        "3c1743705c4df816089e07a17753c6043b4d8e66"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Feb 22 18:51:20 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 22 18:51:21 2013 +0000"
      },
      "message": "Merge \"Create rotation animation modes.\""
    },
    {
      "commit": "3c1743705c4df816089e07a17753c6043b4d8e66",
      "tree": "dd68b3b869a0b24bac79d713af19eeba57f3e668",
      "parents": [
        "7a7360ad528576d560aa13fbb4e81740b2c425b2"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Feb 21 17:54:37 2013 -0800"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Feb 22 10:44:52 2013 -0800"
      },
      "message": "Create rotation animation modes.\n\nAllow fullscreen windows to specify crossfade or jumpcut animations\nthat override the default rotation animation. Only if the incoming\nand outgoing topmost windows are fullscreen and both specify the\nsame animation to use.\n\nFixes bug 8182773.\n\nChange-Id: I6b3c0020d7bd2cdfba5c66189e114ec62cd54fcf\n"
    },
    {
      "commit": "d99375528ce5d87bdeb23a63b726fd04f6922ed7",
      "tree": "eedddcb2a2815900c8bb48627f6e19a22ad0dd12",
      "parents": [
        "bc340d03c3d67a64951162f2a901c805f9f56734",
        "bcc97ca43a339c3356b5c8d9eaf1cbdfb0de3165"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Feb 22 18:40:23 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 22 18:40:24 2013 +0000"
      },
      "message": "Merge \"Clean up scan handling\""
    },
    {
      "commit": "5a6bdc46e2fdc8cfd930396773dd89efd19fa1f1",
      "tree": "d574060601fb49345a80d1155669305718d65efb",
      "parents": [
        "b84951451c35813ccf8aefdb12f5092926785fd4"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Feb 15 10:56:35 2013 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Feb 22 10:39:20 2013 -0800"
      },
      "message": "Improve ConnectivityManager docs\n\nAlso fix some permission problems.\nbug:5738328\n\nChange-Id: Ib32c223f425b1fc03b8cce528456bcb50b540fdf\n"
    },
    {
      "commit": "bcc97ca43a339c3356b5c8d9eaf1cbdfb0de3165",
      "tree": "0620ab5952f774238704ec0d1097b775e7b68dfc",
      "parents": [
        "8a64b1a7f4b07e71b9eb0f4a98710cb1409588bf"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Feb 21 14:15:18 2013 -0800"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Feb 22 09:23:55 2013 -0800"
      },
      "message": "Clean up scan handling\n\nRemove obsolete active/passive scan handling - drivers always\ndo active scan.\n\nAlso, remove AP_SCAN hack for preventing connections and use\nthe TYPE\u003dONLY scan.\n\nBug: 8158647\nChange-Id: I8f70e19219ad789b7501a40529bcd6b6524739e8\n"
    },
    {
      "commit": "47e8074d401b0a2c38b376329bfe8bf1f62da23b",
      "tree": "1be896883496631d978e2dbf57781343f3e941d3",
      "parents": [
        "eab51de4de88219256260fe26e2018a6234ef83b",
        "b44de0d910a3ec22b9963e538117e257f621de47"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Feb 22 04:02:24 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 22 04:02:24 2013 +0000"
      },
      "message": "Merge \"Update histories simultaneously.\""
    },
    {
      "commit": "b44de0d910a3ec22b9963e538117e257f621de47",
      "tree": "c144d5debdc96bfb3826dec18b1f932b24c16c18",
      "parents": [
        "7a7360ad528576d560aa13fbb4e81740b2c425b2"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Feb 21 20:00:58 2013 -0800"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Feb 21 20:00:58 2013 -0800"
      },
      "message": "Update histories simultaneously.\n\nIn moveTaskToBackLocked calls that used mHistory were being made\nbetween the times that mTaskHistory and mHistory were modified. This\ncaused an inconsistent state that led to Windows arranged out of\norder. Updating both history stacks at the same time fixes this.\n\nFixes bug 8244261.\n\nChange-Id: I9669762ad39b06ab6d401122702b74969d4dc658\n"
    },
    {
      "commit": "ab6b77fd85979212299d8aef0b2c83c005b13abc",
      "tree": "49f66ef905bfe5d79a891fe754a0dfdb01a648bc",
      "parents": [
        "e4d3b06b6ddb055739b8b2aa82ffc7840588253a",
        "5cb5c337d5fe523723b8e5ceb4bdf38dff0cec70"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Feb 21 23:45:02 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 21 23:45:02 2013 +0000"
      },
      "message": "Merge \"Be cool in backup/restore of apps that can\u0027t touch external storage\""
    },
    {
      "commit": "5cb5c337d5fe523723b8e5ceb4bdf38dff0cec70",
      "tree": "c6e81528f7bbbf4495841725a07ac2c15616b873",
      "parents": [
        "780294be50b57d94455c709044e36098c829f72a"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Feb 21 14:32:12 2013 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Feb 21 15:43:52 2013 -0800"
      },
      "message": "Be cool in backup/restore of apps that can\u0027t touch external storage\n\nBug: 8241337\nChange-Id: I23f6eeba8448b234a7b18ce50d2ced2ba54b4ebd\n"
    },
    {
      "commit": "2b3a47b9ce0f422323395286937944a2afa51ed6",
      "tree": "bb84a66ab85fb072f9d6d33a68c7c34c513ba7b2",
      "parents": [
        "c0997b0e6291d7c97963623eed2a41994a7855cf",
        "42c0c9f35a8efa71703f810ce2bff6d86bb5b30e"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Feb 21 18:33:16 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 21 18:33:29 2013 +0000"
      },
      "message": "Merge \"Allow L2TP traffic to lockdown VPN servers.\""
    },
    {
      "commit": "42c0c9f35a8efa71703f810ce2bff6d86bb5b30e",
      "tree": "99ddc8f1d0a6cea00854b084d8f661ae0cb8d079",
      "parents": [
        "4fa63b2d5e3b2e2a85bf17a9bf056cbdfb7046f0"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Feb 21 10:31:45 2013 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Feb 21 10:31:45 2013 -0800"
      },
      "message": "Allow L2TP traffic to lockdown VPN servers.\n\nBug: 8067988\nChange-Id: I6cb7d07e0c4b7c6e112a26a06892e859e6b515a8\n"
    },
    {
      "commit": "c0997b0e6291d7c97963623eed2a41994a7855cf",
      "tree": "551a4a4d26bb598844b0661df174c40b30697123",
      "parents": [
        "8a64b1a7f4b07e71b9eb0f4a98710cb1409588bf",
        "4fa63b2d5e3b2e2a85bf17a9bf056cbdfb7046f0"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Feb 21 17:49:27 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 21 17:49:28 2013 +0000"
      },
      "message": "Merge \"Improve notification UI for lockdown VPN.\""
    },
    {
      "commit": "4fa63b2d5e3b2e2a85bf17a9bf056cbdfb7046f0",
      "tree": "974d799412098de464ddc8ded7929c38fe86f136",
      "parents": [
        "ec6156f9e884ba85c76a9c4683f83f18b3f64afa"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Feb 20 18:21:19 2013 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Feb 21 09:47:11 2013 -0800"
      },
      "message": "Improve notification UI for lockdown VPN.\n\nBug: 7064111\nChange-Id: I9554f6a426697b4abeb2ddd0827d314920e88ed6\n"
    },
    {
      "commit": "8a64b1a7f4b07e71b9eb0f4a98710cb1409588bf",
      "tree": "e8da0b8b00bc4797150317133cbc4922b661fb74",
      "parents": [
        "b8c0e009a74ac2eaee8946fbe0bb3b3fe2749c9a"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Feb 20 15:12:41 2013 -0800"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Feb 21 08:49:54 2013 -0800"
      },
      "message": "Handle airplane settings properly\n\nFix bug dealing with airplane mode settings of whether wifi\nis sensitive to airplane mode change and whether wifi is\nallowed to override airplane mode that likely has been\nbroken ever since.\n\nBug: 8141918\nChange-Id: Ia3116c9dfce2952cbe3911e9d81dbbae0430abef\n"
    },
    {
      "commit": "b8c0e009a74ac2eaee8946fbe0bb3b3fe2749c9a",
      "tree": "08774fb96cd340d37a93dda45db6786954b54e73",
      "parents": [
        "d017f3523244974a8a3fb653ed4b6d514affcc01"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Feb 20 14:19:54 2013 -0800"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Feb 21 08:49:07 2013 -0800"
      },
      "message": "Restructure wifiservice for clarity\n\nMove seperate operation pieces into own classes\n\nBug: 8141918\nChange-Id: Iacb15ceca5431136051e815aa71617eef89b9fe9\n"
    },
    {
      "commit": "d017f3523244974a8a3fb653ed4b6d514affcc01",
      "tree": "f6c9922993039a8c119339c8fcfd316d29952fdd",
      "parents": [
        "7a7360ad528576d560aa13fbb4e81740b2c425b2"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Feb 20 13:30:44 2013 -0800"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Feb 21 08:48:18 2013 -0800"
      },
      "message": "Move wifiservice into its own package\n\nChange-Id: I3ff378a29cb4dd191605b0b641147eba1f445d13\n"
    },
    {
      "commit": "32b44d08e2870692451eef9c61c8e2fb6753e06b",
      "tree": "a48b75d29ae289442b5dc635f7586917207f14dc",
      "parents": [
        "5161f20925ec071e72c2b0eb084f7abaa9dffabf"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Feb 21 08:26:06 2013 -0800"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Feb 21 08:26:06 2013 -0800"
      },
      "message": "Add null check to setAppGroupId.\n\nFix bug 8217929.\n\nChange-Id: I3bd54c32abcf6683c2fa75a85bf5025f47e09398\n"
    },
    {
      "commit": "5161f20925ec071e72c2b0eb084f7abaa9dffabf",
      "tree": "7123d3ef3918f26d7eb25044217bfe3f02951c24",
      "parents": [
        "07aa25dab9b8f5592b2e9e7dbc708b5e3064c5ff"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Feb 20 16:54:05 2013 -0800"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Feb 20 16:54:05 2013 -0800"
      },
      "message": "Fix crashing bug in validator.\n\nChange-Id: I649bb7cfc2b42fbeda478edcaa3a56f3c23d4bc8\n"
    },
    {
      "commit": "07aa25dab9b8f5592b2e9e7dbc708b5e3064c5ff",
      "tree": "5b3feb4681aef0906b835c1c6c122f5ab20741a1",
      "parents": [
        "6f8218a442a8de50ef33d20263a59cd47c513e62",
        "11bf9a52eb9fb02a8c553a1cb1d71725f9706dad"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Feb 21 00:39:00 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 21 00:39:00 2013 +0000"
      },
      "message": "Merge \"Switch topRunning* and moveTaskTo*\""
    },
    {
      "commit": "11bf9a52eb9fb02a8c553a1cb1d71725f9706dad",
      "tree": "b5eabbb426c7b008e278f23485dedbfb616a497b",
      "parents": [
        "223b6b3bfeb7cfa3e844abeb36c04ab5c8318446"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Feb 19 14:08:51 2013 -0800"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Feb 20 16:29:07 2013 -0800"
      },
      "message": "Switch topRunning* and moveTaskTo*\n\n- More of the Activity to Task changeover.\n- Fix bug in validateAppTokens().\n- Improved validation of changeover.\n- Eliminated iterator classes.\n\nChange-Id: I934a208eabfc9a2668e5a6162452e1406f2c8d3a\n"
    },
    {
      "commit": "6f8218a442a8de50ef33d20263a59cd47c513e62",
      "tree": "168cf05757f9d724d35e04b9c774ebec2e860dca",
      "parents": [
        "ab8e936e852b984624087c97dffc4c74b250fc68"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Wed Feb 20 16:28:39 2013 -0800"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Wed Feb 20 16:28:43 2013 -0800"
      },
      "message": "    Trying to unregister a semi connected accessibility service.\n\n    When an accessibility service connects we get a callback in\n    which we either add the service, if this service is in the list\n    of connecting services (we still want the service to connect),\n    or we unbind and clear the state, if the service is no longer in\n    the list of connecting services (we do not want this service to\n    connect because something change between the bind request and\n    the connection callback).\n\n    The problem is that when the service connects and it is not in\n    the list of connecting services on service connected we called\n    the clean up code before the connection was complete. However,\n    the clean up code expects fully configured services. Now we\n    fully connect the service and in case there is a problem -\n    disconnect it.\n\n    bug:8232627\n\nChange-Id: I939e544e31ffc1406035265a012c180f2ca95d7c\n"
    },
    {
      "commit": "a75a883fe9ea1790803148f0a561473073e3f264",
      "tree": "a76a69d684a9643db3e22b72155aeb849c85a7f5",
      "parents": [
        "7a60c43d874bd047ea4b93b94c9b8771ea5739cc"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Feb 07 16:53:32 2013 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Wed Feb 20 15:41:14 2013 -0800"
      },
      "message": "Add explicit userId to AppWidget binder calls\n\nKeyguard currently relies on being in the system process to grab the\ngiven user\u0027s widgets.  When we split keyguard into a new process,\nit will need to have access to user-specific info to instantiate a\nspecific user\u0027s widgets.  In order to accomplish this, we add an\nexplicit userid to each binder call as well as new permission\ncheck to allow keyguard access.\n\nThis also fixes a potential race condition of having an incorrect user id\ndue to an async call to change the user.  Every binder call now has a specific\nuser id. The user id is either the calling process user\u0027s id or an explicit\none passed by applications like keyguard. It is created once when an\nAppWidgetManager is instantiated and remains for the lifetime of the object.\n\nFixed bug where widgets sometimes didn\u0027t show up for secondary users.\n\nMoved permission check in AppWidgetService into getImplForUser()\n\nRefactored to use userid from context associated AppWidgetManager instance.\n\nClean up AppWidgetHost to use userId from Context.\n\nRemove redundant userId check in checkPermission since it\u0027s handled by\nActivityManager.handleIncomingUser()\n\nRemoved redundant userid check.\n\nUpload after rebase...\n\nChange-Id: Iae3e20f2b342c323bb58768b3d22051510f8268b\n"
    },
    {
      "commit": "fd171e43e4946ce5789e5dd8ade09a1cbf2a5ae0",
      "tree": "1c9be342fe50f83175239f87e6af02e4663e0bdf",
      "parents": [
        "04de3b8141572aeac5b8c1c48044b6b5bdad898e",
        "3de830b82b74f3df86ede47c8b1a0b8dcac113d6"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Feb 20 21:35:52 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 20 21:35:53 2013 +0000"
      },
      "message": "Merge \"Switch to system process before modifying rotation.\""
    },
    {
      "commit": "3de830b82b74f3df86ede47c8b1a0b8dcac113d6",
      "tree": "cb95a45de7e335b023fcdd8f78862e9dedb362e3",
      "parents": [
        "f025404a8bbb0182dee42a6044ad888f443e7fe4"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Feb 20 15:23:52 2013 -0500"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Feb 20 15:23:52 2013 -0500"
      },
      "message": "Switch to system process before modifying rotation.\n\nBug: 8218133\nChange-Id: Ib44d64d48dbdf3095182c409dd2211f6a3b726ad\n"
    },
    {
      "commit": "aa7cc1e2ab9856e9c57c1664020df60afaae3d72",
      "tree": "723695432a47633b1d88d7739d3bcdca77f9ecb1",
      "parents": [
        "8a47d8eaec26d0937aee94a057f561f246748339",
        "b3038ec7cfc5d26eb0be18ae65c62825556bca0f"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Wed Feb 20 19:11:06 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 20 19:11:07 2013 +0000"
      },
      "message": "Merge \"Adding idle maintenance service.\""
    },
    {
      "commit": "223b6b3bfeb7cfa3e844abeb36c04ab5c8318446",
      "tree": "55933d448fbd7e661ee9989c3dff3bc0928e066d",
      "parents": [
        "f025404a8bbb0182dee42a6044ad888f443e7fe4",
        "5d9c7be84d9628c1cf199fcf9015942835c4671b"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Feb 20 16:42:00 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 20 16:42:17 2013 +0000"
      },
      "message": "Merge \"Begin switch over to task based history.\""
    },
    {
      "commit": "f025404a8bbb0182dee42a6044ad888f443e7fe4",
      "tree": "060b36b7fbb196b40b5df98f4c557344214ba927",
      "parents": [
        "1b15ba5d194c1db71d0a34ee110bd1ab169c8a29",
        "09a247e9a86df068422cbe8b60430fb6583c028c"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Feb 20 14:39:53 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 20 14:40:05 2013 +0000"
      },
      "message": "Merge \"New INotificationListener interface.\""
    },
    {
      "commit": "5d9c7be84d9628c1cf199fcf9015942835c4671b",
      "tree": "044e6e2409872d7ee17c71546fcfdceb4bb6ae22",
      "parents": [
        "278dac914d8c3990fc56b39dccab059b1b805d92"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Feb 15 14:02:56 2013 -0800"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Feb 19 18:11:33 2013 -0800"
      },
      "message": "Begin switch over to task based history.\n\n- Introduce the task history and add to and remove from it with\nverification.\n\nChange-Id: If97e74f5a13f85acdb1521fc6d0b066a7e8584ae\n"
    },
    {
      "commit": "22cb5b37a572270788f00881727f483da373ec05",
      "tree": "5ec19441707b3bd7f34f41be93029a50f6c88b0b",
      "parents": [
        "81aaf87d097aae2f0a5f8bd7286f82a4d0658b77",
        "3671b1e910e4d297bebcd3ceaa2682bfb4b1f4a1"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Feb 19 23:29:46 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 19 23:29:49 2013 +0000"
      },
      "message": "Merge \"Migrate to using Mockito directly.\""
    },
    {
      "commit": "3671b1e910e4d297bebcd3ceaa2682bfb4b1f4a1",
      "tree": "4bf1c711e3c819d5b063450c68ca4c34ecf2eb87",
      "parents": [
        "736ef1e9dedbdd0c24e27f170034f2f869fd083f"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Jan 31 17:22:26 2013 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Feb 19 15:28:19 2013 -0800"
      },
      "message": "Migrate to using Mockito directly.\n\nChange-Id: I1fcc5d1a780f5831bd6685f0735d4c0c6d245735\n"
    },
    {
      "commit": "09a247e9a86df068422cbe8b60430fb6583c028c",
      "tree": "d6f63d7f593bb9d062ff47ed655e0c73a1ba5893",
      "parents": [
        "5acb33af357b56fffb055997718b1e4aa97f53fc"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Feb 14 10:24:17 2013 -0500"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Feb 19 15:26:37 2013 -0500"
      },
      "message": "New INotificationListener interface.\n\nUse with INotificationManager.registerListener(). Limited to\nsystem only right now.\n\nChange-Id: I65b6a8778267022cdc5e58eb75ae607a54b1cc52\n"
    },
    {
      "commit": "c652de8141f5b8e3c6bcf8916842b6e106413b1a",
      "tree": "d3be73e9b665365bdacd01cfc66faa24054f5a9c",
      "parents": [
        "736ef1e9dedbdd0c24e27f170034f2f869fd083f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Feb 15 16:32:56 2013 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Feb 19 12:08:58 2013 -0800"
      },
      "message": "Implement display overscan support.\n\nThe window manager now keeps track of the overscan of\neach display, with an API to set it.  The overscan impacts\nhow it positions windows in the display.  There is a new set\nof APIs for windows to say they would like to go into the\noverscan region.  There is a call into the window manager to\nset the overscan region for a display, and it now has a\nconcept of display settings that it stores presistently.\n\nAlso added a new \"wm\" command, moving the window manager\nspecific commands from the \"am\" command to there and adding\na new now to set the overscan region.\n\nChange-Id: Id2c8092db64fd0a982274fedac7658d82f30f9ff\n"
    },
    {
      "commit": "736ef1e9dedbdd0c24e27f170034f2f869fd083f",
      "tree": "e05e765f701ad8547cdf0086a07721e7f2d1908e",
      "parents": [
        "efd8b105ca7ff1f44040845af201e4bec356f824",
        "be72215c39916af9ae42332260c04b696bc73d7f"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Feb 19 18:18:52 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 19 18:18:53 2013 +0000"
      },
      "message": "Merge \"Better API for low disk space warnings.\""
    },
    {
      "commit": "7f7535fd250a30ff5383b046295db88613fe719a",
      "tree": "8f2a02b04040601a47e6dab4744505fc25f219a3",
      "parents": [
        "ac838a3ab9d85112576cf2c943930441f62c51d2"
      ],
      "author": {
        "name": "Satoshi Kataoka",
        "email": "satok@google.com",
        "time": "Mon Feb 18 12:54:16 2013 +0900"
      },
      "committer": {
        "name": "Satoshi Kataoka",
        "email": "satok@google.com",
        "time": "Mon Feb 18 14:08:07 2013 +0900"
      },
      "message": "Fix an issue where voice input is not enabled by default for the secondary user\n\nBug: 8205725\nChange-Id: I438daf996ba48cdb34f0a6158a0cbb510aae931b\n"
    },
    {
      "commit": "be72215c39916af9ae42332260c04b696bc73d7f",
      "tree": "319cc95fb8d2be980460cac828ac766abe86d292",
      "parents": [
        "07aef1c78a92e70552f269b37615c19aea042410"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Feb 15 16:56:38 2013 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Feb 15 16:59:55 2013 -0800"
      },
      "message": "Better API for low disk space warnings.\n\nProvides uniform interface to ask about low disk thresholds; can\nbe mocked by other tests.  Opens door to adjust thresholds based on\ndisk type.\n\nSwitch monitor service to using new API, and use filesystem paths\nfrom Environment instead of hard-coding.\n\nChange-Id: Ifdb536e36a453f1b67bc65849037ec3cc0232cf2\n"
    },
    {
      "commit": "7f84ed31f01997d4906e408c335f783a91d197d5",
      "tree": "e87498e478633de2a96a6d7f76c8eb6449d4fa5e",
      "parents": [
        "8acb27c505c610b4027ec3d140ccc7722ab4faa3",
        "9e065121fa4cd7443c648f29c2f4c3a276041be8"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Fri Feb 15 23:26:59 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 15 23:26:59 2013 +0000"
      },
      "message": "Merge \"Dynamically configurable accessibility flags mishandled.\""
    },
    {
      "commit": "9e065121fa4cd7443c648f29c2f4c3a276041be8",
      "tree": "b56b5be557a1070e81ebc4f65e162601b6d93d29",
      "parents": [
        "00e592272ee44cba41832e3cf0a0ffb2de56585d"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Fri Feb 15 15:24:09 2013 -0800"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Fri Feb 15 15:24:13 2013 -0800"
      },
      "message": "Dynamically configurable accessibility flags mishandled.\n\nA bug was preventing clearing dynamically settable accessibility\nservice flags.\n\nbug:8051095\n\nChange-Id: I6844b2f44e323bc741ac39983a892f1d28f3132b\n"
    },
    {
      "commit": "29479ebe1007361222bf6ab4d5e2a27927d4b8e8",
      "tree": "704baab78634aac8fb8139e8a9ea212714d4d26d",
      "parents": [
        "c145317d0b19fbd1e7aff8519696146853367b89"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Feb 14 14:36:04 2013 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 15 12:47:40 2013 -0800"
      },
      "message": "clean-up following Surface split\n\nChange-Id: I853a76d92d957ee38a36fcdd280d6407ec316987\n"
    },
    {
      "commit": "5fec0c5ee5bbd83fd651644c90ff78fe32680a42",
      "tree": "80edc8e93041a4870ca92394dcec01779bbf0a55",
      "parents": [
        "00e592272ee44cba41832e3cf0a0ffb2de56585d"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Fri Feb 15 12:18:33 2013 -0800"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Fri Feb 15 12:29:17 2013 -0800"
      },
      "message": "User switch not handled properly in the accessibility manager service.\n\nOn user switch the transient state of the old user was not cleared\nwhich means that when we switch back to this user the operational\nstate such as which event types were dispatched, what state was sent\nto local managers, etc is stale. This leads to semi-updated state\nand broken behavior. Now if the user becomes inactive, we are clearing\nall transient state which will be recreated when the user becomes\nactive.\n\nbug:8196652\n\nChange-Id: Ie9e0d712b6d567e5074b328f1bb87afaa5395c06\n"
    },
    {
      "commit": "b3038ec7cfc5d26eb0be18ae65c62825556bca0f",
      "tree": "ab8f2079344900661bc32101b3abe3ed22ffe8f4",
      "parents": [
        "7379a95a0bb6bf430eaf3b84ddb94e4172dd0eea"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Wed Feb 13 14:39:30 2013 -0800"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Fri Feb 15 11:04:11 2013 -0800"
      },
      "message": "Adding idle maintenance service.\n\nIt is beneficial that there is a mechanism on the platform\nto notify applications whether it is safe to perform somehow\nexpensive operations while the user is not using the device.\nThus, user experience will not be degraded. An example is\ndiscarding of unused blocks on a mounted file system instead\nof doing this on every write operation.\n\nbug:8056794\n\nChange-Id: I708bad9d3ce6c8f1d5a1c05c0abf46f81a3d464b\n"
    },
    {
      "commit": "22ee9aad834b055df1bd5d5544e37a63edc963fe",
      "tree": "2f6d2d50a1034472fb866d0b8851db3e5807086a",
      "parents": [
        "0786207be59d34a8ba8a7a1e93602002fac97587",
        "343ad71d7cb4934751a91006677266bd73ed224c"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Feb 14 22:21:52 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 14 22:22:35 2013 +0000"
      },
      "message": "Merge \"Reset and reuse Iterators and don\u0027t new() one.\""
    },
    {
      "commit": "0786207be59d34a8ba8a7a1e93602002fac97587",
      "tree": "e67ba5fcacecaafbfafb57ecc67c7c8fcea4c6d3",
      "parents": [
        "58a1ca6642d404b67e5c9e75076b9bbe08e4076b",
        "dc7b3e3b6e1aa3f347c7d843ee453688c4d90e29"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Feb 14 12:50:34 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Feb 14 12:50:34 2013 -0800"
      },
      "message": "am dc7b3e3b: am 9657ba0e: Merge \"KeyStore: stop using state()\"\n\n# Via Android Git Automerger (1) and others\n* commit \u0027dc7b3e3b6e1aa3f347c7d843ee453688c4d90e29\u0027:\n  KeyStore: stop using state()\n"
    },
    {
      "commit": "343ad71d7cb4934751a91006677266bd73ed224c",
      "tree": "d5624a169986af3ddbe2d98ad99429bd3a948021",
      "parents": [
        "3beb8757ac9ba0829bf96e067ae32315f1d4bb3f"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Feb 13 22:37:26 2013 -0800"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Feb 14 12:48:53 2013 -0800"
      },
      "message": "Reset and reuse Iterators and don\u0027t new() one.\n\nSave time and memory by resuing permanent mTmpXxxIterator for\nAllWindowsIterator and AppTokenIterator.\n\nChange-Id: I2e5143364651d9471e9e70eee514d3f45d595468\n"
    },
    {
      "commit": "58a1ca6642d404b67e5c9e75076b9bbe08e4076b",
      "tree": "7904db74da53cbc1f10da3c718ba9d6b1fb99652",
      "parents": [
        "a41b23d55da1bd8e68eb784f28e2c3fe9ded080e",
        "3866f0d581ceaa165710feeee9f37fe1b0d7067d"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Feb 14 20:25:08 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 14 20:25:08 2013 +0000"
      },
      "message": "Merge \"split Surface in two classes: SurfaceControl and Surface\""
    },
    {
      "commit": "3866f0d581ceaa165710feeee9f37fe1b0d7067d",
      "tree": "b3469b8b6dc7fa4d92afa97297947d2fb5ec9e1b",
      "parents": [
        "f9136fd9692158574d187af8d4031fa4b1e2b6e6"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Feb 11 22:08:48 2013 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Feb 14 12:19:11 2013 -0800"
      },
      "message": "split Surface in two classes: SurfaceControl and Surface\n\nSurfaceControl is the window manager side; it can\ncontrol the attributes of a surface but cannot push buffers\nto it. Surface on the other hand is the application (producer)\nside and is used to push buffers to the surface.\n\nChange-Id: Ib6754c968924e87e8dd02a2073c7a447f729f4dd\n"
    },
    {
      "commit": "b9594ce9ebb3f5f303a280f04312ae5754ce3560",
      "tree": "c2d5554829d9dfce6c387a7a41a2218d5bd5f276",
      "parents": [
        "37edbbc62fa031c75ce5a1298fdd07d981907e89"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Feb 14 10:18:38 2013 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Feb 14 12:06:51 2013 -0800"
      },
      "message": "KeyStore: stop using state()\n\nChange-Id: I721974fd95f8d1ab06a3fd1bbb4c9b4d9d1d7752\n"
    },
    {
      "commit": "496bdbba30a113baaec61d4d0c011461cf5ee36d",
      "tree": "6cacb69143695315403bd6fedd0ca829517070a6",
      "parents": [
        "10c0aa246d9b2633c6cb4e5b714abb0031a4f4cd"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Feb 14 09:32:55 2013 -0800"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Feb 14 10:56:11 2013 -0800"
      },
      "message": "Remove AppWindowToken lists.\n\nNo longer necessary.\n\nChange-Id: I0d2b96f69152fb93b6ba56f02ce9693ff1370cbc\n"
    },
    {
      "commit": "534d136aa66fb13f7c1b482513627de45c218c29",
      "tree": "e5dda8665b92cd850448c679b2efb32905d913cb",
      "parents": [
        "fd869887c3477bb2699b72ea752a8466602ea637",
        "b0c0b1fd70e3edeb724e2b2fb2c7063eb943f05e"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Feb 14 18:13:14 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 14 18:13:26 2013 +0000"
      },
      "message": "Merge \"Remove unused App methods.\""
    },
    {
      "commit": "fd869887c3477bb2699b72ea752a8466602ea637",
      "tree": "e235346834e0d61ff3cd78cb594ddef1e6c048b0",
      "parents": [
        "f0b36c559074718c5e932c20a9931d97d9c061ef",
        "9055ae369774e88cd856fd58305738e28b427b88"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Feb 14 16:43:33 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 14 16:43:33 2013 +0000"
      },
      "message": "Merge \"Fix a permissions probem in ConnectivityManager\""
    },
    {
      "commit": "f0b36c559074718c5e932c20a9931d97d9c061ef",
      "tree": "af77c7f282258c013b6433daa2beead375333497",
      "parents": [
        "30d2f8d6e0c26dd32dc8b737170253f015156591",
        "fb32c6e9e97e8c7541e85fcbd200ae86e721e7a4"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Feb 14 06:21:19 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 14 06:22:32 2013 +0000"
      },
      "message": "Merge \"Refactor setAppOpVisibility implementation.\""
    },
    {
      "commit": "9a2c2a6da90abbcc9a064c20e93ed885651f4ae1",
      "tree": "424065d447332bcbc2f95782abcedf897d9a22a2",
      "parents": [
        "336fcac31ddccc7e7a6773d03e7cb17967ebb898"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Jan 14 16:48:51 2013 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Feb 13 17:40:49 2013 -0800"
      },
      "message": "Parse network stats using native code.\n\nSwitch to parsing detailed network stats with native code, which\nis 71% faster than ProcFileReader.\n\nChange-Id: I2525aaee74d227ce187ba3a74dd08a2b06514deb\n"
    },
    {
      "commit": "044dca285f567863a5ab345ac139f1fa31cac2cc",
      "tree": "9c8ea3d959f665b2a8f185a9637b490db11a241a",
      "parents": [
        "805a6fe7b1417640ccaf7914171cb65515b6ab39",
        "51611eb72897645eba2140d5de0795c1830b90da"
      ],
      "author": {
        "name": "Michael Runge",
        "email": "mrunge@google.com",
        "time": "Thu Feb 14 00:51:16 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 14 00:52:31 2013 +0000"
      },
      "message": "Merge \"Add logging for kernel audit failures, including SELinux.\""
    },
    {
      "commit": "51611eb72897645eba2140d5de0795c1830b90da",
      "tree": "9bc3ddc57877934667dce79da76665952214493f",
      "parents": [
        "923bd98f67d36cbafa58941fce5952fafd09de4b"
      ],
      "author": {
        "name": "Geremy Condra",
        "email": "gcondra@google.com",
        "time": "Wed Feb 13 16:07:21 2013 -0800"
      },
      "committer": {
        "name": "Geremy Condra",
        "email": "gcondra@google.com",
        "time": "Wed Feb 13 16:39:44 2013 -0800"
      },
      "message": "Add logging for kernel audit failures, including SELinux.\n\nBug: 7707280\nChange-Id: I3788b465cb5733c93dbf36c91ce26e37d4be41c2\n"
    },
    {
      "commit": "a7d72dfded3437e05c303dc40d61248022eb048b",
      "tree": "b0f0496b311568dbe2bcfdc74c2104da7c611277",
      "parents": [
        "0a4b65e0792c7e5f5e8ce641a899ed06cfa1cf64",
        "7379a95a0bb6bf430eaf3b84ddb94e4172dd0eea"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Wed Feb 13 23:48:35 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 13 23:50:37 2013 +0000"
      },
      "message": "Merge \"Proper clean up when Ui test automation service is unregistered or dies.\""
    },
    {
      "commit": "7379a95a0bb6bf430eaf3b84ddb94e4172dd0eea",
      "tree": "44e6a2db6f5df3eebb390a579ca30c48d15e3390",
      "parents": [
        "0726843ea088e7c6754fe6ac410749a852316aac"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Wed Feb 13 15:47:29 2013 -0800"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Wed Feb 13 15:47:32 2013 -0800"
      },
      "message": "Proper clean up when Ui test automation service is unregistered or dies.\n\nThe UI test automation service was not removed from the list of\nenabled and installed service where it was explicitly added on\nregistration. This was leaving the accessibility manager service\nin an inconsistent state.\n\nbug:8185435\n\nChange-Id: Ice17cdef361fe98ce34f8dd01ec11dbad6c4d0c2\n"
    },
    {
      "commit": "b0c0b1fd70e3edeb724e2b2fb2c7063eb943f05e",
      "tree": "698cbfec349c6b8b4a02daf5bdb7a30ee157158e",
      "parents": [
        "ee6e27c122491356f5203b105206a55f0e984fe7"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Feb 13 15:22:54 2013 -0800"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Feb 13 15:24:14 2013 -0800"
      },
      "message": "Remove unused App methods.\n\nNow that the Task methods have replaced the App methods remove\nthe App methods.\n\nChange-Id: I0e7432f2c6f99708759ed8c871d20eb5bd38c3c2\n"
    },
    {
      "commit": "ee6e27c122491356f5203b105206a55f0e984fe7",
      "tree": "2dacc3bf076fc4ae25b46a86747a9282949ae3c1",
      "parents": [
        "27b2b04f3c75315cd95357919d34d937ffeac742",
        "926f3839d81e4b6b60238e38350bec7cb6d0269e"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Feb 13 23:22:26 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 13 23:22:27 2013 +0000"
      },
      "message": "Merge \"Stop using AppToken movement and start using Task.\""
    },
    {
      "commit": "0726843ea088e7c6754fe6ac410749a852316aac",
      "tree": "98468eedc4784fd2b3df155d37705c642c8e7600",
      "parents": [
        "fd0fa65eeae00f58863af060950e10f20971726b"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Wed Feb 13 14:55:19 2013 -0800"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Wed Feb 13 14:59:00 2013 -0800"
      },
      "message": "Fixing a NPE in accessibility manager service.\n\nThere was a missing null checks as a result of a recent\nrefactoring.\n\nbug:8185435\n\nChange-Id: I3a1e256b434755b3a27f609dd2b6aeec31aa9a4f\n"
    },
    {
      "commit": "926f3839d81e4b6b60238e38350bec7cb6d0269e",
      "tree": "d7a0d58f767317e626e5b72d7db3145ef2f58680",
      "parents": [
        "68b600913b699da0fbfcd9d913e4c4fdb08e06b8"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Feb 13 11:56:07 2013 -0800"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Feb 13 11:58:56 2013 -0800"
      },
      "message": "Stop using AppToken movement and start using Task.\n\nChange-Id: I5fbd3b2b692e0e127386051f782b1015515ba384\n"
    },
    {
      "commit": "769a5b72dc076facae20154bf5d55b9810322b87",
      "tree": "840fb829430c7744bbe0713463dbfdb9ba600e9a",
      "parents": [
        "0888a06762fb55d48646c86c6a0184a0b96cdc24",
        "30e2d72810e699d7a61277b7ba1b6cace26b84aa"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Feb 13 19:44:35 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 13 19:44:35 2013 +0000"
      },
      "message": "Merge \"Replace access to mAppTokens with AppTokenIterator\""
    },
    {
      "commit": "eff99182297f1c762789237a7d66c9bef754a3d7",
      "tree": "17e6e4857c458e635877b3ac44703380f034947a",
      "parents": [
        "93799ba01b5f2902d7120db8416a1e15103286e8",
        "0c232f5a99b0fafb7ef188ae54c400d8811d471b"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Feb 13 19:29:48 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 13 19:29:58 2013 +0000"
      },
      "message": "Merge \"Escape arguments before passing to netd.\""
    },
    {
      "commit": "0c232f5a99b0fafb7ef188ae54c400d8811d471b",
      "tree": "730b93e387e8e74fc1f5077ed4185b96d743d691",
      "parents": [
        "ea2f802928297c199c7b94dbbba867a8544e14ac"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Feb 13 11:27:24 2013 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Feb 13 11:27:24 2013 -0800"
      },
      "message": "Escape arguments before passing to netd.\n\nChange-Id: I70bb0cb1e90abd490f8893365c6bdf1844b01d18\n"
    },
    {
      "commit": "9055ae369774e88cd856fd58305738e28b427b88",
      "tree": "f1adf4fd622a6d1225777c6098971485d369323b",
      "parents": [
        "35185a9ccf016f1d5fbe055e89a6c4c79a247981"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Feb 12 17:18:25 2013 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Feb 12 17:18:25 2013 -0800"
      },
      "message": "Fix a permissions probem in ConnectivityManager\n\nstopUsingNetworkFeature fails because of new permissions checks in netd.\n\nChange-Id: I04cb10d955c9dd9977c460c6c1db0d1910a863ce\n"
    },
    {
      "commit": "30e2d72810e699d7a61277b7ba1b6cace26b84aa",
      "tree": "89011de6d793c94d9503642c6ec9d0b8fcd41e67",
      "parents": [
        "7f03185fbe4ac066ffa7f6e3d29b531a9c43c29f"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Feb 12 11:30:16 2013 -0800"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Feb 12 16:03:29 2013 -0800"
      },
      "message": "Replace access to mAppTokens with AppTokenIterator\n\nMore switching from Activity-based to Task-based control.\n\nChange-Id: Ida47d71a52b875a6a6bd77cb62911053f942da15\n"
    },
    {
      "commit": "7f03185fbe4ac066ffa7f6e3d29b531a9c43c29f",
      "tree": "d0f56c04c77cd03c89ddad36db59c628fab1c442",
      "parents": [
        "bea3b60ed1ecf1cc2a9a6b1fe550f8af7392c721",
        "e45e45e37e4ded9a70c7e6c7f4fdf39c35e38fd4"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Feb 13 00:00:22 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 13 00:01:47 2013 +0000"
      },
      "message": "Merge \"Hacks to fix lockdown\""
    },
    {
      "commit": "e45e45e37e4ded9a70c7e6c7f4fdf39c35e38fd4",
      "tree": "516319ced590b2f5485619e046cb79b598ef83b2",
      "parents": [
        "b47e6c77b34da8bde5d706e5a25a413b8cc2e0ba"
      ],
      "author": {
        "name": "Geoffrey Borggaard",
        "email": "geoffreyb@google.com",
        "time": "Thu Jan 24 10:03:20 2013 -0500"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 12 23:57:20 2013 +0000"
      },
      "message": "Hacks to fix lockdown\n\nChange-Id: Icf715e84ac7f8bd12eabd01f35860c36a60a8caf\n"
    },
    {
      "commit": "bea3b60ed1ecf1cc2a9a6b1fe550f8af7392c721",
      "tree": "97fcfefc3e51ac5991b274508ff7f9905df79ff8",
      "parents": [
        "b47e6c77b34da8bde5d706e5a25a413b8cc2e0ba",
        "05d6272bad2d707b488a6f8784ce8aea5e25b110"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Feb 12 23:57:09 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 12 23:57:09 2013 +0000"
      },
      "message": "Merge \"Add AppWindowTokens to TaskList.\""
    },
    {
      "commit": "fb32c6e9e97e8c7541e85fcbd200ae86e721e7a4",
      "tree": "c11a8eac5828fab0ef4cc7cf8c011ba0d3835463",
      "parents": [
        "f9d2c2e63a3c8af5c230a24a3f243c94011bf2b7"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Feb 12 15:08:44 2013 -0800"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Feb 12 15:08:44 2013 -0800"
      },
      "message": "Refactor setAppOpVisibility implementation.\n\n- Convert double iteration over DisplayContents and WindowLists to\nsingle iteration over AllWindowsIterator.\n\n- Use existing change check in show() and hide() to trigger animation\nscheduling rather than propagate change state up through calling tree.\n\nChange-Id: Ic703a9fddebacbd0785bd5a186e95f9d0b128c42\n"
    },
    {
      "commit": "559c654801bba35c184f3ed517040305a94fb4d3",
      "tree": "c75416f5faecf322245a5f2a69c1ee9e6085bd8c",
      "parents": [
        "6b2c7600e946b4130585f8665f9720d09feb6411"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Feb 12 14:57:04 2013 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Feb 12 14:57:04 2013 -0800"
      },
      "message": "For now enable backup/restore DEBUG logs\n\nChange-Id: I5733251f1e11c8eedb0601ae6751a35134d6419d\n"
    },
    {
      "commit": "1dba35d62d0b41652a103913296373cc5ead8bff",
      "tree": "0052acd51dd0939d604c7db9b7f2ec8528f82a0e",
      "parents": [
        "1af81b6bdc589c9fc77c51d29c204eaf64e4ff13",
        "78d0d25dca42fcde5dcea98ab74bfc7f5c8e1114"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Feb 12 19:59:54 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 12 20:01:02 2013 +0000"
      },
      "message": "Merge \"Historical notification access API.\""
    },
    {
      "commit": "78d0d25dca42fcde5dcea98ab74bfc7f5c8e1114",
      "tree": "5f4c34562b2e6e632a418d3f4a65dce1b63b97d5",
      "parents": [
        "bde3104ddce09d03255ff481dfb13bc9e67119e8"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Feb 12 08:14:52 2013 -0500"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Feb 12 14:33:24 2013 -0500"
      },
      "message": "Historical notification access API.\n\nSimilar to getActiveNotifications(),\ngetHistoricalNotifications() returns a list of all\nnotifications that have been posted, in\nreverse-chronological order. It currently includes duplicate\nentries for notifications that have been updated (so it\nreally is tracking every notification that has been posted\nto the system).\n\nChange-Id: Icce8d6f96bbe76710c989fd0068ff971c6498605\n"
    },
    {
      "commit": "05d6272bad2d707b488a6f8784ce8aea5e25b110",
      "tree": "6774cfb3e73de09a67864419085ecbf04eb50382",
      "parents": [
        "72baa8fbb2d117e885022e736e91ec231e809264"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Feb 11 09:39:27 2013 -0800"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Feb 12 10:52:55 2013 -0800"
      },
      "message": "Add AppWindowTokens to TaskList.\n\n- Add/remove/move TaskLists from ActivityStack.\n- Further isolate mHistory.\n- Cleanup warnings by parameterizing ArrayList.\n- Fix previous bugs.\n\nChange-Id: Ife8c7b7347479c70f10467cc384283456149ac50\n"
    },
    {
      "commit": "b6b23ecdfc262097eaf7afa611e9f22cc543806f",
      "tree": "dc64fa819791b61c99743d4a38825410824b7a00",
      "parents": [
        "702b42dd7415a88e876d4bacb1b543579548c607"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Feb 11 19:29:06 2013 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Feb 12 10:40:16 2013 -0800"
      },
      "message": "App ops: the draw on top op now actually controls what is drawn.\n\nChange-Id: Iccfc0723a0f92108a4f7d631d74efe21dbc6f157\n"
    },
    {
      "commit": "1d3079cb8d477b50d5873e571695d938a6cb4712",
      "tree": "bcf599658217a9eddea3ef53d06d32e5b1b0ffd6",
      "parents": [
        "72baa8fbb2d117e885022e736e91ec231e809264",
        "514074fae81028937eda29e782c92e8ea78d85d2"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Feb 12 00:40:54 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 12 00:41:07 2013 +0000"
      },
      "message": "Merge \"App ops: cleanup, handle root and shell, perms.\""
    },
    {
      "commit": "72baa8fbb2d117e885022e736e91ec231e809264",
      "tree": "f2271538d0e02ebe937516274ce713b63e28f4ed",
      "parents": [
        "20949a76fee62e89d7dc22858a74469efa14f61d",
        "0dd19a8394dea139804fea126ce9ba7539a3724d"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Feb 11 23:57:39 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 11 23:57:47 2013 +0000"
      },
      "message": "Merge \"Reintroduce the net.dns system properties \u003cTEMP\u003e\""
    }
  ],
  "next": "514074fae81028937eda29e782c92e8ea78d85d2"
}
