)]}'
{
  "log": [
    {
      "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": "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": "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": "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"
    },
    {
      "commit": "54af78a3f7064e04d7ebd64c985d4149f9f7b05c",
      "tree": "319681ef2905159095a4aa89f1165058b22bbca8",
      "parents": [
        "49401ddb9ac11ad5caead4e4cefcaa81d2418ed2",
        "fff2fda0199dedbf1079454dca98a81190dce765"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 01 12:52:39 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 01 12:52:39 2009 -0700"
      },
      "message": "Merge change 5950 into donut\n\n* changes:\n  Fix memory leaks in system_server unlink DeathRecipients in a whole bunch of places to avoid memory leaks\n"
    },
    {
      "commit": "fff2fda0199dedbf1079454dca98a81190dce765",
      "tree": "c45c5960e5c3469b36b5d728378a1aa901d1ec4e",
      "parents": [
        "c56096fe1fe3486102079f06ca5de3e2bef12e47"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Tue Jun 30 21:36:16 2009 -0700"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Jul 01 12:55:30 2009 -0700"
      },
      "message": "Fix memory leaks in system_server\nunlink DeathRecipients in a whole bunch of places to avoid memory leaks\n"
    },
    {
      "commit": "49401ddb9ac11ad5caead4e4cefcaa81d2418ed2",
      "tree": "147cca0a95c8da6b1bc547756da6bda6c0341929",
      "parents": [
        "ce0bf069fe8c5c93f91cb70b0cd9365245d144c1"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jul 01 12:34:29 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jul 01 12:38:06 2009 -0700"
      },
      "message": "Revamp backup scheduling policy\n\nWe now schedule a periodic check of pending backups; if any apps have requested\na backup since the last check, we perform all of the pending backups.  The\nperiodic backup scheduling matches the enable/disable state of the backup\nmanager; while backups are disabled entirely there are no periodic wakeups.\n\nThe period is set here to one hour.  If an external caller (transport, the\n\u0027bmgr\u0027 command line tool, etc) requests an immediate backup pass, that is\nperformed and then the periodic backup check is rescheduled using that pass as\nthe starting point of a new interval.\n"
    },
    {
      "commit": "ce0bf069fe8c5c93f91cb70b0cd9365245d144c1",
      "tree": "6149eaf7f689d98470f6f5c99c647c3f1f087774",
      "parents": [
        "1b1a6e406c4233b309baee85e14f5a563ca63c48"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jul 01 11:43:53 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jul 01 11:45:57 2009 -0700"
      },
      "message": "Use secure settings for backup enable / transport selection\n"
    },
    {
      "commit": "c08dd9e27e864c03f77c3b031812969f3f9a97b1",
      "tree": "ba8151790537ad598eb87170794247ba1e0be2c2",
      "parents": [
        "74dc3e4a1e4f9c4eed3a3619ffc8beff30b3ec0f"
      ],
      "author": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Wed Jul 01 11:10:35 2009 -0700"
      },
      "committer": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Wed Jul 01 11:10:35 2009 -0700"
      },
      "message": "Add CLDR data/formats for newly-translated locales.\n"
    },
    {
      "commit": "1b1a6e406c4233b309baee85e14f5a563ca63c48",
      "tree": "d0ffc3fabf151929ad734d5b5a52a2cec8c60910",
      "parents": [
        "fef8d3e4d8f6f46c098d04b3a57409c947ec1c75"
      ],
      "author": {
        "name": "Satish Sampath",
        "email": "satish@android.com",
        "time": "Wed Jul 01 19:06:24 2009 +0100"
      },
      "committer": {
        "name": "Satish Sampath",
        "email": "satish@android.com",
        "time": "Wed Jul 01 19:08:05 2009 +0100"
      },
      "message": "Fix build break by adding an @hide javadoc comment.\n"
    },
    {
      "commit": "fef8d3e4d8f6f46c098d04b3a57409c947ec1c75",
      "tree": "152d5b23718ae8d019dd85886429db8c32987245",
      "parents": [
        "74dc3e4a1e4f9c4eed3a3619ffc8beff30b3ec0f"
      ],
      "author": {
        "name": "Satish Sampath",
        "email": "satish@android.com",
        "time": "Wed Jul 01 17:48:42 2009 +0100"
      },
      "committer": {
        "name": "Satish Sampath",
        "email": "satish@android.com",
        "time": "Wed Jul 01 17:55:31 2009 +0100"
      },
      "message": "Make search UI open up quicker to the user.\n\nOn invoking the search UI, the drop down list box with past queries and shortcut items\nappears after a few hundreds of milliseconds on screen. This was because we were\ndisplaying the drop down within the onFilterCompleted callback after the list box filtered\nthe items based on the given query text. While that code path is necessary, for the first\ninvocation of the search dialog with an empty query we can show the list box before the\ntext stuff happens. This change does that, issuing an async request to show the drop\ndown after pending events have been processed.\n\nWithout this change, on an average it took 350ms for the code to show the drop down.\nWith this change, on an average it takes 150ms.\n"
    },
    {
      "commit": "74dc3e4a1e4f9c4eed3a3619ffc8beff30b3ec0f",
      "tree": "45105f9e38482a48ed0985dbb67ea9921f7f1e37",
      "parents": [
        "50d87fbd691a59759d5bbe12284d322f9fa967dd",
        "2b04d2980aca13c47211e857fc95787122c0fe91"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 01 09:16:48 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 01 09:16:48 2009 -0700"
      },
      "message": "Merge change 5616 into donut\n\n* changes:\n  Revise VpnService to use new vpn.* properties.\n"
    },
    {
      "commit": "50d87fbd691a59759d5bbe12284d322f9fa967dd",
      "tree": "369668e4cbd3c38e3a7366d44d8ecc0f4c1e80e3",
      "parents": [
        "c56096fe1fe3486102079f06ca5de3e2bef12e47",
        "735b333bf6d297700718afd669e1c9e374d0c6e6"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 01 08:51:31 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 01 08:51:31 2009 -0700"
      },
      "message": "Merge change 5879 into donut\n\n* changes:\n  Represent new searchSettingsDescription attribute on searchables in SearchableInfo.\n"
    },
    {
      "commit": "8f25c426b118c35f558cbf27bd413e1eb6d59823",
      "tree": "1dc53d22e856c9f15afabfdef4c3a957652a129b",
      "parents": [
        "083928fefde7060eb69f7f45cd8e2180efa9bfe1"
      ],
      "author": {
        "name": "Mitsuru Oshima",
        "email": "oshima@google.com",
        "time": "Wed Jul 01 00:10:43 2009 -0700"
      },
      "committer": {
        "name": "Mitsuru Oshima",
        "email": "oshima@google.com",
        "time": "Wed Jul 01 00:10:43 2009 -0700"
      },
      "message": "resolve complex value in application context instead of system context.\n"
    },
    {
      "commit": "c56096fe1fe3486102079f06ca5de3e2bef12e47",
      "tree": "fc4ace607cf39b7b511f43a1781761ea2a8dac15",
      "parents": [
        "65363830c1e5ca8c59b6e12b4b43a3f03688ca2e",
        "f763e8f42df8e99b84420c80eaff24b3573ff0bc"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 18:44:12 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 18:44:12 2009 -0700"
      },
      "message": "Merge change 5878 into donut\n\n* changes:\n  Add new attribute \u0027searchSettingsDescription\u0027 for use within an app\u0027s searchable.xml. This attribute defines the string to be shown as the description a searchable in the \u0027searchable items\u0027 section of system search settings.\n"
    },
    {
      "commit": "735b333bf6d297700718afd669e1c9e374d0c6e6",
      "tree": "b77afbc428773e21a04acecf79ee88357367d630",
      "parents": [
        "f763e8f42df8e99b84420c80eaff24b3573ff0bc"
      ],
      "author": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Tue Jun 30 18:27:40 2009 -0700"
      },
      "committer": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Tue Jun 30 18:27:40 2009 -0700"
      },
      "message": "Represent new searchSettingsDescription attribute on searchables in\nSearchableInfo.\n"
    },
    {
      "commit": "f763e8f42df8e99b84420c80eaff24b3573ff0bc",
      "tree": "6171508b99ea7e11e217ee02a8e378445e6d59e3",
      "parents": [
        "f9eca3d43aed870774633a176aa691d3e530a12b"
      ],
      "author": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Tue Jun 30 18:26:21 2009 -0700"
      },
      "committer": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Tue Jun 30 18:26:21 2009 -0700"
      },
      "message": "Add new attribute \u0027searchSettingsDescription\u0027 for use within an app\u0027s\nsearchable.xml. This attribute defines the string to be shown as the\ndescription a searchable in the \u0027searchable items\u0027 section of system\nsearch settings.\n"
    },
    {
      "commit": "65363830c1e5ca8c59b6e12b4b43a3f03688ca2e",
      "tree": "11a8f6c8197fc733458f8f297e8a4f652ae6bc9e",
      "parents": [
        "b0b815da8c487bbfac6b2eadc91c619682720a71",
        "7958834e0e8adb42ca5183541c4bbcd8aaa7d3aa"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 16:18:59 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 16:18:59 2009 -0700"
      },
      "message": "Merge change 5854 into donut\n\n* changes:\n  Run backups at background priority\n"
    },
    {
      "commit": "7958834e0e8adb42ca5183541c4bbcd8aaa7d3aa",
      "tree": "1a58583e4d162ab1bbb1ee49b0a03ce036ea0a83",
      "parents": [
        "f3ab3c3437f18834ce63542062c2ed7a87a05fca"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jun 30 16:11:49 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jun 30 16:11:49 2009 -0700"
      },
      "message": "Run backups at background priority\n"
    },
    {
      "commit": "b0b815da8c487bbfac6b2eadc91c619682720a71",
      "tree": "b00997545367253620244e677088f25fa05afa8f",
      "parents": [
        "daa5a21562cb4b1fda21400bc638be4d6b7f5825",
        "58b971d733a2c700cabd3db02b6ea4d5faca6939"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 15:44:07 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 15:44:07 2009 -0700"
      },
      "message": "Merge change 5845 into donut\n\n* changes:\n  Always clear the TextView drag state whenever a touch begins.\n"
    },
    {
      "commit": "58b971d733a2c700cabd3db02b6ea4d5faca6939",
      "tree": "9e1a09aacc31af2a2671dfa4d8248fd72bc7de96",
      "parents": [
        "1dac277f93a80c53a870b8924508dd2af81293de"
      ],
      "author": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Tue Jun 30 15:22:51 2009 -0700"
      },
      "committer": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Tue Jun 30 15:22:51 2009 -0700"
      },
      "message": "Always clear the TextView drag state whenever a touch begins.\n\nApparently it can sometimes miss a touch release, which would prevent\nthe longpress menu from appearing if the location of the new touch was\ntoo far from the location of the previous touch.\n\nBug 1673223\n"
    },
    {
      "commit": "daa5a21562cb4b1fda21400bc638be4d6b7f5825",
      "tree": "970fa32dc4f1c38315f5a1b2b8a788db5f8d4fb8",
      "parents": [
        "85d650c89998eb108faa2c02dcc32467e23f9555",
        "107821369b7af3b739a0b5617fb34ff19f7ca9b5"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 15:16:38 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 15:16:38 2009 -0700"
      },
      "message": "Merge change 5810 into donut\n\n* changes:\n  Fix bug 1930055 of NullPointerException.\n"
    },
    {
      "commit": "85d650c89998eb108faa2c02dcc32467e23f9555",
      "tree": "f31f5f0689ef9abb7a27630d783b807771200b71",
      "parents": [
        "f3ab3c3437f18834ce63542062c2ed7a87a05fca",
        "38567852256d215847bc33263422bde0ddd1d150"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 15:05:56 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 15:05:56 2009 -0700"
      },
      "message": "Merge change 5804 into donut\n\n* changes:\n  Ensure that we never trigger ArrayIndexOutOfBoundsException by checking that the index is always \u003c the array\u0027s length. Also ensures that the object\u0027s state is consistent. Should resolve a denial-of-service bug when handling malformed WAP pushes.\n"
    },
    {
      "commit": "f3ab3c3437f18834ce63542062c2ed7a87a05fca",
      "tree": "e86c2eba8a0f4772ea9f8cdc2ffab52f34e5d932",
      "parents": [
        "f9eca3d43aed870774633a176aa691d3e530a12b",
        "09b3373d83a0f582eae46562bc307022c64ac497"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 14:35:59 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 14:35:59 2009 -0700"
      },
      "message": "Merge change 5833 into donut\n\n* changes:\n  Fix nit on length of flag constant.\n"
    },
    {
      "commit": "09b3373d83a0f582eae46562bc307022c64ac497",
      "tree": "ddec6deb0680894a930d2cb8b28a7b86275f13da",
      "parents": [
        "b0cba433057857ab61d2231a979a50c2b999f9e7"
      ],
      "author": {
        "name": "lknguyen",
        "email": "lknguyen@google.com",
        "time": "Tue Jun 30 13:52:45 2009 -0700"
      },
      "committer": {
        "name": "lknguyen",
        "email": "lknguyen@google.com",
        "time": "Tue Jun 30 14:09:33 2009 -0700"
      },
      "message": "Fix nit on length of flag constant.\n"
    },
    {
      "commit": "f9eca3d43aed870774633a176aa691d3e530a12b",
      "tree": "5f6b6c71ccb0c4c48b071694ec2a4a967f0544db",
      "parents": [
        "6e1647a212317f4ee8bcc23948b6621a59172954",
        "ebb814bbaeacbdc04faa5683f25b12d40609548c"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 14:08:30 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 14:08:30 2009 -0700"
      },
      "message": "Merge change 5807 into donut\n\n* changes:\n  Fixing synth to file to use the speech queue.\n"
    },
    {
      "commit": "6e1647a212317f4ee8bcc23948b6621a59172954",
      "tree": "50a0ac10196a017f438dbd3c4911b02ec040cf9d",
      "parents": [
        "d8de2ba42679a10db2adc11995d6596a0045ab3a",
        "de7faf658cd40d34c08a98b39477055da8e19172"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 14:04:55 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 14:04:55 2009 -0700"
      },
      "message": "Merge change 5829 into donut\n\n* changes:\n  Fix issue #1673793: Theme styles don\u0027t apply.\n"
    },
    {
      "commit": "d8de2ba42679a10db2adc11995d6596a0045ab3a",
      "tree": "b81fa5a4a51a92d00969fa4cb5b74de4af2ab165",
      "parents": [
        "1dac277f93a80c53a870b8924508dd2af81293de",
        "b0cba433057857ab61d2231a979a50c2b999f9e7"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 13:48:14 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 13:48:14 2009 -0700"
      },
      "message": "Merge change 5750 into donut\n\n* changes:\n  Add a new checkin server flag for Vending Machine client server ping frequency for pending downloads.\n"
    },
    {
      "commit": "1dac277f93a80c53a870b8924508dd2af81293de",
      "tree": "ec4687e36a6703c0ffe9434748a5fe66975b42e7",
      "parents": [
        "9848f11fd8788b985330183aeb83cc589b8b14ae"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 26 18:16:48 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 30 13:40:51 2009 -0700"
      },
      "message": "Implement issue #1943927 (need notification in status bar when adb is active)\n\nThis is a little hacky -- we just assume that if adb is enabled and power\nis connected through usb, then it is active.\n\nThe icons and text are temporary until final design is provided.\n"
    },
    {
      "commit": "9848f11fd8788b985330183aeb83cc589b8b14ae",
      "tree": "570efffe5c800498a4f163b8b32463501fc83b58",
      "parents": [
        "b1a975234112cb98ddd5a3ff5f991007eecaff2e",
        "54285f2cbfb6e307d594ca264f7230b4e1e3cdce"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 13:34:45 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 13:34:45 2009 -0700"
      },
      "message": "Merge change 5826 into donut\n\n* changes:\n  Fix NullPointerException in NinePatch constructor\n"
    },
    {
      "commit": "de7faf658cd40d34c08a98b39477055da8e19172",
      "tree": "8450b4d75fbe22a3fed25867c1d53a059c10d664",
      "parents": [
        "bd9aa793b19f7aa529ca4123492f8940b96486b8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 30 13:27:30 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 30 13:27:30 2009 -0700"
      },
      "message": "Fix issue #1673793: Theme styles don\u0027t apply.\n\nIt turns out this was not a problem in the resource code at all.  Rather,\nthe system process has a cache of pre-loaded attributes it uses to avoid\ncontinually reloading things as it needs them.  Well it turns out this\ncache wasn\u0027t flushed after a package was uninstalled or a configuration\nchanged, so you could re-install an app where you change its style resources\nso its theme now points to one that is inconsistent in the cache.\n\nThis is mostly a problem for developers, where they continually install\nnew versions of an app where resources have changed.  This could possibly\nshow up when updating an app on a normal phone, although the problem would\neventually correct itself since this cache uses weak references.\n\nAnyway, the cache is now reworked to be flushed appropriately.\n\nThis change also includes an update to aapt to be able to dump the\ncontents of bags in resources.\n"
    },
    {
      "commit": "b1a975234112cb98ddd5a3ff5f991007eecaff2e",
      "tree": "ae54ee8724f7c0ce947976f0ea509eebaa29ae24",
      "parents": [
        "b7d7d5f6380e1b7c2b1754be05b0113b91ce01c9",
        "d0cbb1a52d1b2b8b04a122501d696938b295e502"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 13:22:15 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 13:22:15 2009 -0700"
      },
      "message": "Merge change 5739 into donut\n\n* changes:\n  Check to make sure the Java camera object is still valid on the callback from native. Omitted from previous fix. Bug 1936850.\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": "d0cbb1a52d1b2b8b04a122501d696938b295e502",
      "tree": "1199f1d0f5ee25175a6d3441654e4c9e56a36e33",
      "parents": [
        "72d19aa51e90d45c7895629db78e548da2f6d469"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Mon Jun 29 19:03:33 2009 -0700"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Tue Jun 30 13:20:30 2009 -0700"
      },
      "message": "Check to make sure the Java camera object is still valid on the\ncallback from native. Omitted from previous fix. Bug 1936850.\n"
    },
    {
      "commit": "54285f2cbfb6e307d594ca264f7230b4e1e3cdce",
      "tree": "c8041a76c8a31c76916dc27085a87be207292cae",
      "parents": [
        "72d19aa51e90d45c7895629db78e548da2f6d469"
      ],
      "author": {
        "name": "Phil Dubach",
        "email": "phillipd@google.com",
        "time": "Mon Jun 29 20:34:13 2009 -0700"
      },
      "committer": {
        "name": "Phil Dubach",
        "email": "phillipd@google.com",
        "time": "Tue Jun 30 13:19:48 2009 -0700"
      },
      "message": "Fix NullPointerException in NinePatch constructor\n\nNinePatch.mPaint may be null and most methods in this class handle\nthat case properly. However, the constructor which derives a new\nNinePatch from an existing instance assumes that mPaint is non-null.\nThis results in an unexpected NullPointerException, for example when\nattempting to call NinePatchDrawable.mutate() on an instance that was\ncreated from a resource.\n\nSmall unrelated fix in same file: Remove unused private mRect member.\n"
    },
    {
      "commit": "72d19aa51e90d45c7895629db78e548da2f6d469",
      "tree": "f65c8bcf06246252d75f387bf647386a255466a3",
      "parents": [
        "91c91b74df12e40c31a50ecb807ac60bed2ccb58"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jun 30 12:47:33 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jun 30 12:52:54 2009 -0700"
      },
      "message": "Tighten up the metadata backup logic\n\nWe now store the app version codes and and global OS incremental version name in\nthe PM backup state and the actual backup record.  We then use that information\nto trigger a re-backup of the metadata if the OS revision changes in any way, or\nto back up single apps\u0027 metadata if we notice that they\u0027ve been upgraded.\n"
    },
    {
      "commit": "91c91b74df12e40c31a50ecb807ac60bed2ccb58",
      "tree": "a068ef1054c658927afb5d7db130d1d830ef832b",
      "parents": [
        "441cb04efc0048585b3a6e6fa3d564e3d1b26f62",
        "b5537c452271634b6ff3981b0624fa65384abd5b"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 12:40:23 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 12:40:23 2009 -0700"
      },
      "message": "Merge change 5817 into donut\n\n* changes:\n   Replace indeterminate progress animated asset with new ones\n"
    },
    {
      "commit": "b5537c452271634b6ff3981b0624fa65384abd5b",
      "tree": "66159c3caed7ad21c6afb61974b77278d32097aa",
      "parents": [
        "2f8d58b7ae2b9dc60eed83e5dddc8c28223e1ede"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jun 30 12:39:18 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jun 30 12:39:18 2009 -0700"
      },
      "message": " Replace indeterminate progress animated asset with new ones\n"
    },
    {
      "commit": "441cb04efc0048585b3a6e6fa3d564e3d1b26f62",
      "tree": "094b6b26531b62f5122b206e598296b916de47ff",
      "parents": [
        "2f8d58b7ae2b9dc60eed83e5dddc8c28223e1ede",
        "97eb32e2cad1871f89f9d7e91681b2977c8a4d19"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 12:17:48 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 12:17:48 2009 -0700"
      },
      "message": "Merge change 5732 into donut\n\n* changes:\n  Fix assertContentsInOrder (bug 1790350).\n"
    },
    {
      "commit": "ebb814bbaeacbdc04faa5683f25b12d40609548c",
      "tree": "cd06e46a9c1d4ff9c6b73334b2b0573582e5a7bb",
      "parents": [
        "33a7030f56d83126baa656820bf884ea02772751"
      ],
      "author": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Tue Jun 30 12:01:12 2009 -0700"
      },
      "committer": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Tue Jun 30 12:03:06 2009 -0700"
      },
      "message": "Fixing synth to file to use the speech queue.\n"
    }
  ],
  "next": "107821369b7af3b739a0b5617fb34ff19f7ca9b5"
}
