)]}'
{
  "log": [
    {
      "commit": "2269d1572e5fcfb725ea55f5764d8c3280d69f6d",
      "tree": "7ce0788be6d85972d42ee7135cdce82aa323fcc7",
      "parents": [
        "e46145f7c114b9ac6d19c6a7886e9239463f91e1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Feb 24 19:54:22 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Feb 25 11:39:33 2010 -0800"
      },
      "message": "Re-arrange android-common so framework no longer links with it.\n\nThis is the framework part, moving classes around so the framework\nno longer needs to link to android-common.  Makes some APIs public,\nothers that didn\u0027t need to be public are private in the framework,\nsome small things are copied.\n"
    },
    {
      "commit": "c8f22299b19ace4026427e5bf6bd85089e86b198",
      "tree": "21d819da71449c628269e8d45dcc13362dd4b0e6",
      "parents": [
        "8354fa65ebf4f44dd189d1d6f33767cf009b5769",
        "f7483b1d5cac0585610f11ce4deec9a11f611bae"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Thu Feb 25 03:17:36 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 25 03:17:36 2010 -0800"
      },
      "message": "Merge \"Add HTML5 layout tests that currently fail to the DumpRenderTree skipped list\""
    },
    {
      "commit": "c42e29e0a58d07a95d470780216cdf1d67476bd6",
      "tree": "bb2a39fe7ddaf416a3a67a98eb12b661c7070d6d",
      "parents": [
        "406b09bbd117446814a05aabc5971fd55c6afa5d"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Mon Feb 22 16:03:53 2010 -0800"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Feb 24 20:30:03 2010 -0800"
      },
      "message": "Add new handler mechanism in MountService to make unmount api asynchronous.\nMountService updates state on PackageManager and then tries to\nkill processes holding file references to media about to be unmounted by\ninvoking api on ACtivityManager. This is retried upto 4 times to make sure all\nprocesses holding file references are killed before unmounting the media\nat specified path.\n\nAlso changed PackageManger api to return boolean value to indicate if\nMountService is likely to receive broadcasts related to apps on sd.\n"
    },
    {
      "commit": "f7483b1d5cac0585610f11ce4deec9a11f611bae",
      "tree": "b2c6e44ee30deb0d1ad4f2f986a98d1af9f45e00",
      "parents": [
        "6550c72006cd920a7faa262a0af93f577f31bcb0"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Feb 05 15:56:36 2010 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Wed Feb 24 22:11:07 2010 +0000"
      },
      "message": "Add HTML5 layout tests that currently fail to the DumpRenderTree skipped list\n\nAll of these tests should pass on Android. This is a temporary measure to track\nall of these failures in a central place and to provide a consistent baseline\nfor DumpRenderTree test results while the problems are fixed.\n\nChange-Id: I2cfaaa8df07be3b43c8e6517f75a7c438f147150\n"
    },
    {
      "commit": "7db3e5e287087d9665ffa84ecbe87603001fc55f",
      "tree": "d382823640edd75a9e7a0b7ad76412958806db17",
      "parents": [
        "963bb682bf47792118e2d1cc27ab354c468af12c"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Wed Feb 24 10:20:37 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Wed Feb 24 12:13:54 2010 -0800"
      },
      "message": "AsecTests: Add teardown to tests\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "cf6eaeaae9e6745dd6e07540812c79821d7043c2",
      "tree": "fe1224c5b492a8ad09d00e167b66a45413fb3d73",
      "parents": [
        "2a399f066d4f3870385002cdcda8082a0eeeb770"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Tue Feb 23 19:37:45 2010 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Feb 24 11:31:36 2010 -0800"
      },
      "message": "Some framework fixes for apps on sd\nchange hard coded path in installd\nfix tests\nWork around for renaming containers.\nDo forced unmount when destroying containers.\nForce a gc in default container service to release handle to parsed package\nand thus avoid getting killed by vold\nSome cosmetic changes to PackageManager api.\nUnit tests for renaming container for MountService\nRemove internal size limit on app to be installed.\n"
    },
    {
      "commit": "c8998e17359d33653f08c6f8262f06530e4629e1",
      "tree": "9491241339b3a2c5916ec1d5de3f2b8f8b8b1514",
      "parents": [
        "0ca7305c024b20403a82aeff1b396fd6c9967e1e",
        "8ab8b411b81e4581060a31a97a0cb204a803b2e5"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Wed Feb 24 10:00:51 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 24 10:00:51 2010 -0800"
      },
      "message": "Merge \"LocationTracker: change copyright from Google to AOSP.\""
    },
    {
      "commit": "8ab8b411b81e4581060a31a97a0cb204a803b2e5",
      "tree": "0a138900dd16342c34c03b7faa5403bd965ffa9c",
      "parents": [
        "6c0df0b47328655aa450f406ffb39fda5703a55c"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Feb 24 12:59:14 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Feb 24 12:59:14 2010 -0500"
      },
      "message": "LocationTracker: change copyright from Google to AOSP.\n\nChange-Id: Id74bf74ac8eb372617136b4021853270d4bf5174\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "85451ee15fdf6cae371dc3005441988c7d426401",
      "tree": "ddf4f750bb3b73759f6268ed975bb385edf3322c",
      "parents": [
        "9ff1f96fdf1c88c55c45e0876b10a3a9686dc28a"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Wed Feb 24 08:54:18 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Wed Feb 24 08:54:18 2010 -0800"
      },
      "message": "MountService: Fix bug which would allow apps to try to rename a container whos dst is mounted\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "778ce486656a00c21ae9b51cda1f504fc11004f6",
      "tree": "0dc6dae87ec75fa90aad9d28dab514f516a846c8",
      "parents": [
        "c23844c60452a337a87875cd7d9d8ceb638fb36c"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Feb 09 11:23:40 2010 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Tue Feb 23 15:58:00 2010 -0800"
      },
      "message": "Issue 5697: getContextClassLoader returns a non-application classloader\n\nActivityThread should try to set the value for Java\nThread.getContextClassLoader to the PathClassLoader that loaded the\nAPK\u0027s classes so that Java frameworks that use the Java context class\nloader, which is not to be confused with the\nandroid.content.Context.getClassLoader which serves a similar purpose\nin the Android framework.\n\nHowever, we avoid setting the Java context ClassLoader to the APK\u0027s\nPathClassLoader if there is a static indication that multiple packages\nmay share the VM, since they could load in an unpredictable order\nleading to different values for the thread local Java context\nClassLoader. In this case, we instead use a specially created\nWarningContextClassLoader that warns the user the first time the Java\ncontext ClassLoader.\n\nCurrently the static indications that a package might share a VM with\nother packages are the presence in the AndroidManifest of a\nsharedUserId or requesting a non-default application process name.\n"
    },
    {
      "commit": "191d898468d2f4910a684f429bec518320843744",
      "tree": "e9a20eb9d42a48830a52ffe9116925c9b4763bbf",
      "parents": [
        "e5a1d4a21eb35abe75f60cd0416ee469e8c2471b"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Feb 23 07:50:18 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Feb 23 07:50:18 2010 -0500"
      },
      "message": "Move LocationTracker from com.google.android to com.android package.\n\nChange-Id: I75757373e39669955d5f753a31a2a7b78d0b68ed\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "e5a1d4a21eb35abe75f60cd0416ee469e8c2471b",
      "tree": "99b3f939323d10e29c3457039e55b6eb34d96ec5",
      "parents": [
        "f13f60127ec570590ef5acf3690d8eba4a3d7ea4",
        "c9d3be3f0e10b62fa6d4899ce827866299d41783"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Mon Feb 22 20:58:43 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 22 20:58:43 2010 -0800"
      },
      "message": "Merge \"Move LocationTracker test app from vendor/google to frameworks/base/tests\""
    },
    {
      "commit": "c9d3be3f0e10b62fa6d4899ce827866299d41783",
      "tree": "d49433889dae61dfd1c137f139de5df9fe0d549f",
      "parents": [
        "2f6a01858bea6c669039b0b1e10aa65fc73c7256"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Feb 22 23:42:02 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Feb 22 23:57:44 2010 -0500"
      },
      "message": "Move LocationTracker test app from vendor/google to frameworks/base/tests\n\nChange-Id: I49f1bfe2081f2c48fcb22b74aa2377857c2bae6d\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "8cd303aec6f11ea9fece70f6e3d82efb607f8637",
      "tree": "c906279cf543333e40b8afecf7dc651b685b21d3",
      "parents": [
        "469888fe84f48febbe8a1c1ade455ffeac828079"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Mon Feb 22 16:16:24 2010 -0800"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Mon Feb 22 17:45:05 2010 -0800"
      },
      "message": "Quick fix layout test path problems\n\nSD card mount point has changed from /sdcard to /mnt/sdcard. layout test was calling getCanonicalPath to determine the path to the test case, which causes problem because /sdcard is now a symlink, and canonical path is actually the \"real\" path. Using quick dirty fix for now, will properly migrate any hard-coded reference to \"/sdcard\" to system function calls.\n"
    },
    {
      "commit": "164bd7953778a80ca24b4a30477173ecb79d5531",
      "tree": "1147a4ed6a2dc721b7b344fa2a8c26c73c3000d6",
      "parents": [
        "b427a7b0e4f335b27484d4b46cfa48c0cc601755"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Feb 05 10:53:04 2010 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Mon Feb 22 14:28:05 2010 +0000"
      },
      "message": "In DumpRenderTree, skip tests for which we have the wrong results\n\nCurrently, the list of tests with incorrect results is not used.\n\nChange-Id: I5d3ab9bde6201c2574f08c7c87efa4873ee6fdd1\n"
    },
    {
      "commit": "e70f61b1160e953e5e4d18d30a463fa9ba821779",
      "tree": "763d50921749fb256c7e2b656db045ee21277b06",
      "parents": [
        "fda25347b8aaa860e0fdbc972c0f4411c85f8fa3"
      ],
      "author": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Fri Feb 19 10:49:27 2010 -0800"
      },
      "committer": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Sat Feb 20 17:29:05 2010 -0800"
      },
      "message": "Retry test-runner tests move.\n\nThis time change the frameworks makefile so it only includes test-runner/src\nin the public API.\n"
    },
    {
      "commit": "1bb6906c7a903ee6427c8ff37bdc5896c386ff73",
      "tree": "bdb540e8ba002ae648456c0d1af905ac7edd3676",
      "parents": [
        "6ad5a7a7c78799ecb306cb97d979bdb98cc52d15"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Feb 19 17:02:12 2010 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Feb 19 17:24:07 2010 -0800"
      },
      "message": "Automatically restore app data at install time\n\nWhen an application being installed defines a backupAgent in its manifest, we\nnow automatically perform a restore of the latest-known-good data for that app.\nThis is defined as \"data backed up by this app from this handset, if available;\notherwise data for this app as it existed when the device was initially\nprovisioned.\"  If neither option exists for the app, no restore action is\ntaken.\n\nThe CL involves major changes in the Backup and Package Managers...\n\n* The Package Manager\u0027s act of installing an application has now been split\ninto two separate phases, with a data-restore phase optionally occurring\nbetween these two PM actions.  First, the details of the install are performed\nas usual.  Instead of immediately notifying install observers and issuing the\ninstall-related broadcasts, the in-process install state is snapshotted and\nthe backup manager notified that a restore operation should be attempted.  It\ndoes this by calling a new API on IBackupManager, passing a token by which it\nidentifies its in-progress install state.\n\nThe backup manager then downloads [if possible] the data for the newly-installed\napplication and invokes the app\u0027s backupAgent to do the restore.  After this\nstep, regardless of failure, it then calls back into the Package Manager to\nindicate that the restore phase has been completed, supplying the token that\nwas passed in the original notification from the Package Manager.\n\nThe Package Manager then runs the final post-install actions: notifying install\nobservers and sending out all the appropriate broadcasts.  It\u0027s only at this\npoint that the app becomes visible to the Launcher and the rest of the OS.\n\n... and a few other bits and pieces...\n\n* The ApplicationInfo.backupAgentName field has been exposed to the SDK.  This\ncan be reverted if there\u0027s a reason to do so, but it wasn\u0027t clear that this\ninfo needs to be hidden from 3rd party apps.\n\n* Debug logging of restore set IDs and operation timeout tokens [used during\nany asynchronous Backup Manager operation] are now consistently in hex for\nreadability.\n\n* We now properly reset our binder identity before calling into the transport\nduring restore-set operations.  This fixes a permissions failure when a\nsingle-app restore was attempted.\n\n* The \u0027BackupTest\u0027 test app is no longer lumped onto the system partition\nby default.\n\nChange-Id: If3addefb846791f327e2a221de97c8d5d20ee7b3\n"
    },
    {
      "commit": "6c81defa3d1111c36f8b0c9c4e84e8b2c342620f",
      "tree": "135f77c35a105adfb00782f991112a61a8c57b34",
      "parents": [
        "8afbc53578a55cb39f97f959a0b444bf24f317ee",
        "8946dd3355fc1dcbad872c0546e356474d4cc5de"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Fri Feb 19 14:27:29 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 19 14:27:29 2010 -0800"
      },
      "message": "Merge \"Move package from internal to external and vice versa.\""
    },
    {
      "commit": "8946dd3355fc1dcbad872c0546e356474d4cc5de",
      "tree": "8b614c938152df8ad809fd9bf03c6876c8a7a58e",
      "parents": [
        "eac461cf7c246df737d2b0e7bd30be176a34c36e"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Fri Feb 19 09:19:34 2010 -0800"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Fri Feb 19 14:20:54 2010 -0800"
      },
      "message": "Move package from internal to external and vice versa.\n"
    },
    {
      "commit": "5e8f52f5c5ac97cbc514e72c4fc84b6fa46ebc57",
      "tree": "4c2b97378d6741edfcca26c05836f89d1c13094a",
      "parents": [
        "2eae0694ea4a443e9776783bb96e51ce42f8be90"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Feb 19 16:10:29 2010 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Feb 19 18:47:17 2010 +0000"
      },
      "message": "Ignore TEMPLATE.html in LayoutTest directories\n\nChange-Id: I5b1bbd915a569568db368d678a5cc32309fd7be5\n"
    },
    {
      "commit": "2eae0694ea4a443e9776783bb96e51ce42f8be90",
      "tree": "f4b5508680458a4873823f3794c231f7259a03b9",
      "parents": [
        "0584242360c89f06074a45d01e5cd788c9a1fa01",
        "f53833b7283b810f9ada3abd9b6cfe21165e2931"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Feb 19 10:45:28 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 19 10:45:28 2010 -0800"
      },
      "message": "Merge \"Remove tests that no longer exist from the DumpRenderTree skipped list\""
    },
    {
      "commit": "0584242360c89f06074a45d01e5cd788c9a1fa01",
      "tree": "093df653738deabca8b043c5d0fe5982970ae6f9",
      "parents": [
        "1aec20b6c397b536e5f183567eda7f5bb6798fed",
        "52f4362ecdaef299e7ab1ba94006cf4513605014"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Feb 19 10:45:00 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 19 10:45:00 2010 -0800"
      },
      "message": "Merge \"Merges unused bug list with ignored result list in DumpRenderTree\""
    },
    {
      "commit": "c1ca8c51c616d1517b18bf24feaa9f8f1430c835",
      "tree": "d4b1e47a6cbcb24f8f278d93c69041d3bcf1d38b",
      "parents": [
        "9db619e5d3420c53d94866a02b8f3ed298afe636"
      ],
      "author": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Fri Feb 19 10:31:05 2010 -0800"
      },
      "committer": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Fri Feb 19 10:31:05 2010 -0800"
      },
      "message": "Revert \"Move framework test-runner unit tests to be closer to their source.\"\n\nThis reverts commit 12093976a4842a795491cfd2b1d3b71e18503f2d.\n"
    },
    {
      "commit": "9db619e5d3420c53d94866a02b8f3ed298afe636",
      "tree": "b968c141cff010a5230659643aea5df21a1ef0f4",
      "parents": [
        "884ed0190c46faf3fc0e156a80a7bdb133712ed1",
        "12093976a4842a795491cfd2b1d3b71e18503f2d"
      ],
      "author": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Fri Feb 19 10:02:10 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 19 10:02:10 2010 -0800"
      },
      "message": "Merge \"Move framework test-runner unit tests to be closer to their source. Move the test-runner source into a separate src folder to accommodate the test move.\""
    },
    {
      "commit": "12093976a4842a795491cfd2b1d3b71e18503f2d",
      "tree": "04d06cdfe57151ca3856eab6c405f260583cf1fa",
      "parents": [
        "5df3a9017eaac2aef2ad360ce8f298b2d60b5536"
      ],
      "author": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Thu Feb 18 17:56:11 2010 -0800"
      },
      "committer": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Fri Feb 19 09:58:29 2010 -0800"
      },
      "message": "Move framework test-runner unit tests to be closer to their source.\nMove the test-runner source into a separate src folder to accommodate the test\nmove.\n"
    },
    {
      "commit": "f53833b7283b810f9ada3abd9b6cfe21165e2931",
      "tree": "8f4ee8e409e9d45e4132db55cea63f5df84e810c",
      "parents": [
        "52f4362ecdaef299e7ab1ba94006cf4513605014"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Feb 19 15:28:34 2010 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Feb 19 15:44:34 2010 +0000"
      },
      "message": "Remove tests that no longer exist from the DumpRenderTree skipped list\n\nChange-Id: If927b40bc3aebdf73b6d23d6cda06cdf31479778\n"
    },
    {
      "commit": "52f4362ecdaef299e7ab1ba94006cf4513605014",
      "tree": "585c3b04307669524d2c97fbf6fa77da229807c5",
      "parents": [
        "4b9f74a2d3bd9672ec392b657eedefb31cd5b516"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Feb 05 10:49:20 2010 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Feb 19 14:59:22 2010 +0000"
      },
      "message": "Merges unused bug list with ignored result list in DumpRenderTree\n"
    },
    {
      "commit": "8a032a3b29e7708e468e2078ff88a39e083db1da",
      "tree": "b6327286679762a81a7cc03fdf78fde84062ce2d",
      "parents": [
        "c0784c749bb36c9746acd8fe5fe26b3205104d22"
      ],
      "author": {
        "name": "Ben Murdoch",
        "email": "benm@google.com",
        "time": "Tue Feb 02 18:20:11 2010 +0000"
      },
      "committer": {
        "name": "Ben Murdoch",
        "email": "benm@google.com",
        "time": "Fri Feb 19 11:47:31 2010 +0000"
      },
      "message": "Pass key modifier state to webcore for touch events and update DRT so it can simulate them.\n\nChange-Id: Ic5aa8cb0376f6a3eecaa6340d57f28fa97f016bd\n"
    },
    {
      "commit": "da2ca7a5b863d2cef9650cc9cb776a20693d9bb6",
      "tree": "ac615c2e6489d09877260c2451a6686273b4a11c",
      "parents": [
        "d970998b0d489774ad1c5b94b47d233912f00214"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Thu Feb 18 13:19:38 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Thu Feb 18 13:19:38 2010 -0800"
      },
      "message": "framework: tests: Clean up asec unit tests and add rename tests\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "d970998b0d489774ad1c5b94b47d233912f00214",
      "tree": "e319422620d535a0c7172fe8616e67cc27cf86b5",
      "parents": [
        "154f7a1cc2d4f0468a7cc8dfa36e837c84cd9f7e"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Thu Feb 18 11:43:03 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Thu Feb 18 11:48:48 2010 -0800"
      },
      "message": "framework: storage: Add \u0027force\u0027 option to unmount/destroy storage apis, and update callsites.\n\nAlso adds additional storage unit tests\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "0668db2adcc57ab20267f18912abffd7163d959a",
      "tree": "ebbe5856f039dcde1fa10e7949cfa5f8316090e9",
      "parents": [
        "64e7a257ca8371c9e29512c13a8c413794439a7f",
        "cdb4ef4cdb4b3fb729d619c830e169ba056d3905"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Wed Feb 17 11:25:28 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 17 11:25:28 2010 -0800"
      },
      "message": "Merge \"Sorts the lists of tests in DumpRenderTree in preparation for cleaning up the lists.\""
    },
    {
      "commit": "be6079a76c5feb3952ab5c4dc8b0491d44f42b56",
      "tree": "f1d12fd6eeb6d7ea4faf981c3c05ce8bb180fb21",
      "parents": [
        "a257169ff819d3bf860c17bec91b933e460133e0",
        "07a76ca0095b4e0a2484157f648c3e99ba36bdc6"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Wed Feb 17 11:04:53 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 17 11:04:53 2010 -0800"
      },
      "message": "Merge \"Removes tests from DumpRenderTree skipped list where the corresponding bugs have been fixed.\""
    },
    {
      "commit": "fea87ae1a742c94c50573dcdd50f07e6d56c8015",
      "tree": "7c56faf4dd4d35554ce341208d8a1a42b66db16c",
      "parents": [
        "e265532f30ca460dc0900c4cdfc3c7425ae7714b"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Wed Feb 17 09:02:17 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Wed Feb 17 09:05:16 2010 -0800"
      },
      "message": "framework: tests: Add some unit-tests for Asec\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "cdb4ef4cdb4b3fb729d619c830e169ba056d3905",
      "tree": "f71a749fa281d2cacd77b97da1761210d0a37883",
      "parents": [
        "07a76ca0095b4e0a2484157f648c3e99ba36bdc6"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Feb 05 10:31:15 2010 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Tue Feb 16 18:03:49 2010 +0000"
      },
      "message": "Sorts the lists of tests in DumpRenderTree in preparation for cleaning up the lists.\n"
    },
    {
      "commit": "642b7c0f1964389ed0b049df275c7b4daaf35b7a",
      "tree": "0aedd2679bb469a8d491d7c59931dbbef1e741d9",
      "parents": [
        "241379081e046803b7f4cf4f07091b9de49abf31",
        "5b993ce7bc29e43a3215a50ce6ce5d6550d4e5e2"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Tue Feb 16 09:23:51 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 16 09:23:51 2010 -0800"
      },
      "message": "Merge \"Include install location preference when installing packages. Changes include Add new remote call in default container service to determine install location. Rename INSTALL_ON_SDCARD Remove recommentAppInstall method Add some additional flags used in remote stubs. Move check for protected apps prior to copy. Unit tests\""
    },
    {
      "commit": "07a76ca0095b4e0a2484157f648c3e99ba36bdc6",
      "tree": "80f36585f508000194b2a0be029b9dd596c16e8f",
      "parents": [
        "103d53645c0b8ef532e8715da6c6cd33ad5f98e2"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Fri Feb 05 00:23:32 2010 +0000"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Tue Feb 16 11:18:36 2010 +0000"
      },
      "message": "Removes tests from DumpRenderTree skipped list where the corresponding bugs have been fixed.\n"
    },
    {
      "commit": "5b993ce7bc29e43a3215a50ce6ce5d6550d4e5e2",
      "tree": "fc25f9f6adee005c287454a74837f6cbc1a072a0",
      "parents": [
        "70251b1704b9bb81443e7533d365400645dd5eaa"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Fri Feb 12 09:43:29 2010 -0800"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Fri Feb 12 18:50:47 2010 -0800"
      },
      "message": "Include install location preference when installing packages.\nChanges include\nAdd new remote call in default container service to determine\ninstall location.\nRename INSTALL_ON_SDCARD\nRemove recommentAppInstall method\nAdd some additional flags used in remote stubs.\nMove check for protected apps prior to copy.\nUnit tests\n\nDefaultContainerService first parses the file uri(if content uri is specified\nit returns a default install internal only value) and returns\na recommended location. Based on which the temporary id is determined\neither a file name or a container id and the file is copied there.\nThis is then later renamed during install.\nTodo\u0027s light weight parsing of package when determining location since we\njust need the install location attribute only when finding out\nrecomended location. This will also enable to move the check for\nupdated system apps(cannot be on sdcard) prior to copying.\n"
    },
    {
      "commit": "a87240c2270e83c3e865ffa1e56f79bfa74daffc",
      "tree": "56185fa9fc74ee9a55e3a35e6f228459a0cff04d",
      "parents": [
        "7f66d6e63dc79709ea308440ec57906980046531"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Feb 12 14:12:34 2010 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Feb 12 15:49:30 2010 -0800"
      },
      "message": "Remove BACKUP_DATA permission and associated checks\n\nAny package can now participate in backup/restore, without requiring any\nmanifest-declared permission.  *Control* of the backup manager is still\nguarded by the BACKUP permission, which is signatureOrSystem.\n\nChange-Id: I116fcfcd4cd255e3c976330da1c4dea7d4faae9d\n"
    },
    {
      "commit": "117818e4f171b1fd9daa05349c48f61388f04567",
      "tree": "2bb350a719caf06727a410ce662c46a28c45fb72",
      "parents": [
        "596ce7fbfe5a81a4270949448c08dcb3a684cc3a"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Tue Feb 09 03:45:40 2010 -0800"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Feb 10 08:59:08 2010 -0800"
      },
      "message": "Add new manifest option for install location\nChange recommendAppInstallLocation api\nadd code to parse new attribute.\nDefine flags in PackageInfo\nAdd new settings attributes for enabling setting and value for install location\nSome tests\nThe policy for install location: if explicitly set in manifest as internal only we try to install the app only on internal storage. if set to preferExternal, we try to install it on sdcard if possible. If not we fall back to internal.\nIf the user enables setting SET_INSTALL_LOCATION(which will always\nbe set to false in final release builds) and sets a prefered location, we try\nto honour it.\n"
    },
    {
      "commit": "b104340496e3a531e26c8f428c808eca0e039f50",
      "tree": "11247cb68359d43ca4871c0cb0165c9bec339a6f",
      "parents": [
        "3ee1317173260252d475772fec09d492f8fcfd33"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Fri Feb 05 08:26:50 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Tue Feb 09 11:03:16 2010 -0800"
      },
      "message": "Framework: Clean up / Refactor Mount APIs\n\n - Move android.storage.* -\u003e android.os.storage.* and refactor users\n - Refactor generic shares back to explicit ums enable/disable/isEnabled\n - Remove media insert/removed event callbacks (not ready for Froyo)\n - Remove \u0027label\u0027 from volume state change callbacks\n - Add public API functions for enabling/disabling USB mass storage (permissions enforced\n   in MountSevice)\n - Remove some stray un-needed import lines\n - Move android.os.IMountService / android.os.IMountServiceListener -\u003e android.os.storage\n - Improve code comments\n\nUpdated:\n  MountService: Add dup state check and move debugging behind a conditional\n  UsbStorageActivity: Fix review comments + a TODO\n  StorageNotification: Add @Override tags\n  StorageManager: Don\u0027t use a static Listener list\n  MountService: Reduce bloat and fix \u003d\u003d where I meant .equals()\n  PackageManagerTests: Update for new API\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "b56ae20b22fd7283df32072a431ab6d4965f3c1b",
      "tree": "c26e5e7bf6433dfbe500917fc7001f77c331c4f2",
      "parents": [
        "836a1f2cb99600c26a1a928a9e3240b9dec3079b"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Thu Feb 04 22:51:07 2010 -0800"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Mon Feb 08 14:52:25 2010 -0800"
      },
      "message": "Rename media resource broadcasts\nAdd checks for fwdlocked and updated system apps\nadd more tests\nremove duplicate adds\n"
    },
    {
      "commit": "420bc12ed03dd0514e0d0400385ceba3e91bbe2c",
      "tree": "398c783a8628c137c10c9d10bae64c6e4eb97bc1",
      "parents": [
        "8186ae5a9687f66389f2bf7927b54ba3fc836f76"
      ],
      "author": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Fri Feb 05 18:27:08 2010 -0600"
      },
      "committer": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Fri Feb 05 18:27:08 2010 -0600"
      },
      "message": "Remove reference to unused static library.\n\nChange-Id: I5ad76658129b003fb96fc1e960a12f6e672da108\n"
    },
    {
      "commit": "c5d1c6db61f208b206b260f897bb5bbc64be4d97",
      "tree": "91a5ffe88326b446f57b7249ddf1406b8654d2f6",
      "parents": [
        "0a45a09814dea0398647f26497ecff54a77c5f8c"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Wed Jan 27 12:17:49 2010 -0800"
      },
      "committer": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Fri Feb 05 15:16:20 2010 -0800"
      },
      "message": "add sync polling\n\n- added the ability to specify that a sync (of account/authority/extras)\n  should occur at a given frequency\n- the existing daily poll code was replaced with seeding each\n  account/authority with a 24 hour periodic sync\n- enhanced the \"adb shell dumpsys content\" output to show the\n  periodic syncs and when they will next run\n"
    },
    {
      "commit": "64226a49b75b44da56740a21b38ce6cc710796d8",
      "tree": "cbfc7f880fa7b8b98daadbbc0ea2be2095324ebb",
      "parents": [
        "214ea34bcab790f19c4302ab2629b3b9de58e2c1",
        "91e1d0cddaaec5e077ca689744463901f9d5d580"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Feb 04 15:58:18 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 04 15:58:18 2010 -0800"
      },
      "message": "Merge \"Add support in StatusBarManager for disabling ticker text.\""
    },
    {
      "commit": "91e1d0cddaaec5e077ca689744463901f9d5d580",
      "tree": "f759d1bd29d9cb616911015817dcc50b543d0ceb",
      "parents": [
        "1ec608d13abe5b744df97a6394a6324c5540c79d"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Thu Feb 04 15:41:20 2010 -0800"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Thu Feb 04 15:55:00 2010 -0800"
      },
      "message": "Add support in StatusBarManager for disabling ticker text.\n\nThe new flag, DISABLE_NOTIFICATION_TICKER, will be used by\nthe car dock app (in conjunction with DISABLE_EXPAND) to\nminimize distractions to the driver.\n\nIt may also be used by the secure lockscreen to avoid\nleaking personal information when the screen is on but the\ndevice is locked (e.g. when the desk dock app is running).\n\nChange-Id: Ibc8efde7da7501767163ae0a75f7c369b824e2a2\n"
    },
    {
      "commit": "c4aac70a81e1dc65805479db7477fe098981d9e7",
      "tree": "1ba6363857da8217ec353d6a62d9211610d39028",
      "parents": [
        "5c19aeca3d41c6a5820dc05a51c38736d3583378",
        "afbaaa189fbc18b3acbb06e03233cf3442f2b1c4"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Thu Feb 04 14:59:00 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 04 14:59:00 2010 -0800"
      },
      "message": "Merge \"Some tests for install and replace package.\""
    },
    {
      "commit": "fc4a69e9c13d7233876a0f507ebca2eec25a4215",
      "tree": "12ab9f6b6d08ba51b4133a2bb052b920c40a3ec8",
      "parents": [
        "3141e0a62abe57e93e5d716895a2a57cc052bb50"
      ],
      "author": {
        "name": "Ben Murdoch",
        "email": "benm@google.com",
        "time": "Thu Feb 04 16:35:10 2010 +0000"
      },
      "committer": {
        "name": "Ben Murdoch",
        "email": "benm@google.com",
        "time": "Thu Feb 04 16:54:06 2010 +0000"
      },
      "message": "When a window is closed, destroy the WebView properly so that WebCore is informed of it\u0027s destruction.\n\nChange-Id: I00002f53ec52c6056df4d7ddeec7cf0957423bd6\n"
    },
    {
      "commit": "f1dd37ac283d09ba5d21349bf99fdc6ba3d7fc4b",
      "tree": "402371b00e3b954057efbbc86500237029e264f7",
      "parents": [
        "fa6bc84e01c061ded1b9ab11a82cbbaac2843f73",
        "68065e0a1980ab6abf8963b48b011efa017fe1c2"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Feb 03 20:25:43 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 03 20:25:43 2010 -0800"
      },
      "message": "Merge \"Fix 1667521 - system process crash after bad notification\""
    },
    {
      "commit": "68065e0a1980ab6abf8963b48b011efa017fe1c2",
      "tree": "3d6d4184f359e3bfea6783a97d0de7c2d99d7ab5",
      "parents": [
        "378a1488bb76d4786025a10e36c2d638cbd2cb6a"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Feb 03 20:21:41 2010 -0800"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Feb 03 20:21:41 2010 -0800"
      },
      "message": "Fix 1667521 - system process crash after bad notification\n\nThe steps to reproduce this were kind of interesting.  You needed to have\na notification with a bogus RemoteViews in the first position in the list,\nand then have another notification come in with an earlier timestampe.  In\nthat case, it would get a bad index for the new (not bogus) view that was\nbeing added.\n"
    },
    {
      "commit": "afbaaa189fbc18b3acbb06e03233cf3442f2b1c4",
      "tree": "9406185a598b72b1a0b4391b3ccc5fdbd7740423",
      "parents": [
        "3c4a1ebc19abba06af565071c243e55ba6eef585"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Feb 03 11:24:49 2010 -0800"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Feb 03 17:34:18 2010 -0800"
      },
      "message": "Some tests for install and replace package.\n"
    },
    {
      "commit": "ecf04ec19a1a72af7e38938fbad88d43934e3e7d",
      "tree": "dc3a4ea836ce6b8c1e844ca8d8daf3ed9684df59",
      "parents": [
        "8321eb377f6fbff87c677b59340cc0bc23775501",
        "809cf4481fd7b33c97a421c302ae1ab7e6b7bd76"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 03 12:05:40 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 03 12:05:40 2010 -0800"
      },
      "message": "Merge \"Remove \"StringTest.java\".\""
    },
    {
      "commit": "809cf4481fd7b33c97a421c302ae1ab7e6b7bd76",
      "tree": "ba9f8c2666ed89bd63bf50ebcbb7f8a149f74e57",
      "parents": [
        "5fdff9e6c50faa6196349e8aecc08d0b9bc5467d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 03 11:33:47 2010 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 03 11:33:47 2010 -0800"
      },
      "message": "Remove \"StringTest.java\".\n\nThis only tests stuff that\u0027s already better tested in dalvik/libcore, plus\nprivate ICU API (RuleBasedNumberFormat) we\u0027d like to remove, and that this\nis the only caller of.\n"
    },
    {
      "commit": "ecbc65cf8f2ea3bdd311f954e3927b46fca068ff",
      "tree": "80e1bc4935fb8d19f2b2d6462ce6d228aafdd048",
      "parents": [
        "ecbfb2104f61f0a364a29b431abe6ec645ea6d51"
      ],
      "author": {
        "name": "Ben Murdoch",
        "email": "benm@google.com",
        "time": "Wed Jan 13 10:54:56 2010 +0000"
      },
      "committer": {
        "name": "Ben Murdoch",
        "email": "benm@google.com",
        "time": "Wed Feb 03 16:57:46 2010 +0000"
      },
      "message": "Add support for sending touch events in DRT.\n\nAs part of this, make it possible for DRT to configure the timeout threshold between sending touch events to WebCore as the Layout Tests only synthesize single events, not a stream. Because of this, they often get dropped by the WebView for coming too quickly.\n\nSkip the multi touch test as we don\u0027t support multi touch in the Browser.\n\nChange-Id: I7b9830f43181fea33206825b49ef2e294269b4dd\n"
    },
    {
      "commit": "1a44d5dcabc18cd5ef111f732ccff91683a1a093",
      "tree": "e370267a65ba54a43e3026ff9b282cc4e3dad869",
      "parents": [
        "35ec7863e18ce3d242010b76a50df5a8c285325b"
      ],
      "author": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Wed Jan 13 10:42:43 2010 -0800"
      },
      "committer": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Fri Jan 29 13:35:51 2010 -0800"
      },
      "message": "Phase 2 of test cleanup: moving test files from AndroidTests closer to their sources.\n\nMost of these are file moves; a couple notable exceptions are the changes due to the move, and fixing up test code:\n- database/DatabaseCursorTest.java\n- database/DatabaseStatementTest.java\n- net/UriTest.java\n"
    },
    {
      "commit": "9d0f609251ccea1cee0fb32da6d449bdde317604",
      "tree": "efd74a051b01373b4d7b62c66da2a5bfc547e563",
      "parents": [
        "8ea25cc1a104bfc95d5742a8c0ab582c7812ee74"
      ],
      "author": {
        "name": "Patrick Scott",
        "email": "phanna@android.com",
        "time": "Thu Jan 28 09:03:14 2010 -0500"
      },
      "committer": {
        "name": "Patrick Scott",
        "email": "phanna@android.com",
        "time": "Thu Jan 28 09:03:14 2010 -0500"
      },
      "message": "There is no ../com directory and the build (find) agrees.\n"
    },
    {
      "commit": "1d3165f10b12165f02b7015ac1a817c5f60e6399",
      "tree": "bab5dc5e70ad49f8d388f50ff3fcf24786154080",
      "parents": [
        "e6dca5c29b569ec245c665341bd8794abf6a02e9"
      ],
      "author": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Tue Jan 12 13:26:10 2010 -0800"
      },
      "committer": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Wed Jan 27 14:15:55 2010 -0800"
      },
      "message": "Phase 2 of test file cleanup: relocating test files from FrameworkTest closer to their sources in core.\n\nIn addition to the file moves, the package names of the tests have been updated and adjusted to match their new locations.\n"
    },
    {
      "commit": "22e31e5b609136d5bf7d77b1dccd6b042b83ebdf",
      "tree": "d42bca2b4b406fa1fda149365985a25e2692b2dc",
      "parents": [
        "9ecaf8b8da6a556be6143b74b9e77cf4e08ff1e8"
      ],
      "author": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Thu Jan 07 10:14:05 2010 -0800"
      },
      "committer": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Wed Jan 27 13:36:38 2010 -0800"
      },
      "message": "Moving framework core tests closer to their source files.\n\nPhase 2 of test case cleanup; distributing CoreTests files closer to their respective sources under frameworks.\n"
    },
    {
      "commit": "445cc0e4bfd5b9460fb1cdccd22d8d54a49e5da1",
      "tree": "2749bea59f5f5746e54df16e82b593f6e15fea43",
      "parents": [
        "946e007283d76d6855824ed00910fb1470d369c2",
        "ad8d0d1b4d4b8cde73c30e9facad6514e492bf11"
      ],
      "author": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Wed Jan 27 12:10:56 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 27 12:10:56 2010 -0800"
      },
      "message": "Merge \"dont use sqlite_stmt_journals dir\""
    },
    {
      "commit": "ad8d0d1b4d4b8cde73c30e9facad6514e492bf11",
      "tree": "ffaf0ebbfa3b7bd204c1ff4ed34b166b13aff18f",
      "parents": [
        "199566045d2c22981604b1894e416373eb0e74ed"
      ],
      "author": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Tue Jan 26 22:27:56 2010 -0800"
      },
      "committer": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Wed Jan 27 12:10:14 2010 -0800"
      },
      "message": "dont use sqlite_stmt_journals dir\n"
    },
    {
      "commit": "bce2806a37a281396b944d10a6a8161de9977225",
      "tree": "e5c62a1c9ab183c249eede20dc3a51845a5a708b",
      "parents": [
        "7d3a558b9ebf2256517ec99cd09c066cc7dbc92c",
        "4256586663f0d045c69ea818db4893b3365b9915"
      ],
      "author": {
        "name": "Eugene Koh",
        "email": "koh@google.com",
        "time": "Tue Jan 26 16:48:52 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 26 16:48:52 2010 -0800"
      },
      "message": "Merge \"Modify the interface of HanziToPinyin class to make it generic and add test class\""
    },
    {
      "commit": "307da1a46b4c9b711bafe8fbaaa6b98e8868c18e",
      "tree": "a83cd290b7fc4e6d7f11a56c96318f282df37838",
      "parents": [
        "e0560e484b4b31edbb81beae1dca7e109126cb73"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Thu Jan 21 14:24:20 2010 -0800"
      },
      "committer": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Mon Jan 25 16:41:58 2010 -0800"
      },
      "message": "enhance the sync manager backoff logic and add support for retry-after\n\nmoved SyncQueue and SyncOperation into their own top-level classes\nto ease maintainability and testing6\n\nremoved some dead code\n"
    },
    {
      "commit": "4256586663f0d045c69ea818db4893b3365b9915",
      "tree": "e14afc7537bac6b291e025cc6c2b48755adf3a04",
      "parents": [
        "52a014492c10d825ec26b2179bd8369bf78363ef"
      ],
      "author": {
        "name": "Bai Tao",
        "email": "michaelbai@google.com",
        "time": "Thu Jan 21 08:48:30 2010 +0800"
      },
      "committer": {
        "name": "Bai Tao",
        "email": "michaelbai@google.com",
        "time": "Sat Jan 23 12:57:21 2010 +0800"
      },
      "message": "Modify the interface of HanziToPinyin class to make it generic and add test class\n"
    },
    {
      "commit": "b35df8f6c7b6f40ab29bd1811f9b183653931ef2",
      "tree": "fedca13588bdce214bd6333e6f59530afce8261c",
      "parents": [
        "21bf222446846af90560dc55616450a1f4262d69",
        "39b17a15669a7c372a77b967cf0bd6621cd52bee"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Fri Jan 22 14:30:02 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 22 14:30:02 2010 -0800"
      },
      "message": "Merge \"remove GoogleLoginService unit test\""
    },
    {
      "commit": "39b17a15669a7c372a77b967cf0bd6621cd52bee",
      "tree": "4a664e891c4a395bb2810ccd2bf175b97b2ef7a1",
      "parents": [
        "7c45147f3537bc777a04545a6f0bc70550df5269"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Fri Jan 22 14:23:14 2010 -0800"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Fri Jan 22 14:23:14 2010 -0800"
      },
      "message": "remove GoogleLoginService unit test\n\nThis now lives in the vendor/google directory alongside\nGoogleLoginService itself.\n\nChange-Id: Ic934fa563cdad965e5f95c2f6da407ea720bc0bf\n"
    },
    {
      "commit": "6d001c0f7a7659d456012c220aed14a891a20a83",
      "tree": "04d4a370e3825014661c8a098b7e0bf4c95f8799",
      "parents": [
        "bd6f964da1fc764d0681e7ce528ea6b1808623d2",
        "e0aed796f03b080dabae6be0803d4ead1b3260a0"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Fri Jan 22 09:44:34 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 22 09:44:34 2010 -0800"
      },
      "message": "am e0aed796: am ccec75e7: Merge \"Prevent orientation change from triggering activity recreation.\" into eclair\n\nMerge commit \u0027e0aed796f03b080dabae6be0803d4ead1b3260a0\u0027\n\n* commit \u0027e0aed796f03b080dabae6be0803d4ead1b3260a0\u0027:\n  Prevent orientation change from triggering activity recreation.\n"
    },
    {
      "commit": "37f3ddb60ba75acde323066836e6ba2111dabb98",
      "tree": "420fb06be6502d204863352bb7d3524b5e0940cb",
      "parents": [
        "051ab623342746b6e25676c740f6104989902de6",
        "0a2fb2174ed8d3e34ae435410ea3998a1fb2d97f"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Thu Jan 21 16:10:58 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 21 16:10:58 2010 -0800"
      },
      "message": "Merge \"relocate GoogleLoginService\""
    },
    {
      "commit": "0a2fb2174ed8d3e34ae435410ea3998a1fb2d97f",
      "tree": "865aa74cbf0beb3453115aa5db43b93002a5591e",
      "parents": [
        "72666bac20cddba1d2269578c82671fdf5beffc2"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Thu Jan 21 14:36:17 2010 -0800"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Thu Jan 21 14:36:17 2010 -0800"
      },
      "message": "relocate GoogleLoginService\n\nChange-Id: I79f4ff658ab136adcc54c432db76f34d2de5f6ac\n"
    },
    {
      "commit": "f5831d4303410edffb865c936164a7aee981d04c",
      "tree": "0d9bde12a75436cf72ff9168e21289773cf4af2b",
      "parents": [
        "ef340357cefeee452403a77c2b6c1aa01c239d6b"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Jan 21 15:06:19 2010 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Jan 21 15:06:19 2010 -0500"
      },
      "message": "Removing unused parameter from NP_Initialize.\n"
    },
    {
      "commit": "fd24feaf796f51866c7354a02d4d8febe255b115",
      "tree": "3a2c43068db20ec61e5b57a1e61df671938ba057",
      "parents": [
        "290cd9ab8b5f3043e18be665763c914f4d3d7dc5",
        "c83bb730ec0333e52990a40edf6d54bb66b1d5ba"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Tue Jan 19 16:45:05 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 19 16:45:05 2010 -0800"
      },
      "message": "Merge \"Add DateTimeView, a widget that shows a time or the date depending on the current time.  Use that for notifications instead of a TextView that doesn\u0027t ever update.\""
    },
    {
      "commit": "c83bb730ec0333e52990a40edf6d54bb66b1d5ba",
      "tree": "d64faa280ae393891673278b4d61ec274a8e4259",
      "parents": [
        "63ce8e817c9b800b4f08b64c343e533783961b6e"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Jan 19 16:32:22 2010 -0800"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Jan 19 16:32:22 2010 -0800"
      },
      "message": "Add DateTimeView, a widget that shows a time or the date depending on the\ncurrent time.  Use that for notifications instead of a TextView that\ndoesn\u0027t ever update.\n\nBUG 1563917\n"
    },
    {
      "commit": "e0aed796f03b080dabae6be0803d4ead1b3260a0",
      "tree": "cab71bcfc4f4f6c0ce21d6f1f968c4538a6a73af",
      "parents": [
        "658dc0d4b03015eb4a692968b82b664e24aa605a",
        "ccec75e7a842f8ba26617406768206eb3be32222"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Tue Jan 19 11:54:05 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 19 11:54:05 2010 -0800"
      },
      "message": "am ccec75e7: Merge \"Prevent orientation change from triggering activity recreation.\" into eclair\n\nMerge commit \u0027ccec75e7a842f8ba26617406768206eb3be32222\u0027 into eclair-plus-aosp\n\n* commit \u0027ccec75e7a842f8ba26617406768206eb3be32222\u0027:\n  Prevent orientation change from triggering activity recreation.\n"
    },
    {
      "commit": "4ddcedeff14de15c4ddaf49ce62a5ca07be369c2",
      "tree": "1761ff1cb034f70b7fe0a0487e7990316cf508d0",
      "parents": [
        "f167c4bfca57b5467f40f6cf25e10fb12183a9f3"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Tue Jan 19 11:51:44 2010 -0800"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Tue Jan 19 11:51:44 2010 -0800"
      },
      "message": "Prevent orientation change from triggering activity recreation.\n"
    },
    {
      "commit": "3e22d199a0434a6450eccc5f75a1ad8141878de0",
      "tree": "a7b870ff8179ff738a2391cad279cc3206e14565",
      "parents": [
        "05bc8d739768c8e2e025c291706f6c10ac362636",
        "b5a5a39716502be2cd325a6f9b393e155c0636ee"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Jan 19 00:02:00 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 19 00:02:00 2010 -0800"
      },
      "message": "am b5a5a397: am 56a17690: Merge \"TransformGestureDetector is now ScaleGestureDetector - scope reduced. N1 screen can\\\u0027t reliably handle translation and scaling at the same time.\" into eclair\n\nMerge commit \u0027b5a5a39716502be2cd325a6f9b393e155c0636ee\u0027\n\n* commit \u0027b5a5a39716502be2cd325a6f9b393e155c0636ee\u0027:\n  TransformGestureDetector is now ScaleGestureDetector - scope reduced.\n"
    },
    {
      "commit": "d60e31cbe32edd4d8fde9db5be26eb9ab709ae5e",
      "tree": "b776c6d002e5f636246b4972f502f063777f1e5c",
      "parents": [
        "fe86b045311f56e23dd57c4a070323dc9bf1bad9",
        "de8aa87016a8dc2c252002ec60f6285b7a839336"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Jan 15 14:44:58 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 15 14:44:58 2010 -0800"
      },
      "message": "Merge \"Update Time.parse3339() unit tests\""
    },
    {
      "commit": "de8aa87016a8dc2c252002ec60f6285b7a839336",
      "tree": "2fdb2899cff26735ef901fe455d6961ab5e60238",
      "parents": [
        "93aea69649c2ac163db3333563644d2593f2770c"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Jan 15 14:22:10 2010 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Jan 15 14:23:20 2010 -0800"
      },
      "message": "Update Time.parse3339() unit tests\n\nMonth should be n-1 from input and timezone is already normalized to\nUTC.\n\nChange-Id: I030c6444f92b96f85acea81f1675edf061bb5451\n"
    },
    {
      "commit": "e495d1f74af13aec8d5d825e93e4cfe1e4fe7468",
      "tree": "598f4255c3068e244a15911423e375464f70f44d",
      "parents": [
        "f2275078bd5ba6bc0b184098573341c5958289ab"
      ],
      "author": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Wed Jan 06 16:34:19 2010 -0800"
      },
      "committer": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Thu Jan 14 15:22:58 2010 -0800"
      },
      "message": "fix a bug in compiled-sql caching \u0026 hide public api setMaxSqlCacheSize\n\nthis is a clone of https://android-git.corp.google.com/g/#change,35174.\nif the cache is full to its capacity and if a new statement is to be cached,\none of the entries in the cache is thrown out to make room for the new one.\nbut the one that is thrown out doesn\u0027t get deallocated by SQLiteProgram\nbecause it doesn\u0027t know that it should.\nfixed this by having SQLiteProgram finalize its sql statement in\nreleaseReference*() methods, if the statement is not in cache.\n"
    },
    {
      "commit": "b5a5a39716502be2cd325a6f9b393e155c0636ee",
      "tree": "2ec926c93bf0565b8d0517fa912a009b8b4f9f73",
      "parents": [
        "cff6c8459ca05f3fee2d2999989d07a7176f955c",
        "56a17690b0b9dc2a2e15ef38a37cc4c403c614fe"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Jan 13 18:04:39 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 13 18:04:39 2010 -0800"
      },
      "message": "am 56a17690: Merge \"TransformGestureDetector is now ScaleGestureDetector - scope reduced. N1 screen can\\\u0027t reliably handle translation and scaling at the same time.\" into eclair\n\nMerge commit \u002756a17690b0b9dc2a2e15ef38a37cc4c403c614fe\u0027 into eclair-plus-aosp\n\n* commit \u002756a17690b0b9dc2a2e15ef38a37cc4c403c614fe\u0027:\n  TransformGestureDetector is now ScaleGestureDetector - scope reduced.\n"
    },
    {
      "commit": "ae542ff055301a4c3c8a18e8da1739df3a771958",
      "tree": "9e57899a12bd08fab4c83d2b8cb671d959469d2d",
      "parents": [
        "1193ae4e824c66b75083c444ce0f250594e138ee"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Jan 13 16:29:27 2010 -0800"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Jan 13 17:08:31 2010 -0800"
      },
      "message": "TransformGestureDetector is now ScaleGestureDetector - scope reduced.\nN1 screen can\u0027t reliably handle translation and scaling at the same time.\n"
    },
    {
      "commit": "96e40b4b3769a7880eca66d1955b5e5583e979c8",
      "tree": "e1f9dfaac111a2a56ae2db30e4994bea3b41c7e8",
      "parents": [
        "8d1966eac0faf0f3976cdf7bcfbc7aea9de81540",
        "ae46195d4fcde85c0901ca476a5cffd015d573cb"
      ],
      "author": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Wed Jan 13 14:19:11 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 13 14:19:11 2010 -0800"
      },
      "message": "Merge \"Framework Tests Cleanup: Removing CTS duplicate files\""
    },
    {
      "commit": "8d1966eac0faf0f3976cdf7bcfbc7aea9de81540",
      "tree": "5ed7e9278a16e08d8b5a2c9956b72d2acd7c0b51",
      "parents": [
        "83fe5de254f3129e1c4e1cc9c317108f218677ea",
        "2574d50bd59ee9c7e5bccf26df9f2d0ab007a934"
      ],
      "author": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Wed Jan 13 14:18:48 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 13 14:18:48 2010 -0800"
      },
      "message": "Merge \"Framework Tests Cleanup: Removing CTS duplicate files\""
    },
    {
      "commit": "83fe5de254f3129e1c4e1cc9c317108f218677ea",
      "tree": "2ff862297a7505969ac17477b5edaee743140a01",
      "parents": [
        "ae51f0a857a35d863925964458c258e4fb248312",
        "c19be0527ca0f60ae7a2077f98cb2bd7d2d5f4a4"
      ],
      "author": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Wed Jan 13 14:18:17 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 13 14:18:17 2010 -0800"
      },
      "message": "Merge \"Framework Tests Cleanup: Removing CTS duplicate files\""
    },
    {
      "commit": "ae51f0a857a35d863925964458c258e4fb248312",
      "tree": "ee7617b5b6698c61584adbd475b850c6c892caef",
      "parents": [
        "f6f56c051c85828de790f9b0b7f78e93abd9c4a2",
        "a5411f5b8dde480dc30fcb6bb2d1cb9eb04b9ceb"
      ],
      "author": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Wed Jan 13 14:17:56 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 13 14:17:56 2010 -0800"
      },
      "message": "Merge \"Framework Tests Cleanup: Removing CTS duplicate files\""
    },
    {
      "commit": "908c48587d18e787a0511b1fa544d88d13b6bbb5",
      "tree": "0241836660a363fbce07a6579d08846b448ed8ff",
      "parents": [
        "cd7703712eafb68b735233146b5e13c8c8e17609",
        "202a6734fd39289257955d404edf7a1165f6e480"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Jan 12 15:19:28 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 12 15:19:28 2010 -0800"
      },
      "message": "am 202a6734: am 8acdb201: Added TransformGestureDetector (still in progress) Modified VelocityTracker to track multiple pointers Added TransformTest\n\nMerge commit \u0027202a6734fd39289257955d404edf7a1165f6e480\u0027\n\n* commit \u0027202a6734fd39289257955d404edf7a1165f6e480\u0027:\n  Added TransformGestureDetector (still in progress)\n"
    },
    {
      "commit": "202a6734fd39289257955d404edf7a1165f6e480",
      "tree": "01707f81652a43c6c95b78489a9a16ffcada2974",
      "parents": [
        "ba5220fc0c19c1efb65f6855e6b0bf680c30b6e8",
        "8acdb201bdad2cd03c07ebad9cda29f7971ed164"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Jan 12 15:15:43 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 12 15:15:43 2010 -0800"
      },
      "message": "am 8acdb201: Added TransformGestureDetector (still in progress) Modified VelocityTracker to track multiple pointers Added TransformTest\n\nMerge commit \u00278acdb201bdad2cd03c07ebad9cda29f7971ed164\u0027 into eclair-plus-aosp\n\n* commit \u00278acdb201bdad2cd03c07ebad9cda29f7971ed164\u0027:\n  Added TransformGestureDetector (still in progress)\n"
    },
    {
      "commit": "8acdb201bdad2cd03c07ebad9cda29f7971ed164",
      "tree": "f9c045796bf21bc8cae6eaf67d93b2124077fafd",
      "parents": [
        "ce63c639e90daafc3382020bb2d9e2b17350f1f0"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Jan 06 17:33:52 2010 -0800"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Jan 12 15:08:23 2010 -0800"
      },
      "message": "Added TransformGestureDetector (still in progress)\nModified VelocityTracker to track multiple pointers\nAdded TransformTest\n"
    },
    {
      "commit": "980a938c1c9a6a5791a8240e5a1e6638ab28dc77",
      "tree": "75a3a1347b5423cc98859d3976076cea3dc22564",
      "parents": [
        "0a0289420227fee51406cf4cc508f09d8ecdd2f4"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jan 08 15:06:28 2010 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jan 08 15:11:38 2010 -0800"
      },
      "message": "Deprecate fill_parent and introduce match_parent.\nBug: #2361749.\n"
    },
    {
      "commit": "edc5189c33de03f3e2f5f73edc0e007992b933c9",
      "tree": "475cb09325a6ec4e1627a4c57ad1e5a5b4cc250b",
      "parents": [
        "43866e0c48bb0effe8805afd62b253e50ca7d591"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Thu Jan 07 13:51:16 2010 -0800"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Thu Jan 07 15:00:37 2010 -0800"
      },
      "message": "change remaining frameworks/base Gservices to Secure settings\n\nChange-Id: I61bdb05a2526523700c2833154d5a4133881ef10\n"
    },
    {
      "commit": "43866e0c48bb0effe8805afd62b253e50ca7d591",
      "tree": "c70bc473e8e7d9662916ff645d6bac8cfe85d478",
      "parents": [
        "6414970ac7dc629345942059f75362d894c2310e"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Thu Jan 07 12:09:54 2010 -0800"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Thu Jan 07 14:20:39 2010 -0800"
      },
      "message": "move some system services from gservices to secure settings\n\nChange-Id: Ie2dfb99a2b42b2cc9310b858c044d8684e3493fa\n"
    },
    {
      "commit": "6916089e838662b41d902cd9a0d2560b04633ef9",
      "tree": "8ec507232b223c4362c816bb0ba6c8543f136759",
      "parents": [
        "4cd9f5454aa51a284e6cc70ecc932cb6213b5f10"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Wed Jan 06 23:12:57 2010 -0800"
      },
      "committer": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Thu Jan 07 00:28:58 2010 -0800"
      },
      "message": "Remove old EventLog tests from here, they will be replaced by a\n(better) EventLog test in CTS.\n\nFix some minor errors in the handling of too-large event log values.\n"
    },
    {
      "commit": "62136d3e1c1262fc31a1f77f6d6acbd75e5ea81d",
      "tree": "3addaf756197802741a15e36046ddadfe894554c",
      "parents": [
        "432bff01ec67533dbbb6ed27cb190c99e83ea226"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Tue Jan 05 19:09:08 2010 -0800"
      },
      "committer": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Wed Jan 06 12:30:12 2010 -0800"
      },
      "message": "Simplify EventLog interface -- remove supported for nested\nsequences (which nobody used) and streamline the API, adding\ndocumentation in preparation for inclusion in the SDK.\n\nGut and deprecate EventLogTags, which unfortunately was put\ninto the public SDK (an oversight).  Include the functionality\nin EventLog proper, in a simpler and easier to use manner.\n\nThis change doesn\u0027t actually un-@hide anything, but it does\nchange it to @pending.\n"
    },
    {
      "commit": "432bff01ec67533dbbb6ed27cb190c99e83ea226",
      "tree": "abd8e77d4c6bc894e181ca6a10e5e95416e3713c",
      "parents": [
        "e0a8efd8747f4f8b0d0cc986239dda77021ea918"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Jan 05 16:27:19 2010 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Jan 06 08:53:44 2010 -0800"
      },
      "message": "Do not use a user tag on apps, as it is ignored.\n\nThe build system does not honor user tags on apps,\nand setting it is misleading.\n\nThis removes the confusion by making the makefiles\nbehave like they read.\n\nChange-Id: I7c5feba1c7d07f915b97dd098584f29938a4c885\n"
    },
    {
      "commit": "1301341f13fab2ced33a6f4dc0f0e8f609217105",
      "tree": "89c1564ed7816074f26d6d6a44ec0e2ef5de025c",
      "parents": [
        "1dabb95d280480c4c519b52ded8990d39c8b1614"
      ],
      "author": {
        "name": "Daisuke Miyakawa",
        "email": "dmiyakawa@google.com",
        "time": "Tue Jan 05 12:38:52 2010 +0900"
      },
      "committer": {
        "name": "Daisuke Miyakawa",
        "email": "dmiyakawa@google.com",
        "time": "Tue Jan 05 13:44:51 2010 +0900"
      },
      "message": "Fix test breakage in vCard exporter.\n\nDue to the change Iae8dbac1, all tests for vCard exporeter has failed.\nThis change fixes the breakage by using a kind of dirty Dependency Injection.\n\nCurrent test framework for vCard exporter strongly depends on the assumption that\nContentValues objects are able to be directly passed to objects which use\nContentResolver, while the change above disabled the feature by removing\nqueryEntities().\n\nThis change makes VCardComposer forcibly uses queryEntities() via Reflection.\nI agree that this change is not so clean, but works fine for now.\n"
    },
    {
      "commit": "ae46195d4fcde85c0901ca476a5cffd015d573cb",
      "tree": "3419dc7029220eceec7d0eaa211cf99e0f7a6e50",
      "parents": [
        "759a77e50211b9b1ba937f9ff89ae1fa35ca88e9"
      ],
      "author": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Wed Dec 23 17:26:20 2009 -0800"
      },
      "committer": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Mon Jan 04 12:23:56 2010 -0800"
      },
      "message": "Framework Tests Cleanup: Removing CTS duplicate files\n\nThis file is basically just a wrapper around AndroidTest, which is going away as part of framework test cleanup.\n\nAndroidTests.java is just a wrapper around all the actual tests, so can be removed as well.\n"
    },
    {
      "commit": "e38d58bf890c03eb034afd18c62c730c7d735f1c",
      "tree": "f8b42d11fc37826b1afd7a7242f94eee83299458",
      "parents": [
        "2c3058a88f035398fee4321a15347ca51af31cc7"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Wed Dec 30 19:29:03 2009 -0800"
      },
      "committer": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Mon Jan 04 10:14:21 2010 -0800"
      },
      "message": "Remove Google-specific (or only-used-by-Google-code) classes.\n\nFix a small typo in Context javadoc.\n"
    },
    {
      "commit": "2c3058a88f035398fee4321a15347ca51af31cc7",
      "tree": "54221b19d1104bcd221986cd034941c615d32c30",
      "parents": [
        "c70cf9af8d9de0594e7526b792c354e5d82d683b",
        "8d562f78b4919babe1f7e32e974e5057dcfbb310"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Mon Jan 04 10:05:21 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jan 04 10:05:21 2010 -0800"
      },
      "message": "am 8d562f78: am bc7afcb9: Merge \"free the NPObject in NPP_Destroy.\" into eclair-mr2\n\nMerge commit \u00278d562f78b4919babe1f7e32e974e5057dcfbb310\u0027\n\n* commit \u00278d562f78b4919babe1f7e32e974e5057dcfbb310\u0027:\n  free the NPObject in NPP_Destroy.\n"
    },
    {
      "commit": "8d562f78b4919babe1f7e32e974e5057dcfbb310",
      "tree": "e95f55c61f8d7c9eb6112dc6d01502789a35eaf3",
      "parents": [
        "9002eb44043868a2f5fc38128748464492f297c6",
        "bc7afcb94688dedb0ae9b4b3415f46aa13e713e5"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Mon Jan 04 10:01:24 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jan 04 10:01:24 2010 -0800"
      },
      "message": "am bc7afcb9: Merge \"free the NPObject in NPP_Destroy.\" into eclair-mr2\n\nMerge commit \u0027bc7afcb94688dedb0ae9b4b3415f46aa13e713e5\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027bc7afcb94688dedb0ae9b4b3415f46aa13e713e5\u0027:\n  free the NPObject in NPP_Destroy.\n"
    },
    {
      "commit": "c782c8d3277f1ee627b7d9b70eab27e956b78c98",
      "tree": "33b8ba458f3c9527cb007c0a4f438e29cb7d393e",
      "parents": [
        "4bc95d19c9ccf9cfe4c51b1e697db8cc1d86a579"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Sun Dec 27 14:38:14 2009 -0800"
      },
      "committer": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Sun Dec 27 14:38:14 2009 -0800"
      },
      "message": "free the NPObject in NPP_Destroy."
    },
    {
      "commit": "2574d50bd59ee9c7e5bccf26df9f2d0ab007a934",
      "tree": "3b308548a42fb67d4b9cfc5ce68dc5b1f36078a6",
      "parents": [
        "121ec7ff33b05227cf704ff1ff6313a38897cca7"
      ],
      "author": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Wed Dec 23 18:05:01 2009 -0800"
      },
      "committer": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Wed Dec 23 18:05:01 2009 -0800"
      },
      "message": "Framework Tests Cleanup: Removing CTS duplicate files\n\nFirst phase of cleanup: removing duplicate files that already exist in CTS.\nDatabaseTests.java and ContentTests.java are modified to remove entries\nof deleted files, the remaining files are deleted duplicates.\n"
    },
    {
      "commit": "c19be0527ca0f60ae7a2077f98cb2bd7d2d5f4a4",
      "tree": "965a935f791d4370b66d8eb63b731dd09c736348",
      "parents": [
        "2ce9a190449bf495edcf2931bf172d1e1dcb94b5"
      ],
      "author": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Wed Dec 23 16:30:36 2009 -0800"
      },
      "committer": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Wed Dec 23 16:30:36 2009 -0800"
      },
      "message": "Framework Tests Cleanup: Removing CTS duplicate files\n\nNeighboringCellInfoTest.java is already included in CTS, so removing this one under frameworks.\n"
    },
    {
      "commit": "a5411f5b8dde480dc30fcb6bb2d1cb9eb04b9ceb",
      "tree": "0b150d0114806379c5249de2fe1c3ea947ea7d91",
      "parents": [
        "ea84a5559fa80003ff7b083bcf0718095169aa7c"
      ],
      "author": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Wed Dec 23 16:02:55 2009 -0800"
      },
      "committer": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Wed Dec 23 16:02:55 2009 -0800"
      },
      "message": "Framework Tests Cleanup: Removing CTS duplicate files\n\nCookieTest.java is already included in CTS, so removing this one under frameworks.\n"
    }
  ],
  "next": "f0108cda21bec61418b24aa6217406072780b5d5"
}
