)]}'
{
  "log": [
    {
      "commit": "efb581018bbede2ecdc76bcd9722ded5b6903254",
      "tree": "53ba83804a0ac7a53331b12bec05479954de6a9a",
      "parents": [
        "a851d8d0cfec45e33ee884114548a4f2890d1f06"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 14 16:47:34 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Oct 15 11:22:17 2010 -0700"
      },
      "message": "Debug logs for issue #3101415: Apps seem to have their UID changed over time.\n\n- Activity manager now prints the pid doing a startActivity request.\n- Package manager now remembers messages about problems it has parsing\n  packages.xml.\n\nChange-Id: I11a75aa3953dbfa5dd41cfbdf69116c764ec228f\n"
    },
    {
      "commit": "bc21fdefdfbeba1754c6cd339c7dd8e8f1d6fd48",
      "tree": "8b58be37237ea58089f6541403fd3092ff64f6bc",
      "parents": [
        "c1e7b2182594aa0463c4a738cc8e7eea6777ef50"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Wed Oct 13 17:25:24 2010 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Fri Oct 15 02:12:32 2010 -0700"
      },
      "message": "NFC: Move NFC service implementation out of system_server.\n\nNFC service is now an application service in packages/apps/Nfc.\n\nNFC service is registered through ServiceManager.addService(), and the proxy\nobject NfcAdapter obtains a handle to it through ServiceManager.getService().\n\n**Important** Had to add new symbols AID_NFC / NFC_UID / android.uid.nfc and\nmodify service_manager.c, Process.java and PackageManagerService.java in order\nto force the com.android.nfc process to take a fixed uid, so that it can use\nServiceManager.addService().\n\nMost of the JNI has moved to packages/apps/Nfc/jni. However NdefRecord and\nNdefMessage require some in-process native code, so android_com_NdefMessage.cpp\nand android_com_NdefRecord.cpp stay in frameworks/base/core/jni. They link to\na very small library libnfc_ndef.so that implements NDEF message parsing. This\nhas been added to core.mk so all devices (even without NFC hardware) can work\nwith NDEF data.\n\nBug: 3041259\nBug: 3097445\nChange-Id: If8f00ce8f2053acfc9319ca366d4a9c02bd396e6\nSigned-off-by: Nick Pelly \u003cnpelly@google.com\u003e\n"
    },
    {
      "commit": "609695dab0f0318459d32ff5dfc529d7398e751b",
      "tree": "24d1aad42b48d9040d162a015b29c5d7c21c1d07",
      "parents": [
        "d4e03f37423bee383d17f7292753a5f67e497a28"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Oct 14 14:57:49 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Oct 14 17:49:01 2010 -0700"
      },
      "message": "Screen on/off animation tweaks\n\n- Pass to surface flinger whether we want animations or not.\n- Don\u0027t use the animation when the screen goes off because of the prox sensor.\n- Turn the screen-on animation back off\n- Also, now the animation setting controls whether or not we do the animation.\n\nBug: 3097475\nBug: 3098508\nChange-Id: I205d5564d6668b33a8dc1c40d8cc06c4aad305cf\n"
    },
    {
      "commit": "bdf8034c657147226b2390eef113ff841e0d6065",
      "tree": "58be0affeafef6d38ef9e53744af1aaf1a7a8fa8",
      "parents": [
        "cebe5b2e01f8ebbf9089aebc386caecea232df76",
        "3b1abba6bbc895d63da3e82e9b158c01bd12eddd"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Oct 13 18:29:43 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 13 18:29:43 2010 -0700"
      },
      "message": "Merge \"OBB: use PBKDF2 for key generation.\" into gingerbread"
    },
    {
      "commit": "3b1abba6bbc895d63da3e82e9b158c01bd12eddd",
      "tree": "1296e8c25a2927c94783eda83100c061fc9fe379",
      "parents": [
        "dfc07279fc6205c38f5f39cb5ba4f0aef6b593a4"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Oct 13 15:00:07 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Oct 13 18:25:33 2010 -0700"
      },
      "message": "OBB: use PBKDF2 for key generation.\n\nSwitch to using PBKDF2 for the key generation for OBBs. Any previously\ngenerated OBBs will stop being read correctly. A small pbkdf2gen program\nis available to allow generation of appropriate keys with the salts.\n\nBug: 3059950\nChange-Id: If4305c989fd692fd1150eb270dbf751e09c37295\n"
    },
    {
      "commit": "361a6ad16dedfed871c76e8fa64eb45aa82a0088",
      "tree": "74b5232126790b9169e7375c985cd2ccc36a62ed",
      "parents": [
        "49ec3dff4350209e109fc11dafe4294acea36146",
        "70e4210ad9119bfb7e8b7d93ade667518332e882"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Oct 13 14:50:29 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 13 14:50:29 2010 -0700"
      },
      "message": "Merge \"Handle native library deletion in scanPackage\" into gingerbread"
    },
    {
      "commit": "f547d679c058ed00de78a32146d04b75254df7ec",
      "tree": "5a25cc02f0dcc5ad8ea59850f6383ababd4c956d",
      "parents": [
        "dfc07279fc6205c38f5f39cb5ba4f0aef6b593a4"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Sep 22 10:36:48 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Oct 13 11:45:35 2010 -0700"
      },
      "message": "Add shutdown assurance\n\nIf something kills system_server before it completes its shutdown\naction, the runtime will just restart giving the illusion that a reboot\nfor an OTA or something else has happened.\n\nTo prevent this, write a system property containing the reboot reason\nbefore initiating the shutdown with all the services. If the\nsystem_server is killed before it completes, the next time the main\nthread of system_server starts up, it will immediately execute the\nshutdown action.\n\nBug: 3022556\nChange-Id: I81723bac333430f04205e7a7b799914d96f170eb\n"
    },
    {
      "commit": "70e4210ad9119bfb7e8b7d93ade667518332e882",
      "tree": "a12c6f82b3c11a2bb31bae29b512dc4189e491b8",
      "parents": [
        "dfc07279fc6205c38f5f39cb5ba4f0aef6b593a4"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Oct 12 08:59:10 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Oct 13 08:49:24 2010 -0700"
      },
      "message": "Handle native library deletion in scanPackage\n\nThe deletion of native libraries was initially added to\nFileInstallArgs.cleanUpResourcesLI() as a way to get rid of old native\nlibraries during an upgrade, but it runs well after scanPackage unpacks\nthe new native libraries. scanPackage now removes old libraries before\nunpacking the new ones, so we don\u0027t need this code anymore.\n\nBug: 3087739\nChange-Id: I54aca830ec34d6440ba22f117d55aa3107bf5b75\n"
    },
    {
      "commit": "ba0492d5edd3e6e24d948c531b74ffb5fc9b922e",
      "tree": "8452016fd3a0e7806647ce06cf288be94ebe31ee",
      "parents": [
        "45738f6700cff689eacda7c8192b76939ba20591"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Oct 12 19:01:46 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Oct 12 19:01:46 2010 -0700"
      },
      "message": "Fix issue #3089800: adb shell am -W causes ActivityManager crash\n\nChange-Id: I5508afeb523d84e552117f94c8b70e2bae2c33fa\n"
    },
    {
      "commit": "8e2be267f53bd1d2f1531f56732ead4138ac5c58",
      "tree": "5ceb35720a1daf0be56e161c788f7069430f56b7",
      "parents": [
        "fb6431c0298747d240fcdc025575e5f46db95132"
      ],
      "author": {
        "name": "Andy Stadler",
        "email": "stadler@android.com",
        "time": "Tue Oct 12 15:00:43 2010 -0700"
      },
      "committer": {
        "name": "Andy Stadler",
        "email": "stadler@android.com",
        "time": "Tue Oct 12 15:05:06 2010 -0700"
      },
      "message": "Add versionCode and versionName to dumpsys packages\n\nbug: 3090491\nChange-Id: If116baaeb83bd282c5c5534fde6248f19830a71c\n"
    },
    {
      "commit": "b08a1af667b16cb1faaea2aec1cf2a0e4659cb3f",
      "tree": "5d9491ee082cdb6f6fb61a22c97c961ee5ae5721",
      "parents": [
        "aab758e87991d1460ca94d4a5f22c0ef34641e2d"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Oct 11 19:28:58 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Oct 12 14:16:11 2010 -0700"
      },
      "message": "Remove dead code, and make the animation a setting.\n\nWhen we don\u0027t do the brightness fade, turn off the electron beam instead.\n\nChange-Id: I76513387c4fb420a67e59e005f6e8c3bc72f7f08\n"
    },
    {
      "commit": "b4de3dca96b9ff18562062e181dcd8b83e641e45",
      "tree": "b2e8b6060e1dbea173de867e5258add9b08ef8f3",
      "parents": [
        "1169f420f6df5cf5254fed883efa7e6780473c08",
        "af9d667ccf3e24058214cf4cc0a8aa8bc5100e3c"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Oct 11 17:24:54 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 11 17:24:54 2010 -0700"
      },
      "message": "Merge \"OBB: rearrange to be entirely asynchronous\" into gingerbread"
    },
    {
      "commit": "af9d667ccf3e24058214cf4cc0a8aa8bc5100e3c",
      "tree": "c59adbe6d27cf236d6920f689dd237a115fef3f9",
      "parents": [
        "ce2f1909c74a1b90995f06a865d21260b062300b"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Oct 08 09:21:39 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Oct 11 17:22:03 2010 -0700"
      },
      "message": "OBB: rearrange to be entirely asynchronous\n\nRearrange structure of MountService handling of OBBs to be entirely\nasynchronous so we don\u0027t rely on locking as much. We still need the\nlocking to support dumpsys which has been improved to output all the\ndata structures for OBBs.\n\nAdded more tests to cover more of the error return codes.\n\nOh and fix a logic inversion bug.\n\nChange-Id: I34f541192dbbb1903b24825889b8fa8f43e6e2a9\n"
    },
    {
      "commit": "1da8d4d1697cec871dea8c30dad67e90db10bde6",
      "tree": "9a9fe2f4a87edb3e0816ef5b28f1076e476803e8",
      "parents": [
        "44104df10660c711129fd263364afc2174f40ac2",
        "b931a1b4183386ba840edc1bcc507eccf11b5cbe"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Oct 11 16:27:36 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 11 16:27:36 2010 -0700"
      },
      "message": "Merge \"Fix an event injection bug when the policy is bypassed.\" into gingerbread"
    },
    {
      "commit": "b931a1b4183386ba840edc1bcc507eccf11b5cbe",
      "tree": "f9e1ba1030d392ab288ad13e5eaba32c65a96c76",
      "parents": [
        "b699726018a0049665d8ad6b90dbc5af0e18f135"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Oct 11 14:20:19 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Oct 11 16:26:13 2010 -0700"
      },
      "message": "Fix an event injection bug when the policy is bypassed.\n\nAdded the concept of a \"trusted\" event to distinguish between events from\nattached input devices or trusted injectors vs. other applications.\nThis change enables us to move certain policy decisions out of the\ndispatcher and into the policy itself where they can be handled more\nsystematically.\n\nChange-Id: I4d56fdcdd31aaa675d452088af39a70c4e039970\n"
    },
    {
      "commit": "a4e95dfea4f3635d6cb845873fce0566c20cc88e",
      "tree": "1715f9fd98681f03b15ec36209f72f8ea53ad6bf",
      "parents": [
        "c0ad216c8ebc74b59074a7538533605eebfd65c3",
        "111285763204cabff682b381928fd5447a5c6a90"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Oct 11 15:49:30 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 11 15:49:30 2010 -0700"
      },
      "message": "Merge \"Grant URI permissions to the MCS\" into gingerbread"
    },
    {
      "commit": "c0ad216c8ebc74b59074a7538533605eebfd65c3",
      "tree": "cfb84ecf60bfe1b679080ef08922e8b02415b874",
      "parents": [
        "3d90d11a7b6d2b1c49e5890306a06f01646392b0",
        "6d747656628aa86ee2190a3e5939d447623294a5"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Oct 11 15:19:47 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 11 15:19:47 2010 -0700"
      },
      "message": "Merge \"Add a configuration option to turn on the screen when you unplug the device.\" into gingerbread"
    },
    {
      "commit": "6d747656628aa86ee2190a3e5939d447623294a5",
      "tree": "2c95adad3e676973f4e98691b185852819293e44",
      "parents": [
        "446547af37fd10142f15f6a9b3ac3007c6473981"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Oct 11 15:15:31 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Oct 11 15:16:28 2010 -0700"
      },
      "message": "Add a configuration option to turn on the screen when you unplug the device.\n\nBug: 3068624\nChange-Id: I7366ece2528b31feee920f4600a475e81a0f3709\n"
    },
    {
      "commit": "111285763204cabff682b381928fd5447a5c6a90",
      "tree": "1ea9124701006d918741d876f16fb4df1190ab7b",
      "parents": [
        "692cac9fdd7b179ba807351772fdf2339c000dfe"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Oct 11 10:51:32 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Oct 11 15:11:12 2010 -0700"
      },
      "message": "Grant URI permissions to the MCS\n\nWhen the PackageManagerService is asked to install from a URI, it might\nbe explicitly granted the permission to read from the URI content\nprovider. We need to pass along these permissions to the\nMediaContainerService (DefaultContainerService) to ensure the MCS can\nread from the content provider.\n\nChange-Id: Ie7ddaeb638af82b60792a4c3f8c99e1e8eef1916\n"
    },
    {
      "commit": "0a7892367f46e3653e9857195ec19356f848b7f8",
      "tree": "6891bfa1b033b2be6e6879f1d15ea1c241f9d0cf",
      "parents": [
        "cf6b2765ae7ea6305754e253264012b8f0498f7b",
        "a9c5043b24e288655a38970dd1e999e2bce5f326"
      ],
      "author": {
        "name": "Chris Tate",
        "email": "ctate@google.com",
        "time": "Mon Oct 11 14:42:00 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 11 14:42:00 2010 -0700"
      },
      "message": "Merge \"Temporarily turn on backup/restore debug logs\" into gingerbread"
    },
    {
      "commit": "a9c5043b24e288655a38970dd1e999e2bce5f326",
      "tree": "c346d6702c040a3ad07643e200b9af899566a6c3",
      "parents": [
        "70f1a3b8a0fcf332e35f87be85ae3a9e37a85e9c"
      ],
      "author": {
        "name": "Chris Tate",
        "email": "ctate@google.com",
        "time": "Mon Oct 11 14:37:12 2010 -0700"
      },
      "committer": {
        "name": "Chris Tate",
        "email": "ctate@google.com",
        "time": "Mon Oct 11 14:37:12 2010 -0700"
      },
      "message": "Temporarily turn on backup/restore debug logs\n\nSeveral people are seeing odd behaviors around backup/restore at present.\nEnable expanded logging to help pin down exactly what is happening.\n\nChange-Id: I95ca013017cb07e633f2ba765583de3cf0e056af\n"
    },
    {
      "commit": "446547af37fd10142f15f6a9b3ac3007c6473981",
      "tree": "929defbf32b5f56d3043a9a07ab831d9fc660f08",
      "parents": [
        "6bb7a4a68ae79dab56b23d1c7111bf7eb3aa55fe",
        "4b9f62d1a25d05996ac20dd2178e2e79f7aefbc4"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Oct 11 13:52:34 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 11 13:52:34 2010 -0700"
      },
      "message": "Merge \"Don\u0027t throw when userActivity fails because of the permission check.\" into gingerbread"
    },
    {
      "commit": "6bb7a4a68ae79dab56b23d1c7111bf7eb3aa55fe",
      "tree": "6ea95ac2e49bc512f183c22324c40f37db77964f",
      "parents": [
        "ce2f1909c74a1b90995f06a865d21260b062300b"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Oct 11 13:41:10 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Oct 11 13:43:51 2010 -0700"
      },
      "message": "Go one day into 1970 for timezone code.\n\nChange-Id: I80251de79db6684ef3fa1ec835b400d9e3547401\n"
    },
    {
      "commit": "4b9f62d1a25d05996ac20dd2178e2e79f7aefbc4",
      "tree": "5b33aaf7bb659b543cab78caf88fb780d6baf93b",
      "parents": [
        "692cac9fdd7b179ba807351772fdf2339c000dfe"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Oct 11 13:41:35 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Oct 11 13:42:00 2010 -0700"
      },
      "message": "Don\u0027t throw when userActivity fails because of the permission check.\n\nJust log.  But don\u0027t log too often.\n\nBug: 3083024\nChange-Id: I66f942a67ed6c481afb4079045c66931a4c81688\n"
    },
    {
      "commit": "ce2f1909c74a1b90995f06a865d21260b062300b",
      "tree": "fc01499a53e89cbe47ee129149da601ab60b95d3",
      "parents": [
        "a7c76d8307a3b49bf5b8fdda3543455b0e5dd64c",
        "35ca9d8a357d3e8c514740ebdbab154e865fdbbf"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Oct 11 13:00:51 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 11 13:00:51 2010 -0700"
      },
      "message": "Merge \"On boot, advance time to at least 1970.\" into gingerbread"
    },
    {
      "commit": "35ca9d8a357d3e8c514740ebdbab154e865fdbbf",
      "tree": "2682e5a7bd42fb1ddfa2af8e990bdceac06ff3fd",
      "parents": [
        "c8511af04a442551a204b1f47fabb317bcf54be0"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Oct 11 11:52:49 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Oct 11 12:17:16 2010 -0700"
      },
      "message": "On boot, advance time to at least 1970.\n\nOtherwise various Java APIs start doing their documented \"correct\"\nthing, which is to fail.\n\nBug: 3081605\nChange-Id: I90f8cde745d2ddab78419e37f60eea1e81a58127\n"
    },
    {
      "commit": "50130bbc884a7ad7db39dbc4f54e76e8be87761f",
      "tree": "a9cbbbc6767ca64c3fe38d5fe49fb5643c4185d1",
      "parents": [
        "c8511af04a442551a204b1f47fabb317bcf54be0"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Oct 11 06:22:50 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Mon Oct 11 14:28:28 2010 -0400"
      },
      "message": "GPS: Add update_network_state call to AGpsRillInterface\n\nChange-Id: I404a7a45773f592de7dfe75a8287fef15515ea8b\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "1e6a3a53fc4d56e3a0f86c8721dedfd46e738a32",
      "tree": "71a66aa8a9a760086aba831e07101474dede90e2",
      "parents": [
        "b72a335a7f11176838d2d12e7295344c092c62ac",
        "b699726018a0049665d8ad6b90dbc5af0e18f135"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Oct 10 14:47:57 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Oct 10 14:47:57 2010 -0700"
      },
      "message": "Merge \"Added more robust tracking and cancelation of events.\" into gingerbread"
    },
    {
      "commit": "b699726018a0049665d8ad6b90dbc5af0e18f135",
      "tree": "e711b4de7efbb4473306a208befe0e834d90c39b",
      "parents": [
        "db56b9bd39e739474684987b83f386f50596aa5d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Oct 08 22:31:17 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Oct 10 14:45:51 2010 -0700"
      },
      "message": "Added more robust tracking and cancelation of events.\n\nThis change fixes several issues where events would be dropped in the\ninput dispatch pipeline in such a way that the dispatcher could not\naccurately track the state of the input device.\n\nGiven more robust tracking, we can now also provide robust cancelation\nof input events in cases where an application might otherwise become\nout of sync with the event stream due to ANR, app switch, policy decisions,\nor forced focus transitions.\n\nPruned some of the input dispatcher log output.\n\nMoved the responsibility for calling intercept*BeforeQueueing into\nthe input dispatcher instead of the input reader and added support for\nearly interception of injected events for events coming from trusted\nsources.  This enables behaviors like injection of media keys while\nthe screen is off, haptic feedback of injected virtual keys, so injected\nevents become more \"first class\" in a way.\n\nChange-Id: Iec6ff1dd21e5f3c7feb80ea4feb5382bd090dbd9\n"
    },
    {
      "commit": "572172befbdf020e96ee4b10506b2b7cd5f1a09b",
      "tree": "476ccd952fa62ed65c41fa849c4a33f2705e89d7",
      "parents": [
        "d14230f1c7aa5073db9d291f8fbd6da5491955b9"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Oct 08 16:35:52 2010 -0700"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Sun Oct 10 11:26:41 2010 -0700"
      },
      "message": "Add some error-case logging.\n\nTurning off all debug logging is a good thing, but it leaves us blind when errors come in.\nbug:3075537\n\nChange-Id: I8a4e7f2ce094574ec45cec268bdbc46449540c9f\n"
    },
    {
      "commit": "b6e5fa895c03eeefaa810eaceb498254096c093d",
      "tree": "6e91792cf480be6ce96cbb52e24fe1c1d72d6dd4",
      "parents": [
        "bed5af7ebcd195a2ab5e16fc03ee8b61a4d7aec6"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat Oct 09 20:10:46 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat Oct 09 20:14:33 2010 -0400"
      },
      "message": "GPS: Do not call sGpsInterface-\u003einit() multiple times\n\nChange-Id: I5f2b55959bd67864168690c1fe619e55edc18268\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "62d8874eb74045b37140857ea3b31f198f0adffa",
      "tree": "29459741151cb1cc6cb22df7e999681ffeb2c394",
      "parents": [
        "db56b9bd39e739474684987b83f386f50596aa5d",
        "2fe979fc611263965d25f9fb0d484fac99f4ef83"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Oct 08 15:21:49 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 08 15:21:49 2010 -0700"
      },
      "message": "Merge \"Fix retaining of granted permissions when updating of system app.\" into gingerbread"
    },
    {
      "commit": "2fe979fc611263965d25f9fb0d484fac99f4ef83",
      "tree": "479155a5dde97054347c290f07bb794f90aa69f5",
      "parents": [
        "9934fa77efab362729d0d3cb8aa0bdcd31d63ead"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Oct 08 15:07:17 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Oct 08 15:07:17 2010 -0700"
      },
      "message": "Fix retaining of granted permissions when updating of system app.\n\nWas broken when the app is using a shared user ID.\n\nChange-Id: I088334f6540889969ee4367fa502807ce3f94f6a\n"
    },
    {
      "commit": "ecfd7f7d9588728a4579fab8af1722cefeb32d40",
      "tree": "4afcce867056ebf6910ea7f46d25ff92daf4ebcb",
      "parents": [
        "9934fa77efab362729d0d3cb8aa0bdcd31d63ead"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Oct 08 14:23:40 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Oct 08 14:28:02 2010 -0700"
      },
      "message": "Maybe fix #3076572: phone process crashes in SipService, trying to get wifi lock\n\nWifiService needs to keep the calling identity cleared while\nit is doing all of its internal work.\n\nChange-Id: I2bd720e26efcf5ad5839693307d61e51f0658ace\n"
    },
    {
      "commit": "aecab79b4ec4727a59a5532c7db2683c617e8c21",
      "tree": "88df28e7033205ae34d4acf0e9de485dee39f5c5",
      "parents": [
        "f72dd0190ee64914161d361be1213eda8cab7b90",
        "8863c43d9efda108c880814b0a18688b75d70153"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Fri Oct 08 11:17:17 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 08 11:17:17 2010 -0700"
      },
      "message": "Merge \"Remove races in Geocoder/LocationProvider Proxy\" into gingerbread"
    },
    {
      "commit": "78d688369a2240009d3bbe4126996a973b2e2fe2",
      "tree": "409d53a06e612867fcef6673a89def6a6b5e768b",
      "parents": [
        "eb43f1b2eedbcfe0e8ac34452a43eaaef5dde513"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 07 01:12:46 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 07 18:48:22 2010 -0700"
      },
      "message": "Implement tracking of package install times.\n\nProvides information about the time at which the package was\nfirst installed and the time it was last updated.\n\nChange-Id: Icb43f77b5b669a1ce685e8913046b8be386b6175\n"
    },
    {
      "commit": "6a6b007c77e5cab7ee435506a4f65824f52028b6",
      "tree": "09daacd02a3582c26d72411e5ef0129812d0c8d6",
      "parents": [
        "b74941e32e068ec03f90b9a53670328cd17ff4b4"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Oct 07 16:46:10 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Oct 07 17:20:26 2010 -0700"
      },
      "message": "Symlink application lib directory when on SD card\n\nThis will help legacy games that use dlopen() to directly access the\n/data/data/\u003capp\u003e/lib directory before the\nApplicationInfo.nativeLibraryDir was part of the API.\n\nChange-Id: Ie9f3e7239b6334708b5d086ffafe66a507f6d9da\n"
    },
    {
      "commit": "480afe70fa75b74b618f1f6243e7e2be1f41419a",
      "tree": "837c4edbd9bff2881b0ec96051e60f935c2223d6",
      "parents": [
        "0145e36cad1472acafb492b3f009ca6eba9593ea"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Oct 07 10:17:50 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Oct 07 10:53:01 2010 -0700"
      },
      "message": "Eliminate MCS_GIVE_UP state\n\nIt\u0027s basically a duplicate of MCS_UNBIND state, so just get rid of it\nwhich simplifies the state transitions.\n\nBug: 3067076\nChange-Id: I34111be88dd727af8ad59c9f49debd54ede827ea\n"
    },
    {
      "commit": "0145e36cad1472acafb492b3f009ca6eba9593ea",
      "tree": "948c3c30bd7527d58a415b28936e6a3f92572c0c",
      "parents": [
        "08fb5851bbaf11ecac0cac0de321942bfbf6a630"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Oct 06 13:35:05 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Oct 07 10:14:09 2010 -0700"
      },
      "message": "Revert \"Only allow 8 OBBs to be mounted by a UID\"\n\nThis reverts commit 27358a69b33eaa268ee75ef778ec824c8085adcc.\n\nConflicts:\n\n\tservices/java/com/android/server/MountService.java\n\nChange-Id: Ia14be97b4f22e95daba0d191cfc62adf3d1469cd\n"
    },
    {
      "commit": "5919ac6b4188285324646772501ef4b97b353cf4",
      "tree": "24fd16d8c43c44500f9cf39d7fa0f93cd0e88546",
      "parents": [
        "a3ee5c0351e51f7a978ddddc37644f46051ca6ed"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Oct 05 09:49:40 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Oct 06 17:00:00 2010 -0700"
      },
      "message": "OBB: track binder death observers\n\nAn incorrect assumption about how death observers were tracked lead to\nan IllegalArgumentException in some cases. Make sure the linking and\nunlinking of the Binder to its ObbState death observer is symmetric to\navoid this problem.\n\nBug: 3062360\nChange-Id: Idd016db12551c80cd74d00f11cf6569bd3b4ce21\n"
    },
    {
      "commit": "a3ee5c0351e51f7a978ddddc37644f46051ca6ed",
      "tree": "413b873eca325c1e7bdcb0358863e334d7cc4331",
      "parents": [
        "ef083ec008a3ec69180340912e7f0137472c97d9",
        "17eb6fb07cc6965f09c51adc70b3c291f57a784a"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Oct 06 16:59:23 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 06 16:59:23 2010 -0700"
      },
      "message": "Merge \"Add MountService tests and fix a bug it found\" into gingerbread"
    },
    {
      "commit": "17eb6fb07cc6965f09c51adc70b3c291f57a784a",
      "tree": "ebf326ca22de459e3747c8241842168c4181d70f",
      "parents": [
        "6d44456da87dccb15b4086696f5e72a5aa198926"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Oct 06 15:02:52 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Oct 06 15:39:28 2010 -0700"
      },
      "message": "Add MountService tests and fix a bug it found\n\nAdd some MountService tests that are based partially on some stuff done\nin PackageManagerTests. This allows us to test the OBB changes in an\neasy way.\n\nAlso, it found some bugs in the DefaultContainerService connection state\nmachine, so fix those while we\u0027re at it.\n\nChange-Id: I18f38593be754eb32fb6e842f88eec47e2beefce\n"
    },
    {
      "commit": "043fcd9847a804bc6394728e5785aecc495e6347",
      "tree": "73a1665e3fd4c0348e48f49e8bae8702d0fd6c0a",
      "parents": [
        "6d44456da87dccb15b4086696f5e72a5aa198926"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Oct 06 14:27:34 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Oct 06 14:27:34 2010 -0700"
      },
      "message": "Work on issue #3062691: GPS enable bypass via com.android.settings.widget.SettingsAppWidgetProvider\n\nExposes an Intent I need (okay it fixes an unrelated thing in the power widget),\nand fixes some dump output.\n\nChange-Id: I51d6c93a6ac879bab64e9d5aa21129e2bbcd461b\n"
    },
    {
      "commit": "3c4c2b7e6f0674068d13b42d4dcf0fd009df0c49",
      "tree": "9fb61197b62350b3c5899fd7357dc8717b0c5425",
      "parents": [
        "5a5fff7101b45bc28f59e72ea4c3e57632ff9ceb"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Oct 05 18:07:54 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Oct 05 18:07:54 2010 -0700"
      },
      "message": "Fix issue #3001368: API REVIEW: android.app.Activity\n\nBye bye, lots of junk.\n\nChange-Id: Idd72fc525851277362b2a1ff3bb0f7865fe655fd\n"
    },
    {
      "commit": "f7872780ca3dae9584251b1e3495aed12110254c",
      "tree": "00b97ad2539d7bdc71bf29960ce9e838f482acbf",
      "parents": [
        "17bc4f65324a823598e7671256c815bf32ddcc95",
        "8274a0e53630f80ab356f69ddad895ed9638574e"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Tue Oct 05 14:41:16 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 05 14:41:16 2010 -0700"
      },
      "message": "Merge \"PowerManagerService needs yet another flag...\" into gingerbread"
    },
    {
      "commit": "8274a0e53630f80ab356f69ddad895ed9638574e",
      "tree": "7af4bd25c92f7384a1805c53aec17be197693963",
      "parents": [
        "b9a40068b590b86904b40bf466571b140d0f94b4"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Tue Oct 05 17:38:09 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Tue Oct 05 17:39:01 2010 -0400"
      },
      "message": "PowerManagerService needs yet another flag...\n\n... to make sure that if you press the power button to turn off the\nscreen, that the prox sensor won\u0027t turn it back on.\n\nBug: 3011618\nChange-Id: Id16c1d65417539d4592f485b1c3efb737540c3cd\n"
    },
    {
      "commit": "831baa2e2566bf1d243c06918672abd5ff786105",
      "tree": "9d3c02281f0185abc21b7127a4c026026c496fcc",
      "parents": [
        "8735c4cda00de26127d694bfbc81e192c4caca44"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Oct 05 12:29:25 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Oct 05 12:56:03 2010 -0700"
      },
      "message": "Remove lingering system app native libs in /data\n\nIf a system app had a lingering native library in /data/data/\u003capp\u003e/lib,\nit would prefer that over the one in /system/lib due to recent changed\nin the Dalvik JNI class loading code.\n\nTo \"fix\" that we need to check if there are any native libraries in a\n/data/data/\u003capp\u003e/lib directory for any non-updated system apps and\ndelete them during scanning.\n\nChange-Id: If3a22e41a8531e9e5a44ba001dcea46253d47d45\n"
    },
    {
      "commit": "8735c4cda00de26127d694bfbc81e192c4caca44",
      "tree": "4436a02787a0a84877b0de6affa325471e5a3e1f",
      "parents": [
        "e02e41f484a115b5278dcc07f2d6c90819279800",
        "bd135c193102186b73b50da90985a714a90a8b0d"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Oct 05 12:48:46 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 05 12:48:46 2010 -0700"
      },
      "message": "Merge \"Get correct native library path on reinstall\" into gingerbread"
    },
    {
      "commit": "bd135c193102186b73b50da90985a714a90a8b0d",
      "tree": "f9445063f927ab8d589c438e8f335123bff7e122",
      "parents": [
        "abcbb1a1989e8c6adec607b3964dc187f5526e66"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Oct 05 12:26:27 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Oct 05 12:33:33 2010 -0700"
      },
      "message": "Get correct native library path on reinstall\n\nIf an application moved between internal and external storage during a\nreinstall, we were getting the wrong path. This change fixes going from\ninternal to external and external to internal which need different\nfixes.\n\nBug: 3019708\nChange-Id: If5859aeab7505cbbb35ae5724de1224a8733f2e8\n"
    },
    {
      "commit": "8863c43d9efda108c880814b0a18688b75d70153",
      "tree": "c77a58ad2624630d406616398153ea33eec5fdda",
      "parents": [
        "b9a40068b590b86904b40bf466571b140d0f94b4"
      ],
      "author": {
        "name": "Mark Vandevoorde",
        "email": "mtv@google.com",
        "time": "Mon Oct 04 14:23:24 2010 -0700"
      },
      "committer": {
        "name": "Mark Vandevoorde",
        "email": "mtv@google.com",
        "time": "Tue Oct 05 11:12:48 2010 -0700"
      },
      "message": "Remove races in Geocoder/LocationProvider Proxy\n\nThe proxy must ensure that enable/disable calls are not reordered when\nproxied; this change adds synchronization to prevent such reordering\nthat could happen following an onServiceConnected() callback, and to\nensure cross-thread visibility of writes.\n\nAlso, when the package is updated, the old service instance must be\nunbound and the new one bound.  This changes uses a separate\nConnection object per service instance (package version) to avoid\nconfusing the binder objects.\n\nChange-Id: I0907f7eed211b97ccfffa395754f1eb8ea8d8fec\n"
    },
    {
      "commit": "1e84da822e7aa4d494b31c8759917d2751611f84",
      "tree": "aa380bb97ffc1feaa7a3c484d6b8ff922b102f57",
      "parents": [
        "abcbb1a1989e8c6adec607b3964dc187f5526e66"
      ],
      "author": {
        "name": "Miguel Torroja",
        "email": "migueltb@broadcom.com",
        "time": "Tue Jul 27 07:02:24 2010 +0200"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Oct 05 13:15:37 2010 -0400"
      },
      "message": "GPS: Add support for AGpsRilInterface.\n\nAdding changes to be able to have access to missing data to SUPL\n(celld, imsi, WAP_PUSH and SMS)\n\nChange-Id: I0207f7f7ea6595ed3fd7021cb732feddf52e4cf9\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "54e570f78b45d6c47578a4a2513097b590b6d43f",
      "tree": "bb61bf7cbb0dd320bb16e40f8b534a3f2d401a13",
      "parents": [
        "15f107b151deff1f25f1255bdbcb630ed576ac8d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 04 18:32:32 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 04 18:35:10 2010 -0700"
      },
      "message": "Make it easier to figure out whether an app can go on sd card.\n\nChange-Id: I9195a0881b2c435b138f39c2ab1505dc820caf10\n"
    },
    {
      "commit": "e5439f228f603f60febe058f633d91d5af2fff76",
      "tree": "54a692e6d57f5b93efb89aab2d102701876689f4",
      "parents": [
        "407f625a9b8e356e765a5ec587c443af1f3aadb5"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Oct 02 16:53:50 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 04 14:01:39 2010 -0700"
      },
      "message": "Fix issue #3041660: Camera image flips upside down when rotating device\n\nApps now must explicitly opt in to having their rotation changed while\nforcing landscape mode.  Also add some new orientation constants for other\nthings apps may want to do.\n\nChange-Id: If64d84b5ef54793ee717ebda9b4c76408efc9bfd\n"
    },
    {
      "commit": "3aeee33c720fc87d97625b8040d155ca0ee88848",
      "tree": "054febcd86ed12f16ff94f311f10aa1b9ec855d2",
      "parents": [
        "624380a14def6c2acdb473e09c36139acbcefbf9"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Oct 02 18:56:33 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Oct 02 19:06:18 2010 -0700"
      },
      "message": "Don\u0027t write settings multiple times when unmounting.\n\nThe package manager would write its settings multiple times,\nonce for each app on the SD card, when unmounting external storage.\nThis was kind-of slow.\n\nChange-Id: Ic5ce12022a9ce26857d1db3071e316750b03f05a\n"
    },
    {
      "commit": "d9e88d22f0ffefdc6a3b9c59168bd1bb6d402486",
      "tree": "2351ffe01b2e05532dba0b68fc1a1ed7842faffb",
      "parents": [
        "fd57416cc8c2a333f46cacad6de48a3b1547eac9",
        "12ffd9bf4c2cc9075ea7602b4932f823ba940f80"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Oct 01 14:06:46 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 01 14:06:46 2010 -0700"
      },
      "message": "Merge \"Add \"none\" for vold and deprecate mkobb -c\" into gingerbread"
    },
    {
      "commit": "12ffd9bf4c2cc9075ea7602b4932f823ba940f80",
      "tree": "5799aa5df8bde6b1f641d704b8909d0549fd1784",
      "parents": [
        "2942391801b79816c5eb77d7ac94c4a65f26af48"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Oct 01 12:56:59 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Oct 01 14:02:47 2010 -0700"
      },
      "message": "Add \"none\" for vold and deprecate mkobb -c\n\nIf vold isn\u0027t told \"none\" for the key, it will try to mount it as an\nencrypted container.\n\nAlso remove the -c option from mkobb since it can be triggered by\nincluding a key as well.\n\nChange-Id: I40a8ff3f778bfda682312630e6687ecc14b51844\n"
    },
    {
      "commit": "6493e64c2a3d5fa6adf0e6331a061d5bc67649fa",
      "tree": "999884329e9b71cf546147102f626ded35f12949",
      "parents": [
        "2942391801b79816c5eb77d7ac94c4a65f26af48"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Oct 01 13:06:30 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Oct 01 13:06:30 2010 -0700"
      },
      "message": "Fix issue #3037083: Problem report for Pinball\n\nThe app was toggling between hiding and showing the status bar, because\nthe dialog was large enough to fill the screen but didn\u0027t set to hide\nthe status bar.\n\nIt turns out that the code to determine the top fullscreen window is\nintrinsically unstable, since it relies on comparing a window\u0027s frame\nwith the screen, yet the window frame can change as a result of changes\nsuch as hiding the status bar.\n\nInstead, we now simplify all of this to just say that the top fillxfill\nwindow gets to control the status bar.\n\nChange-Id: I22913adf7235fe0d52612f6738c7c94351274e38\n"
    },
    {
      "commit": "2942391801b79816c5eb77d7ac94c4a65f26af48",
      "tree": "377be8b9e3b763263056bac5565888a9f0b2cb92",
      "parents": [
        "0a69f597604254bc37721b135ab612eaacdd0cbd"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Oct 01 08:37:20 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Oct 01 08:38:56 2010 -0700"
      },
      "message": "Fix regression in OBB key handling\n\nChange-Id: If583cbdb8be68ffed094a5fde7ee00e1914c5841\n"
    },
    {
      "commit": "0a69f597604254bc37721b135ab612eaacdd0cbd",
      "tree": "0f78376b5a3edaba3c6bc0218127f9c36acc89bf",
      "parents": [
        "ab2e6284845794079d809e62c52c6c380b31c4b5",
        "cef65eeb0315c3118bf8860d6f723cb49ff6bc52"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 30 19:03:38 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 30 19:03:38 2010 -0700"
      },
      "message": "Merge \"Rub in a little \u0027ol log-b-gone.\" into gingerbread"
    },
    {
      "commit": "cef65eeb0315c3118bf8860d6f723cb49ff6bc52",
      "tree": "2917e5a149a267eac00b13a27a88627e252cfe23",
      "parents": [
        "727d67d4fb8721b0291312e4cca33927dfba0e31"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 30 18:27:22 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 30 18:27:22 2010 -0700"
      },
      "message": "Rub in a little \u0027ol log-b-gone.\n\nMmmmmm...  great fresh scent!\n\nChange-Id: I050e70b31b5d4a9c6731f15a4b51a3620a33a78d\n"
    },
    {
      "commit": "ab2e6284845794079d809e62c52c6c380b31c4b5",
      "tree": "067c52d45d3d060d8c012be7c88bf09977e07147",
      "parents": [
        "8b28441adab59f2bb0d92c8a717af75331249e08",
        "a39ccb6c4ae7dbf522a3fd0c450a95653c6418ea"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Sep 30 18:12:24 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 30 18:12:24 2010 -0700"
      },
      "message": "Merge \"Use the private version of userActivity.\" into gingerbread"
    },
    {
      "commit": "4da02392a12e26f94a072e0a8584dbebfa29c4e3",
      "tree": "b2b4a218ae56422f56982d3ee99f7aebd29c9d22",
      "parents": [
        "735de3b38abbd6564082a819377673ee593744a6"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Sep 30 17:58:41 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Sep 30 17:59:42 2010 -0700"
      },
      "message": "Being already unmounted is not a failure\n\nChange-Id: I5943096444e3d4d4cc5fd63f64a09c32f649a227\n"
    },
    {
      "commit": "735de3b38abbd6564082a819377673ee593744a6",
      "tree": "ec309587616c5abbc49df83d7d21b6a3b3e9dfbd",
      "parents": [
        "27358a69b33eaa268ee75ef778ec824c8085adcc"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Sep 30 14:11:39 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Sep 30 17:25:05 2010 -0700"
      },
      "message": "Hash keys with MD5; track IBinders not IInterface\n\nUsing a plaintext password doesn\u0027t work unless it\u0027s a certain length, so\njust hash the plaintext password with MD5 to make it the right length\nfor the twofish encryption.\n\nTracking the IInterface doesn\u0027t make much sense since it\u0027s different\neach time, so track the IBinder instead. That way we can unlinkToDeath\nthe binder when the last thing it\u0027s holding onto goes away.\n\nChange-Id: Id828d25b4d74f27e9d8b4bfb3909c964469cc473\n"
    },
    {
      "commit": "27358a69b33eaa268ee75ef778ec824c8085adcc",
      "tree": "e12147b6763048166c954c0d2375b9daaecd9abc",
      "parents": [
        "38cf8867a8d3e8d5159abd0bd0e6a3b0b8348b94"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Sep 29 19:27:20 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Sep 30 17:24:53 2010 -0700"
      },
      "message": "Only allow 8 OBBs to be mounted by a UID\n\nChange-Id: I4f017c5408af903c6c9ba007a2cf7f488a7fcd27\n"
    },
    {
      "commit": "38cf8867a8d3e8d5159abd0bd0e6a3b0b8348b94",
      "tree": "84b4d47ada068bda31db1b024781e6a5bfb7a585",
      "parents": [
        "063d02bb03a9260314b529490866528433148738"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Sun Sep 26 14:18:51 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Sep 30 17:24:34 2010 -0700"
      },
      "message": "Remove OBBs from state list when volume unmounted\n\nDon\u0027t keep tracking OBBs when the volume they\u0027re located on goes away.\nRemove them from our state tracking maps and then send a notification to\nany listener that is still around.\n\nAdd a dump handler to MountService so the state of the mount lists\ncan be inspected.\n\nChange the API to just make a callback directly to the change listener\nwhen mount is called when it\u0027s already mounted or unmount called when\nit\u0027s already unmounted.\n\nChange-Id: Idb4afbb943ca5ca775825f908bff334e3ce1cfcc\n"
    },
    {
      "commit": "a39ccb6c4ae7dbf522a3fd0c450a95653c6418ea",
      "tree": "28b0feeebb1fb9d02aa0058f238995f9feaa5e63",
      "parents": [
        "4ba2817c869d4ec6b518a57ea32cc3765b18b0db"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Sep 30 16:40:31 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Sep 30 16:47:09 2010 -0700"
      },
      "message": "Use the private version of userActivity.\n\nWe were flunking the enforcement of DEVICE_POWER since apps don\u0027t need that permission to use a wake\nlock.\n\nBug: 3051596\nChange-Id: I1910d8402adb3e9a4d8635de5d2a301f6286f216\n"
    },
    {
      "commit": "e97ae40dffe7d7f8917c51c4f3f6c1b18c238565",
      "tree": "ab233a6ed9a592d52aebdba9c024f181e5e52a5e",
      "parents": [
        "2a0b3c0d4cd98385ebfa60cc2014bdb2d7b5a7f5"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Sep 29 15:23:46 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Sep 30 15:25:54 2010 -0400"
      },
      "message": "location: rebind to network location and geocoder services after package update\n\nChange-Id: I2d7db3512b9edd7e0ba27d97442967fc2278e3b9\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "0c32c09cd3a99a7f397313048ecf9d4c5afaaa91",
      "tree": "b7832ebcdc5f0af9d1c20236638106f93f0d4d79",
      "parents": [
        "212d81a004f50e51ed8f6d803b79f4b71546b351"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Sep 29 10:20:59 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Sep 29 10:20:59 2010 -0700"
      },
      "message": "Revert \"Revert \"Check for the DEVICE_POWER permission in userActivity.\"\"\n\nThis reverts commit 4da4827504df019d4e64dd864f70526ff6d384a0.\n"
    },
    {
      "commit": "212d81a004f50e51ed8f6d803b79f4b71546b351",
      "tree": "7b9e1538515bf21c215ec1cdff811e5105da6c18",
      "parents": [
        "038cabe0247ee46df62f9363f1a303bc5b9c1028",
        "f1121dc1d35c7e8c317c278aad0dd4ad1358d870"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Sep 29 07:40:32 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 29 07:40:32 2010 -0700"
      },
      "message": "Merge \"Move all the permissions check up for unmount\" into gingerbread"
    },
    {
      "commit": "f1121dc1d35c7e8c317c278aad0dd4ad1358d870",
      "tree": "328181f28c37eb9113ad04035f9dfa70a1df2ad0",
      "parents": [
        "05105f7abe02b2dff91d6260b3628c8b97816bab"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Sep 29 07:30:53 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Sep 29 07:38:55 2010 -0700"
      },
      "message": "Move all the permissions check up for unmount\n\nWe have already scanned the state of the OBB in mountObb, so check the\ncaller against the stored state in the unmountObb call. This allows us\nto ensure the calling binder is the same one that mounted it since we\ntie the lifecycle of the OBB to the lifecycle of the binder.\n\nChange-Id: I45d9cfbab5d3f5b37a6a9b594b10bd8b91cccc45\n"
    },
    {
      "commit": "038cabe0247ee46df62f9363f1a303bc5b9c1028",
      "tree": "11c6037442f85e0e7adad870ba9d8092323b6bf0",
      "parents": [
        "d6877fa4971710150de20453bf4ba54dca863429"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Thu Sep 23 16:12:11 2010 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Tue Sep 28 22:36:27 2010 -0700"
      },
      "message": "NFC integration\n\nSource: Trusted_NFC_Device_Host_AA03.01e02_google.zip code drop (23-Sep-2010)\n\nConflicts:\n\n\tcore/java/android/app/ApplicationContext.java\n\tcore/java/android/provider/Settings.java\n\tcore/jni/Android.mk\n\tcore/jni/AndroidRuntime.cpp\n\tcore/res/AndroidManifest.xml\n\tinclude/utils/Asset.h\n\nChange-Id: I62c92f4c79f5ee65126c97602f6bc1c15794e573\nSigned-off-by: Nick Pelly \u003cnpelly@google.com\u003e\n"
    },
    {
      "commit": "4da4827504df019d4e64dd864f70526ff6d384a0",
      "tree": "9f113536e7ece08989b6df693a0078dc8147cbe6",
      "parents": [
        "3e94b94f56888acbd1f8deb23c05474baaf4fae3"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Sep 28 23:07:26 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Sep 28 23:07:26 2010 -0400"
      },
      "message": "Revert \"Check for the DEVICE_POWER permission in userActivity.\"\n\nThe change broke SetupWizard and probably other apps\n\nThis reverts commit 059f8f93e6e89f80dfb85cfdbcd3bce64c7b1e2c.\n"
    },
    {
      "commit": "05105f7abe02b2dff91d6260b3628c8b97816bab",
      "tree": "f42676d818548d76b2c55045a1bcc4866d6feec1",
      "parents": [
        "ea2cf2f936b03f1720bc43863e41c89ea2a7903a"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Sep 22 17:29:43 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Sep 28 17:23:26 2010 -0700"
      },
      "message": "Update OBB API to include callbacks\n\nAdd a callback for users of the StorageManager API to be able to receive\nnotifications when the requested operation completes for mountObb and\nunmountObb.\n\nAdd NDK API to get to ObbInfo like the Java API has.\n\nAlso update the docs for the API and remove the \"STOPSHIP\" comments.\n\nChange-Id: I23a4409c7f8b74d3169614beba920b4d667990a4\n"
    },
    {
      "commit": "059f8f93e6e89f80dfb85cfdbcd3bce64c7b1e2c",
      "tree": "640a9017d3e59771ea2ea4990a62b913a77e1d49",
      "parents": [
        "ab014a03a06a0044106ed9ad612b11e8197c8734"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Sep 28 17:14:34 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Sep 28 17:14:34 2010 -0700"
      },
      "message": "Check for the DEVICE_POWER permission in userActivity.\n\nChange-Id: I6c8038a960bdf32dfad3b0571d86f51f87784370\n"
    },
    {
      "commit": "08cf57d791e50ecafe2728a7617a6487aeb6d6d5",
      "tree": "634a04289805b98a85dcc255860c08411180989e",
      "parents": [
        "c89dd54ceeec99173d51d1196e2c03a58f120211",
        "48058e8536f93543bf962b3af2bea985422fa868"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 28 11:21:27 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 28 11:21:27 2010 -0700"
      },
      "message": "Merge \"Fixes to granting URI permissions - take into account path perms.\" into gingerbread"
    },
    {
      "commit": "48058e8536f93543bf962b3af2bea985422fa868",
      "tree": "ac5f066742429bcc7f7ee45175eac4b3d9062bab",
      "parents": [
        "68ef7f3c3a8deb0e14b0b6325876b23cecc191b3"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 27 16:53:23 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Sep 28 11:20:21 2010 -0700"
      },
      "message": "Fixes to granting URI permissions - take into account path perms.\n\nChange-Id: I8073061a578eda90dadd3b0b909047aae0d64f2d\n"
    },
    {
      "commit": "c89dd54ceeec99173d51d1196e2c03a58f120211",
      "tree": "e783ef870248bbbea09cb40da8dc029258aba1b1",
      "parents": [
        "a16682b5e8ed635910eada23272ba6548922c02e"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Sep 28 08:40:54 2010 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Sep 28 10:13:14 2010 -0700"
      },
      "message": "Remove logging on wifilock acquire/release\n\nBug: 3042300\nChange-Id: Ia3ce184f53bdd9afee1c78bb9c294af57364f266\n"
    },
    {
      "commit": "4fc3d2f0b3237390c37ccc4701bc68e4aa5f9b7a",
      "tree": "0e0527811066ffbed94cf3851c63a9d9ad2595d4",
      "parents": [
        "68ef7f3c3a8deb0e14b0b6325876b23cecc191b3"
      ],
      "author": {
        "name": "repo sync   . build/envsetup.sh   lunch passion-eng",
        "email": "clchen@google.com",
        "time": "Mon Sep 27 17:39:50 2010 -0700"
      },
      "committer": {
        "name": "repo sync   . build/envsetup.sh   lunch passion-eng",
        "email": "clchen@google.com",
        "time": "Mon Sep 27 17:46:07 2010 -0700"
      },
      "message": "DO NOT MERGE\n\nThis is a manual cherrypick of:\nChange I3a76de15: Fixing font scale in WindowManagerService. There was\na bug that causes WindowManagerService to lose the fontScale setting.\n\nChange-Id: I9b993e11f6a3e75735d8ed05596083893543d732\n"
    },
    {
      "commit": "68ef7f3c3a8deb0e14b0b6325876b23cecc191b3",
      "tree": "994adc214fa6eb5e54909e3de5d242494334b8d5",
      "parents": [
        "8d7057df401af668335c38273bc62872e4dbf538",
        "7e54ef71db3320a751571bba5259fba816399421"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Mon Sep 27 16:25:49 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 27 16:25:49 2010 -0700"
      },
      "message": "Merge \"Move SipService out of SystemServer to phone process.\" into gingerbread"
    },
    {
      "commit": "23142acffab69738b967812fdbdf7bbda18a44d8",
      "tree": "0a9150293f6d2686369819734aa372729c4e0111",
      "parents": [
        "44e8ff9924db43ee2470d868ce31b1c039c99b35",
        "b91ec410c8ecd09390e7122115e2ab6b7aafefb8"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Sep 27 15:23:45 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 27 15:23:45 2010 -0700"
      },
      "message": "Merge \"squeeze a few more bits of randomness into /dev/random\" into gingerbread"
    },
    {
      "commit": "b91ec410c8ecd09390e7122115e2ab6b7aafefb8",
      "tree": "40f34c0778d8356a6725996b8e7f32a6af81fa14",
      "parents": [
        "194bbcce9ba15634500f542b9ea017b2cf154b45"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Sep 27 14:49:00 2010 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Sep 27 14:49:00 2010 -0700"
      },
      "message": "squeeze a few more bits of randomness into /dev/random\n\nChange-Id: Ida30c33985411f353c828b43ea26ca1b7e6502af\n"
    },
    {
      "commit": "7e54ef71db3320a751571bba5259fba816399421",
      "tree": "ac4c1a7d45c1406366e7f7ba02ec0b0d6117d386",
      "parents": [
        "04a426f5b50a628fb73bc29b003b0e5bece17c27"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Sat Sep 25 22:49:59 2010 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Tue Sep 28 05:19:35 2010 +0800"
      },
      "message": "Move SipService out of SystemServer to phone process.\n\nCompanion CL: https://android-git/g/#change,70187\nhttp://b/issue?id\u003d2998069\n\nChange-Id: I90923ac522ef363a4e04292f652d413c5a1526ad\n"
    },
    {
      "commit": "d8691d73d158acd9ffc63748126e822afd656707",
      "tree": "41c330928c6672392c6cb870289ed9e42028128e",
      "parents": [
        "14a288da6a372230d9af41da12241fe500eec837",
        "8313fc7e94e46e5cc09f457a15a771a325b9f74f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Sep 27 12:42:34 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 27 12:42:34 2010 -0700"
      },
      "message": "Merge \"Allow all apps to call ContentResolver.getType().\" into gingerbread"
    },
    {
      "commit": "fccd5bc78f94b7dcfbcf78ddca83719c9cd1a74f",
      "tree": "45a5a3c1e1c844d58d63520b7ef1c3941d9ebed6",
      "parents": [
        "fd144d7667d9d050b7fb158276ae4623d4ea83b8"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Tue Sep 28 02:16:32 2010 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Tue Sep 28 02:16:32 2010 +0800"
      },
      "message": "Fix build.\n\nChange-Id: Ie47b63f02764e8a1ca1d36f502b6b4134859ff0d\n"
    },
    {
      "commit": "025a39af346f39743c1e384b9000ce1baee36562",
      "tree": "159ecd150d8ff4343ffb079eb400728aaba67c9c",
      "parents": [
        "00a22064efef4f574e439079aae2deae1a087a31"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Thu Sep 23 11:35:05 2010 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Tue Sep 28 01:52:42 2010 +0800"
      },
      "message": "SIP: misc fixes\n\n+ check REQUEST_TERMINATED response on INVITE not CANCEL,\n+ check if a TransactionTerminatedEvent matches the ongoing transaction,\n+ add log to track SipConnection disconnect events.\n\nChange-Id: I28325be62ac44e4a7507d3c4b5b78b066c0ea2ad\n"
    },
    {
      "commit": "00a22064efef4f574e439079aae2deae1a087a31",
      "tree": "13083f04f2bccaf3475b7f959c9d2d17d9775734",
      "parents": [
        "4e9751f0770c8bfe6f7d57465cba754af5aa942b"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Sat Sep 25 23:21:23 2010 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Mon Sep 27 10:45:24 2010 -0700"
      },
      "message": "SipService: handle cross-domain authentication error\n\nand add new CROSS_DOMAIN_AUTHENTICATION error code and OUT_OF_NETWORK\nDisconnectCause.\n\nhttp://b/issue?id\u003d3020185\n\nChange-Id: Icc0a341599d5a72b7cb2d43675fbddc516544978\n"
    },
    {
      "commit": "8313fc7e94e46e5cc09f457a15a771a325b9f74f",
      "tree": "d68bf554b0d92a64cde72e58178e60d4d30b521d",
      "parents": [
        "08c09b0f84b23627b4cd02e1b9a642952fbd2e7f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Sep 26 18:34:53 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Sep 26 21:31:47 2010 -0700"
      },
      "message": "Allow all apps to call ContentResolver.getType().\n\nI can\u0027t find the bug number for this, but it is needed for some things\nwe are doing where the app building an intent may not have access to the\nURI in the data field.  This is for HC, but doing in GB to avoid introducing\nintegration issues.\n\nChange-Id: I0cac971854198b18775d2a73deb80f23431bfbe2\n"
    },
    {
      "commit": "9f306d78a4adae80989eecb411af454225ff55a9",
      "tree": "8cc6e5af4c5c03aafa6c8b455d224d8d95731392",
      "parents": [
        "d45a33554ca6c18ed81e45320998b9e4f4680379"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Sun Sep 26 11:19:47 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Sun Sep 26 11:19:47 2010 -0700"
      },
      "message": "Use buffered output during packages.xml write\n\nFileOutputStream writes data one byte at a time, so use the\nBufferedOutputStream to wrap it and write once all the XML serialization\nis done.\n\nChange-Id: I419a6fcac2ac9a72a6cf41d4ca6e7ab6c7505618\n"
    },
    {
      "commit": "4d94a766c3f7cf32dd3f5d543048fa801ad22813",
      "tree": "c3be1a7c71ee4a7969d079b6caaec5449b462284",
      "parents": [
        "e78fc18b339bfe2915e61aef2013a17f0a9ede33"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 23 11:33:28 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Sep 24 16:00:25 2010 -0700"
      },
      "message": "Fixed some timeout and lock reentrance issues with broadcasts.\n\nWhen starting a broadcast, the ActivityManagerService posts a delayed\nBROADCAST_TIMEOUT_MSG to handle timeouts.  If a premature timeout occurs,\nwe post a new BROADCAST_TIMEOUT_MSG to extend the timeout time for the\ncurrent receiver.  However, if the current receiver does timeout, the\nmessage is consumed and no replacement is ever posted.\n\nTo fix the dropped timeouts, we track whether we have a pending broadcast\ntimeout message and setup a new one when we begin working on the next receiver.\n\nAs a last resort, performNextBroadcast contains code to detect whether\na broadcast appears to be hung (timeout handling failed).  If so, it\ncalls broadcastTimeout to cause it to timeout immediately.\nHowever, performNextBroadcast is holding on to the ActivityManagerService\nlock while doing this but broadcastTimout expected to be called\nwhile the lock was not held since after updating the broadcast record state,\nit calls appNotResponding.\n\nTo fix the unintentended lock reentrance, changed broadcastTimeout to\nassume the lock is already held (and the callers ensure this) then\nadded code to perform the ANR asynchronously.\n\nRenamed a few methods to add \"Locked\" suffixes where appropriate and added\na few comments for tricky areas uncovered during review.\n\nChange-Id: I3cb5b06d6b6a4a338f32c0998db721f6acf3b082\n"
    },
    {
      "commit": "a7ef18fca50d0db99a161d8c7e2d8979f0445503",
      "tree": "32d3ee6fd26528d8c55e50144b17ae16be5fe6b5",
      "parents": [
        "194bbcce9ba15634500f542b9ea017b2cf154b45",
        "f123e49bf0708719b51a7064ae134c097abe4a54"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 24 15:28:34 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 24 15:28:34 2010 -0700"
      },
      "message": "Merge \"Some debugging support.\" into gingerbread"
    },
    {
      "commit": "194bbcce9ba15634500f542b9ea017b2cf154b45",
      "tree": "d91fc2516d703c6d2b41178ae7e12d143128b0ac",
      "parents": [
        "52f58e96a723a56e6619c237c814a07503745de9"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Fri Sep 24 03:01:25 2010 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Sat Sep 25 06:09:00 2010 +0800"
      },
      "message": "SIP: longer timeout for making call, shorter for cancelling\n\nhttp://b/3021865\n\nChange-Id: I354ebcc00f1ac68e4b7b466745c36aeb314f9138\n"
    },
    {
      "commit": "f123e49bf0708719b51a7064ae134c097abe4a54",
      "tree": "73c218afbbede522ca5c7d70b1399cf55609ca5d",
      "parents": [
        "6d8fae722cfb2833dd542b2a5e613582a9096fc6"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 24 11:16:23 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 24 13:11:55 2010 -0700"
      },
      "message": "Some debugging support.\n\n- New feature to \"am monitor\" to have it automatically launch\n  gdbserv for you when a crash/ANR happens, and tell you how to\n  run the client.\n\n- Update dumpstate to match new location of binder debug logs\n\n- Various commented out logs that are being used to track down\n  issues.\n\nChange-Id: Ia5dd0cd2df983a1fc6be697642a4590aa02a26a5\n"
    },
    {
      "commit": "8f97fe551e7bd95abf395eed303b975eaa8f0158",
      "tree": "c2e51b493755d421221a375e509f14bc659317f5",
      "parents": [
        "4318ab058629b701e225bb7ead9dd2b229c9354b",
        "8dcc28be065bb5997ed97d58c9592324b891023a"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Sep 24 10:42:46 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 24 10:42:46 2010 -0700"
      },
      "message": "Merge \"Move long Connectivity tasks to handler thread.\" into gingerbread"
    },
    {
      "commit": "658bec956785e074edc4f6c9fe739c366e37be33",
      "tree": "744b92adc28b04e5429b6856d6bfb749b3e09fbe",
      "parents": [
        "84a357bb6a8005e1c5e924e96a8ecf310e77c47c"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Thu Sep 23 17:11:02 2010 +0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Fri Sep 24 10:17:42 2010 +0800"
      },
      "message": "SDP: remove dead code.\n\nChange-Id: I2a5764a2b9cabc54b0ac18666e494c1cb39c4e9b\n"
    },
    {
      "commit": "84a357bb6a8005e1c5e924e96a8ecf310e77c47c",
      "tree": "7562523105a05d9ac3ca03b333c1aa70e08a3b7b",
      "parents": [
        "524a6d8e9bb4df9cec0520ac1d9733642b13e76f"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Thu Sep 16 04:11:32 2010 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Fri Sep 24 10:06:59 2010 +0800"
      },
      "message": "Refactoring SIP classes to get ready for API review.\n\n+ replace SipAudioCall and its Listener interfaces with real implementations,\n  + remove SipAudioCallImpl.java, most of it is has become part of SipAudioCall,\n+ add SipSession and its Listener classes to wrap ISipSession and ISipSessionListener,\n+ move SipSessionState to SipSession.State,\n+ make SipManager keep context and remove the context argument from many methods of its,\n+ rename SipManager.getInstance() to newInstance(),\n+ rename constant names for action strings and extra keys to follow conventions,\n+ set thread names for debugging purpose.\n\nChange-Id: Ie1790dc0e8f49c06c7fc80d33fec0f673a9c3044\n"
    },
    {
      "commit": "cbb7b05e35368b104c27089f5f16640680f567c2",
      "tree": "8db251a8b7e45f5616d8c47fa5fadcad9d7c2f3e",
      "parents": [
        "f43ac911379c15b6a1a240a931b0f3cbfb2fae53",
        "eaa0718780a29df8fbe42c59beecee5557fdf785"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Sep 23 16:52:28 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 23 16:52:28 2010 -0700"
      },
      "message": "Merge \"Crash apps when they provide bad notifications instead of crashing the system process.\" into gingerbread"
    },
    {
      "commit": "eaa0718780a29df8fbe42c59beecee5557fdf785",
      "tree": "b4caca99201bbcff4799c0f1a542ab926de5fc11",
      "parents": [
        "f9ec03c0f5fc2c6eba5bbead24c4eb314c0205be"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Sep 23 16:49:20 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Sep 23 16:49:20 2010 -0700"
      },
      "message": "Crash apps when they provide bad notifications instead of crashing the system process.\n\nBug: 2958415\nChange-Id: I9cbef340fb20a64eca8493950b814399c26ce197\n"
    },
    {
      "commit": "8dcc28be065bb5997ed97d58c9592324b891023a",
      "tree": "47debb7da669c8c41cfd24841533041c162d6a4a",
      "parents": [
        "49a8bbf4eacbf0bde71bab05be0ab40488df109c"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Sep 23 10:05:56 2010 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Sep 23 16:43:21 2010 -0700"
      },
      "message": "Move long Connectivity tasks to handler thread.\n\nReduce ANR potential.\nbug:2942829\n\nChange-Id: I21610b462d5ab91821015cd16eecd86d2c0580d1\n"
    },
    {
      "commit": "f43ac911379c15b6a1a240a931b0f3cbfb2fae53",
      "tree": "9928ffea9030f04b27e1a67258d9973309a0057d",
      "parents": [
        "287952c35e148811c106bc0f5036eabf20f71562",
        "0b4d2fb11405e2e785ec30cabe7bb311c654c0d2"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Sep 23 16:36:18 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 23 16:36:18 2010 -0700"
      },
      "message": "Merge \"Handle OPTIONS requests from SIP servers.\" into gingerbread"
    },
    {
      "commit": "287952c35e148811c106bc0f5036eabf20f71562",
      "tree": "baf7ae1e8a086c6e14138536caa925b2a793ce69",
      "parents": [
        "f9ec03c0f5fc2c6eba5bbead24c4eb314c0205be"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Sep 22 22:34:31 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Sep 23 15:59:28 2010 -0700"
      },
      "message": "Fix issue #3022508: Crash during media scan\n\nDon\u0027t kill processes for excessive wake lock use, even if they\nare in the background, as long as they have running services.\n\nAlso fix some problems with this, such as not noting the kill\nin battery stats.\n\nAnd add killing of processes for cpu usage as well, along with\nsome optimizations to computing CPU usage.\n\nAnd fix BatteryWaster to be better behaving for testing these\ncases.\n\nAdd new \"monitor\" command to am to watch as the activity manager\ndoes stuff (so we can catch things at the point of ANR).\n\nFinally some miscellaneous debug output for the stuff here, as\nwell as in progress debugging of an ANR.\n\nChange-Id: Ib32f55ca50fb7486b4be4eb5e695f8f60c882cd1\n"
    }
  ],
  "next": "045398e6243fa4e83fb6435df4e8ffc6a7487a70"
}
