)]}'
{
  "log": [
    {
      "commit": "8f8fcfa319e0e0af14aa8f8555be58555703af02",
      "tree": "16c87ff384fc21818d5e62978ea0bd29a85be9c5",
      "parents": [
        "1751086360056bc60d00f2ed2988bc82be9e7bd9"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Aug 27 22:49:15 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Sep 01 14:02:30 2010 -0400"
      },
      "message": "Notifications are now light-on-dark in the windowshade.\n\nFinally.\n\nThis also fixes that little 1px gap that would occasionally\nshow through to the carbon fiber background (changed to\nsteel cord for now) between the last notification and the\nwindowshade\u0027s handlebar. It still gaps a little while you\u0027re\ndragging, due to the asynchronous motion of the various\nwindows involved, but when the panel is still you shouldn\u0027t\nsee any background. (Man, that drove me crazy.)\n\nBug: 2949229\n\nChange-Id: If085f4ab7dfb7c3868c30469661907d5d63f070b\n"
    },
    {
      "commit": "6659284d68bb04539891456700c8da2d0bae7d09",
      "tree": "1bcec15ce27b4dd212ccc5cdb16939168bf23dc2",
      "parents": [
        "2382755730206da52b64bf7bd2fad421f9a6fd0d"
      ],
      "author": {
        "name": "Jake Hamby",
        "email": "jhamby@google.com",
        "time": "Tue Aug 24 19:55:20 2010 -0700"
      },
      "committer": {
        "name": "Jake Hamby",
        "email": "jhamby@google.com",
        "time": "Tue Aug 31 14:37:30 2010 -0700"
      },
      "message": "Allow Bluetooth radio to be toggled in Airplane mode.\n\nAdd \"bluetooth\" to the list of toggleable radios. Because this string\nis in the Settings DB, I had to bump the version number. Why is this in\nthe settings DB anyway, rather than a carrier config option?\n\nI also discovered that the SystemUI package copied the entire contents of\nres/values/defaults.xml from SettingsProvider, when I originally tried\nto update the unreferenced SystemUI version of the setting. To prevent\nfuture confusion, I removed all of the values from the SystemUI version\nof res/values/defaults.xml.\n\nChange-Id: Ib8a75c85b9db5c1963b65538ee2765d5087e67d2\n"
    },
    {
      "commit": "27cf4ad88ff8ba2b64d806b0ebb0181b1f42c888",
      "tree": "a9fafb08eb246add0052905b54b8f63395d4a02d",
      "parents": [
        "0776deff39b7fe8435f2cbf6aa84bf202bac70f5"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Aug 27 23:36:20 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Aug 27 23:36:20 2010 -0400"
      },
      "message": "Fix build.\n\nChange-Id: I848bf50dc7c928e53a3637c4cec51ebcaef4f47f\n"
    },
    {
      "commit": "0776deff39b7fe8435f2cbf6aa84bf202bac70f5",
      "tree": "88033600d72351efdcc1fa1e9225699cca8d79da",
      "parents": [
        "d02bdaab495641ab50e2123fdfd99a819cc40540"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Aug 27 11:06:33 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Aug 27 22:57:39 2010 -0400"
      },
      "message": "More obsolete status bar bits. DO NOT MERGE\n\nBug: 2949215\nChange-Id: Ibf39d37df63ce4bbd0e0da5325495feec9d69a67\n"
    },
    {
      "commit": "d02bdaab495641ab50e2123fdfd99a819cc40540",
      "tree": "63b4618d41b340ea2d4f01b98da2ce0ba478c032",
      "parents": [
        "7046bd924f77c54585b9e0e0c95e5edd2ceb55a3"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Aug 26 10:28:46 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Aug 27 22:57:39 2010 -0400"
      },
      "message": "Remove experimental immersive mode support. DO NOT MERGE\n\nBug: 2949215\n\nChange-Id: I7d998ef571ef7e149bb96261430e92150b80b77d\n"
    },
    {
      "commit": "85387d7ba36e56b291cbde87acb5a5b2200fe01c",
      "tree": "adea29b181a25c2ffd8ecaebded62fb4d2dc1a93",
      "parents": [
        "4f8c2f26bfd9de8c8a31369dbedd415c7d6d9699"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Aug 26 10:13:11 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Aug 27 16:40:06 2010 -0700"
      },
      "message": "Allow native shared libraries in ASEC containers\n\nThis change moves the native library handling earlier in the package\ninstallation process so that it may be inserted into ASEC containers\nbefore they are finalized in the DefaultContainerService.\n\nNote that native libraries on SD card requires that vold mount ASEC\ncontainers without the \"noexec\" flag on the mount point.\n\nChange-Id: Ib34b1886bf6f94b99bb7b3781db6e9b5a58807ba\n"
    },
    {
      "commit": "3a2952baf1151f3d96d46cb3bbed600a087e14e8",
      "tree": "02f39bcc9841d2f9292d24e21bd921402c2710af",
      "parents": [
        "a90b7f0125389b9e1040d2be82aad4ef74ea6071"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Thu Aug 26 17:16:14 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Thu Aug 26 17:51:22 2010 -0700"
      },
      "message": "Fix some bugs in SettingsProvider that I introduced the other day.\n\nBUG\u003d2953979\n\nChange-Id: Ic9813e0ce629c56050d626ed52de67e6ab1ab07e\n"
    },
    {
      "commit": "246ba1121c41d518af5b755fa7a8ded2c4a0ec8b",
      "tree": "0436f95ff9b0a693031f8682a67b5446b57f7923",
      "parents": [
        "ed101933ab7506d841d6eaa7bebda4b674c38088"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Thu Aug 26 16:52:26 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Thu Aug 26 16:53:16 2010 -0400"
      },
      "message": "Need to close the windowshade on ACTION_CLOSE_SYSTEM_DIALOGS and ACTION_SCREEN_OFF.\n\nBug: 2827958\nChange-Id: I1f9467a2a80fdc1d004a678327a47e7bc8917a18\n"
    },
    {
      "commit": "2b81d6dd8aa470aff6026c019ca10dbc6d66f7c1",
      "tree": "f0064cbb650df3c1631a4dca054fbccb71c0ef49",
      "parents": [
        "bb0eb5ca84262c90417fbb1b1c8ea3da19ac6e3a",
        "02e18d4d4eed949da02fd8aa87801858d99b902a"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Aug 24 18:21:39 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Aug 24 18:21:39 2010 -0700"
      },
      "message": "am 02e18d4d: Merge \"Make the default backup configuration \"disabled; local transport selected\"\" into froyo\n\nMerge commit \u002702e18d4d4eed949da02fd8aa87801858d99b902a\u0027 into gingerbread\n\n* commit \u002702e18d4d4eed949da02fd8aa87801858d99b902a\u0027:\n  Make the default backup configuration \"disabled; local transport selected\"\n"
    },
    {
      "commit": "f366a9b007909cc6d214fbee26a97e880734a094",
      "tree": "868fb57fd51d7c03ffbedb56ee27db5146e2c3b2",
      "parents": [
        "e2978c8dcafdf20c2b49999ec423cb5f76d4a583"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Aug 24 16:14:07 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Aug 24 18:07:33 2010 -0700"
      },
      "message": "Negatively cache settings and proactively slurp settings into cache.\n\nThe settings database cache is tiny (or should be tiny) and can be\nslurped into memory.  Once it\u0027s in memory and we know we have it all\nwe can avoid going to disk at all for keys not in the cache.\n\nThis is a big percentage of the StrictMode violations \u0026 latency.\n\nChange-Id: I649411be0c40d348f58376ccfb3eda059fd69fbc\n"
    },
    {
      "commit": "02e18d4d4eed949da02fd8aa87801858d99b902a",
      "tree": "9e0014a88414d3d1364930a8cfa6abd123183cc3",
      "parents": [
        "397c0f5a18281e3880b9359feab683a13d271a03",
        "09dedc998f71c02833950c6476e4d3091c25a8ba"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Aug 24 18:05:09 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 24 18:05:09 2010 -0700"
      },
      "message": "Merge \"Make the default backup configuration \"disabled; local transport selected\"\" into froyo"
    },
    {
      "commit": "09dedc998f71c02833950c6476e4d3091c25a8ba",
      "tree": "fa0c889b1c598dca7bf9f852de37ee09813e048f",
      "parents": [
        "5aa4680eb07fd4ca9212ee29c4fc0659e00c958d"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Aug 24 15:37:42 2010 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Aug 24 17:52:45 2010 -0700"
      },
      "message": "Make the default backup configuration \"disabled; local transport selected\"\n\nBy default out of the box, an Android build will have the backup mechanism in\nits \"disabled\" state and pointed to the LocalTransport test transport.  We\ndo not want retail devices built without the Google backend to have backup\nenabled out of the box; it would cause them to gradually grind away the\ncache partition for no good reason.  On those devices with this change,\ndevelopers would need to enable backup manually (possibly using the normal\nSettings UI; more probably using the \u0027bmgr\u0027 shell tool), but would no longer\nalso have to manually configure the active transport name.\n\nDevice vendors producing Google-enabled products will simply use resource\noverlays to configure the default state and transport name for their builds.\nWhen building a product that points to the Google backup transport by default,\nthe \"def_backup_enabled\" boolean resource should still be set to \u0027false\u0027 --\nthe Google backup disclosure activity supplied by GSF will take care of\nenabling the backup services if the user opts in to it.  (Basically, vendors\nwill never have to overlay the def_backup_enabled resource -- the default\nvalue of \u0027false\u0027 is correct for any retail device regardless of whether it\ncan use the Google backup transport.)\n\nIn the SDK build, the default transport will remain the local one, but\nthe default enable state overridden and set to \"true\".  This is the ideal\nsituation for developers: all aspects of the backup mechanism immediately\noperative with no manual configuration needed.\n\nChange-Id: I866f8f627b023b338bc7757e61604e6d8a901a34\n"
    },
    {
      "commit": "3f677b1b3e45240728de39d60441d791c0e8d3f8",
      "tree": "2bf8c5f2da2beea1c2258b85dc9c423c68c28ca8",
      "parents": [
        "dc2eabd10847d8e7f016fec5232d40b723ce2828",
        "0398bf70e703e89aacb074e4ef9b4a86843e3d06"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Aug 20 06:01:20 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 20 06:01:20 2010 -0700"
      },
      "message": "Merge \"Fix periodically disappearing status icons.\" into gingerbread"
    },
    {
      "commit": "a695cbc94355017d02a3a6c17d866776a8eee24c",
      "tree": "9f46428034ac29414e8b5cd7e6a74d56a30d374c",
      "parents": [
        "cbd038fe207f183bc7e0a610973473f7c2e9d118",
        "0fe27cf5bd1407bc7b4eabefaa91ff535582badc"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Thu Aug 19 14:05:27 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 19 14:05:27 2010 -0700"
      },
      "message": "am 0fe27cf5: make android_id random seed depend on time as well as ro.serialno\n\nMerge commit \u00270fe27cf5bd1407bc7b4eabefaa91ff535582badc\u0027 into gingerbread\n\n* commit \u00270fe27cf5bd1407bc7b4eabefaa91ff535582badc\u0027:\n  make android_id random seed depend on time as well as ro.serialno\n"
    },
    {
      "commit": "0398bf70e703e89aacb074e4ef9b4a86843e3d06",
      "tree": "48ee9a9496e0435685d536e37b58f0041cd1c0f2",
      "parents": [
        "bccfcd95d3cc4029c1ed8514d31436a857283873"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Aug 19 14:55:38 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Aug 19 16:59:11 2010 -0400"
      },
      "message": "Fix periodically disappearing status icons.\n\nOccasionally the animation listener wasn\u0027t being told that\nthe ticker animation had completed; this callback was\nessential to keeping the status bar\u0027s internal state correct\n(namely, setting mTicking\u003dfalse). The safest thing to do is\nsimply set mTicking to false immediately upon tickerDone()\nor tickerHalting().\n\nBug: 2915280\nChange-Id: I997911b12fa2985fa83b42154fb3485220886219\n"
    },
    {
      "commit": "0fe27cf5bd1407bc7b4eabefaa91ff535582badc",
      "tree": "c37a29d2893c5554325b53ad0ed1da564ecc8183",
      "parents": [
        "46906276448dd36e7a5cca38fbe9fdb3142f7948"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Thu Aug 19 13:38:26 2010 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Thu Aug 19 13:38:26 2010 -0700"
      },
      "message": "make android_id random seed depend on time as well as ro.serialno\n\nChange-Id: I0a48aacd8da30896d91fa05b7791335e6ed751e5\n"
    },
    {
      "commit": "f870000ff0f137416832f42efccc362454e5c5d5",
      "tree": "2c90b53e02d76ca4b1b491e5a9a04b65f1dbdfe8",
      "parents": [
        "8c11e952305327183db9f7be719e4c94fde15a7c"
      ],
      "author": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Tue Aug 17 16:43:35 2010 -0700"
      },
      "committer": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Tue Aug 17 16:43:35 2010 -0700"
      },
      "message": "Import revised translations.  DO NOT MERGE\n\nChange-Id: Id47f0897de1361ba755f149b2886d7d1f79ff494\n"
    },
    {
      "commit": "f8d5809eee3eb6c9e33bcc0363ac7d85559f6e08",
      "tree": "1888704d255ae793bdb66eed23d622815cce70d1",
      "parents": [
        "567722eee190f7cf88dc7ea95167db76d5514842"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Mon Aug 16 15:15:41 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Mon Aug 16 15:15:41 2010 -0400"
      },
      "message": "Fix crash in status bar ticker.\n\nBug: 2900850\nChange-Id: Iaf71e093578501258a24cd43e5deaf624d28461e\n"
    },
    {
      "commit": "72d54efd3d32cb56766ef625ebc30d4c3a963222",
      "tree": "d7ab14163b71595e06e5b6029a5d781113ab6271",
      "parents": [
        "876247784ee6202066abdefd8366f2e09e681fab"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Jul 22 12:07:34 2010 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Sun Aug 15 15:55:44 2010 -0700"
      },
      "message": "DO NOT MERGE Fix wifi status icon\n\nDoing a setIcon makes the icon visible and overrides\nsetIconVisibility\n\nChange-Id: I7a177cc07e46f211d421e4aa86203ece5936c3fb\n"
    },
    {
      "commit": "a02b8b05dd1e8b8cf169e1f89542ef835b11fc13",
      "tree": "aa1b5fb6b900c064d9914f51c9c3817a2c46f9df",
      "parents": [
        "9902196f9885d369e37cf44084e3f04513511ab0"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Aug 05 16:14:17 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Aug 11 11:20:53 2010 -0700"
      },
      "message": "Move OBB file reading to DefaultContainerService\n\nThe system_server shouldn\u0027t touch files on the SD card. This change\nmoves the things that touch the SD card out to the\nDefaultContainerService so that it will get killed if the SD card goes\naway instead of the system_server.\n\nChange-Id: I0aefa085be4b194768527195532ee6dddc801cfc\n"
    },
    {
      "commit": "33dc1d7cd0247b46914c55c3460daa75a3c6b88e",
      "tree": "478db4785493107430e5a94809a4207d2b788a64",
      "parents": [
        "866362fcb4db93584143c21934ea355cbf9e0757"
      ],
      "author": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Wed Aug 04 10:37:25 2010 -0700"
      },
      "committer": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Wed Aug 04 10:37:25 2010 -0700"
      },
      "message": "Import revised translations.  DO NOT MERGE\n\nChange-Id: Ibc3e9f1f83159835c2e6c3bcdaa8ff6a7e7fa384\n"
    },
    {
      "commit": "739cdab7cb63d53440bb411fa2d558e2114b4c81",
      "tree": "d51390327a6d9de2fc7ef118a403b07393ddf4a6",
      "parents": [
        "1540a7ea1afcb772b5fcf90f635153f6489eb8ed",
        "930d3af75f9e9663222f4c4a1d75b326cf811e35"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Aug 02 12:33:40 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 02 12:33:40 2010 -0700"
      },
      "message": "Merge \"Do not deference before null check\" into gingerbread"
    },
    {
      "commit": "930d3af75f9e9663222f4c4a1d75b326cf811e35",
      "tree": "30950867a1eec93131934190d0faae893cacd4e3",
      "parents": [
        "7c600369c9695de73ca37db552eb81b8b89d5e76"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Jul 30 16:52:29 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Aug 02 07:52:56 2010 -0700"
      },
      "message": "Do not deference before null check\n\nThe return of parsePackageLite wasn\u0027t checked until after it was\ndeferenced. Move the deference below the null check and remove redundant\nset.\n\nBug: 2852726\nChange-Id: I3eaaea5050948145eed44b64507dc846993d98eb\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": "3ac8eb7278e3603d1a35fdbd2fff540a235da2ab",
      "tree": "1e118b727f51862144447021109abd9e1035b823",
      "parents": [
        "46730fc78388607fd562044cbaaa26ffc9f65337"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Jul 24 18:21:07 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Jul 24 18:21:07 2010 -0700"
      },
      "message": "Update app label.\n\nChange-Id: I6c688fd9292aeaa58435eec6273b3a19cad5eff9\n"
    },
    {
      "commit": "e339464f1c8efe7e53b761cf44ff5be6e537ecad",
      "tree": "a0a0f599c4ccc11fd7cba44e982e039f7b109f49",
      "parents": [
        "5a93032dcbe54223e03102d497d7e04370491737",
        "1bcb665825dc97789e8c1b892ec4298fd0b8c552"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jul 12 19:06:24 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jul 12 19:06:24 2010 -0700"
      },
      "message": "am 1bcb6658: Merge \"Fix issue #2834005: Android Settings.Secure bypass\" into froyo\n\nMerge commit \u00271bcb665825dc97789e8c1b892ec4298fd0b8c552\u0027 into gingerbread\n\n* commit \u00271bcb665825dc97789e8c1b892ec4298fd0b8c552\u0027:\n  Fix issue #2834005: Android Settings.Secure bypass\n"
    },
    {
      "commit": "24117ce3ae32c40798d2d9bda80675814f76730d",
      "tree": "367d36d6036d2e61a80782d29d2638aed6a50201",
      "parents": [
        "ef13d028217ac9766735f627dedc4fc7f48a6f1f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jul 12 15:54:38 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jul 12 17:21:50 2010 -0700"
      },
      "message": "Fix issue #2834005: Android Settings.Secure bypass\n\nChange-Id: Ic4f14e2ff5c2b4f623405d30389863a9e3e82572\n"
    },
    {
      "commit": "f7d2b4a2e096ae1f8ac3a2ed8b2f0e30a237f732",
      "tree": "6e782228f8e077401f8246e7d0210f64825b6cc4",
      "parents": [
        "98738272e3b680559e1e0a7b665a0ebb4038f684"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Jul 08 13:07:41 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Jul 08 13:07:41 2010 -0400"
      },
      "message": "Use fullScreenIntent to show the USB mass storage dialog.\n\nNote that this is not a FLAG_HIGH_PRIORITY notification. In\nimmersive mode the UMS dialog will be suppressed entirely\n(but an icon will still appear in the status bar).\n\nBug: 2821219\nChange-Id: I21f910c8830aff8d0633deda4eb59dbda13262ed\n"
    },
    {
      "commit": "b59b94456b3a8fdfdf524a81274839f657fbb65b",
      "tree": "c8a90be19afe6c1e7f95b374a4f0910d1b64e7a6",
      "parents": [
        "2e6aff8e19ce8292a36fe211f8051dccf1fb9670"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Jun 30 16:25:33 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Jul 07 14:06:27 2010 -0400"
      },
      "message": "Fix icon size in intruder alerts.\n\n(Updated test app to confirm the fix.)\n\nChange-Id: Ife56cf07f282786162e2ebc5aaddbb24dac6cafd\n"
    },
    {
      "commit": "ce9458409699a303879115905ac9e5363af0381e",
      "tree": "b8594a1b9ba0aba2578d080259ae8caa93ee45b4",
      "parents": [
        "54a181b1a2b1517a9479b21fbf7705a688232faf"
      ],
      "author": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Thu Jul 01 17:54:16 2010 -0700"
      },
      "committer": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Thu Jul 01 17:54:16 2010 -0700"
      },
      "message": "Log full exception when failing to inflate notification view\n\nWhen inflating a notification\u0027s view fails, include the exception in\nthe log message.  Without this exception all we get is \"couldn\u0027t\ninflate view for notification \u003cpackage\u003e/\u003cid\u003e\", which isn\u0027t very\nhelpful for tracking down the particular error in the view.\n\nThis exception used to be included in the log message, but it was\nremoved in 005847b03b2 -- any particular reason why?\n\nChange-Id: I623b9e4c8291e4c035f26380e5f22ad6b65176a7\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": "6be4739e1b302eb447dee195eaecbfcf82317310",
      "tree": "b9072f846a6484753e37b8e694f47b6896e481b1",
      "parents": [
        "09b9005769f2b717f637131578ce6cfa6bd62bd9"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 30 14:48:54 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jul 01 07:47:08 2010 -0400"
      },
      "message": "quiet noisy debug spew\n\nChange-Id: I55c3b16f58bbe0ec4c6547c525863a7d16f8263d\n"
    },
    {
      "commit": "294c9fb8990ded73be52a3c1bfddbe1cebcd8b8e",
      "tree": "cac20d7a41c251e57c0ff47b1f362b40d4bc8afe",
      "parents": [
        "caad0a5c6318678902402362df1791d286636344"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Jun 30 14:18:32 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Jun 30 15:32:26 2010 -0400"
      },
      "message": "Improved graphics for the intruder alert.\n\nChange-Id: I9aa6c8995da39f332b724fabe67ed5efe584552f\n"
    },
    {
      "commit": "27a8be4b3526f068e911c8edcd4ee6fa6f492c0f",
      "tree": "d778af9e664e886c0c9b3e44c9e7dccb3af24b2f",
      "parents": [
        "059f009d970fb37ac4e408dcf8e1d2d2cdcf0a84"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Jun 29 15:19:54 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Jun 29 15:19:54 2010 -0400"
      },
      "message": "Support for tapping on an immersive-mode priority notification.\n\nWhen the user taps on an intruder alert (the priority\nnotification in immersive mode), the .contentIntent in the\nNotification object will be sent, just as we handle tapping\non a normal Notification in the windowshade.\n\nChange-Id: Ib6991837b0b2122fe138cddacf347fdbc426b99d\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": "b54ef61434eb82a53d8c840d86d1d656215604f9",
      "tree": "d94d5b8617bf96339eb60935a13ae51809cebb49",
      "parents": [
        "de6bd120c97bb7986a6bac3889288f77bca63288"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Jun 28 14:02:24 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Jun 29 09:45:54 2010 -0400"
      },
      "message": "Separate the status bar height from the icon size.\n\nChange-Id: I9cc8c5e8ed2c48d03b7c1c89f1bf7f94cc119171\n"
    },
    {
      "commit": "5dbd05ed18906be3499978303f2fca4f86211567",
      "tree": "7bb36b68a35508cce28c6fe12dd61e02fe6a3c72",
      "parents": [
        "de1057c4a6aa41c3b88bcc4fd49d70f973f1d9eb"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Mon Jun 28 10:31:30 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Mon Jun 28 16:33:27 2010 -0400"
      },
      "message": "Intruder alert! (First try at the immersive-mode alert bar.)\n\nWhen a FLAG_HIGH_PRIORITY notification is posted and the\nforeground activity is immersive, this window will be shown\nto the user. It disappears after a while (currently 10s,\nwhich is far too long to be usable but is very handy for\ntesting) and can be dismissed by a tap.\n\nArtwork is extremely rough; please ignore the aesthetics.\n\nStill TODO:\n  - sticky alerts for ongoing priority notifications\n  - tap to launch PendingIntent associated with the\n    notification\n\nChange-Id: Ief4a98b84cc836d33359bd7d65de9909f5186317\n"
    },
    {
      "commit": "87160757e827e8e158d233de09d70e7128184729",
      "tree": "c14d78c3feb6526890fd93d90a4aa30366402020",
      "parents": [
        "7dacda1142379df1f1f9854c24e452acdea98436"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Jun 23 16:30:39 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Jun 24 22:09:35 2010 -0400"
      },
      "message": "Basic handling of Notifications with fullScreenIntent.\n\nIf a Notification has a non-null fullScreenIntent AND the\ntopmost Activity is not immersive, that PendingIntent will\nfire (presumably causing a nice dialog or full-screen\nactivity to appear).\n\nImmersive mode handling for FLAG_HIGH_PRIORITY Notifications\nis still unimplemented (although the fullScreenIntent will\nbe suppressed in immersive mode).\n\nNote that currently your fullScreenIntent notification will\nalso get posted to the status bar, so you\u0027re responsible for\nclearing it out (e.g. in onPause in your alert intent). See\nforthcoming changes to StatusBarTest for an example.\n\nChange-Id: Ie750d1b7bcc788bd29ee1d8626f971dd47fd2817\n"
    },
    {
      "commit": "0a0edccafbd464cfe52fdcb60597e1dd58ca73f9",
      "tree": "610f249334ecdd3795a55c4045e495480fcdab23",
      "parents": [
        "2529a45339b7e02d9d2b813358bcecd144a971ea",
        "8932020f542ae6dd4750fa823bbf2d2bcf504267"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 24 17:51:22 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 24 17:51:22 2010 -0700"
      },
      "message": "Merge \"Fix the notification vibration setting and add a test app that lets you recover from the busted state.\" into gingerbread"
    },
    {
      "commit": "8932020f542ae6dd4750fa823bbf2d2bcf504267",
      "tree": "c199716678b9c9360b723666e0961df6cfe69c6a",
      "parents": [
        "7fd22aab4506f65b7929ed1030bdd71c56f7db77"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 24 17:49:44 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 24 17:49:44 2010 -0700"
      },
      "message": "Fix the notification vibration setting and add a test app that lets you recover from the busted\nstate.\n\nBug: 2767349\nChange-Id: Id0c41734e82a1256a49175a2dc6b40f0abaf4f8b\n"
    },
    {
      "commit": "9d39d0cb361c5d3bba04a6bacf299be2162a6e92",
      "tree": "3e08cfc2e7b5e1fabc21d2c0c9184531da78d41a",
      "parents": [
        "01e4cfc47d0a2c7e7ab383d2fb23224ec52c0301"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 24 15:57:42 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 24 17:27:28 2010 -0700"
      },
      "message": "Make bad notifications crash their application.\n\nImplement notification manager handling of bad notifications, to\ncall a new activity manager to have the owner\u0027s process crashed\n(if there is one).\n\nChange-Id: Ib15e8d0c598756f3b39c99cc2045c18e054daf6b\n"
    },
    {
      "commit": "75144ea38e79e3827e69a9f5b53a6fd3a74c4df5",
      "tree": "22151ca24153ffaafbdca7f702139e537a834a45",
      "parents": [
        "f1f259165ffaa4095afbd50fea47ed091cbc14b3"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Jun 07 12:36:25 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 09 14:33:31 2010 -0700"
      },
      "message": "Move the status bar icon list, hopefully for the last time.\n\nChange-Id: Ie495a41dac03e1fe5ddccefcbd2a0673090a6db1\n"
    },
    {
      "commit": "f1f259165ffaa4095afbd50fea47ed091cbc14b3",
      "tree": "f9778c41051b321c95df81f4452661a70ca5fab1",
      "parents": [
        "7a0f36bd93ad8a5b8cb3e1fe56dbdb43a0ad3a57"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Jun 07 11:52:41 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 09 14:33:30 2010 -0700"
      },
      "message": "Call into the notification manager when the panel is revealed.\n\nThis lets it turn off the LED.  However, it seems like somebody broke\nthe notification LEDs.  GRRR.\n\nChange-Id: I3f7066c2b2e1673dc0144a34cf59946351a647be\n"
    },
    {
      "commit": "7a0f36bd93ad8a5b8cb3e1fe56dbdb43a0ad3a57",
      "tree": "04a00561e8e2ec8b8c883d6fb31b3a6b0570ba51",
      "parents": [
        "9e875fcb55dad6795e823207693c5ca877941d3e"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Jun 07 10:24:36 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 09 14:33:30 2010 -0700"
      },
      "message": "Move status_bar_latest_event and LatestItemView into SystemUI.apk.\n\nThen, now that StatusBarManagerService is the only thing in that package,\nmove it up to the regular services package.  (I\u0027ve been waiting for 4 years\nto delete that package!)\n\nChange-Id: If5faf44641319fd19e486d1f4e5bc1c6dfcff3ad\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": "005847b03b2ebe3eb1a974a8a04ad51bca6636cd",
      "tree": "1664f30f2320bddcf44b0af581b492589a38fcda",
      "parents": [
        "d956ae8b813da893ab6a9357acfe287c529d6ac2"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Jun 04 16:08:02 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 09 09:15:25 2010 -0700"
      },
      "message": "Handle errors inflating notifications (and their icons).\n\nOn an inflation error, the StatusBarService cleans up, removes / doesn\u0027t add\nthe views, and calls into the StatusBarManagerService, which tells the\nNotificationManagerService to remove the notification.\n\nThat then calls all the way back into the StatusBarService, but I think being\nextra careful is okay.  Throughout the status bar, it\u0027s all keyed off of the\nIBinder key, so if the app comes in with a good notification while we\u0027re\ncleaning up, we won\u0027t lose the new notification or anything like that.\n\nChange-Id: Iea78a637495a8b67810c214b951d5ddb93becacb\n"
    },
    {
      "commit": "d956ae8b813da893ab6a9357acfe287c529d6ac2",
      "tree": "d42b52d7283da631e5007aa61c6f1fb68ae0ffd4",
      "parents": [
        "bd73d01a9cafc1ee8cc91f9691b5234e2a59bb98"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Jun 04 11:48:18 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 09 09:15:25 2010 -0700"
      },
      "message": "dead code removal\n\nChange-Id: I4a11f027e764c92602d0429947e9ef39edd882e2\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": "d2b1f00e1e34cdce0047af7374aa57b1e4b5b040",
      "tree": "24d8b0b9971e44aa47fcb9e7b5e7eafb5493b237",
      "parents": [
        "55f8209da3048768a6dc24929dec8798e8ddf077"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Jun 04 10:42:41 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 09 09:15:25 2010 -0700"
      },
      "message": "Add some disabled logging and another test case for reapplying the notification views.\n\nChange-Id: I839d7771ab42a5d508ce7d15385f6ac6a4e3be83\n"
    },
    {
      "commit": "169af47b0076457854cc0f92d6b015195837686d",
      "tree": "c60cbfc4b398fcb80d141ec071ef2d7d725a7135",
      "parents": [
        "c91460d2c3a6ad51cdc455abcc540bf887bc6785"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Jun 01 17:10:25 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:46 2010 -0700"
      },
      "message": "remove logging\n\nChange-Id: I42c2332c3c114700f5ade77b63b4f6010ea5507a\n"
    },
    {
      "commit": "c91460d2c3a6ad51cdc455abcc540bf887bc6785",
      "tree": "fb165f0fd0f5afabbbfd1807bf4a32df3475db41",
      "parents": [
        "1a86dd10c11413cf0301a14b1837dbf703f2b9de"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Jun 01 08:18:17 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:46 2010 -0700"
      },
      "message": "Pull the carrier name display in the windowshade out into its own view.\n\nChange-Id: I76ea5e72288245b69273c76a470b54eaec890361\n"
    },
    {
      "commit": "1a86dd10c11413cf0301a14b1837dbf703f2b9de",
      "tree": "13a35835993f69c59abe42597b9bff33cd4c5c8d",
      "parents": [
        "f55105405578bfd8315584e69faa655800edef77"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Jun 01 08:17:58 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:46 2010 -0700"
      },
      "message": "Use the built-in handler instead of allocating another one.\n\nChange-Id: Ia2e5db99b751d3f299c4a9b587ef718212bd8161\n"
    },
    {
      "commit": "f55105405578bfd8315584e69faa655800edef77",
      "tree": "f43d6cce54c3085613c7ad0ff3fffe756d7b8fee",
      "parents": [
        "9834d534696c2db66a42d9c3b8208fcce1dbdc16"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Jun 01 07:46:41 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:46 2010 -0700"
      },
      "message": "Get the ticker working again.\n\nChange-Id: Idb7e456bc302578c3866448334eb0ebf0ba235d4\n"
    },
    {
      "commit": "9834d534696c2db66a42d9c3b8208fcce1dbdc16",
      "tree": "16ffb055d413c6dd2b308755bc16b47a493e64ca",
      "parents": [
        "75199e3ddcf7886c8ee5fbf8b486a8c21335bf14"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Sat May 29 19:03:49 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:46 2010 -0700"
      },
      "message": "better debugging \"slot\" for the notification icons.\n\nChange-Id: Ib7c130a97826f6950f51462ef915a9d0a5f847d6\n"
    },
    {
      "commit": "75199e3ddcf7886c8ee5fbf8b486a8c21335bf14",
      "tree": "42164398a816e20fd0659c32cbbcdc972a4c30a0",
      "parents": [
        "b77f53b21c2185ae3ff7c219c384a6db73f8f4e4"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Sat May 29 17:22:51 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:46 2010 -0700"
      },
      "message": "Populate the notifications at startup of SystemUI.apk.\n\nChange-Id: Ie0b3fd9ed4bc9a012791372e6276f0b5908370a5\n"
    },
    {
      "commit": "b77f53b21c2185ae3ff7c219c384a6db73f8f4e4",
      "tree": "7937a5f4c2a1b64edc49db8b50c877db75da5a69",
      "parents": [
        "87937dbcd1cee800aa6cc9824bfc32b587d893bd"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri May 28 19:59:51 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:46 2010 -0700"
      },
      "message": "Get the IconMerger working again.\n\nChange-Id: I73719f4fd475a39d4c1245de45c6a13c31e6323b\n"
    },
    {
      "commit": "87937dbcd1cee800aa6cc9824bfc32b587d893bd",
      "tree": "10ef2020851e63bd9f4b5bc8f0ce7d91477f7906",
      "parents": [
        "798ac4c7d79534a8230623b737b5b1b6a415d105"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu May 27 13:44:11 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:45 2010 -0700"
      },
      "message": "New shadowy status bar, direct from Z\u0027ha\u0027dum.\n\nArtwork is FPO but serviceable enough. Many hardcoded font\ncolors \u0026 styles were moved to styles.xml where they belong.\nAM/PM finally given the old heave-ho (but configurable in\nStatusBarPolicy.java).\n\nNotification content remains on a light-gray background for\nnow (so as not to screw up custom RemoteViews) but status\nicons will definitely need across-the-board rework to look\nbetter against a dark background.\n\n(Re-integrated on top of new status bar code.)\n\nChange-Id: Ia180b3c2ba8e23c9a2f50cf46f98f12958022b53\n"
    },
    {
      "commit": "798ac4c7d79534a8230623b737b5b1b6a415d105",
      "tree": "969db0c76992419b9a45a8b558c9c94383f54c36",
      "parents": [
        "79de0c550037a5328bbc7f4fddaf02f192a5c283"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu May 27 16:39:00 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:45 2010 -0700"
      },
      "message": "Start moving resources to SystemUI.apk.\n\nChange-Id: Ibf30b8196d65d7fbca1177968cefa5f7a875bf1d\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": "5ee67ebff2e267c02216911f9bf0fc28196c5361",
      "tree": "dcfeb5b447c59e4a197aa6561c2f77b580324493",
      "parents": [
        "9c1d823465fa0bd782b2ea4afc518835b4bfecce"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue May 25 19:42:38 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:44 2010 -0700"
      },
      "message": "Get the text appearance compiling\n\nChange-Id: I1bc0a2ad57f370a0661c30b92e14ac2fce5cdfcd\n"
    },
    {
      "commit": "9c1d823465fa0bd782b2ea4afc518835b4bfecce",
      "tree": "9c4e87cf81bfaf0b76ce0e528ba606319bebebdf",
      "parents": [
        "871bdb9867f6630d8bb28e5607263e8bf4eac3ba"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon May 24 20:02:53 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:44 2010 -0700"
      },
      "message": "Deal with broken notifications.\n\nChange-Id: I21582ba4db70677f411a7e14bcdd7eac7d5a643e\n"
    },
    {
      "commit": "871bdb9867f6630d8bb28e5607263e8bf4eac3ba",
      "tree": "6b3579f5b72d78d3333ba5c2b1d2566775d932b3",
      "parents": [
        "20da8f8ac9cfc8b845231c6b93f5b64a764ab39a"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon May 24 18:36:53 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:44 2010 -0700"
      },
      "message": "Handle bad icon resources.\n\nChange-Id: I87c5fe68ad8016596068ba7889f3b6d36da3386b\n"
    },
    {
      "commit": "20da8f8ac9cfc8b845231c6b93f5b64a764ab39a",
      "tree": "647fa6408db7952dc84fd880b58a5231c8993c7a",
      "parents": [
        "0e26dffd6cfcb09b08a94a857b891fdef7fe2b1e"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon May 24 16:39:29 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:44 2010 -0700"
      },
      "message": "Implement setAreThereNotifications.\n\nChange-Id: I8b69330c35d613ce808a472748dd2651adb5efa3\n"
    },
    {
      "commit": "0e26dffd6cfcb09b08a94a857b891fdef7fe2b1e",
      "tree": "4d558b0f54053f69b942cce90d4950f4d34ee92f",
      "parents": [
        "66b4c5bb36f57a9d83bb7f34288235b82f9be407"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon May 24 16:17:02 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:44 2010 -0700"
      },
      "message": "updateNotifications works.\n\nChange-Id: I924763a2d42ca1967719f3eb72c57d1cbb912dd7\n"
    },
    {
      "commit": "66b4c5bb36f57a9d83bb7f34288235b82f9be407",
      "tree": "560522689de55630e509208bd91dabebdd7213ec",
      "parents": [
        "aaba60b281713d45a0f232580302c7b54a7207df"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Sun May 23 15:39:40 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:43 2010 -0700"
      },
      "message": "Implement removeNotification.\n\nChange-Id: I58b999901b45b4dce6d3af3a7701e0c9ad2b77df\n"
    },
    {
      "commit": "aaba60b281713d45a0f232580302c7b54a7207df",
      "tree": "9e61b9f0133548c1fdc7aacde289c8539fe37698",
      "parents": [
        "e345fff2f80947b0a821f6674c197a02b7bff08e"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Sun May 23 15:18:41 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:43 2010 -0700"
      },
      "message": "Notifications don\u0027t crash when you click them, and pass through events to NotificationManagerService\n\nChange-Id: Iae4a636d3c6d5c617440b11eb5b8bc77838ad584\n"
    },
    {
      "commit": "e345fff2f80947b0a821f6674c197a02b7bff08e",
      "tree": "0e6189b3f1716931b8fe28a8ce1ddc83dadea299",
      "parents": [
        "a0c56fe93925d20d9c0b830b9664699ce557e78c"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Sun May 23 15:18:27 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:43 2010 -0700"
      },
      "message": "notifications show\n\nChange-Id: I9240b803c643874828c95afcf1ba9ed91194dbc0\n"
    },
    {
      "commit": "a0c56fe93925d20d9c0b830b9664699ce557e78c",
      "tree": "b31ff5bb17a888e609a4dbc51de8651252bc7b67",
      "parents": [
        "18e69dfc7235f8a4bfe257f9d1c43539049a22ce"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu May 20 10:21:52 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:43 2010 -0700"
      },
      "message": "Checkpoint. Doesn\u0027t build.\n\nChange-Id: I92e4d539ea71af9e22ced02cbdee7fbd456b7971\n"
    },
    {
      "commit": "18e69dfc7235f8a4bfe257f9d1c43539049a22ce",
      "tree": "da47804d8acd8680cfdd0fb8fa33dad6e01889c1",
      "parents": [
        "6528b35585020fafe7e39dfa416f728df5158c63"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon May 17 22:26:12 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:43 2010 -0700"
      },
      "message": "Checkpoint.  Data structures for Notifications in place.\n\nChange-Id: I146fb9bc1d349112541368e2c99a667821dfdf6e\n"
    },
    {
      "commit": "6528b35585020fafe7e39dfa416f728df5158c63",
      "tree": "7927d7463a84b274cf02ef1ff9ffd8b2c62eec50",
      "parents": [
        "4762c2d75a55e0854bbff2f996748116d4ab1a37"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon May 17 16:13:12 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:42 2010 -0700"
      },
      "message": "Remove unused stuff.\n\nChange-Id: I85864ed242cb39c7298e82cb83beba8f98db6a6d\n"
    },
    {
      "commit": "4762c2d75a55e0854bbff2f996748116d4ab1a37",
      "tree": "7467da673f3e8e753a79ad044fc24e9ebb237a08",
      "parents": [
        "f3f0e053f0cc66249a11639eb67d0cdc2da26ded"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon May 17 15:42:59 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:42 2010 -0700"
      },
      "message": "Add expand and collapse.\n\nChange-Id: I58ad95c59b2c46d3f25349e137d5624aefc6c6cd\n"
    },
    {
      "commit": "f3f0e053f0cc66249a11639eb67d0cdc2da26ded",
      "tree": "4a2c42a832abe775b672c1b5d25277592a182699",
      "parents": [
        "5368017294ab5d4c37c48d4169da33acbf004e83"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri May 14 18:49:29 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:42 2010 -0700"
      },
      "message": "Make disable() work.\n\nChange-Id: I93fea37e777b3e04fe7f9171d5b84821587c24f5\n"
    },
    {
      "commit": "5368017294ab5d4c37c48d4169da33acbf004e83",
      "tree": "d1c452dbec3a4898015ee6c2bcbb1fbc52138895",
      "parents": [
        "263700df7ba34e70396d014d09a274d9ebbbf6ca"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri May 14 11:55:07 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:42 2010 -0700"
      },
      "message": "Remove unused cruft.\n\nChange-Id: I21a10d74106d1e4384a70cb654e4336b8f679e4a\n"
    },
    {
      "commit": "263700df7ba34e70396d014d09a274d9ebbbf6ca",
      "tree": "8b1d259cd4062c0b805f3f1aa373bb3b3e0f06bd",
      "parents": [
        "66d7d01ed91968f4ed2e2669fd306aa2af61cd16"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri May 14 11:54:53 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:42 2010 -0700"
      },
      "message": "Clock\n"
    },
    {
      "commit": "66d7d01ed91968f4ed2e2669fd306aa2af61cd16",
      "tree": "6c97672e9a821bb36d852870b8871f4c6c6cee13",
      "parents": [
        "514ad663f0a8b239cc59409175e0bd489c591aa0"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri May 14 10:05:10 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:42 2010 -0700"
      },
      "message": "Get icon updating working.\n\nChange-Id: I749967545af5c97756e316231e740208fcd8ad3c\n"
    },
    {
      "commit": "514ad663f0a8b239cc59409175e0bd489c591aa0",
      "tree": "9e768d8f86c6e7e6c8ff6cb93a8799f0c584c657",
      "parents": [
        "fb78cd99f9b08d70f1b4bfdbd847d5d746507052"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu May 13 18:49:00 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:41 2010 -0700"
      },
      "message": "Set the visibility of the icons.\n\nChange-Id: Ib414718f1c51f1d306308a989d5d31d8e3ea7fd1\n"
    },
    {
      "commit": "fb78cd99f9b08d70f1b4bfdbd847d5d746507052",
      "tree": "f49f5cec14c5cab4192e075eaea41a67783baade",
      "parents": [
        "0cbda99f8721ad9b03ada04d2637fb75a2a0feca"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu May 13 18:48:48 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:41 2010 -0700"
      },
      "message": "Put the icons in the right order.\n\nChange-Id: Ice077764b74221319291474bb5681b941b2f7364\n"
    },
    {
      "commit": "0cbda99f8721ad9b03ada04d2637fb75a2a0feca",
      "tree": "99b716653b139e560223dfc764bfc9a746df7bb5",
      "parents": [
        "503007dd023668b1e45de948d3673e594d7f5a82"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Sun May 02 16:28:15 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:41 2010 -0700"
      },
      "message": "The status bar draws its icons now.\n"
    },
    {
      "commit": "503007dd023668b1e45de948d3673e594d7f5a82",
      "tree": "9c1dc26b1716d0f805a832a116f494f51b3fdfe9",
      "parents": [
        "94c98c0ed5db12cedcd3f48f63708b76e5fb1398"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Apr 16 09:20:55 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:41 2010 -0700"
      },
      "message": "Checkpoint status bar factoring.  Now it builds and doesn\u0027t crash at boot.\n\nChange-Id: I23f2045abfec0b414d5381f5e609b7267da7f21a\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": "90233a1ee50980310613b50f22fc68dd7b40ded8",
      "tree": "8853530dcb5119b346a00ecf894c9a68f3356c1b",
      "parents": [
        "25f95f92005594f2ef094001c54cb4c39eec3ade"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Apr 12 08:16:18 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:40 2010 -0700"
      },
      "message": "Add IStatusBar\n\nChange-Id: Ie73d665085d5ce7358c285bf332ef1dc96005d0f\n"
    },
    {
      "commit": "25f95f92005594f2ef094001c54cb4c39eec3ade",
      "tree": "5d203a4356ec39d79fda29d96780b5c3d4d92bae",
      "parents": [
        "2314aab5064ce09f09270e52fa12a38d07464278"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Apr 08 18:37:10 2010 -0500"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:40 2010 -0700"
      },
      "message": "Rename IStatusBar to IStatusBarService.\n\nChange-Id: Icfec2a830f037b21f6afaa796bf49da610567e7b\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"
    },
    {
      "commit": "ea5477c85445d743284b365b90171c867315ec48",
      "tree": "4f18d74733461452991c54d71c82a34348815d65",
      "parents": [
        "73bbcc4d025bd64401517943200f46c0dfecdf99",
        "89ad07b048ff035394596d6a8916f639f3f0b868"
      ],
      "author": {
        "name": "Dan Bornstein",
        "email": "danfuzz@android.com",
        "time": "Thu May 06 12:43:52 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 06 12:43:52 2010 -0700"
      },
      "message": "am 89ad07b0: am 42ee86e6: Merge \"For issue #2651381, allow library prelinking.\" into froyo\n\nMerge commit \u002789ad07b048ff035394596d6a8916f639f3f0b868\u0027 into kraken\n\n* commit \u002789ad07b048ff035394596d6a8916f639f3f0b868\u0027:\n  For issue #2651381, allow library prelinking.\n"
    },
    {
      "commit": "89ad07b048ff035394596d6a8916f639f3f0b868",
      "tree": "244806e5ef9f6e79279202ed093146b2183c54ef",
      "parents": [
        "e96e235865830e2f0ee54e22feb20f26c3390999",
        "42ee86e66d972dcdf240e549e5fdc151a144af64"
      ],
      "author": {
        "name": "Dan Bornstein",
        "email": "danfuzz@android.com",
        "time": "Thu May 06 12:36:05 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 06 12:36:05 2010 -0700"
      },
      "message": "am 42ee86e6: Merge \"For issue #2651381, allow library prelinking.\" into froyo\n\nMerge commit \u002742ee86e66d972dcdf240e549e5fdc151a144af64\u0027 into froyo-plus-aosp\n\n* commit \u002742ee86e66d972dcdf240e549e5fdc151a144af64\u0027:\n  For issue #2651381, allow library prelinking.\n"
    },
    {
      "commit": "782e9fd7492e607f2f71c13da5d86ee99ae03544",
      "tree": "69ff4ee3d04d46b3601ad2f3d96d71df25b7c4f7",
      "parents": [
        "2d315667ab733375d8c696f8c2f155bc1de9e4a2"
      ],
      "author": {
        "name": "Dan Bornstein",
        "email": "danfuzz@android.com",
        "time": "Wed May 05 18:23:05 2010 -0700"
      },
      "committer": {
        "name": "Dan Bornstein",
        "email": "danfuzz@android.com",
        "time": "Wed May 05 18:23:05 2010 -0700"
      },
      "message": "For issue #2651381, allow library prelinking.\n\nChange-Id: I1cb467a158e21fc02cac6af585ac8d27c2bf42de\n"
    },
    {
      "commit": "db2e6159dd2991da3944a67b90c4d25af24273d4",
      "tree": "45a93fd7c723ba1aecbeab4b9b730bfafdc22ae8",
      "parents": [
        "39837c5a5ee5e568eaf1a7d7a0aaeeabae0cfc37",
        "a298d6fd2a920e8ff2dfd5fd03a2f95cbce5451f"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Thu Apr 22 15:57:34 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 22 15:57:34 2010 -0700"
      },
      "message": "am a298d6fd: am a2a568e5: Merge \"Fix error code when media is filled up.\" into froyo\n\nMerge commit \u0027a298d6fd2a920e8ff2dfd5fd03a2f95cbce5451f\u0027 into kraken\n\n* commit \u0027a298d6fd2a920e8ff2dfd5fd03a2f95cbce5451f\u0027:\n  Fix error code when media is filled up.\n"
    },
    {
      "commit": "a298d6fd2a920e8ff2dfd5fd03a2f95cbce5451f",
      "tree": "fe681292bc788015bac2dda3266f0da7da6fcc67",
      "parents": [
        "986a038030ab57bd36a6eb630da1773b33dfb30b",
        "a2a568e58d77848471a2f1d9ab6df2cbb2c916d6"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Thu Apr 22 15:54:37 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 22 15:54:37 2010 -0700"
      },
      "message": "am a2a568e5: Merge \"Fix error code when media is filled up.\" into froyo\n\nMerge commit \u0027a2a568e58d77848471a2f1d9ab6df2cbb2c916d6\u0027 into froyo-plus-aosp\n\n* commit \u0027a2a568e58d77848471a2f1d9ab6df2cbb2c916d6\u0027:\n  Fix error code when media is filled up.\n"
    },
    {
      "commit": "d345bb6e5b42ff644ce224fe57e4d7b4e546a48d",
      "tree": "e6af91677bacbcc1b040af1863a9506760046117",
      "parents": [
        "05fa2144e458dc8f024235ea01b8682055d828bf"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Thu Apr 22 13:22:17 2010 -0700"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Thu Apr 22 13:43:20 2010 -0700"
      },
      "message": "Fix error code when media is filled up.\n\nChange-Id: Id8dae2e7c967e3f103aecd2f31abb7e292af8f1d\n"
    },
    {
      "commit": "2b32afd07da2319c4d55624332cee1a43a56cf47",
      "tree": "9f656dbad3c27cd05ad5eac8ff2ddd3b7192d3a2",
      "parents": [
        "077952f73e5966c077cd71975125119df7c8125d",
        "5ebaf10693725c9dc48219c3c65945b84d74692f"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Apr 22 13:25:14 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 22 13:25:14 2010 -0700"
      },
      "message": "am 5ebaf106: merge from open-source master\n\nMerge commit \u00275ebaf10693725c9dc48219c3c65945b84d74692f\u0027 into kraken\n\n* commit \u00275ebaf10693725c9dc48219c3c65945b84d74692f\u0027:\n  Fix broken logic in SettingsProvider.parseProviderList.\n"
    },
    {
      "commit": "5ebaf10693725c9dc48219c3c65945b84d74692f",
      "tree": "5124cb6169287afd69e85a4082cea2dce4d41c22",
      "parents": [
        "d9b802bd03d0ef4792bc99289f16f6a05bd1ee95",
        "392fc3573553b71dc5c2712aca16e262efd33ce9"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Apr 22 11:43:17 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Apr 22 11:43:17 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: I2a3a06f0bd3530f9c0d3cb64ca6a87913649d64b\n"
    },
    {
      "commit": "bdc7f891cf47c077c26ef418dbea23c04820c152",
      "tree": "794605a0ec15fe40a50ba68c92222181d8af49f5",
      "parents": [
        "e3491b6b5f1d3fb871074766597b275d9f682faa"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Apr 21 18:24:57 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Apr 21 18:31:56 2010 -0400"
      },
      "message": "Fix broken logic in SettingsProvider.parseProviderList.\n\nWe were accidentally stripping both leading and trailing commas\nwhen removing a provider from the enabled provider list.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "7322b9f0e8b9d03eab3703054a9d0e8181eb088a",
      "tree": "1ab1c32ed763e6ccbf32d4b30d6844dc312bd304",
      "parents": [
        "24af70e8bc1772324ade08299908a0b57730ef21",
        "2ef6e44269ba3c9f6b5d22352461555ebab33b73"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Apr 14 18:34:21 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 14 18:34:21 2010 -0700"
      },
      "message": "am 2ef6e442: am 28b2fdc5: Merge \"Dont fall back to installing on sdcard when internal storage is filled up when the install location is set to internal only. Similary if install location is set to external only(via adb), dont fall back to installing on internal storag\n\nMerge commit \u00272ef6e44269ba3c9f6b5d22352461555ebab33b73\u0027 into kraken\n\n* commit \u00272ef6e44269ba3c9f6b5d22352461555ebab33b73\u0027:\n  Dont fall back to installing on sdcard when internal storage is filled up\n"
    },
    {
      "commit": "315a5fb91dbafe6073435a13d937cee9d26877f6",
      "tree": "3e5bdebfa89ae4e997a726e5e600751823cca580",
      "parents": [
        "40b6996a8fb7da131e8b91453b08e292723662be"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Tue Apr 13 14:32:16 2010 -0700"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Apr 14 18:24:06 2010 -0700"
      },
      "message": "Dont fall back to installing on sdcard when internal storage is filled up\nwhen the install location is set to internal only. Similary if install\nlocation is set to external only(via adb), dont fall back to installing on\ninternal storage if sdcard is filled up.\nIf nothing is specified ie install location is set to let system decide,\nwe just check on internal storage.\nFix tests\n\nChange-Id: I7400ccc131782d9c45284bd9ebd0dee43a3b412b\n"
    },
    {
      "commit": "61f280d520fa83522d9d7a54e19add1cfee91917",
      "tree": "10bee194b2b6f1613e65859b0c8f200018f99fa0",
      "parents": [
        "b8430335665517181a28d2fbdf706d295be4abf2",
        "feb976e6be3a07dd31b35b35287420bba9ffbbf3"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Apr 13 11:54:04 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 13 11:54:04 2010 -0700"
      },
      "message": "am feb976e6: am 842d983c: Merge \"Fix an upgrade bug in SettingsProvider.\" into froyo\n\nMerge commit \u0027feb976e6be3a07dd31b35b35287420bba9ffbbf3\u0027 into kraken\n\n* commit \u0027feb976e6be3a07dd31b35b35287420bba9ffbbf3\u0027:\n  Fix an upgrade bug in SettingsProvider.\n"
    },
    {
      "commit": "cd66caf015d18baa03a86796649550cb65cd99ea",
      "tree": "f78d7820e01297ab80c576de8d4f4e3231a16129",
      "parents": [
        "290a48b365479eccd16023b5de0d92063bb68b4d"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Apr 12 15:49:12 2010 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Apr 12 15:49:12 2010 -0700"
      },
      "message": "Fix an upgrade bug in SettingsProvider.\n\nBug: 2569112\n\nWrong usage of local method.\n\nChange-Id: I9d7c68baa7cf8dd2b7e4345555c1edc374de94e6\n"
    },
    {
      "commit": "3e543abbc18eec03ba7300b53cd65dc1c30fd40b",
      "tree": "f7d2a25ffa4c6c4b97a4cab005c597a895ee76ca",
      "parents": [
        "d49c455cc97d5fcdd8af497dc2ba85efdc719959",
        "a599469f9095532cac95a8e7600412f156b88f1c"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Apr 07 21:32:30 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 07 21:32:30 2010 -0700"
      },
      "message": "am a599469f: am c2461be6: Merge \"Fix 2579461 Move install location values to secure settings. Diable attribute for UI. Set default value to auto. Add command line interface to set install location via pm.\" into froyo\n\nMerge commit \u0027a599469f9095532cac95a8e7600412f156b88f1c\u0027 into kraken\n\n* commit \u0027a599469f9095532cac95a8e7600412f156b88f1c\u0027:\n  Fix 2579461\n"
    },
    {
      "commit": "40e472521a544f26cb6956995788f7c36fff1404",
      "tree": "b579a480e80d8ac15128c31c142b22d0938a44f8",
      "parents": [
        "4b18ced6b5409bb9dd4013c06b9562b76a062939"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Apr 07 16:15:50 2010 -0700"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Apr 07 20:43:54 2010 -0700"
      },
      "message": "Fix 2579461\nMove install location values to secure settings.\nDiable attribute for UI. Set default value to auto.\nAdd command line interface to set install location via pm.\n\nChange-Id: I80e97b3d24845adad7102f40dcbe238f00efa406\n"
    },
    {
      "commit": "89261412bc24b8ea1b74e07e9a0e760a4852077c",
      "tree": "46da9ce3c97a440940c4e18fb88fc573039044d9",
      "parents": [
        "05e7aedd3aa2cc8f7186724b8c0b2dbaaf3261bd",
        "9ea4668c3fabba6d9b8e610030d2ba370b782e86"
      ],
      "author": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Thu Apr 01 18:05:21 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 01 18:05:21 2010 -0700"
      },
      "message": "am 9ea4668c: am ddc2eb8e: Merge \"Fix for bug 2564771 - pitch setting between apps can interfere with one another.\" into froyo\n\nMerge commit \u00279ea4668c3fabba6d9b8e610030d2ba370b782e86\u0027 into kraken\n\n* commit \u00279ea4668c3fabba6d9b8e610030d2ba370b782e86\u0027:\n  Fix for bug 2564771 - pitch setting between apps can\n"
    }
  ],
  "next": "ddc2eb8ee3c422b9f57bf55c50a76c7afb4ced76"
}
