)]}'
{
  "log": [
    {
      "commit": "a2c73ae96925ab782e6515fa91dd3613025abe9f",
      "tree": "ddaee6eec915c85e16316476b3b27518f4b4aecd",
      "parents": [
        "736ef1e9dedbdd0c24e27f170034f2f869fd083f"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Feb 19 13:01:35 2013 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Feb 19 13:01:35 2013 -0800"
      },
      "message": "Add DUMP permission to SystemUI for bugreports.\n\nBug: 8223786\nChange-Id: Ie91167eaaa299fb7f0affa386407765efe4965a4\n"
    },
    {
      "commit": "f9c5e0fe837a3090820da502ecaabc5accc00ace",
      "tree": "bbc72079c958f69d9906f4a4ae803dd88fcf8083",
      "parents": [
        "cc7433470f00fac3bbe7835de3ded4b9bf121244"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jan 23 14:39:13 2013 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jan 23 14:39:13 2013 -0800"
      },
      "message": "Add new API to propagate contextual data to the assist action\n\nWhen launching an assist, we have a new API allowing the\ncurrent foreground activity/application to provide additional\narbitrary contextual information that is stuffed in the\nassist intent before it is launched.\n\nChange-Id: I0b2a6f5a266dc42cc0175327fa76774f814af3b4\n"
    },
    {
      "commit": "8afcd149970c79054a3a16377834aa0aec35eee0",
      "tree": "895b157fd2b52bf47b67cb610c73a621746d8b7d",
      "parents": [
        "f50a37d30288aae5c05ef1cf266ed11772ca727e"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Fri Jul 27 18:27:11 2012 -0700"
      },
      "committer": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Mon Dec 17 17:03:09 2012 -0800"
      },
      "message": "Make SystemUI RTL aware\n\n- see bug #5429822 UI should be mirrored for RTL locales (Arabic, Hebrew, farsi)\n\nChange-Id: Ica88ed68f893d5272691a9207788b65623849dee\n"
    },
    {
      "commit": "b055aa8ec000fd62e4ce6456eac277463aacd7d2",
      "tree": "fef909eb3cc382b7be63d76605a35389adfb82a2",
      "parents": [
        "33c0a616dbd284b47cc8e6af2eec358fba7c701f"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Oct 26 15:11:53 2012 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Oct 26 15:13:57 2012 -0400"
      },
      "message": "Final icon for (Day)dreams.\n\nBug: 7395321\nChange-Id: I20ec252a1bf69664a6687016d281ad680d76a48f\n"
    },
    {
      "commit": "bd9cafa433f068335e37a60a7f44bd40ecab2f95",
      "tree": "2d2be900aac758b820bb4987e2c309d062010b32",
      "parents": [
        "39c6526249a27b9dd9252910adecf8353b0792f0"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Oct 23 01:21:33 2012 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Oct 23 01:21:33 2012 -0400"
      },
      "message": "Dreams/Sleep Mode is now Daydreams.\n\nBug: 7395321\nChange-Id: I3173cd9205df94217911a2d432d1be1db9e3d539\n"
    },
    {
      "commit": "e9687ba8bdccc27f98fe1dcdc48faac0c0de4c18",
      "tree": "a3cecc7bed992a1cc9ee154110258d945a4e215a",
      "parents": [
        "80343f646f9686528212f82163a77ef48e30f4c3",
        "738cfc91053fc888397ec2d139e0798f8c95b3ca"
      ],
      "author": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Fri Oct 19 09:06:19 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 19 09:06:49 2012 -0700"
      },
      "message": "Merge \"Fixing wallpaper flash when going in/out of Recents\" into jb-mr1-dev"
    },
    {
      "commit": "738cfc91053fc888397ec2d139e0798f8c95b3ca",
      "tree": "51b877a628e05640cebc24d2bb2d12d2ad7fc110",
      "parents": [
        "a1f739ea83b6d770b8469ae1c2c4161f6fe96334"
      ],
      "author": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Fri Oct 19 14:56:47 2012 +0200"
      },
      "committer": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Fri Oct 19 16:58:50 2012 +0200"
      },
      "message": "Fixing wallpaper flash when going in/out of Recents\n\nBug: 7372516\nBug: 7216872\n\nChange-Id: I2a2308a85caf9f2ad2d382c709e5f8867bd060be"
    },
    {
      "commit": "80343f646f9686528212f82163a77ef48e30f4c3",
      "tree": "bda2f668cb7fbf2b4efcbfd4e44d7bfb02a9630d",
      "parents": [
        "a1f739ea83b6d770b8469ae1c2c4161f6fe96334"
      ],
      "author": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Thu Oct 18 13:13:46 2012 +0200"
      },
      "committer": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Fri Oct 19 16:50:29 2012 +0200"
      },
      "message": "Fix recents animations for secondary users\n\nBug: 7361640\n\nChange-Id: Ibd177bf01758fb8706b82dcf3bf234e052c38aa3"
    },
    {
      "commit": "d7059dfb9b9d6540c4b2765558e8ca4784c4ef6e",
      "tree": "aae1a0977863b411eb115e34d12cd71154880578",
      "parents": [
        "3b9e7f32380e179aa1e0718762e86ffa24cbab93"
      ],
      "author": {
        "name": "Casey Burkhardt",
        "email": "caseyburkhardt@google.com",
        "time": "Tue Oct 09 17:40:52 2012 -0700"
      },
      "committer": {
        "name": "Casey Burkhardt",
        "email": "caseyburkhardt@google.com",
        "time": "Tue Oct 09 17:53:21 2012 -0700"
      },
      "message": "Properly label RecentsActivity for accessibility.\nBug: 7229886\n\nChange-Id: I440c7e9b9ef3272e287d5d4d58bcfc0e8d0735ac\n"
    },
    {
      "commit": "af3f32d9a460b663d8f757f771cb220cc78b190a",
      "tree": "0b9268bc4f5056ac7de63841914e09dd54a70709",
      "parents": [
        "1ad0fd9c04ae2e352c59129b979145e662f25cbc"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Sun Oct 07 15:02:34 2012 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Sun Oct 07 15:03:42 2012 -0400"
      },
      "message": "New icon for \"Sleep now.\"\n\nShould only be shown in the docking intent chooser, but if\nyou use AnyCut to link to the Somnambulator you\u0027ll see it\nthere as well.\n\nBug: 7267723\nChange-Id: I4be7572e4785f35b4ac1ad91d03a617d5d2fe3c1\n"
    },
    {
      "commit": "7aa88f7aad3ec0c1345e84e1fbf8ee54115b2b17",
      "tree": "bc388ba55b8115229595b1f4c826b9eba5ec6639",
      "parents": [
        "ebf7e2851cab55348153fca299c52042b125924d"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Oct 04 15:03:22 2012 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Oct 04 15:03:22 2012 -0400"
      },
      "message": "Remove Start Dreaming^W^W Sleep Now 1x1 widget.\n\nIf you need its functionality for testing:\n\n  $ adb shell am start -n com.android.systemui/.Somnambulator\n\nBug: 7267723\nChange-Id: I9e0dd9d020e251d1ced4377329436ea46c3a8af5\n"
    },
    {
      "commit": "be87e2f5885b28145a788fd31d1fb5ae88a71100",
      "tree": "e589ae24e57db702157f7fcd390335049eabf0ea",
      "parents": [
        "106a69271dd303baae1c428e269e1ec62994ff57"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 28 16:31:34 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 28 17:42:39 2012 -0700"
      },
      "message": "Fix issue #7255954: API Review: rename Dream to DreamService\n\nChange-Id: I89ecf2c3ec4fef09c0495aa68de11576f9cfd872\n"
    },
    {
      "commit": "3ff8e1a80058e5557d13693d3223e1aa011c0038",
      "tree": "62d3c43fa2261c2aec17b76f08b7c8cc784c81fc",
      "parents": [
        "1d3527354396d3aa48b494fb409d680cce32dc8b",
        "d4ac8d7b3de27a9f0e4c6af2496ca71d794e42d1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 28 15:53:19 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 28 15:54:44 2012 -0700"
      },
      "message": "Merge \"Fix issue #7211769 and #7244492, thrash around on #7226656.\" into jb-mr1-dev"
    },
    {
      "commit": "d4ac8d7b3de27a9f0e4c6af2496ca71d794e42d1",
      "tree": "874663abeb7379376c3deeb68081606e6f62d8d3",
      "parents": [
        "97298cdcc0e699912288191c28bebe895759e75e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 27 23:20:10 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 28 15:37:22 2012 -0700"
      },
      "message": "Fix issue #7211769 and #7244492, thrash around on #7226656.\n\nIssue #7211769: Crash dialog from background user has non-working \"report\"\n\nThe report button now launches the issue reporter for the correct user.\nAlso for crashes on background users, either disable the report button,\nor simply don\u0027t show the dialog depending on the build config.\n\nIssue #7244492: Bugreport button in Quick Settings doesn\u0027t actually do anything\n\nNow they do.\n\nIssue #7226656: second user seeing primary user\u0027s apps\n\nI haven\u0027t had any success at reproducing this.  I have tried to tighten up\nthe path where we create the user to ensure nothing could cause the\nuser\u0027s applications to be accessed before the user it fully created and thus\nmake them installed...  but I can\u0027t convince myself that is the actual problem.\n\nAlso tightened up the user switch code to use forground broadcasts for all\nof the updates about the switch (since this is really a foreground operation),\nadded a facility to have BOOT_COMPELTED broadcasts not get launched for\nsecondary users and use that on a few key system receivers, fixed some debug\noutput.\n\nChange-Id: Iadf8f8e4878a86def2e495e9d0dc40c4fb347021\n"
    },
    {
      "commit": "3a12029a3bb6a6d59b3ab65fa923ce96f9f15c26",
      "tree": "3c8989c33d4c825fa0b6812f05e344be09193af2",
      "parents": [
        "13701b50f533775fd7a547fd0e479c1ec9035ce8"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Sep 28 11:28:09 2012 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Sep 28 11:41:41 2012 -0400"
      },
      "message": "Add the SystemUI\u0027s dream-starter as a DESK_DOCK app.\n\nThe circle is complete: dock mode is back, and it will\nlaunch Dreams by default.\n\nBug: 7163049\nChange-Id: I3c681ac701d65b03f882d92d06389d4528e34747\n"
    },
    {
      "commit": "65c4a2b26cd8776b0927e9b0e07ecf53bd31b627",
      "tree": "7dbd0b29b66336c738a0c599335ad70bb86ba4a2",
      "parents": [
        "5e21bf934b2a71b595deb9856a2044eea4dbce86"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Sep 25 17:22:27 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Sep 26 10:49:35 2012 -0700"
      },
      "message": "Multi-user ringtone playback.\n\nChange RingtonePlayer to open content:// Uris based on requesting\nUserHandle.  Grant SystemUI visibility to all emulated storage so\nit can play ringtones for apps without READ_EXTERNAL_STORAGE.\n\nResolve canonical file:// Uris before passing out of source app,\nreplacing any /emulated_legacy/-style paths with user-specific\nvariant so they can be opened by SystemUI.  Calling for RemoteViews,\nRingtones, and Notifications.\n\nBug: 7202982\nChange-Id: Ibf0eca8df80c1486711144a7b648f464aadfe099\n"
    },
    {
      "commit": "f4f6b4c8b0fcf77d46567f13b409255948fe107b",
      "tree": "245e81a594160905fbaf8e3933f99c9b679d0388",
      "parents": [
        "5d1a870a25f7495755432a42cf8c81818dc369fa"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Sat Aug 25 12:08:03 2012 -0400"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Wed Sep 19 17:36:50 2012 -0400"
      },
      "message": "Fire \"dreaming started\" and \"dreaming stopped\" broadcasts.\n\nDream manager now fires broadcast intents when entering + exiting\ndreamland (except when testing).\n\nPower manager can now listen for dreams ending, using polling only\nas a backstop.\n\nAlso:\n - Bullet-proof dream-manager/dream against known failure modes\n - Add new read/write dream permissions\n - Refactor dream-manager to delegate work + state management into\n   a new DreamController class, via a handler\n\nBug:6999949\nBug:7152024\nChange-Id: I986bb7812209d8c95ae1d660a5eee5998a7b08b1\n"
    },
    {
      "commit": "08b1cc847524f66fd1d8c8d9065bf81bdd1fb04a",
      "tree": "f0e4065c9cf0fe7582f12d6f32d84f7365712392",
      "parents": [
        "e641b6a99cabad7076e10694a5b1b30f449de462"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Tue Sep 11 10:00:53 2012 -0700"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Tue Sep 11 10:01:24 2012 -0700"
      },
      "message": "Fixing issue with Airplane Mode. (Bug 7141144)\n\nChange-Id: I83e2bdd5e8b0e0c732e8d46c47f8619daa0c7c02\n"
    },
    {
      "commit": "508257bdfcd6cd3a85e55eb7addaf7eb43a61618",
      "tree": "c277f17ed2446ffca896b232c4a45f4a8993923b",
      "parents": [
        "180bbc71810496e280e9993177bfeddb3ad1f558"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Sep 08 23:15:12 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Sep 08 23:15:12 2012 -0700"
      },
      "message": "Add skeleton Wifi-Display tile in QS.\n\nPop up a little dialog when the tile is touched with options\nto connect, scan and disconnect.\n\nChange-Id: Ic9e28344899310692ace36c322974df175f82e08\n"
    },
    {
      "commit": "d63c59786509aadd6a8d0c5cb45ed696339f16b7",
      "tree": "dc41766c4f2a171e8799ebf4ff227771d9393953",
      "parents": [
        "4319079375ef49668ea88e74fb899275d6bbdb19"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Wed Sep 05 17:34:41 2012 -0700"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Sat Sep 08 15:55:31 2012 -0700"
      },
      "message": "Initial changes to add QuickSettings.\n\nChange-Id: If510f74d6046929e5e8a794c6dc2fddb15a03d6b\n"
    },
    {
      "commit": "32f6fd55b1bcabc97945827d88d60ba48edf1a40",
      "tree": "2ca9ee3ce48316398cf5d61de6c49f4a2920c117",
      "parents": [
        "5830cb2882b38182f414423ae1bc901cc27767cc"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Sep 06 01:22:59 2012 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Sep 06 11:52:10 2012 -0400"
      },
      "message": "New \"Start dreams\" launcher shortcut.\n\nChange-Id: Ice46fc8b99dae615e421ccf4eb6ca6f2a76cbe5f\n"
    },
    {
      "commit": "0bcf4adcde601aff7d3894de2603e1f2cae41f1a",
      "tree": "7ec4b36ee2d725167c05eba5b159078a90b13dfa",
      "parents": [
        "0c9278d3c885d63ade01bf583b2bc43ba327837a"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Aug 31 16:18:31 2012 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Aug 31 16:18:31 2012 -0400"
      },
      "message": "Only show the BeanFlinger screensaver to the worthy.\n\n(That is: you must have discovered the flying-jellybeans\neaster egg to gain permanent access to the Dreams version of\nsame.)\n\nChange-Id: I65ce39c0ab5b61f492a3637e3c31b3c91f4f0f89\n"
    },
    {
      "commit": "f07439fba4d96c45c3bc873ffbb497cf3fffb744",
      "tree": "bea31cb3fb9993ae0924433ecdfbd72e6bf13c03",
      "parents": [
        "080ca09c7f4c0033d0efece23687b71f7f8febc9"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Sat Aug 25 13:17:22 2012 -0400"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Sat Aug 25 13:25:37 2012 -0400"
      },
      "message": "Beans in space.\n\nQuick example dream reusing the JB bean bag view.\n\nChange-Id: Iad3ecedc9ba2c258bd33fcfbba2e3fc48382bdc8\n"
    },
    {
      "commit": "cb2522c86d75fff277dc38ec7e444a5b5f5130ea",
      "tree": "0453cda9b18962343ed09084889963db65944e3a",
      "parents": [
        "257662efe2a5edd13601b4372b5c1ff0431ddda9"
      ],
      "author": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Fri Apr 13 09:32:47 2012 -0700"
      },
      "committer": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Thu Aug 23 04:53:53 2012 -0700"
      },
      "message": "Recents: apps scale down to thumbnails now\n\nAs a part of this change, Recents is now an\nactivity.\n\nKnown issues:\n* Jank: jump-cut as app icon appears suddenly\n  after the aniamtion\n* Preloading recents is broken on phones without\n  soft nav bar and on tablets\n* Thumbnail window from animation lingers/flashes\n  sometimes\n\nChange-Id: Ie6f991f3c2e1e67f9ed84eb6adba9174ed957248\n"
    },
    {
      "commit": "4e68bd420b6cfdbeadb5e69aa6448665b2da762b",
      "tree": "4c76067723f8a24d5d1b9f366d939a949da97419",
      "parents": [
        "bf5740e75efd87ae0213486e78e029403804c6f0"
      ],
      "author": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Wed Apr 25 18:06:00 2012 -0700"
      },
      "committer": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Mon Aug 20 13:44:34 2012 -0700"
      },
      "message": "Add UsbDebuggingManager and UsbDebuggingActivity\n\nThe UsbDebuggingManager listens to adbd requests and displays a dialog\nwhen the public key authentification fails, for the user to confirm if it\nwants to allow USB debugging from the attached host. If the user chooses\nto always allow USB debugging, the UsbDebuggingManager writes the public\nkey to adbd\u0027s config file so that the public key authenfication succeeds\nnext time.\n\nChange-Id: I115c828331d8e326c380844ee33915d5dff22260\n"
    },
    {
      "commit": "2a00329c6d55c6cd9166e01963d7410e95d80d21",
      "tree": "a33ab8060e095dd7b9a79962f7c3bf506d6008b7",
      "parents": [
        "76b858e3794f652c4af2323504787aebbbb7e89a"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Aug 14 18:25:45 2012 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Aug 17 09:06:10 2012 -0700"
      },
      "message": "UserHandle to UserSerialNo mapping\n\nUse AtomicFile for usermanager files.\n\nAdded a MANAGE_USERS permission that apps (signature permission) can use\nto create/query/modify/remove users.\n\nChange-Id: I5cf232232d0539e7508df8ec9b216e29c2351cd9\n"
    },
    {
      "commit": "b9301c3a686df05950710ec80e2cd691c3082871",
      "tree": "bd8061cc86c2a647954746583322642a27a23e57",
      "parents": [
        "978f853d189c1857190b4a2e200c7a283e31ca14"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Aug 14 15:08:24 2012 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Aug 15 23:00:56 2012 -0400"
      },
      "message": "Multiuser support for notifications, take 1.\n\nNotifications for background users are hidden from the\npanel and status bar.\n\nStill need to add a concept of \"any user\" notifications (for\nthings coming from the system) and notification visibility\ncontrols (for access to icons + possibly masked text of\na background user\u0027s notifications).\n\nChange-Id: Iba121f35a6c25c2e1c44db029d776a5a59a6a008\n"
    },
    {
      "commit": "8264408f5995534f8e3147b001664ea0df52aaa5",
      "tree": "e6e963d2ec701047872bf641b28888a93c7b866a",
      "parents": [
        "fb11ffa2a04f0a6b1291cd7ffc68032fcc322312"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Aug 03 13:09:11 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 08 16:52:53 2012 -0700"
      },
      "message": "Start the correct settings from the status bar.\n\nAdded a new method to Context: startActivityAsUser() requiring the\nINTERACT_ACROSS_USERS_FULL permission.\n\nShow the correct Recents list, based on current user.\nAdded a getRecentTasksForUser() in ActivityManager. Hidden and requires\nthe INTERACT_ACROSS_USERS_FULL permission.\n\nChange-Id: If5b56465efdd3ead36601a3b51ed4af157bbf35c\n"
    },
    {
      "commit": "cb1aec3403115467d1298fcabd45137eb483a1fe",
      "tree": "ef6c9ffdc04a883bae6a9b93ce751a5680d124d7",
      "parents": [
        "3ee47ae7ee0d0afc0a2bbe71636c31483b5502cd"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Jul 25 11:00:49 2012 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Jul 25 11:00:49 2012 -0400"
      },
      "message": "Remove old unused DreamsDockLauncher.\n\nBug: 6802065\nChange-Id: I403b02ca7c78bb90eed712b3b6f846a4a6d68f8b\n"
    },
    {
      "commit": "aa0a3b692337ec8b6431e8d046ea01f042157334",
      "tree": "d3cf78381880e3e2d5d36ea3dabdc95513966d9c",
      "parents": [
        "ed82973e616b1cbcab873dfb9c0191e63b34c821"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed May 23 00:49:48 2012 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed May 23 01:38:26 2012 -0400"
      },
      "message": "Stop animating when not showing.\n\nWe were eating too many jelly beans even when the screen was\noff.\n\nAlso clean up touch offsets, rotation on fling, and main\nplatlogo asset.\n\nBug: 6541052\nChange-Id: I34e49b8b7a95ce6daab929885130426a5ae58dc4\n"
    },
    {
      "commit": "64fffadf00918e9ffaee1bdfe01ed389145e0821",
      "tree": "15047cce4d3247f4126b1ea22c6370209a8e7523",
      "parents": [
        "a4c1b0a7ca48c0b9fcc0a4af393faf64d0a16b91"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu May 17 17:01:15 2012 -0700"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu May 17 17:01:15 2012 -0700"
      },
      "message": "Fix 6398209: Re-enable vibrate for search gesture.\n\nChange-Id: Iabcfa21aae05fa55ec3fdc76eeed76577b962de5\n"
    },
    {
      "commit": "1a0c9145dc32095acc250bdabc4a9b8f82d6bd3e",
      "tree": "3746fc6c83b73493a5580853fd7251addcc22922",
      "parents": [
        "a25079e6bafcfd77135a852f0e838738d80606ef"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Mon May 07 16:09:10 2012 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu May 10 11:25:34 2012 -0400"
      },
      "message": "Ice cream is SO over.\n\nChange-Id: I4039b7fe41dc4a498d53e21dbcafb2bc2ac15b92\n"
    },
    {
      "commit": "0f5985c1da4793286b75e09bc0ef2377c5ecadf3",
      "tree": "41417690c8cfa4ec1a8f9e742ce788312c247246",
      "parents": [
        "6dbac3798128574accff64a9a2b00b2176058898"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue May 01 15:42:56 2012 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue May 01 15:43:32 2012 -0400"
      },
      "message": "Add MASTER_CLEAR perm to SystemUI for SD card formatting.\n\nBug: 6422105\nChange-Id: Ic6e2aef5f6cdc14c2bace54ddfce1181bf8bdef3\n"
    },
    {
      "commit": "e6b65338110622085f4a1098f0dfb643ea7bd0a7",
      "tree": "298e129bb30cdc16a024fef9b40cba0ebc9fd77c",
      "parents": [
        "1e945c4fda0242e8ae02ccb7a2262556f41b42cc"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Apr 30 17:14:51 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Apr 30 17:15:36 2012 -0700"
      },
      "message": "Add permission for NetworkOverLimitActivity.\n\nBug: 6421080\nChange-Id: Icefdf3da7a4a421d27aa1449ac01ea8ae1451d49\n"
    },
    {
      "commit": "098d580cc2bb6c0891c756a4e5230c6c6b0d2376",
      "tree": "bd5ae0f9e87a5516e8c481cebc54321272152491",
      "parents": [
        "f5d70fd2add31cdb2e4ca1e931b47db95fa4b3e0"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Apr 26 17:30:34 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Apr 27 14:15:05 2012 -0700"
      },
      "message": "Migrate ringtone playback to SystemUI.\n\nIntroduce IRingtonePlayer, which handles playback for both Ringtone\nobjects and Notifications. SystemUI now hosts this player, which it\nregisters with AudioService. It also keeps MediaPlayer instances\nwarm, and cleans them up after stop() or Binder death.\n\nMove both Ringtone and NotificationManagerService to play back audio\nthrough this new interface.\n\nBug: 6376128, 6350773\nChange-Id: I1dcb86d16ee3c4f07cdb2248d33dcff4ead3609a\n"
    },
    {
      "commit": "442456a69861f9c0ee1262f6455f7a5e1ec64b01",
      "tree": "12931b4af175d8b7c6951a1661007243bd95d85d",
      "parents": [
        "c3742a18a6106f9c61eba16b00d15efa88f6f51a",
        "af772be33caba9709b7c4c52c9a7182bf0fc3a03"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Apr 24 16:14:46 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 24 16:14:46 2012 -0700"
      },
      "message": "Merge \"Permission to show battery alert windows.\""
    },
    {
      "commit": "af772be33caba9709b7c4c52c9a7182bf0fc3a03",
      "tree": "1b9bbde53f1371c1ebf6c59518f5ae50f2dd37e0",
      "parents": [
        "d776f617f5ad8052245e173602a7b80703f5fb39"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Apr 24 16:13:17 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Apr 24 16:13:17 2012 -0700"
      },
      "message": "Permission to show battery alert windows.\n\nBug: 6388558\nChange-Id: Icf584b6bc62616a395ac14a577d98ea1daaed0e4\n"
    },
    {
      "commit": "8238e717df4bc5eebf15f97172d68af3599a95bb",
      "tree": "4664ed873e578b791f2342d47aae62fe34eddb0f",
      "parents": [
        "fd135bc809589d4cadcdbcc7ececaf2d9d0969cf"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Apr 24 11:15:40 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Apr 24 14:27:02 2012 -0700"
      },
      "message": "Add new signature-level permission to get details of tasks.\n\nThird party apps now can\u0027t get access to the extras of the\nintents associated with tasks, to keep private data in them\nfrom leaking out.\n\nChange-Id: I95af9e181ac42557bc8b981807e7ddd266a88d0e\n"
    },
    {
      "commit": "81d94335fbe7fde63f9e382be1ec74d3d09b99fe",
      "tree": "9c35325a648523b4cdfa70c08eb3481e9e17413c",
      "parents": [
        "f913d002a64b9d124ef54f3b71bcd13f4a6c2768"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Apr 23 13:32:00 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Apr 23 13:32:00 2012 -0700"
      },
      "message": "Grant external storage permissions to SystemUI.\n\nUsed for taking screenshots and playing notification ringtones.\n\nBug: 6381589\nChange-Id: Ib1a5ad17edbeab984bbab25168d81eb99deba952\n"
    },
    {
      "commit": "35be7560300a97fc3675bdd325910f28827d9508",
      "tree": "03b5e5fe2e4236661e55f46d24c2e388e7a98e07",
      "parents": [
        "1b965941713a395dc8003cf8ee29a40f92dd77aa"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Apr 18 19:16:15 2012 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Apr 19 11:54:34 2012 -0700"
      },
      "message": "Move SystemUI out of system UID.\n\nAdd permissions for various things it pokes.  Create new permission\nto control launching non-exported activities from recents.  Hidden\nAPI to relax WallpaperService checks.\n\nChange-Id: I547fdcd7c213dd153ae101533ce7c56cd8f86a0d\n"
    },
    {
      "commit": "8c54182f0b6c706adc6247d6f1da7147b357920d",
      "tree": "ed0fff122a76ce8f5c892e4dc15de93999e207fd",
      "parents": [
        "70bded0ab8390cb53342f1fb1f1ff9ee56f60e5f",
        "c992087d09363d61f68af2f24342003b97ba48be"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Nov 17 19:44:14 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 17 19:44:14 2011 -0800"
      },
      "message": "Merge \"Fix bug 5614962 - Constant spinning wheel in USB Mass Storage screen (UX)\" into ics-mr1"
    },
    {
      "commit": "c992087d09363d61f68af2f24342003b97ba48be",
      "tree": "039904949fca7b11c6c1abc1fe000dada37a3125",
      "parents": [
        "de8c5ec88982b836b2c50d4f685f4e05b29bdd0d"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Nov 17 17:59:43 2011 -0800"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Nov 17 18:01:07 2011 -0800"
      },
      "message": "Fix bug 5614962 - Constant spinning wheel in USB Mass Storage screen (UX)\n\nDisable the window-level progress spinner; another is already shown while\nconnecting.\n\nUse the correct Settings icon for SystemUI.\n\nSpecify the activity title for the USB mass storage screen in the\nmanifest to avoid title flashing during startup.\n\nChange-Id: Ic57af56bf1661a5eaa91fff77471dc8447340d16\n"
    },
    {
      "commit": "532a0bbfa49929cc3b7a173aaf25e119765d0bd0",
      "tree": "d9b7032e2fcc197906583c2758c838ddd60b2f57",
      "parents": [
        "11ddf533a2165ca68002d3b48e312271b3d0dedb"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Nov 16 11:10:22 2011 -0800"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Nov 16 11:34:09 2011 -0800"
      },
      "message": "Activate Dreams (screen saver) when desk-docked.\n\nSystemUI\u0027s DreamsDockLauncher now responds to low-level dock\nevents (Intent.ACTION_DOCK_EVENT) by immediately invoking\nthe user\u0027s selected screen saver.\n\n(The high-level DESK_DOCK behavior is no longer enabled; see\nchange I7884f65.)\n\nBug: 5591015\nChange-Id: I01a9bc6b181d55493f891ccc220631ddc461808a\n"
    },
    {
      "commit": "c224f76303b3124c76768761c544410b86b732f8",
      "tree": "6677c2bad1bc2e9ee1083f336da4866f3f17d71c",
      "parents": [
        "481ffa505bb1d8f5089ea98e3b5960d409b6819c"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Nov 15 22:55:03 2011 -0800"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Nov 15 22:55:03 2011 -0800"
      },
      "message": "Add a default Dreams component.\n\nCurrently set to DeskClock\u0027s screensaver, but since it\u0027s a\n(private) string in f/b/c/r/r/values/config.xml any product\ncould overlay this.\n\nBug: 5611008\nChange-Id: I7a4623c9c667a6cff8ed80ad600a8a4460bfafb7\n"
    },
    {
      "commit": "221733a45a89715d1c627f876ca49eeecd21dc08",
      "tree": "631e1a188623e244fc85f76e29d18893e1f4080b",
      "parents": [
        "69a1da4ddec90db501a54f0c4de94e9557aebd2e"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Nov 03 15:21:33 2011 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Nov 04 15:15:41 2011 -0400"
      },
      "message": "Offer the user an option to launch Dreams when docked.\n\nSystemUI now registers for DESK_DOCK launches, so users with\nother dock apps installed can still opt to use those in this\nnew regime.\n\n(Part of migrating users away from DeskClock as the dock app.)\n\nBug: 3155234\nChange-Id: I0da0f04f8a0a89e7d237c092f16f4f27eb88c92c\n"
    },
    {
      "commit": "5f839f8ee426cc42af3ee0eaf5236f2f6930dd15",
      "tree": "c12a6124c16f435355563454e12b1f394ed39dcd",
      "parents": [
        "34877877bb563e7e20600e6777cca4dc358a12d9"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Oct 12 01:45:26 2011 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Oct 12 10:48:05 2011 -0400"
      },
      "message": "Fix obsolete Honeycomb platlogo.\n\nBug: 5438131\nChange-Id: I848bcc8e4d6cdd28c1ffaa08b7fcceb87242932a\n"
    },
    {
      "commit": "d2509fd83597595914ef0627685e917380863eb6",
      "tree": "31ae51c4cb2664615c08ceb99f6363b084199cb4",
      "parents": [
        "d61a3a1bed57fc33fb0fa132521746bb58bba6be"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 12 12:29:43 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 12 12:29:43 2011 -0700"
      },
      "message": "Add boot mode where only \"core apps\" are started.\n\nA core app is one that has coreApp\u003d\"true\" in its manifest tag.\n\nThe system can successfully boot (though a little painfully) with\nonly framework-res.apk, SettingsProvider.apk, SystemUI.apk,\nDefaultContainerService.apk, and Launcher2.apk set as core apps.\n\nCurrently this boot mode is always turned off.\n\nChange-Id: Ieaa4a8031c2c391a12996aa8d8b1d65fc2b09d6b\n"
    },
    {
      "commit": "fc8fa638617efb5695a1f89ea75375faebbe2a40",
      "tree": "685aeed4995ea17399accf5d46545038235d5105",
      "parents": [
        "9a5505f0253a9114aea6192a22da6ec1c1b85ed2"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 17 16:20:47 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 17 17:45:05 2011 -0700"
      },
      "message": "Fix issue #5128639: SystemUI grows by 10MB after taking a screenshot\n\nWe now do the screenshot in a separate process.\n\nAlso change the recents panel to not use hardware acceleration\non lower-end devices.  And improve how it gets shown to not\nload all data up-front which results in a long delay when you have\nlots of recents.\n\nChange-Id: Ia309a90f9939e5405758621b3f7114597bd0c02a\n"
    },
    {
      "commit": "ba39839444532af0ed3766f736582413f6d7a40b",
      "tree": "38f89252a63a327f9c9861ceea2b4e3849af28d2",
      "parents": [
        "2a2ec87b55d423ae91385d4e9f51725154b7a272"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 01 16:11:57 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 01 17:55:54 2011 -0700"
      },
      "message": "Move ImageWallpaper to SystemUI process.\n\nNice to not load 4MB bitmaps in the system process.\n\nAlso, hey, with how we are now scrolling the surface instead of\nthe bitmap, there is no reason to keep that 4MB bitmap loaded in\nto memory.  So don\u0027t.\n\nUnfortunately it looks like for some reason the VM is still\nholding on to the bitmap.  I\u0027ll need to figure out why.  Later.\n\nChange-Id: Ib3503756144502fc5c8d5e294248c2417c4fe8c8\n"
    },
    {
      "commit": "2efd2dbbac9eac89620683696c6076463c3a1cd6",
      "tree": "ca48adf4208daee43a4444a0fdb61fcb939858c5",
      "parents": [
        "b7d95a46dfacf04896d5b084f13bcbe6eab33633"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jul 19 16:32:49 2011 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Jul 28 16:01:20 2011 -0700"
      },
      "message": "Support full-backup encryption and global backup password\n\nIf the user has supplied a backup password in Settings, that password\nis validated during the full backup process and is used as an encryption\nkey for encoding the backed-up data itself.  This is the fundamental\nmechanism whereby users can secure their data even against malicious\nparties getting physical unlocked access to their device.\n\nTechnically the user-supplied password is not used as the encryption\nkey for the backed-up data itself.  What is actually done is that a\nrandom key is generated to use as the raw encryption key.  THAT key,\nin turn, is encrypted with the user-supplied password (after random\nsalting and key expansion with PBKDF2).  The encrypted master key\nand a checksum are stored in the backup header.  At restore time,\nthe user supplies their password, which allows the system to decrypt\nthe master key, which in turn allows the decryption of the backup\ndata itself.\n\nThe checksum is part of the archive in order to permit validation\nof the user-supplied password.  The checksum is the result of running\nthe user-supplied password through PBKDF2 with a randomly selected\nsalt.  At restore time, the proposed password is run through PBKDF2\nwith the salt described by the archive header.  If the result does\nnot match the archive\u0027s stated checksum, then the user has supplied\nthe wrong decryption password.\n\nAlso, suppress backup consideration for a few packages whose\ndata is either nonexistent or inapplicable across devices or\nfactory reset operations.\n\nBug 4901637\n\nChange-Id: Id0cc9d0fdfc046602b129f273d48e23b7a14df36\n"
    },
    {
      "commit": "41ff7ec82422a5b6d00892afdb3232bc0e53d851",
      "tree": "9085ebb6bcc39a20f98eeb71860f2dad01f604ed",
      "parents": [
        "a94b9ad23ac1f281c9d2dac02d01aa07ca5e1682"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Jul 25 15:21:22 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Jul 27 09:31:39 2011 -0700"
      },
      "message": "Revise data limit notifs, watch kernel alerts.\n\nTeach NetworkPolicy limits to \"snooze\" when requested by user, and\nnotify with both dialog and notification.  Register for network alerts\nthrough NMS to trigger updates immediately instead of waiting for\nnext stats update.\n\nEnforce that all NetworkPolicy are unique on a template basis, and\nmove SCREEN_ON/OFF broadcasts to background thread.  Launch SystemUI\nand Settings directly instead of using actions, and include full\nNetworkTemplate in extras.\n\nTests to verify notification and snooze behavior.\n\nBug: 5057979, 5023579, 4723336, 5045721\nChange-Id: I03724beff94a7c0547cb5220431ba8d4cd44d077\n"
    },
    {
      "commit": "45ce864ef41ce90938cc34d42a8e1075f69e7a61",
      "tree": "c12a0220ea2b319586149baaf00703771e642d9e",
      "parents": [
        "901e022c0c0923867e60c681f70412cfe6179e60"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jul 14 16:10:16 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jul 14 16:10:16 2011 -0700"
      },
      "message": "Move LoadAverageService to the SystemUI apk.\n\nChange-Id: I442e264802d1e35cd7d27bae121ae75f932595b6\n"
    },
    {
      "commit": "3ac588b09af2a7c4fb91d05ad230779dbd214166",
      "tree": "7526b1693c16362b49a20940cf078178e1c4a13e",
      "parents": [
        "8bc003e2f6668c5b6b855593a3a5e3828750fe9a"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jun 30 12:54:36 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat Jul 02 22:07:25 2011 -0400"
      },
      "message": "Revert \"USB connected notification and temporary USB options dialog\"\n\nThis reverts commit 5787a2d5b4e5bd60087eb7fbb13c97c7d0ba113e.\n\nChange-Id: Ia5f097ffaa3798a42f71d005cffd5007556882d5\n"
    },
    {
      "commit": "9112ec3039dda4186c6f957981237c0691db2269",
      "tree": "684de37f923204e28db85f85b336b68d59dc58e9",
      "parents": [
        "e2474bc711c5534ab20949206c54eb364d9a8ac5"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Mon Jun 27 13:15:32 2011 -0700"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Fri Jul 01 10:47:07 2011 -0700"
      },
      "message": "Binding Pwr+VolDown to take screenshot.\n\nChange-Id: I77b018538f6bc870f59df0b5336ba95f4582beec\n"
    },
    {
      "commit": "5787a2d5b4e5bd60087eb7fbb13c97c7d0ba113e",
      "tree": "0e6b497309b9aa41d8821a160e0ccbb4447b91bf",
      "parents": [
        "ecedfdc7794048cd539e3df92b641a18a05acdf7"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Jun 17 12:21:39 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Jun 17 19:49:05 2011 -0400"
      },
      "message": "USB connected notification and temporary USB options dialog\n\nThis change adds a notification when USB is connected.\nSelecting the notification brings up a dialog to allow switching between\nMTP and PTP modes, and also allows mounting a CD image for installing AFT.\nThe UI design is not final - this is a temporary implementation of the UI.\n\nChange-Id: Idd678537aba595fd4cb183ea755bf437f372d826\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "3b1fc47d004f6b29af8f40d181baa3460b1e3b15",
      "tree": "920a9fe99b800ada9f13e7e5482d0c3c6f0df393",
      "parents": [
        "f71e5469441286c6f466043e64a7f6492557cbd9"
      ],
      "author": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Mon Jun 13 10:54:40 2011 -0700"
      },
      "committer": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Wed Jun 15 16:50:04 2011 -0700"
      },
      "message": "Port recent apps from tablet to phone\n\n- wire up to long press on home\n- remove unused recents activity\n- remove duplicate recents resources in -large directories (using -sw600dp instead)\n- fix issue with zoom/scale translation when recents was brought up\n\nChange-Id: I45538ccaff49b46ac3659c4828f9e2b0cd075241"
    },
    {
      "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": "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": "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": "7d9ea8ccc8a9c0a9a947fbf303ead738528445f6",
      "tree": "75ce5fe604a3affcdd197986442a821642383037",
      "parents": [
        "5e63e2515f3f0d2712d80f2cb27f263f8d3d1081"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Tue Jan 11 10:28:58 2011 -0500"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Tue Jan 11 14:47:26 2011 -0500"
      },
      "message": "Simplify panel animations with an eye to performance.\n\nThings are faster, but we\u0027re not buttery-smooth yet.\n\nBug: 3322970\nChange-Id: Ib63bdc2e807b039197a12d3ed3935653e6237ae0\n"
    },
    {
      "commit": "f3c3c4fd14cb4185ec6df5a4355aab8b9f4039dc",
      "tree": "848b4faed343c2fc72a800b0973e6fa1ebbe7d4a",
      "parents": [
        "10e370c68902782c17c42e92c8d5a21978442010"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Thu Oct 21 11:09:02 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Thu Oct 21 15:42:34 2010 -0400"
      },
      "message": "Refactor SystemUI so the status bar isn\u0027t a Service of its own.\n\nThere is now one SystemUIService, which starts the status bar service.\nPretty soon there will be other things running in here too.  This way\nwe don\u0027t need to have each of them started by something individually.\n\nThis also moves the choice between tablet and phone status bar into\nSystemUI.apk, which seems like a much better place for it.\n\nChange-Id: Ib69ef2f43d648764f8dbb52008f5d036a1ee07d9\n"
    },
    {
      "commit": "bc931eaf154b8f196fd15983b1d0603e12dae890",
      "tree": "2f9526d72a0cec64ee192cbbd45629e0844efdb5",
      "parents": [
        "db6303e51ef2779b2b6b8b6dc557b5de9b7fdcf0",
        "a007ab294d83db987b05b49ab869566978a87494"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Oct 13 17:01:17 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 13 17:01:17 2010 -0700"
      },
      "message": "am a007ab29: am ffbc4b94: Merge \"Fix SD card mounting issues #3074555 and #3072332\" into gingerbread\n\nMerge commit \u0027a007ab294d83db987b05b49ab869566978a87494\u0027\n\n* commit \u0027a007ab294d83db987b05b49ab869566978a87494\u0027:\n  Fix SD card mounting issues #3074555 and #3072332\n"
    },
    {
      "commit": "d39d515b9110d7405d0f03dbf612ba5c9b8ac566",
      "tree": "8213cdddd588582510d54781f2f56a1247b63803",
      "parents": [
        "c8511af04a442551a204b1f47fabb317bcf54be0"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 11 17:14:31 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 11 19:12:21 2010 -0700"
      },
      "message": "Fix SD card mounting issues #3074555 and #3072332\n\nChange-Id: I79572bb4e92d2546abd97512a119ae74f0d72019\n3074555: Kill \"Shared storage safe to remove\" notification\n3072332: \"blank shared storage\" notification doesn\u0027t go anywhere\n"
    },
    {
      "commit": "c4cf1305d6e27ac35b2c7d891df8885e29fce693",
      "tree": "d6be19513bbacdcd7098f8792ed6401b8d17ab1c",
      "parents": [
        "1beeab70a22c1d880b9aa7dfba09ef1d4203a37d"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Fri Sep 24 18:29:03 2010 -0700"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Sep 28 17:39:46 2010 -0700"
      },
      "message": "Several improvements to RecentActivities:\n\nIt now toggles between show/hide for each tap on the home button.\n\nAdded new bitmap generation for lighting and halo effect while loading.\n\nUses new CarouselViewHelper class to manage textures and threading.\n\nUses a \"real view\" to render detail text.\n\nActivities can now overload onCreateDescription() to show a\ndescription in Carousel.\n\nImproved startup and resume speed by posting single event to\nrefresh the activity list.\n\nChange-Id: Id5552da75b9d022d24f599d11358ddababc97006\n"
    },
    {
      "commit": "013cfc1116e3382981aa0da903d97fc4fdb2c791",
      "tree": "0b35fda495c25a995d388aad0482f84e8b1b3f4e",
      "parents": [
        "35dc79da11639117aab34d3278a7ae90984c0f87"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Sep 08 15:23:18 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Sep 08 17:27:41 2010 -0400"
      },
      "message": "move recent apps around, attempting to make it not crash.\n\nI think the problem is some kind of Context mismatch because the resource was in the framework but\nreferencing an app class.\n\nChange-Id: Ia6b37c9c8be5dddc836331859e779cd80dd32596\n"
    },
    {
      "commit": "d39e388e6d7f19d6e8d620e449af4124efab1d0d",
      "tree": "b259178ffad67caec0129509445b39354e2c1d98",
      "parents": [
        "1770b872897d208a6f1fd4c7c9c4203cd3b6af4d"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Tue Aug 31 14:16:13 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Thu Sep 02 11:34:20 2010 -0400"
      },
      "message": "Redesigned system bar and quick settings panel.\n\nChange-Id: Ie26767a8c25af64809cf2fd1d8364791cb7e55ed\n"
    },
    {
      "commit": "e6ad1a8ba29bdd5d61ad1c91146def582c8c0334",
      "tree": "38f2fc4e2e1914d9e788022f44ec9e4cffa52e32",
      "parents": [
        "a0b436234d999a05b1ddb571dea3956ad5139a4c"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Fri Aug 20 19:25:39 2010 -0700"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Wed Aug 25 20:43:00 2010 -0700"
      },
      "message": "Fix 2797185: Integrate 3D RecentApps View into system.\n\nThis adds 3D recents to the platform.  Enabling it is a\nmatter of setting \u0027config_enableRecentApps3D\u0027 on devices\ncapable of supporting it (those with OGLES2.0 at the moment).\n\nChange-Id: Ife7bfe8ca02e7657821b68f915e31b0dab50cd2c\n"
    },
    {
      "commit": "37b4a3c2f2e85701f06e85b7240f1c724f8d2dea",
      "tree": "08348d20a0d8c9189f60abca697983bfd222fa2b",
      "parents": [
        "5688ac84bd337c6c7a2df4330e40d04af903f74d",
        "f4e145fd123a6941348e16a595107b155bd880e8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Jul 31 12:19:39 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Jul 31 12:19:39 2010 -0700"
      },
      "message": "am f4e145fd: am 543f250d: Merge \"Make the systemui process persistent.\" into gingerbread\n\nMerge commit \u0027f4e145fd123a6941348e16a595107b155bd880e8\u0027\n\n* commit \u0027f4e145fd123a6941348e16a595107b155bd880e8\u0027:\n  Make the systemui process persistent.\n"
    },
    {
      "commit": "26755a347c78e33feb70abeded1e5aca8acd4cf5",
      "tree": "3cb25c78058dc629335f17a945fd73e965b92df5",
      "parents": [
        "d2165cfce7911dac66d1195ed9123e79b086d22b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jul 30 17:24:38 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jul 30 17:24:38 2010 -0700"
      },
      "message": "Make the systemui process persistent.\n\nThis ensures that the system won\u0027t kill it for memory,\nthe user can\u0027t stop services inside of it, etc.\n\nChange-Id: I923c376afa1133bccc000253f5bba851f9119a52\n"
    },
    {
      "commit": "808182dc874e93582da38d013a4a790d6bc08fc9",
      "tree": "3a490a909b37211e4dac570ac6f0153e1b1aed4c",
      "parents": [
        "2707d6026240bcca6f0e35e2e1138958882e90ce"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@joeo-macpro.local",
        "time": "Fri Jul 09 18:52:06 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Jul 12 14:29:15 2010 -0400"
      },
      "message": "checkpoint tablet status bar\n\nChange-Id: Ia9089cce370ead4e685dffbca722fa8404a8f443\n"
    },
    {
      "commit": "a2dd4c17bbe47876b909b09f54505deda379d2b4",
      "tree": "f5749edd50c2edf0fe3d556e6841e7fe0496df8a",
      "parents": [
        "6be4739e1b302eb447dee195eaecbfcf82317310"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 30 17:02:37 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jul 01 07:51:04 2010 -0400"
      },
      "message": "put the status bar back in the system process\n\nChange-Id: I401b0ac8e3c96b61e787eb18341d18be75b3761d\n"
    },
    {
      "commit": "1c95ecb47a19e18d0c51f3fd2931d13e9bd845b9",
      "tree": "3165e47d2443227eeb32cf3948fdf5473dd3bf8e",
      "parents": [
        "b54ef61434eb82a53d8c840d86d1d656215604f9"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Jun 28 17:19:12 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Jun 29 11:00:04 2010 -0400"
      },
      "message": "recombine StatusBarService and PhoneStatusBarService\n\nChange-Id: I64178209985bfac283740d6a667211d2f962f71a\n"
    },
    {
      "commit": "9e875fcb55dad6795e823207693c5ca877941d3e",
      "tree": "f5044c92c2660ac12b276a9c6937d9b727c86e91",
      "parents": [
        "8bc6c5141974dbc36a6fe416853f558921be9f24"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Jun 07 11:12:11 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 09 14:33:29 2010 -0700"
      },
      "message": "Start the status bar service based on a configuration option, instead of trampolining through\na braodcast receiver.\n\nChange-Id: I6ae0740fea07350b80c35c0ee2d938e0364d773e\n"
    },
    {
      "commit": "8bc6c5141974dbc36a6fe416853f558921be9f24",
      "tree": "c9e511a5d065abb8f6d0c9f4965ef2d63965c7a5",
      "parents": [
        "005847b03b2ebe3eb1a974a8a04ad51bca6636cd"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Jun 04 16:21:12 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 09 14:33:23 2010 -0700"
      },
      "message": "Require the STATUS_BAR_SERVICE permission for something to be the status bar.\n\nChange-Id: I57b2d296e0d0cef0d256ae6697fffc47188d14df\n"
    },
    {
      "commit": "fe4f3ae33c8da86585399b4167fd7987c8a16066",
      "tree": "9d106e681a8f94a024ecd87ce50f584991e99d6b",
      "parents": [
        "d2b1f00e1e34cdce0047af7374aa57b1e4b5b040"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Jun 04 11:25:26 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 09 09:15:25 2010 -0700"
      },
      "message": "Move the usb mass storage notification \u0026 activity into SystemUI.apk.\n\nAlso fix the notification to show properly when the runtime is restarted.\n\nChange-Id: Id0c7ef9f9dc9c9df18428cbaa7db1703f085137e\n"
    },
    {
      "commit": "79de0c550037a5328bbc7f4fddaf02f192a5c283",
      "tree": "78ecd96630ea193e5ff04364f01f4fe4a2f65e63",
      "parents": [
        "7dd8c6e4eae18a5a0f5f834f39f58f868f1fc720"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed May 26 17:03:26 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:45 2010 -0700"
      },
      "message": "Move the StatusBarPhone package into a new catch-all SystemUI.apk.\n"
    },
    {
      "commit": "94c98c0ed5db12cedcd3f48f63708b76e5fb1398",
      "tree": "620888f9a67fa611261b67400013e6802054b502",
      "parents": [
        "089de88fc2f08d284cf8031aa33cff06011a4162"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Apr 12 09:03:27 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:40 2010 -0700"
      },
      "message": "PhoneStatusBarService\n\nChange-Id: I8c71f827f6cfb4f5dd5f13891c54fcd1f9680a46\n"
    },
    {
      "commit": "2314aab5064ce09f09270e52fa12a38d07464278",
      "tree": "835e5fcaec33d61b992eaf99b3befe9263a326ab",
      "parents": [
        "c87d5849f22d805b3dde8f70f60ddfadfc7c7b9d"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Apr 08 16:41:23 2010 -0500"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:39 2010 -0700"
      },
      "message": "First pass at splitting the status bar for the different devices.\n\nChange-Id: I2f568df92f88dfe8de18d24dd004239f52761aa6\n"
    }
  ]
}
