)]}'
{
  "log": [
    {
      "commit": "69238c6a37ae43c748ad9cd7613f2209149ee7da",
      "tree": "fc77df6662f66584d96d4c035a4ef719f9d87934",
      "parents": [
        "a69fbc8effd5aaf7a5eeafed0c0fc69bcd3e7e15"
      ],
      "author": {
        "name": "Oscar Montemayor",
        "email": "oam@google.com",
        "time": "Tue Aug 03 10:51:06 2010 -0700"
      },
      "committer": {
        "name": "Oscar Montemayor",
        "email": "oam@google.com",
        "time": "Wed Aug 04 16:01:56 2010 -0700"
      },
      "message": "Device Policy Manager changes to enable Global Proxy.\n\nChange-Id: I8489df7d28e4c5312e10d5cecc8e2a182413a034\n"
    },
    {
      "commit": "85d21bc6e192c313d6a8415d6b431946d17aad1a",
      "tree": "bc680244f8cce319bb5c17816dd77ff60a8ecbb4",
      "parents": [
        "bb688d6f379cc5c460784fc718a9fdf98d9cd874",
        "9ee17b7dec7c76830b5add29f3b97039e178629a"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Wed Aug 04 14:07:55 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 04 14:07:55 2010 -0700"
      },
      "message": "am 9ee17b7d: am 866362fc: Merge \"Usage Stats: don\\\u0027t block writing stats to disk.\" into gingerbread\n\nMerge commit \u00279ee17b7dec7c76830b5add29f3b97039e178629a\u0027\n\n* commit \u00279ee17b7dec7c76830b5add29f3b97039e178629a\u0027:\n  Usage Stats: don\u0027t block writing stats to disk.\n"
    },
    {
      "commit": "2bf8028a23a2282f485a49d8ed037d28c5bd4a0d",
      "tree": "8ff2b045cf08878b9023528bf25a2810f5c6ea33",
      "parents": [
        "26d7a6df73d0c434a5a0afac20f49bdda0c48f43",
        "b59b120929f10c1501d27ebab2f69180868e9776"
      ],
      "author": {
        "name": "Konstantin Lopyrev",
        "email": "klopyrev@google.com",
        "time": "Wed Aug 04 11:12:13 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 04 11:12:13 2010 -0700"
      },
      "message": "am b59b1209: am 321f7fad: Making sure that there is no notification when focus changes from something to nothing.\n\nMerge commit \u0027b59b120929f10c1501d27ebab2f69180868e9776\u0027\n\n* commit \u0027b59b120929f10c1501d27ebab2f69180868e9776\u0027:\n  Making sure that there is no notification when focus changes from something to nothing.\n"
    },
    {
      "commit": "9ee17b7dec7c76830b5add29f3b97039e178629a",
      "tree": "034a24e2a73c1d9ab311db27bdc486a973e567cd",
      "parents": [
        "10928c37f156963b017d508ffd79c033ace798e1",
        "866362fcb4db93584143c21934ea355cbf9e0757"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Aug 03 17:00:20 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Aug 03 17:00:20 2010 -0700"
      },
      "message": "am 866362fc: Merge \"Usage Stats: don\\\u0027t block writing stats to disk.\" into gingerbread\n\nMerge commit \u0027866362fcb4db93584143c21934ea355cbf9e0757\u0027 into gingerbread-plus-aosp\n\n* commit \u0027866362fcb4db93584143c21934ea355cbf9e0757\u0027:\n  Usage Stats: don\u0027t block writing stats to disk.\n"
    },
    {
      "commit": "389a916769aaf4b329839285d2f975fc23aadfb4",
      "tree": "ccc2ffd116bdef54f600ab18109e68c69d96b402",
      "parents": [
        "5d46ce24cc46dc57d31f809302af916999114ced"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Aug 03 15:41:05 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Aug 03 15:41:05 2010 -0700"
      },
      "message": "Usage Stats: don\u0027t block writing stats to disk.\n\nI was seeing lots of stack traces of people hung for noticeable\namounts of time when switching between activities.\n\ne.g. On of the common gmail stacks showing this pause was:\n\nandroid.os.StrictMode$StrictModeDiskWriteViolation: policy\u003d391 violation\u003d1\n  at android.os.StrictMode$AndroidBlockGuardPolicy.startHandlingViolationException(StrictMode.java:272)\n  at android.os.StrictMode$AndroidBlockGuardPolicy.onWriteToDisk(StrictMode.java:243)\n  at dalvik.system.BlockGuard$WrappedFileSystem.open(BlockGuard.java:238)\n  at java.io.FileOutputStream.\u003cinit\u003e(FileOutputStream.java:97)\n  at java.io.FileOutputStream.\u003cinit\u003e(FileOutputStream.java:69)\n  at com.android.server.am.UsageStatsService.writeStatsFLOCK(UsageStatsService.java:424)\n  at com.android.server.am.UsageStatsService.writeStatsToFile(UsageStatsService.java:398)\n  at com.android.server.am.UsageStatsService.notePauseComponent(UsageStatsService.java:539)\n  at com.android.server.am.ActivityManagerService.updateUsageStats(ActivityManagerService.java:1856)\n  at com.android.server.am.ActivityStack.startPausingLocked(ActivityStack.java:667)\n  at com.android.server.am.ActivityStack.finishActivityLocked(ActivityStack.java:2925)\n  at com.android.server.am.ActivityStack.requestFinishActivityLocked(ActivityStack.java:2836)\n  at com.android.server.am.ActivityManagerService.finishActivity(ActivityManagerService.java:2276)\n  at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:237)\n  at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:1415)\n  at android.os.Binder.execTransact(Binder.java:320)\n  at dalvik.system.NativeStart.run(Native Method)\n\n  at android.app.ActivityManagerProxy.finishActivity(ActivityManagerNative.java:1454)\n  at android.app.Activity.finish(Activity.java:3260)\n  at android.app.Activity.onBackPressed(Activity.java:1929)\n  at android.app.Activity.onKeyUp(Activity.java:1907)\n  at android.view.KeyEvent.dispatch(KeyEvent.java:1088)\n  at android.app.Activity.dispatchKeyEvent(Activity.java:2087)\n  at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:1661)\n  at android.view.ViewRoot.deliverKeyEventToViewHierarchy(ViewRoot.java:2543)\n  at android.view.ViewRoot.handleFinishedEvent(ViewRoot.java:2516)\n  at android.view.ViewRoot.handleMessage(ViewRoot.java:1866)\n  at android.os.Handler.dispatchMessage(Handler.java:99)\n  at android.os.Looper.loop(Looper.java:123)\n  at android.app.ActivityThread.main(ActivityThread.java:3609)\n  at java.lang.reflect.Method.invokeNative(Native Method)\n  at java.lang.reflect.Method.invoke(Method.java:521)\n  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)\n  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)\n  at dalvik.system.NativeStart.main(Native Method)\n\nChange-Id: Id49157bc635017292eaefddc5e22d73f5f4ab05e\n"
    },
    {
      "commit": "0920ba5ef14379c773cb3df54fd91b25de2e51ab",
      "tree": "e3eb7c0918aa5b17440bce209c2bb2d8d8f9b9ae",
      "parents": [
        "532abb65308725c649fe94ba485abc24ece05b2e"
      ],
      "author": {
        "name": "Casey Burkhardt",
        "email": "caseyburkhardt@google.com",
        "time": "Tue Aug 03 12:04:19 2010 -0700"
      },
      "committer": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Tue Aug 03 12:22:47 2010 -0700"
      },
      "message": "Fixing font scale in WindowManagerService.\nThere was a bug that causes WindowManagerService to lose\nthe fontScale setting.\n\nThis fix submitted on behalf of Casey Burkhardt.\n\nChange-Id: I3a76de15adf13badc5efca8d620d14c972a96ec4\n"
    },
    {
      "commit": "b59b120929f10c1501d27ebab2f69180868e9776",
      "tree": "44620857f7911b817705b85515b125777efadf19",
      "parents": [
        "246aad12cf2becda5111d03fd1dd8f39712686f2",
        "321f7fad5c4a6ef27e944dc72e2ddbfb61af81de"
      ],
      "author": {
        "name": "Konstantin Lopyrev",
        "email": "klopyrev@google.com",
        "time": "Tue Aug 03 11:26:21 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Aug 03 11:26:21 2010 -0700"
      },
      "message": "am 321f7fad: Making sure that there is no notification when focus changes from something to nothing.\n\nMerge commit \u0027321f7fad5c4a6ef27e944dc72e2ddbfb61af81de\u0027 into gingerbread-plus-aosp\n\n* commit \u0027321f7fad5c4a6ef27e944dc72e2ddbfb61af81de\u0027:\n  Making sure that there is no notification when focus changes from something to nothing.\n"
    },
    {
      "commit": "321f7fad5c4a6ef27e944dc72e2ddbfb61af81de",
      "tree": "b5bf9e4ff1df05fd412899e020fca38fac896fd0",
      "parents": [
        "3d84280ccc31d12765e2efe03e2dd3ade1acfc33"
      ],
      "author": {
        "name": "Konstantin Lopyrev",
        "email": "klopyrev@google.com",
        "time": "Mon Aug 02 20:01:01 2010 -0700"
      },
      "committer": {
        "name": "Konstantin Lopyrev",
        "email": "klopyrev@google.com",
        "time": "Tue Aug 03 11:21:55 2010 -0700"
      },
      "message": "Making sure that there is no notification when focus changes from something to nothing.\n\nChange-Id: Ib8b3bdd7f5dd999c933a017fe1b34263afe38e4a\n"
    },
    {
      "commit": "c76b8fa911bb2501ba55153d3ac25a5132daa3a9",
      "tree": "45cbd91ef1a9571fa4c52516abffd89a50e34622",
      "parents": [
        "1f4c67a4b1a051db7cd4afdf7a288141566251d3"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Fri Jul 23 15:46:26 2010 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Mon Aug 02 15:40:21 2010 -0700"
      },
      "message": "Always try to set/remove default routes\n\nMust clean up default route if a default 3g connection is replaced\nby a non-default (ie, mms) connection on the same interface.\n\nAlso stop mucking with all connections dns and routes - do it only\nfor the connection that has changed.\n\nbug:2865974\nChange-Id: I589a0b2768b5e67b608fde181e7ddbd7fce4f491\n"
    },
    {
      "commit": "1f4c67a4b1a051db7cd4afdf7a288141566251d3",
      "tree": "6a8540a5ff45a8117e22a35a3fae5fda9b7bca7a",
      "parents": [
        "a17b5f7c81f8d304cd5b90577142287764292135",
        "79f2d00596b7e24a285443c8e9e77bece3f5e9e2"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Aug 02 15:27:26 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 02 15:27:26 2010 -0700"
      },
      "message": "am 79f2d005: am a213ce02: Merge \"Mute a common-case progress log about input injection\" into gingerbread\n\nMerge commit \u002779f2d00596b7e24a285443c8e9e77bece3f5e9e2\u0027\n\n* commit \u002779f2d00596b7e24a285443c8e9e77bece3f5e9e2\u0027:\n  Mute a common-case progress log about input injection\n"
    },
    {
      "commit": "79f2d00596b7e24a285443c8e9e77bece3f5e9e2",
      "tree": "539dbe953ba8234cede29c8b3976499c9e08897f",
      "parents": [
        "59d4a5369cd68d4b65809ded407611b62b013f9a",
        "a213ce02ced6511edf02e29c45057f344bfe8636"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Aug 02 15:19:19 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 02 15:19:19 2010 -0700"
      },
      "message": "am a213ce02: Merge \"Mute a common-case progress log about input injection\" into gingerbread\n\nMerge commit \u0027a213ce02ced6511edf02e29c45057f344bfe8636\u0027 into gingerbread-plus-aosp\n\n* commit \u0027a213ce02ced6511edf02e29c45057f344bfe8636\u0027:\n  Mute a common-case progress log about input injection\n"
    },
    {
      "commit": "09e85dc0270ac9ce660c17ee8290ff2d136b395b",
      "tree": "1f7957006b9cb393315856ef00418733b8073266",
      "parents": [
        "d3579580df0cea7e37334d83ef7a9aa85ad70368"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Aug 02 11:54:41 2010 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Aug 02 11:59:11 2010 -0700"
      },
      "message": "Mute a common-case progress log about input injection\n\nChange-Id: I37c9f5cb239ab93fde3a42f71f2782d8734c53ce\n"
    },
    {
      "commit": "98b557de3115dd738d28b937e448a2729a78b8d4",
      "tree": "15b8ddf0baab0f95b223ac2e8fdd4415247d0e0a",
      "parents": [
        "c8f5e437194129e397cf323fa857f3485f58f4cc",
        "9117669c7de41799535dfa88e5d68a30d7674733"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Jul 30 17:03:51 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 30 17:03:51 2010 -0700"
      },
      "message": "am 9117669c: am 8b61b68b: Merge \"Only install after MCS success\" into gingerbread\n\nMerge commit \u00279117669c7de41799535dfa88e5d68a30d7674733\u0027\n\n* commit \u00279117669c7de41799535dfa88e5d68a30d7674733\u0027:\n  Only install after MCS success\n"
    },
    {
      "commit": "9117669c7de41799535dfa88e5d68a30d7674733",
      "tree": "ac567180c7e57c1b8527491f9826300ba2f295cc",
      "parents": [
        "e2d33bbc496192d49c1e48baad446d8d0720d301",
        "8b61b68b648985df37197de204398f608c4ad8b1"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Jul 30 17:00:01 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 30 17:00:01 2010 -0700"
      },
      "message": "am 8b61b68b: Merge \"Only install after MCS success\" into gingerbread\n\nMerge commit \u00278b61b68b648985df37197de204398f608c4ad8b1\u0027 into gingerbread-plus-aosp\n\n* commit \u00278b61b68b648985df37197de204398f608c4ad8b1\u0027:\n  Only install after MCS success\n"
    },
    {
      "commit": "8b61b68b648985df37197de204398f608c4ad8b1",
      "tree": "3060ed71f863619d629b9d3a95f7ca44a40de980",
      "parents": [
        "d2165cfce7911dac66d1195ed9123e79b086d22b",
        "6f89fa07b4105b2e0cfac87db7ce5e7c9b9feead"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Jul 30 16:55:37 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 30 16:55:37 2010 -0700"
      },
      "message": "Merge \"Only install after MCS success\" into gingerbread"
    },
    {
      "commit": "6f89fa07b4105b2e0cfac87db7ce5e7c9b9feead",
      "tree": "ee8da2d3ed9867716b4f44526074b868cff3fe5d",
      "parents": [
        "7c600369c9695de73ca37db552eb81b8b89d5e76"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Jul 30 16:33:47 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Jul 30 16:35:04 2010 -0700"
      },
      "message": "Only install after MCS success\n\nIf MCS dies in the middle of a call during install, only proceed if the\ncall was successful. Otherwise wait for the max retries to be reached\nand run the failure handling code there.\n\nChange-Id: I00a27ea91046ea6521a3cff5e5ffe2c71b2b5bb4\n"
    },
    {
      "commit": "86dde2d64c7eadc06a17aeb486c669ce4b53d13c",
      "tree": "3f151bcf83c8782afd8160a13f25cb98247e0d87",
      "parents": [
        "e1c5dae372071ff4b69f4e705227c20c1696dc53",
        "e2d33bbc496192d49c1e48baad446d8d0720d301"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Fri Jul 30 15:27:56 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 30 15:27:56 2010 -0700"
      },
      "message": "am e2d33bbc: am d2165cfc: Merge \"StrictMode: time violations in Binder calls\" into gingerbread\n\nMerge commit \u0027e2d33bbc496192d49c1e48baad446d8d0720d301\u0027\n\n* commit \u0027e2d33bbc496192d49c1e48baad446d8d0720d301\u0027:\n  StrictMode: time violations in Binder calls\n"
    },
    {
      "commit": "e2d33bbc496192d49c1e48baad446d8d0720d301",
      "tree": "150da91ad923d491e1ddcc43777e3504832553b5",
      "parents": [
        "7600f934015cff4d678b0f4e8df0eb93749be7bb",
        "d2165cfce7911dac66d1195ed9123e79b086d22b"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Fri Jul 30 15:23:19 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 30 15:23:19 2010 -0700"
      },
      "message": "am d2165cfc: Merge \"StrictMode: time violations in Binder calls\" into gingerbread\n\nMerge commit \u0027d2165cfce7911dac66d1195ed9123e79b086d22b\u0027 into gingerbread-plus-aosp\n\n* commit \u0027d2165cfce7911dac66d1195ed9123e79b086d22b\u0027:\n  StrictMode: time violations in Binder calls\n"
    },
    {
      "commit": "cb9ceb1029036363a81952d8ed5dfcbc83e6ff72",
      "tree": "20c48fd7126f64778944060ce2c2d8d4159bc36b",
      "parents": [
        "31b5d5485f7336639d252da7ba979234dbd2f1e1"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Thu Jul 29 14:29:02 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Fri Jul 30 14:28:55 2010 -0700"
      },
      "message": "StrictMode: time violations in Binder calls\n\nChange-Id: I5796993dce98be722cf679b78acaf0c9de0ba461\n"
    },
    {
      "commit": "5ea89f77ead553dcf3fd95353ded1c8bacd3ffe1",
      "tree": "75c2c82d4c0954afe0c8458ad94ca5430ec3d572",
      "parents": [
        "5f5548e82d8112a17acd5980e621dc2848e982bb"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jul 30 09:30:31 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jul 30 09:30:31 2010 -0700"
      },
      "message": "Fix build: HistoryRecord is now ActivityRecord\n\nChange-Id: Ide07d72abd02aeb7e56695f2e98ae7af1568ad1c\n"
    },
    {
      "commit": "5f5548e82d8112a17acd5980e621dc2848e982bb",
      "tree": "9008df1f926db088a653903b0fdcf2e9a487315b",
      "parents": [
        "01301d31a4c2e8745a3e12c9a441d2448e63d775",
        "85673d91681e6b5dede0c72f36ed3b81f5c4bb0d"
      ],
      "author": {
        "name": "Mattias Larsson",
        "email": "mattias7.larsson@sonyericsson.com",
        "time": "Fri Jul 30 08:51:09 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 30 08:51:09 2010 -0700"
      },
      "message": "am 85673d91: am a4fd0078: Clear preferred activities when home process crashes\n\nMerge commit \u002785673d91681e6b5dede0c72f36ed3b81f5c4bb0d\u0027\n\n* commit \u002785673d91681e6b5dede0c72f36ed3b81f5c4bb0d\u0027:\n  Clear preferred activities when home process crashes\n"
    },
    {
      "commit": "85673d91681e6b5dede0c72f36ed3b81f5c4bb0d",
      "tree": "043b34d850b2695e6c9460251758ce5f7c9307fa",
      "parents": [
        "eb248a58fabac31873982e4f389ba81981f4041f",
        "a4fd0078d138b433d2250a74833ee3cc6424143a"
      ],
      "author": {
        "name": "Mattias Larsson",
        "email": "mattias7.larsson@sonyericsson.com",
        "time": "Fri Jul 30 08:45:05 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 30 08:45:05 2010 -0700"
      },
      "message": "am a4fd0078: Clear preferred activities when home process crashes\n\nMerge commit \u0027a4fd0078d138b433d2250a74833ee3cc6424143a\u0027 into gingerbread-plus-aosp\n\n* commit \u0027a4fd0078d138b433d2250a74833ee3cc6424143a\u0027:\n  Clear preferred activities when home process crashes\n"
    },
    {
      "commit": "a4fd0078d138b433d2250a74833ee3cc6424143a",
      "tree": "0c0a4df97e36e40d5c7322e63f758d801d31a3de",
      "parents": [
        "4506c62abd5767d6d42a97e8e87793a1b3bcb625"
      ],
      "author": {
        "name": "Mattias Larsson",
        "email": "mattias7.larsson@sonyericsson.com",
        "time": "Tue Jun 22 22:37:03 2010 +0200"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jul 30 08:36:42 2010 -0700"
      },
      "message": "Clear preferred activities when home process crashes\n\nIf the \"default\" Home application has been replaced with\na third-party app that is repeatedly crashing at start-up,\nthere is no way for the user to clear the preferred activities\nor uninstall the bad application. If we clear the package\npreferred activities when the application crashes, the user\nwill be prompted with the ResolverActivity at the next boot\nand can try using the app again or choose to use another\nHome application.\n\nChange-Id: I8ba8e95e6752916d50515d96c117d3084fa980fd\n"
    },
    {
      "commit": "154db5f6358284d917d515f05d4474606b4896b2",
      "tree": "2c611410185ee4bef78964c7eae5c2316fdda2c1",
      "parents": [
        "5aa1c034d9bfdb2744f637c4686adf20a7ed9975"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jul 29 19:15:19 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jul 29 19:15:19 2010 -0700"
      },
      "message": "Maybe fix issue #2881233: reboot loop at boot on stingray\n\nChange-Id: I4bd88fdd506d061146c441143d39b796a8df2f49\n"
    },
    {
      "commit": "f0580888883db5be6654121e15455b76badc5b81",
      "tree": "3ad3096742749cdef15f4611eb680e35605556c0",
      "parents": [
        "1fdacef18d6491eab1b76e75bb315bb075a01a18",
        "52075987c5726c95613f98571aac4c54e8319df4"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jul 29 14:17:30 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 29 14:17:30 2010 -0700"
      },
      "message": "am 52075987: am 31b5d548: Merge \"Fix a bug where we cleaned an apps external data when upgrading it. :(\" into gingerbread\n\nMerge commit \u002752075987c5726c95613f98571aac4c54e8319df4\u0027\n\n* commit \u002752075987c5726c95613f98571aac4c54e8319df4\u0027:\n  Fix a bug where we cleaned an apps external data when upgrading it. :(\n"
    },
    {
      "commit": "52075987c5726c95613f98571aac4c54e8319df4",
      "tree": "f9cb4c3bef56871dd4b84d693e72916897e66e35",
      "parents": [
        "06abd0a6a833beda1c0e68aed44912d145745a42",
        "31b5d5485f7336639d252da7ba979234dbd2f1e1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jul 29 14:12:17 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 29 14:12:17 2010 -0700"
      },
      "message": "am 31b5d548: Merge \"Fix a bug where we cleaned an apps external data when upgrading it. :(\" into gingerbread\n\nMerge commit \u002731b5d5485f7336639d252da7ba979234dbd2f1e1\u0027 into gingerbread-plus-aosp\n\n* commit \u002731b5d5485f7336639d252da7ba979234dbd2f1e1\u0027:\n  Fix a bug where we cleaned an apps external data when upgrading it. :(\n"
    },
    {
      "commit": "31b5d5485f7336639d252da7ba979234dbd2f1e1",
      "tree": "149d0d8de3a73420feac657cb8252f7ee2ce0020",
      "parents": [
        "571180c4c72e0bb4f930f8971edf000a652f10f6",
        "fb1f103191f1cf424a79aaf1cd67d2d1900138e0"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jul 29 14:07:14 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 29 14:07:14 2010 -0700"
      },
      "message": "Merge \"Fix a bug where we cleaned an apps external data when upgrading it. :(\" into gingerbread"
    },
    {
      "commit": "fb1f103191f1cf424a79aaf1cd67d2d1900138e0",
      "tree": "764b1869ec3a254798133506c7059ac491a19bf0",
      "parents": [
        "a0ae8bc5c62b12269f20cbebdb0d8614e4e8eb1a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jul 29 13:57:56 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jul 29 13:58:32 2010 -0700"
      },
      "message": "Fix a bug where we cleaned an apps external data when upgrading it. :(\n\nChange-Id: I0eee1e7062d334c66d6daa3c43e11a292263aada\n"
    },
    {
      "commit": "b0a57502c6f17edd1a63bee1463bc2f9fd78e4a4",
      "tree": "e00ad298572b11438fb7e8535d0a4f8d586c9ec6",
      "parents": [
        "425560259c6d41e7f413fdd0f517dc47f350c533",
        "6ec402b5ae33c8927694d8522b4cc6a5c8ba974e"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jul 29 13:09:07 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 29 13:09:07 2010 -0700"
      },
      "message": "am 6ec402b5: DO NOT MERGE: Fix input event injection ANRs on UI thread.\n\nMerge commit \u00276ec402b5ae33c8927694d8522b4cc6a5c8ba974e\u0027 into gingerbread-plus-aosp\n\n* commit \u00276ec402b5ae33c8927694d8522b4cc6a5c8ba974e\u0027:\n  DO NOT MERGE: Fix input event injection ANRs on UI thread.\n"
    },
    {
      "commit": "5132b37018c2445c74d930013c4bdaf75b20cabf",
      "tree": "2a755065e8f542282f2e112c18e9dfb44c933aa6",
      "parents": [
        "571a629f2929d86cfdde228ea53d7b4275d8d054"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jul 29 12:51:35 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jul 29 13:05:34 2010 -0700"
      },
      "message": "Fix issue #2859543: PhoneStatusBar appears at startup after wipe\n\nChange-Id: I63c8fcd7152a99ba7f2c3d57a5ad9ceaf05529d7\n"
    },
    {
      "commit": "6ec402b5ae33c8927694d8522b4cc6a5c8ba974e",
      "tree": "5d4b19eda9ade71d7e34635479426f1dd484e8c2",
      "parents": [
        "6dea6f4e71b53e421564d783c227cbe0a2469183"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jul 28 15:48:59 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jul 29 12:54:27 2010 -0700"
      },
      "message": "DO NOT MERGE: Fix input event injection ANRs on UI thread.\n\nAdded a new asynchronous injection mode and made the existing\nsynchronization mechanism more robust.\n\nChange-Id: Ia4aa04fd9b75ea2461a844c5b7933c831c1027e6\n"
    },
    {
      "commit": "bbda99d2086d79ac70b403cad38a47c35af84adf",
      "tree": "42c51be78a58c4c29164dcb42621e82b2fc3e81f",
      "parents": [
        "26d9b9870e5a387a5b38523387b4fb2d99542fe6"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jul 28 15:48:59 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jul 29 12:19:08 2010 -0700"
      },
      "message": "Fixed StatusBar ANRs due to input event injection on UI thread.\n\nAdded a new asynchronous injection mode and made the existing\nsynchronization mechanism more robust.\n\nChange-Id: I0464f70ff5cbd519dbb02686b2cb5d810fe7dbb2\n"
    },
    {
      "commit": "81cf7714783d5af31551ecac820eda1018c691c0",
      "tree": "d11e78e020bfd7ff7faf84a60183868478f5f4fb",
      "parents": [
        "f5baf046e1b37c9452babb9b11fd37ad3128b882",
        "7522cac555bd8010d6603cfe0ad831a6f1c1af4f"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jul 29 09:06:10 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 29 09:06:10 2010 -0700"
      },
      "message": "am 7522cac5: am 8dc16c27: Fix typo in GPS mode logic.\n\nMerge commit \u00277522cac555bd8010d6603cfe0ad831a6f1c1af4f\u0027\n\n* commit \u00277522cac555bd8010d6603cfe0ad831a6f1c1af4f\u0027:\n  Fix typo in GPS mode logic.\n"
    },
    {
      "commit": "7522cac555bd8010d6603cfe0ad831a6f1c1af4f",
      "tree": "fbac48918636253c45fee1fbfb051bb56435fb83",
      "parents": [
        "ba676a00c1b9ba59b30fe805b83d03d1768fffbd",
        "8dc16c27e23dae5bdf65fd2a2ced97c2f645a633"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jul 29 08:58:54 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 29 08:58:54 2010 -0700"
      },
      "message": "am 8dc16c27: Fix typo in GPS mode logic.\n\nMerge commit \u00278dc16c27e23dae5bdf65fd2a2ced97c2f645a633\u0027 into gingerbread-plus-aosp\n\n* commit \u00278dc16c27e23dae5bdf65fd2a2ced97c2f645a633\u0027:\n  Fix typo in GPS mode logic.\n"
    },
    {
      "commit": "8dc16c27e23dae5bdf65fd2a2ced97c2f645a633",
      "tree": "f13d07246db7fbaaf63550c9dd570da5677c62a0",
      "parents": [
        "a54d7d3d7dd691334189aab20d23c65710092869"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jul 29 11:39:55 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jul 29 11:39:55 2010 -0400"
      },
      "message": "Fix typo in GPS mode logic.\n\nMS-Assisted support should not be required for using MS-Based mode.\n\nChange-Id: Ia6ee219674de3e9cc13190b753f8776305a4fa90\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "03a545e5edcd99985d672fba40110d054397d02c",
      "tree": "7600b6bb8fca8d798fdb14f206e846b67240a22d",
      "parents": [
        "048391511ec862374a1a5fa14342adfb70aecf25",
        "725552a0df76ee3b2d45650a25224f46597ad589"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jul 28 14:59:45 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 28 14:59:45 2010 -0700"
      },
      "message": "Merge changes I00d6980a,I814221b4,Id88603a5\n\n* changes:\n  CameraBrowser: Launch itself when a camera is attached to USB.\n  Send Intents when PTP compatible devices are connected/disconnected to USB\n  Give system server permission to access USB.\n"
    },
    {
      "commit": "048391511ec862374a1a5fa14342adfb70aecf25",
      "tree": "6e3c15883d57698c12302ab2755b0dd68f7f629b",
      "parents": [
        "a8ec0459abcd417bdcdd3dfc5ac77d1479143fc9",
        "bba1eede35b356a50dfe12692c2ff30cd5de152d"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jul 28 14:54:21 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 28 14:54:21 2010 -0700"
      },
      "message": "am bba1eede: am f369a9b5: Remove stale temporary ASEC containers\n\nMerge commit \u0027bba1eede35b356a50dfe12692c2ff30cd5de152d\u0027\n\n* commit \u0027bba1eede35b356a50dfe12692c2ff30cd5de152d\u0027:\n  Remove stale temporary ASEC containers\n"
    },
    {
      "commit": "a8ec0459abcd417bdcdd3dfc5ac77d1479143fc9",
      "tree": "be81b02c57299171bc2639688d19b144f9b2ca9b",
      "parents": [
        "ffdfd992e5163e84b9f3575777c10ebeb8825d3d",
        "4b812738c70be53e79ba8a6b9c93de14388d1311"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jul 28 14:54:16 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 28 14:54:16 2010 -0700"
      },
      "message": "am 4b812738: am 56c02dc3: Merge \"Fix getTempContainerId()\" into gingerbread\n\nMerge commit \u00274b812738c70be53e79ba8a6b9c93de14388d1311\u0027\n\n* commit \u00274b812738c70be53e79ba8a6b9c93de14388d1311\u0027:\n  Fix getTempContainerId()\n"
    },
    {
      "commit": "bba1eede35b356a50dfe12692c2ff30cd5de152d",
      "tree": "195452a7a85f7deb49a48b0e08c191fe9469806b",
      "parents": [
        "4b812738c70be53e79ba8a6b9c93de14388d1311",
        "f369a9b5f7b2ae75875753caf90ec68fd9dbc144"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jul 28 14:51:33 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 28 14:51:33 2010 -0700"
      },
      "message": "am f369a9b5: Remove stale temporary ASEC containers\n\nMerge commit \u0027f369a9b5f7b2ae75875753caf90ec68fd9dbc144\u0027 into gingerbread-plus-aosp\n\n* commit \u0027f369a9b5f7b2ae75875753caf90ec68fd9dbc144\u0027:\n  Remove stale temporary ASEC containers\n"
    },
    {
      "commit": "4b812738c70be53e79ba8a6b9c93de14388d1311",
      "tree": "b5ada11ed225afbd84ab07b879e153e29644b61b",
      "parents": [
        "4e235622bc37e54208b88a18251f3682495af41f",
        "56c02dc3d325bab8549ec34b9d6aa7c62ef742d0"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jul 28 14:51:29 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 28 14:51:29 2010 -0700"
      },
      "message": "am 56c02dc3: Merge \"Fix getTempContainerId()\" into gingerbread\n\nMerge commit \u002756c02dc3d325bab8549ec34b9d6aa7c62ef742d0\u0027 into gingerbread-plus-aosp\n\n* commit \u002756c02dc3d325bab8549ec34b9d6aa7c62ef742d0\u0027:\n  Fix getTempContainerId()\n"
    },
    {
      "commit": "f369a9b5f7b2ae75875753caf90ec68fd9dbc144",
      "tree": "65ddddfda965f4d2d140fcbc365317f4307be6db",
      "parents": [
        "56c02dc3d325bab8549ec34b9d6aa7c62ef742d0"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jul 28 14:47:01 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jul 28 14:48:58 2010 -0700"
      },
      "message": "Remove stale temporary ASEC containers\n\nWhen a temporary container is created, its existence should be\nephemeral. However, if there is an error that causes system_server to be\nkilled during the process of creating a finalized ASEC, delete the stale\ncontainers on the next start-up of system_server.\n\nChange-Id: I7be8f94638a824295474c9a95960594848cb726b\n"
    },
    {
      "commit": "56c02dc3d325bab8549ec34b9d6aa7c62ef742d0",
      "tree": "b465b8f43821db74dc7c27afc2b214d882f82978",
      "parents": [
        "b1bb7180ec3446208ea717d96f6a507ea9955a13",
        "c78a8079740bfcad2e4439ccd74da52f6dc7fae2"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jul 28 14:48:40 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 28 14:48:40 2010 -0700"
      },
      "message": "Merge \"Fix getTempContainerId()\" into gingerbread"
    },
    {
      "commit": "c78a8079740bfcad2e4439ccd74da52f6dc7fae2",
      "tree": "32980045a8a1e809f407a9c7c9ba51d283bfd004",
      "parents": [
        "7feab3470156c7864fe159115d575c16f0974493"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Jul 27 15:18:38 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jul 28 14:45:14 2010 -0700"
      },
      "message": "Fix getTempContainerId()\n\ngetTempContainerId() would always return \"smdl2tmp1\" unless you had\nMAX_CONTAINERS number of SD card SDKs, because of an array sort that put\nall the zeros at the beginning.\n\nSwitch from trying to find a hole in the series of numbers to just\ngetting a number that\u0027s one larger than the previous. This reduces the\nalgorithmic complexity and the memory requirements.\n\nBug: 2832580\nChange-Id: I32dc75ef5a6645f594ea47b032d7402e8860ebcd\n"
    },
    {
      "commit": "2279971b6f66d60240b8c72a9d52644a3bcdf01b",
      "tree": "6bb439e7b3c2b8c32a10a4b71cd8220045a49a90",
      "parents": [
        "5193a5bab165a4f812b8e72d656b6a18ee04f42b",
        "9795a25da060f9a7df87da8ab43fb1086d4322a5"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jul 28 14:27:55 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 28 14:27:55 2010 -0700"
      },
      "message": "am 9795a25d: am 6d0fec2d: Refactor input reader to support new device types more easily.\n\nMerge commit \u00279795a25da060f9a7df87da8ab43fb1086d4322a5\u0027\n\n* commit \u00279795a25da060f9a7df87da8ab43fb1086d4322a5\u0027:\n  Refactor input reader to support new device types more easily.\n"
    },
    {
      "commit": "9795a25da060f9a7df87da8ab43fb1086d4322a5",
      "tree": "98aec7df18a3721c94524d551b79e6d5420a20b8",
      "parents": [
        "8190f485539c36803489dcf5f198d03ed87ae8f9",
        "6d0fec2de3601821f4f44eeb7d7deedebb2b7117"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jul 28 14:25:05 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 28 14:25:05 2010 -0700"
      },
      "message": "am 6d0fec2d: Refactor input reader to support new device types more easily.\n\nMerge commit \u00276d0fec2de3601821f4f44eeb7d7deedebb2b7117\u0027 into gingerbread-plus-aosp\n\n* commit \u00276d0fec2de3601821f4f44eeb7d7deedebb2b7117\u0027:\n  Refactor input reader to support new device types more easily.\n"
    },
    {
      "commit": "6d0fec2de3601821f4f44eeb7d7deedebb2b7117",
      "tree": "9fdea32c5691a6d0bcb3085df47f42a8e6ecd565",
      "parents": [
        "b350bec514eb9fee473e4ef62680c53e992dc49b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jul 23 21:28:06 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jul 28 14:16:15 2010 -0700"
      },
      "message": "Refactor input reader to support new device types more easily.\n\nRefactored the input reader so that each raw input protocol is handled\nby a separate subclass of the new InputMapper type.  This way, behaviors\npertaining to keyboard, trackballs, touchscreens, switches and other\ndevices are clearly distinguished for improved maintainability.\n\nAdded partial support for describing capabilities of input devices\n(incomplete and untested for now, will be fleshed out in later commits).\n\nSimplified EventHub interface somewhat since InputReader is taking over\nmore of the work.\n\nCleaned up some of the interactions between InputManager and\nWindowManagerService related to reading input state.\n\nFixed swiping finger from screen edge into display area.\n\nAdded logging of device information to \u0027dumpsys window\u0027.\n\nChange-Id: I17faffc33e3aec3a0f33f0b37e81a70609378612\n"
    },
    {
      "commit": "17350886d03ace01de437eacee1e11e4e997f9cb",
      "tree": "f8e22252f6a27177d98931cb4c997b8150ac2e5b",
      "parents": [
        "ff0aff1914f617e9cb24944e9f9608a86992df72",
        "d3f6c1fa45d0b9aaf467159953ee4bea2ea89188"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Jul 28 11:05:29 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 28 11:05:29 2010 -0700"
      },
      "message": "am d3f6c1fa: am 0c39b6c6: Merge \"Add a missing break; to restore old functionality and not turn off the screen after 30secs regardless of system preference.\" into gingerbread\n\nMerge commit \u0027d3f6c1fa45d0b9aaf467159953ee4bea2ea89188\u0027\n\n* commit \u0027d3f6c1fa45d0b9aaf467159953ee4bea2ea89188\u0027:\n  Add a missing break; to restore old functionality and not turn off the screen after 30secs regardless of system preference.\n"
    },
    {
      "commit": "ff0aff1914f617e9cb24944e9f9608a86992df72",
      "tree": "57f60592adac6acb6504c3cd2ffc528ff42eade3",
      "parents": [
        "080985458085c77a1a3344c0a02608e8359ed551",
        "a58a8751b4c2ce457f0082a0baaee61312d56195"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Wed Jul 28 11:04:18 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 28 11:04:18 2010 -0700"
      },
      "message": "Merge \"Add new system service CountryDetector\""
    },
    {
      "commit": "d3f6c1fa45d0b9aaf467159953ee4bea2ea89188",
      "tree": "40246ba7ef169f97dff65bf771d5a1e7372ca9a4",
      "parents": [
        "6fa8888254deb4961dc64c6ac03dc103c9cd8bcf",
        "0c39b6c65bcb96ed6438c7d792a67708409d8f0f"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Jul 28 10:16:39 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 28 10:16:39 2010 -0700"
      },
      "message": "am 0c39b6c6: Merge \"Add a missing break; to restore old functionality and not turn off the screen after 30secs regardless of system preference.\" into gingerbread\n\nMerge commit \u00270c39b6c65bcb96ed6438c7d792a67708409d8f0f\u0027 into gingerbread-plus-aosp\n\n* commit \u00270c39b6c65bcb96ed6438c7d792a67708409d8f0f\u0027:\n  Add a missing break; to restore old functionality and not turn off the screen after 30secs regardless of system preference.\n"
    },
    {
      "commit": "0c39b6c65bcb96ed6438c7d792a67708409d8f0f",
      "tree": "01bce9458ea87b0d7dbc4e55f0d72eb21f3ca56b",
      "parents": [
        "62d83a0c894b72d9abda1340d278d2aeec11e0fb",
        "84047bc295af663274ced27def33164d6e020b5d"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Jul 28 09:53:12 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 28 09:53:12 2010 -0700"
      },
      "message": "Merge \"Add a missing break; to restore old functionality and not turn off the screen after 30secs regardless of system preference.\" into gingerbread"
    },
    {
      "commit": "d8aad91d8cdc64e00eec94a87b8dd3cc4d05c032",
      "tree": "d39688418885bd8df3862c607eacb8eee615696b",
      "parents": [
        "5d27977f9da482627ceb19317a2cd70467aff046",
        "d5786b982c90632a4b35fd2d984c4edc4bbdfb0b"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jul 28 04:18:10 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 28 04:18:10 2010 -0700"
      },
      "message": "am d5786b98: am c40d714c: Merge \"Tethering: Use new ACTION_USB_STATE broadcast to monitor USB connected state\" into gingerbread\n\nMerge commit \u0027d5786b982c90632a4b35fd2d984c4edc4bbdfb0b\u0027\n\n* commit \u0027d5786b982c90632a4b35fd2d984c4edc4bbdfb0b\u0027:\n  Tethering: Use new ACTION_USB_STATE broadcast to monitor USB connected state\n"
    },
    {
      "commit": "d5786b982c90632a4b35fd2d984c4edc4bbdfb0b",
      "tree": "d9aaeae87f944c6267f9ec09b9c8e10616a1db67",
      "parents": [
        "931ee98cc05aedaf0a7cdf0b7ec503a8586359f5",
        "c40d714ca520257bcb5ef2e03e83ea3273d3a0ec"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jul 28 04:11:03 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 28 04:11:03 2010 -0700"
      },
      "message": "am c40d714c: Merge \"Tethering: Use new ACTION_USB_STATE broadcast to monitor USB connected state\" into gingerbread\n\nMerge commit \u0027c40d714ca520257bcb5ef2e03e83ea3273d3a0ec\u0027 into gingerbread-plus-aosp\n\n* commit \u0027c40d714ca520257bcb5ef2e03e83ea3273d3a0ec\u0027:\n  Tethering: Use new ACTION_USB_STATE broadcast to monitor USB connected state\n"
    },
    {
      "commit": "c40d714ca520257bcb5ef2e03e83ea3273d3a0ec",
      "tree": "87bc4979430b652177e084cda82f6708d33fff2b",
      "parents": [
        "b73045935cd8ec5d1a1c5e7a7ca800448b5789ea",
        "ac051ae7ac62532c78f820a0c7347ca36b119132"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jul 28 04:04:18 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 28 04:04:18 2010 -0700"
      },
      "message": "Merge \"Tethering: Use new ACTION_USB_STATE broadcast to monitor USB connected state\" into gingerbread"
    },
    {
      "commit": "a58a8751b4c2ce457f0082a0baaee61312d56195",
      "tree": "14521164e8ce7f53e55f3af25efa9c4078a8c8b0",
      "parents": [
        "42d8f6f2fbf2d73f01dd485e043bc33b575f9881"
      ],
      "author": {
        "name": "Bai Tao",
        "email": "michaelbai@google.com",
        "time": "Tue Jul 13 15:32:16 2010 +0800"
      },
      "committer": {
        "name": "Bai Tao",
        "email": "michaelbai@google.com",
        "time": "Wed Jul 28 09:45:57 2010 +0800"
      },
      "message": "Add new system service CountryDetector\n\na. The CountryDetector detects the country the user is in\n   in order of mobile network, location, sim card or locale.\n   It will be used by contact and contact provider.\n\nb. All added APIs are hidden at this stage.\n\nChange-Id: I4ba278571ffb6ab6ded0996d4f440a18534f8ed4\n"
    },
    {
      "commit": "8b67752c82a26e21fe0977cb5e201acf2e22824d",
      "tree": "c2d81850e571530c5a7a9fe13568fe264f4b4690",
      "parents": [
        "42d8f6f2fbf2d73f01dd485e043bc33b575f9881",
        "931ee98cc05aedaf0a7cdf0b7ec503a8586359f5"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Jul 27 18:39:21 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 27 18:39:21 2010 -0700"
      },
      "message": "am 931ee98c: am b7304593: Merge \"Cap the size of StrictMode buffering we do before calling DropBox.\" into gingerbread\n\nMerge commit \u0027931ee98cc05aedaf0a7cdf0b7ec503a8586359f5\u0027\n\n* commit \u0027931ee98cc05aedaf0a7cdf0b7ec503a8586359f5\u0027:\n  Cap the size of StrictMode buffering we do before calling DropBox.\n"
    },
    {
      "commit": "931ee98cc05aedaf0a7cdf0b7ec503a8586359f5",
      "tree": "794c59fd1614f2d1db71bfda54c047b903765b59",
      "parents": [
        "cb61d132bc8ff26b7c81fb2fa7439808014f50b3",
        "b73045935cd8ec5d1a1c5e7a7ca800448b5789ea"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Jul 27 18:37:20 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 27 18:37:20 2010 -0700"
      },
      "message": "am b7304593: Merge \"Cap the size of StrictMode buffering we do before calling DropBox.\" into gingerbread\n\nMerge commit \u0027b73045935cd8ec5d1a1c5e7a7ca800448b5789ea\u0027 into gingerbread-plus-aosp\n\n* commit \u0027b73045935cd8ec5d1a1c5e7a7ca800448b5789ea\u0027:\n  Cap the size of StrictMode buffering we do before calling DropBox.\n"
    },
    {
      "commit": "b73045935cd8ec5d1a1c5e7a7ca800448b5789ea",
      "tree": "374ad5b9ff406fc285e7d60f5c1436f4a0fd9c00",
      "parents": [
        "9b8e5566f99c55222db4127719440272f63a5361",
        "e73eb531259126728e1d6e6b71ca65da28aaf0e0"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Jul 27 18:34:08 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 27 18:34:08 2010 -0700"
      },
      "message": "Merge \"Cap the size of StrictMode buffering we do before calling DropBox.\" into gingerbread"
    },
    {
      "commit": "e73eb531259126728e1d6e6b71ca65da28aaf0e0",
      "tree": "38447cdab530cfee887e22447531641b529de7fd",
      "parents": [
        "0166c3530535355e7813f54c4e403a21db94a9d2"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Jul 27 16:54:39 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Jul 27 16:54:39 2010 -0700"
      },
      "message": "Cap the size of StrictMode buffering we do before calling DropBox.\n\nChange-Id: I46ea767bd0153c745e9b7eff945dacf5130f8807\n"
    },
    {
      "commit": "84047bc295af663274ced27def33164d6e020b5d",
      "tree": "2b9de925d070488c5205ddedef1b135bd51f98b2",
      "parents": [
        "499bee34c40945f898b7561ca7792ded5b974852"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jul 27 16:49:10 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jul 27 16:49:10 2010 -0700"
      },
      "message": "Add a missing break; to restore old functionality and not turn off the screen after 30secs regardless of system preference.\n\nChange-Id: I6d160a1851e1f73bac3775d24cf70d46da59aa47\n"
    },
    {
      "commit": "da39f0e87814c5acb8b6319a1877b93197fb910e",
      "tree": "66b64baf9307c6897f9296dd427f6a6f5cf25240",
      "parents": [
        "037a086b164c376d8c428a2a584a3460bf82590f"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Jul 27 18:44:30 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Jul 27 19:20:15 2010 -0400"
      },
      "message": "Send Intents when PTP compatible devices are connected/disconnected to USB\n\nUsb.ACTION_USB_CAMERA_ATTACHED and Usb.ACTION_USB_CAMERA_DETACHED are sent\nwhen cameras are connected and disconnected.\nThe data field of the intent contains a Uri for the camera in the Mtp content provider.\n\nChange-Id: I814221b4f0507b309997c71edb5a041e8efc54f7\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "a2a1b911a31dd94ee75e94845f762b91f1db1368",
      "tree": "fde9fc43315d8bee56efa6f326f45bf24a7b3641",
      "parents": [
        "7d72e5ad7cebd3c2884793b940b1697dada6adc9"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Jun 07 09:03:04 2010 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Jul 27 11:59:29 2010 -0700"
      },
      "message": "Refactor WifiStateTracker\n\nImplement WifiStateTracker as a HSM.\n\nChange-Id: Ic12fd78f1f183b5c4dea8ad2301002267ceff0cb\n"
    },
    {
      "commit": "7d72e5ad7cebd3c2884793b940b1697dada6adc9",
      "tree": "e0f1edd6883bc8546ed057a0f83acb91889f02e7",
      "parents": [
        "bb2b2a996b2c0bea7e434136e20340f4f1b398ab",
        "b9a8509a6fd768f9be6de897e0a945197b64e7cf"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Tue Jul 27 10:32:54 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 27 10:32:54 2010 -0700"
      },
      "message": "am b9a8509a: am 499bee34: Merge \"Remove a log message Jason doesn\\\u0027t like\" into gingerbread\n\nMerge commit \u0027b9a8509a6fd768f9be6de897e0a945197b64e7cf\u0027\n\n* commit \u0027b9a8509a6fd768f9be6de897e0a945197b64e7cf\u0027:\n  Remove a log message Jason doesn\u0027t like\n"
    },
    {
      "commit": "b9a8509a6fd768f9be6de897e0a945197b64e7cf",
      "tree": "10db2e4a622404cc36fdf1ba63a0fdc410904542",
      "parents": [
        "070433edee72de5fd9b93ddf055f74277f0deff4",
        "499bee34c40945f898b7561ca7792ded5b974852"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Tue Jul 27 10:28:38 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 27 10:28:38 2010 -0700"
      },
      "message": "am 499bee34: Merge \"Remove a log message Jason doesn\\\u0027t like\" into gingerbread\n\nMerge commit \u0027499bee34c40945f898b7561ca7792ded5b974852\u0027 into gingerbread-plus-aosp\n\n* commit \u0027499bee34c40945f898b7561ca7792ded5b974852\u0027:\n  Remove a log message Jason doesn\u0027t like\n"
    },
    {
      "commit": "499bee34c40945f898b7561ca7792ded5b974852",
      "tree": "64c2446094f7b298ab1c9bd353813f22786e9a38",
      "parents": [
        "76d9bf52f31b8f31f64348b736422861c90ab463",
        "c13978afe3adf26dc32766dab300cc066f372618"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Tue Jul 27 10:22:58 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 27 10:22:58 2010 -0700"
      },
      "message": "Merge \"Remove a log message Jason doesn\u0027t like\" into gingerbread"
    },
    {
      "commit": "d596d5115c0f568472daec4f094807bcd39d1f0f",
      "tree": "5b8aff71d60e33676208d78bccc85febf1c4d518",
      "parents": [
        "6688214f7f920d7d38c943ce5247ea5a0c570eae",
        "070433edee72de5fd9b93ddf055f74277f0deff4"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Jul 27 09:26:26 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 27 09:26:26 2010 -0700"
      },
      "message": "am 070433ed: am 76d9bf52: am 8c65ee2d: Merge \"Add a method to let a properly permissioned app directly manipulate the user activity timeout.  We should come up with a better API for this, but this is for a last minute power manager hack to turn off the screen sooner a\n\nMerge commit \u0027070433edee72de5fd9b93ddf055f74277f0deff4\u0027\n\n* commit \u0027070433edee72de5fd9b93ddf055f74277f0deff4\u0027:\n  Add a method to let a properly permissioned app directly\n"
    },
    {
      "commit": "070433edee72de5fd9b93ddf055f74277f0deff4",
      "tree": "16cdaac750efe72b060fa334fb6a1cf027f59dc6",
      "parents": [
        "d306cc8192bf569b2e6e7d58b4d73f6607e9d509",
        "76d9bf52f31b8f31f64348b736422861c90ab463"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Jul 27 09:19:48 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 27 09:19:48 2010 -0700"
      },
      "message": "am 76d9bf52: am 8c65ee2d: Merge \"Add a method to let a properly permissioned app directly manipulate the user activity timeout.  We should come up with a better API for this, but this is for a last minute power manager hack to turn off the screen sooner after a phone \n\nMerge commit \u002776d9bf52f31b8f31f64348b736422861c90ab463\u0027 into gingerbread-plus-aosp\n\n* commit \u002776d9bf52f31b8f31f64348b736422861c90ab463\u0027:\n  Add a method to let a properly permissioned app directly\n"
    },
    {
      "commit": "76d9bf52f31b8f31f64348b736422861c90ab463",
      "tree": "ab9bfa91f80d6366e575fe85103cdfcaf3bb119b",
      "parents": [
        "ca57d1cc89d65dfbd59c749c5736574cd08c7bd3",
        "8c65ee2d509db7dcb50ce4530d52eb5bdca3f917"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Jul 27 09:14:42 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 27 09:14:42 2010 -0700"
      },
      "message": "am 8c65ee2d: Merge \"Add a method to let a properly permissioned app directly manipulate the user activity timeout.  We should come up with a better API for this, but this is for a last minute power manager hack to turn off the screen sooner after a phone call ends.\" i\n\nMerge commit \u00278c65ee2d509db7dcb50ce4530d52eb5bdca3f917\u0027 into gingerbread\n\n* commit \u00278c65ee2d509db7dcb50ce4530d52eb5bdca3f917\u0027:\n  Add a method to let a properly permissioned app directly\n"
    },
    {
      "commit": "c13978afe3adf26dc32766dab300cc066f372618",
      "tree": "6654b7b0122981f3106d7fc7f85cb73ba98a1403",
      "parents": [
        "00de721859ca291d0e212a6970f0bd8b3a2f8428"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Mon Jul 26 15:32:00 2010 -0700"
      },
      "committer": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Mon Jul 26 15:32:00 2010 -0700"
      },
      "message": "Remove a log message Jason doesn\u0027t like\n\nBug: 2856942\nChange-Id: Ifc5cfc076bfed0918bb203ed9c82a42092ac3939\n"
    },
    {
      "commit": "9fb0bb8292ab35983777f2decc3565377199f54c",
      "tree": "1f13d6c772325d90c95db3961c515204728c4502",
      "parents": [
        "fd1fbcad5862877ca44f2d50d7cc063c8455f02d",
        "b6022e3d500f248cf1abe94e8f1509e27ab25736"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jul 26 12:30:19 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jul 26 12:30:19 2010 -0700"
      },
      "message": "am b6022e3d: am 14bfa398: Infrastructure to report running services to developer.\n\nMerge commit \u0027b6022e3d500f248cf1abe94e8f1509e27ab25736\u0027\n\n* commit \u0027b6022e3d500f248cf1abe94e8f1509e27ab25736\u0027:\n  Infrastructure to report running services to developer.\n"
    },
    {
      "commit": "4cca89c0425a93dd842d85a56205c017a418e1c1",
      "tree": "4e3874b9ba1e018412dffde7a556f3e58c3a1f77",
      "parents": [
        "48b9cbb046d7fc546e5e4c08f772ddb8ef528ed3",
        "3a2ff74fa4c3f014555ec64fccc16e1b9f6d0111"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jul 26 12:30:10 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jul 26 12:30:10 2010 -0700"
      },
      "message": "am 3a2ff74f: am 46730fc7: Fix handling of application disabled state.\n\nMerge commit \u00273a2ff74fa4c3f014555ec64fccc16e1b9f6d0111\u0027\n\n* commit \u00273a2ff74fa4c3f014555ec64fccc16e1b9f6d0111\u0027:\n  Fix handling of application disabled state.\n"
    },
    {
      "commit": "b6022e3d500f248cf1abe94e8f1509e27ab25736",
      "tree": "4943df1c407b09c6c3ca041a44cf57a102063311",
      "parents": [
        "ef1b9c6aa7a9a4dd79823e47829a9ca894c06a0f",
        "14bfa398a4e8697ce5822861a684b7d1245e4a85"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jul 26 12:24:57 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jul 26 12:24:57 2010 -0700"
      },
      "message": "am 14bfa398: Infrastructure to report running services to developer.\n\nMerge commit \u002714bfa398a4e8697ce5822861a684b7d1245e4a85\u0027 into gingerbread-plus-aosp\n\n* commit \u002714bfa398a4e8697ce5822861a684b7d1245e4a85\u0027:\n  Infrastructure to report running services to developer.\n"
    },
    {
      "commit": "3a2ff74fa4c3f014555ec64fccc16e1b9f6d0111",
      "tree": "7ac658ccb6206464251cd42ebf90b9cd7b0449be",
      "parents": [
        "443d884e16fad2e01a97aa788d4b30de53c94048",
        "46730fc78388607fd562044cbaaa26ffc9f65337"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jul 26 12:24:21 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jul 26 12:24:21 2010 -0700"
      },
      "message": "am 46730fc7: Fix handling of application disabled state.\n\nMerge commit \u002746730fc78388607fd562044cbaaa26ffc9f65337\u0027 into gingerbread-plus-aosp\n\n* commit \u002746730fc78388607fd562044cbaaa26ffc9f65337\u0027:\n  Fix handling of application disabled state.\n"
    },
    {
      "commit": "14bfa398a4e8697ce5822861a684b7d1245e4a85",
      "tree": "e931d659ad7827ebf74d66a0f5c13d949dcd2b60",
      "parents": [
        "3ac8eb7278e3603d1a35fdbd2fff540a235da2ab"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Jul 24 19:58:06 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Jul 24 20:07:17 2010 -0700"
      },
      "message": "Infrastructure to report running services to developer.\n\nChange-Id: Id1aae61323e7b8357c5fcc4bc641aaa57f3b6fde\n"
    },
    {
      "commit": "46730fc78388607fd562044cbaaa26ffc9f65337",
      "tree": "460661e109dcae2b1cae10d77cb287ac37ed6892",
      "parents": [
        "3bee5af8162c177f8c8f4199489a401058ab26a9"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Jul 24 16:32:42 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Jul 24 16:34:00 2010 -0700"
      },
      "message": "Fix handling of application disabled state.\n\nChange-Id: I617b76e89eeb75437b384b92f1205bb00b15bb70\n"
    },
    {
      "commit": "7999bff154e96efb0bc9d2b89ec277f0f9ca0d2f",
      "tree": "80395cf53286425b2eea352f48a29c88635e8569",
      "parents": [
        "e8605af513e846f6cd223c9e92461189727d8c9b"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Sat Jul 24 11:50:05 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Sat Jul 24 11:50:05 2010 -0400"
      },
      "message": "Add a method to let a properly permissioned app directly\nmanipulate the user activity timeout.  We should come up\nwith a better API for this, but this is for a last minute\npower manager hack to turn off the screen sooner after a\nphone call ends.\n\nChange-Id: I76422f952e3e894c90b3311e7d889899c79cbbaa\n"
    },
    {
      "commit": "1b57b86dccf8037761d43bd87c3472ea092895a7",
      "tree": "55917e0e9b76ac36334c036c28df691bc04e18e1",
      "parents": [
        "d98a803bb22111a6958be868b436f43fd5309383",
        "83a236303438453740d5db41b0d017be9e5d56c1"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jul 22 16:18:35 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 22 16:18:35 2010 -0700"
      },
      "message": "am 83a23630: am dd299046: Merge \"frameworks/base: Implement Mutual exclusion in BroadcastReceiver\"\n\nMerge commit \u002783a236303438453740d5db41b0d017be9e5d56c1\u0027\n\n* commit \u002783a236303438453740d5db41b0d017be9e5d56c1\u0027:\n  frameworks/base: Implement Mutual exclusion in BroadcastReceiver\n"
    },
    {
      "commit": "83a236303438453740d5db41b0d017be9e5d56c1",
      "tree": "165e8ed76b8da896370046e8b08a221faff3b582",
      "parents": [
        "422e700ee4f312c7d3c87e26bc2b0c7061c9aa8a",
        "dd29904638fb36cd5585560e83367d1f5565cc4c"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jul 22 16:14:18 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 22 16:14:18 2010 -0700"
      },
      "message": "am dd299046: Merge \"frameworks/base: Implement Mutual exclusion in BroadcastReceiver\"\n\nMerge commit \u0027dd29904638fb36cd5585560e83367d1f5565cc4c\u0027 into gingerbread-plus-aosp\n\n* commit \u0027dd29904638fb36cd5585560e83367d1f5565cc4c\u0027:\n  frameworks/base: Implement Mutual exclusion in BroadcastReceiver\n"
    },
    {
      "commit": "61f07659fe66216d39f1652c94693d1c68cd9e67",
      "tree": "97449ba7adebf569141755a6a121c3106453eef4",
      "parents": [
        "13d33472b273088311dc8787e5c55c41d4632071"
      ],
      "author": {
        "name": "Vairavan Srinivasan",
        "email": "vairav@codeaurora.org",
        "time": "Thu Jul 22 13:36:40 2010 -0700"
      },
      "committer": {
        "name": "Vairavan Srinivasan",
        "email": "vairav@codeaurora.org",
        "time": "Thu Jul 22 13:36:40 2010 -0700"
      },
      "message": "frameworks/base: Implement Mutual exclusion in BroadcastReceiver\n\nInvoke forceStopPackageLocked after acquiring a lock on\nActivityManagerService.this.\n\nChange-Id: I75a85da03418a87c26b89360cebd3bccc6a25e46\n"
    },
    {
      "commit": "50558b956157dad980441bf4fb44931ce834e36b",
      "tree": "2d208a78ab3a1c77d91751b8bbe5cafd9415f0d8",
      "parents": [
        "c1b11b1b37d0692bd3c63575c9f2c0d9fa566602",
        "bc54e63c84a517f0dca88ba900ff2b56719f685b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 21 18:10:22 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 21 18:10:22 2010 -0700"
      },
      "message": "resolved conflicts for merge of bc54e63c to master\n\nChange-Id: I4245b15b4cda6963d735442c0c6a04a0477ff5e1\n"
    },
    {
      "commit": "bc54e63c84a517f0dca88ba900ff2b56719f685b",
      "tree": "791b80d51eb70978efb8bb046b3e0a52637f5019",
      "parents": [
        "7da38863d4382746090bf50413b1774ab04f6bc1",
        "e4764521353e898554931a557460fc49209fb0a9"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 21 16:09:55 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 21 16:09:55 2010 -0700"
      },
      "message": "am e4764521: Merge \"new SensorService\" into gingerbread\n\nMerge commit \u0027e4764521353e898554931a557460fc49209fb0a9\u0027 into gingerbread-plus-aosp\n\n* commit \u0027e4764521353e898554931a557460fc49209fb0a9\u0027:\n  new SensorService\n"
    },
    {
      "commit": "57339e752c5ddc12c530e9440274b7dcd83b0288",
      "tree": "bbd18333a1aad90a8522ae7af703529bdc841c3d",
      "parents": [
        "8dc9b86f8113ee34d71c4998ebe2002b952977ac",
        "e9e046733dc1ce9116a55aa3a675b91f2fc2b530"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Jul 21 08:13:02 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 21 08:13:02 2010 -0700"
      },
      "message": "am e9e04673: merge from open-source master\n\nMerge commit \u0027e9e046733dc1ce9116a55aa3a675b91f2fc2b530\u0027\n\n* commit \u0027e9e046733dc1ce9116a55aa3a675b91f2fc2b530\u0027:\n  replaced deprecated setButton Methods\n"
    },
    {
      "commit": "e9e046733dc1ce9116a55aa3a675b91f2fc2b530",
      "tree": "d8b57d2777072e3fe870fbbb1331bba056085912",
      "parents": [
        "9049fe60c20640bd606741c8f45f3f781a1684f5",
        "13d33472b273088311dc8787e5c55c41d4632071"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Jul 21 08:05:45 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Jul 21 08:05:45 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: I5d220f16c319e95547f133ee9bcbd0b5caabc597\n"
    },
    {
      "commit": "13d33472b273088311dc8787e5c55c41d4632071",
      "tree": "6bd450aaabf246d664b02fca774882604f7d3fcb",
      "parents": [
        "798e2d3d0c80e269ead1489dbc3f2f762f1e52b5",
        "7664e20927b6a278e644b4cbef648d4095f46116"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jul 20 11:11:20 2010 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Tue Jul 20 11:11:20 2010 -0700"
      },
      "message": "Merge \"replaced deprecated setButton Methods\""
    },
    {
      "commit": "7664e20927b6a278e644b4cbef648d4095f46116",
      "tree": "791cba7de2a532de93b0a5db29646f24fd17b794",
      "parents": [
        "45988040454b710c20abf5fda74cdafb874a28bf"
      ],
      "author": {
        "name": "Christian Mehlmauer",
        "email": "FireFart@gmail.com",
        "time": "Tue Jul 20 08:46:17 2010 +0200"
      },
      "committer": {
        "name": "Christian Mehlmauer",
        "email": "FireFart@gmail.com",
        "time": "Tue Jul 20 08:46:17 2010 +0200"
      },
      "message": "replaced deprecated setButton Methods\n\nChange-Id: I8361377cda18ae060a53b84702a2cf9b6f3e8365\n"
    },
    {
      "commit": "1bf797857e025e8a71db86fb9e79765a767ec1eb",
      "tree": "e8d1aabae069f2b7368be746b99667eb150363f5",
      "parents": [
        "ff7049ab2886acc73e145367118646f7741ce333"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 14 23:41:37 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jul 19 17:57:29 2010 -0700"
      },
      "message": "new SensorService\n\nremove old sensor service and implement SensorManager\non top of the new (native) SensorManger API.\n\nChange-Id: Iddb77d498755da3e11646473a44d651f12f40281\n"
    },
    {
      "commit": "2ef1cea44008d7afb5ed91cfbccc9df5288f83ca",
      "tree": "3d6e2d77d79e610052494da6a29f0344cda9c674",
      "parents": [
        "121d7d86d2c82457ed8f74460c3a435ee2f1160f",
        "03559753ce0c6105b9357d6050aa4cddb9112ac2"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Jul 19 16:09:40 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 19 16:09:40 2010 -0700"
      },
      "message": "Merge \"Add support for emulating external storage on devices with no SD card\""
    },
    {
      "commit": "03559753ce0c6105b9357d6050aa4cddb9112ac2",
      "tree": "328bcbbc77617776565bf0d27205f856aa6a5956",
      "parents": [
        "4a1d035b935abea0a046e6e243520ff367445327"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Jul 19 18:25:03 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Jul 19 18:25:03 2010 -0400"
      },
      "message": "Add support for emulating external storage on devices with no SD card\n\nChange-Id: I4feb03a4b8f4eae33e940477b355d3a4cac7fa86\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "26824b7a9e4f5fe5c3b7e0576320f58fd035b100",
      "tree": "c68afdd59d0b09c36d854232c32dff5a75f309e3",
      "parents": [
        "45988040454b710c20abf5fda74cdafb874a28bf"
      ],
      "author": {
        "name": "Maciej Białka",
        "email": "maciej.bialka@sonyericsson.com",
        "time": "Fri Mar 05 08:40:09 2010 +0100"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Jul 19 15:12:20 2010 -0700"
      },
      "message": "Remove the window from being a target for motion events when it is destroyed.\n\nIf window was destroyed when touch was pressed this destroyed\nwindow was still considered as a target for motion events.\nIn some cases this could result with hang up inside event dispatch procedure.\n\nChange-Id: I2ede17a40b14b2f509ab3d2560abb65292324f45\n"
    },
    {
      "commit": "499cb9f516062b654952d282f211bee44c31a3c2",
      "tree": "3c9bac8b31275e886bfbd07805c38839c185eab2",
      "parents": [
        "b5b37f3bcc3065959c27e588f065dfb33a061e1d"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Fri Jul 16 11:18:17 2010 -0700"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Mon Jul 19 14:48:31 2010 -0700"
      },
      "message": "Initial changes to allow collections in widgets.\n\nChange-Id: I3cfa899bae88cd252912cecebc12e93c27a3b7c9\n"
    },
    {
      "commit": "6181f39257ecd8a93b1c43ddef771734dfef8f49",
      "tree": "da4db17e9bca5fa911989fc7d97c95b2ccc48bec",
      "parents": [
        "387b6580b8723d738ffd99d93d0f8357d55b3dc3",
        "27ef0f732c5a97ba88a699b7490045e5370cf51f"
      ],
      "author": {
        "name": "Adam Bliss",
        "email": "abliss@google.com",
        "time": "Mon Jul 19 09:07:53 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jul 19 09:07:53 2010 -0700"
      },
      "message": "am 27ef0f73: am 9714d2c4: Merge \"Don\\\u0027t throw an exception from isProviderEnabled and getLastKnownLocation\" into gingerbread\n\nMerge commit \u002727ef0f732c5a97ba88a699b7490045e5370cf51f\u0027\n\n* commit \u002727ef0f732c5a97ba88a699b7490045e5370cf51f\u0027:\n  Don\u0027t throw an exception from isProviderEnabled and getLastKnownLocation\n"
    },
    {
      "commit": "27ef0f732c5a97ba88a699b7490045e5370cf51f",
      "tree": "ab3e35fea63bb73f1d9cc624b7afff4cd4be4ea5",
      "parents": [
        "5e782937ead3042255d83f9c1192f2cc7b688d74",
        "9714d2c4d2a7563ce5ffdc1726461b24e9f1e599"
      ],
      "author": {
        "name": "Adam Bliss",
        "email": "abliss@google.com",
        "time": "Mon Jul 19 08:36:26 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jul 19 08:36:26 2010 -0700"
      },
      "message": "am 9714d2c4: Merge \"Don\\\u0027t throw an exception from isProviderEnabled and getLastKnownLocation\" into gingerbread\n\nMerge commit \u00279714d2c4d2a7563ce5ffdc1726461b24e9f1e599\u0027 into gingerbread-plus-aosp\n\n* commit \u00279714d2c4d2a7563ce5ffdc1726461b24e9f1e599\u0027:\n  Don\u0027t throw an exception from isProviderEnabled and getLastKnownLocation\n"
    },
    {
      "commit": "f4d207b1c2212d6e9adc3e7954a8d14c6b9abc51",
      "tree": "1dc9c49461ae15e7b6787306a49c4b89f278ee62",
      "parents": [
        "eec69d2923636b2aaa51df93bacc2b3bbb742736"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat Jul 17 08:21:33 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat Jul 17 08:21:33 2010 -0400"
      },
      "message": "Don\u0027t throw an exception from isProviderEnabled and getLastKnownLocation\n\nif the location provider does not exist.  Instead use the same behavior\nas if the provider were disabled in settings\n(return false for isProviderEnabled and null from getLastKnownLocation).\nThis eliminates for a lot of exception handling around some simple\nqueries to the location manager.\n\nBUG: 2841014\n\nChange-Id: I4fbe0c088e915c90969e13083201dd3e7f4029cb\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "eb857f12d605659b385d168ef1ea7d4ba5193585",
      "tree": "fda7ab277e7ef292f58175d8ce6a4e1251e69786",
      "parents": [
        "c0eb6d6388ad4e7301a6813b4cf2edf6845bedba",
        "f7adbe10c23ca86e70a6e3a8b1a90ebe23142d29"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jul 16 10:06:33 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jul 16 10:06:33 2010 -0700"
      },
      "message": "resolved conflicts for merge of f7adbe10 to master\n\nChange-Id: I898a5e53b180adaee2337c0c0b9896c799d056e7\n"
    },
    {
      "commit": "fb4e1e24a93c7e6bc0fcdb3f5cfadfbc19503cd8",
      "tree": "d0977ad1671d7b31471c3a6d80ed3aa9e4d9969e",
      "parents": [
        "a2b78e21b0d3f8e2edc9926451312d4bed9391f1",
        "181bb0ab461b1c8a6bf608f19c136fc0bbee7a3d"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Jul 16 09:04:09 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Jul 16 09:04:09 2010 -0700"
      },
      "message": "resolved conflicts for merge of 181bb0ab to master\n\nChange-Id: I2284e7c671d127da0d124fbabae8d887727fd5bf\n"
    },
    {
      "commit": "f7adbe10c23ca86e70a6e3a8b1a90ebe23142d29",
      "tree": "6b8c37c970397f60ad99d551cb69b1788516ba25",
      "parents": [
        "f16b3f104f60738447db60bcf2c44c7610e17199",
        "eec69d2923636b2aaa51df93bacc2b3bbb742736"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jul 16 00:16:09 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 16 00:16:09 2010 -0700"
      },
      "message": "am eec69d29: Merge \"Fix bug with phantom input windows.\" into gingerbread\n\nMerge commit \u0027eec69d2923636b2aaa51df93bacc2b3bbb742736\u0027 into gingerbread-plus-aosp\n\n* commit \u0027eec69d2923636b2aaa51df93bacc2b3bbb742736\u0027:\n  Fix bug with phantom input windows.\n"
    },
    {
      "commit": "e33348ba54cd68d6936cffd4507037c14d4b10c2",
      "tree": "1429dd836a48b3f49ee2a27623ff47b5c272c827",
      "parents": [
        "bd623daff1f261a0e794f059d90ba5907eb5a89a"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jul 15 23:54:05 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jul 16 00:02:48 2010 -0700"
      },
      "message": "Fix bug with phantom input windows.\n\nAdd dumpsys integration for the native input dispatcher.\nAdd some InputDevice API stubs.\nAdd an appendFormat helper method to String8 for printf style\nstring formatting mainly for debugging purposes.\nUse generic ArrayList\u003cWindowState\u003e everywhere in WindowManagerService\nto eliminate unnecessary casts all over.\n\nChange-Id: I9d1e3bd90eb7222d10620200477f11b7bfd25e44\n"
    },
    {
      "commit": "b75fa30aaf03d9e425d150b452501e5df0621351",
      "tree": "c7914253bdc9964a7bca8093341173a91341c74d",
      "parents": [
        "3fdab65f244c92aed36bc0a5ee435d5dfbe2d673",
        "aca672ba2eea19420df16906851d56077a3fd3b2"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jul 15 23:47:29 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jul 15 23:47:29 2010 -0700"
      },
      "message": "resolved conflicts for merge of aca672ba to master\n\nChange-Id: I7ae11fca0acdbf513a4870226d0d3e3cafbe9a08\n"
    },
    {
      "commit": "74446cef55e75aa6bf4627f4c128768a2cdc5b63",
      "tree": "dc4f4d6d998cbb40ca85e4f4c8f0ce6dc1fd5993",
      "parents": [
        "d2f6c7fe735ffcdb67852c6a1287565a2afa412d",
        "f96c2719c3cb4878e899b6fe0753b4f4b8aea8b7"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Thu Jul 15 23:05:44 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 15 23:05:44 2010 -0700"
      },
      "message": "am f96c2719: am 0c36c96f: Merge \"StrictMode: batch drop box writes for system apps\" into gingerbread\n\nMerge commit \u0027f96c2719c3cb4878e899b6fe0753b4f4b8aea8b7\u0027\n\n* commit \u0027f96c2719c3cb4878e899b6fe0753b4f4b8aea8b7\u0027:\n  StrictMode: batch drop box writes for system apps\n"
    },
    {
      "commit": "181bb0ab461b1c8a6bf608f19c136fc0bbee7a3d",
      "tree": "4f3d702e1c2290b99fd3a55289c91fbc9cf243aa",
      "parents": [
        "aca672ba2eea19420df16906851d56077a3fd3b2",
        "02c8730c1bf19daf48bec8c6995df676a00a73b1"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Jul 15 21:35:53 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 15 21:35:53 2010 -0700"
      },
      "message": "am 02c8730c: Add API to call to vold for mounting OBBs\n\nMerge commit \u002702c8730c1bf19daf48bec8c6995df676a00a73b1\u0027 into gingerbread-plus-aosp\n\n* commit \u002702c8730c1bf19daf48bec8c6995df676a00a73b1\u0027:\n  Add API to call to vold for mounting OBBs\n"
    },
    {
      "commit": "02c8730c1bf19daf48bec8c6995df676a00a73b1",
      "tree": "f4d832a5308a18272cc6be0464a9824ad1e776ec",
      "parents": [
        "c5ed5910c9ef066cec6a13bbb404ec57b1e92637"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Jul 01 08:10:18 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Jul 15 21:31:58 2010 -0700"
      },
      "message": "Add API to call to vold for mounting OBBs\n\n* Unhide StorageService class; hide all the USB-related items\n\n* Add application-visible API to StorageManager for OBB files\n\n* Add class for parceling OBB info across binders (ObbInfo)\n\n* Add a JNI glue class to libutils/ObbFile (ObbScanner)\n\n* Add API to MountService to deal with calling into vold and checking\n  permissions\n\nChange-Id: I33ecf9606b8ff535f3a2ada83931da6bbef41cfd\n"
    }
  ],
  "next": "aca672ba2eea19420df16906851d56077a3fd3b2"
}
