)]}'
{
  "log": [
    {
      "commit": "7d562ec393d54dd9ef387c49d1283243bfdbd2b1",
      "tree": "ac2590ef8df168167789764153a1869c80363748",
      "parents": [
        "b505ae4195d9b8a93c71b1f9da6d7d8c3aaa3c08"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Jun 25 18:03:43 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Jun 25 18:09:28 2009 -0700"
      },
      "message": "Add a new IRestoreObserver callback class to the restore process\n\nThe observer is told when restore begins how many packages are being restored.\nIt then gets an onUpdate() call telling it that the Nth package is now\nundergoing restore.  Ultimately, its restoreFinished() callback is invoked,\npassing a simple success/fail error code, to let it know that the restore\noperation has concluded.\n"
    },
    {
      "commit": "1ccac75e1f1b97eccb916a8de04fc1012b30f6e5",
      "tree": "181c91a427de2ea609eff1f42c3970a441225b45",
      "parents": [
        "ef29f6afb4746eae8263ab901a5d3677bc04574b"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Fri Jun 12 10:09:58 2009 -0700"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Jun 17 11:31:26 2009 -0700"
      },
      "message": "Remove circular dependency in PackageManager. api freeStorage uses PendingIntent from android.app\nCreate a new public IntentSender class that can be used by PackageManager instead.\nThis new class uses IIntentSender internally and can only be created by PendingIntent for now.\nProvide a new getIntentSender api in PendingIntent to create an instance of this class.\nMove IIntentSender and IIntentReceiver from android.app to android.content\nChange imports of IIntentSender and IIntentReceiver to reflect the new package name\nThe PackageManager api has been named as freeStorageWithIntent and will be renamed as freeStorage\nonce the older api(which has been deprecated) will be removed shortly.\n"
    },
    {
      "commit": "8d17f3f24bbda9a9cd7ea08c5925508dc2c011be",
      "tree": "cf7e5ebb721354bfffc41d2ab4932cb70ea3c033",
      "parents": [
        "3d59ee7aa66a5b1e80f5042f8d872dd9819b5f40"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Fri Jun 05 13:22:28 2009 +0100"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Mon Jun 15 09:05:26 2009 +0100"
      },
      "message": "Run search dialog in the system process.\n\nFixes http://b/issue?id\u003d1905863\n\nThis is needed to address two security issues with global search:\nhttp://b/issue?id\u003d1871088 (Apps can read content providers through GlobalSearch)\nhttp://b/issue?id\u003d1819627 (Apps can use GlobalSearch to launch arbirtrary intents)\n\nThis also fixes http://b/issue?id\u003d1693153 (SearchManager.OnDismissListener\nnever gets called)\n\nTo fix the security issues, GlobalSearch also needs to require\na non-app permission to access its content provider and launch intents.\n"
    },
    {
      "commit": "f85aa5a4d4e6f1ef7e07638568e27d709b8085c6",
      "tree": "9e553efa92802cb6370c42509f91ec6a5df1733a",
      "parents": [
        "295e7248b11557cf80ee9b7a12009d9cec5bd8b0"
      ],
      "author": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Wed Jun 10 10:39:55 2009 -0700"
      },
      "committer": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Wed Jun 10 13:31:09 2009 -0700"
      },
      "message": "Restructuring the TTS files so that it works as a Service\n"
    },
    {
      "commit": "d8b51a2ba8ee82be81414c0e80158e82b2c361d9",
      "tree": "626b485bb1f17acce0bbb746a412eff81fc637b1",
      "parents": [
        "9207b1e7c8ad4bbef3530d2b047bf6587f2988c4"
      ],
      "author": {
        "name": "Raphael",
        "email": "raphael@google.com",
        "time": "Mon Jun 08 22:05:22 2009 -0700"
      },
      "committer": {
        "name": "Raphael",
        "email": "raphael@google.com",
        "time": "Mon Jun 08 22:06:02 2009 -0700"
      },
      "message": "Fix broken makefile. Again. His twin brother was hiding.\n"
    },
    {
      "commit": "9207b1e7c8ad4bbef3530d2b047bf6587f2988c4",
      "tree": "bf1fcd3d817bc19f1e7e5b94f1b220b72b4304f3",
      "parents": [
        "55567efca99de7242b118cf7bf13cc773b01941c"
      ],
      "author": {
        "name": "Raphael",
        "email": "raphael@google.com",
        "time": "Mon Jun 08 21:57:16 2009 -0700"
      },
      "committer": {
        "name": "Raphael",
        "email": "raphael@google.com",
        "time": "Mon Jun 08 21:58:06 2009 -0700"
      },
      "message": "Fix the broken makefile.\n"
    },
    {
      "commit": "55567efca99de7242b118cf7bf13cc773b01941c",
      "tree": "39c6d8019008d0b98f7d2b546ae5185ea7015262",
      "parents": [
        "bac43254b219c827f3d1fd286f4a7f19e9ee2f05"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Wed Jun 03 23:56:34 2009 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Tue Jun 09 11:28:38 2009 +0800"
      },
      "message": "First-time check-in of the VPN APIs.\n\nPatch Set 2:\n- Fixed style issues raised by cywang.\nPatch Set 3:\n- Hide everything\n- Make VpnProfile parcelable\nPatch Set 4:\n- Add license notice\n"
    },
    {
      "commit": "8c850b792f2d371fd8a4aff146d9d757ee982539",
      "tree": "3ab4ec581b85ed59078692c573725db69a109e8d",
      "parents": [
        "b4a6188a74273611abcae05f3a3b1f0547548301"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Sun Jun 07 19:33:20 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Sun Jun 07 19:33:20 2009 -0700"
      },
      "message": "Add IRestoreSession interface for the restore flow\n\nRestore is a fairly complicated, somewhat stateful process, so we introduce\na new interface to encapsulate the various bits and pieces into a nicely\nseparable component.  In particular, this will make it much cleaner to\nopen and interrogate an expensive-to-construct transport and then reuse it\nfor the actual restore process itself.\n"
    },
    {
      "commit": "181fafaf48208978b8ba2022683ffa78aaeddde1",
      "tree": "7c062847d418415e28813e70aac53c8c47e4ff69",
      "parents": [
        "c01159bb00f7273f9b051dfbbe6bc10d54d3a846"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu May 14 11:12:14 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Sun May 31 13:10:03 2009 -0700"
      },
      "message": "Retool the backup process to use a new \u0027BackupAgent\u0027 class\n\nBackups will be handled by launching the application in a special\nmode under which no activities or services will be started, only\nthe BackupAgent subclass named in the app\u0027s android:backupAgent\nmanifest property.  This takes the place of the BackupService class\nused earlier during development.\n\nIn the cases of *full* backup or restore, an application that does\nnot supply its own BackupAgent will be launched in a restricted\nmanner; in particular, it will be using the default Application\nclass rather than any manifest-declared one.  This ensures that the\napp is not running any code that may try to manipulate its data\nwhile the backup system reads/writes its data set.\n"
    },
    {
      "commit": "5b6a5cee4c48fd2ffc35f07ebe9f24eb53086b9a",
      "tree": "58d1bc26219529d3602b1c8ed0ca22ddf52ab810",
      "parents": [
        "17af14d8133f99b5e886d830e92e38ba1da7cc2d",
        "3f9de8b6caa3fe9119b363c64e79d13bb72aec76"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "nobody@android.com",
        "time": "Fri May 22 16:05:59 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri May 22 16:05:59 2009 -0700"
      },
      "message": "am 3f9de8b6: AI 149211: Doc updates for Android 1.5 SDK, r2.   BUG\u003d1790234\n\nMerge commit \u00273f9de8b6caa3fe9119b363c64e79d13bb72aec76\u0027 into donut\n\n* commit \u00273f9de8b6caa3fe9119b363c64e79d13bb72aec76\u0027:\n  AI 149211: Doc updates for Android 1.5 SDK, r2.\n"
    },
    {
      "commit": "3f9de8b6caa3fe9119b363c64e79d13bb72aec76",
      "tree": "a8f10b4cdd2945faa237c82bb5bc2a5287ccd471",
      "parents": [
        "226299446197689499bc3c7dc44d0026745da677"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "nobody@android.com",
        "time": "Fri May 22 16:04:18 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri May 22 16:04:18 2009 -0700"
      },
      "message": "AI 149211: Doc updates for Android 1.5 SDK, r2.\n  BUG\u003d1790234\n\nAutomated import of CL 149211\n"
    },
    {
      "commit": "2c0c2af2ea518cd754318cdbe0ee93997a26c4cc",
      "tree": "813fbc1e3f199e4147292f610c12df1a7ff38832",
      "parents": [
        "cfcc0df2658d0ce7dc753511bb44ab8ae7a636f7"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu May 21 18:46:10 2009 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri May 22 11:45:26 2009 -0700"
      },
      "message": "Add AIDL files for the TTS service and the associated callback service (to signal synthesis completion).\n"
    },
    {
      "commit": "fd6e5f0dda50e113db4ccc55338b6c4f09da37a4",
      "tree": "faf8e2c6510d2a0c4439cdcdfe74d97100dc9020",
      "parents": [
        "bb7b7b316a6a15f4df6af3c62a293920c68c7b00"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu May 21 11:28:20 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu May 21 11:28:20 2009 -0400"
      },
      "message": "location: Replace ILocationCollector interface with new ILocationProvider method\n\nThis change replaces ILocationCollector with a more general mechanism that\npasses locations received from a provider to all other providers.\nThe network location provider now uses this to implement the location collector.\nIn the future, this could be used to inject network locations to the GPS\nas aiding data.\n\nThis change also removes the now obsolete permission INSTALL_LOCATION_COLLECTOR.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "75986cf9bc57ef11ad70f36fb77fbbf5d63af6ec",
      "tree": "84e1843368037d24f83749d152f818d537267bfa",
      "parents": [
        "669ec3a6e47248fee0a3a0f4877b46875eb42140"
      ],
      "author": {
        "name": "svetoslavganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu May 14 22:28:01 2009 -0700"
      },
      "committer": {
        "name": "svetoslavganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu May 14 23:47:05 2009 -0700"
      },
      "message": "Accessibility feature - framework changes (replacing 698, 699, 700, 701 and merging with the latest Donut)\n"
    },
    {
      "commit": "231cc608d06ffc31c24bf8aa8c8275bdd2636581",
      "tree": "9b435c670f0f16751a21ae4678bfbed7d8e159b4",
      "parents": [
        "06d96020c35dac2bf1651cb8bd4cfced911f1142"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 27 17:10:36 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 05 15:40:53 2009 -0700"
      },
      "message": "Rewrite SyncStorageEngine to use flat files and in-memory data structures.\n\nThe previous implementation used a database for storing all of its state, which could cause\na significant amount of IO activity as its tables were updated through the stages of a sync.\nThis new implementation replaces that in-memory data structures, with hand-written code\nfor writing them to persistent storage.\n\nThere are now 4 files associated with this class, holding various pieces of its state that\nshould be consistent.  These are everything from a main XML file of account information that\nmust always be retained, to a binary file of per-day statistics that can be thrown away at\nany time.  Writes of these files as scheduled at various times based on their importance of\nthe frequency at which they change.\n\nBecause the database no longer exists, there needs to be a new explicit interface for\ninteracting with the sync manager database.  This is provided by new APIs on IContentService,\nwith a hidden method on ContentResolver to retrieve the IContentService so that various\nsystem entities can use it.  Other changes in other projects are required to update to the\nnew API.\n\nThe goal here is to have as little an impact on the code and functionality outside of\nSyncStorageEngine, though due to the necessary change in API it is still somewhat extensive.\n"
    },
    {
      "commit": "a833cbbed087bf6869905a43166757a6436ad34f",
      "tree": "864cfc1484b56e6e0374bc088d8f9def375e3baf",
      "parents": [
        "75e44a1c72c5e6ebf68601bbb903fa3e375bd7d5"
      ],
      "author": {
        "name": "Dave Bort",
        "email": "dbort@android.com",
        "time": "Wed Apr 22 17:33:12 2009 -0700"
      },
      "committer": {
        "name": "Dave Bort",
        "email": "dbort@android.com",
        "time": "Fri May 01 17:47:08 2009 -0700"
      },
      "message": "Config: Add ConfigBuildFlags, and change it based on TARGET_BUILD_TYPE\n\nThis will be used to revive android.util.Config.DEBUG.\n\nSigned-off-by: Dave Bort \u003cdbort@android.com\u003e\n"
    },
    {
      "commit": "15e3d0f082d551f8819fbe4b0d502cc108627876",
      "tree": "ee0b12d89c14986b5447e7a000fd2a3f91fb6c13",
      "parents": [
        "a56b318cf2d4c3700899f9de394c5635761dda66"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri May 01 07:53:28 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri May 01 08:24:47 2009 -0400"
      },
      "message": "location: Use ILocationProvider Binder interface for all location providers.\n\nThis change eliminates the LocationProviderImpl class which had been used\nfor location providers running in the system process.\nNow the LocationProvider base class is only used to implement the\nLocationManager.createProvider() method for retrieving provider information.\nAdded a new IGpsStatusProvider interface for providers that serve GPS status.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "487529a70cd1479ae8d6bbfb356be7e72542c185",
      "tree": "ca19a948a28e9d4eb7b4c9890b006e43b89d7a6d",
      "parents": [
        "dc67739af90aa31a0b546c14bf1e68e6acbb8375"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Apr 29 14:03:25 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Apr 29 14:49:30 2009 -0700"
      },
      "message": "First baby steps towards settings backup\n\nThis change adds a sketched outline of the backup system architecture, with\nall of the major pieces represented other than client-side helpers for\nspecific types of data.  IBackupManager and BackupService are public so that\nwe can write test apps against SDK-domain symbols from the outset.\n\nWhat code exists in this change hasn\u0027t been tested and may crash.  It\u0027s the\nbeginnings of the real implementation but of course is barely begun.\n"
    },
    {
      "commit": "abdc514bf3d3da3db34e42ce3209c9fef6da8eeb",
      "tree": "bfff04f14a53fba552f9775bc0a4e7d7ff554334",
      "parents": [
        "a0c9e8526b094e3b4f2c2747622059215d00516f",
        "e90232b1daed8f0a5167bc0b4843a2be2386ef81"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "",
        "time": "Tue Apr 21 01:01:28 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Apr 21 01:01:28 2009 -0700"
      },
      "message": "Merge branch \u0027readonly-p4-donut\u0027 into donut\n"
    },
    {
      "commit": "e90232b1daed8f0a5167bc0b4843a2be2386ef81",
      "tree": "4eb351ae8e527dd556042f448c13b3332e65acc8",
      "parents": [
        "6fb5a1d0ee18b2d94340f3b35f86ad7319f3a11c"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "",
        "time": "Tue Apr 21 01:00:12 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Apr 21 01:00:12 2009 -0700"
      },
      "message": "AI 147054: am: CL 147053 Add -hdf primer vars for the platform and release ID associated with the current (most recent) SDK.\n  Currently, the docs that are specific to each SDK release -- downloading, installing, upgrading, requirements -- are stored in a directory with release-derived name, such as \"1.1_r1\". This change lets documents use generic links to point into the most recent version specific docs, eg href\u003d\"{@docRoot}sdk/{sdkCurrent}/installing.html\" instead of href\u003d\"{@docRoot}sdk/1.1_r1/installing.html\".\n  Original author: ddougherty\n  Merged from: //branches/cupcake/...\n\nAutomated import of CL 147054\n"
    },
    {
      "commit": "b5a4c5a473f37700a654a3323afb9682e524c66c",
      "tree": "0ae3472a79123c09ebd6a627482880eb8a540f79",
      "parents": [
        "26dea0f211c433f2d3a12dcc85bb069664112a03"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "",
        "time": "Mon Apr 20 17:54:52 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Apr 20 17:54:52 2009 -0700"
      },
      "message": "AI 147053: Add -hdf primer vars for the platform and release ID associated with the current (most recent) SDK.\n  Currently, the docs that are specific to each SDK release -- downloading, installing, upgrading, requirements -- are stored in a directory with release-derived name, such as \"1.1_r1\". This change lets documents use generic links to point into the most recent version specific docs, eg href\u003d\"{@docRoot}sdk/{sdkCurrent}/installing.html\" instead of href\u003d\"{@docRoot}sdk/1.1_r1/installing.html\".\n  BUG\u003d1790234\n\nAutomated import of CL 147053\n"
    },
    {
      "commit": "3385e728d83e1dc246919a5c6b7859b4427c40f8",
      "tree": "ec5e9a9f82d179f640416850400a485284409436",
      "parents": [
        "131e27a00c56482a758e98c15ef34879c48c4399",
        "181a44dd81eed5587252ef740663a42fe4d2a9a9"
      ],
      "author": {
        "name": "Brandon Ballinger",
        "email": "",
        "time": "Thu Apr 16 14:33:04 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Apr 16 14:33:04 2009 -0700"
      },
      "message": "Merge branch \u0027readonly-p4-donut\u0027 into donut\n"
    },
    {
      "commit": "181a44dd81eed5587252ef740663a42fe4d2a9a9",
      "tree": "3343794c7b42dc250aa77df7ee2e4cbcd28dec48",
      "parents": [
        "dc52312ce3f9c7bd306c58264f82d6eb7ccd661a"
      ],
      "author": {
        "name": "Brandon Ballinger",
        "email": "",
        "time": "Thu Apr 16 14:31:48 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Apr 16 14:31:48 2009 -0700"
      },
      "message": "AI 146613: Move Recognition service declarations to frameworks/base/core/java/android/speech. Hide them from public API by default (no changes to current.xml).\n\nAutomated import of CL 146613\n"
    },
    {
      "commit": "a55c321329ae52a2db7a4f2bd36673a20b8f271d",
      "tree": "97ee2b13cf6c464305930be581bcf14c072e7a55",
      "parents": [
        "967f7c169c0ff8723a72fce7073f591dcfab018d"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Apr 15 11:10:11 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Apr 15 11:17:37 2009 -0400"
      },
      "message": "location: Move geocoding support from ILocationProvider to a new interface.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "e932f7f2a47b770c636443d411436bd29cc4bb43",
      "tree": "75a53e7d58fd8b9524aa22e370854e4c65bba17e",
      "parents": [
        "53566b140ffa7b1e2f522ab1cdec13c74f8779e7"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "",
        "time": "Mon Apr 06 10:51:26 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Apr 06 10:51:26 2009 -0700"
      },
      "message": "AI 144663: Use Binder interfaces between NetworkLocationManager and LocationManagerService.\n  This fixes a hack that was added when NetworkLocationManager was moved out of the framework.\n  This also lays the groundwork for supporting location providers outside of the system process.\n  BUG\u003d1729031\n\nAutomated import of CL 144663\n"
    },
    {
      "commit": "767a662ecde33c3979bf02b793d392aca0403162",
      "tree": "f55548c33a8267c39acc60f72051f9856e95e672",
      "parents": [
        "e9c08056fafab720856ab8516ea0e623a5c0e360"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "",
        "time": "Thu Apr 02 01:37:02 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Apr 02 01:37:02 2009 -0700"
      },
      "message": "AI 144185: Integrate cdma into the main code base.\n\nAutomated import of CL 144185\n"
    },
    {
      "commit": "38e260a62020af0e6ca45d5a9cc3f8e8c9a2842c",
      "tree": "0091f09f1d54af769aad37ccbb6e18d4e4bb13cd",
      "parents": [
        "a7f1e5c540ff7b94c212facdcd89459cba3e4edc"
      ],
      "author": {
        "name": "John Wang",
        "email": "",
        "time": "Fri Mar 27 16:38:58 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Mar 27 16:38:58 2009 -0700"
      },
      "message": "AI 143181: am: CL 142924 Support DCM specific MMI network service.\n  IExtendedNetworkService has 4 MMI service interface used by PhoneUtils to put DCM related nw service.\n  void setMmiString(String number);\n  CharSequence getMmiRunningText();\n  CharSequence getUserMessage(CharSequence text);\n  void clearMmiString();\n  And the service is bind via \"com.android.ussd.IExtendedNetworkService\".\n  Original author: johnwang\n  Merged from: //branches/cupcake/...\n\nAutomated import of CL 143181\n"
    },
    {
      "commit": "2fe6fe1f5f0cdd1ed622e657aa2cc0211a1702d5",
      "tree": "55d5150ec362814dcc574ff8b8f6c4f3d9b58b1a",
      "parents": [
        "eeea9222132fe5979e40dcc85f5eba300157dfbc"
      ],
      "author": {
        "name": "John Wang",
        "email": "",
        "time": "Thu Mar 26 09:27:16 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Mar 26 09:27:16 2009 -0700"
      },
      "message": "Automated import from //branches/cupcake/...@142924,142924\n"
    },
    {
      "commit": "c39a6e0c51e182338deb8b63d07933b585134929",
      "tree": "e55fc5bd38b1eb8fb4851a0fe1cc264a7fe2f245",
      "parents": [
        "b2a3dd88a53cc8c6d19f6dc8ec4f3d6c4abd9b54"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 11 12:11:56 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 11 12:11:56 2009 -0700"
      },
      "message": "auto import from //branches/cupcake/...@137873\n"
    },
    {
      "commit": "4df2423a947bcd3f024cc3d3a1a315a8dc428598",
      "tree": "e7dac2c5a367b169e7f05a36058cf470e93f003b",
      "parents": [
        "c474dec3ffa1c0fe37edb3e701684188f7e8e7bc"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Mar 05 14:34:35 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Mar 05 14:34:35 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@136594\n"
    },
    {
      "commit": "9066cfe9886ac131c34d59ed0e2d287b0e3c0087",
      "tree": "d88beb88001f2482911e3d28e43833b50e4b4e97",
      "parents": [
        "d83a98f4ce9cfa908f5c54bbd70f03eec07e7553"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:31:44 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:31:44 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "d83a98f4ce9cfa908f5c54bbd70f03eec07e7553",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [
        "076357b8567458d4b6dfdcf839ef751634cd2bfb"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:45 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:45 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "da996f390e17e16f2dfa60e972e7ebc4f868f37e",
      "tree": "00a0f15270d4c7b619fd34d8383257e1761082f4",
      "parents": [
        "d24b8183b93e781080b2c16c487e60d51c12da31"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Feb 13 12:57:50 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Feb 13 12:57:50 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@131421\n"
    },
    {
      "commit": "d24b8183b93e781080b2c16c487e60d51c12da31",
      "tree": "fbb89154858984eb8e41556da7e9433040d55cd4",
      "parents": [
        "f1e484acb594a726fb57ad0ae4cfe902c7f35858"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Feb 10 15:44:00 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Feb 10 15:44:00 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@130745\n"
    },
    {
      "commit": "22f7dfd23490a3de2f21ff96949ba47003aac8f8",
      "tree": "41bc290bb2f1f08a0e37cfda4955742a85d42ecf",
      "parents": [
        "9266c558bf1d21ff647525ff99f7dadbca417309"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jan 20 14:03:58 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jan 20 14:03:58 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@127101\n"
    },
    {
      "commit": "f013e1afd1e68af5e3b868c26a653bbfb39538f8",
      "tree": "7ad6c8fd9c7b55f4b4017171dec1cb760bbd26bf",
      "parents": [
        "e70cfafe580c6f2994c4827cd8a534aabf3eb05c"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:05:43 2008 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:05:43 2008 -0800"
      },
      "message": "Code drop from //branches/cupcake/...@124589\n"
    },
    {
      "commit": "54b6cfa9a9e5b861a9930af873580d6dc20f773c",
      "tree": "35051494d2af230dce54d6b31c6af8fc24091316",
      "parents": [],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "message": "Initial Contribution\n"
    }
  ]
}
