)]}'
{
  "log": [
    {
      "commit": "3d4bf17f49b82355b3b82d8bdaec4d65c4293bc9",
      "tree": "ba8ea535eb338edbd43fd22909008d009a0f6f46",
      "parents": [
        "5c8eff3308c79f25bfe07d00c214f665581e5d7e"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Mar 28 16:16:46 2011 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Mar 29 15:27:58 2011 -0700"
      },
      "message": "Add view/drawable states for drag-accepting / drag-hovered\n\nAdded new drag_can_accept and drag_hovered XML attributes and the View\nlogic to support them.  Drawable states are now refreshed automatically\nwhen a drag starts/ends and when a drag crosses the boundary of a\nparticipating view.\n\nChange-Id: I25f8ee02c83b3fa4f27201997d7eabf4be653fd8\n"
    },
    {
      "commit": "e3797a15fbf769a0abcbe121cfd33b4b658aea1e",
      "tree": "7697cb326fad773c18df482644eb16b2b3982aff",
      "parents": [
        "c50232d517d7b99ae3c3e073f04eb6799c876e8c"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue Mar 22 06:34:48 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Sat Mar 26 07:20:34 2011 +0900"
      },
      "message": "Removed APIs for setCorrectionSpan from InputConnection\n\n(\"setCorrectionSpan\" was added in Id3abc9ea4d11753cd )\n\nAlso..\n- Added a class java doc for CorrectionSpan\n- Removed FLAG_DEFAULT\n- Changed the return type of getSuggestions from Array\u003cCharSequence\u003e to String[]\n\nChange-Id: If5eb091e307a7a40c5b4a70ec1fe6059ecd9fb2d\n"
    },
    {
      "commit": "c50232d517d7b99ae3c3e073f04eb6799c876e8c",
      "tree": "d5fc5f5c5afb71e6f0c5b5e7eaa4af6f91827602",
      "parents": [
        "8da36372a390c76cbd3985b93eea881ad6a43040"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Mar 25 13:52:48 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Sat Mar 26 06:12:58 2011 +0900"
      },
      "message": "Add hashCode to InputMethodInfo\n\nThe uniqueness of InputMethodInfo was guaranteed by mId (like InputMethodInfo#equals), but the hashCode was not implemented in the same way.\nThis change fixes a problem happening when the user gets the hashCode of InputMethodInfo obtained through IPC.\n\nChange-Id: Ib876c5cb0d778481100597ec31202f94fb7b8f37\n"
    },
    {
      "commit": "dff626c56ac42bdcc7af5a300eefccd3fee3d166",
      "tree": "a7fe9a7d982cc8a2796b133a3eb748a6ac86e2c7",
      "parents": [
        "ad575f4dda3391baf9fcab927e65afbee32e7b95",
        "c33d8d49e44358d72f19e7f7730c03d3902fa1f2"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Mar 24 16:42:08 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 24 16:42:08 2011 -0700"
      },
      "message": "Merge \"Added a hovered state for drawables.\""
    },
    {
      "commit": "c33d8d49e44358d72f19e7f7730c03d3902fa1f2",
      "tree": "d92a09152ee99115297b176eb4ebade7d9890269",
      "parents": [
        "a032cc008618b83ecbbede537517d1e7998e3264"
      ],
      "author": {
        "name": "PY Laligand",
        "email": "pylaligand@google.com",
        "time": "Mon Mar 14 18:22:53 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Mar 24 16:14:08 2011 -0700"
      },
      "message": "Added a hovered state for drawables.\n\nChange-Id: I2b12c8593e04e37c8eb748946ca6d4d7a61de36a\n"
    },
    {
      "commit": "b7c25ce3aef3c6e930fc3f31436f52aed8ebed14",
      "tree": "6889c2804c91f71278901d149a344870cca6826e",
      "parents": [
        "a5d42c857818036375fff2da9f0d0ab34219d773",
        "a032cc008618b83ecbbede537517d1e7998e3264"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Mar 24 15:38:04 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 24 15:38:04 2011 -0700"
      },
      "message": "Merge \"Add MotionEvent.HOVER_ENTER and HOVER_EXIT.\""
    },
    {
      "commit": "a032cc008618b83ecbbede537517d1e7998e3264",
      "tree": "735a1f6f5fd7dc5607a0edb18a85abc831e5b7de",
      "parents": [
        "e9f66af90a886cc55fc20c14375d8572bdf6dbd3"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Mar 07 16:56:21 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Mar 24 15:37:04 2011 -0700"
      },
      "message": "Add MotionEvent.HOVER_ENTER and HOVER_EXIT.\n\nThe input dispatcher sends a HOVER_ENTER to a window before dispatching\nit any HOVER_MOVE events.  For compatibility reasons, the window will\n*also* receive the HOVER_MOVE.  When the pointer moves into a different\nwindow or the pointer goes down or when events are canceled for some reason,\nthe input dispatcher sends a HOVER_EXIT to the previously hovered window.\n\nThe view hierarchy behavior is similar.  All views under the pointer\nreceive onHoverEvent with HOVER_ENTER followed by any number of HOVER_MOVE\nevents.  When the pointer leaves a view, the view receives HOVER_EXIT.\nSimilarly, if a parent view decides to capture hover by returning true\nfrom onHoverEvent, the hovered descendants will receive HOVER_EXIT.\n\nThe default behavior of onHoverEvent is to update the view\u0027s hovered\nstate by calling setHovered(true/false).  Views can query their current\nhovered state using isHovered().\n\nFor testing purposes, the hovered state is mapped to the pressed\ndrawable state.  This will change in a subsequent commit with the\nintroduction of a new hovered drawable state.\n\nChange-Id: Ib76a7a90236c8f2c7336e55773acade6346cacbe\n"
    },
    {
      "commit": "a5d42c857818036375fff2da9f0d0ab34219d773",
      "tree": "2b97eb7d5e41a042856dad44f82fce171d2b106d",
      "parents": [
        "26f9c2ebcdca059f2d9981055883e04f2febd691",
        "e309a0fd2e528039b3c1f1372a9a7095bcd852cc"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Mar 24 15:36:56 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 24 15:36:56 2011 -0700"
      },
      "message": "Merge \"NEW_API: Add getTimestamp() to SurfaceTexture.\""
    },
    {
      "commit": "bc377841db05bd5197ffadb58ba52c54b2a85f16",
      "tree": "40f978cf218091cd2d7cdddffcef64f2086277ec",
      "parents": [
        "15cb32ed9d189526d5a98add386b28cea6bc46b7"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Tue Mar 22 11:35:22 2011 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Wed Mar 23 09:35:00 2011 -0700"
      },
      "message": "Add custom fragment anims to be run when popping backstack\n\nThe previous fragment implementation allowed for animations\nduring fragment transitions, but did not account for the\ndifferent behavior of fragments when popping the back stack.\nIn general, you probably don\u0027t want to run the same animation\nfor putting a fragment on the stack as for popping it off, which\nis what happens now. For example, you might fade a fragment out when\nputting it on the stack. But when popping ot off, fading it out\nis probably not the behavior you want.\n\nThe new API (setCustomAnimations() overload with two additional\nparameters) allows developers to specify animations to be run\nin the popping operation. Otherwise, the animations are null and\nthe operation will not be animated.\n\nChange-Id: I2e132b3890838358e496149f18a25037a59990aa\n"
    },
    {
      "commit": "462db220a2986f7d9fc3d7e3e6af6615570eaa0b",
      "tree": "88f7788c50bff315dd55172bfb52ccf0f6d83057",
      "parents": [
        "94d76925c285b8788bdc31ca5a667a32c245ca78"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Mar 22 18:44:26 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Mar 22 19:12:13 2011 -0700"
      },
      "message": "fix [4056232] Deprecate Sensor.TYPE_TEMPERATURE and add Sensor.TYPE_AMBIENT_TEMPERATURE\n\nBug: 4056232\nChange-Id: Idf165460fc083f856c320f0f6f8841d73661c829\n"
    },
    {
      "commit": "1969b8799085322f9ef6e75b78c2c9a5d5944801",
      "tree": "20168ca86dcf2e380fd7f87add838422dae8d76b",
      "parents": [
        "37f421c5947b15dd37b8cba6abb84074a2f26747"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Mar 22 11:52:48 2011 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Mar 22 14:11:06 2011 -0700"
      },
      "message": "Fix bug 4142917 - Add support for specifying a custom home icon in action bar\n\nAdd ActionBar methods for setting icon and logo.\n\nChange-Id: I6151689138c734b7212c3469b8ba8f28f0fd5ec4\n"
    },
    {
      "commit": "e309a0fd2e528039b3c1f1372a9a7095bcd852cc",
      "tree": "695e1fd00b7471195c7e04ab81688956872ef823",
      "parents": [
        "affb58e727863fdc8d2c0ea444054b581eb41be5"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Mar 21 11:04:34 2011 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Mar 21 15:38:36 2011 -0700"
      },
      "message": "NEW_API: Add getTimestamp() to SurfaceTexture.\n\nLike getTransformMatrix, getTimestamp provides a timestamp for the\nOpenGL texture produced by the latest call to updateTexImage().\n\nTimestamps are measured in nanoseconds, and are monotonically\nincreasing.  Other properties of the timestamps (zero point,\ncomparability) depend on the source providing frames to the\nSurfaceTexture, and need to be documented by the source.\n\nbug:3300707\n\nChange-Id: I380d94926d0e9f1c77bb5c1576b72d5ef4e2eba1\n"
    },
    {
      "commit": "5b7ced6a4ebcec34a36d0779773bc9e671732dbf",
      "tree": "0489d59487f225e900896f1f5fd152dc2c498666",
      "parents": [
        "affb58e727863fdc8d2c0ea444054b581eb41be5"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Mar 21 10:25:44 2011 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Mar 21 11:13:59 2011 -0700"
      },
      "message": "Support passing headers to MediaMetadataRetriever\u0027s setDataSource API\n\nChange-Id: Ib1a5c08fc5034cac05034db27007a35c9b660b26\nrelated-to-bug: 3506316\n"
    },
    {
      "commit": "affb58e727863fdc8d2c0ea444054b581eb41be5",
      "tree": "1f1a9194ffc8ba610b81bab6a7e046921619a583",
      "parents": [
        "4bb07bbd89624f30ea83b4596a6ce7716305df6c"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Mon Mar 21 10:27:18 2011 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Mon Mar 21 10:27:18 2011 -0400"
      },
      "message": "Fix build.\n\nSee Change Ie70ac630\n\nChange-Id: Ifffd53dbe17be64e6234bc6371f44b84c3e123e4\n"
    },
    {
      "commit": "e72f237defd9956a7e2d2e2bee8cd2558c3f83db",
      "tree": "690c037d7a742c07f6c83716e32712cdccbf6bae",
      "parents": [
        "b18a047de574f188b2c7633164f15ab3c9e40b5b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 16 10:43:18 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 18 12:54:26 2011 -0700"
      },
      "message": "More work on making prefs work well on small screens.\n\nTweak padding so layouts now look decent, a few extensions so that\nthe correct title can be shown.\n\nChange-Id: Ieace16bf4962d66564c6e2f67fb588e582943850\n"
    },
    {
      "commit": "315f19be8ef26fee77db2455f8c2997680755f6d",
      "tree": "ea710b662d08d5a3566d501d77a62135419f3d4c",
      "parents": [
        "955652596e07d290d008d2edb384b6ac301d16e0",
        "daa71254f3e3261ecc0e143955c89ced70bbf008"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 17 19:07:17 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Mar 17 19:07:17 2011 -0700"
      },
      "message": "am daa71254: am efb56934: am 1d50ad79: Merge \"Whoops, forgot the HONEYCOMB_MR1 constant. :(\" into honeycomb-mr1\n\n* commit \u0027daa71254f3e3261ecc0e143955c89ced70bbf008\u0027:\n  Whoops, forgot the HONEYCOMB_MR1 constant. :(\n"
    },
    {
      "commit": "edf1fc6ce642c8d0f675795635d223b26d9f825c",
      "tree": "6c6fe44bace79b645e4fd663e8a682f91a014f16",
      "parents": [
        "5dbd0978cd7f2d3ff1e28bbfdef2f757de28e1bc"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 17 18:34:48 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 17 18:34:48 2011 -0700"
      },
      "message": "Whoops, forgot the HONEYCOMB_MR1 constant. :(\n\nIt shouldn\u0027t be a problem to put this in -- it is a static final\nso it doesn\u0027t actually need to be in the on-device system image.\n\nThis is important for the SDK.\n\nChange-Id: Iaa086247d0d65fe708c40fbab506aa60cd3e1396\n"
    },
    {
      "commit": "454b2d1c34238ba33d8f6861971a74c80c3e302a",
      "tree": "ff078839aaf33111641bad0c51337a27e2d15849",
      "parents": [
        "08aa2cbd5e62e7ca140f78f8bea0477a19880fd9",
        "2c3257b21ddf2a3da843f11d1bb3b4fa8e912707"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Mar 17 12:38:40 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Mar 17 12:38:40 2011 -0700"
      },
      "message": "am 2c3257b2: am 9940c8b6: am def35f7a: Merge \"Fix for 4089881. - Add one more parameter in the interface of DrmEvent and its subclasses   DrmInfoEvent and DrmErrorEvent - Send back DrmInfo in the response of async processDrmInfo calls\" into honeycomb-mr1\n\n* commit \u00272c3257b21ddf2a3da843f11d1bb3b4fa8e912707\u0027:\n  Fix for 4089881. - Add one more parameter in the interface of DrmEvent and its subclasses   DrmInfoEvent and DrmErrorEvent - Send back DrmInfo in the response of async processDrmInfo calls\n"
    },
    {
      "commit": "def35f7a47cde8bf66d4cba4570b289e0e9d625a",
      "tree": "4101430bfb7257571ab92ec9a33fe00a37e7a1cc",
      "parents": [
        "87f50f19eef2e70fcf7294c3b9cd5ca0344b99ee",
        "f8bf3c46f524b1252bf466a351daaef61afdcecb"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Mar 17 10:49:43 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 17 10:49:43 2011 -0700"
      },
      "message": "Merge \"Fix for 4089881. - Add one more parameter in the interface of DrmEvent and its subclasses   DrmInfoEvent and DrmErrorEvent - Send back DrmInfo in the response of async processDrmInfo calls\" into honeycomb-mr1"
    },
    {
      "commit": "f8bf3c46f524b1252bf466a351daaef61afdcecb",
      "tree": "40f222d60751b8278291b5890d7fc3f2fb6a75eb",
      "parents": [
        "3913c131c61288c5b4eedb063d9eb6b6204d2a1f"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Mar 16 10:44:03 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Mar 16 21:36:30 2011 -0700"
      },
      "message": "Fix for 4089881.\n- Add one more parameter in the interface of DrmEvent and its subclasses\n  DrmInfoEvent and DrmErrorEvent\n- Send back DrmInfo in the response of async processDrmInfo calls\n\nChange-Id: Ia9b1a641296629a19ae4ffa7913e6c878fd340f8\n"
    },
    {
      "commit": "0677d2526d7b0a00114fb6ba00add1ccaaa2da86",
      "tree": "33e0320921436bb671eedc6a26189b50339b7f8a",
      "parents": [
        "5949f89f3c944ca5992cbe09b5cf3abbacbaa8b6",
        "d799caa9a6623de4af581bebc9759272c10b6588"
      ],
      "author": {
        "name": "Michael Kolb",
        "email": "kolby@google.com",
        "time": "Wed Mar 16 12:35:42 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 16 12:35:42 2011 -0700"
      },
      "message": "am d799caa9: am 9a0df3c5: am 95fd065e: Merge \"deprecate getVisibleTitleHeight\" into honeycomb-mr1\n\n* commit \u0027d799caa9a6623de4af581bebc9759272c10b6588\u0027:\n  deprecate getVisibleTitleHeight\n"
    },
    {
      "commit": "5949f89f3c944ca5992cbe09b5cf3abbacbaa8b6",
      "tree": "286779d34f33ea191f596a5cbec3859001a6c96c",
      "parents": [
        "a0933013d04ccc1a08e95b1210e5b30f3daadcf3",
        "9812aed2765c671e6c3f5255ac1b8a2fe0e72ef6"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Mar 16 11:46:00 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 16 11:46:00 2011 -0700"
      },
      "message": "Merge \"Add 3D mode key and others.\""
    },
    {
      "commit": "9812aed2765c671e6c3f5255ac1b8a2fe0e72ef6",
      "tree": "a622b446f9ef3484d51245a7817777a5487a496e",
      "parents": [
        "843e29d3751017267b96565c543df0301c31a9f7"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Mar 07 17:09:51 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Mar 16 11:31:42 2011 -0700"
      },
      "message": "Add 3D mode key and others.\n\nRelated to an AOSP change request.\n\nChange-Id: I3f4f84b56a1af626a8783f5ecbb823eb12ba9fbe\n"
    },
    {
      "commit": "e54f66524e8beaa681015c6ac20036a5fbf0aa92",
      "tree": "0467376a91cd09f7d4a3711dae452a30661d16e5",
      "parents": [
        "ff51d29a0bbf7006833ad67b1aa8a52a8a9a2514"
      ],
      "author": {
        "name": "Michael Kolb",
        "email": "kolby@google.com",
        "time": "Wed Mar 16 09:11:51 2011 -0700"
      },
      "committer": {
        "name": "Michael Kolb",
        "email": "kolby@google.com",
        "time": "Wed Mar 16 09:25:23 2011 -0700"
      },
      "message": "deprecate getVisibleTitleHeight\n\n\t  Bug: 4104535\n\nChange-Id: I8a6ef21d38a25848efa28e2c06cf2da0ff7af9c4\n"
    },
    {
      "commit": "35267f178c10878034364b8c774580401621cb78",
      "tree": "7156e0c3dc81a1f1897415f70411aa76e2025bde",
      "parents": [
        "d71792e17dbaef42200bb8e762cadf632bb2969e",
        "adb435835fb9a5f2bb74d29930b239dde18504a7"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue Mar 15 23:13:56 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 15 23:13:56 2011 -0700"
      },
      "message": "Merge \"Add CorrectionSpan and APIs to pass a secure CorrectionSpan to TextView\""
    },
    {
      "commit": "adb435835fb9a5f2bb74d29930b239dde18504a7",
      "tree": "7dfcbef60811268cfde7606bd721ddd75c0b6912",
      "parents": [
        "fd865d0fb5f5b38a41a9196ee54357715bd32254"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Mar 09 10:08:47 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Mar 16 14:44:37 2011 +0900"
      },
      "message": "Add CorrectionSpan and APIs to pass a secure CorrectionSpan to TextView\n\n- CorrectionSpan is a span which has suggestions made by IME.\nThis has a function to change the current IME to other IME specified\nin this span. For security reasons, only the current IME\nis allowed to use this function through InputConnection.\n(IME token is used for checking the validity of it.).\n\n- CorrectionSpan stores following information:\n\nflags, subtype Id, InputMethodInfo Id, suggests, locale, original string\n\nChange-Id: Id3abc9ea4d11753cdc4f483a2bb3128f49ba198a\n"
    },
    {
      "commit": "b1a6e439f63e4fa2b07a4905f00b6badf58e6420",
      "tree": "72b22bb719e02a85ae6457c06894f1a36239f234",
      "parents": [
        "e196481d59982664247bc18d5743727965362dfa"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 15 16:23:01 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 15 16:23:01 2011 -0700"
      },
      "message": "Add new PreferenceActivity API for settings.\n\nNeed to redirect to a different activity when on non-xlarge screens.\n\nChange-Id: I8cf4793b117325604d29ecc4478dbf10322a4689\n"
    },
    {
      "commit": "688d8412bd027f33c0c56267d26b96ef10599702",
      "tree": "298a293be304161778e07dd86407ae09ec765491",
      "parents": [
        "6c256d125e465d651cf7f44323113bd8e93f90d5",
        "0958fb1068ee1b5e6c40eee16d943a664b1124b4"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Mar 14 17:47:49 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 14 17:47:49 2011 -0700"
      },
      "message": "am 0958fb10: am 221830b9: Merge \"Add support for USB accessory serial numbers\" into honeycomb-mr1\n\n* commit \u00270958fb1068ee1b5e6c40eee16d943a664b1124b4\u0027:\n  Add support for USB accessory serial numbers\n"
    },
    {
      "commit": "5c4421f73fe9ce7d9587add4dfa6fdac3b19ca4e",
      "tree": "2b4b1c2db6412974c7c9c1f588cbfdc937bf93d6",
      "parents": [
        "5579bb75965eb72682cc4c12d26018e8c67b8133",
        "67718e076422f8f28f4e30a39df9e462ef32d19b"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Mar 14 17:41:42 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 14 17:41:42 2011 -0700"
      },
      "message": "am 67718e07: am 132bb659: Merge \"For issue 4082089 Add more info and error events into the DRM framework\" into honeycomb-mr1\n\n* commit \u002767718e076422f8f28f4e30a39df9e462ef32d19b\u0027:\n  For issue 4082089 Add more info and error events into the DRM framework\n"
    },
    {
      "commit": "221830b93d6f35bcf20db2d34978392b43f44221",
      "tree": "d6820eb7f53c45190f6603e9f95b9dd2d0981157",
      "parents": [
        "3fabad87f6cade6ccf7dc6d716e8b91675982088",
        "015b1ecaec27b7cf5f1a78099d9ae34a0c3169f2"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Mar 14 17:39:43 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 14 17:39:43 2011 -0700"
      },
      "message": "Merge \"Add support for USB accessory serial numbers\" into honeycomb-mr1"
    },
    {
      "commit": "015b1ecaec27b7cf5f1a78099d9ae34a0c3169f2",
      "tree": "3b7a7bca14b9579c6fe647696d4623ad8acb8c71",
      "parents": [
        "9f3f36c95b87aab2c5f7cd6b6e18927f8ebfa9c4"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Mar 14 18:24:35 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Mar 14 20:10:47 2011 -0400"
      },
      "message": "Add support for USB accessory serial numbers\n\nChange-Id: I47b79f091b300ced60bfc61eff2f771139663aae\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "27b277779c89251f2aafcc7a56db95d264900c9d",
      "tree": "9bec6bf81a5b201b570c8d1a3255c50905679d47",
      "parents": [
        "3ec9d06f070db3a8899ad235736abd0ffaf6f578"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Mar 14 12:04:15 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Mar 14 15:29:08 2011 -0700"
      },
      "message": "For issue 4082089\nAdd more info and error events into the DRM framework\n\nChange-Id: I0bb3251c5947fc8e977d478e1ba46b242cb97e9d\n"
    },
    {
      "commit": "df3576275896253ab2f016442beda3020c925fd9",
      "tree": "86755e12ae6592714f275b7f2b31abf357b09fd7",
      "parents": [
        "e1976e5c61cdbd22db291ba1698079469bc21955",
        "ce3bcbade5ca3eac5bae2e06fa37d17f00006a15"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 11 23:10:55 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Mar 11 23:10:55 2011 -0800"
      },
      "message": "am ce3bcbad: am 9ff64838: Merge \"Fix issues #4087362 and #4087356\" into honeycomb-mr1\n\n* commit \u0027ce3bcbade5ca3eac5bae2e06fa37d17f00006a15\u0027:\n  Fix issues #4087362 and #4087356\n"
    },
    {
      "commit": "e1976e5c61cdbd22db291ba1698079469bc21955",
      "tree": "6a63f718626c92963670674a459dee63d91520d7",
      "parents": [
        "718e64b17f72874996425b7ba9a187d473bc58f7",
        "3b473d958c46ea6511b9599f727b47636e5cbc4a"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Mar 11 23:10:41 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Mar 11 23:10:41 2011 -0800"
      },
      "message": "am 3b473d95: am 9fffd9a8: Merge \"USB: minor cleanup work\" into honeycomb-mr1\n\n* commit \u00273b473d958c46ea6511b9599f727b47636e5cbc4a\u0027:\n  USB: minor cleanup work\n"
    },
    {
      "commit": "9ff6483843bfa23751b1acf32b169fca9ad97f7f",
      "tree": "cfb9d5fc5d2903031167476fb7917329c0db30a2",
      "parents": [
        "9fffd9a8bb73e9b225878686862d49b27e98c659",
        "cf407ad88bef3bc640489b300f23eaa8ea0b724e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 11 18:01:47 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 11 18:01:47 2011 -0800"
      },
      "message": "Merge \"Fix issues #4087362 and #4087356\" into honeycomb-mr1"
    },
    {
      "commit": "62cfeeb821afb2f3d3b78ad93caa13408cd26eac",
      "tree": "e96a73bc962ae854f737f35d355ac0cbea6c3c50",
      "parents": [
        "14c875eac750ca096de439225b1a028b1facc58e"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Mar 11 18:39:03 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Mar 11 18:51:29 2011 -0500"
      },
      "message": "USB: minor cleanup work\n\nBug: 4067029\n\nChange-Id: Icd8f912ab8732b5f770a217b9b3731092597ce02\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "cf407ad88bef3bc640489b300f23eaa8ea0b724e",
      "tree": "e4690beb12fc2a68a7466a08a0a302fa41b2fdb3",
      "parents": [
        "0eb7b697b7c180660647b5cd0cd7dd067f6b6abb"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 11 13:17:57 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 11 13:48:32 2011 -0800"
      },
      "message": "Fix issues #4087362 and #4087356\n\n4087362: Provide a safer way to call DialogFragment.dismiss()\n4087356: PreferenceActivity.invalidateHeaders() can cause\nIllegalStateException: Can not perform this action after onSaveInstanceState\n\nThese are very safe; the first is just a new public API that\nallows you to use an existing feature in DialogFragment, and the\nsecond just uses the version of commit that avoids the failure if\nhappening at a point where the operation would be lost if restored\nfrom the last state (which is no big deal for preferences).\n\nChange-Id: I53971c9fb1efdcd599694cdcd4585b81afc156b8\n"
    },
    {
      "commit": "b46ecb352617b4c2f2d5f716aa6af6f518d1f579",
      "tree": "465648cbc006a0c0c6b78345ab8427e572dfcd94",
      "parents": [
        "08758fad846ed01045246bb0b87e038fc5d90793",
        "75c95e9a6d5a91b660af62f72b5a3bac0f5c3811"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Mar 11 11:53:13 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Mar 11 11:53:13 2011 -0800"
      },
      "message": "am 75c95e9a: am 0eb7b697: Merge changes Ib63ab95a,I585b0610,Ia84da0b5 into honeycomb-mr1\n\n* commit \u002775c95e9a6d5a91b660af62f72b5a3bac0f5c3811\u0027:\n  UsbManager: Hide APIs not needed for USB host or accessory support.\n  Remove MtpClient class from framework and public API\n  UsbDevice: Move IO related methods to new UsbDeviceConnection class\n"
    },
    {
      "commit": "a75075e1671f57217d8b8bb75b2d9c3a6bab37d8",
      "tree": "72d381b474edda72795dd9c01a02b6097eaddb2b",
      "parents": [
        "c72eb9113a2f3f7886afcecf5c29507e0a3a8266"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Mar 11 11:26:11 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Mar 11 11:26:38 2011 -0500"
      },
      "message": "UsbManager: Hide APIs not needed for USB host or accessory support.\n\nBug: 4067029\n\nChange-Id: Ib63ab95a6571d6a691834bfb583a68d2e4cfd22e\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "acc29cc91be634070c92a807df412ced97b9b375",
      "tree": "0d4f25642cd68ac9d15966129d04ea127665d00d",
      "parents": [
        "364903bac6b9bfde694f1c0c5c40b6a2af628408"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Mar 11 08:18:08 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Mar 11 10:24:21 2011 -0500"
      },
      "message": "UsbDevice: Move IO related methods to new UsbDeviceConnection class\n\nUsbDevice is now just an immutable parcelable object like UsbInterface and\nUsbEndpoint.\nAll IO related functionality is now contained in UsbDeviceConnection\nand UsbRequest.\n\nBug: 4067029\n\nChange-Id: Ia84da0b512a697acc940eee0c3566711c62e1a68\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "180bb1bf26f3061fdfd58106e62d5874f57f675b",
      "tree": "45b85967bf9c3ec1a4316d938bda6771d3d3c224",
      "parents": [
        "5da447610b804273e33ab1896f900567188e5811"
      ],
      "author": {
        "name": "Gilles Debunne",
        "email": "debunne@google.com",
        "time": "Thu Mar 10 11:14:00 2011 -0800"
      },
      "committer": {
        "name": "Gilles Debunne",
        "email": "debunne@google.com",
        "time": "Thu Mar 10 16:55:28 2011 -0800"
      },
      "message": "Refactor in TextView\u0027s HandleViews.\n\nHandleView had a reference on its Controller, and Controller had\na reference to its HandleView.\n\nThis large refactoring breaks this dependency, creating smarter\nHandleView subclasses that don\u0027t have to delegate to the controller\nanymore.\n\nChange-Id: I472621f747cdc78fd8b2bba84c0edc62cb2f6316\n"
    },
    {
      "commit": "26d7eef69ef064ca716ed76220ca2984995882ed",
      "tree": "53527cff471cd4c9cd0c94a0d0862415e75b4a8e",
      "parents": [
        "a3ae42ef0a94ce3cfc65a7e11d2e88dd11ea4c35",
        "84edf14b62eaf3304252bb76b0b2ca3f518c8d54"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Mar 10 07:56:59 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Mar 10 07:56:59 2011 -0800"
      },
      "message": "am 84edf14b: am cc08c439: Merge \"UsbAccessory: Add URI string, replace type string with description\" into honeycomb-mr1\n\n* commit \u002784edf14b62eaf3304252bb76b0b2ca3f518c8d54\u0027:\n  UsbAccessory: Add URI string, replace type string with description\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": "9b12dbdd1e3f4f2390f9baf59bc790ae53236e4f",
      "tree": "ac5d198eb395c7cf78effe38921c62c839aa4fc7",
      "parents": [
        "5a3d6cc188bd38a9475c801a13f7752b24fb1072",
        "4ffdca06ec5575ddaa215941c1cc21de96e76bcb"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Mar 09 19:37:49 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 09 19:37:49 2011 -0800"
      },
      "message": "am 4ffdca06: am 3de30a4c: Update API.\n\n* commit \u00274ffdca06ec5575ddaa215941c1cc21de96e76bcb\u0027:\n  Update API.\n"
    },
    {
      "commit": "3de30a4c1e48d92af14154abddd4fb6fe0c6aa13",
      "tree": "78f10c5c5f4f053305dca839be8783a04225783d",
      "parents": [
        "efd3266b719eed5f1b217021c0a9e76e4b274b06"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Mar 09 19:13:11 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Mar 09 19:13:11 2011 -0800"
      },
      "message": "Update API.\n\nNot sure the changes were correctly rebased last time.\n\nChange-Id: If6ab4014f312bef240df60f0b1cd6d923f472836\n"
    },
    {
      "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": "5a3d6cc188bd38a9475c801a13f7752b24fb1072",
      "tree": "1aa00bfc4cb118831d39d4dc2aaaabf6bd3bafaa",
      "parents": [
        "614ef8df70b417276de28e94d4c624cc1bb5a42e",
        "e6f0ae12b18819424dd8395b433a8fc9caefa77b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Mar 09 18:39:46 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 09 18:39:46 2011 -0800"
      },
      "message": "am e6f0ae12: am efd3266b: Input improvements and bug fixes.\n\n* commit \u0027e6f0ae12b18819424dd8395b433a8fc9caefa77b\u0027:\n  Input improvements and bug fixes.\n"
    },
    {
      "commit": "efd3266b719eed5f1b217021c0a9e76e4b274b06",
      "tree": "f76032f2a0bdfdc9910860063455116a9c792687",
      "parents": [
        "9e8e40cb5f8aeb0702002eee60d1ce394bf699ee"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Mar 08 15:13:06 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Mar 09 18:30:28 2011 -0800"
      },
      "message": "Input improvements and bug fixes.\n\nAssociate each motion axis with the source from which it comes.\nIt is possible for multiple sources of the same device to define\nthe same axis.  This fixes new API that was introduced in MR1.\n(Bug: 4066146)\n\nFixed a bug that might cause a segfault when using a trackball.\n\nOnly fade out the mouse pointer when touching the touch screen,\nignore other touch pads.\n\nChanged the plural \"sources\" to \"source\" in several places in\nthe InputReader where we intend to refer to a particular source\nrather than to a combination of sources.\n\nImproved the batching code to support batching events from different\nsources of the same device in parallel.  (Bug: 3391564)\n\nChange-Id: I0189e18e464338f126f7bf94370b928e1b1695f2\n"
    },
    {
      "commit": "888f0654fd2ecbe76be12e2a57b41191e78bb87e",
      "tree": "5fac96aba39e7df72974067aab8f091306e2ef59",
      "parents": [
        "6a5ecc090020d84f91374b54f2e8cb1ca152c4bd",
        "5d534f288d0c29337458e267fd207236bc23fec5"
      ],
      "author": {
        "name": "Patrick Scott",
        "email": "phanna@android.com",
        "time": "Wed Mar 09 05:10:34 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 09 05:10:34 2011 -0800"
      },
      "message": "am 5d534f28: am ea44c7c7: Merge \"Pass the auto login header information to the app.\" into honeycomb-mr1\n\n* commit \u00275d534f288d0c29337458e267fd207236bc23fec5\u0027:\n  Pass the auto login header information to the app.\n"
    },
    {
      "commit": "ea44c7c71431adbce348cf9ef3f22d9561bb7fc1",
      "tree": "dbc4c7984ed917a530623da954dc11c250462c97",
      "parents": [
        "9e697ee9fc9dcc21348d799e1e0bc83dd3abdb18",
        "85a50ff48b2331913cc87f483eafba9f231c8c8c"
      ],
      "author": {
        "name": "Patrick Scott",
        "email": "phanna@android.com",
        "time": "Wed Mar 09 05:05:21 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 09 05:05:21 2011 -0800"
      },
      "message": "Merge \"Pass the auto login header information to the app.\" into honeycomb-mr1"
    },
    {
      "commit": "77e1a4c57e1d5a75a09c514ef5b7d358a9150bbf",
      "tree": "6dbf2b0c803e0da60c0a0b07793e4b93e1dbcfa3",
      "parents": [
        "29c6c81584ee3b99e9bfacefcb53bb7233856f84",
        "093cf07f3c58a6553c415d750edba1a75b269f05"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 09 03:57:14 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 09 03:57:14 2011 -0800"
      },
      "message": "am 093cf07f: am 9e8e4ea0: Merge changes Ib517e5e4,I93be7695,I49bf22a4 into honeycomb-mr1\n\n* commit \u0027093cf07f3c58a6553c415d750edba1a75b269f05\u0027:\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": "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": "85a50ff48b2331913cc87f483eafba9f231c8c8c",
      "tree": "a75bba4c918282176649159c3aac039e3990582f",
      "parents": [
        "102930a0deaf8280a65321de0d6c120a638da9e2"
      ],
      "author": {
        "name": "Patrick Scott",
        "email": "phanna@android.com",
        "time": "Tue Jan 25 14:42:12 2011 -0500"
      },
      "committer": {
        "name": "Patrick Scott",
        "email": "phanna@android.com",
        "time": "Tue Mar 08 08:35:54 2011 -0500"
      },
      "message": "Pass the auto login header information to the app.\n\nAdd a new callback to handle auto login requests.\n\nBug: 3367381\nChange-Id: I2ee8038cdf8a4ff9d1d3de0c871a0c60f1769655\n"
    },
    {
      "commit": "102930a0deaf8280a65321de0d6c120a638da9e2",
      "tree": "24296ed0519714186a5b3c764a6073404243756e",
      "parents": [
        "bc8a8e8c926115cb7b3910d016e5cff12b0f7b0a",
        "dfed7c006a2f1c36c45043da7264c0a8a8f12bbf"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Mon Mar 07 23:23:36 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 07 23:23:36 2011 -0800"
      },
      "message": "Merge \"Remove deprecated and unused entryEvicted method.\" into honeycomb-mr1"
    },
    {
      "commit": "6b70f569ad0e531e588400bf022e71f28978af7b",
      "tree": "da4dc77a30c382880634d268d91081d306db00b7",
      "parents": [
        "81f4fdc1f41d10f436b0b50f83d700ec699399ff",
        "0588f16b5699f24f4524a3c308bf32feb3be29c9"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Mon Mar 07 15:44:35 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 07 15:44:35 2011 -0800"
      },
      "message": "am 0588f16b: am ab7c3245: Merge \"NEW_API: Unhide RTP APIs.\" into honeycomb-mr1\n\n* commit \u00270588f16b5699f24f4524a3c308bf32feb3be29c9\u0027:\n  NEW_API: Unhide RTP APIs.\n"
    },
    {
      "commit": "6defd2d47e81b206d76430266120294a40592b27",
      "tree": "08690e4360fe67b6cbb1c254bc8f060dad6a0a3b",
      "parents": [
        "6478e4f0b0a6d34251ca0125eb6067f038e344aa"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Thu Mar 03 08:58:05 2011 +0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Tue Mar 08 05:59:09 2011 +0800"
      },
      "message": "NEW_API: Unhide RTP APIs.\n\nThis change unhides RTP related classes including AudioCodec,\nAudioGroup, AudioStream, and RtpStream. This allows developers\nto control audio streams directly and also makes conference\ncalls possible with the combination of the public SIP APIs.\n\nChange-Id: Idfd4edf65a1cbf3245ec2786fbc03b06438b0fb3\n"
    },
    {
      "commit": "670e5ddfa639d31bfc09549626e0e91ab63a4333",
      "tree": "498ad073b042ad5dea36743832e7d68fab87699c",
      "parents": [
        "c3549dd49b3d06595cd6e10e6e9c51cfca187937",
        "f114e67edd85e874b54f0a7061addf4b43d35076"
      ],
      "author": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Mon Mar 07 12:55:38 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 07 12:55:38 2011 -0800"
      },
      "message": "am f114e67e: am 0f73fe1c: Merge \"bug:3513950 Rename \"completedDownload\" to \"addCompletedDownload\"\" into honeycomb-mr1\n\n* commit \u0027f114e67edd85e874b54f0a7061addf4b43d35076\u0027:\n  bug:3513950 Rename \"completedDownload\" to \"addCompletedDownload\"\n"
    },
    {
      "commit": "0f73fe1c847f260d52675ffc1ef54b6daf136772",
      "tree": "0875cc55d2d16c5513fe6bc37ab3d423e5be349d",
      "parents": [
        "19960989e2c5ad60e4d05ebb3b31bc25ecd751af",
        "372813031008dd335c9d7abbc1c8d284cbd1b1dd"
      ],
      "author": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Mon Mar 07 12:46:59 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 07 12:46:59 2011 -0800"
      },
      "message": "Merge \"bug:3513950 Rename \"completedDownload\" to \"addCompletedDownload\"\" into honeycomb-mr1"
    },
    {
      "commit": "372813031008dd335c9d7abbc1c8d284cbd1b1dd",
      "tree": "0cdd1b977a76d967ade110d2b92682b1a5de3376",
      "parents": [
        "ec1f1f4cfc6e253cee4320fe33a385d2218a9bb2"
      ],
      "author": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Mon Mar 07 11:25:01 2011 -0800"
      },
      "committer": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Mon Mar 07 11:51:14 2011 -0800"
      },
      "message": "bug:3513950 Rename \"completedDownload\" to \"addCompletedDownload\"\n\nChange-Id: I28b33a0268309d74fd2512b5bdb599f38ff3a96d\n"
    },
    {
      "commit": "f0210c36218c03dc30e444ef85690dc815097920",
      "tree": "87ec17e932fe4e94182e16314e25369478ffdd75",
      "parents": [
        "0aaa11ed5be45170fb2535a6ce021c92b18d8878",
        "8529745b27877d98a0c76692295a3fcac238b1e6"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Mar 07 11:47:58 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 07 11:47:58 2011 -0800"
      },
      "message": "Merge \"Joystick tweaks. (DO NOT MERGE)\" into honeycomb-mr1"
    },
    {
      "commit": "bfa40efc9b9105aaa3a2ea52b1d37de411d81e3b",
      "tree": "b5784f736a7dbd062d641dee8e3e5a7b3bd9e075",
      "parents": [
        "2697884b3915929808a6e965c00f612a8d94f4f8",
        "c4c38fc1ea06086ea3c7ba12f59ecfacd5fa716b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Mar 07 11:03:28 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 07 11:03:28 2011 -0800"
      },
      "message": "Merge \"Added more metadata published by the MediaMetaDataRetriever\""
    },
    {
      "commit": "dfed7c006a2f1c36c45043da7264c0a8a8f12bbf",
      "tree": "eed1643e0291d34fa41014930082053100caa99d",
      "parents": [
        "ef56004420cd9f1cb84f22e20d649ba8f1791dea"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Fri Feb 25 17:57:04 2011 -0800"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Mon Mar 07 09:07:07 2011 -0800"
      },
      "message": "Remove deprecated and unused entryEvicted method.\n\nChange-Id: I30ccf3d798a3ebfc88a1b340efaaacf524d56fae\nhttp://b/3461302\n"
    },
    {
      "commit": "27f4bd7a474c2b57be21b82b13b89473278f1272",
      "tree": "beb61d4b8f6a7d2702f4a5fb063e18378b68cd47",
      "parents": [
        "22b045177110a223f45c32c730372bc1edaf54c8",
        "c4e6209c5294da5cbca75eafd0ba5d4c3ed9a5b1"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Mon Mar 07 08:47:43 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 07 08:47:43 2011 -0800"
      },
      "message": "Merge \"Remove deprecated and unused entryEvicted method.\""
    },
    {
      "commit": "9f5f7af6ccaf14303c109bfd5b2605eac16c46c6",
      "tree": "f56345b5521f7e76d20a984f9470adc266a8293f",
      "parents": [
        "7d83f6020c31c21b84114b35e6303895d082e18d"
      ],
      "author": {
        "name": "Kristian Monsen",
        "email": "kristianm@google.com",
        "time": "Thu Feb 24 11:14:11 2011 +0000"
      },
      "committer": {
        "name": "Kristian Monsen",
        "email": "kristianm@google.com",
        "time": "Mon Mar 07 13:01:28 2011 +0000"
      },
      "message": "Deprecating webkit API\u0027s that might not be supported in the future do not merge\n\nChange-Id: I7ed9498a24aceee529397bbe1ed96a15f834b4eb\n"
    },
    {
      "commit": "8529745b27877d98a0c76692295a3fcac238b1e6",
      "tree": "0327e434025461d9ed376ef6982855fd7f1e5a35",
      "parents": [
        "54bb98698a3550250b332b2f4d756b1a5c7473f5"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Mar 04 13:07:49 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Mar 04 19:12:41 2011 -0800"
      },
      "message": "Joystick tweaks. (DO NOT MERGE)\n\nEnsure that the joystick can always reach -1.0, 0.0 and 1.0 positions\neven when noise filtering is applied.  (Bug: 3514510)\n\nAdd support for a few more standard axes.\n\nAdd additional mapping modes for axes.\nSome axes are inverted from standard interpretation\nor are actually intended to be split into two distict axes\nsuch as left/right trigger controls or accelerator/brake.\n\nAdd key layout file for a G25 racing wheel and XBox 360 controller\nto tweak behavior.  They work fine without them but the axis mappings\nare not ideal.\n\nChange-Id: I0fddd90309af4dc14d35f34fe99ed6e521c0b7c7\n"
    },
    {
      "commit": "3a22fa057091cd6614f58ebc57a7ce4fe29462bb",
      "tree": "974dcf7edb5668a7cffd7aa629c4ccc95ed5a99f",
      "parents": [
        "06b0e5899525330119f27f0f7d9898db6f73e0e2"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Mar 04 13:07:49 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Mar 04 18:53:32 2011 -0800"
      },
      "message": "Joystick tweaks.\n\nEnsure that the joystick can always reach -1.0, 0.0 and 1.0 positions\neven when noise filtering is applied.  (Bug: 3514510)\n\nAdd support for a few more standard axes.\n\nAdd additional mapping modes for axes.\nSome axes are inverted from standard interpretation\nor are actually intended to be split into two distict axes\nsuch as left/right trigger controls or accelerator/brake.\n\nAdd key layout file for a G25 racing wheel and XBox 360 controller\nto tweak behavior.  They work fine without them but the axis mappings\nare not ideal.\n\nChange-Id: Id4c86a0a272331c680039a9bde6815bb7eba44ab\n"
    },
    {
      "commit": "78e7684713ddac5e8e3cf69b702cbcb4e473aacd",
      "tree": "8f41ad3154274cf5974040d2a2a19f2d0e2a8fc0",
      "parents": [
        "42424da28b7e2c61d48b13f0daaf2f5b94788c93",
        "b0b225602cc84e0602450a417a562e8f53f29c6b"
      ],
      "author": {
        "name": "Gilles Debunne",
        "email": "debunne@google.com",
        "time": "Fri Mar 04 11:36:17 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 04 11:36:17 2011 -0800"
      },
      "message": "Merge \"getTextRunCursor gets deprecated in SpannableStringBuilder\" into honeycomb-mr1"
    },
    {
      "commit": "b0b225602cc84e0602450a417a562e8f53f29c6b",
      "tree": "6219af43c4f88418ccef686e04b78325b0871970",
      "parents": [
        "6c8d76527c938eb49182a6fd0677ccbc1618e7a8"
      ],
      "author": {
        "name": "Gilles Debunne",
        "email": "debunne@google.com",
        "time": "Thu Mar 03 14:51:39 2011 -0800"
      },
      "committer": {
        "name": "Gilles Debunne",
        "email": "debunne@google.com",
        "time": "Fri Mar 04 11:19:40 2011 -0800"
      },
      "message": "getTextRunCursor gets deprecated in SpannableStringBuilder\n\nChange-Id: I2d408ebff90add7afc242bb01df9ab96c6fc7fa7\n"
    },
    {
      "commit": "c4c38fc1ea06086ea3c7ba12f59ecfacd5fa716b",
      "tree": "6fb5765d2f6998ae4098d262561dfca7b6f15871",
      "parents": [
        "fdcdd418e9f1b93c38cabca4f3203ba92032d515"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Mar 04 10:24:54 2011 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Mar 04 10:32:36 2011 -0800"
      },
      "message": "Added more metadata published by the MediaMetaDataRetriever\n\n- presence of audio/video content\n- video dimensions\n- avg. bitrate\n\nChange-Id: Ie6d478a3c2d0bb6bebaea99ac0a20a4c17808934\nrelated-to-bug: 3506316\n"
    },
    {
      "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"
    },
    {
      "commit": "9225b00a3dc45bdbcfb6adafa4dbbc0cbe9be864",
      "tree": "8c2ec6a6018cdcf6a420bbd3b4694af391a7a2fb",
      "parents": [
        "a454767b09ecb7d25d00beae0e5a1fdd48605c63"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Mar 02 22:50:07 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Mar 02 22:50:35 2011 -0800"
      },
      "message": "Add new ViewConfiguration accessors for key repeat parameters.\n\nChange-Id: I18ea2c510dc85c8f9b68727657ba74298342dd43\n"
    },
    {
      "commit": "acc3944dd16074491885bf0252c456e0ac190168",
      "tree": "ea721481b0a7072f3062780b0eb5fdeaa05b8b90",
      "parents": [
        "5a39c95c004d856b47a844c962b1c2b18f4e96aa",
        "f1ae10640fe152b56465e7e7184731226f95b0dd"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Mar 02 18:18:06 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 02 18:18:06 2011 -0800"
      },
      "message": "Merge \"Add an API to force Views to render their layer.\""
    },
    {
      "commit": "f1ae10640fe152b56465e7e7184731226f95b0dd",
      "tree": "5b4ed6e28009e6e51d8247e1f4de00bee70b8799",
      "parents": [
        "84962f2fe6ce779c583cc54b11a9de2b6a568117"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Mar 02 18:16:04 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Mar 02 18:16:04 2011 -0800"
      },
      "message": "Add an API to force Views to render their layer.\n\nChange-Id: Id5776f3b0880fdf75835f16560a1d03a3175d139\n"
    },
    {
      "commit": "de75cb4738376c4cfe15c56aba7cd78d90e3100e",
      "tree": "17c9f8e9475a88825c2e396a49f424ede8387a11",
      "parents": [
        "0528bc77948e49bd75cfd4082fb8fef3a7238626"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 02 17:11:21 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 02 17:15:58 2011 -0800"
      },
      "message": "Fix issue #3400119: API to specify a black background behind a window transition\n\nThere is now an API, which is used for task switching.\n\nAlso improved how we handle rotation animation when we can\u0027t take a\nscreen shot, to cleanly revert to the old freeze behavior.  This removes\nthe need to special case the emulator.\n\nChange-Id: I7227432a2309370437ec6ac78db02c6f1e7eedd5\n"
    },
    {
      "commit": "c4308f01c965571dc2354107c3574df113e397ee",
      "tree": "fa0c8c934147ab99f2ff6aec87edfb7266ba7890",
      "parents": [
        "43cdf9b4191e18b5a4d646d23b06438c0e10b8dd"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 01 08:04:54 2011 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 01 08:07:20 2011 -0800"
      },
      "message": "Move USB framework support from android.hardware to android.hardware.usb package\n\nChange-Id: I00fd4f0caaa4aebe48f71c576bb211b5f38bf88d\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "a6cbf50c766c461e06aadac1b1954efbdfec564b",
      "tree": "354cf909e80a065bfbde227e609be9d60fbe9441",
      "parents": [
        "f37fccd9d867af5c1ea1770dea64e600fda04500",
        "c9119f5034d36f548bbddd8f60291e24ab4e270b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Feb 28 18:36:48 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 28 18:36:48 2011 -0800"
      },
      "message": "Merge \"Add ParcelFileDescriptor APIs to get raw fd.\""
    },
    {
      "commit": "c9119f5034d36f548bbddd8f60291e24ab4e270b",
      "tree": "040920e1f2474bcc7c8aa460377c976baa684488",
      "parents": [
        "6c2193a7e26c0794f45dfb60d2a0cf6ae776f390"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Feb 28 18:03:26 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Feb 28 18:03:26 2011 -0800"
      },
      "message": "Add ParcelFileDescriptor APIs to get raw fd.\n\nChange-Id: I66ba72ffffd27237e60c9411453eef950ae62705\n"
    },
    {
      "commit": "c93f67c2b746a6247744c8b50e8a1d5a566694c9",
      "tree": "9e31e6622b18de46611817d447b7311b974aed0f",
      "parents": [
        "fae640b174f0a720690bab31a31dfd2693c67c63",
        "f4ca247158ffb83139d675ac0e1d25239c310be2"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Feb 28 17:05:12 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 28 17:05:12 2011 -0800"
      },
      "message": "Merge \"Add platform features for USB host and USB accessory support.\""
    },
    {
      "commit": "fae640b174f0a720690bab31a31dfd2693c67c63",
      "tree": "e558c98eea382ab59eb1355c6da58456cf530e4e",
      "parents": [
        "a8049111ffdef6b58c32121d4d9d306fa7df3897",
        "02eb8746de2d60563ec2751a34d20923192e4293"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Feb 28 17:04:23 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 28 17:04:23 2011 -0800"
      },
      "message": "Merge \"UsbManager: Enhancements for managing USB devices and accessories\""
    },
    {
      "commit": "f4ca247158ffb83139d675ac0e1d25239c310be2",
      "tree": "04a2d16b602110e22ddd90f8120a2b769b5522d1",
      "parents": [
        "02eb8746de2d60563ec2751a34d20923192e4293"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun Feb 27 11:23:25 2011 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Feb 28 17:00:46 2011 -0800"
      },
      "message": "Add platform features for USB host and USB accessory support.\n\nAlso removed config_hasUsbHostSupport framework resource, which is now obsolete.\n\nChange-Id: I6f18cc1c4f68085de8b8363e1b5edff79aff404f\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "02eb8746de2d60563ec2751a34d20923192e4293",
      "tree": "7bf0390f0cdfd07857581ed98911fca857979f13",
      "parents": [
        "12511f64a05733d15d1a80a884b7b4711e7dd3b1"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun Feb 27 09:10:37 2011 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Feb 28 17:00:45 2011 -0800"
      },
      "message": "UsbManager: Enhancements for managing USB devices and accessories\n\nWhen a USB device or accessory is connected, the UsbService now asks the\nuser which application to associate with the device or accessory.\nApplications interested in devices or accessories must specify the\ndevices they work with via meta-data attached to their manifest.\nPermission to communicate with the device is assigned when the user chooses\nthe activity to use for the device.\nThe user has the option of clicking the \"always use this application\" checkbox\nto make the assignment automatic in the future.\nThe user may later clear this preference and revoke permission for an application\nto have permission to communicate with the device by clicking the \"Clear defaults\"\nbutton for the activity in the Manage Applications panel in Settings.\n\nAdded class UsbResolveActivity (a subclass or ResolveActivity for choosing\nan activity for a USB device or accessory)\n\nAdded UsbDeviceManager, which manages the mapping between USB devices/accessories\nand applications, including default applications for devices and accessories,\nand manages application permissions.\n\nAdd interface to allow Settings to clear device and accessory\npreferences and permissions for an application.\n\nRemove obsolete ACCESS_USB permission.\n\nAdd new signatureOrSystem MANAGE_USB permission to allow administrating\npreferences and permissions.\n\nMoved UsbService.java to a \"usb\" subdirectory, along with new classes\nUsbResolveActivity and UsbDeviceManager.\n\nChange-Id: I92554381e9779e68ce380daaee4e1401fb875703\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "9611f2ea6c962c7eb05a2841d06656745f524097",
      "tree": "528e025774f126d43ada6711087d624fcb377d71",
      "parents": [
        "9b1aa5e80cd1286ed7971fd4d0232588096bfe82"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Mon Feb 28 13:39:38 2011 -0800"
      },
      "committer": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Mon Feb 28 14:53:09 2011 -0800"
      },
      "message": "Small change to AppWidgetProviderInfo  public field name and docs\n\nChange-Id: Ia799cfc1824ccee1f7fd041ae8ecaa1a0395c3f6\n"
    },
    {
      "commit": "8f34567c71003505456a9b1a0d461a4e62883d70",
      "tree": "240e21488177c7bcd966a7473c009ca311ca331a",
      "parents": [
        "505312482782a600e997c91712f03f83c7a70428"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Feb 26 13:29:53 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Feb 26 13:35:35 2011 -0800"
      },
      "message": "Add scroll wheel support to TextView.\n\nChange-Id: I6e4258c50b0d754dccf07266ff4b2abcbccd733a\n"
    },
    {
      "commit": "c4e6209c5294da5cbca75eafd0ba5d4c3ed9a5b1",
      "tree": "89d80c26edb1ff13dee53afdf9b4c24b844c6594",
      "parents": [
        "15b07f4c6b2d19aecfc6751502c218aff3a78313"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Fri Feb 25 17:57:04 2011 -0800"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Fri Feb 25 18:39:03 2011 -0800"
      },
      "message": "Remove deprecated and unused entryEvicted method.\n\nChange-Id: Id2ac0913968099eb0c8dfa762b87082ba6bd9cd9\nhttp://b/3461302\n"
    },
    {
      "commit": "42c5eec0cec615dd7670527395d9d9a332d8b3f2",
      "tree": "3f9677b41d6ba6de98ad8fddc7eab6a112e214be",
      "parents": [
        "affe40af3c53440d8bfed2e14e8f28218200b206",
        "33bbfd2232ea9eaae9a9d87a05a95a430f09bd83"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Feb 25 17:28:50 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 25 17:28:50 2011 -0800"
      },
      "message": "Merge \"Add support for mouse hover and scroll wheel.\""
    },
    {
      "commit": "affe40af3c53440d8bfed2e14e8f28218200b206",
      "tree": "81b8ad2d8453d25f089a1164a42d442f133e7b17",
      "parents": [
        "506b70c17b4bb5d2a720474365c07d37849e257c",
        "7db1b40a03ff04ac8b49b3b53839b3c5d1c6f16a"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Fri Feb 25 17:15:44 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 25 17:15:44 2011 -0800"
      },
      "message": "Merge \"Callback on any removal, not just evictions.\""
    },
    {
      "commit": "7db1b40a03ff04ac8b49b3b53839b3c5d1c6f16a",
      "tree": "9410459a90ecbe717c152644ee59397e87de936c",
      "parents": [
        "261f33c12d012fbc1f2fdd3dc8c21933c0798a1b"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Fri Feb 25 16:38:40 2011 -0800"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Fri Feb 25 17:06:34 2011 -0800"
      },
      "message": "Callback on any removal, not just evictions.\n\nDon\u0027t hold locks while running create or remove callbacks. That gets a bit\nugly because it means a create could be unwanted by the time it returns.\n\nChange-Id: I14b2b3ed41a446750f8ee5a7e35cb8d801c4ce6d\nhttp://b/3461302\n"
    },
    {
      "commit": "33bbfd2232ea9eaae9a9d87a05a95a430f09bd83",
      "tree": "88e8e2513676dccf07b9764522a681aae370f020",
      "parents": [
        "d752c3b3e6c576ed1f18e86a7b18c33dc7c65791"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Feb 24 20:55:35 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Feb 25 17:06:07 2011 -0800"
      },
      "message": "Add support for mouse hover and scroll wheel.\n\nDispatch ACTION_HOVER_MOVE and ACTION_SCROLL through the View\nhierarchy as onGenericTouchEvent.  Pointer events dispatched\nthis way are delivered to the view under the pointer.  Non-pointer\nevents continue to be delivered to the focused view.\n\nAdded scroll wheel support to AbsListView, ScrollView,\nHorizontalScrollView and WebView.  Shift+VSCROLL is translated\nto HSCROLL as appropriate.\n\nAdded logging of new pointer events in PointerLocationView.\n\nFixed a problem in EventHub when a USB device is removed that\nresulted in a long stream of ENODEV errors being logged until INotify\nnoticed the device was gone.\n\nNote that the new events are not supported by wallpapers at this time\nbecause the wallpaper engine only delivers touch events.\n\nMake all mouse buttons behave identically.  (Effectively we only\nsupport one button.)\n\nChange-Id: I9ab445ffb63c813fcb07db6693987b02475f3756\n"
    },
    {
      "commit": "d752c3b3e6c576ed1f18e86a7b18c33dc7c65791",
      "tree": "904a8f1e186aba26518269e3bf3271d765e31897",
      "parents": [
        "53c7b1d544f1b78cc4fb206c74dc52b39b58b258",
        "e7f972122db87dc54e41ed1a6e417534d43bca3a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Feb 25 16:15:27 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 25 16:15:27 2011 -0800"
      },
      "message": "Merge \"Implement issue #3426299: Introduce application \"stopped\" state\""
    },
    {
      "commit": "d2e20de64b6de8b6391c63e2f5b02ce7698bf4bf",
      "tree": "f8467e4deac16cdb5a8bc1aca57c97e7b1345e3f",
      "parents": [
        "0277c171283826dce53cc48e8dd66187051227e4"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Fri Feb 25 12:03:37 2011 -0800"
      },
      "committer": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Fri Feb 25 15:10:40 2011 -0800"
      },
      "message": "Adding framework support for resizable widgets\n\n-\u003e Added resizeMode to the widget xml\n-\u003e Fixed an unexposed bug in AppWidgetHost where\n   minWidth and minHeight were never being converted\n   from complex type to dp\n\nChange-Id: Ibbc4fc6542d095623ac2a40694b6a3dbfeb279ad\n"
    },
    {
      "commit": "e7f972122db87dc54e41ed1a6e417534d43bca3a",
      "tree": "8342973439086cceaa3c66fed400bf894abf36de",
      "parents": [
        "56d9353195e4c767e60ecfab1e118d3cc30f3a91"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Feb 24 14:40:20 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Feb 25 14:46:27 2011 -0800"
      },
      "message": "Implement issue #3426299: Introduce application \"stopped\" state\n\nThe package manager now keeps track of whether an application is\nstopped.  There are new intent flags to control whether intent\nfilters in a stopped application will match the intent.  This is\ncurrently used in one place, sending broadcasts, so that stopped\napps can not be launched due to background processes.\n\nThe package manager during first init makes sure no applications\nare in the stopped state.  When new applications are installed,\nthat begin in the stopped state.  When the activity manager is\nlaunching a component of an application, it ensures the application\nis taken out of the stopped state.\n\nThe \"force stop\" button in manage applications will now put an\napplication back in to the stopped state; it can\u0027t go back out\nof the stopped state until one of its components is launched by\nthe activity manager.\n\nThere will probably be a few more places where we need to filter\nstopped applications out of intent matches, but doing this for\nbroadcast is a very big first step.\n\nThis also introduces a new broadcast that is sent to an application\nafter it is replaced with a new .apk.  But only if the app is not\nin the stopped state.  This makes it a lot easier for developers to\nimplement code to get their application back in proper running shape\nafter an upgrade.\n\nFinally another new broadcast is added that is sent to a package\u0027s\ninstaller at the first time it is launched.  This allows the installer\nto tell the package about it being installed only when it is first\nactually used.\n\nChange-Id: I589c53ff0e0ece868fe734ace4439c0d202dca2d\n"
    },
    {
      "commit": "a00f3865f55c5c9cb74510ee2b239d101230133c",
      "tree": "4422efdd9ffd172caaffb576cf81a0b266b76ee5",
      "parents": [
        "11f4ae76f016d72486aedd33cfef47ba41e6592e"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Tue Feb 22 06:34:40 2011 -0800"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Fri Feb 25 06:47:53 2011 -0800"
      },
      "message": "Add ViewPropertyAnimator for easy animation of View properties\n\nChange-Id: I2bc52ca16507d8d20004d2d6823e587791272aac\n"
    },
    {
      "commit": "50fc0e5c1bafb458ae9cd8cca6a3732828e821df",
      "tree": "c6a931f4f8f4239888bf8c1633b0f0f9afd8f23c",
      "parents": [
        "7547a8be941cff4794a276e98752bfcfb2e805d1",
        "a0f8bc51aff98c2e23e73069e447f63397471a0a"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Thu Feb 24 19:37:00 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 24 19:37:00 2011 -0800"
      },
      "message": "Merge \"Remove default constructors from static utility classes.\""
    },
    {
      "commit": "30b1fe07a73d522e97b7140cc227232a0c8c1a1e",
      "tree": "686a7e7e3d467674c193f177c0ceecf556441553",
      "parents": [
        "d5623fab340c65d437eb7b52670eab07ae19a15d",
        "5f3f6ce154ca1a0075f8ca13872d74f935acbe3d"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Feb 24 16:48:38 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 24 16:48:38 2011 -0800"
      },
      "message": "Merge \"Exposing the CalendarView of the DatePicker.\""
    },
    {
      "commit": "a5364ee8942cd9f0546f80f6430812ca2ee59f30",
      "tree": "1f9843d1be07167d0d2f7ec61b00e02b19608718",
      "parents": [
        "7d4da25c5cbc75c7443389a25e7e30d1c2888723"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Feb 24 14:46:04 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Feb 24 16:49:47 2011 -0800"
      },
      "message": "Add an API to control the distance between a View and its camera.\n\nChange-Id: Ibaf4e7dc827933f7ad2bb7ab50c1dcef45fee83c\n"
    },
    {
      "commit": "5f3f6ce154ca1a0075f8ca13872d74f935acbe3d",
      "tree": "3c65a1085925ff151c861c0ef7e2039f98f1d80d",
      "parents": [
        "a28f6f11f22963e3679537e83f243edeaa5ee17c"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Feb 24 15:36:13 2011 -0800"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Feb 24 15:36:19 2011 -0800"
      },
      "message": "Exposing the CalendarView of the DatePicker.\n\nbug:3272194\n\n1. Added a getter to DatePicker.\n\nChange-Id: If0c7fee4ab5f6abf6b12a02dbd5d519c00683115\n"
    },
    {
      "commit": "b607b884bd94d4f75fb4b2ead7457f2027ceb850",
      "tree": "9ff1d84331d0c531cfb68d3e154ab32a25c6e1ed",
      "parents": [
        "c950cf2269bd1cbb874f70a225bd0d776cd126dc",
        "188d00b07ef0b8968868b3489e80dd9f53d3bafa"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Feb 24 14:05:02 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 24 14:05:02 2011 -0800"
      },
      "message": "Merge \"UsbManager: Remove redundant Intent extras from USB device and accessory broadcasts\""
    },
    {
      "commit": "a0f8bc51aff98c2e23e73069e447f63397471a0a",
      "tree": "4a4b5ae01d3320818cf41a95e2939fd9f8b7e54f",
      "parents": [
        "7b76c8d3fc25aedea6edfed9638b008faa2f6ae8"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Thu Feb 24 10:44:33 2011 -0800"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Thu Feb 24 10:46:22 2011 -0800"
      },
      "message": "Remove default constructors from static utility classes.\n\nChange-Id: Id8dc55a30a03e1da87500b66c429de9268033b9e\nhttp://b/3344646\n"
    },
    {
      "commit": "256d603d11a6ecc15550593ff13fb555c2542ca8",
      "tree": "ea2919e23d091e5193de7cee41589f8a74a840cc",
      "parents": [
        "62c7574c02f2d83bafe7fc91bba6dbdf01b92a62",
        "f0d973131389621609dfad5befb9afe8b767e08c"
      ],
      "author": {
        "name": "Kristian Monsen",
        "email": "kristianm@google.com",
        "time": "Thu Feb 24 08:02:34 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 24 08:02:34 2011 -0800"
      },
      "message": "Merge \"Hiding deprecated classes and methods\""
    },
    {
      "commit": "47b8adec3904535c8d8ce2b6e42ecd736f2d90ce",
      "tree": "3aa0807a2963ea256c378bf7dd5200fac9f39484",
      "parents": [
        "81904fa40b501d3907c086e7d4fdc4a3e25cd922"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Feb 23 19:46:33 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Feb 23 19:51:42 2011 -0800"
      },
      "message": "Add a new Camera API to control the camera\u0027s location\n\nChange-Id: Id9a082d2def803eb527e1987875e0d8a22c6e8aa\n"
    }
  ],
  "next": "f0d973131389621609dfad5befb9afe8b767e08c"
}
