)]}'
{
  "log": [
    {
      "commit": "e4a5951925f16f18dae91ed65567e96528f17fee",
      "tree": "b96636542b481ce23865326f49c5ddff934e71cd",
      "parents": [
        "e3f6336bcffc250da90ec864bccfa73ad1d016b9"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Dec 07 11:08:07 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 13 14:31:40 2010 -0800"
      },
      "message": "Fix issue #3154576: battery stats checkin should include UID -\u003e packages+ map\n\nIncludes some other small fixes to battery collection and a few\nother things.\n\nOutput of package info looks like this:\n\n5,0,i,uid,1000,com.android.settings\n5,0,i,uid,1000,com.android.providers.subscribedfeeds\n5,0,i,uid,1000,com.android.providers.settings\n5,0,i,uid,1000,com.android.server.vpn\n5,0,i,uid,1000,android\n5,0,i,uid,1000,com.android.systemui\n5,0,i,uid,1000,com.google.android.backup\n5,0,i,uid,1001,com.android.phone\n5,0,i,uid,1001,com.android.providers.telephony\n5,0,i,uid,1022,com.android.nfc\n5,0,i,uid,10021,com.google.android.location\n5,0,i,uid,10021,com.google.android.syncadapters.calendar\n5,0,i,uid,10021,com.google.android.gsf\n5,0,i,uid,10021,com.google.android.syncadapters.contacts\n5,0,i,uid,10026,com.android.providers.downloads.ui\n5,0,i,uid,10026,com.android.providers.media\n5,0,i,uid,10026,com.android.providers.drm\n5,0,i,uid,10026,com.android.providers.downloads\n5,0,i,uid,10032,com.android.launcher\n5,0,i,uid,10039,com.google.android.gm\n5,0,i,uid,10041,com.google.android.gallery3d\n5,0,i,uid,10049,com.android.providers.calendar\n\nChange-Id: I9e38f254eef146339113ad270f5c6e8b60fb7a1d\n"
    },
    {
      "commit": "f92b453a58d19531f3735dd90cd4f97a78823ae1",
      "tree": "8f1452ae7450e54b7ecc65d2a7307dfa9b9db36f",
      "parents": [
        "30c818444d876dd868b84adec2416308c90f32e3"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Nov 03 11:13:10 2010 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Nov 30 16:07:05 2010 -0800"
      },
      "message": "DO NOT MERGE Remove wifistatetracker lock access in BroadcastReceiver\n\nThe worksource reporting gets blocked by the\nstatetracker lock which can cause system restarts when\ndone from broadcastreceiver thread\n\nBug: 3153787\nChange-Id: Ie70687e7453a1c3618bac1424562be44762b2c9d\n"
    },
    {
      "commit": "70fc04c84db8f99ac2ac60fd9719b91057aacc9b",
      "tree": "5a32634a0597a9b247dcb6e0830b18d171758ccf",
      "parents": [
        "47e43febdd8ba83c333c9c98ca6a8c0bda421305"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Oct 22 10:07:11 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Nov 05 11:59:45 2010 -0700"
      },
      "message": "Reorganize PackageManager dump to avoid NPE\n\nversionCode and mVersionName were added recently but ps.pkg can be null\nin some situations. Move them to where it will check before\ndereferencing it.\n\nBug: 3152896\nChange-Id: If992a1f29ac7b8f595f847b7743fd2374662bb6e\n"
    },
    {
      "commit": "a87ea46cb023763e0a9b0222da20b0a354f79d8d",
      "tree": "af391e4d3190d4023b6e5757a504346798151fc3",
      "parents": [
        "5dda76a72e8bb4630fb5fd38a42e7bceb5b9c954"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Nov 01 20:35:46 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Nov 01 20:51:58 2010 -0700"
      },
      "message": "Fix bugs related to cheek event suppression.\n\nTwo issues:\n\n1. First, due to an inverted conditional in the input dispatcher, we were\n   reporting touches as long touches and vice-versa to the power manager.\n\n2. Power manager user activity cheek event suppression also suppresses touch\n   events (but not long touch or up events).  As a result, if cheek event\n   suppression was enabled, touches would not poke the user activity timer.\n   However due to the above logic inversion, this actually affected long\n   touches.  Net result, if cheek suppression was enabled in the power manager\n   and you held your thumb on the screen long enough, the phone would\n   go to sleep!\n\nCheek event suppression is commonly turned on when making a phone call.\nInterestingly, it does not seem to get turned off afterward...\n\nThis change fixes the logic inversion and exempts touches from the cheek\nsuppression.  The reason we do the latter is because the old behavior\nwas actually harmful in other ways too: a touch down would be suppressed\nbut not a long touch or the touch up.  This would cause bizarre behavior\nif you touched the screen while it was dimmed.  Instead of brightening\nimmediately, it would brighten either when you lifted your finger or\n300ms later, whichever came first.\n\nBug: 3154895\nChange-Id: Ied9ccec6718fbe86506322ff47a4e3eb58f81834\n"
    },
    {
      "commit": "9e3191d16c025b44fb4a614b13e1c5b8488eb574",
      "tree": "49c91123fe9683b15579060d211e2bb1425041a7",
      "parents": [
        "11e2e9b0c261d95aafc9eb9c306f85fe95ac508a"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Oct 26 10:01:55 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Oct 26 10:01:55 2010 -0400"
      },
      "message": "Location Manager: Fix LocationManager.getBestProvider filtering.\n\ngetBestProvider should only return location providers that the client\nhas permission to use.\n\nBUG: 3124614\n\nChange-Id: I065091d0445092563bc53fb4f7d93a1ab6bebb9a\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "06eb33acb77b13f3dd55f11e3c1dfbc39f9c586b",
      "tree": "ed71fde4e62d5138429b5027cba672baa225f4c9",
      "parents": [
        "8c32bddfac259543f4ed87341fce42bc5ed60506"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Oct 25 14:09:21 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Oct 25 14:21:06 2010 -0700"
      },
      "message": "Don\u0027t turn the button backlights on if the screen is off. Part 2.\n\nThese are the logs from when I just reproduced it here.  This means that we got an event after the\nscreen turned off.  So isScreenTurningOffLocked() is working, but we need to also check that we\u0027re\nnot off.  This bug is happening because lightSensorChangedLocked is calling\nmButtonLight.setBrightness() directly instead of going through updateLightsLocked, which is where\nI added that check to not turn the buttons on of the screen is off.\n\nD/PowerManagerService( 1243): onSensorChanged: light value: 1280\nI/power   ( 1243): *** set_screen_state 0\nD/PowerManagerService( 1243): enableLightSensor false\nD/PowerManagerService( 1243): onSensorChanged: light value: 320\nD/PowerManagerService( 1243): lightSensorChangedLocked 320\nD/PowerManagerService( 1243): lcdValue 55\nD/PowerManagerService( 1243): buttonValue 255\nD/PowerManagerService( 1243): keyboardValue 0\nD/SurfaceFlinger( 1243): About to give-up screen, flinger \u003d 0x8dcf! 0\n\nBug: 3117801\nChange-Id: I722d66cafba71b183cc987b7383d4ad7e171ba82\n"
    },
    {
      "commit": "4a7b65e0d544ef1feff8e1e5789f469f89ebb85c",
      "tree": "3816ce50b2d10d62f5ce3f90f34b3be9f3138226",
      "parents": [
        "236568999411214ef440cabc6d12e3bf5f19d8f4"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Oct 25 16:35:55 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Oct 25 16:35:55 2010 -0400"
      },
      "message": "GPS: Disable verbose logging\n\nBUG: 3127049\n\nChange-Id: I9efd9eb7ff69724b133f3b70c52e173f49ddfbc5\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "60607a9012c9b7d39bef8fcf0284772f1b061efc",
      "tree": "fef35348a027e9846d27c86dca77c73327d10d88",
      "parents": [
        "b6a2256e5461160a89d077b761d3253d95ce869f"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Sat Oct 23 14:49:30 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Sat Oct 23 14:49:57 2010 -0700"
      },
      "message": "Make sure that when the screen is off, we don\u0027t try to turn the buttons on too.\n\nBug: 3117801\nChange-Id: I763f114a2b0426660d29bbda04ea7db12c1137e8\n"
    },
    {
      "commit": "5383f502e4479d117c89666fb2ee1ca53f3d27cf",
      "tree": "3205788a98d26a3161916279d83e7fd5629fc92f",
      "parents": [
        "7ce276b5a3f2e0938956171abd32d60c7f619d16"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Oct 22 12:59:20 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Oct 22 12:59:20 2010 -0700"
      },
      "message": "Fix issue #3122240: Expose xlarge in GB.\n\nPlus some other small API cleanup.\n\nChange-Id: I1a3c60f510f99224cccac9cc3f838f04141064f8\n"
    },
    {
      "commit": "edc0f3876ce6e14f0ce35ad950c55031694fd4f8",
      "tree": "17528833f3e8aadea97bef222471b76eb7a7b777",
      "parents": [
        "1257d330dcfdb87214278c8fc9718ea9fc663df6"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Oct 22 09:16:17 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Oct 22 09:16:17 2010 -0400"
      },
      "message": "GPS: Fix network type logic in requestRefLocation\n\nChange-Id: I20ef81bcf029b289389dba57e6cf457fda5acbf4\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "b51dc0fe2abe300593eedb8abd35e676c9224dc6",
      "tree": "df0193194babee7a4e9fcf2f057d297be257d8b0",
      "parents": [
        "7dc08fb070ff7455e794fc81645ccb4349cd152f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 21 15:34:47 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 21 15:34:47 2010 -0700"
      },
      "message": "Adjust boundaries for screen sizes.\n\nPart of issue #3116702: New manifest tags for supported screen sizes\n\nKind-of.\n\nIf you turn your head side-ways.\n\nChange-Id: I446f1e2eadba1ce284c93ff9fb0197bb0e6b0fca\n"
    },
    {
      "commit": "b09773dee0881f30c2fb4d0f3534527170f25bce",
      "tree": "7ddf436e8a4420a4722f7f843a5e7dea18c0cc48",
      "parents": [
        "b595e094e3901ff8a224eaf7d4869e7d2e5649dd"
      ],
      "author": {
        "name": "Tony Wu",
        "email": "Tony_Wu@acer.com.tw",
        "time": "Mon Aug 09 16:49:19 2010 +0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Oct 20 10:17:28 2010 -0700"
      },
      "message": "Fix isUsbMassStorageConnected() will always return true\n\nAfter UMS mounted, isUsbMassStorageConnected() will always return true even if USB is disconnected.\nIt\u0027s because mUmsEnabling will always be ture.\n\nChange-Id: Ib24b2359ea2684eb0a9faeb880f383e87630e6e1\n"
    },
    {
      "commit": "431bb2269532f2514861b908d5fafda8fa64da79",
      "tree": "c862fe87c2525c18057728a75f2b3da9cdc30d2b",
      "parents": [
        "1858031946b3627b599475c5894655362e510351"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Mon Oct 18 19:13:23 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Tue Oct 19 15:08:05 2010 -0400"
      },
      "message": "Reduce logging.\n\nRemember, the system and main logs are\n    - Shared resources\n    - Primarily for recording problems\n    - To be used only for large grained events during normal operation\n\nBug: 3104855\nChange-Id: I136fbd101917dcbc8ebc3f96f276426b48bde7b7\n"
    },
    {
      "commit": "1858031946b3627b599475c5894655362e510351",
      "tree": "42c6b21667f9fde9291408d5caacb12b74cf1239",
      "parents": [
        "52bea277ff92a2a1780e035c82c72082434e7b16"
      ],
      "author": {
        "name": "Chris Tate",
        "email": "ctate@google.com",
        "time": "Tue Oct 19 11:22:03 2010 -0700"
      },
      "committer": {
        "name": "Chris Tate",
        "email": "ctate@google.com",
        "time": "Tue Oct 19 11:22:03 2010 -0700"
      },
      "message": "DO NOT MERGE.  Turn down backup logging for release.\n\nChange-Id: Ib9f4fd15981fcf52b5d5912995c1891836303427\n"
    },
    {
      "commit": "928b07480bc5372f2b959bce7b4a3b49651b49b8",
      "tree": "acc3ba2df960bd4d7658af313fd889b8c7d3d8ba",
      "parents": [
        "f73d48d754b11f6ed0fba017f5bc8f27acdfbe4f",
        "e68d58a2981827c6f54245fb62e70303a6a7ddb8"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Oct 19 09:28:28 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 19 09:28:28 2010 -0700"
      },
      "message": "Merge \"Don\u0027t symlink native library paths for old apps\" into gingerbread"
    },
    {
      "commit": "e68d58a2981827c6f54245fb62e70303a6a7ddb8",
      "tree": "5f1b12fc433e0e2b37b2548e1354cae0fa1ec223",
      "parents": [
        "1f90908c19ab24791bd54c856b32bb12682496eb"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Oct 18 16:08:54 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Oct 18 16:55:27 2010 -0700"
      },
      "message": "Don\u0027t symlink native library paths for old apps\n\nApps that existed in an ASEC container before we put native libraries\nin the ASEC container will have their native libraries in the\n/data/data/\u003capp\u003e/lib directory. Don\u0027t try to symlink to the ASEC\ncontainer\u0027s library directory in this case.\n\nBug: 3108230\nChange-Id: I32167341cc8ff8c005e50f456ee7c783bfb0bf22\n"
    },
    {
      "commit": "5d5a9db514a9cf42fbc189fc3af6da602d89b747",
      "tree": "d55457e5fb3d5f15c04327f7ebda81f109cbc5cd",
      "parents": [
        "7689dd4928d1cc4080e43f83a523521b5ecf44e5",
        "b8d9033d9928209e68518c4b12fea74187ddb382"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Mon Oct 18 15:14:46 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 18 15:14:46 2010 -0700"
      },
      "message": "Merge \"GPS: Enable some more logging\" into gingerbread"
    },
    {
      "commit": "b8d9033d9928209e68518c4b12fea74187ddb382",
      "tree": "389da976714bc5c5b9195d4cfe2e0b110ef93d6e",
      "parents": [
        "2d4d1bf14b531de9d4238b1e41b53c77f8976405"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Mon Oct 18 17:59:48 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Mon Oct 18 17:59:48 2010 -0400"
      },
      "message": "GPS: Enable some more logging\n\nChange-Id: I7d13c859002fa96fa8c361c0c709931c6b12eb99\nSigned-off-by: Mike Lockwood \u003clockwood@google.com\u003e\n"
    },
    {
      "commit": "ba2ec2b44f33f55ff8507199e4e8b108a4bec7b1",
      "tree": "e9a7b7479d4c6f32937a70578dc5495ca7db3b9b",
      "parents": [
        "72a635a1e08c1fe316dd91786774677abb11aafa",
        "2d4d1bf14b531de9d4238b1e41b53c77f8976405"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Mon Oct 18 14:16:15 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 18 14:16:15 2010 -0700"
      },
      "message": "Merge \"Enable framework GPS and location manager logging\" into gingerbread"
    },
    {
      "commit": "2d4d1bf14b531de9d4238b1e41b53c77f8976405",
      "tree": "2ef8e19d33360133c85e10e759a860e8f646e646",
      "parents": [
        "1f90908c19ab24791bd54c856b32bb12682496eb"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Mon Oct 18 17:06:26 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Mon Oct 18 17:06:26 2010 -0400"
      },
      "message": "Enable framework GPS and location manager logging\n\nChange-Id: Id54fc01e7288e7d90d7b76824b708bcb2ee88333\nSigned-off-by: Mike Lockwood \u003clockwood@google.com\u003e\n"
    },
    {
      "commit": "3d3db601cdcb884ed8179cd3fd855454ea6bafac",
      "tree": "0b4888f1df40c48d3457f85b4e89aacd02291b1e",
      "parents": [
        "d1f7f4a68375f879671d300510f23d3ee78a500e"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Mon Oct 18 16:08:16 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Mon Oct 18 16:08:16 2010 -0400"
      },
      "message": "Pressing the power button quickly needs to turn the screen on and off correctly.\n\nThis does the animation with the power manager lock held, which isn\u0027t great, but is safe.\n\nBug: 3102208\nChange-Id: Ib0af3fab1cf6ba47053c10ae8b701376d63802ff\n"
    },
    {
      "commit": "424991704b5fb7a64f6cf0fcc3f4b1aabbf2a2e0",
      "tree": "e2961682902ad3bac3966dac644186470bbdd21b",
      "parents": [
        "77c011ba75ee1403c9b7626e4676cd3c8746605b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Oct 15 18:45:07 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Oct 16 16:32:15 2010 -0700"
      },
      "message": "Implement issue #3094621 and #3094609 - wipe sd card\n\n3094621: add \"wipe sd card\" option to factory data reset\n3094609: collapse unmount/format into one command\n\nAlso since we have decided that it is important to consider\nthe Crespo storage as internal storage, DevicePolicyManager\ngets a new API to be able to wipe it.  (No big deal, since\nall of the work for this is now done in the implementation\nof the new UI.)\n\nChange-Id: I32a77c410f710a87dcdcbf6586c09bd2e48a8807\n"
    },
    {
      "commit": "2d3f159aa9622e05a18e7f93cecd57ad673955ae",
      "tree": "8df18f80f44133f19ce9e669a36bdd785b31460a",
      "parents": [
        "c9f7890a203a013646650a695157277df81b6a17"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Oct 15 00:54:27 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Oct 15 16:03:35 2010 -0700"
      },
      "message": "Add support for secure system overlays.  (DO NOT MERGE)\n\nThis change adds a new window type for secure system overlays\ncreated by the system itself from non-secure system overlays that\nmight be created by applications that have the system alert permission.\nSecure views ignore the presence of secure system overlays.\n\nBug: 3098519\nChange-Id: I8f8398f4fdeb0469e5d71124c21bedf121bd8c07\n"
    },
    {
      "commit": "8bdf5935c0db4a66ab33a10b43398d2523cfa15d",
      "tree": "5483e26cd1fb2de239b2f01f3d35c52aeeb7b598",
      "parents": [
        "efb581018bbede2ecdc76bcd9722ded5b6903254"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Oct 15 12:54:40 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Oct 15 14:46:33 2010 -0700"
      },
      "message": "Work on issue #3101415: Crespo apps seem to have their UID changed over time.\n\nfsync!\n\nChange-Id: Ie6c5397202579935ac69bf61d3e7b3081ecf269c\n"
    },
    {
      "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"
    }
  ],
  "next": "c89dd54ceeec99173d51d1196e2c03a58f120211"
}
