)]}'
{
  "log": [
    {
      "commit": "7d04932ef5c001769ccef244f551b75773f1666b",
      "tree": "4befb1901bbeadb7336811941301ed09dd19f444",
      "parents": [
        "700a1f25719138b94c453beb6325e627a11a9883"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 14 15:00:32 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 14 15:05:16 2011 -0700"
      },
      "message": "Fix issue #4603422: Compatibility mode button doesn\u0027t always update\n\nWe now tell the system bar every time the top activity has changed for\nit to re-evaluate its UI state.\n\nAlso fix issue #: 4607102 Low rider notifications.  It turns out this\nwas due to the change in the dialog asset; the notification UI was relying\non this having a lot of padding to make it sit above the status bar.\nNow we have an explicitly mechanism to set how much it overlaps (or doesn\u0027t)\nthe status bar.\n\nChange-Id: Iab5ebd86e620ff4fc4cd77206e18af962ec2830e\n"
    },
    {
      "commit": "48a7651823030ed3c0f4c084b423430044425fea",
      "tree": "593a12e4aa51d8bff8fdb7cf34f3afca9f7e8a99",
      "parents": [
        "021408910af170268cb486910d4dd5a7d838c2bb"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 08 21:51:44 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 08 22:26:33 2011 -0700"
      },
      "message": "Fix for not reporting correct \"sw\" in compat mode.\n\nChange-Id: Ia225c94b36ccc3589d417aafd5680247678eddfd\n"
    },
    {
      "commit": "5fd2169eabd77e6bfafaf456e58051a3bafb2bca",
      "tree": "77048c3540c64cad77e5c140b6477a321190c586",
      "parents": [
        "4381f6421ca408d1dc66430ddfb107c5011bfe25"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 07 14:09:47 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 08 18:45:43 2011 -0700"
      },
      "message": "Work on issue #4518815: Compatibility mode introduces compatibility regression...\n\n...for Market App iRunner\n\nThere were a lot of serious issues with how we updated (or often didn\u0027t update)\nthe display and resource state when switching compatibility mode in conjunction\nwith restarting and updating application components.  This addresses everything\nI could find.\n\nUnfortunately it does *not* fix this particular app.  I am starting to think this\nis just an issue in the app.  This change does fix a number of other problems\nI could repro, such as switching the compatibility mode of an IME.\n\nAlso a few changes here and there to get rid of $#*\u0026^!! debug logs.\n\nChange-Id: Ib15572eac9ec93b4b9966ddcbbc830ce9dec1317\n"
    },
    {
      "commit": "29478269319502c92d04979411120bf49d2d011f",
      "tree": "91e9a27358493c788602cab0ae2cce6117a73cc4",
      "parents": [
        "8de47a2f25a9379c44f220f0bd0f25585bfbc9fb"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 07 15:44:22 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 07 15:44:22 2011 -0700"
      },
      "message": "Remove compat mode dialog.\n\nChange-Id: I37bccdf9d3e7c56048633da5731ad111910e530f\n"
    },
    {
      "commit": "ed48fa89a8e31b04681347a9235c2a566e7dbb8e",
      "tree": "7f263849b561d892ddbf422a5ffeca34d0f7bff0",
      "parents": [
        "c1830a77a7fe0f1ccd52f405cb076d40fe085e2f",
        "bb3fcba0caf697f1d238a2cbefdf1efe06eded99"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Mon Jun 06 20:30:47 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 06 20:30:47 2011 -0700"
      },
      "message": "Merge \"Touch pad improvements. Bug: 4124987\" into honeycomb-mr2"
    },
    {
      "commit": "bb3fcba0caf697f1d238a2cbefdf1efe06eded99",
      "tree": "61dccaf85759b22557e978672b81bd686089e087",
      "parents": [
        "7f5b99676f2fda710c2182cae16f6b9094a1d98c"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Mon Jun 06 19:23:05 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Mon Jun 06 19:23:05 2011 -0700"
      },
      "message": "Touch pad improvements.\nBug: 4124987\n\nOnly show one spot per touch point instead of one spot per\nfinger for multitouch gestures.\n\nTweaked the pointer acceleration curves.\n\nDissociated the hover/tap timeouts from the \"tap\" timeout\nsince they mean very different things.\n\nChange-Id: I7c2cbd30feeb65ebc12f6c7e33a67dc9a9f59d4c\n"
    },
    {
      "commit": "bc7386c2615a7c496deea59ac1b5ab2da7f7b61f",
      "tree": "bf516f86e63fda1be81f68d9b9878ace8191731f",
      "parents": [
        "b16b020dd32147fbaaf7de47d5de16bfee10967a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 06 17:27:54 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 06 17:29:10 2011 -0700"
      },
      "message": "Fix issue #4539687: At least one compatibility-mode app (Androminion)...\n\n...will only launch when held in portrait mode.\n\nThere was a bug in the window manager that caused all of the careful code to\nupdate the configuration in sync with movements between activities to break.\nNow it is fixed, so this app works, and we no longer see the bad slow orientation\nchanges when switching between activities that want to be in different\norientations.\n\nChange-Id: I5d93f99649849bdaca2e8bebade6b91b8b6cf645\n"
    },
    {
      "commit": "3148557c42aaa8abf4001dc6fd759e911ba55280",
      "tree": "602fc8ae0157aed51742776c9ba09462d7538378",
      "parents": [
        "be96408b801666bf196adb0eabff4839e51e63ed",
        "237574444b311f2f4d23c62f63162f77d34f10bc"
      ],
      "author": {
        "name": "Andy Stadler",
        "email": "stadler@google.com",
        "time": "Fri Jun 03 10:24:27 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 03 10:24:27 2011 -0700"
      },
      "message": "Merge \"DO NOT MERGE Use unchecked admin lookup for getStorageEncryption()\" into honeycomb-mr2"
    },
    {
      "commit": "237574444b311f2f4d23c62f63162f77d34f10bc",
      "tree": "6efe7fcbeb3e424fcb2bb30594b58cf80d3f3baa",
      "parents": [
        "a86290891a661ecdc8115fd441b44dcebedb9e3d"
      ],
      "author": {
        "name": "Andy Stadler",
        "email": "stadler@google.com",
        "time": "Thu Jun 02 16:37:39 2011 -0700"
      },
      "committer": {
        "name": "Andy Stadler",
        "email": "stadler@google.com",
        "time": "Thu Jun 02 16:37:39 2011 -0700"
      },
      "message": "DO NOT MERGE Use unchecked admin lookup for getStorageEncryption()\n\nDue to a copy/paste typo, getStorageEncryption() was protected by\ngetActiveAdminForCallerLocked(), which made the API unreadable if the\ncaller is not an admin.  This doesn\u0027t match the rest of the DPM API which\nallows the \"get\" calls to be made anonymously.\n\nThis fix supercedes the proposed workaround CL in the DPM ApiDemo sample.\n\nBackport of: If1a6237634e97ced09a7c6a8876bb6b0f60c9be9\n\nChange-Id: I728b2d85878b7c73a063c906529f0d973e166b49\n"
    },
    {
      "commit": "1a84fd1fb7a51f3fe4f8865e1cdd09f3490f696c",
      "tree": "cf9491aedb10c8355e62ae8384db0e9f005beb1c",
      "parents": [
        "19c97d46fb57f87ff45d9e6ea7122b4eb21ede8c"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Thu Jun 02 01:26:32 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Thu Jun 02 15:39:21 2011 -0700"
      },
      "message": "Add a preference panel for mouse speed.\n\nBug: 4124987\nChange-Id: I3ce175d268a1d043cf5878481261b1049a15a149\n"
    },
    {
      "commit": "e66763516a9c27c192adaba417616371a1c3c9bf",
      "tree": "2a390652646a5f7d83945001e8501f3841f72c23",
      "parents": [
        "fa8ee17702a79a2597670374679a0b1952f4630f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 01 16:51:20 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 01 16:52:36 2011 -0700"
      },
      "message": "Work around OpenFeint bug.\n\nChange-Id: Ib8320e50bb63fc56dc0118d5c8e9e328dbd3fcb1\n"
    },
    {
      "commit": "75d6b3c2a24224e41e87685db0d9d0b8abea091d",
      "tree": "5a857745b55a3f9829955bd313292ae49da7bc85",
      "parents": [
        "d40a5d5cb754b132d6c10ae78a6214f38ed23f3d",
        "2f0b17573d4324832f7a20402a3d2b5920bc4866"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 31 18:05:26 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 31 18:05:26 2011 -0700"
      },
      "message": "Merge \"Fix issue #4502672: Wrong xml resources used for homescreen widgets.\" into honeycomb-mr2"
    },
    {
      "commit": "2f0b17573d4324832f7a20402a3d2b5920bc4866",
      "tree": "eb85b9344237741f21f4989950677692b3bdbbda",
      "parents": [
        "8ede62745faa02265f927941d1195b6c1bf05ebb"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 31 17:59:49 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 31 18:04:14 2011 -0700"
      },
      "message": "Fix issue #4502672: Wrong xml resources used for homescreen widgets.\n\nThere was a race in the system process between applying the initial\nconfiguration and executing code in higher-level system services\nlike the app widget service that relies on the config.  For some\nreason it starting showing up more after my code changes; it should\nnow be completely fixed.\n\nAlso fix the activity starting window to run in compatibility mode\nif its application is going to be in compatibility mode.\n\nAnd some various cleanup and small fixes.\n\nChange-Id: I0566933bf1bbb4259c1d99a60c0a3c19af1542e5\n"
    },
    {
      "commit": "c272d4279493000928b8b7c6dbcf2d2b7d8d08b2",
      "tree": "63921d7f9beaa9580876bdacca8df46e4bcc38e7",
      "parents": [
        "d854304c2bcadbda37a7f1b24723dbc0030073ca",
        "214eaf48878bba00cbd5831871bcbd82632b6e34"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Tue May 31 15:42:18 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 31 15:42:18 2011 -0700"
      },
      "message": "Merge \"Use ViewConfiguration to seed input system configuration.\" into honeycomb-mr2"
    },
    {
      "commit": "214eaf48878bba00cbd5831871bcbd82632b6e34",
      "tree": "e981793f6a27d6aa789d92fe49ea346433452ae0",
      "parents": [
        "4e3f7206eb0af14d3da4c03bdf9918161774e726"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Thu May 26 19:17:02 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Tue May 31 15:00:59 2011 -0700"
      },
      "message": "Use ViewConfiguration to seed input system configuration.\n\nFix bug where the pointer presentation would be updated on\nany input reader timeout rather than only when a pointer gesture\nis in progress.\n\nBug: 4124987\nChange-Id: Ie9bba4a0b3228d55e45e65fa2ede5cd6ba887a08\n"
    },
    {
      "commit": "784707187d96b731df5256c1c2adb0aaf9037239",
      "tree": "61dde1177765cdf549349ca292a02110565210b8",
      "parents": [
        "8ea5e1d79eb1f05ee7628b0d45ea8fc8eea5330d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 27 17:09:19 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 27 17:09:19 2011 -0700"
      },
      "message": "Fix various places that were using the wrong display metrics.\n\nChange-Id: I1ac2a0c4a1b7c851dbc99d26f295c7dd49b0bd5c\n"
    },
    {
      "commit": "8ea5e1d79eb1f05ee7628b0d45ea8fc8eea5330d",
      "tree": "a676c6b0daf45a90b600d3268bb37e81f23a2275",
      "parents": [
        "b96cbbd11c4590bec846212c33361e02293f18b5"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 27 16:45:31 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 27 16:49:29 2011 -0700"
      },
      "message": "Fix compat mode bugs when updating apps.\n\nNo longer accidentally puts an app into compatibility mode.\n\nAlso various cleanup, freezing screen while switching between modes.\n\nChange-Id: Ic1b3958be7800189a93f68e9dee3c5adfc45fe57\n"
    },
    {
      "commit": "94250ac69c6e07534e4781d3479dccb79d8c366c",
      "tree": "0002c4ca6a9cf1b7d5ac087199fa11b879ccdbc2",
      "parents": [
        "4686fb8ac8c88eb1f0d76fc4157be4cb5949e98e",
        "df6e980e3f63eb0f6f9eb437fa925d5009cd9c44"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 26 17:07:52 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 26 17:07:52 2011 -0700"
      },
      "message": "Merge \"Add new supports-screens attributes for declaring the compatible screens.\" into honeycomb-mr2"
    },
    {
      "commit": "df6e980e3f63eb0f6f9eb437fa925d5009cd9c44",
      "tree": "5440eeb979427cf2d0be09e067b0dd5c0d62a943",
      "parents": [
        "7a09f72b8850ec22e4ca7fd50aba20ead7666f67"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 26 14:20:23 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 26 14:48:04 2011 -0700"
      },
      "message": "Add new supports-screens attributes for declaring the compatible screens.\n\nChange-Id: I40d57e4354e48accc1027c9f90916ea73eb5190d\nandroid:requiresSmallestWidthDp provides the smallest supported width.\nandroid:compatibleWidthLimitDp provides the largest compatible width.\n"
    },
    {
      "commit": "1d8f8819f1e98cdf3b7756396158613e95fe9eb6",
      "tree": "b1d2fa9f52cc01032563f5dad35d9ae4f51b864f",
      "parents": [
        "c31239616cca417e71acb98813df7eda645835df",
        "1bb6cf18c0039cb9d2a60713ea34d3709af58c5c"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu May 26 13:10:23 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 26 13:10:23 2011 -0700"
      },
      "message": "Merge \"Break apart queries to getInstalled* API DO NOT MERGE\" into honeycomb-mr2"
    },
    {
      "commit": "2a108403803bd30bee1c019060c208fb8c52c10c",
      "tree": "bb9a6f8d2192a88f87b9c49a7147739d6de94150",
      "parents": [
        "7a09f72b8850ec22e4ca7fd50aba20ead7666f67"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 26 11:45:00 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 26 11:45:00 2011 -0700"
      },
      "message": "I am a dummy.\n\nChange-Id: Ie6908a8931954f83ab0e9b905173b576dbf3661d\n"
    },
    {
      "commit": "81e56d535c853d73ff537357da5b935f51cb779d",
      "tree": "b0d69765bbefecbdeeadebc24b7e57f902af84b9",
      "parents": [
        "42f8094c066209a65b09d53611ef5c93daba4c51"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 26 00:55:58 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 26 10:46:19 2011 -0700"
      },
      "message": "Rework how we decide whether to use system or status bar.\n\nThe PhoneWindowManager is now responsible for determing this,\nsince it needs to do this before we can generate the configuration\nsince we need to take into account the system bar size we will use.\n\nAlso the Display should now report the screen height without\nincluding the system bar.\n\nChange-Id: I82dfcc5e327e4d13d82c373c6c870f557a99b757\n"
    },
    {
      "commit": "1bb6cf18c0039cb9d2a60713ea34d3709af58c5c",
      "tree": "ca4c1bb52197b19df287cd4dbc4cd972ce454eef",
      "parents": [
        "42f8094c066209a65b09d53611ef5c93daba4c51"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Apr 15 17:50:10 2011 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu May 26 09:53:24 2011 -0700"
      },
      "message": "Break apart queries to getInstalled* API DO NOT MERGE\n\nTo avoid blowing past the Binder IPC limit, change the\nPackageManagerService to have a DB-like interaction where the client\ntells the service the last \"row\" that it read.\n\nThe fact that we use a HashMap instead of a TreeMap makes this\nproblematic. For now we\u0027re just making a new ArrayList for the keys and\nthen sorting them for each call. This can make the API slower for callers\nof this, but it\u0027s probably greatly overshadowed by the cost of the data\ntransfer itself.\n\nBug: 4064282\nChange-Id: Ia3a8cdaa94581ed9336f2e05694b8c8a5f757bce\n"
    },
    {
      "commit": "42f8094c066209a65b09d53611ef5c93daba4c51",
      "tree": "edf0542248487db54f142f1f8a9b5111b722d6d2",
      "parents": [
        "fa574c0e0ce7f84eea34e96dededea35329dbd18",
        "36cd41f8efa6f6a683d3353d309ff548295af9e9"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 25 21:18:36 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 25 21:18:36 2011 -0700"
      },
      "message": "Merge \"Spiffy new compatibility mode UI.\" into honeycomb-mr2"
    },
    {
      "commit": "36cd41f8efa6f6a683d3353d309ff548295af9e9",
      "tree": "5b460b9496f38b91267704e0da8501fa49b1df65",
      "parents": [
        "2a15eb559cfc18800b3e345995df76695a3ae4b2"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 25 21:00:46 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 25 21:08:37 2011 -0700"
      },
      "message": "Spiffy new compatibility mode UI.\n\nChange-Id: I1207eaafae59a434fcc979ad60a83e2d685288af\n"
    },
    {
      "commit": "86ea1f5f521981d075aef56f11693e4f3bc32fdb",
      "tree": "72e1e44513d3e9e204a4fbd2855a079822e949eb",
      "parents": [
        "a6dbfdd3a858aac52cc87f80f91e8eef7d613605"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Apr 12 22:39:53 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Wed May 25 14:37:17 2011 -0700"
      },
      "message": "Initial checkin of spot presentation for touchpad gestures. (DO NOT MERGE)\n\nAdded a new PointerIcon API (hidden for now) for loading\npointer icons.\n\nFixed a starvation problem in the native Looper\u0027s sendMessage\nimplementation which caused new messages to be posted ahead\nof old messages sent with sendMessageDelayed.\n\nRedesigned the touch pad gestures to be defined in terms of\nmore fluid finger / spot movements.  The objective is to reinforce\nthe natural mapping between fingers and spots which means there\nmust not be any discontinuities in spot motion relative to\nthe fingers.\n\nRemoved the SpotController stub and folded its responsibilities\ninto PointerController.\n\nChange-Id: Ib647dbd7a57a7f30dd9c6e2c260df51d7bbdd18e\n"
    },
    {
      "commit": "5520610cb2612054c5d0bcec9d031f7b71faa349",
      "tree": "ebaa618f61490fc160e6ac7b3631512b8a2dd9c7",
      "parents": [
        "2a15eb559cfc18800b3e345995df76695a3ae4b2",
        "571ae90801d943a4c0c8897d1cf74c9cfe04b1ec"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed May 25 11:40:59 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 25 11:40:59 2011 -0700"
      },
      "message": "Merge \"Make adb shell am display-size persistent.\" into honeycomb-mr2"
    },
    {
      "commit": "571ae90801d943a4c0c8897d1cf74c9cfe04b1ec",
      "tree": "0fe9dfac6a14c64bf2aa9a19487a0d530197be2e",
      "parents": [
        "ef89cc14957ab631346564801841190346632ac9"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Tue May 24 13:48:43 2011 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed May 25 11:40:21 2011 -0700"
      },
      "message": "Make adb shell am display-size persistent.\n\nChange-Id: If3d5d18729f4e89eb7e689994deadd996fd487e9\n"
    },
    {
      "commit": "d998acb3491fe750ce157b6171d5b0a18f4b3883",
      "tree": "bcd5ea1329cd397a5bc8bd8689478b8679c6ae0d",
      "parents": [
        "c404e9b20165f634904d1489216d17d8e09fe696"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 25 10:48:28 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 25 10:51:27 2011 -0700"
      },
      "message": "Fix issue #4445007: DPM initializes some values to 1, instead of 0\n\nAlso fix not writing the settings file when an admin is removed.\n\nAnd take care of an old to-do about not removing an admin until\nafter it has received the broadcast about it being disabled.\n\nChange-Id: I4ebe0ea0461222b65425b2c5438b646b572f18c8\n"
    },
    {
      "commit": "5d78e0b8ea548da3fa88ae2190a9334297b992b6",
      "tree": "bab3f5ce72e3bf4faf289fc5ff6cc0e85db2c703",
      "parents": [
        "51652f5674e266d62607324255517d41d225d9be",
        "4c126068527c9adba45aa227d40e245ee8e7c9a4"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon May 23 18:01:50 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 23 18:01:50 2011 -0700"
      },
      "message": "Merge \"GPS: Change NTP polling interval from 4 to 24 hours\" into honeycomb-mr2"
    },
    {
      "commit": "4c126068527c9adba45aa227d40e245ee8e7c9a4",
      "tree": "0c776a2c2849aab68f70bd1c8369518debbea161",
      "parents": [
        "b9537db8d9ee27efb4a98415ad2d6b50c1806e5d"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon May 23 20:57:43 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon May 23 20:57:43 2011 -0400"
      },
      "message": "GPS: Change NTP polling interval from 4 to 24 hours\n\n4 hours is excessive, and we want to save bandwidth on the NTP servers\n\nChange-Id: Ic5ac4f4a8e62167206f3f620ea51635a2ea771d6\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "a5250c93928e256738125b265e10c96c3575597e",
      "tree": "0461f4f237d6aaad4838f6b8566aa3c237fda5c3",
      "parents": [
        "2c7906eb392c6349e6f75fd2681310b934d6e262"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon May 23 13:44:04 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon May 23 20:01:55 2011 -0400"
      },
      "message": "MountService: Add StorageVolume as extra in storage related broadcasts.\n\nChange-Id: I8e1a21ae233ba9812e58b363b59a66b260a01cbf\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "b4788fdbfdda97bd9cfd0e483276934114d9c438",
      "tree": "b1551de9f7c570d15e716c2c64aeebbb8f5304f9",
      "parents": [
        "69cb87576ba163b61bb0e6477a3b7c57a9b11d40"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri May 20 18:19:53 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri May 20 22:11:54 2011 +0900"
      },
      "message": "Do not merge. Backport two fixes for InputMethethodFramework\n\nBug: 3420384\n\nbackport cl1: Iaf293cf6c6fb35a994f344b0afc30e9f523032f4\nbackport cl2: I29d2555aeb7d0e51205d9f1fe0da708df0890942\n\nChange-Id: Ia71ba27957fa818dc4ef8ff05b5fdb120b9650e0\n"
    },
    {
      "commit": "69cb87576ba163b61bb0e6477a3b7c57a9b11d40",
      "tree": "a44be0af3d008409403be133358bdcd628741c01",
      "parents": [
        "b9537db8d9ee27efb4a98415ad2d6b50c1806e5d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 19 18:13:32 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 19 18:23:29 2011 -0700"
      },
      "message": "Add new \"-swNNNdp\" resource qualifier.\n\nChange-Id: I0101e88ca9d8d44138bdcaf571f24b0352f4f6ce\n"
    },
    {
      "commit": "9c9088a54f6dee7a13dcc7a12297137147b01baa",
      "tree": "cf580fb197972caa21b762735904dbbe3d537dd2",
      "parents": [
        "51fb97031f62b1181fc9eb6c636d09a68987d939",
        "ffcea7ae7316ab748a49f5e8f6c6798356f35719"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu May 19 14:54:25 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 19 14:54:25 2011 -0700"
      },
      "message": "Merge \"Move softap config handling to WifiConfigStore\" into honeycomb-mr2"
    },
    {
      "commit": "ffcea7ae7316ab748a49f5e8f6c6798356f35719",
      "tree": "dac580baab50caa3bc4612833c02dbf10ef06f21",
      "parents": [
        "da4809455716cf16451ca5db79654370a6a44f17"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue May 10 16:26:06 2011 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed May 18 15:29:31 2011 -0700"
      },
      "message": "Move softap config handling to WifiConfigStore\n\nMove softap config to flat file and read/write on a seperate handler thread\n\nBug: 4391796\n\nChange-Id: Iafe43200d7f829df7ced20a4e7b0ed451ad22a05\n"
    },
    {
      "commit": "8f7c271ac9daa35708246bf279f71db5ff103b58",
      "tree": "e8639805a5a8d532a879abb5565946cc80a9686f",
      "parents": [
        "a429d5df1aa59d817d694b96a07351224cc5d146"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 18 15:07:48 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 18 15:07:48 2011 -0700"
      },
      "message": "Fix fake display size when rotated.\n\nChange-Id: Ic8a1dbe32cf0cb3c5cdc9b9294b98e810558f875\n"
    },
    {
      "commit": "a429d5df1aa59d817d694b96a07351224cc5d146",
      "tree": "e792d8fff39091c4459d88d916cbeca136441eb9",
      "parents": [
        "185d9c4dbf4b0ee976e4d0c3ea9d3ba307491339",
        "ffb3d939cc78cae523f14a0f8ab37061b5bffc20"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 17 18:38:37 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 17 18:38:37 2011 -0700"
      },
      "message": "Merge \"Improve compat mode scaling implementation.\" into honeycomb-mr2"
    },
    {
      "commit": "ffb3d939cc78cae523f14a0f8ab37061b5bffc20",
      "tree": "d0a6a4d7769e4dcaab3f4971fc9ab45265585da5",
      "parents": [
        "7916ac65dc492e4e1431879875c77d7121fbf82e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 17 17:44:51 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 17 18:29:51 2011 -0700"
      },
      "message": "Improve compat mode scaling implementation.\n\nRip out the old funky code for trying to restrict the app window\nsizes to be within the compat mode range.  Instead, we know rely\nentirely on scaling -- we deal with windows always with the scaling\napplied so that the window manager doesn\u0027t have to deal with them\nspecially.  Instead, we just apply the inverse scale at the few\npoints we need to do something the app sees.\n\nChange-Id: I785409dd4513b5f738684e1635dc8f770c249651\n"
    },
    {
      "commit": "fbfe55512596fd00c1fb51caa851e17dae60fd43",
      "tree": "3b56e07920defa86686c909c2431396983ceef42",
      "parents": [
        "50b27631598d56cf2def58270ddcf1619045dda4"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue May 17 17:19:37 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue May 17 17:19:37 2011 -0400"
      },
      "message": "StorageVolume: Add getStorageId() accessor\n\nThis ID is used for MTP as well as per volume querying in the media provider.\n\nChange-Id: Ic4fc986d972bd477730643f7e9450c390c0b3a4b\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "7916ac65dc492e4e1431879875c77d7121fbf82e",
      "tree": "a673e4cc163ea0e1d27d5a38fd2d37003812e37d",
      "parents": [
        "8f3dbe1c377e64584c3ec10edf664fb278648109"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 16 20:45:48 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 16 20:55:41 2011 -0700"
      },
      "message": "Add new command line option to change global screen size.\n\nFor example:\n\nadb shell am display-size 1024x600\n\nChange-Id: I5df462acd3323bdaaaefa3126faea7dd8595b726\n"
    },
    {
      "commit": "0eac092766d7871b34927442ee0b6e27e7e1317b",
      "tree": "b3b3e548c6d1c01a94cb929cde9442c6fc0698ab",
      "parents": [
        "9d0f2c6d970a1d2c7f9de5c9e89737d7772f95d3",
        "68066c2f38e47b56f0510c56eafd827731a0dc08"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 16 13:10:23 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 16 13:10:23 2011 -0700"
      },
      "message": "Merge \"DO NOT MERGE.  From main -- Start work on simulating landscape/portrait when orientation is locked.\" into honeycomb-mr2"
    },
    {
      "commit": "68066c2f38e47b56f0510c56eafd827731a0dc08",
      "tree": "0c48dab5571260fcc03c864efbd4c638ad4d423e",
      "parents": [
        "29735689cea7bf52998c1911542dcfdd1c1d9628"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 21 17:26:39 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 16 13:08:07 2011 -0700"
      },
      "message": "DO NOT MERGE.  From main -- Start work on simulating landscape/portrait when orientation is locked.\n\nNot yet working, so turned off.\n\nAlso fix a bug where the display size configuration became inconsistent\nafter a configuration change -- we now figure out everything about the\ndisplay size when computing a new configuration.\n\nChange-Id: Id155f133c0bf108508a225ef64ed3ca398a90a58\n"
    },
    {
      "commit": "9d0f2c6d970a1d2c7f9de5c9e89737d7772f95d3",
      "tree": "ea2228a72541ae74400c7b81226d9723a6e1cd9b",
      "parents": [
        "1e662c3294b740ff694ad98e4d9a366e1e4b5e62",
        "29735689cea7bf52998c1911542dcfdd1c1d9628"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 16 13:01:07 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 16 13:01:07 2011 -0700"
      },
      "message": "Merge \"DO NOT MERGE: From master -- Fix bug in deciding which rotation to use for an orientation.\" into honeycomb-mr2"
    },
    {
      "commit": "29735689cea7bf52998c1911542dcfdd1c1d9628",
      "tree": "82fcde88be0860b040c0ce43deedbc61db5ce1a0",
      "parents": [
        "ac8dea12c17aa047e03a358110aeb60401d36aa2"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 21 17:26:39 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 16 12:57:38 2011 -0700"
      },
      "message": "DO NOT MERGE: From master -- Fix bug in deciding which rotation to use for an orientation.\n\nChange-Id: Ie271123271a662f3f753f381ce4c43ad7904dc4a\n"
    },
    {
      "commit": "1e662c3294b740ff694ad98e4d9a366e1e4b5e62",
      "tree": "135d285dcb1f27f18a6267ebb481325d39899d00",
      "parents": [
        "15afd076d6070374cbb4f9dcbe28dda67caa0718",
        "ac8dea12c17aa047e03a358110aeb60401d36aa2"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 16 12:54:22 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 16 12:54:22 2011 -0700"
      },
      "message": "Merge \"DO NOT MERGE.  Integrate from master: Rework display size access.\" into honeycomb-mr2"
    },
    {
      "commit": "0a93d875527c52183080b63a0b19d567856952af",
      "tree": "f6c661d55b456672d705fb87c37a786435d3b7a9",
      "parents": [
        "79d3f6305fc7dda68faf674e1c500f97cc4dd570",
        "2f6a3885533a52758c2cd4f81f6123a712be8ae6"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon May 16 12:34:02 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 16 12:34:02 2011 -0700"
      },
      "message": "Merge \"StorageManager:  Clean up and generalize storage configuration resources\" into honeycomb-mr2"
    },
    {
      "commit": "ac8dea12c17aa047e03a358110aeb60401d36aa2",
      "tree": "373ab19dcf21fce62352a6b511855261017649b5",
      "parents": [
        "700ab1c75862babba90f54e02bdc877becd4f4fc"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 20 18:18:51 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 16 11:58:27 2011 -0700"
      },
      "message": "DO NOT MERGE.  Integrate from master: Rework display size access.\n\nApplications now get the display size from the window manager.  No\nbehavior should be changed yet, this is just prep for some real\nchanges.\n\nChange-Id: I47bf8b55ecd4476c25ed6482494a7bcc5fae45d2\n"
    },
    {
      "commit": "2f6a3885533a52758c2cd4f81f6123a712be8ae6",
      "tree": "c4f6de0abad5d579cbd236194f1b6bd1f8a8eb93",
      "parents": [
        "084d3490a5283088426058d3c15532b176367926"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon May 09 19:08:06 2011 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon May 16 14:29:23 2011 -0400"
      },
      "message": "StorageManager:  Clean up and generalize storage configuration resources\n\nReplace config_emulateExternalStorage, config_externalStorageRemovable,\nconfig_externalStoragePaths, config_externalStorageDescriptions and\nconfig_mtpReserveSpaceMegabytes resources with an XML resource file\nto describe the external storages that are available.\n\nAdd android.os.storage.StorageVolume class\n\nStorageManager.getVolumeList() now returns an array of StorageVolume\n\nChange-Id: I06ce1451ebf08b82f0ee825d56d59ebf72eacd3d\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "9a84983a9fd9959671e102045eaf185b83291269",
      "tree": "7235da3c8ad520b16425fee7984cbcd0cacf9b0b",
      "parents": [
        "f9dd34f4d3203fd50363b3b0247c5d0db6fe2c8f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 07 15:11:57 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 13 18:38:19 2011 -0700"
      },
      "message": "DO NOT MERGE.  Integrate from master: Improve activity manager debug dumps.\n\nActivity manager now does all dump requests into apps\nasynchronously, so it can nicely timeout if there is an\napp problem.  Also lots of general cleanup of the am\ndump output.\n\nChange-Id: I99447b87f77a701af52aeca984d93dfe931f065d\n"
    },
    {
      "commit": "ebff8f92f13513ce37bd74759eb1db63f2220590",
      "tree": "909da02ab7ff47483e227f032828dbdbe7f959af",
      "parents": [
        "a8138732a01b92f0a40f72050b74a3bd4cf6d215"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 12 18:07:47 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 12 18:39:51 2011 -0700"
      },
      "message": "DO NOT MERGE.  Integrate add new screen width/height in \"dp\" configs.\n\nYou can now specify resource configuration variants \"wNNNdp\"\nand \"hNNNdp\".  These are the minimum screen width/height in \"dp\"\nunits.  This allows you to do things like have your app adjust\nits layout based only on the about of horizontal space available.\n\nThis introduces a new configuration change flag for screen size.\nNote that this configuration change happens each time the orientation\nchanges.  Applications often say they handle the orientation change\nto avoid being restarted at a screen rotation, and this will now\ncause them to be restarted.  To address this, we assume the app can\nhandle this new config change if its target SDK version is \u003c ICS.\n\nChange-Id: I4acb73d82677b74092c1da9e4046a4951921f9f4\n"
    },
    {
      "commit": "0f1de9adde0b52d2a385a76232bd7ac30c3eeea2",
      "tree": "6d30064324ea987411955a88cb0272ddb27d39b2",
      "parents": [
        "f3cdea937b8b659f959d5e77f4a17f749f85c6ae"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 11 17:34:49 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 12 13:28:45 2011 -0700"
      },
      "message": "New compat mode front end: UI and persistence.\n\nAdds a really crappy UI for toggling compat mode.\n\nPersists compat mode selection across boots.\n\nTurns on compat mode by default for newly installed apps.\n\nChange-Id: Idc83494397bd17c41450bc9e9a05e4386c509399\n"
    },
    {
      "commit": "e2515eebf42c763c0a2d9f873a153711778cfc17",
      "tree": "ee159940f05c439d0524771bfbfe6b551c82c2d4",
      "parents": [
        "158e3582c03ab9e0221718da20fc8854bb9216d0"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 27 18:52:56 2011 -0400"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 09 17:03:24 2011 -0700"
      },
      "message": "Better compat mode part one: start scaling windows.\n\nFirst step of improving app screen size compatibility mode.  When\nrunning in compat mode, an application\u0027s windows are scaled up on\nthe screen rather than being small with 1:1 pixels.\n\nCurrently we scale the application to fill the entire screen, so\ndon\u0027t use an even pixel scaling.  Though this may have some\nnegative impact on the appearance (it looks okay to me), it has a\nbig benefit of allowing us to now treat these apps as normal\nfull-screens apps and do the normal transition animations as you\nmove in and out and around in them.\n\nThis introduces fun stuff in the input system to take care of\nmodifying pointer coordinates to account for the app window\nsurface scaling.  The input dispatcher is told about the scale\nthat is being applied to each window and, when there is one,\nadjusts pointer events appropriately as they are being sent\nto the transport.\n\nAlso modified is CompatibilityInfo, which has been greatly\nsimplified to not be so insane and incomprehendible.  It is\nnow simple -- when constructed it determines if the given app\nis compatible with the current screen size and density, and\nthat is that.\n\nThere are new APIs on ActivityManagerService to put applications\nthat we would traditionally consider compatible with larger screens\nin compatibility mode.  This is the start of a facility to have\na UI affordance for a user to switch apps in and out of\ncompatibility.\n\nTo test switching of modes, there is a new variation of the \"am\"\ncommand to do this: am screen-compat [on|off] [package]\n\nThis mode switching has the fundamentals of restarting activities\nwhen it is changed, though the state still needs to be persisted\nand the overall mode switch cleaned up.\n\nFor the few small apps I have tested, things mostly seem to be\nworking well.  I know of one problem with the text selection\nhandles being drawn at the wrong position because at some point\nthe window offset is being scaled incorrectly.  There are\nprobably other similar issues around the interaction between\ntwo windows because the different window coordinate spaces are\ndone in a hacky way instead of being formally integrated into\nthe window manager layout process.\n\nChange-Id: Ie038e3746b448135117bd860859d74e360938557\n"
    },
    {
      "commit": "91dd02c3405a76e9051f7e118ad19ca111b2aa40",
      "tree": "c8d2911356489466e8bd23143c96e7de47d5ceda",
      "parents": [
        "b9135638c5b813e876dc16dcb10084b6ab3d2003"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Apr 05 10:21:51 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue May 03 21:03:56 2011 -0400"
      },
      "message": "DO NOT MERGE MountService: Fix running media scanner at boot.\n\nChange-Id: I67ff2ccde7e03143167b8c59726ffb741c96e028\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "b9135638c5b813e876dc16dcb10084b6ab3d2003",
      "tree": "c334f5ac034f372c0f3d4f468e3b2a0e0e2e61f0",
      "parents": [
        "d967f4664f40f9a4c5262a44b19df9bbdf457d8a"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Apr 05 10:05:47 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue May 03 21:03:56 2011 -0400"
      },
      "message": "DO NOT MERGE Fix deadlock in MountService\n\nIt is not safe to call into vold with a lock held on mVolumeStates\nsince we will receive events back from vold on a different thread.\nSo in the boot completed handler we make a copy of the volume list and\nthen call vold to mount volumes after releasing the lock\n\nChange-Id: Ic9836c2e1e8a5677d0c4e33476a72081f69823a0\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "d967f4664f40f9a4c5262a44b19df9bbdf457d8a",
      "tree": "421898338ee3ec31b2e6ba03b36ba7deff83599d",
      "parents": [
        "f097fc2fee57183508558acbca1f8742fb55615a"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Mar 24 08:12:30 2011 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue May 03 21:03:55 2011 -0400"
      },
      "message": "DO NOT MERGE StorageManager: Add getVolumeList() and getVolumeState() methods\n\nChange-Id: I43d5c1730b340f1288b58012234b38f801001b71\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "f097fc2fee57183508558acbca1f8742fb55615a",
      "tree": "563a1d88fc67e15216aaa4f93611fcd4b8f349e9",
      "parents": [
        "7c2d14d59637cfb06ebcfbb091541cebd131fc6a"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 23 14:52:34 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue May 03 21:03:55 2011 -0400"
      },
      "message": "DO NOT MERGE MountService: Add support for multiple volumes\n\nChange-Id: I45ee0e5735a6d72c635f6d22320e8b13bccc3847\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "8325c3a89197e47cfc2eeb4117c927fb8cb91630",
      "tree": "9c5c219a485025c29d7bc1a312527b991f5db27a",
      "parents": [
        "de506220d8a3d453463e1abe1b2eb54afd48ec93"
      ],
      "author": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Mon May 02 13:16:06 2011 -0700"
      },
      "committer": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Mon May 02 14:06:06 2011 -0700"
      },
      "message": "Backporting I57c58c4083bd59f45095c184d6ca5a302f79ff6e to HC-MR1. New change\nsince file was renamed, making cherry-pick impossible.\n\nChange-Id: Idc802af57fb9926a69ed52d4e776ef57d8b647c6\n"
    },
    {
      "commit": "f6f87c985989603139b31df663f9f9a90543cacc",
      "tree": "4861164936215fc7fcc955e6fdc0356ce27dcee4",
      "parents": [
        "4e3d6aa0688f023dfe5feb2eb197207cc8267463",
        "52b0ce0fe3e9ab52c272dde3d9c59376c276a17e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 14 15:10:31 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 14 15:10:31 2011 -0700"
      },
      "message": "Merge \"Fix issue #4291805: Tap Fish crashes on launch\" into honeycomb-mr1"
    },
    {
      "commit": "52b0ce0fe3e9ab52c272dde3d9c59376c276a17e",
      "tree": "05783a9efb7f4fe73ec86f58027c6bd2dbd50cf2",
      "parents": [
        "6bb8b0ecb558373ba99e44ad5c351e1d7bb410d6"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 14 13:09:32 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 14 13:09:32 2011 -0700"
      },
      "message": "Fix issue #4291805: Tap Fish crashes on launch\n\nThe activity manager got a little too aggressive about argument validation.\n\nChange-Id: I3cca0cd3135b98e5c50d26db778ec4ec28a47ec1\n"
    },
    {
      "commit": "08c39c6a11f728e113811a6a85c109cfc80ce28e",
      "tree": "5e614740dfe0a156fd710b326545003ee990418f",
      "parents": [
        "c6c2285b36e83b96056e2404371cdf6e6f7acaee"
      ],
      "author": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Wed Dec 22 14:29:40 2010 -0800"
      },
      "committer": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Mon Apr 11 16:33:43 2011 -0700"
      },
      "message": "Add support for USB Ethernet adapters\n\nChange-Id: I6ae34a32d0e1b6f21c484b8639c3e7ce086e568d\n"
    },
    {
      "commit": "4f0f3561edfdcdff0ac90f0ea26c64cb16efe643",
      "tree": "65e7ad51c855f4c036702f7809dc315a66315cca",
      "parents": [
        "7661dd8de10d2400cedc421358c4261556b2b5c8"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 29 16:49:42 2011 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 29 16:59:38 2011 -0700"
      },
      "message": "UsbService: Make USB disconnect handling for accessory mode more robust\n\nHandle the case where the kernel driver is in accessory mode but we failed\nto initialize it at the framework level.  On disconnnect, check to see if the\naccessory kernel driver is enabled rather than checking mCurrentAccessory.\nThat way we will restore the USB state in the kernel even if mCurrentAccessory\nis null.\n\nChange-Id: I35d458f21a8b21611946da523d0f53723cab0540\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "edcb4f9d560a85970030e1df70426e8d1e2267d2",
      "tree": "1a4cbcdd220f9f93832df8c66744d272dccea4a5",
      "parents": [
        "3a2575f7e6b1f6da97bd8233dfd3baa8883c5610"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Mar 22 18:47:42 2011 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Mar 22 18:47:42 2011 -0700"
      },
      "message": "Fix adding of default route.\n\nIf you deleted the host routes (started a secondary network like mms, supl\nof hipri and then ended it) you would lose the host route to the default\ngateway.  Then if you needed to re-add the default gateway route (lost\nthe connection and removed the default route and then re-established)\nyou couldn\u0027t - can\u0027t add a gateway that isn\u0027t routable apparently.\n\nThis happens if you are in a video chat and lose your connection without\nlosing the interface (PPP keeps it up for a bit).\n\nFixed it by having addDefaultRoute first add a hsot route for the gateway\nbefore adding the default route.  This allows the default add to succeed.\n\nbug:3490353\nChange-Id: I415e7319832e6456f8757b14c4f79f098a08839b\n"
    },
    {
      "commit": "1c0e543638fa940651b675645146fd71c2ebd9b9",
      "tree": "1283ad0bed75d2269217557c6c9f63ac0b67e40f",
      "parents": [
        "1d50ad7914de36b63a04d39bdc4791c1dadc7eae"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat Mar 19 12:03:46 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat Mar 19 12:03:46 2011 -0400"
      },
      "message": "UsbService: Handle the case where a USB accessory connects as the device is booting\n\nBug: 4129297\n\nChange-Id: I8f9d085805fb598572f9b00952c3cd38cfab461b\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "199d1c131d29b5356f71fbd7826a592c1dd8575f",
      "tree": "b02c7ab5a0662020447a3324c7a09c1d4294c5e0",
      "parents": [
        "2f1f2248c8439adbd686810e306c55f9e6a5abc3"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Mar 17 11:48:13 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Mar 17 14:43:12 2011 -0700"
      },
      "message": "Fix missing AOSP copyright headers for more files\n\no Update the copyright date on InputDispatcher_test.cpp and InputReader_test.cpp\n  because these two files were moved from other places to the current location,\n  and were actually created in 2010.\n\nbug - 4119349\n\nChange-Id: Ic93b81ddafb58e9e72a2e9e02ca3d9f173d6dca7\n"
    },
    {
      "commit": "87f50f19eef2e70fcf7294c3b9cd5ca0344b99ee",
      "tree": "6aa498a88737a590d859aa362d9ef5a6037fc584",
      "parents": [
        "11473332b4df78610ebb903e255d69ab35e5bf59",
        "a57db345d3f7b70854fd66e28b8b48d3fb27c606"
      ],
      "author": {
        "name": "Paul Milovanov",
        "email": "pmilovanov@google.com",
        "time": "Thu Mar 17 10:23:48 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 17 10:23:48 2011 -0700"
      },
      "message": "Merge \"PACKAGE_FIRST_LAUNCH intent sent to wrong pkg\" into honeycomb-mr1"
    },
    {
      "commit": "a57db345d3f7b70854fd66e28b8b48d3fb27c606",
      "tree": "9bde5e4d77dcd7fc9874ccb80990aace7aa84de8",
      "parents": [
        "fc59176241f498ad4eeb4237800c2eb5edd9efcd"
      ],
      "author": {
        "name": "Paul Milovanov",
        "email": "pmilovanov@google.com",
        "time": "Wed Mar 16 23:03:10 2011 -0700"
      },
      "committer": {
        "name": "Paul Milovanov",
        "email": "pmilovanov@google.com",
        "time": "Wed Mar 16 23:12:31 2011 -0700"
      },
      "message": "PACKAGE_FIRST_LAUNCH intent sent to wrong pkg\n\nIn PackageManagerService, intent with ACTION_PACKAGE_FIRST_LAUNCH was\nbeing sent to wrong package. It was being sent to the installed\npackage with installer package in the URI, whereas it should be sent\nto installer package with installed package in the URI.\nComment in Intent.java:1417 seems to support that intent with this\naction should be sent to the installer package, not installed.\n\nBug: 3426299\nChange-Id: Iadec4ae7a1af6bab434716f8fcdb7d0b099d1ee1\n"
    },
    {
      "commit": "c2be22cf209b675e36893d31ebe3166b6321ba6b",
      "tree": "97cea8cfc8dbbc34145a9304bb85bd1cd716ff18",
      "parents": [
        "7ddd62b5bedf9065bba00e25aa62f2eae14cf92e"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Wed Mar 16 16:33:53 2011 -0700"
      },
      "committer": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Wed Mar 16 16:33:53 2011 -0700"
      },
      "message": "Catching all Exceptions when calling through to RemoteViewsFactory\n\nChange-Id: Ib20c880bb7626565541ab4697317fcfaa2e6b5b7\n"
    },
    {
      "commit": "b548a3cfa022451098cc73e25ce79f1776e78715",
      "tree": "78b48001eca82eb60412d7bbef051e121d528cfb",
      "parents": [
        "e21110f8b1e4aa884f7a4e2164ae90dab8d5f3fa"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Mon Mar 14 12:38:34 2011 -0700"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Mon Mar 14 12:38:34 2011 -0700"
      },
      "message": "Remove a workaround for the data inconsistency of SystemProperties\n\nBug: 3473532\nReverting: Ie3f5b484b5574e10a4\n\nDepends on Bug: 3511230\nThis must be fixed before submitting this CL.\n\nChange-Id: I435a294a818bec5675f0ada00d81c1b3e37d1dce\n"
    },
    {
      "commit": "e21110f8b1e4aa884f7a4e2164ae90dab8d5f3fa",
      "tree": "51c052ddc66c30afd10d97660882e58a854e0fb1",
      "parents": [
        "8503af848657356411a9bb4cf15d798d4f15111b",
        "4aeca7c5908387bc7efb0785830aea1053264062"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Mar 14 11:48:35 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 14 11:48:35 2011 -0700"
      },
      "message": "Merge \"Backup and restore IP and proxy settings\" into honeycomb-mr1"
    },
    {
      "commit": "bce6f8f249ff2b65df9ed790cc460053ab8eccec",
      "tree": "f7a4d6539c5f65dd1bacc5dff5f0c3a159ee0482",
      "parents": [
        "767d7a03733c867da7cad466a9303208eb51699f"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun Mar 13 17:26:52 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun Mar 13 19:18:08 2011 -0400"
      },
      "message": "Add a dialog to ask user to start an application for a USB device or accessory\n\nThis is used when there is only one application available and the user has\nnot chosen to start it by default.\nIf more than one application is available we continue to use UsbResolverActivity\n\nBug: 4074719\n\nChange-Id: Id61f2ccc6de5b9ac70fb4670006ff1fee2028d55\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "14c875eac750ca096de439225b1a028b1facc58e",
      "tree": "4b16f2b27a690839caa38a157bc5f835c398f32f",
      "parents": [
        "761b84409135641ec27bb828dbd8a1d04a7252fe",
        "c7d32d106591fdfe759f48bbd6f7f1af7f92a61c"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Mar 11 13:24:01 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 11 13:24:01 2011 -0800"
      },
      "message": "Merge \"Clear default for USB device/accessory when new matching app is installed\" into honeycomb-mr1"
    },
    {
      "commit": "c7d32d106591fdfe759f48bbd6f7f1af7f92a61c",
      "tree": "fee5189a5885964004309ac9d90ec1774259206c",
      "parents": [
        "a75075e1671f57217d8b8bb75b2d9c3a6bab37d8"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Mar 11 16:12:07 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Mar 11 16:12:07 2011 -0500"
      },
      "message": "Clear default for USB device/accessory when new matching app is installed\n\nBug: 4063041\n\nChange-Id: Ia1b4f29d3e54ec21aa64407720d9d5db62855380\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "7b076307bb1f78d3f5616b7f2f2ad496aa4a33d7",
      "tree": "8083519c85c827ec32bde532e199aac987ee00e0",
      "parents": [
        "492eb33d549afa65e630d2f4886b1bdf3d979d04",
        "cb44d96173e59139a8a5c83246a3a40aaca1d277"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 11 10:39:46 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 11 10:39:46 2011 -0800"
      },
      "message": "Merge \"Fix issue #4084124: Wingray Often see black screen after market ANR due to 4084121\" into honeycomb-mr1"
    },
    {
      "commit": "492eb33d549afa65e630d2f4886b1bdf3d979d04",
      "tree": "b81d539de08011e9345b944edcee76da5922de62",
      "parents": [
        "92f2f3ff2ea5c5b474722f2055cfee4916010e26",
        "a925cd4101dceefae6b9c0634084f9fa72b12344"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 11 10:38:52 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 11 10:38:52 2011 -0800"
      },
      "message": "Merge \"Fix issue #4081756: Crash when un-stopping applications\" into honeycomb-mr1"
    },
    {
      "commit": "cb44d96173e59139a8a5c83246a3a40aaca1d277",
      "tree": "41ac65e63a8dc013e3b77b8be376a5d4d60dda8c",
      "parents": [
        "a925cd4101dceefae6b9c0634084f9fa72b12344"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 10 17:02:27 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 10 17:02:27 2011 -0800"
      },
      "message": "Fix issue #4084124: Wingray Often see black screen after market ANR due to 4084121\n\nNeed to resume the top activity after force removing a crashing\napp\u0027s activities.\n\nChange-Id: Id3384b2aa73039a9b1e72c2201d3ab0ef5b4f61f\n"
    },
    {
      "commit": "4aeca7c5908387bc7efb0785830aea1053264062",
      "tree": "1f8a718c28c4fd65c506fbe3968d2ceda36db140",
      "parents": [
        "b22bb1dae1213fe9383020a53eeb89de40e7bbd0"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Mar 10 16:53:33 2011 -0800"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Mar 10 16:57:10 2011 -0800"
      },
      "message": "Backup and restore IP and proxy settings\n\nBug: 4081954\nChange-Id: I27266637c6ade0c5c8242792176d1edae0983446\n"
    },
    {
      "commit": "a925cd4101dceefae6b9c0634084f9fa72b12344",
      "tree": "8514698b53c5be0d11dfb7949fd030aa57bbb141",
      "parents": [
        "0837fde9fd9e29f8ef66a3fe00764e15a6f3d515"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 10 13:18:20 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 10 13:18:20 2011 -0800"
      },
      "message": "Fix issue #4081756: Crash when un-stopping applications\n\nChange-Id: Ifc23481f8feaeacb410375eefd015ebdb997e39c\n"
    },
    {
      "commit": "024b4f14945bd2a285f730faa3a0fdbb6c47abc1",
      "tree": "6bb68d7fe716e9d5b41512e504f51216e6983822",
      "parents": [
        "0837fde9fd9e29f8ef66a3fe00764e15a6f3d515"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Mar 10 12:12:31 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Mar 10 14:35:33 2011 -0500"
      },
      "message": "Support for USB accessory URIs\n\nIf a USB accessory is attached and we have no application that supports it,\ndisplay a dialog offering the user the option to visit the accessory\u0027s website\nif the accessory has a URI.\n\nBug: 4073248\n\nChange-Id: I30e2a802493fb6e203532a7f79402379c40bc3b8\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "cc08c439bc7b0afbdafc5ca18c584d2f7724f3df",
      "tree": "219bad973dd1af80c377bb8e9e5355e70b843bac",
      "parents": [
        "3de30a4c1e48d92af14154abddd4fb6fe0c6aa13",
        "ac36d7c715a9cd793b2dce6de547594810101c3a"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Mar 10 07:50:30 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 10 07:50:30 2011 -0800"
      },
      "message": "Merge \"UsbAccessory: Add URI string, replace type string with description\" into honeycomb-mr1"
    },
    {
      "commit": "ac36d7c715a9cd793b2dce6de547594810101c3a",
      "tree": "5f347132f5896785d47519c1ae728af1113db1f0",
      "parents": [
        "b966b9d9e882835691e5adda292d89dd704df71c"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 09 22:03:57 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 09 22:12:49 2011 -0500"
      },
      "message": "UsbAccessory: Add URI string, replace type string with description\n\nThis is a first step toward adding USB accessory URI support\n\nBUG: 4073248\n\nModified USB accessory matching logic to look only at manufacturer, model and version\n(description and URI are not considered when matching apps to accessories)\n\nAlso added test for USB accessory protocol version to accessorytest\n\nBUG: 4080288\n\nChange-Id: I992a3433c74efa7a7db37bf030f02c1f0c92f9e2\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "564f12ebe409bead467eee04dfd719e97367e520",
      "tree": "ee566495df013526c9163e0e8ef6fe9fd6e61bfc",
      "parents": [
        "37c2e3e55641e91dd0ec3dbd296bc6bc7c7641cf",
        "b966b9d9e882835691e5adda292d89dd704df71c"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 09 15:47:10 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 09 15:47:10 2011 -0800"
      },
      "message": "Merge changes Ifd78cca3,Ieadb86fe,If5b44ebd into honeycomb-mr1\n\n* changes:\n  MTP: Convert date created and modified values from seconds to milliseconds\n  Update USB accessory compatibility library to support new requestPermission API\n  UsbService: Don\u0027t require permissions for UsbManager.getCurrentAccessory()\n"
    },
    {
      "commit": "5c9248f668201a751500f67cc60bd45ff905751a",
      "tree": "bd8a8af74cdb2a5d9665afadfe0d429b2010876a",
      "parents": [
        "788dd5e076821d8604be7a8e44a1c5ae5f4e198e",
        "e70d506ab329f1f96b0ee132317aa36edea1b94e"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Wed Mar 09 14:42:56 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 09 14:42:56 2011 -0800"
      },
      "message": "Merge \"Fix 4027057: Improve resolution of RecentApps thumbnail images.\" into honeycomb-mr1"
    },
    {
      "commit": "607710ad12a7503c3b84c34430d1716fe7264f20",
      "tree": "39eae0cd2ddbc9599f82bd4a395376f9050760e4",
      "parents": [
        "980f0430c16a8767061a6f7f3506aabf79735ef6"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 09 16:43:35 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 09 16:43:35 2011 -0500"
      },
      "message": "UsbService: Don\u0027t require permissions for UsbManager.getCurrentAccessory()\n\nPermission check should only happen in openAccessory()\nOtherwise an application will not be able to check for the current accessory\nand ask for permissions (if it is a suitable match for the application)\n\nBUG: 4069037\n\nChange-Id: If5b44ebda2e8077598d96629163cc74aa336589e\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "2c3ed82600af117e791a087330a198fe90d298b7",
      "tree": "c58c642458e1185aec8ff0caf16b613c615817f0",
      "parents": [
        "5fa7aac81b471557cd944f762340281e5fa012f9",
        "c6f23e8521dedac7a07119031913235be3ca37c3"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 09 10:44:19 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 09 10:44:19 2011 -0800"
      },
      "message": "Merge \"Change UsbManager.requestPermission to only grant permission temporarily\" into honeycomb-mr1"
    },
    {
      "commit": "c6f23e8521dedac7a07119031913235be3ca37c3",
      "tree": "0e25041664958b4f96b41475f25f95b13b8d6b6d",
      "parents": [
        "ea44c7c71431adbce348cf9ef3f22d9561bb7fc1"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 09 12:05:20 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 09 12:33:00 2011 -0500"
      },
      "message": "Change UsbManager.requestPermission to only grant permission temporarily\n\nIf the user approves an application to access a USB device or accessory\nwithout choosing it as the default application, then permission is granted\nonly until the device or accessory is disconnected.\nOnly applications chosen as the default choice have permissions assigned persistently.\n\nBUG: 4061035\n\nChange-Id: Ic4f6271a91b2fc56bbeef82c579e26d88c63ae56\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "7ad85eb62f9f332cc8002ec996cd359333ba590e",
      "tree": "1e0c037e0317ef0a575c60fb9dff30e42a1cf6cb",
      "parents": [
        "ea44c7c71431adbce348cf9ef3f22d9561bb7fc1",
        "658772f0e6bcf2b0a3e26778c2fc47accbdfeb2e"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Mar 09 09:30:28 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 09 09:30:28 2011 -0800"
      },
      "message": "Merge \"Persist wifi override in airplane mode\" into honeycomb-mr1"
    },
    {
      "commit": "9e8e4ea0a839b561d329758cddbfd0f7ea23f593",
      "tree": "5245dd205851ea4b68918accdb640467fac7ccf6",
      "parents": [
        "36b077d558727ead246434b08de0ce7b955508e1",
        "d591357524091254483849e37697255cc8fce2ad"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 09 03:52:47 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 09 03:52:47 2011 -0800"
      },
      "message": "Merge changes Ib517e5e4,I93be7695,I49bf22a4 into honeycomb-mr1\n\n* changes:\n  Close USB dialogs if their corresponding accessory or device has disconnected\n  USB: Add API and dialog for apps to request permissions for USB devices and accessories\n  UsbService: Automatically use system apps by default if it is the only choice\n"
    },
    {
      "commit": "658772f0e6bcf2b0a3e26778c2fc47accbdfeb2e",
      "tree": "b4bbd4c88ba5f164feb8695fe92bc71cff4ca6ab",
      "parents": [
        "6e71c954faff34b78a2952436b4f48d84a8c20cd"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Mar 08 14:52:31 2011 -0800"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Mar 08 21:52:35 2011 -0800"
      },
      "message": "Persist wifi override in airplane mode\n\nPersist the setting of wifi override in airplane mode\nso that it can be restored on reboot\n\nBug: 3250824\nChange-Id: I2af38c282ba55fc150fd9ef783d43600f0d4260f\n"
    },
    {
      "commit": "e70d506ab329f1f96b0ee132317aa36edea1b94e",
      "tree": "4fe69054ee991723dcd309d906614e77d7cbb690",
      "parents": [
        "8496ddc536eb917c813b7928f174c828d2275ada"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Mar 08 21:38:39 2011 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Mar 08 21:47:13 2011 -0800"
      },
      "message": "Fix 4027057: Improve resolution of RecentApps thumbnail images.\n\nThis fix ensures captured thumbnails in portrait mode have the\nsame resolution as those in landscape by fixing the horizontal\nresolution and vertical resolution of the target image.\n\nThe returned image is now always the same size and matches\nthe landscape screen exactly. In portrait mode, it grabs\nthe upper portion of the screen based on the vertical dimension\nof the target image.\n\nChange-Id: I203c39843f2f21ca28f6ef0dffec308ce5cb39fb\n"
    },
    {
      "commit": "3a68b8338b431eb15d28e92f06452efbbda9493e",
      "tree": "51d551ff5d51e1a141250aff2d6dd604ee3e6e4d",
      "parents": [
        "8c7d8c3ccb37edff424ca01c6474cbed2154d954"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 08 10:08:59 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 08 21:22:19 2011 -0500"
      },
      "message": "USB: Add API and dialog for apps to request permissions for USB devices and accessories\n\nNew APIs:\n\nUsbManager.hasPermission returns true if the caller has permission\nfor the given device or accessory\n\nUsbManager.requestPermission poses a dialog to allow the user to give the caller\npermission for the device or accessory.\nResult is returned via a PendingIntent.\nNo dialog is displayed if the caller already has permission.\n\nAlso moved UsbResolverActivity to SystemUI package\n\nBUG: 4069037\n\nChange-Id: I93be769501a8776b49ac26e468af19f8fa2114c9\n"
    },
    {
      "commit": "8c7d8c3ccb37edff424ca01c6474cbed2154d954",
      "tree": "a0907ec4b396a5cb5b6ca5aa9d0ddfafe41a53e6",
      "parents": [
        "102930a0deaf8280a65321de0d6c120a638da9e2"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Mar 07 16:33:21 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 08 20:32:15 2011 -0500"
      },
      "message": "UsbService: Automatically use system apps by default if it is the only choice\n\nIf only one app is installed that supports a USB device or accessory\nand that app is in the system partition, then use that activity by default\nand rather than displaying the USB app chooser dialog.\n\nBUG: 4060064\n\nChange-Id: I49bf22a439e9676039b6f612c9bb622ab426066c\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "3de6a9b692437d5ce14d672cad4eff4c7ed0ae23",
      "tree": "fd356144b570bf676e210dd0157deb92936bb30f",
      "parents": [
        "09a31662055605e90d6e81e06437de0d92c7cf95",
        "2aded18b0ef9f189771f70f05091493a44ec46ae"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Mar 08 15:43:16 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 08 15:43:16 2011 -0800"
      },
      "message": "Merge \"Fix 4025684: Don\u0027t include wallpaper dimensions in bounds calculation\" into honeycomb-mr1"
    },
    {
      "commit": "2aded18b0ef9f189771f70f05091493a44ec46ae",
      "tree": "53e2a83405e043183580777cd4c91ea93df70619",
      "parents": [
        "8496ddc536eb917c813b7928f174c828d2275ada"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Mar 08 15:32:42 2011 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Mar 08 15:34:20 2011 -0800"
      },
      "message": "Fix 4025684: Don\u0027t include wallpaper dimensions in bounds calculation\n\nThis fixes a bug where we would capture the statusbar region in\nthumbnails because the wallpaper was used in the bounds calculation.\n\nChange-Id: I572221e83c4c363afe90e59bece9a291ce694a15\n"
    },
    {
      "commit": "cc1d9f7942f7e70c240f0cc745840262345f506f",
      "tree": "2ab2592ba14c311924328ac35b4226467cb7c2d4",
      "parents": [
        "0aaa11ed5be45170fb2535a6ce021c92b18d8878"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 08 10:33:55 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 08 10:33:55 2011 -0800"
      },
      "message": "Fix issue #3505861: Need to decide large/xlarge screen size limits\n\nDecided.\n\nChange-Id: I8292d65e3d47755778fdf85207c49f160c756452\n"
    },
    {
      "commit": "6e38d26c1e66cc957c33d4263013e02623ebd6da",
      "tree": "e8a868158ed06580f852901598a5dcdad7afcaed",
      "parents": [
        "f8b8a3fa955b545843ca264428c620b67c2a5359",
        "761eb3762f3602dd1859905ee4ba80f0ef6aec56"
      ],
      "author": {
        "name": "Ken Wakasa",
        "email": "kwakasa@google.com",
        "time": "Fri Mar 04 02:57:20 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 04 02:57:20 2011 -0800"
      },
      "message": "Merge \"Fix the sort order of the input methods \u0026 subtypes in the settings.\" into honeycomb-mr1"
    },
    {
      "commit": "761eb3762f3602dd1859905ee4ba80f0ef6aec56",
      "tree": "c1d72613ff54a5fa5c01ef57ba60b814de1a1d04",
      "parents": [
        "1e158e9ce78c25dc5de402f14654a8955de7fddc"
      ],
      "author": {
        "name": "Ken Wakasa",
        "email": "kwakasa@google.com",
        "time": "Fri Mar 04 19:06:18 2011 +0900"
      },
      "committer": {
        "name": "Ken Wakasa",
        "email": "kwakasa@google.com",
        "time": "Fri Mar 04 19:30:12 2011 +0900"
      },
      "message": "Fix the sort order of the input methods \u0026 subtypes in the settings.\n\nIt should have been the same as how the IME switcher panel does.\n\nbug: 3364167\nChange-Id: I48b98c9c4598720edf7cf09d1b9358a9ebed6051\n"
    },
    {
      "commit": "f8b8a3fa955b545843ca264428c620b67c2a5359",
      "tree": "1894879f81ad7b9cf85d0196a1a29fe91f347777",
      "parents": [
        "48f91e35c5188f3dc78c12b8e8638a248221691b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 04 00:05:31 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 04 00:08:04 2011 -0800"
      },
      "message": "Refector preferred activity code out of package manager.\n\nThis may be useful for others...  such as USB preferred devices, maybe?\n\nChange-Id: I204081e2c84ccff6982a500baaf3540a80839a4b\n"
    },
    {
      "commit": "48f91e35c5188f3dc78c12b8e8638a248221691b",
      "tree": "b4921f287b2d23044f7bd9b865d0cce06474497f",
      "parents": [
        "1e158e9ce78c25dc5de402f14654a8955de7fddc",
        "e3a7f628c6d9fef42be24999b3137ebe5c6f3525"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 03 22:23:07 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 03 22:23:07 2011 -0800"
      },
      "message": "Merge \"Fix Fragment.onInflate() to actually work correctly.\" into honeycomb-mr1"
    },
    {
      "commit": "e3a7f628c6d9fef42be24999b3137ebe5c6f3525",
      "tree": "48ea9dc2b28e2d27c4da5c104491b31d087d2192",
      "parents": [
        "6c8d76527c938eb49182a6fd0677ccbc1618e7a8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 03 21:48:24 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 03 22:17:16 2011 -0800"
      },
      "message": "Fix Fragment.onInflate() to actually work correctly.\n\nLike, um, it needs to be given the Activity since this is called before\nthe activity is attached.\n\nAnd it was called after the entire fragment and its *view* was created\nwhen being restored from saved state.\n\nAnd the documentation was whacked.\n\nAlso fix the IME selector to dismiss when you tap outside of it.\n\nChange-Id: Icbcafe7558965a570bdef9cda3441b1f0f7a317c\n"
    }
  ],
  "next": "1e158e9ce78c25dc5de402f14654a8955de7fddc"
}
