)]}'
{
  "log": [
    {
      "commit": "5c536e9162721c460699a041959a0d67de1d20db",
      "tree": "22b370d994d43a4c58071434e50d892f59915791",
      "parents": [
        "2c53de69045557a51290b50dfda2ddb6c7d01912",
        "2784ff0af88128f66ae690b73d48fb7e4a211e68"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jul 19 15:29:09 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jul 19 15:29:09 2009 -0700"
      },
      "message": "Merge change 7840 into donut\n\n* changes:\n  Fix issue where scaled bitmap sizes could be wrong.\n"
    },
    {
      "commit": "2784ff0af88128f66ae690b73d48fb7e4a211e68",
      "tree": "2e43aaa6e2a67a0924449af42d969b91de2f995d",
      "parents": [
        "a53b828635fce8b6b2d3e3377d74d72070056623"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Jul 18 17:13:29 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Jul 18 17:13:29 2009 -0700"
      },
      "message": "Fix issue where scaled bitmap sizes could be wrong.\n\nThe Bitmap functions to get the scaled width/height couldn\u0027t actually\ndo the right thing because they didn\u0027t know the destination they would\nbe drawing to.  Now there are two forms of them, taking an explicit\nparameter specifying the destination.\n"
    },
    {
      "commit": "aad0fcc9619eb72c18a6afff48ebc9d4011f0f54",
      "tree": "2860cba26c01bbdc96973f751f8f2524e3a5e509",
      "parents": [
        "22eef5da75604cd14c0f87332cf957c9948a6e33",
        "a53b828635fce8b6b2d3e3377d74d72070056623"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 17 17:50:41 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 17 17:50:41 2009 -0700"
      },
      "message": "Merge change 7783 into donut\n\n* changes:\n  Add \"nodpi\" density, and expose a bunch of density-related APIs.\n"
    },
    {
      "commit": "a53b828635fce8b6b2d3e3377d74d72070056623",
      "tree": "42f4ba9bbf7d8656a4761d6fe5dcd4976cf19369",
      "parents": [
        "09a903ab5b8d940605783ae4ee591c0f090a31d1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jul 17 11:13:48 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jul 17 16:59:08 2009 -0700"
      },
      "message": "Add \"nodpi\" density, and expose a bunch of density-related APIs.\n\nAlso update the DpiTest app to use nodpi images, and try to have a mode\nwhere it turns off compatibility though it\u0027s not quite working.\n"
    },
    {
      "commit": "1f6c72bff6fa875a08f2d5510b5a61ce766643d2",
      "tree": "c4872a921cdc9684d3056f51ff598748ee3a8e8a",
      "parents": [
        "09a903ab5b8d940605783ae4ee591c0f090a31d1"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Fri Jul 17 14:22:24 2009 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Fri Jul 17 14:22:24 2009 -0700"
      },
      "message": "Add a delay before collecting memory information\n\nHopefully this gives enough time for more memory recycling. Because it is observed that several seconds after a suite is run, the memory usage could drop by 1-2M.\n"
    },
    {
      "commit": "0bb0597a4b5b0825f710f1bd63efb7069cecd918",
      "tree": "e3e5daf7bc1d2f73809638844709f37e03451e6c",
      "parents": [
        "65d99c3cbf149776c7ec4ea1f3cb1f4470d2be83",
        "44ce817e0b9fdf068fe7ce9c62acf367fb846304"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 16 13:46:57 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 16 13:46:57 2009 -0700"
      },
      "message": "Merge change 7556 into donut\n\n* changes:\n  Temporarily suppress ServiceTest.\n"
    },
    {
      "commit": "44ce817e0b9fdf068fe7ce9c62acf367fb846304",
      "tree": "3e0c8ec6a89573962e0088eab6d07a6b4d04d74c",
      "parents": [
        "6ce4236d70c8543021bb521731ac9f05d22b3002"
      ],
      "author": {
        "name": "Brett Chabot",
        "email": "brettchabot@google.com",
        "time": "Thu Jul 16 12:20:53 2009 -0700"
      },
      "committer": {
        "name": "Brett Chabot",
        "email": "brettchabot@google.com",
        "time": "Thu Jul 16 12:20:53 2009 -0700"
      },
      "message": "Temporarily suppress ServiceTest.\n\nServiceTest appears to be causing the whole android unit_tests suite to fail in the\ncontinuous system. Suppressing to stop the lab failure spam while continuing to investigate.\n"
    },
    {
      "commit": "c93af6dc5bc78f02d4ee549890da12dc669fc2fe",
      "tree": "bb33330f0c0a798e59869fb47aa57795e26f4c07",
      "parents": [
        "0d039ba328a59fc81280fbecf68aad2d2cba7234",
        "9cab7f7684f046934e3d400482dbd1db67c93ee4"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 16 00:06:23 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 16 00:06:23 2009 -0700"
      },
      "message": "Merge change 7441 into donut\n\n* changes:\n  Allow system colors in \u003cfont\u003e tags\n"
    },
    {
      "commit": "9cab7f7684f046934e3d400482dbd1db67c93ee4",
      "tree": "5733e483ebd908533ee564e454b23e96ac0e28fb",
      "parents": [
        "37b939a63742c9a0cea4e6982bfb0581def45d6d"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Wed Jul 15 22:14:24 2009 +0100"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Wed Jul 15 22:47:03 2009 +0100"
      },
      "message": "Allow system colors in \u003cfont\u003e tags\n\nFixes http://b/issue?id\u003d1970693\n"
    },
    {
      "commit": "4e4371186dbbad184dc722bd684901f84aff0f2a",
      "tree": "d98e0628397b50149e60f48596f573fa7cf648ae",
      "parents": [
        "b197021e160091897391cd27093c35bd3c22a7fc"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Wed Jul 15 19:02:44 2009 +0100"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Wed Jul 15 19:04:07 2009 +0100"
      },
      "message": "Update Searchables test with new GlobalSearch name\n\nFixes http://b/issue?id\u003d1981558\n"
    },
    {
      "commit": "b06ea706530e6d19eb2a1a9a7ae6c5dd77d80af0",
      "tree": "2fcae8f89195ef4b162627892aeca97f06d42ef7",
      "parents": [
        "3660c09500a4d01eb6a733b5f0b15545855f8fe8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jul 13 13:07:51 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jul 14 11:37:11 2009 -0700"
      },
      "message": "Add reporting of activity movement for search manager.\n\nThis adds a new API with the activity manager to find out about movement between\nactivities.  For my sanity, the old IActivityWatcher is now renamed to\nIActivityController, and the new activity movement interface is named\nIActivityWatcher.\n\nThis changes the search manager itself to use the new API to manage its state.\nNote that there are still problems when going back to the search dialog after\nit was hidden -- the suggestions window no longer appears until you explicitly\ndismiss and re-show it.\n"
    },
    {
      "commit": "5621f0d928dc738cb9bde78f1c23eaf916b8c931",
      "tree": "48e9d373d34ac9081864493b7b27fb9be669c07d",
      "parents": [
        "59d299ce8d66f6f3091fca33d3741c0b24d678f6"
      ],
      "author": {
        "name": "Bob Lee",
        "email": "crazybob@google.com",
        "time": "Fri Jul 10 14:19:56 2009 -0700"
      },
      "committer": {
        "name": "Bob Lee",
        "email": "crazybob@google.com",
        "time": "Fri Jul 10 14:54:08 2009 -0700"
      },
      "message": "Fixed NPE bugs in Uri. Fixes internal issue #1724719.\nModified getQueryParameter() to use the encoded query string. Fixes internal issue #1749094.\n"
    },
    {
      "commit": "ad94a98364c02be7a0c5317cad9d57ecec964f80",
      "tree": "ca92f31770de28b6720aad4f785b3e49052fedbc",
      "parents": [
        "d48ca22b9fcea38b112aedb4126f3d030594af47",
        "b8b8f044f4735b08f5a422637cfdcef43ac1a824"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 10 13:40:02 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 10 13:40:02 2009 -0700"
      },
      "message": "Merge change 6801 into donut\n\n* changes:\n  Uri.EMPTY.toString() was returning null due to an initialization order bug. Fixes internal issue #1957015.\n"
    },
    {
      "commit": "b8b8f044f4735b08f5a422637cfdcef43ac1a824",
      "tree": "b3af49555ad3e6d6f784abf0f12cd2f86c743fd0",
      "parents": [
        "d1e5e3ffc22478bad8525dec4f1c6d57fe0ad368"
      ],
      "author": {
        "name": "Bob Lee",
        "email": "crazybob@google.com",
        "time": "Fri Jul 10 13:34:04 2009 -0700"
      },
      "committer": {
        "name": "Bob Lee",
        "email": "crazybob@google.com",
        "time": "Fri Jul 10 13:34:37 2009 -0700"
      },
      "message": "Uri.EMPTY.toString() was returning null due to an initialization order bug. Fixes internal issue #1957015.\n"
    },
    {
      "commit": "889181d7fdf54b50a3cf4ee7e0f402a2fc026afe",
      "tree": "f8c18a55da1718214af3b32d8b5c66186f0dac1c",
      "parents": [
        "b45451f6dac5b32bcd8c52352a9697854eab40d0"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu Jul 09 12:55:15 2009 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu Jul 09 12:55:15 2009 -0700"
      },
      "message": "Call clearCache on WebView before collecting memory information.\n"
    },
    {
      "commit": "444c727e0eecf83e9d0b9c4e7af5cbf5fc4135f8",
      "tree": "5deb7155bf79ae9001f9d742c905fac2baf7fd9c",
      "parents": [
        "e9ac96f76d513d2cee50dfea7d70b14669643ba9"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Mon Jul 06 21:32:50 2009 +0100"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Wed Jul 08 17:43:49 2009 +0100"
      },
      "message": "Run search UI on its own thread.\n\nDetails:\n\n- Add a new SearchDialogWrapper class that makes sure\n  all access to the SearchDialog is run one a single thread\n  other than the main ServerThread.\n- Don\u0027t save/restore seach dialog state in Activity.\n  This resulted in lots of calls to the SearchManager\n  throughout the life cycle of all activities, for\n  the questionable benefit of restoring the search dialog\n  in a few cases.\n- Remove search UI state save/restore, and the isVisible()\n  method from SearchManagerService. They are no longer used,\n  and were tricky to implement since they return values from\n  the search UI thread to the service.\n- Handle configuration changes in searchDialogWrapper instead\n  of calling through from Activity.\n\nFixes http://b/issue?id\u003d1938101\n\nTODO:\n- Activity.performPause() calls stopSearch(). This call may not happen\n  until the new activity has been started. If the new activity starts a\n  search immediately, this search could be cancelled by the old activity\u0027s\n  call top stopSearch().\n"
    },
    {
      "commit": "a83bef597430e9336566ca38330cc0f4e793abe1",
      "tree": "1e833dcb8f7bdcd38804ee2964b17fe9c5bcd2c9",
      "parents": [
        "108fd1c08a1a679886c987e1f62a9ba6be962235",
        "75efd5d5259eb348074159436bd51aa56792df14"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 07 18:09:21 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 07 18:09:21 2009 -0700"
      },
      "message": "Merge change 6396 into donut\n\n* changes:\n  Add unit test for NeighboringCellInfo.\n"
    },
    {
      "commit": "7bf9f930d986335cd24dc15e2ee588b851f194d4",
      "tree": "5603f90940a0732b6e89507aa5ae7cf6b0ea1b7d",
      "parents": [
        "a7de3845507b7bf57a2c7b26fb08f05b193697d6",
        "fb7ed107356a66a55f003a43a7acc2fdbed1e9c2"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 07 15:19:14 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 07 15:19:14 2009 -0700"
      },
      "message": "Merge change 6415 into donut\n\n* changes:\n  Fixes #1748951. Calling setListSelection() explicitely should cancel the selection hidden flag.\n"
    },
    {
      "commit": "fb7ed107356a66a55f003a43a7acc2fdbed1e9c2",
      "tree": "f148703e34d4cb52a27bf83a81df9a0602cbd6c7",
      "parents": [
        "88e209dcf8c2ebddda5c272f46d1bd5478bc639c"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jul 07 15:18:30 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jul 07 15:18:30 2009 -0700"
      },
      "message": "Fixes #1748951. Calling setListSelection() explicitely should cancel the selection hidden flag.\n"
    },
    {
      "commit": "75efd5d5259eb348074159436bd51aa56792df14",
      "tree": "55696ebd684833695e5d51f42c21280961119d98",
      "parents": [
        "a54755962ca7725d1e2b6cacbbaece6f1cbf5af4"
      ],
      "author": {
        "name": "John Wang",
        "email": "johnwang@google.com",
        "time": "Tue Jul 07 13:53:24 2009 -0700"
      },
      "committer": {
        "name": "John Wang",
        "email": "johnwang@google.com",
        "time": "Tue Jul 07 14:02:11 2009 -0700"
      },
      "message": "Add unit test for NeighboringCellInfo.\n\nAdd small unit test for NeighboringCellInfo in AndroidTests. The old telephony unit test directory, CoreTest/android, is marked as deprecated in AndroidTestHowto.\n\n\tnew file:   tests/AndroidTests/src/com/android/unit_tests/NeighboringCellInfoTest.java\n"
    },
    {
      "commit": "2c5a3aeba3f7c0d362829c57a8fffdba0a0e81c1",
      "tree": "dc7e585283046818bd31d1b3f96b6a623f4eba22",
      "parents": [
        "04f0b05ea04a4a13d6a15b36eaa27b2ec364f313",
        "c8daa769256b039b6bc4c5acbe6b558cd776c00a"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 07 11:52:01 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 07 11:52:01 2009 -0700"
      },
      "message": "Merge change 6326 into donut\n\n* changes:\n  BackupManager wrapper class improvements\n"
    },
    {
      "commit": "c8daa769256b039b6bc4c5acbe6b558cd776c00a",
      "tree": "0d80f28b806f273f3efb221890aca170da731548",
      "parents": [
        "dbee95cacff9d2faf30638e64abe26fbeb128787"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Jul 06 19:04:57 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jul 07 11:40:07 2009 -0700"
      },
      "message": "BackupManager wrapper class improvements\n\n+ Now rechecks the cached IBinder each time the wrapper is used, and if it\u0027s\nstill null (i.e. the BackupManager was constructed before the system service\ncame up) it\u0027s refetched.  This lets even system code cache a single\nBackupManager instance and just keep making calls through it without worrying\nabout interactions with the life cycle of the backup service.\n\n+ Added a static dataChanged(packageName) method as a convenience for code that\nneeds to indicate that some other package needs a backup pass.  This is useful\neven for third party code in the case of multiple packages in a shared-uid\nsituation.\n"
    },
    {
      "commit": "0fd833a50f43239e619fa383045374459f42ca49",
      "tree": "659202d58d0a97450fe618f295f8ba50eb1531d7",
      "parents": [
        "dbee95cacff9d2faf30638e64abe26fbeb128787"
      ],
      "author": {
        "name": "Tammo Spalink",
        "email": "tammo@google.com",
        "time": "Tue Jul 07 14:17:28 2009 +0800"
      },
      "committer": {
        "name": "Tammo Spalink",
        "email": "tammo@google.com",
        "time": "Tue Jul 07 14:17:28 2009 +0800"
      },
      "message": "septet-align UD after any UDH for GSM-7bit coding\n"
    },
    {
      "commit": "d3de90f38d779d28a724e89297c83e6ba1a66fa7",
      "tree": "f4c6431453bce2c25ebe54521c4c3128ec77ce17",
      "parents": [
        "3bc64a2cb97da7bf7dc203416ad6c7d86c5925fc",
        "1f0dac38df453035a8bd0205a23eecc44aa9d783"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 02 10:46:37 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 02 10:46:37 2009 -0700"
      },
      "message": "Merge change 5995 into donut\n\n* changes:\n  Turn off kerning when testing TextUtils.ellipsize().\n"
    },
    {
      "commit": "40336782eaa797bca3d1487784af113ba3b143ff",
      "tree": "8128ae69b87d2794f59932632ab8c3033838bab6",
      "parents": [
        "d7cd29da91ccc0aba1f1097e19366f9ca36c7ce1"
      ],
      "author": {
        "name": "Daisuke Miyakawa",
        "email": "dmiyakawa@google.com",
        "time": "Fri Jun 12 15:44:47 2009 +0900"
      },
      "committer": {
        "name": "Daisuke Miyakawa",
        "email": "dmiyakawa@google.com",
        "time": "Thu Jul 02 14:33:39 2009 +0900"
      },
      "message": "Add tests. internal bug id 1868702.\n"
    },
    {
      "commit": "1f0dac38df453035a8bd0205a23eecc44aa9d783",
      "tree": "a4656aad31b58d980cab8f6fced70532c538484e",
      "parents": [
        "c08dd9e27e864c03f77c3b031812969f3f9a97b1"
      ],
      "author": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Wed Jul 01 18:03:09 2009 -0700"
      },
      "committer": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Wed Jul 01 18:04:23 2009 -0700"
      },
      "message": "Turn off kerning when testing TextUtils.ellipsize().\n\nOtherwise, the different text measurement methods produce slightly\ndifferent results and cause the text to show different results for\nSpanned vs. non-Spanned source strings.\n\nBug 1837826\n"
    },
    {
      "commit": "b7d7d5f6380e1b7c2b1754be05b0113b91ce01c9",
      "tree": "69cb355be912d06fe63e3375da102f2b4d920d4b",
      "parents": [
        "72d19aa51e90d45c7895629db78e548da2f6d469",
        "40656be65870932592daf070c7cbbc382dda67b5"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 13:20:44 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 13:20:44 2009 -0700"
      },
      "message": "Merge change 5806 into donut\n\n* changes:\n  Use additional functions to collect more memory information data points.\n"
    },
    {
      "commit": "40656be65870932592daf070c7cbbc382dda67b5",
      "tree": "246692941878923e9640d0bbdcafeece65fbcf1f",
      "parents": [
        "bda04135ee9375d5a6b2bf00e464c3ae69ae9ab4"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Tue Jun 30 11:56:13 2009 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Tue Jun 30 11:56:13 2009 -0700"
      },
      "message": "Use additional functions to collect more memory information data points.\n"
    },
    {
      "commit": "0178afe415a598b5b3b4ab5bbeec96a079a124e1",
      "tree": "9b83a52c99f627a039db5c94936610b24e0f6196",
      "parents": [
        "8aadf7ae278961926de5452a46863503303735cf",
        "8203dc1bc8d99e2fe430a1a3026983e2e440e6d5"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 29 19:22:11 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 29 19:22:11 2009 -0700"
      },
      "message": "Merge change 5485 into donut\n\n* changes:\n  cdma sms is91 support\n"
    },
    {
      "commit": "8aadf7ae278961926de5452a46863503303735cf",
      "tree": "b116c3f499c75ea2708166eb9a297fc9d3cc9bee",
      "parents": [
        "6f317426e49e73ef3e50d8839877504039cd2fca",
        "3a08cec99e104f74f28ba2463f00c8d4e6d1967e"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 29 19:22:05 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 29 19:22:05 2009 -0700"
      },
      "message": "Merge change 5359 into donut\n\n* changes:\n  fix potential string index problems in PhoneNumberUtils.numberToCalledPartyBCDHelper\n"
    },
    {
      "commit": "53e083c90d84fff53f30379a753612ac5d79bbdf",
      "tree": "4473f3e01ec98a69a16282a47f794c042e88b245",
      "parents": [
        "ab4748c62d106d9cbc27c88ccd3d2bbda8e451bd",
        "f92bd42a702af7047ac4bd7c95b4a82973b7a79d"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 29 15:44:19 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 29 15:44:19 2009 -0700"
      },
      "message": "Merge change 5645 into donut\n\n* changes:\n  Added a new operation mode where user can launch all tests under a folder from test app ui.\n"
    },
    {
      "commit": "f92bd42a702af7047ac4bd7c95b4a82973b7a79d",
      "tree": "a8daf4432dd502a060612e600b84ea96f85da86c",
      "parents": [
        "61ab270c17094ef1373f54d8fb9ade6d287c3a60"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Mon Jun 29 10:40:55 2009 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Mon Jun 29 14:45:50 2009 -0700"
      },
      "message": "Added a new operation mode where user can launch all tests under a folder from test app ui.\n"
    },
    {
      "commit": "3a08cec99e104f74f28ba2463f00c8d4e6d1967e",
      "tree": "a326d7de10c17acce6d1a37f51913de491cff307",
      "parents": [
        "9171749700853305f3e6abbcdbd9e02f3a71d459"
      ],
      "author": {
        "name": "Tammo Spalink",
        "email": "tammo@google.com",
        "time": "Thu Jun 25 16:13:51 2009 +0800"
      },
      "committer": {
        "name": "Tammo Spalink",
        "email": "tammo@google.com",
        "time": "Mon Jun 29 12:51:22 2009 +0800"
      },
      "message": "fix potential string index problems in PhoneNumberUtils.numberToCalledPartyBCDHelper\n\naddresses http://buganizer/issue?id\u003d1489784\n"
    },
    {
      "commit": "8203dc1bc8d99e2fe430a1a3026983e2e440e6d5",
      "tree": "4e4ff98c46f50e593b27243d9b642568715bf262",
      "parents": [
        "9171749700853305f3e6abbcdbd9e02f3a71d459"
      ],
      "author": {
        "name": "Tammo Spalink",
        "email": "tammo@google.com",
        "time": "Tue Jun 09 13:30:47 2009 +0800"
      },
      "committer": {
        "name": "Tammo Spalink",
        "email": "tammo@google.com",
        "time": "Sun Jun 28 16:23:53 2009 +0800"
      },
      "message": "cdma sms is91 support\n"
    },
    {
      "commit": "ae3522734ef83254626cacee18a9490f6af62415",
      "tree": "c142c5f6f6cc49050ae2aca8b0809e546da790c8",
      "parents": [
        "d09f86ce175fad6ddbd446363f327dfa0575a1d2",
        "326c66d888f9b3ce82af93fe63e4828a4a4e3fbe"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 26 14:41:51 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 26 14:41:51 2009 -0700"
      },
      "message": "Merge change 5192 into donut\n\n* changes:\n  make BitwiseInputStream.read return int\n"
    },
    {
      "commit": "72eb0acad5cffc57ce5006f6deab29ee259e461e",
      "tree": "fe7a0e33cb310eb4abf5415583d2b2ea9345d724",
      "parents": [
        "156411df4627336b246db78cddca8248ed615b67",
        "723738cfaec3dd7b0fe152c872c41bebf94074c4"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 26 13:46:07 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 26 13:46:07 2009 -0700"
      },
      "message": "Merge change 5483 into donut\n\n* changes:\n  Expand support for different screen sizes.\n"
    },
    {
      "commit": "723738cfaec3dd7b0fe152c872c41bebf94074c4",
      "tree": "421ddeed166d0a4586c9460c4de581307bf08d44",
      "parents": [
        "77cb40a0b088b02357fbc7d5fad24886d607f0da"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 25 19:48:04 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 26 13:37:05 2009 -0700"
      },
      "message": "Expand support for different screen sizes.\n\nApplications can now declare that they support small, normal, or\nlarge screens.  Resource selection can also be done based on these\nsizes.  By default, pre-Donut apps are false for small and large,\nand Donut or later apps are assumed to support all sizes.  In either\ncase they can use \u003csupports-screens\u003e in their manifest to declare\nwhat they actually support.\n"
    },
    {
      "commit": "dc355a90a3d9d34f66316928a53f61ac35ab4781",
      "tree": "7b9de72bba6ed97ff81b600073cbbed46a0cf7a1",
      "parents": [
        "aae628b44518f0886a7f33b88c1131f47d853e70"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Jun 26 14:45:25 2009 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Jun 26 14:45:25 2009 -0400"
      },
      "message": "Add a test for SharedPreferencesBackupHelper\n\n(which nobody had ever tested.  I like it when stuff\njust works the first time).\n"
    },
    {
      "commit": "aae628b44518f0886a7f33b88c1131f47d853e70",
      "tree": "cda1538d47201354c82116b5025c1e3dd8fddb71",
      "parents": [
        "7d619f18a277ee3114624df7301db94db83936b9"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Jun 26 12:57:45 2009 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Jun 26 12:57:45 2009 -0400"
      },
      "message": "Test that we correctly back up an empty file.\n\n(It turns out that we do.  It didn\u0027t used to work, I\u0027m not\nsure what changed)\n"
    },
    {
      "commit": "4a64bded06a0299785c295a975e2818308eb53e2",
      "tree": "a24057a8f82108aae7f8e6fcb5067c2ed7fe9690",
      "parents": [
        "5e8a4b842c20dd47b82e9915f1bd730ee1b0d46d"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 25 23:53:29 2009 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 25 23:53:29 2009 -0400"
      },
      "message": "Add some helpful tests scripts for backup and make bmgr restore wait until the backup is done.\n"
    },
    {
      "commit": "4ababd922eac5931e0222862ff082dc29e012816",
      "tree": "9b7ed494cd38bed3ded7c34ce93425d35d42fc04",
      "parents": [
        "5cb400bd72726c22f641f334951b35ce2ddcfeef"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 25 18:29:18 2009 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 25 20:36:09 2009 -0400"
      },
      "message": "Make the BackupHelperDispatcher properly handle multiple helpers.\n"
    },
    {
      "commit": "326c66d888f9b3ce82af93fe63e4828a4a4e3fbe",
      "tree": "eb19ba7bdbab4ceedd1622efc88c4b395b670292",
      "parents": [
        "4fb69770e70352c987cc79414db7a03b52296ca7"
      ],
      "author": {
        "name": "Tammo Spalink",
        "email": "tammo@google.com",
        "time": "Wed Jun 24 14:12:53 2009 +0800"
      },
      "committer": {
        "name": "Tammo Spalink",
        "email": "tammo@google.com",
        "time": "Wed Jun 24 14:42:33 2009 +0800"
      },
      "message": "make BitwiseInputStream.read return int\n\nKeep the maximum access 8 bits to avoid dealing with\nendianness issues.\n"
    },
    {
      "commit": "864ef2337554cd0ca4166873bc8145d21ccf2286",
      "tree": "80f30e948fa2890431ad546b893c5da6099a27d9",
      "parents": [
        "b0ae27f4e10a9e5fe56b9ca549718051fe342bba",
        "8b85a8afea81c70acf29fc1e840aaaa690ccb8db"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 23 09:52:21 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 23 09:52:21 2009 -0700"
      },
      "message": "Merge change 4878 into donut\n\n* changes:\n  Add smalltest annotation to HardwareServicePermissionTest.\n"
    },
    {
      "commit": "5cbbf5652a78902ac3382dc4a3583bc5b0351027",
      "tree": "58a0d7260ed8c441b638f6197b885d3b16656465",
      "parents": [
        "3a31a93b8a195ae2d0180e6dfbf292da2e581f50"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Jun 22 16:44:51 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Jun 22 16:44:51 2009 -0700"
      },
      "message": "Pass the originating app\u0027s versionCode along with a restore set\n\nThis change amends the doRestore() / onRestore() interface to backup agents to\nprovide the integer android:versionCode of the app that stored the backup set.\nThis should help agents figure out how to handle whatever historical data set\nthey\u0027re handed at restore time.\n"
    },
    {
      "commit": "06290a4bb9b280fa14a2bbeb2d3ceb09396a78c3",
      "tree": "15fccf5ce4e9c42bba3fc7581ac2ddc0d8363dc9",
      "parents": [
        "eed76b2a8ddc41af01cd3ae87c4722f3784c975c"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 18 20:10:37 2009 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Jun 22 13:02:24 2009 -0700"
      },
      "message": "Helper API cleanup.  Allows multiple helpers to function,\nbecause they\u0027ll always go in the same order, and this lets\nus not have to write headers to keep them paired.\n"
    },
    {
      "commit": "eed76b2a8ddc41af01cd3ae87c4722f3784c975c",
      "tree": "a7d6c9c81534eb4105006d3e808f855ba35d7957",
      "parents": [
        "9336f5d9de43939293a296032f5bc0986332e23f"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Mon Jun 22 14:59:23 2009 +0100"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Mon Jun 22 16:10:41 2009 +0100"
      },
      "message": "Remove test for SearchManager activity context restriction.\n\nThis restriction was removed in https://android-git.corp.google.com/g/4908\nsee http://b/issue?id\u003d1926254\n"
    },
    {
      "commit": "8d1538237847baf381787b881141f8c0478bef5b",
      "tree": "df7f744d0994a336b4274201e28c5d5461d50a4d",
      "parents": [
        "97325db8565ad503b86d9a0f602b2d001b5cee13"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Mon Jun 22 10:31:44 2009 +0100"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Mon Jun 22 13:51:48 2009 +0100"
      },
      "message": "Make all static methods in SearchManager non-static.\n\nThey were only static because of a now removed restriction that\nonly activity contexts could instantiate SearchManager.\nThis only changes hidden APIs, but all users of the changed methods\nmust be updated to use them non-statically before this is submitted.\n"
    },
    {
      "commit": "8b85a8afea81c70acf29fc1e840aaaa690ccb8db",
      "tree": "2140e111fc15ad2e3425fee1ce584a7ed3fe3fbb",
      "parents": [
        "79ac87704d2e38afb06356704e4b52c739237f40"
      ],
      "author": {
        "name": "Brett Chabot",
        "email": "brettchabot@google.com",
        "time": "Fri Jun 19 18:13:50 2009 -0700"
      },
      "committer": {
        "name": "Brett Chabot",
        "email": "brettchabot@google.com",
        "time": "Fri Jun 19 18:13:50 2009 -0700"
      },
      "message": "Add smalltest annotation to HardwareServicePermissionTest.\n"
    },
    {
      "commit": "79ac87704d2e38afb06356704e4b52c739237f40",
      "tree": "871543557a74d90f6ff1b6d1e7ebd3f48c1c482d",
      "parents": [
        "b92f7040e8294151fd915fd649bf7942a8b67463",
        "595fbd6ea22708504dc9e24b44fa5eb357a576ec"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 19 17:24:32 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 19 17:24:32 2009 -0700"
      },
      "message": "Merge change 4834 into donut\n\n* changes:\n  Fix a bug where wrong variable was used for comparison.\n"
    },
    {
      "commit": "36480907331fd6e4afe0608f495f2c731cfa6047",
      "tree": "de8d76df41f65891b7c27fef143ecee82f010923",
      "parents": [
        "4d1b5bd148d0830d2acc03bafbe58dfd17e5b3f8"
      ],
      "author": {
        "name": "Brett Chabot",
        "email": "brettchabot@google.com",
        "time": "Fri Jun 19 16:19:30 2009 -0700"
      },
      "committer": {
        "name": "Brett Chabot",
        "email": "brettchabot@google.com",
        "time": "Fri Jun 19 16:19:30 2009 -0700"
      },
      "message": "Add permission tests for IHardwareService.\n"
    },
    {
      "commit": "595fbd6ea22708504dc9e24b44fa5eb357a576ec",
      "tree": "0c77f352fc74c49c12e45c5d3c11bc124b26408d",
      "parents": [
        "3af8e9389e008c0076b86cc6b3c6f005e7473d10"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Fri Jun 19 15:40:01 2009 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Fri Jun 19 15:40:01 2009 -0700"
      },
      "message": "Fix a bug where wrong variable was used for comparison.\n"
    },
    {
      "commit": "bc806f65edc33f6eda0f475ac84e5e037a013a90",
      "tree": "086604fbc605d4b416e85b565227ffb7e489d1d7",
      "parents": [
        "2b1aed1021fb472de83c4c0143f2c4452244a0af"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Jun 17 15:18:19 2009 -0700"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Fri Jun 19 10:25:37 2009 -0700"
      },
      "message": "Remove deprecated api. Aptly rename freeStorageWithIntent to freeStorage.\n"
    },
    {
      "commit": "d2d9ceb7305d593c1b767bbb05de0082a9af4109",
      "tree": "1ba39c3c5901d65a18855286e240f177820a6ec6",
      "parents": [
        "abce4e8714bed26a2b37b20ad3f02cf619d71c9a"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 18 13:11:18 2009 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 18 18:41:11 2009 -0700"
      },
      "message": "Make RestoreHelper and friends also write out the snapshot state.\n"
    },
    {
      "commit": "83248c432ffe2e2a17abbc8e4960c26574b46bca",
      "tree": "9e8de2f1eb84d52481573c9c1d824c6be4a6fdc0",
      "parents": [
        "6ce1983a2b5e9f5e735ac09b270b400084edb7db"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 17 17:55:20 2009 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 17 17:57:30 2009 -0700"
      },
      "message": "backup fixes:\n\n- BackupTestAgent calls the DispatchHelper\n- Make BackupAgent.onRestore take a BackupDataInput, not just a\n  generic ParcelFileDescriptor.\n"
    },
    {
      "commit": "de72697b771d33738c5f9d6c28087504e0796622",
      "tree": "bbee6ea088441d83463ab4a0356986060285a563",
      "parents": [
        "ed336839d20aae0cb2ff46d3b231e39570281880",
        "efd0fab04b96d7ab0c1d8bf3b79397c8621e31c5"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 17 16:34:41 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 17 16:34:41 2009 -0700"
      },
      "message": "Merge change 4524 into donut\n\n* changes:\n  FileRestoreHelper and RestoreHelperDispatcher work.\n"
    },
    {
      "commit": "efd0fab04b96d7ab0c1d8bf3b79397c8621e31c5",
      "tree": "f4b5afd53736822e9dc9e4c0f08140cd6fac8d60",
      "parents": [
        "2cf3971ea4d22f8981ae71e6ba358f19e1628d09"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 17 16:20:55 2009 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 17 16:20:55 2009 -0700"
      },
      "message": "FileRestoreHelper and RestoreHelperDispatcher work.\n"
    },
    {
      "commit": "826a54dd74317f87d4afa8c0f1fc3491a69169ff",
      "tree": "077344b0a369eab8ed2b4de86d00a36f2e51694e",
      "parents": [
        "0781df943e5a7a72ac82394874b6200d14ddd02c",
        "6cdd1c8a60f56eabbdb09e4c1231975c96715388"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 17 12:51:17 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 17 12:51:17 2009 -0700"
      },
      "message": "Merge change 4489 into donut\n\n* changes:\n  Add SmsManager permission test.\n"
    },
    {
      "commit": "6cdd1c8a60f56eabbdb09e4c1231975c96715388",
      "tree": "94f68a148c2aae11d4fbbd016db3141129b0a5a3",
      "parents": [
        "8ad473994d402e42ec3c8f44f31e99ef2f7e9237"
      ],
      "author": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Wed Jun 17 11:28:26 2009 -0700"
      },
      "committer": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Wed Jun 17 11:29:45 2009 -0700"
      },
      "message": "Add SmsManager permission test.\n"
    },
    {
      "commit": "0ff946e7b5abf51ebb0a6fb335bb3f141214c76e",
      "tree": "f3cdf945dd6bad565ed18fc2a414bbb92b5a20c7",
      "parents": [
        "b4f7592b03c8424302c10e61474b0e2d0a71a630"
      ],
      "author": {
        "name": "Tammo Spalink",
        "email": "tammo@google.com",
        "time": "Wed Jun 17 16:13:52 2009 +0800"
      },
      "committer": {
        "name": "Tammo Spalink",
        "email": "tammo@google.com",
        "time": "Wed Jun 17 16:13:52 2009 +0800"
      },
      "message": "add feedback test with gsm7bit special case characters\n"
    },
    {
      "commit": "6edb3487beb1973b1ea05e5b4168ba1ac247c9a4",
      "tree": "b860066f410306fa8fc7ed707f4b7dea7555b4aa",
      "parents": [
        "acec4d6741643a5f0bda0b6a4eeb033a963818dc",
        "cfaef699e1dfb3a75d5b51f3b15816f13670fd51"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 15 15:07:50 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 15 15:07:50 2009 -0700"
      },
      "message": "Merge change 4234 into donut\n\n* changes:\n  Implement permission test for activity, window, service manager.\n"
    },
    {
      "commit": "cfaef699e1dfb3a75d5b51f3b15816f13670fd51",
      "tree": "594192d551bfad6569f415c0a4371899ec480fdd",
      "parents": [
        "3adf7678cdf8fa955627e096bb5c27b94adc3079"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 15 14:24:44 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 15 14:35:07 2009 -0700"
      },
      "message": "Implement permission test for activity, window, service manager.\n\nThis also includes some changes to the window manager permission checks.  Almost all of these\nare to make it most testable (through an exception on a permission failure), though there is\none permission check that needed to be added: updateOrientationFromAppTokens().\n"
    },
    {
      "commit": "acec4d6741643a5f0bda0b6a4eeb033a963818dc",
      "tree": "a795bbafed198612cc800e7f70a7a4bd3729db8a",
      "parents": [
        "9908b3d820f7574ef432f22d280c7f1f5065f67f",
        "2f0d86cf2e9ce9e94083f8544cd6593295df8850"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 15 14:20:53 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 15 14:20:53 2009 -0700"
      },
      "message": "Merge change 4224 into donut\n\n* changes:\n  Add test for GServices write permission, and remove dummy placeholder framework permission test.\n"
    },
    {
      "commit": "2f0d86cf2e9ce9e94083f8544cd6593295df8850",
      "tree": "d0917119738f190b73a2ea958a0e703d40ea1c12",
      "parents": [
        "2c723ee0cc9db37b61f55e53ff739ca3fe9cbe8a"
      ],
      "author": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Mon Jun 15 14:15:19 2009 -0700"
      },
      "committer": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Mon Jun 15 14:15:19 2009 -0700"
      },
      "message": "Add test for GServices write permission, and remove dummy placeholder framework permission test.\n"
    },
    {
      "commit": "ea196fc50e9711207eddb1f546fec1463b615fc0",
      "tree": "2c7c3b7290cdbb36aba2058ea020a9474e26aec7",
      "parents": [
        "2c723ee0cc9db37b61f55e53ff739ca3fe9cbe8a"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Mon Jun 15 13:10:34 2009 -0700"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Mon Jun 15 13:19:25 2009 -0700"
      },
      "message": "More tests to check permissions in PackageManager api\u0027s are enforced\n"
    },
    {
      "commit": "9f2f87d92b3c23680fa7c24dbccf67976d0968d3",
      "tree": "9282bc7a04c1421e015321a425cccc58b13174b9",
      "parents": [
        "3adf7678cdf8fa955627e096bb5c27b94adc3079"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Mon Jun 15 12:05:43 2009 -0700"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Mon Jun 15 12:23:15 2009 -0700"
      },
      "message": "Add tests to check permissions in PackageManager api\u0027s\n"
    },
    {
      "commit": "3adf7678cdf8fa955627e096bb5c27b94adc3079",
      "tree": "7d9abf85019f81752710c57903e9051b834af043",
      "parents": [
        "e6881c6300193422af6b33edf4380ac933315504",
        "9faa04fd85efa0be5c883e3136f06fa85b525ad6"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 15 10:48:28 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 15 10:48:28 2009 -0700"
      },
      "message": "Merge change 4184 into donut\n\n* changes:\n  Add permission test structure for private framework permissions.\n"
    },
    {
      "commit": "9faa04fd85efa0be5c883e3136f06fa85b525ad6",
      "tree": "a97aea8a119656064951aa19550d1adac305cc6c",
      "parents": [
        "3d59ee7aa66a5b1e80f5042f8d872dd9819b5f40"
      ],
      "author": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Mon Jun 15 10:40:56 2009 -0700"
      },
      "committer": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Mon Jun 15 10:43:40 2009 -0700"
      },
      "message": "Add permission test structure for private framework permissions.\n"
    },
    {
      "commit": "c2922687fa8f953cc1325a6416af5be43cb41fed",
      "tree": "b4f7d0a0ce64f6b61f16ec76ee65f0689fe594e3",
      "parents": [
        "6c84343f0794c368e79c58b715ffad268b8e219c",
        "0528cd03b27298cb7f5cb7e371e29deb8e05ae6a"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 15 10:17:18 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 15 10:17:18 2009 -0700"
      },
      "message": "Merge change 4182 into donut\n\n* changes:\n  Add more data to reliability test report, includes min, max, std, run data.\n"
    },
    {
      "commit": "0528cd03b27298cb7f5cb7e371e29deb8e05ae6a",
      "tree": "3e5cfb60f45279ac56381f7934a0932f2d3932f9",
      "parents": [
        "903f311fdc79b8dc804b63d0e397453d9b0e8d44"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Mon Jun 15 10:13:58 2009 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Mon Jun 15 10:13:58 2009 -0700"
      },
      "message": "Add more data to reliability test report, includes min, max, std, run data.\n"
    },
    {
      "commit": "d83d6606d62e27effc27be48d6050914deefe9eb",
      "tree": "b11ebd6ca82ed3c1f4bd3db1c7b6229317ad5a97",
      "parents": [
        "0304325dd72ff8713c8444e909d387af1447f86f",
        "903f311fdc79b8dc804b63d0e397453d9b0e8d44"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 15 09:37:01 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 15 09:37:01 2009 -0700"
      },
      "message": "Merge change 4106 into donut\n\n* changes:\n  Adjust order of file/section list in output diff\n"
    },
    {
      "commit": "8d17f3f24bbda9a9cd7ea08c5925508dc2c011be",
      "tree": "cf7e5ebb721354bfffc41d2ab4932cb70ea3c033",
      "parents": [
        "3d59ee7aa66a5b1e80f5042f8d872dd9819b5f40"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Fri Jun 05 13:22:28 2009 +0100"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Mon Jun 15 09:05:26 2009 +0100"
      },
      "message": "Run search dialog in the system process.\n\nFixes http://b/issue?id\u003d1905863\n\nThis is needed to address two security issues with global search:\nhttp://b/issue?id\u003d1871088 (Apps can read content providers through GlobalSearch)\nhttp://b/issue?id\u003d1819627 (Apps can use GlobalSearch to launch arbirtrary intents)\n\nThis also fixes http://b/issue?id\u003d1693153 (SearchManager.OnDismissListener\nnever gets called)\n\nTo fix the security issues, GlobalSearch also needs to require\na non-app permission to access its content provider and launch intents.\n"
    },
    {
      "commit": "1cf587496fcb1d652bab9fc6792fb106b6fefaa4",
      "tree": "96e989c088b0e2fb8560d5b2e24562188a128e19",
      "parents": [
        "6599426f74371c823fcfe570f61577262eb0df44"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Jun 12 11:06:24 2009 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Jun 12 16:21:24 2009 -0700"
      },
      "message": "Add RestoreFileHelper, BackupDataInput, and add java wrappers for the methods on BackupDataOutput.\n"
    },
    {
      "commit": "903f311fdc79b8dc804b63d0e397453d9b0e8d44",
      "tree": "ad4d98d9c75c45acda16a15181fe1fc23e727bf3",
      "parents": [
        "7504da036834a661684185ef11ec2ec50a18ce1b"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Fri Jun 12 15:03:45 2009 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Fri Jun 12 15:03:45 2009 -0700"
      },
      "message": "Adjust order of file/section list in output diff\n"
    },
    {
      "commit": "78f0f8cb2efe9410127c39201e240f6d438eb53c",
      "tree": "a867c2cdecedb12288837559c04c729e9466c634",
      "parents": [
        "e8966e126388223de119c909d572fb8d1406a3ac",
        "ce88cb15b52998e16c3ba548a4ec49117a835e21"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 11 19:50:05 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 11 19:50:05 2009 -0700"
      },
      "message": "Merge changes 3953,3954 into donut\n\n* changes:\n  Make the file backup helper not crash if a file you requested can\u0027t be stated.  This means you don\u0027t need to know if the files you are backing up exist or not -- we\u0027ll figure it out for you.\n  Fix SharedPrefsBackupHelper so it doesn\u0027t hard code the paths to the files.\n"
    },
    {
      "commit": "261a1953232b70f7523d8f14aa70527161df1e53",
      "tree": "0f8e11236a2e601d838305320b91e7d9209dba8b",
      "parents": [
        "fa699ea22a13a92694de75ef948a81da23e71642"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu Jun 11 15:42:23 2009 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu Jun 11 15:42:23 2009 -0700"
      },
      "message": "Update control files (pass/fail/nontext/crash) to results from CRB45\n"
    },
    {
      "commit": "ce88cb15b52998e16c3ba548a4ec49117a835e21",
      "tree": "dc02e85657a63858b45a5eef8f99cbf5efae6339",
      "parents": [
        "23ecae3bbb60c5af940f3a22170d75eb6ac05b69"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 11 11:27:16 2009 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 11 14:51:45 2009 -0700"
      },
      "message": "Make the file backup helper not crash if a file you requested\ncan\u0027t be stated.  This means you don\u0027t need to know if the files\nyou are backing up exist or not -- we\u0027ll figure it out for you.\n"
    },
    {
      "commit": "23ecae3bbb60c5af940f3a22170d75eb6ac05b69",
      "tree": "1138102ba856743cffd931121409a71c2bae37c3",
      "parents": [
        "0b77453076a22569f24318d194b378b68f11a63e"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 10 17:07:15 2009 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 11 11:29:57 2009 -0700"
      },
      "message": "Fix SharedPrefsBackupHelper so it doesn\u0027t hard code the paths to the files.\n\nThis took quite a bit of refactoring.\n"
    },
    {
      "commit": "4a60b887d4b9744126e62b094a9597ee8e924640",
      "tree": "3bf28801626bf6ee7484b1f908fa124feae8f045",
      "parents": [
        "b11e670e56b30022dbaaa921390005a95dfd337b",
        "2ab6f1fe0b17d281ea215f8ca412a5e1992011cc"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 10 15:03:06 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 10 15:03:06 2009 -0700"
      },
      "message": "Merge change 3761 into donut\n\n* changes:\n  Added support to record page load time for each url.\n"
    },
    {
      "commit": "2ab6f1fe0b17d281ea215f8ca412a5e1992011cc",
      "tree": "a7335c6f74566e77daeaa5c9833f7073dd3fa83d",
      "parents": [
        "137c45036699eeceb061a47ab14d9a7eb860674d"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Wed Jun 10 13:37:03 2009 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Wed Jun 10 13:37:03 2009 -0700"
      },
      "message": "Added support to record page load time for each url.\n"
    },
    {
      "commit": "174ad503ee5b24721d7d632ba9c68b9cd0bd6dd6",
      "tree": "190b3b20e71960b6e7ce8549c0bd270aa83e6278",
      "parents": [
        "3b277c700e6907ee0813839604ac60df2141c557"
      ],
      "author": {
        "name": "Satish Sampath",
        "email": "satish@android.com",
        "time": "Wed Jun 10 12:03:47 2009 +0100"
      },
      "committer": {
        "name": "Satish Sampath",
        "email": "satish@android.com",
        "time": "Wed Jun 10 12:06:46 2009 +0100"
      },
      "message": "In SearchablesTest, use the always available globalsearch.\n\nThe earlier used googlesearch package may not be available in some devices so switching to globalsearch which has searchable info relevant for this unit test.\n"
    },
    {
      "commit": "f642aa2a44e63aa105bbc6aec59f9bee261986ef",
      "tree": "c589f7325332545928fda7a4e846ec43a24b7474",
      "parents": [
        "be19df0a4dcc5c9f2214935cfe6504df18be8697"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon Jun 08 22:36:10 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon Jun 08 23:24:18 2009 -0700"
      },
      "message": "Removes gestures from ListView.\n"
    },
    {
      "commit": "7757656a11ba7050274c337fd2dc2f18f9e7806f",
      "tree": "6f80ad437120d062fa91827ea7ed9d9bff0c3d51",
      "parents": [
        "19cd309f9eccdf8454dc6e5076013588b7a170a3"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Sun Jun 07 13:12:20 2009 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Sun Jun 07 13:12:20 2009 -0700"
      },
      "message": "Changed logic to handle timeout pages.\n"
    },
    {
      "commit": "0e74aa0f7ed90d46e0bdde02bf9b7b29c6b95bd8",
      "tree": "fb8d2914be4fae6b8fec70bc5eb0a1cb69e47853",
      "parents": [
        "f9acde27486bcc6eea1092073f7b47c31749efd6"
      ],
      "author": {
        "name": "Satish Sampath",
        "email": "satish@android.com",
        "time": "Fri Jun 05 15:04:32 2009 +0100"
      },
      "committer": {
        "name": "Satish Sampath",
        "email": "satish@android.com",
        "time": "Fri Jun 05 15:40:49 2009 +0100"
      },
      "message": "Fix broken Searchables unit tests.\n\nThe newly added code was using methods which were not overridden by the unit test, fixed now.\n"
    },
    {
      "commit": "f9acde27486bcc6eea1092073f7b47c31749efd6",
      "tree": "f82fb2fb4417e0774c8bfc56e21344877238dce7",
      "parents": [
        "7ebda6f110708bdb704f8700a6b3473249b12baf"
      ],
      "author": {
        "name": "Satish Sampath",
        "email": "satish@android.com",
        "time": "Thu Jun 04 11:51:17 2009 +0100"
      },
      "committer": {
        "name": "Satish Sampath",
        "email": "satish@android.com",
        "time": "Fri Jun 05 10:34:53 2009 +0100"
      },
      "message": "Include web search providers in Searchables.\n\n- Along with ACTION_SEARCH we now enumate ACTION_WEB_SEARCH as well so web search providers are covered in the searchables list. This fixes a broken unit test.\n- Moved get/setPreferredWebSearchActivity and get-all-web-search-providers implementation to this module when the searchables list gets updated, so that it happens on boot and on package add/remove events and remains up to date. The duplicate code in WebSearchProvider will be removed in a separate change.\n- Also made Searchables broadcast an intent when the searchables list got rebuilt, so components such as GlobalSearch/SuggestionSources no longer need to do this on their own.\n"
    },
    {
      "commit": "8ae2335a3c93d0c00e998fdec18f64dfe43b94cb",
      "tree": "e4233d7c7c87d76cab05ebe98a6330f9b4731155",
      "parents": [
        "85dfec8c35d4e3216591bd2e534bbebd6338b969"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jun 04 13:53:57 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jun 04 13:53:57 2009 -0700"
      },
      "message": "rename a few files to camel-case, add copyright notices\n"
    },
    {
      "commit": "17f8fa6b24da34724b4497622f374b27f3041e1c",
      "tree": "1a92246f128f38ae4f80e41772b87d71676d079a",
      "parents": [
        "3d3e307a63144b1bddd534fefd35a557223d52bf"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu Jun 04 11:03:57 2009 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu Jun 04 11:03:57 2009 -0700"
      },
      "message": "Added bugreport collecting mechanism in case of crashes.\n"
    },
    {
      "commit": "53003de64e1d2b8a4ed4433d5192b540653d79ec",
      "tree": "b600813db91c65f14ac621cd83b5790afd54a417",
      "parents": [
        "b9a39cd300998a1a4577ac7eb87f9b505b8621dc"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Wed Jun 03 16:01:58 2009 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Wed Jun 03 16:01:58 2009 -0700"
      },
      "message": "Skip empty lines in test url list.\n"
    },
    {
      "commit": "b9a39cd300998a1a4577ac7eb87f9b505b8621dc",
      "tree": "97bcebbde25f1b08bc05931d22c5d90be38c87d0",
      "parents": [
        "3e8950c0c73f9c1574ce3388c754009edf6bc930"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Wed Jun 03 14:14:27 2009 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Wed Jun 03 14:14:27 2009 -0700"
      },
      "message": "Adding missing callback onJsConfirm to dismiss any confirmation dialogs\n"
    },
    {
      "commit": "3e8950c0c73f9c1574ce3388c754009edf6bc930",
      "tree": "6c96605e1dfa8d1c0c87479070bc3f1ebe06d390",
      "parents": [
        "be512bff60626efc9a4b85d271d6210b9115e5fc"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Wed Jun 03 12:23:09 2009 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Wed Jun 03 12:23:09 2009 -0700"
      },
      "message": "Added new parameter to enable a manual pause between pages\n"
    },
    {
      "commit": "c1823701cc76790494fb622fe58f0942236cd7d0",
      "tree": "4732327a73e57fa5ad55e1724d79fbbf35654141",
      "parents": [
        "963cd006c45716b034f656bf7e7179e6476f7e4d"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Mon Jun 01 10:53:06 2009 +0100"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Wed Jun 03 12:53:42 2009 +0100"
      },
      "message": "Handle EOF correctly in MemoryFile input stream.\n\nBefore, the variants of MemoryFile.MemoryInputStream.read() would throw\nIOException or  IndexOutOfBoundsException if EOF was encountered\nbefore the requested number of bytes was read. This violates\nthe contract of InputStream.read().\n\nThis patch makes read() return the number of bytes available, if any.\nIf already at EOF, -1 is returned. The patch also adds new tests,\nwhich checks cases where MemoryFile.MemoryInputStream.read()\nshould throw IndexOutOfBoundsException or return -1. several of these\ntests failed with the old code and pass now.\n\nThis fixes http://b/issue?id\u003d1881894\n"
    },
    {
      "commit": "963cd006c45716b034f656bf7e7179e6476f7e4d",
      "tree": "fddf34e58d6cb5b7b8fb5afe0df3e98a76e7f959",
      "parents": [
        "8dbe612dc60526d635e57257b58627b33a099678"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Fri May 29 14:05:12 2009 +0100"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Wed Jun 03 12:53:42 2009 +0100"
      },
      "message": "Allow creating AssetFileDescriptors for MemoryFiles.\n\nThis allows content providers to use in-memory data to implement\nContentProvider.openAssetFile(), instead of just normal files\nand sockets as before.\n\nTo test cross-process use of AssetFileDescriptors for MemoryFiles,\na test content provider and a client for it are added to\nAndroidTests.\n\nFixes http://b/issue?id\u003d1871731\n"
    },
    {
      "commit": "7322c96cc0c2524d399fb43fb406fb6324a795c8",
      "tree": "330e639369186ed365deb5eb05338c3bec0d3146",
      "parents": [
        "1a21de56b9e3e69413ee6addc0e776b40f79782e",
        "3dfd0e131efab40df4beba1e40d232a4fcf807dc"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 16:42:42 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 02 16:42:42 2009 -0700"
      },
      "message": "Merge change 2967 into donut\n\n* changes:\n  Fixed issue where code for extracting scripts was eclipsed by runTest method.\n"
    },
    {
      "commit": "3dfd0e131efab40df4beba1e40d232a4fcf807dc",
      "tree": "0992e369e3e6ae0f14318bec785286c74c7bcfb6",
      "parents": [
        "b56736b666dd906a214639e24b624ec368e383f5"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Tue Jun 02 15:42:48 2009 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Tue Jun 02 15:42:48 2009 -0700"
      },
      "message": "Fixed issue where code for extracting scripts was eclipsed by runTest method.\n"
    },
    {
      "commit": "baae313f896d8048f23e4acc76e554c8aa4667bd",
      "tree": "8d0f8e633e0ec47d4c4fad4b4a204f636ce2f00f",
      "parents": [
        "f5df83035a45173f9ecdeaef03b68abc8a940ace"
      ],
      "author": {
        "name": "Tammo Spalink",
        "email": "tammo@google.com",
        "time": "Tue May 12 17:56:42 2009 +0800"
      },
      "committer": {
        "name": "Tammo Spalink",
        "email": "tammo@google.com",
        "time": "Tue Jun 02 11:10:53 2009 +0800"
      },
      "message": "support more minor cdms sms bearer data subparameters\n\n- also clean up CdmaSmsAddress\n"
    },
    {
      "commit": "627f9343b5fe6160d52897141a86a3a9d3f99e6a",
      "tree": "7e31c7a18480c587d3cfda2335ec52d5f833a002",
      "parents": [
        "892771ab81f79a6b0cf9735701760c5a12d6ab85"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Mon Jun 01 15:26:08 2009 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Mon Jun 01 15:26:08 2009 -0700"
      },
      "message": "Fixed bug where test status is not marked \"DONE\" when completed\n"
    },
    {
      "commit": "892771ab81f79a6b0cf9735701760c5a12d6ab85",
      "tree": "8f5740676eb8314dda7248ee8936b7c09c921347",
      "parents": [
        "ff0d91479d3c8523bc290bd1b65fcd2546be1d40"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Mon Jun 01 13:51:21 2009 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Mon Jun 01 13:51:21 2009 -0700"
      },
      "message": "Rename WRITE_SDCARD to WRITE_EXTERNAL_STORAGE in browser test app\n"
    },
    {
      "commit": "40d87ee4867baa25fd7a824f324ea7040bf5bc23",
      "tree": "821c968212366ae6e6b3afbd1215cb6ec37a30d7",
      "parents": [
        "50566b3554f440d6b84a696875147d8d21682b10"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Mon Jun 01 12:22:51 2009 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Mon Jun 01 12:22:51 2009 -0700"
      },
      "message": "Removing @Override to fix the build\n"
    },
    {
      "commit": "65455a1a46e3bec020befd27ff5ad6bfdab61a7d",
      "tree": "072548a78697f3f81740dc0f89865e6ba5c31380",
      "parents": [
        "162c9d0e90eaa71adc8c7d1456d1a9a95e638c47"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Mon Jun 01 11:36:03 2009 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Mon Jun 01 11:36:03 2009 -0700"
      },
      "message": "Update reliability test code. Use a separate activity with simpler calback mechanism.\n"
    },
    {
      "commit": "5a3a77dabd744d5be79d7745c2a977c108a9ad98",
      "tree": "2c5ad40a1c6c967839c60f91542eb99ca599502e",
      "parents": [
        "181fafaf48208978b8ba2022683ffa78aaeddde1"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Mon Jun 01 09:25:28 2009 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Mon Jun 01 09:25:28 2009 -0700"
      },
      "message": "base: Rename WRITE_SDCARD -\u003e WRITE_EXTERNAL_STORAGE\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "181fafaf48208978b8ba2022683ffa78aaeddde1",
      "tree": "7c062847d418415e28813e70aac53c8c47e4ff69",
      "parents": [
        "c01159bb00f7273f9b051dfbbe6bc10d54d3a846"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu May 14 11:12:14 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Sun May 31 13:10:03 2009 -0700"
      },
      "message": "Retool the backup process to use a new \u0027BackupAgent\u0027 class\n\nBackups will be handled by launching the application in a special\nmode under which no activities or services will be started, only\nthe BackupAgent subclass named in the app\u0027s android:backupAgent\nmanifest property.  This takes the place of the BackupService class\nused earlier during development.\n\nIn the cases of *full* backup or restore, an application that does\nnot supply its own BackupAgent will be launched in a restricted\nmanner; in particular, it will be using the default Application\nclass rather than any manifest-declared one.  This ensures that the\napp is not running any code that may try to manipulate its data\nwhile the backup system reads/writes its data set.\n"
    }
  ],
  "next": "ef354fdd634de93004fddd7966d70f70a1351ca8"
}
