)]}'
{
  "log": [
    {
      "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": "dbee95cacff9d2faf30638e64abe26fbeb128787",
      "tree": "a9c7aa1fe367603b50e777ab65f0bb7371053353",
      "parents": [
        "b71951591d72cddb4dbc3d39778dfcb5597a5733",
        "8031a3df2fd0c38d85eeae39c1ea2c83e813f4ff"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 18:24:26 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 18:24:26 2009 -0700"
      },
      "message": "Merge change 6317 into donut\n\n* changes:\n  Make enable/provisioning of the backup service a two-step process\n"
    },
    {
      "commit": "8031a3df2fd0c38d85eeae39c1ea2c83e813f4ff",
      "tree": "4969dcee824e9a26164cda1eab4138dd3281f98f",
      "parents": [
        "8d07c0684619b6c30f525d25d92835254a7220a9"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Jul 06 16:36:05 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Jul 06 17:43:03 2009 -0700"
      },
      "message": "Make enable/provisioning of the backup service a two-step process\n\nThis CL adds the concept of \u0027provisioned\u0027 to the backup manager.  No backups\nwill be scheduled until the user has indicated that backups are to be enabled\n*and* has clicked all the way through the setup wizard.\n\nWhen the user first turns on the backup system, the delay before the initial\nbackup pass is different from the periodic backup interval.  Currently that\ninitial delay is 12 hours.  The intent here is to guess at a less-active time\nfor performing that first backup pass.\n\nNOTE: currently the backup service defaults to \u0027provisioned\u0027.  Once the real\ncode goes live in Setup Wizard, this will be changed to default to\nnot-provisioned until the user has confirmed all the relevant UI.\n"
    },
    {
      "commit": "b71951591d72cddb4dbc3d39778dfcb5597a5733",
      "tree": "0ff9f834f3ec48179ab2413532105aa5e3f4b273",
      "parents": [
        "870e09fcd2dfdc12ac318962efd28b0420c562bb",
        "70c874ba20b586712a7550b6c5efeb6dc0fdf9fa"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 17:32:09 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 17:32:09 2009 -0700"
      },
      "message": "Merge change 6287 into donut\n\n* changes:\n  Restore GPS state and ringer/vibrate toggles.\n"
    },
    {
      "commit": "70c874ba20b586712a7550b6c5efeb6dc0fdf9fa",
      "tree": "5c4d89765b7da01c927d7ba954973e309557e035",
      "parents": [
        "4492bcb851f4ee862a446664eb9045045ebb7b5e"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Jul 06 14:53:25 2009 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Jul 06 17:18:46 2009 -0700"
      },
      "message": "Restore GPS state and ringer/vibrate toggles.\n\nInform backup manager when sync flags change. Set ringer/vibrate mode.\n"
    },
    {
      "commit": "870e09fcd2dfdc12ac318962efd28b0420c562bb",
      "tree": "e96f3395c7176695e7007b21ec054c1e3d5a5e71",
      "parents": [
        "453dd50e707aa3a4d24240935f3ff7ea0a08dc7a"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon Jul 06 16:35:25 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon Jul 06 16:45:17 2009 -0700"
      },
      "message": "Fixes #1963229. Introduces Context#isRestricted().\n\nA restricted Context is a special type of Context that prevents specific features\nfrom being used. For instance, android:onClick, used by View, can be dangerous when\nused from within apps widgets. By using a restricted Context to inflate apps widgets,\nwidgets providers are prevented from using android:onClick.\n"
    },
    {
      "commit": "453dd50e707aa3a4d24240935f3ff7ea0a08dc7a",
      "tree": "440040b666d0b881402d08870a569ffa38ac35da",
      "parents": [
        "8d07c0684619b6c30f525d25d92835254a7220a9",
        "52ae06521a8d4c48757b126cff233f037d0a16ba"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 16:28:03 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 16:28:03 2009 -0700"
      },
      "message": "Merge change 6307 into donut\n\n* changes:\n  Fixes a compatibility issue with users that have the old TTS installed already.\n"
    },
    {
      "commit": "52ae06521a8d4c48757b126cff233f037d0a16ba",
      "tree": "38574aac9ed11b81a06ce9b537533ced434ad5a9",
      "parents": [
        "da93c26a3d2ee0b7d51561b786bde63b7b238c50"
      ],
      "author": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Mon Jul 06 16:10:32 2009 -0700"
      },
      "committer": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Mon Jul 06 16:10:32 2009 -0700"
      },
      "message": "Fixes a compatibility issue with users that have the old TTS\ninstalled already.\n"
    },
    {
      "commit": "8d07c0684619b6c30f525d25d92835254a7220a9",
      "tree": "d865d8542f5962652da61553d28a5b5869efeee1",
      "parents": [
        "da93c26a3d2ee0b7d51561b786bde63b7b238c50",
        "34ebd0e1bbd54def9fea020f4a9083382160fd3d"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 15:49:26 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 15:49:26 2009 -0700"
      },
      "message": "Merge change 6305 into donut\n\n* changes:\n  Fix up permissions for \u0027dumpsys backup\u0027\n"
    },
    {
      "commit": "34ebd0e1bbd54def9fea020f4a9083382160fd3d",
      "tree": "73f0fc81bcd4443058132a6e152083ac282fcddc",
      "parents": [
        "991eec03a73f8803d0f8c80b418480ea25293cfb"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Jul 06 15:44:54 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Jul 06 15:44:54 2009 -0700"
      },
      "message": "Fix up permissions for \u0027dumpsys backup\u0027\n"
    },
    {
      "commit": "da93c26a3d2ee0b7d51561b786bde63b7b238c50",
      "tree": "cb46b52cfad2b37c5720b674e79529764981ff85",
      "parents": [
        "21509240b0ba00675ffc69038f20726bf8666c57",
        "a3f89295ad4c7bd65a25144d2be1d45ea0acf87f"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 14:38:39 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 14:38:39 2009 -0700"
      },
      "message": "Merge change 6271 into donut\n\n* changes:\n  Propagating the error codes through the TtsService\n"
    },
    {
      "commit": "21509240b0ba00675ffc69038f20726bf8666c57",
      "tree": "4de2d645cfde32f2b2d97fa616cb7fa0c4e81a13",
      "parents": [
        "d2882fa1790a976d939f29a5e39e5e7d1bc677f2",
        "617202a53a26d1b38a41ce69c40b1fffd784c178"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 14:37:54 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 14:37:54 2009 -0700"
      },
      "message": "Merge change 6283 into donut\n\n* changes:\n  Fix a bug where clicking the \"more results\" suggestion with the trackball did not seem to expand to show the corpus selectors. (http://b/1906643)\n"
    },
    {
      "commit": "d2882fa1790a976d939f29a5e39e5e7d1bc677f2",
      "tree": "03d5c4b487831eb93fa0497fd3c543e4b2d0d817",
      "parents": [
        "991eec03a73f8803d0f8c80b418480ea25293cfb",
        "7ac6f3dac04203aa4da86a17967a9aea5a9624bf"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 14:32:18 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 14:32:18 2009 -0700"
      },
      "message": "Merge change 6282 into donut\n\n* changes:\n  Fixes #1963214. ProgressDialog was using the wrong indeterminate progress asset.\n"
    },
    {
      "commit": "7ac6f3dac04203aa4da86a17967a9aea5a9624bf",
      "tree": "ffe1bffa35c63cd8bfb6f5ba3d0ef32ea7c03187",
      "parents": [
        "79ec07b333f8982ee83de8eeb0b1927a6cb112ed"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon Jul 06 14:31:39 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon Jul 06 14:31:39 2009 -0700"
      },
      "message": "Fixes #1963214. ProgressDialog was using the wrong indeterminate progress asset.\n"
    },
    {
      "commit": "617202a53a26d1b38a41ce69c40b1fffd784c178",
      "tree": "13cec167c3239c40b2c83c83aa4bf2dbd396036a",
      "parents": [
        "4bca97ecaf04c50d5ed49920d119f9ffa6c29402"
      ],
      "author": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Mon Jul 06 14:29:25 2009 -0700"
      },
      "committer": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Mon Jul 06 14:29:25 2009 -0700"
      },
      "message": "Fix a bug where clicking the \"more results\" suggestion with the trackball\ndid not seem to expand to show the corpus selectors. (http://b/1906643)\n\nIt turns out that when the trackball was used to select this item, onItemClick\nwas getting called on the listener twice in AutoCompleteTextView#onKeyUp:\nonce when we call onKeyUp on the DropDownListView, and once a little further\ndown when we call performCompletion(). In our case, performCompletion() is\nuseless since it was intended for normal AutoCompleteTextViews which populate\ntext into the TextView when an item in the list is clicked, but we do not\nrely on this. So the easiest fix is just to make performCompletion() do nothing\nin our SearchAutoComplete subclass.\n"
    },
    {
      "commit": "a3f89295ad4c7bd65a25144d2be1d45ea0acf87f",
      "tree": "676cdbb327626e0bce4ed8fa2aa812ce2222f270",
      "parents": [
        "9479a516cffd990ed3dfc209c5e768f4fb447812"
      ],
      "author": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Mon Jul 06 14:12:36 2009 -0700"
      },
      "committer": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Mon Jul 06 14:14:52 2009 -0700"
      },
      "message": "Propagating the error codes through the TtsService\n"
    },
    {
      "commit": "991eec03a73f8803d0f8c80b418480ea25293cfb",
      "tree": "94e269df0871e1241a357836b1927f958ad146ac",
      "parents": [
        "79ec07b333f8982ee83de8eeb0b1927a6cb112ed",
        "78c405178c57bb45e40f1e2839d6a18d91f7f02c"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 14:09:16 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 14:09:16 2009 -0700"
      },
      "message": "Merge change 6252 into donut\n\n* changes:\n  Don\u0027t re-parse the framework resources all the time.\n"
    },
    {
      "commit": "79ec07b333f8982ee83de8eeb0b1927a6cb112ed",
      "tree": "01940557668708b75275d90f909bb97212c0ac1f",
      "parents": [
        "56fbd8d86a1ea60ae42185349cf8809df24d262a",
        "4296fc4d326447875c26a925f12b3935632f13bb"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 13:10:50 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 13:10:50 2009 -0700"
      },
      "message": "Merge change 6241 into donut\n\n* changes:\n  Fixes #1444844. Set a maximum fling velocity in scrollable views.\n"
    },
    {
      "commit": "56fbd8d86a1ea60ae42185349cf8809df24d262a",
      "tree": "3df4cea13d71f8a0969c470e16480ab3f74dd3df",
      "parents": [
        "57f2cba2db4b5565b0f70bd5501e8d964dce3ad4",
        "3a3b6a12bf395aaa0221bbb359be9e2212c789c2"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 12:56:32 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 12:56:32 2009 -0700"
      },
      "message": "Merge change 6258 into donut\n\n* changes:\n  Fix the comment -- \"charged\" not \"sharted.\"  Also, the other strings on that screen seem to have periods.  I think that\u0027s wrong, but it\u0027s better to be consistent that right.\n"
    },
    {
      "commit": "3a3b6a12bf395aaa0221bbb359be9e2212c789c2",
      "tree": "ecf4b4c232c855cb1671a69efdcc75731edab16c",
      "parents": [
        "55c05e3ed35612a3d755b947ddf460b145cb2172"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Jul 06 15:49:04 2009 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Jul 06 15:49:04 2009 -0400"
      },
      "message": "Fix the comment -- \"charged\" not \"sharted.\"  Also, the other\nstrings on that screen seem to have periods.  I think that\u0027s\nwrong, but it\u0027s better to be consistent that right.\n"
    },
    {
      "commit": "57f2cba2db4b5565b0f70bd5501e8d964dce3ad4",
      "tree": "6e4cabed2e7c0ed909b7e0a6c8f5f06df0dfd8fd",
      "parents": [
        "6eb987aca79db80f8ac4c28ed1cdc5841df8cfd2",
        "55c05e3ed35612a3d755b947ddf460b145cb2172"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 12:39:28 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 12:39:28 2009 -0700"
      },
      "message": "Merge change 6255 into donut\n\n* changes:\n  Fix the comments for the string resources for the charge status.\n"
    },
    {
      "commit": "55c05e3ed35612a3d755b947ddf460b145cb2172",
      "tree": "4f6fe54ff5e7c164c5f65691b6237744e168710c",
      "parents": [
        "c83edf47f42230363fcb33353feec4dd8bf71b5a"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Jul 06 15:38:30 2009 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Jul 06 15:38:30 2009 -0400"
      },
      "message": "Fix the comments for the string resources for the charge status.\n"
    },
    {
      "commit": "6eb987aca79db80f8ac4c28ed1cdc5841df8cfd2",
      "tree": "725f7c2f5d8bdef6bb4660ebec91b2e13fca6511",
      "parents": [
        "0d725f7d5a7efd9dc63f6ddb67a619d659bb4428",
        "c83edf47f42230363fcb33353feec4dd8bf71b5a"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 12:09:34 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 12:09:34 2009 -0700"
      },
      "message": "Merge change 6246 into donut\n\n* changes:\n  Fix bugs 1317754 - \"Idle screen displays \"Charging (100%)\" even when fully charged.\" and 1885870 - \"Shorten \u0027Clear notification\u0027 button to \u0027Clear\u0027 to match latest design\"\n"
    },
    {
      "commit": "c83edf47f42230363fcb33353feec4dd8bf71b5a",
      "tree": "69f5fc207fd3fa991c526bb88cc6c962f4b430d3",
      "parents": [
        "1f2bb46b9a2762a6f57ca8801d91e9dee002158f"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Jul 06 14:56:53 2009 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Jul 06 14:56:53 2009 -0400"
      },
      "message": "Fix bugs 1317754 - \"Idle screen displays \"Charging (100%)\" even when fully charged.\"\nand 1885870 - \"Shorten \u0027Clear notification\u0027 button to \u0027Clear\u0027 to match latest design\"\n"
    },
    {
      "commit": "0d725f7d5a7efd9dc63f6ddb67a619d659bb4428",
      "tree": "e042ffc02a4c383fd7c2378f003482b70bd53b22",
      "parents": [
        "9479a516cffd990ed3dfc209c5e768f4fb447812",
        "b6787f2ee535338bb96df0ab8ad70a9f82760a25"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 11:54:34 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 11:54:34 2009 -0700"
      },
      "message": "Merge change 6162 into donut\n\n* changes:\n  Hold a wakelock during backup/restore/clear operations\n"
    },
    {
      "commit": "b6787f2ee535338bb96df0ab8ad70a9f82760a25",
      "tree": "3ee86e968edcbce4bc241e19c882cc13f3e89d07",
      "parents": [
        "7e8cbfc2bc3ea2334c38db7fd2b6a1e17eefcac6"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Jul 02 17:40:45 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Jul 06 11:49:49 2009 -0700"
      },
      "message": "Hold a wakelock during backup/restore/clear operations\n\nWe need to make sure we stay alive for the duration of a backup or (especially)\nrestore operation.  The existing Handler-based timing system was simply not\nproperly functional, so it\u0027s been retooled to use a repeating alarm delivering a\nbroastcast PendingIntent to our registered receiver.\n\nWe acquire a partial wake lock in the broadcast receiver [i.e. while the Alarm\nManager is holding one for the duration of broadcast delivery] and pass the\nwakelock object to the backup thread, which eventually releases it when it\u0027s\nfinsihed operations.  A similar pattern is used for the threads handling restore\nand clear.\n"
    },
    {
      "commit": "4296fc4d326447875c26a925f12b3935632f13bb",
      "tree": "b2963d32112fb2d3d961ebd48dc8a4b67b8c4d64",
      "parents": [
        "816cf52abd8f45770f0ac922bbb819184ed4b90f"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon Jul 06 11:48:52 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon Jul 06 11:48:52 2009 -0700"
      },
      "message": "Fixes #1444844. Set a maximum fling velocity in scrollable views.\n"
    },
    {
      "commit": "9479a516cffd990ed3dfc209c5e768f4fb447812",
      "tree": "140e8f9edf74555678c0fea373bea879c4a58484",
      "parents": [
        "70421cf6b4e415fd6ce2b3bd55f945dc13b6306c",
        "aa00e390c191f9b4eaee8ecade88c74571b2b3f3"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 11:37:13 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 11:37:13 2009 -0700"
      },
      "message": "Merge change 6154 into donut\n\n* changes:\n  Fix bug (#1947162)\n"
    },
    {
      "commit": "70421cf6b4e415fd6ce2b3bd55f945dc13b6306c",
      "tree": "3c356bb5aba44e29903e2cac1632badad35b5808",
      "parents": [
        "87e393f1c81f190fa62d23059fc1109398a6e58b",
        "a6e45b4bb33f1f6c31abf11e098171964c4e38d8"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 11:34:28 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 11:34:28 2009 -0700"
      },
      "message": "Merge change 6237 into donut\n\n* changes:\n  Add a silent ringtone.\n"
    },
    {
      "commit": "a6e45b4bb33f1f6c31abf11e098171964c4e38d8",
      "tree": "bb6c56d11c79081514aece4418b4b1e4375f5d78",
      "parents": [
        "73bb511adee5444ecd041146fbbd3677fb635949"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jul 06 11:12:26 2009 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jul 06 11:33:06 2009 -0700"
      },
      "message": "Add a silent ringtone.\n"
    },
    {
      "commit": "aa00e390c191f9b4eaee8ecade88c74571b2b3f3",
      "tree": "bacdd86175d1511303e87b9753e94451d0cb3e8a",
      "parents": [
        "a1b653d41df9a7999e1dba2a508295671ff6771d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 02 16:26:39 2009 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jul 06 11:30:29 2009 -0700"
      },
      "message": "Fix bug (#1947162)\n\nThe bug (1947162) is caused by the fact that sometimes, surfaceChanged() is called after onCompletion().\nIn surfaceChanged(), start() is called automatically. The fix is to use a flag is avoid calling start()\nwhen onCompletion() has been called already.\n"
    },
    {
      "commit": "87e393f1c81f190fa62d23059fc1109398a6e58b",
      "tree": "1af4e0941e9d3483a0a901488b6d65fb6655ac64",
      "parents": [
        "ef1f21b34f5624adb7436d3da927660ed16c97c7",
        "35b86c273ac69bde967d0828c1683c71f0de530a"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 11:26:15 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 11:26:15 2009 -0700"
      },
      "message": "Merge change 6227 into donut\n\n* changes:\n  Adding tts result codes.\n"
    },
    {
      "commit": "78c405178c57bb45e40f1e2839d6a18d91f7f02c",
      "tree": "6e7137f628b8fff1f72c59e5e42f3f4878e0bb39",
      "parents": [
        "ef1f21b34f5624adb7436d3da927660ed16c97c7"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jul 06 11:07:40 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jul 06 11:12:37 2009 -0700"
      },
      "message": "Don\u0027t re-parse the framework resources all the time.\n\nA small optimization to the resource code, to not re-parse the framework\nresources every time we build a new AssetManager.  Instead, you can now\nconstruct a ResTable from a previously created one...  of course, like the\nexisting code for using the data in-place, you can\u0027t delete the original\nResTable until you have deleted the one that has been constructed from it.\n"
    },
    {
      "commit": "ef1f21b34f5624adb7436d3da927660ed16c97c7",
      "tree": "1743d2ac8596606c622e2d0bcd595293b52f828e",
      "parents": [
        "8ad422adaf2eb5d36e0391fcc2cd30a226cf87ab",
        "73bb511adee5444ecd041146fbbd3677fb635949"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 11:09:20 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 11:09:20 2009 -0700"
      },
      "message": "Merge change 6231 into donut\n\n* changes:\n  Don\u0027t trim() in the mediascanner, as that would remove the special \"sort first\" character.\n"
    },
    {
      "commit": "73bb511adee5444ecd041146fbbd3677fb635949",
      "tree": "315acc69c76434a2081538205ae23b960f121428",
      "parents": [
        "899725b05dd5c8c51f9f802d4f0a7190532ce0a5"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jul 06 11:07:27 2009 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jul 06 11:07:27 2009 -0700"
      },
      "message": "Don\u0027t trim() in the mediascanner, as that would remove the special \"sort first\" character.\n"
    },
    {
      "commit": "8ad422adaf2eb5d36e0391fcc2cd30a226cf87ab",
      "tree": "bb543003db6341af46b9229cf27930b6ce452bd6",
      "parents": [
        "899725b05dd5c8c51f9f802d4f0a7190532ce0a5",
        "014a59bf4051e9fe402fe8a7f70996a23136c1c5"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 11:01:43 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 11:01:43 2009 -0700"
      },
      "message": "Merge change 6221 into donut\n\n* changes:\n  Remove links to wikipedia; fix typo; remove .vsd file (bug 1918247).\n"
    },
    {
      "commit": "899725b05dd5c8c51f9f802d4f0a7190532ce0a5",
      "tree": "120b38f309ea59d2c8032bc3ff6c162fb073b5b6",
      "parents": [
        "816cf52abd8f45770f0ac922bbb819184ed4b90f"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jul 06 10:57:01 2009 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jul 06 10:57:01 2009 -0700"
      },
      "message": "Make sure ringtones are sorted correctly.\n"
    },
    {
      "commit": "35b86c273ac69bde967d0828c1683c71f0de530a",
      "tree": "34bbe00c3cbc28f8059a09e88353663c6df890ec",
      "parents": [
        "46841db4f2c7360d3b861a816e51f76acca0d677"
      ],
      "author": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Mon Jul 06 10:51:48 2009 -0700"
      },
      "committer": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Mon Jul 06 10:51:48 2009 -0700"
      },
      "message": "Adding tts result codes.\n"
    },
    {
      "commit": "014a59bf4051e9fe402fe8a7f70996a23136c1c5",
      "tree": "1e50af4b5c857c689a782f3591faa3e02f9f1c04",
      "parents": [
        "46841db4f2c7360d3b861a816e51f76acca0d677"
      ],
      "author": {
        "name": "Katarina Stenstedt",
        "email": "katarina@google.com",
        "time": "Mon Jul 06 10:10:19 2009 -0700"
      },
      "committer": {
        "name": "Katarina Stenstedt",
        "email": "katarina@google.com",
        "time": "Mon Jul 06 10:10:19 2009 -0700"
      },
      "message": "Remove links to wikipedia; fix typo; remove .vsd file (bug 1918247).\n"
    },
    {
      "commit": "816cf52abd8f45770f0ac922bbb819184ed4b90f",
      "tree": "8b604bed1520b662b20598540e4dad8d6b40bc1e",
      "parents": [
        "46841db4f2c7360d3b861a816e51f76acca0d677"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jul 06 09:19:10 2009 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jul 06 09:58:06 2009 -0700"
      },
      "message": "Fix the DEFAULT_SORT_ORDER value for media files. Changing this\nis OK, because existing app will have the old value compiled in\nas a literal, and so will continue to (not) work in the same\nway as before. Add code to media key generator to give a leading\nascii \\001 the special meaning of \"sort first\".\n"
    },
    {
      "commit": "46841db4f2c7360d3b861a816e51f76acca0d677",
      "tree": "606853c4794825f9a9ff57ad374dcee7a101ee2f",
      "parents": [
        "1f2bb46b9a2762a6f57ca8801d91e9dee002158f"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Mon Jul 06 23:31:33 2009 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Mon Jul 06 23:38:48 2009 +0800"
      },
      "message": "Add PPTP and L2TP/IPSec PSK service dispatching\n"
    },
    {
      "commit": "1f2bb46b9a2762a6f57ca8801d91e9dee002158f",
      "tree": "4f6f08617199b28b7b9682540a2e9de469591f39",
      "parents": [
        "3383df385e208807b1dc5f2956f82a7f75f65fd8",
        "7d22e15e1b0d64d38928a927189df5a1e4f1c590"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 03:55:07 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 03:55:07 2009 -0700"
      },
      "message": "Merge change 6204 into donut\n\n* changes:\n  Migrate to new keystore with the CertTool lib.\n"
    },
    {
      "commit": "7d22e15e1b0d64d38928a927189df5a1e4f1c590",
      "tree": "27483d5357febae451c4961d402514161e119953",
      "parents": [
        "699ca3f2518360ea3250ff5a0e5d39e122c64a91"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Mon Jul 06 17:12:53 2009 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Mon Jul 06 17:12:53 2009 +0800"
      },
      "message": "Migrate to new keystore with the CertTool lib.\n"
    },
    {
      "commit": "3383df385e208807b1dc5f2956f82a7f75f65fd8",
      "tree": "491533eae7d6779d3e007322a996d2f97517dbe8",
      "parents": [
        "699ca3f2518360ea3250ff5a0e5d39e122c64a91",
        "fd70bed692859913562907f4b6681f50a90f831b"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 00:04:54 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 00:04:54 2009 -0700"
      },
      "message": "Merge change 6198 into donut\n\n* changes:\n  keystore: Provide a generic getter for native components.\n"
    },
    {
      "commit": "fd70bed692859913562907f4b6681f50a90f831b",
      "tree": "1833c3b919ecc178b3a107799adf4ea48c711f22",
      "parents": [
        "4492bcb851f4ee862a446664eb9045045ebb7b5e"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Mon Jul 06 11:13:25 2009 +0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Mon Jul 06 14:33:09 2009 +0800"
      },
      "message": "keystore: Provide a generic getter for native components.\n"
    },
    {
      "commit": "699ca3f2518360ea3250ff5a0e5d39e122c64a91",
      "tree": "dcdeefe39f5cb52cc02d63039be4c9a4427eb9bc",
      "parents": [
        "4492bcb851f4ee862a446664eb9045045ebb7b5e"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Sat Jul 04 22:19:51 2009 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Sun Jul 05 11:06:01 2009 +0800"
      },
      "message": "Add password field for WiFi configuration.\n\n1. the certtool.h is modified for avoiding the side effect,\n   for saving the configuration with wpa_supplicant.\n2. put the loadLibrary back in CertTool.java\n3. Fix incorrect JNI declarations.\n"
    },
    {
      "commit": "4492bcb851f4ee862a446664eb9045045ebb7b5e",
      "tree": "f455c50cc3d335343d29fc64ae631330bfb96c83",
      "parents": [
        "6b1ab2572ed114beba07230f6fa9c02519cf27df",
        "bf20b9963add781a35de658f3228760015a163c9"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 03 18:40:54 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 03 18:40:54 2009 -0700"
      },
      "message": "Merge change 6081 into donut\n\n* changes:\n  Migrate to the CertTool library.\n"
    },
    {
      "commit": "6b1ab2572ed114beba07230f6fa9c02519cf27df",
      "tree": "395e84d08e8dac9b1ab91324adbea79a81db4833",
      "parents": [
        "24ad29c6dbbf62096bcb41ddb2fa3975720ee625",
        "0102dc6b226aaebe0f437cabf715b9da61890c36"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 03 09:44:29 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 03 09:44:29 2009 -0700"
      },
      "message": "Merge change 6187 into donut\n\n* changes:\n  Fix strings.\n"
    },
    {
      "commit": "0102dc6b226aaebe0f437cabf715b9da61890c36",
      "tree": "21ad75ff9baf6ac5f9f595f5d0981ff051301a47",
      "parents": [
        "116d890aea63a4191a93412f5cecf5defad25201"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Sat Jul 04 00:24:48 2009 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Sat Jul 04 00:24:48 2009 +0800"
      },
      "message": "Fix strings.\n\n* Changes\n  + Remove \"Up time:\" from ongoing event display.\n  + Add hint in disconnected notification.\n"
    },
    {
      "commit": "bf20b9963add781a35de658f3228760015a163c9",
      "tree": "ab310659e9be96273833221ba4dbf9863eba1407",
      "parents": [
        "24ad29c6dbbf62096bcb41ddb2fa3975720ee625"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Jul 02 23:42:12 2009 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Sat Jul 04 00:22:51 2009 +0800"
      },
      "message": "Migrate to the CertTool library.\n\nKeystore is reimplemented and it is mainly for storing\n(key, value) pair generically. The certificate related\nAPIs are moved to the class CertTool instead.\n\nUpdates:\n  Provide the getInstance() which gives the singleton.\n  Fix the missing construction of the BIO in cert.c.\n"
    },
    {
      "commit": "24ad29c6dbbf62096bcb41ddb2fa3975720ee625",
      "tree": "d6d716ca8e362ecdd99aa92e54c5f40aa4d844e8",
      "parents": [
        "7b8f782eaaef392154fe3acd3ffb48c0a81024e9",
        "a734207fd1b73ad367855c8c12e787687b0d4b90"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 03 08:51:59 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 03 08:51:59 2009 -0700"
      },
      "message": "Merge change 6177 into donut\n\n* changes:\n  Two small checks in keymgmt.\n"
    },
    {
      "commit": "7b8f782eaaef392154fe3acd3ffb48c0a81024e9",
      "tree": "6a0f7f15bc55d8703fd35b7e3f232adfb0ba05cf",
      "parents": [
        "2f97e984b52b243a5433596c8c291f35778d6b38",
        "116d890aea63a4191a93412f5cecf5defad25201"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 03 02:52:55 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 03 02:52:55 2009 -0700"
      },
      "message": "Merge change 6183 into donut\n\n* changes:\n  Fix null data handling in ServiceCommand.writeCommand()\n"
    },
    {
      "commit": "116d890aea63a4191a93412f5cecf5defad25201",
      "tree": "b0bd5d04e6cce6717ecb3d62e19ead62d3fd1a26",
      "parents": [
        "4bca97ecaf04c50d5ed49920d119f9ffa6c29402"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Fri Jul 03 17:38:59 2009 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Fri Jul 03 17:38:59 2009 +0800"
      },
      "message": "Fix null data handling in ServiceCommand.writeCommand()\n"
    },
    {
      "commit": "2f97e984b52b243a5433596c8c291f35778d6b38",
      "tree": "7c235a9ba8c04599282b1ac563d2efb5645026de",
      "parents": [
        "922f1b85b9096d9056f1b9e2d777098d1e4ed8b1",
        "426cc625980b39114f2adaddc6e21f70b7ee972e"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 03 00:00:19 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 03 00:00:19 2009 -0700"
      },
      "message": "Merge change 6130 into donut\n\n* changes:\n  Make backup agent run in the system process as well.\n"
    },
    {
      "commit": "922f1b85b9096d9056f1b9e2d777098d1e4ed8b1",
      "tree": "b7a8ea9cf1ba0ec889d7c196c548f6215f3f2bca",
      "parents": [
        "4bca97ecaf04c50d5ed49920d119f9ffa6c29402",
        "1eee698c3e98561e5d9ddab7e4396b9281b31eb3"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 02 22:39:17 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 02 22:39:17 2009 -0700"
      },
      "message": "Merge change 6146 into donut\n\n* changes:\n  Fixing 1949086 Sholes telephony crash after waking from sleep.\n"
    },
    {
      "commit": "a734207fd1b73ad367855c8c12e787687b0d4b90",
      "tree": "be0eb4dd6fe991f4540f6525561a61150cc709c8",
      "parents": [
        "4bca97ecaf04c50d5ed49920d119f9ffa6c29402"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Fri Jul 03 12:09:52 2009 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Fri Jul 03 12:14:36 2009 +0800"
      },
      "message": "Two small checks in keymgmt.\n\n1. Enforce the state check in listkey().\n2. Enforce the password length check.\n"
    },
    {
      "commit": "1eee698c3e98561e5d9ddab7e4396b9281b31eb3",
      "tree": "b7fe80c329756c252de16e7e498697850b1cd4d5",
      "parents": [
        "288fe16c20e2c20556839046d38c487b0b18735c"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Thu Jul 02 20:50:11 2009 -0700"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Thu Jul 02 20:50:11 2009 -0700"
      },
      "message": "Fixing 1949086 Sholes telephony crash after waking from sleep.\n"
    },
    {
      "commit": "4bca97ecaf04c50d5ed49920d119f9ffa6c29402",
      "tree": "4a0f3271a3cda32160565e9c338d33c00b682489",
      "parents": [
        "b29f8283d06c2ab4eb54c991d7ffb5181d91af15"
      ],
      "author": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Thu Jul 02 17:21:22 2009 -0700"
      },
      "committer": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Thu Jul 02 17:21:22 2009 -0700"
      },
      "message": "Removing IPA - IPA is already handled by the phoneme tag.\n"
    },
    {
      "commit": "b29f8283d06c2ab4eb54c991d7ffb5181d91af15",
      "tree": "50cfe447977f7856e59a2da2070216cfa612200f",
      "parents": [
        "7e8cbfc2bc3ea2334c38db7fd2b6a1e17eefcac6",
        "62788e9b48f884a35b89c88911b581daa6a14e08"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 02 16:45:12 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 02 16:45:12 2009 -0700"
      },
      "message": "Merge change 6155 into donut\n\n* changes:\n  Unhide android.speech.tts.TextToSpeech\n"
    },
    {
      "commit": "62788e9b48f884a35b89c88911b581daa6a14e08",
      "tree": "ae687ac953c90021882bdbec348edfe58b79ae07",
      "parents": [
        "d23d7f2d12c20314e1e8ff206fafc8f21745ca2d"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Jul 02 16:29:30 2009 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Jul 02 16:29:30 2009 -0700"
      },
      "message": "Unhide android.speech.tts.TextToSpeech\n"
    },
    {
      "commit": "7e8cbfc2bc3ea2334c38db7fd2b6a1e17eefcac6",
      "tree": "32e9f0c6062ea5ed0528abbdfe8b1116228d5edf",
      "parents": [
        "d23d7f2d12c20314e1e8ff206fafc8f21745ca2d",
        "d595c79cdd16ab90fabbe2d4b352236f901c598b"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 02 15:24:43 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 02 15:24:43 2009 -0700"
      },
      "message": "Merge change 6143 into donut\n\n* changes:\n  Fix the simulator.\n"
    },
    {
      "commit": "d595c79cdd16ab90fabbe2d4b352236f901c598b",
      "tree": "a80df36ea5be3e4a9b855a39993ded60a093b090",
      "parents": [
        "fe11ea5e2df4a4414aa266e93179c3098b03a795"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jul 02 15:23:26 2009 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jul 02 15:23:26 2009 -0700"
      },
      "message": "Fix the simulator.\n"
    },
    {
      "commit": "d23d7f2d12c20314e1e8ff206fafc8f21745ca2d",
      "tree": "4b640ba80d1820d59aea0b53fd49da8f12869d7a",
      "parents": [
        "e15df4017c3625de700e9f9953073f38898bbc89"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Jul 02 14:37:05 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Jul 02 14:37:50 2009 -0700"
      },
      "message": "Add a \u0027wipe\u0027 operation to Bmgr\n\n\"bmgr wipe PACKAGE\" now issues the backup transport clearBackupData() operation\nfor the given package.\n"
    },
    {
      "commit": "e15df4017c3625de700e9f9953073f38898bbc89",
      "tree": "cfdb4b3aa0957fecff028e30ac3eb93e21c3108c",
      "parents": [
        "fe11ea5e2df4a4414aa266e93179c3098b03a795",
        "8c0324752a7f47afd9e84f0a3088954b5d05a94b"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 02 14:30:56 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 02 14:30:56 2009 -0700"
      },
      "message": "Merge change 6132 into donut\n\n* changes:\n  If we can\u0027t get the restore set\u0027s metadata, don\u0027t continue\n"
    },
    {
      "commit": "8c0324752a7f47afd9e84f0a3088954b5d05a94b",
      "tree": "5e485de5800af2b9f70a81a74e1497a057722e70",
      "parents": [
        "9701b3d594868bd6750d5887af560c6295ea091b"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Jul 02 14:28:47 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Jul 02 14:28:47 2009 -0700"
      },
      "message": "If we can\u0027t get the restore set\u0027s metadata, don\u0027t continue\n\nWithout the metadata we can\u0027t verify the version number or the signatures of the\napps whose data we\u0027d be trying to restore against the apps present on device.\nThis is not acceptable; we need to refuse to give data to an unauthenticated\napp.\n"
    },
    {
      "commit": "426cc625980b39114f2adaddc6e21f70b7ee972e",
      "tree": "385da0eb9ccadea47b8e7a19ed26b29c1353cde0",
      "parents": [
        "0d81f6368708b1faa42a3bb6413210e01fea9222"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Jul 02 14:25:21 2009 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Jul 02 14:25:21 2009 -0700"
      },
      "message": "Make backup agent run in the system process as well.\n"
    },
    {
      "commit": "fe11ea5e2df4a4414aa266e93179c3098b03a795",
      "tree": "8b4ca3ac9e150116c6dd548fe47aa51d12bb9425",
      "parents": [
        "0d81f6368708b1faa42a3bb6413210e01fea9222",
        "632d55358013ac3990fc4f71bbdcd2d6220dcf76"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 02 14:20:08 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 02 14:20:08 2009 -0700"
      },
      "message": "Merge change 6126 into donut\n\n* changes:\n  Use \u0027LOCAL_PATH\u0027 instead of \u0027local_path\u0027, so it\u0027s easier to see a diff of the two .mk files.\n"
    },
    {
      "commit": "632d55358013ac3990fc4f71bbdcd2d6220dcf76",
      "tree": "5d82c28924231336ccc7fce8df0bd59e0845a1d8",
      "parents": [
        "2f189fa0f75d6899b9fa7db11f5301bc7850b744"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jul 02 14:18:30 2009 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jul 02 14:18:30 2009 -0700"
      },
      "message": "Use \u0027LOCAL_PATH\u0027 instead of \u0027local_path\u0027, so it\u0027s easier to see a diff of the two .mk files.\n"
    },
    {
      "commit": "0d81f6368708b1faa42a3bb6413210e01fea9222",
      "tree": "c1ec4d870a2a165a6b1da843c68726c9eb7f88ef",
      "parents": [
        "9701b3d594868bd6750d5887af560c6295ea091b",
        "16d79e56ca3fe7606c48882d9b1aef6267d69124"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 02 13:19:55 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 02 13:19:55 2009 -0700"
      },
      "message": "Merge change 6102 into donut\n\n* changes:\n  Backup Wifi supplicant data.\n"
    },
    {
      "commit": "9701b3d594868bd6750d5887af560c6295ea091b",
      "tree": "162f81eb8482d26198bf825beeb9173eee65124a",
      "parents": [
        "4e3e50cfa7cf02270ed0dd454d5c51bf7065bd14",
        "b24a96701a2724bf69c5a34bd70a1bc7177ef0f2"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 02 12:20:29 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 02 12:20:29 2009 -0700"
      },
      "message": "Merge change 5979 into donut\n\n* changes:\n  Remove the constraint to assign new uid when code path changes for system packages\n"
    },
    {
      "commit": "4e3e50cfa7cf02270ed0dd454d5c51bf7065bd14",
      "tree": "eed3b13c97b5ed07cae3fabd2cfc287e44c41e31",
      "parents": [
        "7c5ae202c53be1ab4881a6811aa5bd091c3aef10"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Jul 02 12:14:05 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Jul 02 12:14:05 2009 -0700"
      },
      "message": "Clean up the last two literal permission string usages\n"
    },
    {
      "commit": "7c5ae202c53be1ab4881a6811aa5bd091c3aef10",
      "tree": "09b923df422ef48fc0075ac457c06e08b40ccf09",
      "parents": [
        "a642e313988ec7f9e732ead00edbded8b57d7452",
        "ee0e78af5af3bf23dd928fe5e0ebeb39157eaf66"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 02 12:10:42 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 02 12:10:42 2009 -0700"
      },
      "message": "Merge change 6104 into donut\n\n* changes:\n  Add a \"clear backed-up data\" method to the backup mechanism\n"
    },
    {
      "commit": "16d79e56ca3fe7606c48882d9b1aef6267d69124",
      "tree": "a0614a4f2275bc2cca32e159b47b468cb0c341fe",
      "parents": [
        "a642e313988ec7f9e732ead00edbded8b57d7452"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Jul 02 12:05:32 2009 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Jul 02 12:05:32 2009 -0700"
      },
      "message": "Backup Wifi supplicant data.\n\nWifiService requests a backup when it writes wifi configuration to disk.\nBackup the wifi supplicant file when settings provider runs backup.\n"
    },
    {
      "commit": "a642e313988ec7f9e732ead00edbded8b57d7452",
      "tree": "c8a758e4b5ee26b768bb9f78fa4c234ed59a9b41",
      "parents": [
        "c7396025e59524e7ef639fd86fc23123939ee91c",
        "99a0feecd0f0aad314d7a4637d329b8a9e8c1150"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 02 11:31:14 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 02 11:31:14 2009 -0700"
      },
      "message": "Merge change 6090 into donut\n\n* changes:\n  Adding strings for data root and data files - these are needed for returning this information in an Intent from checkVoiceData.\n"
    },
    {
      "commit": "ee0e78af5af3bf23dd928fe5e0ebeb39157eaf66",
      "tree": "d364ee20d633ea67a5cf6e82e3f67e1e3bd7feb8",
      "parents": [
        "c7396025e59524e7ef639fd86fc23123939ee91c"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Jul 02 11:17:03 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Jul 02 11:30:29 2009 -0700"
      },
      "message": "Add a \"clear backed-up data\" method to the backup mechanism\n\nIt\u0027s now possible to ask that the backup manager wipe the saved data for a given\napplication from the backing store.  LocalTransport implements this now but the\nGoogle backend does not yet.  When the data is wiped, the on-device backup state\nis also wiped to ensure that the next backup pushes all necessary data.\n\nBmgr has not yet been modified to actually call into this method, but it will\nbe soon.\n"
    },
    {
      "commit": "99a0feecd0f0aad314d7a4637d329b8a9e8c1150",
      "tree": "ebabb368763e275416a58f6ea2cd3fb949d3e076",
      "parents": [
        "7de4bd9b40d80fd68fc746efd645e3df7442acea"
      ],
      "author": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Thu Jul 02 10:41:51 2009 -0700"
      },
      "committer": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Thu Jul 02 11:29:26 2009 -0700"
      },
      "message": "Adding strings for data root and data files - these are needed\nfor returning this information in an Intent from checkVoiceData.\n"
    },
    {
      "commit": "c7396025e59524e7ef639fd86fc23123939ee91c",
      "tree": "ec0f2b85cab7a18753f1597e612fc28738d4a142",
      "parents": [
        "d3de90f38d779d28a724e89297c83e6ba1a66fa7",
        "a1b653d41df9a7999e1dba2a508295671ff6771d"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 02 11:00:41 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 02 11:00:41 2009 -0700"
      },
      "message": "Merge change 6084 into donut\n\n* changes:\n  Return CAMERA_ERROR_SERVER_DIED to camera app when camera service dies (bug 1956726)\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": "3bc64a2cb97da7bf7dc203416ad6c7d86c5925fc",
      "tree": "c73d01001df1b785af277a062e83906d431ff3b5",
      "parents": [
        "7de4bd9b40d80fd68fc746efd645e3df7442acea",
        "617750604c69e6068f68266d0e30324273aa990e"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 02 10:40:33 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 02 10:40:33 2009 -0700"
      },
      "message": "Merge change 6088 into donut\n\n* changes:\n  WifiManager: Limit the number of WifiLocks that can be active simultaneously.\n"
    },
    {
      "commit": "617750604c69e6068f68266d0e30324273aa990e",
      "tree": "a569ed7afdd79e388815f3e5608b1a0509269afe",
      "parents": [
        "eec11827a6c06b029030f43c8d54fd871cc3347d"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jul 02 13:25:00 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jul 02 13:25:00 2009 -0400"
      },
      "message": "WifiManager: Limit the number of WifiLocks that can be active simultaneously.\n\nThis is to prevent a bad app from using up all the global references in the\nsystem process due to allocating too many DeathRecipients.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "a1b653d41df9a7999e1dba2a508295671ff6771d",
      "tree": "74c7c4639f56b4aab2e076eaadb7d436cab68113",
      "parents": [
        "a54755962ca7725d1e2b6cacbbaece6f1cbf5af4"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 02 10:04:20 2009 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 02 10:04:20 2009 -0700"
      },
      "message": "Return CAMERA_ERROR_SERVER_DIED to camera app when camera service dies (bug 1956726)\n"
    },
    {
      "commit": "7de4bd9b40d80fd68fc746efd645e3df7442acea",
      "tree": "7885e00365b60d1b96203fc00b15567434703b56",
      "parents": [
        "288fe16c20e2c20556839046d38c487b0b18735c",
        "fa927c046a916fceb077d1ecf2552d76e73da912"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 02 08:34:35 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 02 08:34:35 2009 -0700"
      },
      "message": "Merge change 6045 into donut\n\n* changes:\n  Remove the null-termination for Java string compatibility.\n"
    },
    {
      "commit": "fa927c046a916fceb077d1ecf2552d76e73da912",
      "tree": "1bd090be6f71aa36b96e3a2218b6f9b97316af3e",
      "parents": [
        "eec11827a6c06b029030f43c8d54fd871cc3347d"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Jul 02 19:11:11 2009 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Jul 02 23:08:39 2009 +0800"
      },
      "message": "Remove the null-termination for Java string compatibility.\n\n1. Also change the keyname delimiter in CertTool.java.\n2. Return NOTFOUND if the result.len\u003d\u003d0 in the listKeys().\n3. Define the keystore states in the class Keystore.\n"
    },
    {
      "commit": "288fe16c20e2c20556839046d38c487b0b18735c",
      "tree": "277a19f204e5c95f0b5c36dbc33e8fca1ebab9f6",
      "parents": [
        "eec11827a6c06b029030f43c8d54fd871cc3347d",
        "220f4d633be1098e7887dbd06f179138bf19f1ad"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 02 05:01:23 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 02 05:01:23 2009 -0700"
      },
      "message": "Merge change 6043 into donut\n\n* changes:\n  System and Secure settings backup.\n"
    },
    {
      "commit": "220f4d633be1098e7887dbd06f179138bf19f1ad",
      "tree": "31e4a5379beddf0dbf492ba7047b4005a103365a",
      "parents": [
        "d45dcbec856710f9478ffc5689e7cdf95d757ab8"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Jul 02 02:34:14 2009 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Jul 02 04:58:09 2009 -0700"
      },
      "message": "System and Secure settings backup.\n\nThis backs up the basic system and secure settings. THe restoration doesn\u0027t\ntake effect immediately. You many need to restart the runtime to see all\nrestored values take effect.\n"
    },
    {
      "commit": "eec11827a6c06b029030f43c8d54fd871cc3347d",
      "tree": "6ed138af9f9d632cc6e74dbb517626adb802ac96",
      "parents": [
        "d45dcbec856710f9478ffc5689e7cdf95d757ab8"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Jul 02 00:22:04 2009 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Jul 02 18:56:12 2009 +0800"
      },
      "message": "Add CertTool for handling the keygen and certificate download.\n\n1. Have the new Keystore for mini-keystore impelemntation.\n2. Add CertTool library and jni dll for handling keygen and certificates.\n3. Make Reply hidden.\n4. Revert some \u0027incorrect\u0027 change and correct the description.\n"
    },
    {
      "commit": "d45dcbec856710f9478ffc5689e7cdf95d757ab8",
      "tree": "4e3a1b0ca6b579a394f1b7655a495f6e22912752",
      "parents": [
        "40336782eaa797bca3d1487784af113ba3b143ff",
        "70246ebb9b1a3c192caf7e001b45dafbdb6bbc30"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 02 00:16:21 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 02 00:16:21 2009 -0700"
      },
      "message": "Merge change 5615 into donut\n\n* changes:\n  Implement the generic mini-keystore for security.\n"
    },
    {
      "commit": "70246ebb9b1a3c192caf7e001b45dafbdb6bbc30",
      "tree": "f5ae931052c7657dc7b511d90189f0b4285398e3",
      "parents": [
        "c25dbf88fc21c707b72502c43695c2c31ff22a23"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Mon Jun 29 03:12:56 2009 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Jul 02 14:08:20 2009 +0800"
      },
      "message": "Implement the generic mini-keystore for security.\n\n1. We will progressively migrate to this implementation.\n2. For richc to have a quick review on the keymgmt part.\n3. Add remove_key and make sure all functions are working.\n4. Add permission check for get operation.\n5. Return the retry count if unlock failed.\n6. Add the reset operation for keystore reset.\n7. Add the putfile shell command for putting the key value from file.\n8. Fix the boundary issue during parsing command.\n9. Use the \u0027 \u0027 as delimiter and reset the reply structure for each request.\n10. Add change password retry count check.\n11. Extract the read_marshal/write_marshal for certtool.h.\n12. Remove the old implementation.\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": "d7cd29da91ccc0aba1f1097e19366f9ca36c7ce1",
      "tree": "03869e5efe3791758b0e9da9d029373ec1653cb2",
      "parents": [
        "cf098294da7a820d5c30d8ed2006ed5446ee1da9"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 01 11:22:45 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 01 20:20:47 2009 -0700"
      },
      "message": "Add facility to run setup wizard after an update.\n\nThe system now keeps a tag of the last version (just an arbitrary string)\nthat the setup wizard was run for.  If this is different than the current\none in the setup wizard, then setup is launched at boot.\n\nThis introduces a new intent action for the part of the setup wizard that\ngets run for an ungrade, which the system uses to find its current version\ntag for comparing against what was last stored.  It is up to the launched\nsetup activity update the stored setting to reflect its current value,\nonce it is happy.\n"
    },
    {
      "commit": "cf098294da7a820d5c30d8ed2006ed5446ee1da9",
      "tree": "d53913b8c355c15da25d2ab8708eeee94e6cf7ab",
      "parents": [
        "2bbb80e183c6492689f8b10b2d0f5dfe9872a6ac"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 01 19:55:20 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 01 20:12:36 2009 -0700"
      },
      "message": "Move backup state to settings, change permission checks to use symbol.\n\nThis changes the backup service to use the settings provider instead\nof system properties, correspondingly making it off by default and\nallowing specific devices to define the transport.  Also tweaks\nthe permission checks to use the permission symbol instead of raw\nstrings.\n\nThis requires some corresponding changes in the vendor projects.\n"
    },
    {
      "commit": "2bbb80e183c6492689f8b10b2d0f5dfe9872a6ac",
      "tree": "0c15e43130dfbef66bcfa2475aa5cec404ac7e65",
      "parents": [
        "a54755962ca7725d1e2b6cacbbaece6f1cbf5af4",
        "9a5e3e115fc69181e143bdb9ec455e0f94fbc11f"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 01 18:04:40 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 01 18:04:40 2009 -0700"
      },
      "message": "Merge change 5994 into donut\n\n* changes:\n  Less logging in some places.  More in others.\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": "9a5e3e115fc69181e143bdb9ec455e0f94fbc11f",
      "tree": "09365452a081b8a586b7c58e320b0872fccc9e41",
      "parents": [
        "d18dc8c641cb4c89ffb205fb510e59a40ddf43fe"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jul 01 21:04:03 2009 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jul 01 21:04:03 2009 -0400"
      },
      "message": "Less logging in some places.  More in others.\n"
    },
    {
      "commit": "a54755962ca7725d1e2b6cacbbaece6f1cbf5af4",
      "tree": "055ff8aa0729e942105686135b0197f3bca3ae35",
      "parents": [
        "392282f1e01518491c6536d931500c4bfac7f24f"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Wed Jul 01 17:20:08 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Wed Jul 01 17:21:12 2009 -0700"
      },
      "message": "Cleanup a bunch of warnings in app widgets code.\n"
    },
    {
      "commit": "b24a96701a2724bf69c5a34bd70a1bc7177ef0f2",
      "tree": "ceb598f3ae71afcd451c8694711ba7e0421e5fd7",
      "parents": [
        "d18dc8c641cb4c89ffb205fb510e59a40ddf43fe"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Jul 01 14:04:43 2009 -0700"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Jul 01 16:16:56 2009 -0700"
      },
      "message": "Remove the constraint to assign new uid when code path changes for system packages\n"
    },
    {
      "commit": "392282f1e01518491c6536d931500c4bfac7f24f",
      "tree": "23d86a7d29e989c282dfbd87525d5d74c6012fa6",
      "parents": [
        "8dd02090cec0743bb1987c2cf21f974ab2e075da",
        "8890aaf77cf188adc88fdeb90c59d901eb9c4f03"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 01 14:12:10 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 01 14:12:10 2009 -0700"
      },
      "message": "Merge change 5962 into donut\n\n* changes:\n  SimRecords.getServiceProviderName() always returned null.\n"
    },
    {
      "commit": "8dd02090cec0743bb1987c2cf21f974ab2e075da",
      "tree": "8976f987d6228d89abfdfdcb5973828d1f3872bc",
      "parents": [
        "d18dc8c641cb4c89ffb205fb510e59a40ddf43fe",
        "c08dd9e27e864c03f77c3b031812969f3f9a97b1"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 01 14:04:32 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 01 14:04:32 2009 -0700"
      },
      "message": "Merge change 5940 into donut\n\n* changes:\n  Add CLDR data/formats for newly-translated locales.\n"
    },
    {
      "commit": "8890aaf77cf188adc88fdeb90c59d901eb9c4f03",
      "tree": "7c00b574fbf305df9296643f28d4bea3d7d7e761",
      "parents": [
        "65363830c1e5ca8c59b6e12b4b43a3f03688ca2e"
      ],
      "author": {
        "name": "jsh",
        "email": "jsh@google.com",
        "time": "Wed Jul 01 12:55:28 2009 -0700"
      },
      "committer": {
        "name": "jsh",
        "email": "jsh@google.com",
        "time": "Wed Jul 01 12:55:28 2009 -0700"
      },
      "message": "SimRecords.getServiceProviderName() always returned null.\n\nFixes bug 1955060.  spn was defined in both SimRecords and base class IccRecords.\n"
    },
    {
      "commit": "d18dc8c641cb4c89ffb205fb510e59a40ddf43fe",
      "tree": "cb0a8d954f69f79c9fb57d959d74ce182301ea8f",
      "parents": [
        "54af78a3f7064e04d7ebd64c985d4149f9f7b05c",
        "8f25c426b118c35f558cbf27bd413e1eb6d59823"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 01 12:53:04 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 01 12:53:04 2009 -0700"
      },
      "message": "Merge change 5906 into donut\n\n* changes:\n  resolve complex value in application context instead of system context.\n"
    }
  ],
  "next": "54af78a3f7064e04d7ebd64c985d4149f9f7b05c"
}
