)]}'
{
  "log": [
    {
      "commit": "02e935a79b72cfdfe6d4b2abd6cd63b28c86bd4f",
      "tree": "4429eca3d70c52213799c2eac63059c32d765037",
      "parents": [
        "34c788096f0f7c8f2b4b19c15fef65d0c4aef61d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 15 19:21:24 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 15 19:21:24 2011 -0700"
      },
      "message": "Fix build.\n\nChange-Id: I266ad683d12c6effc70351c6151482a7e886d94d\n"
    },
    {
      "commit": "32ab0957519bfe483d5a15b1f760147ab120d22b",
      "tree": "6f4fdf0726a84a826cf8706d11b4da2853f648d7",
      "parents": [
        "70b5c66a2415cbe9864ad88ae23fb0a151376a18",
        "6e90a362bc66cc67b1beae27b21d3f0148403b08"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Sun Aug 14 16:57:45 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Aug 14 16:57:45 2011 -0700"
      },
      "message": "Merge \"Fix bug 5159736 - Make DeviceDefault the default\""
    },
    {
      "commit": "6e90a362bc66cc67b1beae27b21d3f0148403b08",
      "tree": "0ebfe4ce91bbeaa0c6c275106682a0cb79685dce",
      "parents": [
        "52727fc38aaf6821bac6adf33235f154139638d0"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Sun Aug 14 16:48:32 2011 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Sun Aug 14 16:49:22 2011 -0700"
      },
      "message": "Fix bug 5159736 - Make DeviceDefault the default\n\nHave the framework refer to the DeviceDefault themes for ICS apps that\ndon\u0027t explicitly request another theme.\n\nChange-Id: I27dd0bbaa60f71df4f36e47d260f556d923ba075\n"
    },
    {
      "commit": "f188dfda30cda5df4c7131e7987218c7c20203ab",
      "tree": "31b5e3e23c88239cf63cab61b867f770a86d4514",
      "parents": [
        "99f09c27a4016dce3e01462e56a0410e8275a270"
      ],
      "author": {
        "name": "Daniel Lehmann",
        "email": "lehmannd@google.com",
        "time": "Sun Aug 14 15:39:22 2011 -0700"
      },
      "committer": {
        "name": "Daniel Lehmann",
        "email": "lehmannd@google.com",
        "time": "Sun Aug 14 15:39:22 2011 -0700"
      },
      "message": "Several API changes as requested by ES:\n\n - Switch from resource ids to names to prevent breakage on package upgrade\n   Bug:5135277\n - Add SYNC1...SYNC4 columns to StreamItems and StreamItemPhotos\n   Bug:5119385\n - Remove ACTION, ACTION_URI from Groups, StreamItems and StreamItemPhotos\n   (this reduces db size and prevents click intercepting)\n   Bug:5135808\n - Add some raw-contact fields to the StreamItem query\n   Bug:5134081\n\nDoing those changes in one block to prevent too many db upgrade steps\n\nChange-Id: I5618e210206e0315b91f5883e6b6b386dccb5881\n"
    },
    {
      "commit": "9beeb95c80007106f71eb355c6682cddfc8e0305",
      "tree": "0bf3eed9a7232a61b66b818ccf8b0262756e0762",
      "parents": [
        "54074fe3c8ee017d024c11ba7a3f756e146b71e7",
        "f43fa5746ee5b81a6e386d36594094d079ac8160"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 12 19:17:09 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 12 19:17:09 2011 -0700"
      },
      "message": "Merge \"Turn off hinting by default for higher density displays.\""
    },
    {
      "commit": "f43fa5746ee5b81a6e386d36594094d079ac8160",
      "tree": "bf26f4fde8e7610722f6c75944b713c18d115064",
      "parents": [
        "7c0d8472d003334fafd14f7c1e7d95dbd213088b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 12 18:59:39 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 12 18:59:39 2011 -0700"
      },
      "message": "Turn off hinting by default for higher density displays.\n\nAlso adds an API for apps to control whether hinting is used.\n\nChange-Id: I1a06b06255fbb8d0f02a8ce48c2cd60019088ed3\n"
    },
    {
      "commit": "497b3fe7257d5bbee7762455c6988915bde21601",
      "tree": "53eb1f81d44e07906216667506b7c63b03f076bb",
      "parents": [
        "7b53848d14dc041f6bc64c6fa5c63b93a87010aa"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 02 17:41:11 2011 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Aug 12 17:43:35 2011 -0700"
      },
      "message": "Issue 5081351: isWiredHeadsetOn() permission.\n\nAudioManager.isWiredHeadsetOn() should not require permission MODIFY_AUDIO_SETTINGS.\nRemove permission checks on all getters in audio policy manager as permission enforcement\nis really usefull for setters.\nAlso deprecate AudioManager.isWiredHeadsetOn() which name and implementation are deceptive.\n\nChange-Id: I38f8df7c26c0d417bf0e2b74e4c11c2d143f2ecd\n"
    },
    {
      "commit": "9ca705e323cb737a07a667c1e86bac702f11a29c",
      "tree": "583c529ca6a51a021dfbcd366f089a25d4c273cc",
      "parents": [
        "0e382005eb5ca3f71c9b374b9ffb6cd95dc3a081"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Aug 11 16:57:59 2011 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Aug 11 21:54:47 2011 -0700"
      },
      "message": "Fix bug 5075761 - Visual assets: CAB states\n\nIntegrate new assets for the contextual action bar (action modes).\n\nChange-Id: I8439196f8b7466ce862e1c21a34b7ae1abf88f36\n"
    },
    {
      "commit": "9cc07c3939581909bf7de42df0215a65fab7b472",
      "tree": "248e174fb5d847c799da94569009ddb671c00d9b",
      "parents": [
        "a0d386088129e657426f7a5fb9fc3a69401526f5",
        "f242368f38b21479763d6e07174547c610a51c5c"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Aug 11 14:59:52 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 11 14:59:52 2011 -0700"
      },
      "message": "Merge \"More fun with action bars and themes!\""
    },
    {
      "commit": "f242368f38b21479763d6e07174547c610a51c5c",
      "tree": "e3aa5ac1f5fc88d15ad6a1a95be13034d4eba17a",
      "parents": [
        "1060dd20dc27533311198c335a0cd94053a867e7"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Aug 11 14:29:45 2011 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Aug 11 14:33:32 2011 -0700"
      },
      "message": "More fun with action bars and themes!\n\nFix bug 5144738 - Allow user to define pressed state asset for action\nbar. Added android:actionBarItemBackground theme attribute. This\nallows themes to define item pressed states for the action bar\nindependent of the standard selectableItemBackground.\n\nFix bug 5145416 - Custom view in action bar should use themed context\nwhen inflating resource ID. Also applies to tab custom views.\n\nFix bug 5135550 - Tab divider height / Color should match spec. Added\nactionBarDivider theme attribute. Similar to actionBarItemBackground\nabove, this allows apps to maintain proper contrast when the bar has a\ndifferent contrast profile than the rest of the activity.\n\nFix bug 5154778 - Theme.Holo.Light.DarkActionBar in themes.xml and\nsearch_bar.xml are still referencing the deprecated title_bar_shadow\nwhen we should be pointing to ab_solid_shadow_holo\n\nChange-Id: I5ef0084de28a7c2d2fa02ae1752884feab0f8523\n"
    },
    {
      "commit": "9092b6d52256ccf30580f50304ceaf0dc181951f",
      "tree": "05c3e9ad5fd503fdd56446f58a78db3f789ca2cf",
      "parents": [
        "f43f4e1a4ef48314c02a544c56c54864306721e1",
        "267a2ec0402470f46079ae2d9d5059e2bb67453a"
      ],
      "author": {
        "name": "Debashish Chatterjee",
        "email": "debashishc@google.com",
        "time": "Thu Aug 11 12:19:01 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 11 12:19:01 2011 -0700"
      },
      "message": "Merge \"Added FETCH_VOICEMAIL intent definition in VoicemailContract.\""
    },
    {
      "commit": "e09cd7914c117e84bf78676d0e760c51aa147eb8",
      "tree": "c1fed3807d19183ea4208c99519ef4c41f89eede",
      "parents": [
        "1060dd20dc27533311198c335a0cd94053a867e7",
        "f9abb405903cab1fcd379388a96925524840c607"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Aug 11 11:35:07 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 11 11:35:07 2011 -0700"
      },
      "message": "Merge \"New broadcast telling when an app is fully removed.\""
    },
    {
      "commit": "267a2ec0402470f46079ae2d9d5059e2bb67453a",
      "tree": "3d6555226ac0b413926436a713ab0d7331cd6393",
      "parents": [
        "08633c79164c8ab7362d6af1cf9ab576916fa7e0"
      ],
      "author": {
        "name": "Debashish Chatterjee",
        "email": "debashishc@google.com",
        "time": "Thu Aug 11 17:05:36 2011 +0100"
      },
      "committer": {
        "name": "Debashish Chatterjee",
        "email": "debashishc@google.com",
        "time": "Thu Aug 11 18:07:25 2011 +0100"
      },
      "message": "Added FETCH_VOICEMAIL intent definition in VoicemailContract.\n\nContent provider does not directly use this intent. But it is fired by\nthe contacts app to request the voicemail source to fetch voicemail\naudio of a single voicemail message.\n\nThe constant needs to live in the contracts file to serve as a common\ndefinition between contacts and voicemail source apps.\n\nBug: 5114261\nChange-Id: Ibf7b2a4c871d3561d2ca50d03f8182352fadd3ab\n"
    },
    {
      "commit": "ac0a0d06c2cf74215a8552250dcb3788b19becf7",
      "tree": "bc65c0584a1a52b942c9698d4af90027401c256b",
      "parents": [
        "cd1420b03dfc3aba95283d2cd9d47a81e8c49e10",
        "d0d85f26cb7287c63adf95bace098bc1af3fe4e8"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Wed Aug 10 17:42:45 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 10 17:42:45 2011 -0700"
      },
      "message": "Merge \"Unhide APIs for user space VPN.\""
    },
    {
      "commit": "f9abb405903cab1fcd379388a96925524840c607",
      "tree": "4c6caa42e95b0da5462f948f1380bba1c905a30a",
      "parents": [
        "458a57210930dd3d95fdcb2ab7dffdfd434a12cf"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 10 15:00:59 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 10 17:15:17 2011 -0700"
      },
      "message": "New broadcast telling when an app is fully removed.\n\nChange-Id: Ia516d826f302a01881fa92d9ffdc0adfbf669a4b\n"
    },
    {
      "commit": "4519ff6aa35b82e4d401f8af92257ffd4b176bd5",
      "tree": "85d2b4bf79f14e00dba62dc4d447f68352e87b1c",
      "parents": [
        "5585c08cd3513e2f3a1afa563cbd807da7a247e3"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Wed Aug 10 15:42:11 2011 -0700"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Wed Aug 10 16:20:25 2011 -0700"
      },
      "message": "Add PendingIntent extra for WEB_SEARCH intents\n\nThis allos apps (e.g. browsers) that launch web searches\nto control how the search results page is opened. For example,\nthe Android Browser will use this to make sure that searches\ntyped in the browser address bar open in the Andorid Browser,\nand not somewhere else.\n\nBug: 4988580\nChange-Id: I4665c9812ca8d704adbaea22a3812188bb48d1d2\n"
    },
    {
      "commit": "fd545de7cd43d6335eb3e44df36336728a8e1e4c",
      "tree": "da2cbb8d297019496de2836219a2876f8bd5e885",
      "parents": [
        "6829bf4b4b883e01f85e3784dbd1f0f81a71469e",
        "271c2fe0eb36fbf872535bedf3ee8156e3087847"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 10 12:34:21 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 10 12:34:21 2011 -0700"
      },
      "message": "Merge \"New extended Intent protcols for installing/uninstalling apps.\""
    },
    {
      "commit": "271c2fe0eb36fbf872535bedf3ee8156e3087847",
      "tree": "0ba58f33bbcbcf2a5420fa570e8f4aff0b702489",
      "parents": [
        "43321684393fbb92b306aeee1f5337db1904e569"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 09 19:35:13 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 10 12:22:11 2011 -0700"
      },
      "message": "New extended Intent protcols for installing/uninstalling apps.\n\nChange-Id: I13be1cc58c91f51d521a1f0f734d2b2db7b2980b\n"
    },
    {
      "commit": "aba367eea4792a1d3778061181e3a38e188f4f06",
      "tree": "70d0f3f282127ffae8f5c2b987a18ca047d4dc2e",
      "parents": [
        "5414a1673aab5876e4e80c746f8166d2b975b998",
        "c0c683b3344c67700882f8059e7d18266366daa9"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Aug 10 02:55:29 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 10 02:55:29 2011 -0700"
      },
      "message": "Merge \"Unhide camera face detection API.\""
    },
    {
      "commit": "7ad291a5e7bc430955dccc496dbfcade040a6535",
      "tree": "2a987d641f4ab4b6f4d1199ff796e305a550b4d3",
      "parents": [
        "8cceb1e42b76aabcd6c27cfe599f7cd251a84947",
        "8d32a01bd24b8a0d1a98f0581b3394a78fab8242"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Tue Aug 09 22:27:22 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 09 22:27:22 2011 -0700"
      },
      "message": "Merge \"Add NFC to airplane mode\""
    },
    {
      "commit": "37cc31c6040cf1b304e947eb0fe2d0341a909890",
      "tree": "14a3690cf1c9ae3956e65d1a7a91dd602cb2c083",
      "parents": [
        "8f28f6690b4555f4908576147c7a1c089d52885d",
        "402f05530352f34d5320c2d23be43c274d97c4e2"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Aug 09 20:23:22 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 09 20:23:22 2011 -0700"
      },
      "message": "Merge \"Add a return value for SurfaceTextureListener#onSurfaceTextureDestroyed.\""
    },
    {
      "commit": "402f05530352f34d5320c2d23be43c274d97c4e2",
      "tree": "f16fff92ad3dead45679fff4ee4c7c3fdb5888bb",
      "parents": [
        "5229f7f2266c25f976070e0c2007e425010152ff"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Tue Aug 09 18:47:17 2011 -0700"
      },
      "committer": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Tue Aug 09 18:47:17 2011 -0700"
      },
      "message": "Add a return value for SurfaceTextureListener#onSurfaceTextureDestroyed.\n\nIf returns true, the SurfaceTexture will be released by TextureView.\nIf returns false, the client needs to release the SurfaceTexture.\n\nChange-Id: I946f71e337ad4170c168854ac27e028b82489c8c\n"
    },
    {
      "commit": "c0c683b3344c67700882f8059e7d18266366daa9",
      "tree": "cc3f0d4982b5b0631c0b345c482a5803fa5300dc",
      "parents": [
        "50d3c667eb71c3b7b180745aa46741a7d44b2200"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Aug 04 00:11:00 2011 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Aug 10 08:45:26 2011 +0800"
      },
      "message": "Unhide camera face detection API.\n\nbug:4460717\nChange-Id: I8d72b0ada370acd6267c47deb654bb4bf1cfb538\n"
    },
    {
      "commit": "dd93a7923c90001b80f1d5fc9ca133fe5852ff9f",
      "tree": "80dc4316798fff47224c0a6c97b715267bbae733",
      "parents": [
        "1862ee7104a53fdc531e95e46cd78973218c0e10",
        "5607a3827172ff40196380d846128e892bedc118"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Aug 09 16:37:53 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 09 16:37:53 2011 -0700"
      },
      "message": "Merge \"Added methods to change text entry mode in SearchView.\""
    },
    {
      "commit": "8d32a01bd24b8a0d1a98f0581b3394a78fab8242",
      "tree": "f1684fadc90c4701943f98d57f6997ed4fefd7e2",
      "parents": [
        "a4418e0fd94f27c0b40abe17d42af0880cb3effb"
      ],
      "author": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Tue Aug 09 07:03:49 2011 -0700"
      },
      "committer": {
        "name": "Nick Pelly",
        "email": "npelly@google.com",
        "time": "Tue Aug 09 16:31:46 2011 -0700"
      },
      "message": "Add NFC to airplane mode\n\nNFC now observes airplanes mode, and is by default toggleable in airplane mode.\n\nChange-Id: I5f19d35422c9eb1cffb0b5e0631b3f3c5eeaedcf\n"
    },
    {
      "commit": "5607a3827172ff40196380d846128e892bedc118",
      "tree": "52639f2db6b8ef7d2c5659dc975fbe40507bf4dd",
      "parents": [
        "95b0292fb4e27a9dc273884be60dad8523b8bd7a"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Aug 09 14:16:37 2011 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Aug 09 15:16:08 2011 -0700"
      },
      "message": "Added methods to change text entry mode in SearchView.\n\nBug: 5143618\n\nHandle imeOptions and inputType attributes in SearchableInfo.\nMethods to directly modify those attributes on SearchView.\n\nChange-Id: I340617767f930ecb1b1ad5ab2696bc613982a20b\n"
    },
    {
      "commit": "82f006f672d3562aef9a36a44fbd76b8a7e3aae5",
      "tree": "cb6a8e5d328144af24e1051aa2c468ef4eb645b7",
      "parents": [
        "541d8ea32dbc9b2ca931fae98d2150d197d4b34c",
        "1c40013bb2afbd76050ac681d7880476aa7fc70d"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Aug 09 14:01:09 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 09 14:01:09 2011 -0700"
      },
      "message": "Merge \"Add progress to Notification.Builder.\""
    },
    {
      "commit": "1c40013bb2afbd76050ac681d7880476aa7fc70d",
      "tree": "7c30f521b6c245dff2f47a3e23fea12176526e23",
      "parents": [
        "fe313490fb64746d4042934f77ac19d8d00d6a25"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Aug 05 14:50:13 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Aug 09 11:19:32 2011 -0700"
      },
      "message": "Add progress to Notification.Builder.\n\nProvide method to surface progress when building a notification. Also\nmanages visibility of various items, including hiding the entire line\nwhen unneeded.\n\nBug: 4022082, 3399877\nChange-Id: I90d8fca383c746001aadc6c5f21c68a23bb937e5\n"
    },
    {
      "commit": "08a907149ede244f1ca587b99542744e0260099d",
      "tree": "5318783c97595b8020de45120b7e9fd13e402492",
      "parents": [
        "50d3c667eb71c3b7b180745aa46741a7d44b2200",
        "9c53f1c33a433c1e9bd84a26d57e0e99f616fa24"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Aug 09 02:54:07 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 09 02:54:07 2011 -0700"
      },
      "message": "Merge \"Unhide camera recording hint API.\""
    },
    {
      "commit": "d0d85f26cb7287c63adf95bace098bc1af3fe4e8",
      "tree": "a43d8db5ca952a0da3095a1cff0a22bc95308533",
      "parents": [
        "89c95a0da87fc85a86a7341f60decf7e50609a18"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Mon Aug 08 18:26:28 2011 -0700"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Mon Aug 08 18:26:28 2011 -0700"
      },
      "message": "Unhide APIs for user space VPN.\n\nChange-Id: I6f9ddb3fffe9e10cc2d34dda3ae8700b1af7e470\n"
    },
    {
      "commit": "8b699792b677bd4dd8442b32641ac09d48fdd79c",
      "tree": "eaf1e380f6bb3b430ed524f7c6d7f8f95c498d92",
      "parents": [
        "beb46417831af257ec80f29e9a68b92cf34c1e97"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Fri Aug 05 15:20:19 2011 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Mon Aug 08 15:05:53 2011 -0700"
      },
      "message": "Fix cancellation of AnimatorSet when child animation has delay\n\nPreviously, AnimatorSet incorrectly checked whether child animations were\n\u0027running\u0027 to figure out what to cancel. If a child animation was started, but\nsitting in a startDelay phase, it was not \u0027running\u0027, so the right cancel/end\nevents would not propagate.\n\nThe fix is to add a new isStarted() API to Animator, which returns true when\nthe animator has started (but not yet ended), regardless of whether the animator\nhas a startDelay or not. It\u0027s basically a superset of the existing isRunning()\nmethod, which only returns true when an animator has actually started setting values.\n\nChange-Id: I126814cb6637b58295b6d18d9b155235671f99be\n"
    },
    {
      "commit": "03b2ea1102d9e3e9f189173878706ab04533eea3",
      "tree": "af4cb040c8fda99e7993b53c3acc412ce1ff23ca",
      "parents": [
        "7d608423b721e0153f37bfd5eba78fcd2489562d"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Aug 03 17:36:14 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Mon Aug 08 19:29:26 2011 +0900"
      },
      "message": "Support xml configuration file for the spell checker and add the spell checker subtype\n\nChange-Id: I74715855525fc0a1282238d593ad37aefd42bfc3\n"
    },
    {
      "commit": "b437e090ec03a2bab10bdfcb9484577a7f34e157",
      "tree": "86424e259db63fb8c7780a433b2eb808950fbc49",
      "parents": [
        "284585aa835096111c7129b330f458b75ed27a8d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 05 17:50:29 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 05 18:18:05 2011 -0700"
      },
      "message": "Improved memory use reporting.\n\nChange-Id: I38e53e6228bba92a142bafeedb5af8df4e4e5724\n"
    },
    {
      "commit": "0dc8bb25d21963528bfd0fc05ccbc01663b9fc5a",
      "tree": "e780344a249f885f330809f459d12ed17117d453",
      "parents": [
        "bd391ba1f24409d889d3fb84651f8c81edcd659e",
        "5357806980269d846a15c845a6fcc0384fb18860"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Aug 05 03:59:06 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 05 03:59:06 2011 -0700"
      },
      "message": "Merge \"API cleanup for the spell checker framework\""
    },
    {
      "commit": "e53eba0470b7578def756cd22952d447776ba141",
      "tree": "177a9336b13f54368a029f41523cb5de3756d276",
      "parents": [
        "09f6d67f37d77853dd19fde79523edc524c7c9cd"
      ],
      "author": {
        "name": "Debashish Chatterjee",
        "email": "debashishc@google.com",
        "time": "Thu Aug 04 14:12:58 2011 +0100"
      },
      "committer": {
        "name": "Debashish Chatterjee",
        "email": "debashishc@google.com",
        "time": "Thu Aug 04 15:49:04 2011 +0100"
      },
      "message": "Removed permission READ_WRITE_OWN_VOICEMAIL from framework/base.\n\nThis permission has now been replaced by ADD_VOICEMAIL.\n\nBug: 5098551\nChange-Id: Idc993f1674a66f0df3ec699ed14b2e5cfedfe3e8\n"
    },
    {
      "commit": "5357806980269d846a15c845a6fcc0384fb18860",
      "tree": "4f6f4f976347d59d92bec50072fe7f5dd5c25d4d",
      "parents": [
        "cf27a3ecc6782b6c86f720b1df2459a160fde81a"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Aug 03 16:08:59 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Aug 04 12:53:56 2011 +0900"
      },
      "message": "API cleanup for the spell checker framework\n\nBug: 5110151\n\n- Add a bundle to an argment of newSpellCheckerSession\n- Expose SpellCheckerSessionImpl in SpellCheckerService\n- Fix function names\n- etc\n\nChange-Id: Ia8ec783b7b4d5fcd18389854b445fc10fc502297\n"
    },
    {
      "commit": "452f035c31620499563dc9135926f9a6b4d15cae",
      "tree": "8931881be9f080761ad3283286f9a5ce1b73a507",
      "parents": [
        "a164690a3417c81ee55890079fa75432db82bfdd",
        "ec46b4e1ca89d7c3a9ad70ded58da08b5e19f08f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 03 18:12:36 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 03 18:12:36 2011 -0700"
      },
      "message": "Merge changes I689cb0c0,I09603218\n\n* changes:\n  Add a \u0027release\u0027 method to the SurfaceTexture public Java API\n  Mark Window-Manager-specific APIs on android.view.Surface as @hide\n"
    },
    {
      "commit": "ec46b4e1ca89d7c3a9ad70ded58da08b5e19f08f",
      "tree": "c7c9577687a4ce4ec5949f25d029df392b747c8b",
      "parents": [
        "b923066deeffbbaad14a117bd56259bd6ee20a08"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 03 15:18:36 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 03 17:23:44 2011 -0700"
      },
      "message": "Add a \u0027release\u0027 method to the SurfaceTexture public Java API\n\nBug: 5063618\nChange-Id: I689cb0c01c14e597ccfb4eb0972e64fa570bd4e8\n"
    },
    {
      "commit": "e28cde6253f28c47d1ddf48a937426cd38ab36d8",
      "tree": "37f38945f4c8d56003b6b0f2d374336481407fdb",
      "parents": [
        "01704e76fa52805f6e739fc0d8e63f403e74bfa8",
        "d31d3887bbd8d7290a71737a108a11d9eea5bea3"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Aug 03 17:16:02 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 03 17:16:02 2011 -0700"
      },
      "message": "Merge \"Added Device Default Themes.\""
    },
    {
      "commit": "a841e524013c4bff360f2280cb5d2fbb1895d043",
      "tree": "9d5b4f899cfab8b0b329d20cecae52ee3d570cd4",
      "parents": [
        "1824a62bc1250fce5b575d19d4f4f8a32bc9ec05",
        "f0ceede8fff5df24e5c98701d81c2b71eb138aa9"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Aug 03 17:05:21 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 03 17:05:21 2011 -0700"
      },
      "message": "Merge \"Expose quota status for active network.\""
    },
    {
      "commit": "d31d3887bbd8d7290a71737a108a11d9eea5bea3",
      "tree": "6d8bd1d4176d1d7ddda1bda556302d9d4cc1882f",
      "parents": [
        "eba69ac07085089194b4a1403f6b698605adf417"
      ],
      "author": {
        "name": "Andrew Sapperstein",
        "email": "asapperstein@google.com",
        "time": "Tue Jul 26 18:21:07 2011 -0700"
      },
      "committer": {
        "name": "Andrew Sapperstein",
        "email": "asapperstein@google.com",
        "time": "Wed Aug 03 17:02:01 2011 -0700"
      },
      "message": "Added Device Default Themes.\n\nNow we have device default themes that OEMs\ncan change without affecting the Holo theme\nor its derivatives. Additionally, the device\ndefault themes point to device default styles\nthat have stubs (while inheriting from their\nholo analogs).\n\nChange-Id: I91f4a828eca1ba4da1d5b073dd04a34e52534aa4\n"
    },
    {
      "commit": "b923066deeffbbaad14a117bd56259bd6ee20a08",
      "tree": "5badb63d1c8b81b0b552732a9fa360d4f73db457",
      "parents": [
        "045d179ff6568eaa30f66801e10fd888e2da0f9d"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 03 14:44:48 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 03 14:44:48 2011 -0700"
      },
      "message": "Mark Window-Manager-specific APIs on android.view.Surface as @hide\n\nBug: 5063337\nChange-Id: I096032186acfc6b6a032636188e4d44907e46233\n"
    },
    {
      "commit": "9c53f1c33a433c1e9bd84a26d57e0e99f616fa24",
      "tree": "9527cce036ede04d8cf9bc3d68f2e2f76cc0d652",
      "parents": [
        "bb1e275c0e684dd213f124da77110cdd9d6f090c"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Aug 02 17:26:58 2011 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Aug 03 23:39:07 2011 +0800"
      },
      "message": "Unhide camera recording hint API.\n\nbug:4266229\nChange-Id: Ic9014e521e22a3940b9c2068ce38783f52d2ac31\n"
    },
    {
      "commit": "3f76ca47e22a32fa6445120b29891ee4a64a89d0",
      "tree": "09e6df03b73c69e7aa7423a996ebd0b0a5bd5b98",
      "parents": [
        "c66009169622ecdb65d887987feaf91fff091af8",
        "766839cb6f2aac8c802ec1de9f3cc12fcb9eabad"
      ],
      "author": {
        "name": "Debashish Chatterjee",
        "email": "debashishc@google.com",
        "time": "Wed Aug 03 06:06:30 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 03 06:06:30 2011 -0700"
      },
      "message": "Merge \"Step1 of renaming READ_WRITE_OWN_VOICEMAIL to ADD_VOICEMAILS.\""
    },
    {
      "commit": "766839cb6f2aac8c802ec1de9f3cc12fcb9eabad",
      "tree": "0e22f683c847dbdf29011421405da7e849951a98",
      "parents": [
        "f4461fc5a62658f5d150ca0ef2c135aef1236554"
      ],
      "author": {
        "name": "Debashish Chatterjee",
        "email": "debashishc@google.com",
        "time": "Tue Aug 02 19:25:50 2011 +0100"
      },
      "committer": {
        "name": "Debashish Chatterjee",
        "email": "debashishc@google.com",
        "time": "Wed Aug 03 10:48:58 2011 +0100"
      },
      "message": "Step1 of renaming READ_WRITE_OWN_VOICEMAIL to ADD_VOICEMAILS.\n\nREAD_WRITE_OWN_VOICEMAIL sounds a confusing name. Dianne recommened to\nrename it to ADD_VOICEMAILS as this simply allows 3rd party apps to add\nnew voicemails to the system. The fact that we allow the app to acces\nonly its own voicemail is implicit and need not be highlighted in the\npermission name. See bug: 5098551 for more details\n\nThis CL implements the 1st step of this change by adding the permission\nADD_VOICEMAILS. A follow up CL will remove READ_WRITE_OWN_VOICEMAIL once\ncontent provider and contacts app have been modified to start using the\nnew ADD_VOICEMAILS permission instead.\n\nBug: 5098551\nChange-Id: I515e7967bdb0e8498a60a32983f9122ce10dcc4a\n"
    },
    {
      "commit": "c66009169622ecdb65d887987feaf91fff091af8",
      "tree": "a3333335e927400575dc7b05908399b68466bfe1",
      "parents": [
        "f4461fc5a62658f5d150ca0ef2c135aef1236554"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Aug 03 18:44:54 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Aug 03 18:46:18 2011 +0900"
      },
      "message": "Rename API name \"RESULT_ATTR_LOOKS_TYPO\"\n\nChange-Id: I42ab73513de20ea9a39af734b358094269ca7fe4\n"
    },
    {
      "commit": "f0ceede8fff5df24e5c98701d81c2b71eb138aa9",
      "tree": "67dc2c9f7a5eaf3b6f5cb5a5fe4dbfb8854dac0b",
      "parents": [
        "34e1fb1ee229a7e033dcd42f4efd194e1614d5ce"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Aug 02 17:22:34 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Aug 02 18:19:54 2011 -0700"
      },
      "message": "Expose quota status for active network.\n\nCreate API to expose quota status derived from underlying network\npolicy.  This is designed to support applications making informed\ndecisions when performing network requests.\n\nFix bug with random stats generation, and write policy when changing\nrestrict background data flag.  Deprecate EXTRA_NETWORK_INFO, since\nit varies based on UID.\n\nBug: 4517283, 5088603\nChange-Id: Ic6893a8967f69937e466be226ba7bb86ef5a5d2d\n"
    },
    {
      "commit": "269248d112e35fe8e9f0d5d11c96dcb2ac1118b0",
      "tree": "05bf3571008565ac1a2c0506c24b85043609a449",
      "parents": [
        "e10bcdb37cad965ea60da3f9d413d7645b3ae75a"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Aug 02 10:26:54 2011 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Aug 02 17:58:24 2011 -0700"
      },
      "message": "Fix bug 5098288 - Rethink the suite of new themes\n\nCut down the list of new themes for ICS. Holo apps now have\nTheme.Holo, Theme.Holo.Light, and Theme.Holo.Light.DarkActionBar to\nchoose from.\n\nAdd manifest attribute android:uiOptions to express\nsplitActionBarWhenNarrow. Other options may move into this later as\nwell. (DialogWhenLarge?) This attribute is valid on both activity and\napplication tags; application settings will serve as the default for\nactivities that do not explicitly set uiOptions.\n\nuiOptions are not currently reflected in the startup window for new\nactivities.\n\nChange-Id: Iffdc2ce4cc69f79c9bd4e541b7923286e6936c1e\n"
    },
    {
      "commit": "e10bcdb37cad965ea60da3f9d413d7645b3ae75a",
      "tree": "250cf55021b982747b0b50c30271b51291cfa94d",
      "parents": [
        "666742c7cff73a48ac9e0f1ae355f3a815edb5c9",
        "899d5922870c78e0e663bc5661849eb468afc984"
      ],
      "author": {
        "name": "Philip Milne",
        "email": "pmilne@google.com",
        "time": "Tue Aug 02 16:22:26 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 02 16:22:26 2011 -0700"
      },
      "message": "Merge \"Fix for http://b/issue?id\u003d5081478\""
    },
    {
      "commit": "899d5922870c78e0e663bc5661849eb468afc984",
      "tree": "1c8a6ac2a71c4431fc3e3b55d2e94592a356050f",
      "parents": [
        "5c31583c53ca7308f4ee74c6edc7c7ff19809cce"
      ],
      "author": {
        "name": "Philip Milne",
        "email": "pmilne@google.com",
        "time": "Thu Jul 21 11:39:37 2011 -0700"
      },
      "committer": {
        "name": "Philip Milne",
        "email": "pmilne@google.com",
        "time": "Tue Aug 02 16:01:28 2011 -0700"
      },
      "message": "Fix for http://b/issue?id\u003d5081478\n\nGridLayout needs to call measure on children after it knows how large children should be\n\nAlso:\n\n. Remove deprecated methods and XML attributes.\n. Stop Spaces having margins by default.\n. Remove getSpacers() and findUsed()\n. Change default for row/columnOrderPreserved() from false to true.\n. Improve automatic index allocation mechanism to use individual maxima.\n\nChange-Id: Id79fbb2e70a0bf2002191ec2a9746547d896de72\n"
    },
    {
      "commit": "e2048cc73f5705c197382c4f828bfe72ccfb72b0",
      "tree": "29583b914cb09e3546ff42256656ace3128bb791",
      "parents": [
        "78a29c9fde5debc4abe3b0f093d35ddfcae60565",
        "978f712f3712c25c80279650c2921d8a58abec07"
      ],
      "author": {
        "name": "Hugo Hudson",
        "email": "hugohudson@google.com",
        "time": "Tue Aug 02 10:55:13 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 02 10:55:13 2011 -0700"
      },
      "message": "Merge \"Add OpenableColumns to the Voicemail table.\""
    },
    {
      "commit": "aafd955fa8f5c31c511763c0f826b6d7acf15b9c",
      "tree": "369d1f187c6a5d8226f57dadb949d4fbf778fe61",
      "parents": [
        "1164d776c612a33bc5e54262589490fb1d2c257d"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue Aug 02 15:24:00 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue Aug 02 16:04:39 2011 +0900"
      },
      "message": "Move SpellCheckerSession\n\nSpellCheckerSession should be in android.view.textservice because this class will be used directly by users.\n\nChange-Id: I0df6d7958adda421312b5f641ac4459ca4739cc9\n"
    },
    {
      "commit": "ba39839444532af0ed3766f736582413f6d7a40b",
      "tree": "38f89252a63a327f9c9861ceea2b4e3849af28d2",
      "parents": [
        "2a2ec87b55d423ae91385d4e9f51725154b7a272"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 01 16:11:57 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 01 17:55:54 2011 -0700"
      },
      "message": "Move ImageWallpaper to SystemUI process.\n\nNice to not load 4MB bitmaps in the system process.\n\nAlso, hey, with how we are now scrolling the surface instead of\nthe bitmap, there is no reason to keep that 4MB bitmap loaded in\nto memory.  So don\u0027t.\n\nUnfortunately it looks like for some reason the VM is still\nholding on to the bitmap.  I\u0027ll need to figure out why.  Later.\n\nChange-Id: Ib3503756144502fc5c8d5e294248c2417c4fe8c8\n"
    },
    {
      "commit": "b1eaf8f5527a7d587cf1e3feedd9638ea8370d18",
      "tree": "441ac627d7bba6d861245fb7a95555f51191112f",
      "parents": [
        "34e1fb1ee229a7e033dcd42f4efd194e1614d5ce",
        "f0f5fffc6f578f531df7b208cfbfb53f884c0380"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Aug 01 17:20:06 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 01 17:20:06 2011 -0700"
      },
      "message": "Merge \"Fix bug 5090996 - Crash on tapping Menu on dial pad\""
    },
    {
      "commit": "d20482de2f8fb0045c69c7065221923a72d13303",
      "tree": "fdb7603fa7d35f4472b88fbd34cd63c58e29a674",
      "parents": [
        "de7c93948fd3d31b7cfbe6c32f3fcd6986484445",
        "a63ba59260cd1bb3f5c16e395ace45a61f1d4461"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Aug 01 16:33:50 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 01 16:33:50 2011 -0700"
      },
      "message": "Merge \"Add operation counts to network statistics.\""
    },
    {
      "commit": "f0f5fffc6f578f531df7b208cfbfb53f884c0380",
      "tree": "9709fcd2717a99e7cd9481fd09daa6a505030731",
      "parents": [
        "7702a5934454bd1665b4c0e5c1e6a805175dcb9c"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Aug 01 13:42:50 2011 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Aug 01 15:55:16 2011 -0700"
      },
      "message": "Fix bug 5090996 - Crash on tapping Menu on dial pad\n\nLet the FragmentManager handle deferring menu invalidation when\nnot currently resumed.\n\nChange-Id: I6e5de9c8ab5288c7c90a59ce8e0c7bb9133b6eb5\n"
    },
    {
      "commit": "e1538f05587386bbba8dac0b4b4a6c1059947429",
      "tree": "7a17c9c2e6d5bb030b42a4893fb2327f93082624",
      "parents": [
        "5c31583c53ca7308f4ee74c6edc7c7ff19809cce"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Mon Aug 01 14:06:29 2011 -0700"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Mon Aug 01 14:06:58 2011 -0700"
      },
      "message": "Revert \"Unhide APIs for user space VPN.\"\n\nThis reverts commit 3c2529c717cda3df321c1d0d6abe23ac1f298ac9.\n\nChange-Id: I37d4ea6c1079d337ede7ac567d88414a41fc1e11\n"
    },
    {
      "commit": "24a12104fd09ad8658b8d8af1f8efce4ec1c6701",
      "tree": "5a925fa0544bd78cb0dc0670501ca9dc260c5bff",
      "parents": [
        "1a7b1158c5c2566808c39638d54cae624bd2a361"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jul 29 15:52:05 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 01 11:25:53 2011 -0700"
      },
      "message": "Hide permissions that are not available to apps.\n\nChange-Id: I5f3bc72114b780fffe218a5600bfd011ede029d3\n"
    },
    {
      "commit": "978f712f3712c25c80279650c2921d8a58abec07",
      "tree": "991aa2f2ac0ce880078dcf9e965d0343f236fee7",
      "parents": [
        "e8f1cbae4400e8b046b405f205dffe0417826fb3"
      ],
      "author": {
        "name": "Hugo Hudson",
        "email": "hugohudson@google.com",
        "time": "Mon Aug 01 13:44:54 2011 +0100"
      },
      "committer": {
        "name": "Hugo Hudson",
        "email": "hugohudson@google.com",
        "time": "Mon Aug 01 16:22:37 2011 +0100"
      },
      "message": "Add OpenableColumns to the Voicemail table.\n\nBug: 5066115\nChange-Id: I0f7c142fe1244c91a32cc534e258d78a2ce1fa45\n"
    },
    {
      "commit": "a63ba59260cd1bb3f5c16e395ace45a61f1d4461",
      "tree": "f70f8270c45744686c1c6741f39340c0cb644dd3",
      "parents": [
        "1e833b31ee04c35b5a3494db1acb0068350d8391"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jul 19 23:47:12 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Jul 29 22:24:01 2011 -0700"
      },
      "message": "Add operation counts to network statistics.\n\nProvide API to increment \"operation counts\" for a UID and tag, used\nto eventually derive bytes/operation stats.  Internally is stored at\nnetwork layer, but should belong at data layer.  Switch profiling\nto use data layer stats, which are emulated by summarizing network\nlayer details.\n\nRead packet counts from new /proc/ columns and collect them into\nNetworkStatsHistory.  Prevent double-counting by ignoring values from\nfirst snapshot.  Watch for duplicate /proc/ entries.  Update tests\nto verify packet and operation counters.\n\nBug: 5052136, 5097392\nChange-Id: I1832f65a2b8a9188f8088f253474a667c21a2f09\n"
    },
    {
      "commit": "a92e5a8a7c69d0c7eec7f46213361d97dbc43077",
      "tree": "5d313583a5258c4a313a9bb8c7893123fd415ca1",
      "parents": [
        "abecca9c60cecf03f308c85969b92fd43852bf43"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Fri Jul 29 17:03:19 2011 -0400"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Fri Jul 29 17:03:19 2011 -0400"
      },
      "message": "Restore the \u0027final\u0027 bit on DataInputStream.read()\n\nThis was lost in a recent refactoring.\n\nChange-Id: I31bc9cd5c4015135c4074d9b564edf5a9cc2ecd5\n"
    },
    {
      "commit": "bb96bf6e479e00064b287c952a72362a2ee4cb4e",
      "tree": "7b7ae7de38cedd83044ff622b1661f59a6e83e53",
      "parents": [
        "f4fd53b381d794af77dc887454032ed5f299a22e",
        "c68c913d357e2955d4bd7ca52829071e531c7825"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jul 29 10:43:26 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 29 10:43:26 2011 -0700"
      },
      "message": "Merge \"Various work on out of memory managment.\""
    },
    {
      "commit": "53f2531ba7bc72489d03fd17b6ce29c811fad8b5",
      "tree": "0883feda546ae55f3a303b57d3b17f3a7b718aaa",
      "parents": [
        "cdbb950afe76020d28b4d94f82f6236438925278",
        "60ee25643e0a7b8841063a4e97b0f18c51807e91"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Fri Jul 29 05:45:55 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 29 05:45:55 2011 -0700"
      },
      "message": "Merge \"The fullest of fullscreen modes.\""
    },
    {
      "commit": "c68c913d357e2955d4bd7ca52829071e531c7825",
      "tree": "764dddf699a1db5e44d74e94e3f354b9ed61ff71",
      "parents": [
        "3970f6833d3c19f96cc7b6831327c8488932fa57"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jul 29 01:25:18 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jul 29 02:06:46 2011 -0700"
      },
      "message": "Various work on out of memory managment.\n\n- Improve how we handle processes that have shown UI, to take care\n  of more cases where we want to push them into the background LRU\n  list.\n- New trim memory level for when an application that has done UI\n  is no longer visible to the user.\n- Add APIs to get new trim memory callback.\n- Add a host of new bind flags to tweak how the system will adjust\n  the OOM level of the target process.\n\nChange-Id: I23ba354112f411a9f8773a67426b4dff85fa2439\n"
    },
    {
      "commit": "c9c4c2dad6a9a438fe4d94c05d6ee1239bcc0914",
      "tree": "df96fef5146747b645f26ccec499be7a7e8b4ded",
      "parents": [
        "491345b80bc13d33c871eee2c6f238fc713dc1eb",
        "2148d43eb23c702e834c93ae427f822f32d280a2"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Thu Jul 28 15:36:19 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 28 15:36:19 2011 -0700"
      },
      "message": "Merge \"Fixing widget notifyDataSetChanged() not getting called, issue 5092676\""
    },
    {
      "commit": "2148d43eb23c702e834c93ae427f822f32d280a2",
      "tree": "d4ea0936890a0b56db11a427030a8bd6a80b462c",
      "parents": [
        "6c71b63dc64d35d62a7e0bc3bed4e207ed7cf8b4"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Thu Jul 28 14:59:54 2011 -0700"
      },
      "committer": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Thu Jul 28 15:00:38 2011 -0700"
      },
      "message": "Fixing widget notifyDataSetChanged() not getting called, issue 5092676\n\nChange-Id: I61a034a77c0c9d07aba71bfabe7a0864ce92c2e9\n"
    },
    {
      "commit": "60ee25643e0a7b8841063a4e97b0f18c51807e91",
      "tree": "f950442b0657ea89b9e4fb93361a612dd36dab29",
      "parents": [
        "2043b01b207aae3458da395bc6d501d76e59425c"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Fri Jul 22 12:34:33 2011 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Thu Jul 28 15:18:32 2011 -0400"
      },
      "message": "The fullest of fullscreen modes.\n\nView.setSystemUiVisibility() now properly accepts a\nbitfield, including:\n\n  * SYSTEM_UI_FLAG_LOW_PROFILE: \"lights out mode\"\n    (previously known, erroneously, as STATUS_BAR_HIDDEN)\n\n  * SYSTEM_UI_FLAG_HIDE_NAVIGATION: for when you need every\n    single pixel on a device that also has a navigation bar\n\nThese flags are painstakingly aggregated across the entire\nview hierarchy and carefully delivered to the status bar\nservice, which in turn gently passes them along to the bar\nimplementation.\n\nTo really get access to the whole screen, you need to use\nHIDE_NAVIGATION in conjunction with FLAG_FULLSCREEN and\nFLAG_LAYOUT_IN_SCREEN. See development/samples/Overscan for\nan example of how to do this.\n\nChange-Id: I5fbfe009d9ceebbbf71db73f14a7008ea7c1d4da\n"
    },
    {
      "commit": "7c8d19d53cd48b6c748365aa6393eab2e9f09641",
      "tree": "d1c8eacb4cbbfb263a6ae0e8ad8e936acc2348d2",
      "parents": [
        "a7ffaee29892cc38ae2327017b6670adafef711b",
        "88ab69780f58e4b32d497266b2ad646a4d74827b"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Jul 28 11:58:21 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 28 11:58:21 2011 -0700"
      },
      "message": "Merge \"Fix bug 5087752 - Maintain correct contrast against action bars in inverse-bar themes\""
    },
    {
      "commit": "88ab69780f58e4b32d497266b2ad646a4d74827b",
      "tree": "d36e0e71b965baf33f4f515310d4fbe24c5294a4",
      "parents": [
        "b03c4af05ea367d7d9f792403ac7235be562aa5e"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Jul 28 11:25:01 2011 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Jul 28 11:44:41 2011 -0700"
      },
      "message": "Fix bug 5087752 - Maintain correct contrast against action bars in\ninverse-bar themes\n\nAdd the actionBarWidgetTheme theme attribute. This lets a theme\nspecify a wrapper theme that can be used to create views that will\nend up in the action bar so that the rest of the code can ignore\ndifferences in contrast. (e.g. the inverse action bar themes.)\n\nApps can use ActionBar#getThemedContext() to obtain a Context with a\nproper theme for views that will end up in the action\nbar. MenuInflaters generated by Activities will automatically use this\nto properly theme inflated action views.\n\nChange-Id: Ib28c82bf47c25d446cca2a63f617b8a4a0afa6b2\n"
    },
    {
      "commit": "9b3c83fbad86989158db27a88f872562c3973a14",
      "tree": "cda49af6fff180638cc334cfa903e2b4b05d90c6",
      "parents": [
        "b03c4af05ea367d7d9f792403ac7235be562aa5e"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Thu Jul 28 11:21:39 2011 -0500"
      },
      "committer": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Thu Jul 28 12:37:18 2011 -0500"
      },
      "message": "Add constant for NFC sharing settings screen.\n\nChange-Id: Ibeea153442110542f05d1ece57a7dc6388a91fbf\n"
    },
    {
      "commit": "77d739006a38e765e236eb0828b9560effef15d6",
      "tree": "9ef431d355d006acd73e1ddfd81589549a02922e",
      "parents": [
        "2043b01b207aae3458da395bc6d501d76e59425c",
        "1abd5b3e6f11ef9d7076685c56ef942fa0dd77e4"
      ],
      "author": {
        "name": "Kristian Monsen",
        "email": "kristianm@google.com",
        "time": "Thu Jul 28 06:50:40 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 28 06:50:40 2011 -0700"
      },
      "message": "Merge \"Part of fix for bug 4997380: Some error types unknown to SslError\""
    },
    {
      "commit": "fcbb4924864976339d5ad8b7adb925d7a050df6a",
      "tree": "3d347bb1cbcb7776f59c6e8712f709c5c5bea76b",
      "parents": [
        "00fd1fc9b38a2e59b5ab5ad3f19a6e581dc5f428",
        "3c2529c717cda3df321c1d0d6abe23ac1f298ac9"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Wed Jul 27 18:35:51 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 27 18:35:51 2011 -0700"
      },
      "message": "Merge \"Unhide APIs for user space VPN.\""
    },
    {
      "commit": "be922d6006879692d100894dc924d947b50aed34",
      "tree": "df408add89e3ac249ec41d5de504f93042e6cb1e",
      "parents": [
        "388432ac4326fc16e69f45784ee76aa1a6260272",
        "49754db5a304d995c1cc108ff6f19e4ba4265572"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jul 27 15:54:41 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 27 15:54:41 2011 -0700"
      },
      "message": "Merge \"Handle stylus buttons and tool types.\""
    },
    {
      "commit": "804b3d76c39eca09cbbd8b7c3fa1718e7ad094cc",
      "tree": "ef77207706b4ebfe0e8527f818401d537ae8f451",
      "parents": [
        "525efbb29d1198d8562a6d070e1cdf88ce721e01",
        "0400b07c6bfc3fca49bc10db0a2040aba8664c8e"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Wed Jul 27 09:50:35 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 27 09:50:35 2011 -0700"
      },
      "message": "Merge \"Add getName to renderscript base object\""
    },
    {
      "commit": "a94b9ad23ac1f281c9d2dac02d01aa07ca5e1682",
      "tree": "e2f1f16af7f119f1ef68cbe30caa14cd037f143d",
      "parents": [
        "d8d3276a29aab91855a5a5e88042abbfd40124a3",
        "2888524e03896831f487e5dee63f18f1c33c0115"
      ],
      "author": {
        "name": "Gilles Debunne",
        "email": "debunne@google.com",
        "time": "Wed Jul 27 09:31:02 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 27 09:31:02 2011 -0700"
      },
      "message": "Merge \"Bug 4987014: a tap outside dismisses the text suggestion popup\""
    },
    {
      "commit": "bce8effe75c5477eb42d4e1c4df609da962285a2",
      "tree": "2094851ca0edcf91e69da07d1de24890d44e8468",
      "parents": [
        "83f463f6f8e5a469a27c0620985022548aa64ade",
        "684b23513c9137ddc04b06ac05a4b15be06ad2f4"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Jul 26 14:20:27 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 26 14:20:27 2011 -0700"
      },
      "message": "Merge \"Unhide new RS apis.\""
    },
    {
      "commit": "0400b07c6bfc3fca49bc10db0a2040aba8664c8e",
      "tree": "6b480b1549f6b77df7255fe09857d054b059fc2e",
      "parents": [
        "b33d46cc77b0e96a4d0ff39b85158c5c4eca3855"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Jul 26 14:13:32 2011 -0700"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Jul 26 14:13:32 2011 -0700"
      },
      "message": "Add getName to renderscript base object\n\nChange-Id: Ia28f88d2c9d679692778641548fdac08c1041d02\n"
    },
    {
      "commit": "684b23513c9137ddc04b06ac05a4b15be06ad2f4",
      "tree": "09a471f329dd239e14dd31ca0e3088ed9a8a0453",
      "parents": [
        "98c50c529336a99a4a980950bc657ca5c58a6ceb"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Jul 26 14:07:19 2011 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Jul 26 14:07:19 2011 -0700"
      },
      "message": "Unhide new RS apis.\n\nChange-Id: I83505156bd8a0ffabf0da3aef937693eaee9d9cd\n"
    },
    {
      "commit": "31b594e129e0fc5840be66ef539c0b6b0afe7f90",
      "tree": "ddd58565ec1ac4a0d327cf4fd6ea9b0b61eaa50c",
      "parents": [
        "686200cb5f3e80c0b0519ec14cc54b280a560863"
      ],
      "author": {
        "name": "Flavio Lerda",
        "email": "flerda@google.com",
        "time": "Tue Jul 26 13:22:28 2011 +0100"
      },
      "committer": {
        "name": "Flavio Lerda",
        "email": "flerda@google.com",
        "time": "Tue Jul 26 20:19:48 2011 +0100"
      },
      "message": "Add IS_READ field to CallLog and VoicemailContract.\n\nWe had initially decided to merge the NEW field (from the call log) and\nIS_READ field (from the voicemail contract) into the single NEW field\nalready present in the call log.\n\nHowever, it turned out that the meaning of the two fields is slightly\ndifferent: NEW means the items has just been inserted (and the user is\nnot aware of it) while IS_READ represents whether the user has read this\nspecific message (or heard, in case of voicemails).\n\nThis change makes the IS_READ field public, as well as deletes the NEW\nfield from the voicemail contract, since it is no longer needed there.\nThe NEW field in the voicemail contract (in fact the entire voicemail\ncontract) has never been released (this feature is new in ICS).\n\nBug: 5036195\nChange-Id: I740c51c1a8e6d2460050eaab9943fb38b1565058\n"
    },
    {
      "commit": "1bfe9a9b02f64cea13a07565e77c0ea006b49928",
      "tree": "bc549d4d698ae965559e43475761da5a0803c001",
      "parents": [
        "ae65c17959042edd5f1b44e7653d1a775bbfceec",
        "85a01a6b4609fe6ffc14760b9fadfdad50a0b513"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Tue Jul 26 09:24:06 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 26 09:24:06 2011 -0700"
      },
      "message": "Merge \"Add new contacts intent action for the \"invite\" feature\""
    },
    {
      "commit": "49754db5a304d995c1cc108ff6f19e4ba4265572",
      "tree": "cb09f23e7dd81ea505f90962fd550e36afbbc422",
      "parents": [
        "44e504e089b7483448c386741c5ee31d2c325400"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jul 01 17:37:58 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 25 20:04:18 2011 -0700"
      },
      "message": "Handle stylus buttons and tool types.\n\nAdded TOOL_TYPE_ERASER.\n\nRefactored the InputReader to share more code between the\nvarious input mappers that handle button states and to\nsimplify the accumulator implementations by having each\none only handle a single type of input.\n\nRemoved the concept of direct/indirect tool types from the API.\nIf we add it back, it should be done in a manner that is orthogonal\nto the tool type itself, perhaps as a flags field on the pointer.\nThe device source may well provide sufficient information anyhow.\n\nChange-Id: I811c22d95e8304269b6ee4f6d11a6b04f3cfc1b2\n"
    },
    {
      "commit": "2888524e03896831f487e5dee63f18f1c33c0115",
      "tree": "41f87630c4f719b3c45a62e6378f7006b32eaa9a",
      "parents": [
        "b33d46cc77b0e96a4d0ff39b85158c5c4eca3855"
      ],
      "author": {
        "name": "Gilles Debunne",
        "email": "debunne@google.com",
        "time": "Mon Jul 25 18:56:09 2011 -0700"
      },
      "committer": {
        "name": "Gilles Debunne",
        "email": "debunne@google.com",
        "time": "Mon Jul 25 18:59:06 2011 -0700"
      },
      "message": "Bug 4987014: a tap outside dismisses the text suggestion popup\n\nChange-Id: I61f5a3c981770393aa861c88d989c653ea00a067\n"
    },
    {
      "commit": "496aa6d4d923eb5d6fb270f13172e790aa4d09e0",
      "tree": "e3889d377b4200500edcffdb5f16f20b51e10242",
      "parents": [
        "4c6a3d4bc9eb4357ea002f8406c75e9b1b0e3667",
        "5125e21bc0bbe5b9718d0f03b26cdafc67a7c726"
      ],
      "author": {
        "name": "Philip Milne",
        "email": "pmilne@google.com",
        "time": "Mon Jul 25 13:43:09 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 25 13:43:09 2011 -0700"
      },
      "message": "Merge \"Fix for http://b/issue?id\u003d5064532\""
    },
    {
      "commit": "5125e21bc0bbe5b9718d0f03b26cdafc67a7c726",
      "tree": "69107cc13318d24598a4e143d0359e8d4809c1ff",
      "parents": [
        "e432a0005180ba9ac2c1d7822c4761b475fddc51"
      ],
      "author": {
        "name": "Philip Milne",
        "email": "pmilne@google.com",
        "time": "Thu Jul 21 11:39:37 2011 -0700"
      },
      "committer": {
        "name": "Philip Milne",
        "email": "pmilne@google.com",
        "time": "Mon Jul 25 12:12:10 2011 -0700"
      },
      "message": "Fix for http://b/issue?id\u003d5064532\n\n5064532: GridLayout with initial \"stretchy\" row and \"gone\" view in last row doesn\u0027t stretch properly\n\nAlso:\n\n. Infer stretchibility from whether or not gravity is defined.\n. Make algorithms for handling flexibility within cell groups consistent\n  with those acting between cells groups (via constraint system).\n. Hide and deprecate methods taking flexibility argument.\n. Hide and deprecate CAN_STRETCH constant.\n\nBoth deprecated features will be removed after references are removed from platform.\n\nChange-Id: Iabf2bf19f35cf30b8ec49c99b49a0550fd495125\n"
    },
    {
      "commit": "71f14a4e23c0b6eb60a81fd9a1be86dc441d051a",
      "tree": "4e140ffde55af598803f8398e9ecf761e8a672d3",
      "parents": [
        "c018496ab220158741488a67d3aed87abd6bf232",
        "00aabf7d187bc05408199bd687a538b2e68bdc17"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Jul 25 12:08:08 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 25 12:08:08 2011 -0700"
      },
      "message": "Merge \"Touch exploration state set to clients asynchronously and depended on talking service being enabled.\""
    },
    {
      "commit": "c018496ab220158741488a67d3aed87abd6bf232",
      "tree": "8ca06aa2adfa771fdc13381acf213ab20ac10a58",
      "parents": [
        "8a722f24478cf8de130fc0d37cd4bbc966eafb62",
        "763bc076527b183204b8ef82711f9b404bed53db"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Jul 25 12:07:32 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 25 12:07:32 2011 -0700"
      },
      "message": "Merge \"Implement CollapsibleActionView on SearchView.\""
    },
    {
      "commit": "5bd36eee8698553941bffdc795aa8f2cc66b6338",
      "tree": "64cab2772e4ee2178fe631dd92c916b3824bc382",
      "parents": [
        "5518dd92d38edd5902482841413722aa654cc2e7",
        "0bd1d0a15294345bf88b20df28466907f982cec7"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Jul 25 10:57:42 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 25 10:57:42 2011 -0700"
      },
      "message": "Merge \"Fix bug 5060033 - No text-editing toolbar when in a dialog\""
    },
    {
      "commit": "142d7575b52d03d46246e3b142e22ebc32d45a84",
      "tree": "4d0a50e94662334fbfa8fe385afaf9198f90dcac",
      "parents": [
        "54e677ffb026eb838237b8a5e6581833f616e32a"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Mon Jul 25 11:01:49 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Mon Jul 25 11:01:49 2011 +0900"
      },
      "message": "[step4] Change service interface\n\nChange-Id: Iaf86065a2a7f075c670ebdaa60a33a815dcb8113\n"
    },
    {
      "commit": "54e677ffb026eb838237b8a5e6581833f616e32a",
      "tree": "b250439bc91ed1c16895c087db936324cabf0261",
      "parents": [
        "c82cc94db08810ca238643b85c75b3593b2d8067",
        "562ab585f9e413d9696ee250e5ec02f95889a157"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Sun Jul 24 18:47:50 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jul 24 18:47:50 2011 -0700"
      },
      "message": "Merge \"[Step 2] Add apis for spell checker settings\""
    },
    {
      "commit": "562ab585f9e413d9696ee250e5ec02f95889a157",
      "tree": "99d5bcce164cf1fbbdaa0383d641d2bb56cf8af9",
      "parents": [
        "1bedd99761e3d2acdac947d641e7fee5db556141"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Mon Jul 25 10:12:21 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Mon Jul 25 10:23:52 2011 +0900"
      },
      "message": "[Step 2] Add apis for spell checker settings\n\nBug: 5057977\n\nChange-Id: I4617b7f1487349c5de385e7392dbc39c69fa2ebc\n"
    },
    {
      "commit": "ab45c768bcfecbabbd664d4962f0c86627b6c76b",
      "tree": "af92f5c03fbd25edcca631341e93d58f3c679083",
      "parents": [
        "b54ac4ab5b4c50ea09182e0bb19c4af08b0e0730",
        "1bedd99761e3d2acdac947d641e7fee5db556141"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Jul 22 23:17:51 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 22 23:17:51 2011 -0700"
      },
      "message": "Merge \"Tweak APIs for SpellChecker\""
    },
    {
      "commit": "1bedd99761e3d2acdac947d641e7fee5db556141",
      "tree": "8875fde6303e59cca155885232c2eadebd0f698c",
      "parents": [
        "3263f02b3e4b9c37bf8ec4e00b3cec32ede42ad8"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Sat Jul 23 11:39:55 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Sat Jul 23 14:56:04 2011 +0900"
      },
      "message": "Tweak APIs for SpellChecker\n\n1. Move getSupellcheckerInfo to SpellCheckerSession\n2. Change the interface of getSpellCheckerSession\n3. Remove a flag in SuggestionsInfo\n\nChange-Id: I3debe09e213fc0ab74618eb3504383f2a9447fd9\n"
    },
    {
      "commit": "0bd1d0a15294345bf88b20df28466907f982cec7",
      "tree": "e26edc66c032f92e9763e07cfc66f3ea529fc636",
      "parents": [
        "423f0ed494d30bbae1a02c059769f0211f1e4d81"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Jul 22 19:35:06 2011 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Jul 22 19:39:00 2011 -0700"
      },
      "message": "Fix bug 5060033 - No text-editing toolbar when in a dialog\n\nFix a bug that caused standalone action mode bars to not appear\nproperly or account for system insets such as the status bar.\n\nAdd public API to View to toggle the fitsSystemWindows attribute.\n\nChange-Id: I5d7669425b930c5d23f9df26a45f544b706e8242\n"
    },
    {
      "commit": "aba28e7fecb06adab8de51619b2929b640369e83",
      "tree": "60ac494d70a72b7a565ee01af856c785372c32cb",
      "parents": [
        "a7cb8254943163606aa9339a0a8ba8930c7cafd9",
        "3ff98beeafd271a65c1f824699431366882b04f6"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 22 17:59:10 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 22 17:59:10 2011 -0700"
      },
      "message": "Merge \"Deprecate two methods in MediaRecorder.java class\""
    },
    {
      "commit": "00aabf7d187bc05408199bd687a538b2e68bdc17",
      "tree": "3d70fecb8b5b64723b3dc2cf7250fe5f48f98b86",
      "parents": [
        "d24cd90486821535fb058531fac54aa5b9360693"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Jul 21 11:35:03 2011 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Jul 22 17:38:54 2011 -0700"
      },
      "message": "Touch exploration state set to clients asynchronously and depended on talking service being enabled.\n\n1. Upon registration of an accessibility client the latter received only\n   the accessiiblity state and waiting for the touch exploration state\n   to be sent by the system in async manner. This led the very first\n   check of touch exploration state is checked a wrong value to be reported.\n   Now a state of the accessibility layer is returned to the client\n   upon registration.\n\n2. Removing the dependency on talking accessibility service to be enabled\n   for getting into touch exploration mode. What if the user wants to use\n   an accessibility service that shows a dialog with the text of the touched\n   view?\n\nbug:5051546\n\nChange-Id: Ib377babb3f560929ee73bd3d8b0d277341ba23f7\n"
    },
    {
      "commit": "763bc076527b183204b8ef82711f9b404bed53db",
      "tree": "36390feff84252c3143208d8410558e0cebc6d20",
      "parents": [
        "423f0ed494d30bbae1a02c059769f0211f1e4d81"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Jul 22 11:53:47 2011 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Jul 22 14:14:59 2011 -0700"
      },
      "message": "Implement CollapsibleActionView on SearchView.\n\nAutomatically handle expanding and collapsing in an ActionBar using\nthe new callback for Collapsible ActionViews.\n\nAlso clear the query text when collapsing.\nMake sure that the \u0027x\u0027 doesn\u0027t show when in expanded mode with no text.\n\nChange-Id: I7cba009c7cc9a1c264ec11c76315353cbde55c6c\n"
    },
    {
      "commit": "3ff98beeafd271a65c1f824699431366882b04f6",
      "tree": "ea0e8969920b5614ffc0edf47f26ccd7292eb977",
      "parents": [
        "ac4159549c10dbe428d42980278c0e43ecc8d93f"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 21 10:36:03 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 22 11:45:50 2011 -0700"
      },
      "message": "Deprecate two methods in MediaRecorder.java class\n\nChange-Id: I98fbe628fe77867b97c04f44458948ede2f49d22\n"
    },
    {
      "commit": "7793719ca97571f5b3636d5a89cb067c71d627bd",
      "tree": "99c4feecc245c3676534d6367f181fa4c683a6b7",
      "parents": [
        "4ac052688a3011e3a174c78d75898e6888075720",
        "988323c57bd25a58f05dfa492d9b9c8ab62c5153"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Jul 21 22:59:48 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 21 22:59:48 2011 -0700"
      },
      "message": "Merge \"Create TextServiceManager and SpellCheckerService\""
    },
    {
      "commit": "988323c57bd25a58f05dfa492d9b9c8ab62c5153",
      "tree": "ee817ff3950a064cd3546294c9428ec41c8e7cee",
      "parents": [
        "b4cd566767f736e723acb5444cbfb26117a2fbb8"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Jun 22 16:38:13 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Jul 22 14:52:21 2011 +0900"
      },
      "message": "Create TextServiceManager and SpellCheckerService\n\nBug: 4176026\n\nThis CL inherits https://android-git.corp.google.com/g/112600\n\nSpec of TextServiceManager\n- Chooses the most applicable TextService(e.g. SpellCheckerService, WordBreakIteratorService..)\n    for each locale\n\nSpec of SpellCheckerService\n- Returns whether the given string is a correct word or not\n- Returns Suggestions for the given string\n\nChange-Id: Iaa425c7915fe70767ad0b17bf6c6fbcd2a1200b2\n"
    },
    {
      "commit": "3c2529c717cda3df321c1d0d6abe23ac1f298ac9",
      "tree": "efe05b263639a8e2385c8cb17df76ce697d06a84",
      "parents": [
        "08695111cffd239d0f9917ff197c86e12e2e150c"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Thu Jul 21 17:55:44 2011 -0700"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Thu Jul 21 18:26:46 2011 -0700"
      },
      "message": "Unhide APIs for user space VPN.\n\nChange-Id: I2d9e5a8a3ee8556626e373bfdc93c809dad40bff\n"
    }
  ],
  "next": "7ebb0bb15799a53e1a0ea226d1bb8cdcb9fa1d5b"
}
