)]}'
{
  "log": [
    {
      "commit": "23ecae3bbb60c5af940f3a22170d75eb6ac05b69",
      "tree": "1138102ba856743cffd931121409a71c2bae37c3",
      "parents": [
        "0b77453076a22569f24318d194b378b68f11a63e"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 10 17:07:15 2009 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 11 11:29:57 2009 -0700"
      },
      "message": "Fix SharedPrefsBackupHelper so it doesn\u0027t hard code the paths to the files.\n\nThis took quite a bit of refactoring.\n"
    },
    {
      "commit": "d82108993f4550bf7a751ab27593ef8e15120db3",
      "tree": "ba92d52fb970c8099dd4faf7d63c4c4f7b4aa6dd",
      "parents": [
        "35379abd46b68a4efa20035c6c8b9d1faceb4dcc"
      ],
      "author": {
        "name": "Satish Sampath",
        "email": "satish@android.com",
        "time": "Thu Jun 11 16:33:05 2009 +0100"
      },
      "committer": {
        "name": "Satish Sampath",
        "email": "satish@android.com",
        "time": "Thu Jun 11 17:11:50 2009 +0100"
      },
      "message": "NEW_API: Expose queryAfterZeroResults searchable attribute.\n\nIf this attribute is provided and true, the searchable activity will be invoked for all queries in a particular session.\nIf set to false and the activity returned zero results for a query, it will not be invoked again in that session for supersets of that zero-results query. For example, if the activity returned zero results for \"bo\", it would not be queried again for \"bob\" as an optimization.\n\nThe default value is false.\n"
    },
    {
      "commit": "53175148c9b962c0ffe9cea0f3dc68bc0196e044",
      "tree": "169762ef55c30a9e5ccfa929c45c087c3cf51871",
      "parents": [
        "a32b5f3252a58416f328399680395aa5fa936640"
      ],
      "author": {
        "name": "Jack Veenstra",
        "email": "veenstra@android.com",
        "time": "Mon Jun 01 21:27:01 2009 -0700"
      },
      "committer": {
        "name": "Jack Veenstra",
        "email": "veenstra@android.com",
        "time": "Wed Jun 10 11:38:02 2009 -0700"
      },
      "message": "Add support for custom tab views in TabHost and TabWidget.\n\nThis change adds the ability to specify an arbitrary view for a tab\nindicator.  It also adds support for specifying a drawable to use as\nthe divider between tab views.\n"
    },
    {
      "commit": "0e1ca5749a96778869ef62f939542a61c034209b",
      "tree": "0eb7fef5f9151e679088aa13db8c428a7ce7198e",
      "parents": [
        "faf410443f0c2ab2d30a1c8ce90f83157b5e593b"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jun 09 12:56:34 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jun 09 22:58:46 2009 -0700"
      },
      "message": "Add support for gestures in Home.\n\nAdds a new animation style for the gestures pad, and de-normalize\nthe scores in the recognition engine.\n"
    },
    {
      "commit": "f478267d6a60220fb8078c13971b5d4d3f868d67",
      "tree": "e8a7dc296de632db730f18bca1b3c4a86c3e7661",
      "parents": [
        "4ab3c00993bd7932e5262d325e6d9943074844ed"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jun 09 16:22:48 2009 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jun 09 16:22:48 2009 -0700"
      },
      "message": "Adding default text-to-speech language in Settings.Secure.\n"
    },
    {
      "commit": "03f0b21b5a317aa6c0f0cd4d7ac91cabdf379d3e",
      "tree": "6aca14f7b6afad8cf8fdb7d9f97e6c74b4a13660",
      "parents": [
        "2d2b23119f1b4daa3064f065ebeb6397963c1780"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jun 09 04:15:22 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jun 09 04:15:22 2009 -0700"
      },
      "message": "Fix several issues in the gestures libraries.\n\nThis mostly fixes how gestures libraries are saved and loaded.\nSaving a library twice in a row was erasing the entire library,\nwhich was preventing the sketch test app from working propertly.\n"
    },
    {
      "commit": "7fe416e9436a7b2a00e27e73ceb725de4e763f30",
      "tree": "eceab5d6e27817f91e0bca14d4cc2742410e1a7e",
      "parents": [
        "f642aa2a44e63aa105bbc6aec59f9bee261986ef"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jun 09 01:42:15 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jun 09 01:42:15 2009 -0700"
      },
      "message": "Fix bug in saving gestures stores. The outputstream was wrapping itself, thus causing huge problems.\n"
    },
    {
      "commit": "d299b8194dde8c4875e5f032918ab35ebad8b1f1",
      "tree": "27fb20be4db7b7bdb4da2832df0a8146ee1f4cd3",
      "parents": [
        "b1c2874790908d1bbb9b99242fc7cc96c7b45a8a"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Fri Jun 05 10:26:19 2009 -0700"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Fri Jun 05 13:49:09 2009 -0700"
      },
      "message": "Add a new attribute to android manifest for defining the GLES version number.\nThis attribute is parsed by the PackageParser into ConfigurationInfo. The major\nand minor version numbers are defined as the higher and lower order bits.\n"
    },
    {
      "commit": "f62ba452bb07407f577cabecde14bfad101d7f43",
      "tree": "e9823536424790f37d8c816b5c6bfeeda74ce7df",
      "parents": [
        "716b56817aee1c0b584266a686b18a1c02ea0116"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Jun 04 14:55:24 2009 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Jun 05 11:29:16 2009 -0700"
      },
      "message": "Adding new Settings.Secure properties for the Text-To-Speech functionality.\nThose properties are secure to prevent applications from altering the user\u0027s settings without his knowledge.\n"
    },
    {
      "commit": "48603e7fed957f318b12aa24089e0b13c3e78529",
      "tree": "e95ba9ed29a3713aa660c27c0db0d54676bf9bf8",
      "parents": [
        "54de90635e1d0628c396d65e6c948bf4a1529229"
      ],
      "author": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Fri Jun 05 00:27:00 2009 +0100"
      },
      "committer": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Fri Jun 05 01:07:20 2009 +0100"
      },
      "message": "Add new SHOW_WEB_SUGGESTIONS system setting, referenced by the search settings\n(in a follow-on change). This setting, to be respected by global search, and which\nI will also file a bug to the browser to respect, determines whether live web\nsuggestions will be shown to the user as they type. For privacy reasons, this\ncould be considered undesirable, as partial queries can then be sent to the user\u0027s\nchosen search engine, so a setting was required.\n"
    },
    {
      "commit": "683f3bed89d15c673b9fd391dc258c088e9316ae",
      "tree": "2722c54001768a5275120852bd39339412c54559",
      "parents": [
        "a41962065a93b63e7161cffd662b564e01a9e189"
      ],
      "author": {
        "name": "Wei-Ta Chen",
        "email": "weita@google.com",
        "time": "Thu Jun 04 11:42:14 2009 -0700"
      },
      "committer": {
        "name": "Wei-Ta Chen",
        "email": "weita@google.com",
        "time": "Thu Jun 04 11:42:14 2009 -0700"
      },
      "message": "Unhide inInputShareable in BitmapFactory.Options.\n\nThe variable works together with inPurgeable, which has been unhidden in\nhttps://android-git.corp.google.com/g/Gerrit#change,2870.\n"
    },
    {
      "commit": "9189cabb0b6c6c28232fe6f412b7ba7a37352a6a",
      "tree": "6ddc6a8eb0158cba32cc6139b04c6b6eb9f0ba5f",
      "parents": [
        "eaeb663bcd7a82b654954b42663232cbd7bef7e7"
      ],
      "author": {
        "name": "Mitsuru Oshima",
        "email": "oshima@google.com",
        "time": "Wed Jun 03 11:19:12 2009 -0700"
      },
      "committer": {
        "name": "Mitsuru Oshima",
        "email": "oshima@google.com",
        "time": "Wed Jun 03 16:28:10 2009 -0700"
      },
      "message": "* Moved supports-density tag under manifest\n* Refactored Compatibility code\n  * Added CompatibilityInfo class\n  * Removed getApplicationScale from Context\n  * Added Resources#getCompatibilityInfo so that RootView can get the compatibility info w/o going through Context\n* Expandable support\n  * Added expandable tag under manifest\n  * Old application w/o expandable is given the default screen size  ([320, 480] x density).\n  * The non-expandable window is centered.\n"
    },
    {
      "commit": "9af0b4f7be14f2b3ed0ecc843c57ea47ec288e55",
      "tree": "b3adeb84b7b5a8ab420cf178db107f19edb2ad78",
      "parents": [
        "97c2fdfc2e1cb4f51c624dd8e30e6bdb63ea21be"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jun 02 21:56:27 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jun 02 21:59:42 2009 -0700"
      },
      "message": "Add new listener to GestureOverlayView. This listener fires whenever the overlay thinks the user is starting a new gesture. This allows Home to snap the workspace back to its original position during a gesture operation.\n"
    },
    {
      "commit": "eb949674fd3b83b706f795fc6b16ab1c66250c93",
      "tree": "4c58350eef523e46bcd26423a15aaa109779988f",
      "parents": [
        "30b70cec05190c8fcfa5aeb175a37bf81ed3966d"
      ],
      "author": {
        "name": "Wei-Ta Chen",
        "email": "weita@google.com",
        "time": "Mon Jun 01 15:49:32 2009 -0700"
      },
      "committer": {
        "name": "Wei-Ta Chen",
        "email": "weita@google.com",
        "time": "Tue Jun 02 11:01:43 2009 -0700"
      },
      "message": "Unhide inPurgeable in BitmapFactory.Options.\n\nThe correctness and effectiveness of the usage of the parameter are evaluated in:\nhttps://android-git.corp.google.com/g/Gerrit#change,2768\n"
    },
    {
      "commit": "5a3a77dabd744d5be79d7745c2a977c108a9ad98",
      "tree": "2c5ad40a1c6c967839c60f91542eb99ca599502e",
      "parents": [
        "181fafaf48208978b8ba2022683ffa78aaeddde1"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Mon Jun 01 09:25:28 2009 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Mon Jun 01 09:25:28 2009 -0700"
      },
      "message": "base: Rename WRITE_SDCARD -\u003e WRITE_EXTERNAL_STORAGE\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "181fafaf48208978b8ba2022683ffa78aaeddde1",
      "tree": "7c062847d418415e28813e70aac53c8c47e4ff69",
      "parents": [
        "c01159bb00f7273f9b051dfbbe6bc10d54d3a846"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu May 14 11:12:14 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Sun May 31 13:10:03 2009 -0700"
      },
      "message": "Retool the backup process to use a new \u0027BackupAgent\u0027 class\n\nBackups will be handled by launching the application in a special\nmode under which no activities or services will be started, only\nthe BackupAgent subclass named in the app\u0027s android:backupAgent\nmanifest property.  This takes the place of the BackupService class\nused earlier during development.\n\nIn the cases of *full* backup or restore, an application that does\nnot supply its own BackupAgent will be launched in a restricted\nmanner; in particular, it will be using the default Application\nclass rather than any manifest-declared one.  This ensures that the\napp is not running any code that may try to manipulate its data\nwhile the backup system reads/writes its data set.\n"
    },
    {
      "commit": "8d78756c160bda736cccef9ca1a6e2d6a159ac42",
      "tree": "b4c2f9469cfa7d78b8495594ef62fce5eb284b27",
      "parents": [
        "a5f50b8f49cc9b34b1de462e11498d92c692b978"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri May 29 15:02:55 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri May 29 15:02:55 2009 -0700"
      },
      "message": "Fix the build.\n"
    },
    {
      "commit": "9fc2e9c965c68d56a0caf812f7f6d38d15317063",
      "tree": "ad925b8780f3112c60206b15a17ec874f142b3a0",
      "parents": [
        "607384d45fae5c9c2b21c96e4278665c8d7d3006"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Thu May 28 14:48:32 2009 +0100"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Fri May 29 09:06:44 2009 +0100"
      },
      "message": "MemoryFile constructor and native methods throw IOExceptions.\n\nThese native methods in android.os.MemoryFile throw IOException but their\nJava declarations did not include \"throws IOException\":\nnative_open(),native_mmap(),native_read(),native_write(),native_pin()\n\nThe MemoryFile(String,int) constructor calls native_open and\nnative_mmap, but does not declare that it throws IOException. The other\nJava methods that call the native methods do actually declare that they\nthrow IOException.\n\nThis means that any code that created memory files could throw\nan IOException, without knowing about it.\n\nThis changes adds \"throws IOException\" to the native methods and to\nthe constructor. The constructor change changes the public API, but\nmaintains binary compatibility. There is some precedent for making\nsource incompatible source API changes for this sort of thing\n(see https://mondrian.corp.google.com/changelist/124214-p9).\n\nThe change also makes the native methods static, which\nthey seem to have been intended to be, as indicated by the\nsecond parameter to the native implementations being named\n\"clazz\".\n\nThis requires changes to the Compatibility Test Suite to catch the exceptions.\nThis is done in https://android-git.corp.google.com/g/2617\nUnfortunately that change must be submitted together with this one in order\nnot to break the build.\n\nFixes http://b/issue?id\u003d1881829\n"
    },
    {
      "commit": "fc1b15cfbfc5f69235ec1f367abd7a909381cd05",
      "tree": "eeca713d5c9078989763d3777aafd41007a2846f",
      "parents": [
        "1cb62b83241c5d1cac9e9cda60d0d5d9218b44fb"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Fri May 22 15:09:51 2009 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "robdroid@android.com",
        "time": "Thu May 28 13:37:06 2009 -0700"
      },
      "message": "Fix wifi multicast API for public use.\n\nApplying API review comments and taking it public.\n"
    },
    {
      "commit": "4bc035a65cac177be9294e69f110497e3b6e34e6",
      "tree": "634b5bde8fc4cae5a7b77ee3cde01f04bc9ae7fc",
      "parents": [
        "a5f158bdde77f8d173d1f1c95d0f92405c519b0f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 22 09:18:15 2009 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 26 07:44:28 2009 -0700"
      },
      "message": "Fix issue 1846343 - part 1\n\nThis change is the first part of a fix for issue 1846343, :\n- Added new enum values for input sources in AudioRecord and MediaRecorder for voice uplink, downlink and uplink+downlink sources.\n- renamed streamType to inputSource in all native functions handling audio record.\n\nA second change is required in opencore author driver and android audio input to completely fix the issue.\n"
    },
    {
      "commit": "e7c36dda7ada30e02f3aa9d75f282a53402aeae7",
      "tree": "82b6ab8e66680e3a1d58ed0d9d646546b84f1c7e",
      "parents": [
        "ec25df9fbc685be384f8dd764fa224a4d923e9d8"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon May 25 13:51:00 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon May 25 13:51:00 2009 -0700"
      },
      "message": "Add new orientation attribute to GestureOverlayView. This can be used to prevent the overlay from interfering with vertically/horizontally scrolling views underneath the overlay.\n"
    },
    {
      "commit": "ec25df9fbc685be384f8dd764fa224a4d923e9d8",
      "tree": "3d8c42a50b2286c7dc032f111da52971ff31cb99",
      "parents": [
        "ff686ce11e952a9001b1384d8e7d82127b0529a2"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon May 25 04:39:37 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon May 25 04:39:37 2009 -0700"
      },
      "message": "Fix drawing bug: opaque invalidations should not be taken into account when the invalidated view is animating. Also add the ability to disable the auto-fade on the GestureOverlayView.\n"
    },
    {
      "commit": "82f3495b146b267f3786997752cef25310176349",
      "tree": "1821c5b8731028212250ec07fe209a0804a0e53f",
      "parents": [
        "d9a874a4cb8e82ae64c1698bd71ced8d87bbc5cd"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Sun May 24 18:40:45 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Sun May 24 23:45:03 2009 -0700"
      },
      "message": "Cleanup Gestures API and make it easier to use in 3rd party apps. Also fix the events processing in the gestures overlay mechanism. Give better control of the various properties of the overlay through XML attributes.\n"
    },
    {
      "commit": "b181118b6e58c0014da4e9d52bf38548adc73a8a",
      "tree": "4f62cb71cacc03d25935e5430d8aa431dbeef854",
      "parents": [
        "5b6a5cee4c48fd2ffc35f07ebe9f24eb53086b9a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 21 15:45:42 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 22 18:45:25 2009 -0700"
      },
      "message": "Define TARGET_CPU_ABI for finding native code in .apks\n"
    },
    {
      "commit": "c0292b04407d93a11ee1412ed52cc5b04642a6f1",
      "tree": "336b9c167824d97c81019998d42824c28dff5e90",
      "parents": [
        "f41c640d8424fbd90cb1751173ede1c9f5e848b4"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri May 22 02:39:24 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri May 22 02:39:24 2009 -0700"
      },
      "message": "Fix the build\n"
    },
    {
      "commit": "d6a463a9f23b3901bf729f2f27a6bb8f78b95248",
      "tree": "1371cafd6a1c0fe8d3cd4580e7878a9adb86b183",
      "parents": [
        "cfcc0df2658d0ce7dc753511bb44ab8ae7a636f7"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu May 21 23:10:10 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri May 22 01:59:59 2009 -0700"
      },
      "message": "Add a new API to ListView: setGestures(int). This allows developers to enable gestures to jump inside the list or filter it. This change also introduces a new XML attribute to control this API. It also adds the ability to theme the GestureOverlayView from the gestures library. Finally, this adds a new VERSION header to the binary format used to store the letters for the recognizer.\n"
    },
    {
      "commit": "db567c390bd56c05614eaa83c02dbb99f97ad9cc",
      "tree": "86399406ca7a53c3d902b3863bf7a944cb7c5c3f",
      "parents": [
        "384bfa270cdcb5dc3bc9ec396b783e25eb2d9b4d"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu May 21 16:23:21 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu May 21 18:12:56 2009 -0700"
      },
      "message": "Move the Gestures API to the framework in android.gesture.\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": "f479aa0900e9a85afdc78b1048684e37579ebf23",
      "tree": "1337f0f101bfe38ec5b182201b0d1b6dbb4cafb0",
      "parents": [
        "b204d4f12773ec67c7f0ded41cb111018f154476"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 20 16:01:06 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 20 16:30:59 2009 -0700"
      },
      "message": "Add padding to public.xml to avoid breaking from auto-merges.\n"
    },
    {
      "commit": "d62ad4f120e92fd597f44caf125ac853ac0ea11c",
      "tree": "a9a6b62f7b1f806e1793128ad142155ab26e06bb",
      "parents": [
        "4174e2682f4eb6ea35c84e35810312967ea7e233"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 19 19:06:25 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 20 13:21:59 2009 -0700"
      },
      "message": "Fix issue #1859814: Add android.os.Build.MANUFACTURER\n"
    },
    {
      "commit": "b2d415693482f58e104a99376cc4f65bf3799edf",
      "tree": "b46209f1d47350428b65724d05fb62823a258fd4",
      "parents": [
        "95fc68f24a2a93e5664e2234abcfe479d385cc05"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 19 19:25:04 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 19 19:25:04 2009 -0700"
      },
      "message": "Fix build.\n"
    },
    {
      "commit": "936257eabde562ada9c481f285a24bbf4ffa4bc9",
      "tree": "bc3d7f27fced77ed06963cd9248a03471592bde2",
      "parents": [
        "ce2372de58ad018623748f63e61ffc70c9eb8895"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon May 18 11:04:45 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Mon May 18 11:04:45 2009 -0700"
      },
      "message": "Fixes external #2686. Make @android:anim/linear_interpolator public since the default intperpolator for all animations is accelerate_decelerate.\n"
    },
    {
      "commit": "5b3189e03c71bcd276e0b39d0ec5e2f699a1697f",
      "tree": "8120d29193d999d8768813f8e4ca6f579b983b51",
      "parents": [
        "a96cbb435d7b2197ab2b61fd98d14cbd6e0c5c3d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 15 18:33:31 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 15 18:33:31 2009 -0700"
      },
      "message": "Fix the build. :(\n"
    },
    {
      "commit": "a96cbb435d7b2197ab2b61fd98d14cbd6e0c5c3d",
      "tree": "75e0804e6628f9bb818c5f6f918315640c721d4b",
      "parents": [
        "ba2a3a1b32e242eea4e97c927d886e8987fde3d4"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 13 15:06:13 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 15 18:02:47 2009 -0700"
      },
      "message": "Implement compatibility support for WRITE_SDCARD permission.\n\nNow old applications will automatically be granted it.  Also renamed it from\nSDCARD_WRITE to WRITE_SDCARD to be consistent with our other permissions,\nand re-arranged how we do targetSdkVersion to actually be usuable for this\nkind of stuff.\n\nNote that right now this results in basically all apps being given the\nWRITE_SDCARD permission, because their targetSdkVersion is not set.  I will\nbe dealing with that in a future change.\n"
    },
    {
      "commit": "eae850cefe7e149f396c9e8ca1f34ec02b20a3f0",
      "tree": "a4e19d75aeef5529a0a8084d513638890afac2cd",
      "parents": [
        "75986cf9bc57ef11ad70f36fb77fbbf5d63af6ec"
      ],
      "author": {
        "name": "Mihai Preda",
        "email": "preda@google.com",
        "time": "Wed May 13 10:13:48 2009 +0200"
      },
      "committer": {
        "name": "Mihai Preda",
        "email": "preda@google.com",
        "time": "Fri May 15 12:32:07 2009 +0200"
      },
      "message": "Allow intent resolution to be constrained by package name.\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": "a35198117ed8ba356e814863066777ee9f37f8e1",
      "tree": "1184392fb7a379ab4e33a5d90fec13808106c63f",
      "parents": [
        "d1f7b3a5720a4d6d92c4eea5a1fe812a790a7442"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu May 14 16:29:18 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Thu May 14 16:29:18 2009 -0700"
      },
      "message": "Fix the build, again.\n"
    },
    {
      "commit": "290bb011c5c1a9ba1f2116810b06cf52a9c36b3e",
      "tree": "cfb9ce077d79021e86c1b8d7951f3655520f368d",
      "parents": [
        "ec2d74d40f9b7a8bf96feeb45a5d054d8b0ce0dd"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed May 13 18:57:29 2009 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu May 14 09:39:32 2009 -0400"
      },
      "message": "Get the backup calling through to the file backup helper.\n\nThis includes some cleanup to make the parameters match\nbetween BackupService.onBackup and FileBackupHelper.performBackup.\n"
    },
    {
      "commit": "d39afbdc92e95e597c311e78ac32edaad27fcf0d",
      "tree": "72b8b6bee6df8f80d72cd782873c78dbc7f38b5c",
      "parents": [
        "c5b0e6e4eb09a4dd8fc1cfcfca959262705d84d0"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue May 12 14:42:58 2009 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue May 12 23:40:45 2009 -0400"
      },
      "message": "Make android.content.ComponentName implement java.lang.Comparable.\n"
    },
    {
      "commit": "ade3ecad94d1f4431576f53bae26c35efbf7a2c9",
      "tree": "066fc83ddeb6c52011e13744152b594911895094",
      "parents": [
        "807f23b2d8c7148cf6fc95bb88cfc2f78e4be66a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 11 18:54:45 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 12 16:09:43 2009 -0700"
      },
      "message": "Implement issue #1783881 (manifest option for adb-install-only apps)\n\nYou can now use android:testOnly\u003d\"true\" to not allow your .apk to be installed\nas a normal app.  The only way to do so is with the pm command and giving the\n-t option, which sets a new INSTALL_ALLOW_TEST flag when installing.\n\nI also used this to clean up the install API...  actually, mostly to hide\nit, since it is not accessible to apps so shouldn\u0027t be in the SDK.  We\nwill be doing some more work on it, so this will prevent adding yet\nanother backwards-compatibility-for-no-reason version.\n"
    },
    {
      "commit": "c64322c35212e919906ffd66118c7d5d3ad36636",
      "tree": "846d1a95480c87f18975245ceea201535e23c553",
      "parents": [
        "3e3439d5ba0cf5eda060c4991219c32af917fc5b"
      ],
      "author": {
        "name": "Jacek Surazski",
        "email": "jaceks@google.com",
        "time": "Tue Apr 28 15:26:38 2009 +0200"
      },
      "committer": {
        "name": "Jacek Surazski",
        "email": "jaceks@google.com",
        "time": "Tue May 12 23:16:20 2009 +0200"
      },
      "message": "PackageManager keeps track of who installed what.\n\nStores the package name of the installer app in packages.xml\n"
    },
    {
      "commit": "a87a132ebf1c2dd733cf52feff6e44525257c961",
      "tree": "683a3803f2b3704db73a56a769fcd0f19f912b52",
      "parents": [
        "da33d0d139531ff184a1a339b734de00f1cc0743"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue May 12 13:22:18 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue May 12 13:22:18 2009 -0700"
      },
      "message": "Fixes #1847219. Add a new API to load fonts from arbitrary files: Typeface.createFromFile(String/File).\n"
    },
    {
      "commit": "2accb31239cf7a3cad77b51baed4b23934636e5b",
      "tree": "7bd1a069c5cc8b7e941e157ca6e9cd7b0c0c13fc",
      "parents": [
        "778fb15a010bdac0a3721193ff125fcec8e7312c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri May 08 17:07:35 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri May 08 17:07:35 2009 -0700"
      },
      "message": "this should fix the build\n"
    },
    {
      "commit": "851a54143c15a1c33361efae2db3f7f45059b472",
      "tree": "c9e6ced5424530ff9a40f5471afb969e15cac35e",
      "parents": [
        "ed3b804f2cc61029cf2969cbfa499ea230c22bb0"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 08 12:06:44 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 08 15:15:36 2009 -0700"
      },
      "message": "Implement targetSdkVersion and maxSdkVersion, plus version code names.\n\nThis adds new attributes for specifying a targetSdkVersion and maxSdkVersion.\nThere is a new ApplicationInfo flag that is set if the application has set\nits targetSdkVersion to the current platform or later.  Also you can now\nuse a string for minSdkVersion and targetSdkVerion, to indicate you are\nbuilding against a development tree instead of an official platform.\n"
    },
    {
      "commit": "55280a91884b9256e8db6af6a09f28b3feeaa9d8",
      "tree": "ac29de79b8ecec41f2fde6014a1834418a82d2fd",
      "parents": [
        "672f1e2b07d985526bfd5606e6a888005fdcb70c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 07 15:53:46 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 08 12:59:21 2009 -0700"
      },
      "message": "Improve shutdown process to send broadcast for applications.\n\nThis introduces a new class in the base platform for performing a clean\nshutdown (which was copied from the classes in the policies).  It\nincludes new features to send a shutdown broadcast for applications\nto do cleanup, and ot have the activity manager pause the current\nactivity before proceeding with the shutdown.  These facilities are\nalso use to write at the most recent stat files for sync, battery\nand user activity.\n"
    },
    {
      "commit": "f04da95400e409dbb4ba33653f075bc76e091ef1",
      "tree": "ae334fcecef0425e2de208812a8a3251097de92d",
      "parents": [
        "c825d3ebd6ca66e65e63fdc76f032e08aa2a8e22"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed May 06 15:46:00 2009 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri May 08 10:34:39 2009 -0700"
      },
      "message": "Fix keyboard redraw bug on long-press of CapsLock.\n\nExpose invalidateKey and invalidateAllKeys for subclasses to call when needed.\n"
    },
    {
      "commit": "b8908892674c188c8877fc97a2bd91c552f97cf2",
      "tree": "fca0a24cf5c0e5d72ae71c93afb3830ff78bffd0",
      "parents": [
        "b2a5011578d4a64df2f39bdeeedfe9f37e7aecc4"
      ],
      "author": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Thu May 07 18:52:53 2009 -0700"
      },
      "committer": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Thu May 07 18:52:53 2009 -0700"
      },
      "message": "Fix the build.\n\nThere was an issue with current.xml from a previous backup related change. Joe blames the stage.\n"
    },
    {
      "commit": "b1a7ffef3a0007b6991b8338460f6aac8cbb11e8",
      "tree": "cd7745a25c1ab0d4c7c136672a8a87634d5fee4c",
      "parents": [
        "fedf566b9e00f18588fc104caafd047af069844a"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed May 06 18:06:21 2009 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu May 07 15:32:48 2009 -0700"
      },
      "message": "More backup tests\n"
    },
    {
      "commit": "d90a33111b3f1d0b2fff7ba9bafabc63fdb67d3a",
      "tree": "6233ef66b9e5a7663b9db51f6d2a7052efb3bb74",
      "parents": [
        "413cf5f4536b9c029d07f99b1c769c026313cd12"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Wed May 06 14:54:28 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Wed May 06 16:49:56 2009 -0700"
      },
      "message": "Add new setTag(int, Object) API to allow applications to specify several tags.\n"
    },
    {
      "commit": "f3af740bdfc261b1cb25c0799af780d3753d4518",
      "tree": "f33c3453caf03db8c4b7a358ddc8a8d3945076ae",
      "parents": [
        "b9c9d260f21b321527c4622a123af9767630d94d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue May 05 00:49:01 2009 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 06 11:35:46 2009 -0700"
      },
      "message": "Fixed issue 1709450: Requirements for CDMA Tone Generator\n\nAdded new tone types for CDMA IS-95 specific tones.\nAutomatic selection between IS-95, CEPT and JAPAN version base on operator\ncountry code for call supervisory tones.\nAlso improved tone generator capabilities:\n- Each tone segment can now generate its own set of frequencies\n- A tone does not have to be a succession of alternating ON/OFF segments\n- The sequence repetition does not have to start from first segment\n"
    },
    {
      "commit": "b9c9d260f21b321527c4622a123af9767630d94d",
      "tree": "581cf182a724dcc4a7ba9078229d57f8e3e9ff4f",
      "parents": [
        "c770ed8a6bb7614ed4a85a672e4e6830bed19a95"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 06 08:13:20 2009 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 06 10:52:19 2009 -0700"
      },
      "message": "fix issue 1713090: After a Bluetooth call, MusicPlayer starts playing on speaker rather than wired external audio.\n\nTemporary fix until audio routing is refactored in Eclair release:\n- centralized and synchronized all audio routing control in AudioService.setRouting()\n- deprecated AudioManager.setRouting() and AudioManager.getRouting() methods\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": "52fa7c2afd040ec0acc6c90c7bec655840632f4f",
      "tree": "e71edb8d683d14d8db3e6cfc6e34cc72b281889e",
      "parents": [
        "a833cbbed087bf6869905a43166757a6436ad34f"
      ],
      "author": {
        "name": "Dave Bort",
        "email": "dbort@android.com",
        "time": "Wed Apr 22 17:33:50 2009 -0700"
      },
      "committer": {
        "name": "Dave Bort",
        "email": "dbort@android.com",
        "time": "Fri May 01 17:47:13 2009 -0700"
      },
      "message": "Config: Deprecate most fields, and hook into ConfigBuildFlags\n\nCopy 3.xml to 4.xml, and patch 4.xml to deal with the fact that\nConfig.DEBUG\u0027s value is no longer actually fixed.  We don\u0027t want\nto modify 3.xml directly, because it\u0027s the official cupcake API.\n\nUpdate current.xml to reflect the differences between 3.xml and 4.xml\nand to reflect the new deprecation states.\n\nThe deprecated fields should be @hidden if possible before the\nnext API release, but it can\u0027t be done yet because there are\nSDK-linked platform apps that use some of the deprecated fields.\n\nSigned-off-by: Dave Bort \u003cdbort@android.com\u003e\n"
    },
    {
      "commit": "275555c8eb3fb5df6e7320873b88b77cdde85a9e",
      "tree": "96c3bfe004179e2c08e87bf8784ad278dfdfe53d",
      "parents": [
        "767db0a1ec760042b145e7c19a672c7180ad10f3"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri May 01 11:30:34 2009 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri May 01 15:06:31 2009 -0400"
      },
      "message": "location: Add support for location providers outside of the system process.\n\nAlso added new permissions android.permission.INSTALL_LOCATION_PROVIDER\nand android.permission.INSTALL_LOCATION_COLLECTOR to the public API.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "9a81736176f507489f262344b6e3d55bbe53be7c",
      "tree": "1b12569fc3d58eabac132452f06011dd46d3d530",
      "parents": [
        "15d98b23ca83e7cd25ee14945e55c2701e75994f"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri May 01 10:57:14 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri May 01 10:57:14 2009 -0700"
      },
      "message": "    Add the ability to specify the onClick handler with XML. The new android:onClick attribute defines the name of the method in the Activity to invoke when the button is clicked. The method has to be public and get one View parameter.\n"
    },
    {
      "commit": "a56b318cf2d4c3700899f9de394c5635761dda66",
      "tree": "f41ebc7a29e529a4681b493682b8a19945e0231c",
      "parents": [
        "232cd50f152b919f0918ee3f9fbdaf6ee1ae9f63"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Thu Apr 30 12:46:11 2009 +0100"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Fri May 01 09:43:49 2009 +0100"
      },
      "message": "NEW_API: Expose includeInGlobalSearch searchable attribute\n\nIf this attribute is provided and true, the searchable activity will be\nincluded in any global lists of search targets.\n\nThis is needed to support third-party suggestion providers in\nglobal search. See http://b/issue?id\u003d1819651\n"
    },
    {
      "commit": "232cd50f152b919f0918ee3f9fbdaf6ee1ae9f63",
      "tree": "2e80d3349421c17f33d757359605b14339923d89",
      "parents": [
        "83b395ceace724e55490aa6f2c0117c8b31e3723"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Thu Apr 30 12:36:25 2009 +0100"
      },
      "committer": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Fri May 01 09:43:48 2009 +0100"
      },
      "message": "NEW_API: Expose searchSuggestThreshold searchable attribute\n\nThis lets the searchable activity specify the number of\ncharacters needed to trigger suggestions. Before, this was\nhard-coded at 0. This caused unnecessary querying of the\nsuggestion provider in cases where the provider does not\nreturn suggestions for empty or short queries.\n"
    },
    {
      "commit": "c114eb55b442981e2ea0a8989aa6ed458fc418e4",
      "tree": "ce9f75917a625b284ce44a991b846c6cbd788fa1",
      "parents": [
        "021dce4198afbf602109ba5807a193c437b05361"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Apr 30 12:40:19 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Apr 30 12:40:19 2009 -0700"
      },
      "message": "Hide the backup stuff for now\n\nAlso adjust based on comments:\n+ changed service intent string to conform to usage guidelines\n+ only publish the IBackupService binder when invoked with the right\n  intent action\n+ docs tweaks\n"
    },
    {
      "commit": "a8bf815c6153290b173f34b071dddb0a0034a115",
      "tree": "0fa451a3a1035092ce916e3d6a25b8e8553f03bd",
      "parents": [
        "487529a70cd1479ae8d6bbfb356be7e72542c185"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Apr 30 11:36:21 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Apr 30 11:36:21 2009 -0700"
      },
      "message": "Add android.backup.BackupManager\n\nAlso tweak the dataChanged() api to have the client supply a package name.  We\ndon\u0027t necessarily TRUST this, but we use it to narrow the set of packages requesting\na backup pass, no longer blithely scheduling a pass for all packages associated\nwith the caller\u0027s uid.\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": "2a4bf5cee37cafb4c73a3b0ed7a4c86d1c7ce741",
      "tree": "832ec49adf9d9d014e05d6ff908e9b393abef1d8",
      "parents": [
        "8b5e7c046d4ab2fff7c4e1c67488058ff736b9ea"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Apr 29 13:50:54 2009 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Apr 29 13:50:54 2009 -0700"
      },
      "message": "Fix the build.\n"
    },
    {
      "commit": "257eef353dfc9519b63e3fe2616505c5534b460a",
      "tree": "21862a3ca74b4c5accf64b00f85f4a179831f429",
      "parents": [
        "3eab744d018924189b1b8f5530accd52e91213de",
        "8d112675879a2b83197d3b4ae4fb623abd1a1ec3"
      ],
      "author": {
        "name": "Mitsuru Oshima",
        "email": "",
        "time": "Mon Apr 27 12:02:51 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Apr 27 12:02:51 2009 -0700"
      },
      "message": "Merge branch \u0027readonly-p4-donut\u0027 into donut\n"
    },
    {
      "commit": "8d112675879a2b83197d3b4ae4fb623abd1a1ec3",
      "tree": "a89e77bc71077b5ccc042386fc342b4c7ddc5789",
      "parents": [
        "4369397d0697810241f7a7ab22891930067166dd"
      ],
      "author": {
        "name": "Mitsuru Oshima",
        "email": "",
        "time": "Mon Apr 27 12:01:23 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Apr 27 12:01:23 2009 -0700"
      },
      "message": "AI 147845: Compatibility mode support. Part 1\n  Adding supports-density tag to manifest file/ApplicationInfo.\n  BUG\u003d1752478\n\nAutomated import of CL 147845\n"
    },
    {
      "commit": "a379585e6e3ff41db6d71a5cd0a0403931bc525d",
      "tree": "38728985bfdc9da616259cfc4905587da798d6c6",
      "parents": [
        "7fc4b281750be2442a327e7aa9fb03c44096caf3"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Fri Apr 24 10:35:11 2009 -0700"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Fri Apr 24 13:07:17 2009 -0700"
      },
      "message": "Enable static Java APIs for OpenGL ES 1.1 extensions.\n\nThis is just plumbing. The Java APIs existed already, but there were no C APIs to hook the Java APIs\nup to. Now there are C APIs, so we can call them.\n\nOf course, whether or not the C APIs actually work when you call them depend upon the\ncapabilities of the active OpenGL driver, which must be checked at run time.\n\nAlso, while we\u0027re here, make the glGetString method static. It was always supposed to be static,\nbut was accidentally implemented as non-static, because the code was copied from the non-static\nOpenGL ES classes.\n"
    },
    {
      "commit": "29b57e63e54321f99ff086bb25439098d83292f6",
      "tree": "fdfa6d571cc8cbaf418f70d2e25cd638f939b50f",
      "parents": [
        "44ff0514c2c8b8917ef81182c8f9d84a1617ec57"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Thu Apr 23 09:18:32 2009 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Thu Apr 23 11:40:17 2009 -0700"
      },
      "message": "API_CHANGE: external_storage: Add SDCARD_WRITE permission with associated strings\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "27f8002e591b5c579f75b2580183b5d1c4219cd4",
      "tree": "23fafecbd64e66b7a866510c8163d34c3e506df8",
      "parents": [
        "f5bfda1fcecc5d8553eab16182e2f6579214ede2"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Wed Apr 15 19:13:17 2009 -0700"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Thu Apr 16 15:20:55 2009 -0700"
      },
      "message": "Add an Android-specific static OpenGL ES 1.1 Java API.\n\nThis change adds four new public classes that expose a static OpenGL ES 1.1 API:\n\n\tandroid.opengl.GLES10\n\tandroid.opengl.GLES10Ext\n\tandroid.opengl.GLES11\n\tandroid.opengl.GLES11Ext\n\nBenefits:\n\n + The static API is slightly faster (1% to 4%) than the existing Interface based JSR239 API.\n + The static API is similar to the C API, which should make it easier to import C-based\n   example code.\n + The static API provides a clear path for adding new OpenGL ES 1.1 extensions\n   and OpenGL ES 2.0 APIs, neither of which currently have a JSR standard.\n\nExample:\n\n  import static android.opengl.GLES10.*;\n\n  ...\n\n  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);\n\nNote that it is possible to mix-and-match calls to both the static and JSR239 APIs.\nThis works because neither API maintains state. They both call through to the same underlying\nC OpenGL ES APIs.\n\nImplementation details:\n\nThis change enhances the \"glgen\" \"gen\" script to generate both the original JSR239 and\nnew static OpenGL ES APIs. The contents of the generated JSR239 classes remained the same as before,\nso there is no need to check in new versions of the generated JSR239 classes.\n\nAs part of this work the gen script was updated to be somewhat more robust, and to\nwork with git instead of perforce. The script prints out commands to git add the generated files,\nbut leaves it up to the script runner to actually execute those commands.\n"
    },
    {
      "commit": "308618fa9d9d61ec3a88dda5930d9fdd4ddd2975",
      "tree": "8e77d08492294468b45af9f2ccfd149c3d4aa91b",
      "parents": [
        "6fc9824174f1fb3a293906f576cab431dbcf33cc",
        "99001278289036a3c645e599ed832943ff1b6e15"
      ],
      "author": {
        "name": "Eric Shienbrood",
        "email": "",
        "time": "Mon Apr 13 18:14:07 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Apr 13 18:14:07 2009 -0700"
      },
      "message": "Merge branch \u0027readonly-p4-donut\u0027 into donut\n"
    },
    {
      "commit": "99001278289036a3c645e599ed832943ff1b6e15",
      "tree": "2399f33f11ae3241eff1b417c2c3af310037be9b",
      "parents": [
        "f78013cd5f6c0c490f8ed705468ced55d024875f"
      ],
      "author": {
        "name": "Eric Shienbrood",
        "email": "",
        "time": "Mon Apr 13 18:12:47 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Apr 13 18:12:47 2009 -0700"
      },
      "message": "AI 145980: am: CL 145881 Adding on to CL 145383, unhiding some additional methods and constants\n  that ought to be exposed. Hid and deprecated the single-arg public\n  constructor for NetworkInfo, and modified a CTS test that was testing it.\n  Ran the android.net test package to make sure it still works.\n  Original author: ers\n  Merged from: //branches/cupcake/...\n\nAutomated import of CL 145980\n"
    },
    {
      "commit": "d5a9af45fff88be8bde35852f247e212f82e5e26",
      "tree": "b1a9bdba16ced793921db255e98e58995c0dfc59",
      "parents": [
        "1710799c47c02aba18aef7693e38a84cd170560e",
        "7eb4fbdbb63c5e745bf5539c30a37da2bb273f49"
      ],
      "author": {
        "name": "Jeffrey Sharkey",
        "email": "",
        "time": "Mon Apr 13 08:56:31 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Apr 13 08:56:31 2009 -0700"
      },
      "message": "Merge branch \u0027readonly-p4-donut\u0027 into donut\n"
    },
    {
      "commit": "7eb4fbdbb63c5e745bf5539c30a37da2bb273f49",
      "tree": "cce965fedc0fdd3eaab24703faef8c170b7d1381",
      "parents": [
        "06f36b401d5020190c3c8662c8ff50a9b7776387"
      ],
      "author": {
        "name": "Jeffrey Sharkey",
        "email": "",
        "time": "Mon Apr 13 08:55:24 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Apr 13 08:55:24 2009 -0700"
      },
      "message": "AI 145860: am: CL 145568 Hide setStarted() from public API.\n  It should be renamed to something more meaninful before being exposed.\n  Original author: jsharkey\n  Merged from: //branches/cupcake/...\n\nAutomated import of CL 145860\n"
    },
    {
      "commit": "5f05afeeb6dd88a4f16b0a279afa3b4d0b631213",
      "tree": "1d2bb12a8948f66d1ee9fa90671563d7e52692f3",
      "parents": [
        "69cbb96c88d80bc165ace12317237daee195085b",
        "f8a7ceaef2e7d5cd530c9426bde91b6fa9a40b75"
      ],
      "author": {
        "name": "Andy Stadler",
        "email": "",
        "time": "Fri Apr 10 16:26:11 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Apr 10 16:26:11 2009 -0700"
      },
      "message": "Merge branch \u0027readonly-p4-donut\u0027 into donut\n"
    },
    {
      "commit": "f8a7ceaef2e7d5cd530c9426bde91b6fa9a40b75",
      "tree": "1dd68eeddbfa83d571a3544d6d2e25ba9be21b49",
      "parents": [
        "1eb75a0b3770177c3f0d0c2e843f80fc34451ef5"
      ],
      "author": {
        "name": "Andy Stadler",
        "email": "",
        "time": "Fri Apr 10 16:24:47 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Apr 10 16:24:47 2009 -0700"
      },
      "message": "AI 145778: Manual merge changes 145382-145384 from cupcake.\n\nAutomated import of CL 145778\n"
    },
    {
      "commit": "f391664cd2f188f3cd7abc60e1ed1a23600bf4c7",
      "tree": "4aa25cef7d9e6baaa6431953ef9fda2307866ef1",
      "parents": [
        "fc5c0981eaf789a5aef87a214401b64e4c430f1c",
        "32925df9202d5b78d69a4b5c76e6e717a4a86a67"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "",
        "time": "Thu Apr 09 18:04:34 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Apr 09 18:04:34 2009 -0700"
      },
      "message": "Merge branch \u0027readonly-p4-donut\u0027 into donut\n"
    },
    {
      "commit": "32925df9202d5b78d69a4b5c76e6e717a4a86a67",
      "tree": "0d21caae9679e56752eda805f5bab110aa8e826c",
      "parents": [
        "b1970201ecedde4cee25ded12efd5b09e976a6f1"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "",
        "time": "Thu Apr 09 18:03:18 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Apr 09 18:03:18 2009 -0700"
      },
      "message": "AI 145590: Manually merge change 145250 from cupcake.\n  Update API for GLSurfaceView to account for correcting the spelling of a\n  constant RENDER_CONTINUOUSLY. (This constant is new to Cupcake, so this is not\n  a breaking API change.)\n  BUG\u003d1766678\n\nAutomated import of CL 145590\n"
    },
    {
      "commit": "06ba55476ee9703c876d223cd41bd73c5f85f42d",
      "tree": "597ed553c488fdb9ff882887c45b1e2e1fe4f66f",
      "parents": [
        "4d08efb7d80db0e2d69c60a5fee6a923e440daac"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Apr 09 16:03:56 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Apr 09 16:03:56 2009 -0700"
      },
      "message": "Integrate new power connnect/disconnect broadcasts\n\nTwo new broadcasts, Intent.ACTION_POWER_CONNECTED and\nIntent.ACTION_POWER_CONNECTED, that are issued when the device is plugged\nand unplugged from USB or AC power.  This pulls two changes from the\nopen-source Gerrit repo into the internal Donut codeline:\n\n1241 fda6fae Added broadcasts for external power events.\n9491 37f8ca1 Fix system service crash when booting while on battery power\n\nThe current.xml API description has also been updated to include the\nnew Intent fields; the new API was approved in the original OSS change.\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": "ad28bed52ccabd252149b5297a2d94bacdb388cc",
      "tree": "83eaa96dd3b6dad1c9f4d0d3f62de88700783a8c",
      "parents": [
        "096f41d53909a9ef68cb5d6f06524212e96c43b6"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "",
        "time": "Wed Apr 01 11:46:43 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Apr 01 11:46:43 2009 -0700"
      },
      "message": "AI 144042: Fixes #1742109. Add a new API to ListView to return the list of checked items ids.\n  BUG\u003d1742109\n\nAutomated import of CL 144042\n"
    },
    {
      "commit": "88fb1069bf254dc68c83546496592a9b5e739a07",
      "tree": "2333fd9e614ad518822ac1458ae2fb8c90db0ad9",
      "parents": [
        "7ec434e2e179776d75c8a4da66dcfd2ee630c5d8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "",
        "time": "Fri Mar 27 14:59:22 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Mar 27 14:59:22 2009 -0700"
      },
      "message": "AI 143147: Manual integration\n\nAutomated import of CL 143147\n"
    },
    {
      "commit": "303736d17de11dbc0a633cbfc130e9dadd50f6e2",
      "tree": "52807ba2f38e00b8630d7fc0f55b3092a0b4ca93",
      "parents": [
        "8f2d94fd77836dac14319735e40f46b18b04216d"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "",
        "time": "Wed Mar 25 18:18:34 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 25 18:18:34 2009 -0700"
      },
      "message": "Automated import from //branches/donutburger/...@142826,142826\n"
    },
    {
      "commit": "f0138614acd239a43a0b6cb97b0ea845f82925f4",
      "tree": "a052fe45fbf1d75a86e9ec10ac9662ea7b33ec18",
      "parents": [
        "2ad63a9d773ba987e85ee6a23b0a0724d86d4b0e"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "",
        "time": "Wed Mar 25 17:39:37 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 25 17:39:37 2009 -0700"
      },
      "message": "Automated import from //branches/donutburger/...@142787,142787\n"
    },
    {
      "commit": "c2310f32b0a1373012fd4a2db8cebdb46507b901",
      "tree": "2952c820fe9ec235e9517570ea6786d48d288455",
      "parents": [
        "4c7533cfc81a0dda4c25355e86558199accab3ea"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "",
        "time": "Tue Mar 24 22:49:06 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 24 22:49:06 2009 -0700"
      },
      "message": "Automated import from //branches/donutburger/...@142486,142486\n"
    },
    {
      "commit": "7d1e577d5f7ae96bfc533e1c73a3a6a272a4a16d",
      "tree": "03096eeac5c7ef97160ea12816f941bf7c359e6a",
      "parents": [
        "870a2b015645ef5086af6a5de31dc482e7193214"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "",
        "time": "Tue Mar 24 22:47:09 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 24 22:47:09 2009 -0700"
      },
      "message": "Automated import from //branches/donutburger/...@142472,142472\n"
    },
    {
      "commit": "97d00b3150df9eb434f51f486a6104bb16a16cec",
      "tree": "24ba25c0bd2d56c9f8e1c464c0970149d5f33fd1",
      "parents": [
        "2764f30a74484870de03fa1a2aca0c01f991c711"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "",
        "time": "Tue Mar 24 22:45:53 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 24 22:45:53 2009 -0700"
      },
      "message": "Automated import from //branches/donutburger/...@142465,142465\n"
    },
    {
      "commit": "4a0029f95db144ba735b35e636400e8ce535383f",
      "tree": "8a868ff31cbd1948840829787d82da5a6f238104",
      "parents": [
        "1fba3bdbf7fd0a10e797ca7b30306ce23f853389"
      ],
      "author": {
        "name": "Niko Catania",
        "email": "",
        "time": "Tue Mar 24 19:51:09 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 24 19:51:09 2009 -0700"
      },
      "message": "Automated import from //branches/donutburger/...@141213,141213\n"
    },
    {
      "commit": "e5a1a260c63932ffce7ad816898533639d2cb681",
      "tree": "cd23d413cf20b256d2d3b2c1dcd92258a19d020d",
      "parents": [
        "c1e8446279381bdd728688d10285951ef8228ed1"
      ],
      "author": {
        "name": "Jeff Hamilton",
        "email": "",
        "time": "Tue Mar 24 19:32:51 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 24 19:32:51 2009 -0700"
      },
      "message": "Automated import from //branches/donutburger/...@141106,141106\n"
    },
    {
      "commit": "1bf5e22da72b477c8b7a45ed85a4dba94be39db5",
      "tree": "bec2084fe45aff661acb5abeeb0a725cade038d1",
      "parents": [
        "e68ffcb5764152da6d36adc8f2918200b4472c23"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "",
        "time": "Tue Mar 24 19:11:58 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 24 19:11:58 2009 -0700"
      },
      "message": "Automated import from //branches/donutburger/...@141001,141001\n"
    },
    {
      "commit": "97f10fd56b796b848aaf987ac94380dd32a7117d",
      "tree": "60cd6c05ac2e1cc0a94d24e736385e28703c7a7b",
      "parents": [
        "883e7eb389d55866f329150f258a70104abb10d7"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "",
        "time": "Tue Mar 24 18:56:59 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 24 18:56:59 2009 -0700"
      },
      "message": "Automated import from //branches/donutburger/...@140923,140923\n"
    },
    {
      "commit": "f63220f58e29673eba1c6228c04b43fb680af5f2",
      "tree": "9d8c495eb47af67b7537a393a7ccc996fa13c465",
      "parents": [
        "08905cc3362d8737290ceba96077aa2d234ab378"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "",
        "time": "Tue Mar 24 18:38:43 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 24 18:38:43 2009 -0700"
      },
      "message": "Automated import from //branches/donutburger/...@140828,140828\n"
    },
    {
      "commit": "d01721d5ca5bfa943760ed61cc99ca1ffc044c50",
      "tree": "34e551bddf86c437755aab3ef69084a870e3c44f",
      "parents": [
        "b24b2970a8ff713ece1b732b55cb064cb87eb1c7"
      ],
      "author": {
        "name": "Niko Catania",
        "email": "",
        "time": "Tue Mar 24 18:35:10 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 24 18:35:10 2009 -0700"
      },
      "message": "Automated import from //branches/donutburger/...@140811,140811\n"
    },
    {
      "commit": "38e98fccfab9592f871f3066f8569c559f1ee226",
      "tree": "55cf882da979f8c0069f79e8a73175fa94a413cc",
      "parents": [
        "07970839eb39a1a18013c8bd15052b761736208e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "",
        "time": "Tue Mar 24 18:18:24 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 24 18:18:24 2009 -0700"
      },
      "message": "Automated import from //branches/donutburger/...@140714,140714\n"
    },
    {
      "commit": "470f71f4a4d6d3a504b62473bd435bf80493414f",
      "tree": "826fde73356264b2f803b7ad41ebcb2e0f9ea303",
      "parents": [
        "de7c071e7391faac28e3de8a4891f0f564c37e04"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "",
        "time": "Tue Mar 24 17:55:14 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 24 17:55:14 2009 -0700"
      },
      "message": "Automated import from //branches/donutburger/...@140566,140566\n"
    },
    {
      "commit": "105925376f8d0f6b318c9938c7b83ef7fef094da",
      "tree": "3b19ee2bd8704cb9c6a0da7e42dec6759183de6d",
      "parents": [
        "ba87e3e6c985e7175152993b5efcc7dd2f0e1c93"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 18 17:39:46 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 18 17:39:46 2009 -0700"
      },
      "message": "auto import from //branches/cupcake_rel/...@140373\n"
    },
    {
      "commit": "ba87e3e6c985e7175152993b5efcc7dd2f0e1c93",
      "tree": "ee35f76532767dc29411a8738a434d1d88d330f2",
      "parents": [
        "c39a6e0c51e182338deb8b63d07933b585134929"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Mar 13 13:04:22 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Mar 13 13:04:22 2009 -0700"
      },
      "message": "auto import from //branches/cupcake_rel/...@138607\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": "b2a3dd88a53cc8c6d19f6dc8ec4f3d6c4abd9b54",
      "tree": "e167affc928677f3dd70e173150a77e3943e97a9",
      "parents": [
        "f5b4b98fada53d91c4c2ebeb5a1d33ccc95c94d2"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Mar 09 11:52:12 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Mar 09 11:52:12 2009 -0700"
      },
      "message": "auto import from //branches/cupcake/...@137197\n"
    },
    {
      "commit": "b22d55b9f8048b2a1ed99b90894c19388bebd7ae",
      "tree": "b6122523e8f06cea387bb90c0994202c4c2022a7",
      "parents": [
        "4df2423a947bcd3f024cc3d3a1a315a8dc428598"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Mar 05 15:45:10 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Mar 05 15:45:10 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@136620\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": "076357b8567458d4b6dfdcf839ef751634cd2bfb",
      "tree": "efbb2fd6f1dc67d2d606382fc3b82983e7cb2e1f",
      "parents": [
        "3dec7d563a2f3e1eb967ce2054a00b6620e3558c"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 14:04:24 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 14:04:24 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@132589\n"
    }
  ],
  "next": "3dec7d563a2f3e1eb967ce2054a00b6620e3558c"
}
