)]}'
{
  "log": [
    {
      "commit": "201e3abd3beee68cee7633c099c46fcf81ec802e",
      "tree": "eb7cd7252995ef5bb962bd60649f0d418d994ef8",
      "parents": [
        "0a305da8ee937584b769d2cfac82fccf5786beb8",
        "b3dfca197c63a7ed5434a0b126c9d3b30ae9682b"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 15 13:40:32 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 15 13:40:32 2009 -0700"
      },
      "message": "Merge change 7150\n\n* changes:\n  Ignore pause and seek for live streaming.\n"
    },
    {
      "commit": "85d1f158267d64b5660e86fab0baf0432c1dcfbd",
      "tree": "05c7ccd6fe0f43616538366bd52973c4ad22dccd",
      "parents": [
        "1f872d4e8675b918dafdd730100df7e865d9ce0b",
        "e3dd884815b2aaeec4241859722ab603e0b1466b"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 15 09:05:23 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 15 09:05:23 2009 -0700"
      },
      "message": "Merge change 7353\n\n* changes:\n  Implement virtual button support.\n"
    },
    {
      "commit": "e3dd884815b2aaeec4241859722ab603e0b1466b",
      "tree": "ab595122c085720a236251afbfe78af248d87bc5",
      "parents": [
        "334a67740c9f7f35fa9ee93cf0f8051d41ce2d7a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jul 14 12:06:54 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jul 14 18:51:53 2009 -0700"
      },
      "message": "Implement virtual button support.\n\nThe kernel can now publish a property describing the layout of virtual\nhardware buttons on the touchscreen.  These outside of the display\narea (outside of the absolute x and y controller range the driver\nreports), and when the user presses on them a key event will be\ngenerated rather than a touch event.\n\nThis also includes a number of tweaks to the absolute controller\nprocessing to make things work better on the new screens.  For\nexample, we now reject down events outside of the display area.\n\nStill left to be done is the ability to cancel a key down event,\nso the user can slide up from the virtual keys to the touch screen\nwithout causing a virtual key to execute.\n"
    },
    {
      "commit": "b3dfca197c63a7ed5434a0b126c9d3b30ae9682b",
      "tree": "fd60145d7ce4b0b048e372e47806541ab16794fd",
      "parents": [
        "334a67740c9f7f35fa9ee93cf0f8051d41ce2d7a"
      ],
      "author": {
        "name": "Ravi K Yenduri",
        "email": "yenduri@pv.com",
        "time": "Thu Jun 04 15:46:53 2009 -0500"
      },
      "committer": {
        "name": "Nicolas Catania",
        "email": "niko@google.com",
        "time": "Tue Jul 14 13:55:54 2009 -0700"
      },
      "message": "Ignore pause and seek for live streaming.\n"
    },
    {
      "commit": "fb4f266a1b9f6a20e256d192a940ae4ccc510fad",
      "tree": "f78e179753657d3ee9f0132c7433e3099162e9f2",
      "parents": [
        "3a5351e4437fc2c220bc68a431bd4a1a00a653fa"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jul 13 21:59:37 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jul 13 22:06:36 2009 -0700"
      },
      "message": "add a ctor to Mutex to specify the type, which can be shared. This is used by sf and af an soon will allow some optimization in the kernel for non shared mutexes\n"
    },
    {
      "commit": "b1c4ca5ad21ae63cd5af2cfc1be82ba176d25195",
      "tree": "5a70f426d9b4cd75638a1b17ae2abd264c59eb55",
      "parents": [
        "56e7c2d6ebbde59555041e3550cbba6824486db1"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Jul 12 23:11:20 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jul 13 15:14:23 2009 -0700"
      },
      "message": "implement Mutex and Condition with pthread instead of calling futex directly.\n\ninternally pthread uses futex. the implementation consists of simple inlines\nthere are no implementation files anymore.\n"
    },
    {
      "commit": "5d55c7119820ee9bb06fc072e416fe98ba77cd28",
      "tree": "4f461a51f26fc221f4e9c7c660c6b6680ff072d7",
      "parents": [
        "2eedb2515b733aaba0a92944def8156ef379e0da"
      ],
      "author": {
        "name": "Nicolas Catania",
        "email": "niko@google.com",
        "time": "Thu Jul 09 09:21:33 2009 -0700"
      },
      "committer": {
        "name": "Nicolas Catania",
        "email": "niko@google.com",
        "time": "Fri Jul 10 11:00:42 2009 -0700"
      },
      "message": "Basic plumbing to retrieve metadata from the native player.\n\nIMediaPlayer.h\nAdded a getMetadata method that mirrors the on in MediaPlayer.java.\n\nMediaPlayer.java\nAdded a native method to get the metadata from the native player.\nParse the parcel into a Metadata object.\n\nMetadata.java\nAdded a stub to parse the Parcel returned by the native player into\na set of metadata.\n\nandroid_media_MediaPlayer.cpp\nJNI call to forward the getMetadata call.\n\nMediaPlayerService.cpp\nMediaPlayerService::Client implements the new getMetadata method added in IMediaPlayer.h\n"
    },
    {
      "commit": "c494ba2544699e576370b35b7e94fe09e29d1226",
      "tree": "e25599ac7d57f4627f4588865ecf6bee980a1672",
      "parents": [
        "f00193ff7ac1872fc88f86b5150e023c09846df9",
        "b2c693919be966f179080a9ec70a7a82dbf57627"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 09 14:51:54 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 09 14:51:54 2009 -0700"
      },
      "message": "Merge change 6636\n\n* changes:\n  Implemented the metadata changed notification filters.\n"
    },
    {
      "commit": "e2bf80fb0bfd944ef45d60bdc469d85734527363",
      "tree": "82c0b1944a438852d41e3632dbb42f9150e9cdd6",
      "parents": [
        "e3f054411b9f025848f68389c4e2c325e76b3826",
        "8a715b4b791db4390d12e0ded02280592634a424"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 09 12:48:56 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jul 09 12:48:56 2009 -0700"
      },
      "message": "am 8a715b4b: Merge change 5510 into donut\n\nMerge commit \u00278a715b4b791db4390d12e0ded02280592634a424\u0027\n\n* commit \u00278a715b4b791db4390d12e0ded02280592634a424\u0027:\n  Add useful functions to String8, which enables users to convert between UTF-8 and UTF-32\n"
    },
    {
      "commit": "b2c693919be966f179080a9ec70a7a82dbf57627",
      "tree": "bc67f2a85c74a41a2151950b6393e6a291aeaa5c",
      "parents": [
        "3ff23c46978adfb691507baa3d2bf04b3f5ca001"
      ],
      "author": {
        "name": "Nicolas Catania",
        "email": "niko@google.com",
        "time": "Wed Jul 08 08:57:42 2009 -0700"
      },
      "committer": {
        "name": "Nicolas Catania",
        "email": "niko@google.com",
        "time": "Thu Jul 09 11:46:02 2009 -0700"
      },
      "message": "Implemented the metadata changed notification filters.\n\nIMediaPlayer:\nnew setMetadataFilter method so set a filter (2 lists of allowed and blocked metadata type)\nserialized in a Parcel.\n\nMediaPlayer.java/android_media_MediaPlayer.cpp/mediaplayer.cpp\nnew setMetadataFilter that passes the filter down to the MediaPlayerService\u0027s binder interface.\n\nMediaPlayerService.cpp\nThe Client inner class holds the allowed and blocked metadata types.\nThese are in 2 vectors that get populated in the setMetadataFilter.\n\nA new shourldDropMetadata method returns true if a type of metadata should be dropped according\nto the filters.\n\nThe notify method in run the metadata update notifications thru the filter and possibly drop them.\n"
    },
    {
      "commit": "8a715b4b791db4390d12e0ded02280592634a424",
      "tree": "3c646fda4f701f52cfc401c841cf6756eedef350",
      "parents": [
        "2af632f87d487deaa5b2eb71341cfc4f0c0d1173",
        "f05b33b3a1cff40972a735ff1fb4ed6e8bfeaf2a"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 08 18:27:01 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 08 18:27:01 2009 -0700"
      },
      "message": "Merge change 5510 into donut\n\n* changes:\n  Add useful functions to String8, which enables users to convert between UTF-8 and UTF-32 It will be used in SQL functions in external/sqlite/android. See https://android-git.corp.google.com/g/Gerrit#change,5511 for example.\n"
    },
    {
      "commit": "ec109bdd3982590709155006c1eb2e70c33015f0",
      "tree": "986a23c60a13e7b68b9938b29251b59bc1e6c168",
      "parents": [
        "b426703c1944aed7148be288d2c4b28bca4b75fc",
        "6698d16b951370a0cc6aa87bcd2ca91122a57410"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 08 17:28:14 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 08 17:28:14 2009 -0700"
      },
      "message": "Merge change 6560\n\n* changes:\n  resolved conflicts for merge of 04c7d0f8 to master\n"
    },
    {
      "commit": "6698d16b951370a0cc6aa87bcd2ca91122a57410",
      "tree": "7a411a1832eec82df97587fddc64b93b9fe909ff",
      "parents": [
        "c3f60ddaeadb69c1e85198e609e575f55ecc28ac",
        "04c7d0f842ae1d3b52c426fccf7178861493431d"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Wed Jul 08 17:26:05 2009 -0700"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Wed Jul 08 17:26:05 2009 -0700"
      },
      "message": "resolved conflicts for merge of 04c7d0f8 to master\n"
    },
    {
      "commit": "f05b33b3a1cff40972a735ff1fb4ed6e8bfeaf2a",
      "tree": "0ba45f189f1a8568697a1b4dc9e7b083a76d732d",
      "parents": [
        "1ecf5d28817f0a051e77488380dcd5bc622ea169"
      ],
      "author": {
        "name": "Daisuke Miyakawa",
        "email": "dmiyakawa@google.com",
        "time": "Tue Jun 30 20:40:42 2009 +0900"
      },
      "committer": {
        "name": "Daisuke Miyakawa",
        "email": "dmiyakawa@google.com",
        "time": "Thu Jul 09 09:06:13 2009 +0900"
      },
      "message": "Add useful functions to String8, which enables users to convert between UTF-8 and UTF-32\nIt will be used in SQL functions in external/sqlite/android.\nSee https://android-git.corp.google.com/g/Gerrit#change,5511 for example.\n\nRelated internal bug id: 1707173\n"
    },
    {
      "commit": "f6807d73d018683f339710058e30b95240050688",
      "tree": "71b6480dce8765bd2396162d90e399541931e364",
      "parents": [
        "264cd11dc9f27cad3219bb8345a598da7a42612c"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Jul 08 16:24:38 2009 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Jul 08 16:24:38 2009 -0700"
      },
      "message": "Add a virtual destructor to the TtsEngine class.\n"
    },
    {
      "commit": "59c1a935295cb30c2ba2f759855e89c174b42a07",
      "tree": "ecb4f9b555dca38af549fa469f97e734d9fcc799",
      "parents": [
        "a5188a09bd20c376b4f0645b0df4c52f8e114e21"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Wed Jul 08 15:56:53 2009 -0700"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Wed Jul 08 15:59:25 2009 -0700"
      },
      "message": "Add timestamps to video frames to improve A/V sync.\nBug 1927069.\n"
    },
    {
      "commit": "42a3265cfb93f28d977353b8fe7a8b350de09fd0",
      "tree": "19437211d706d61ca1785f87b17300bd772099a7",
      "parents": [
        "ddd8c26c060c7d3b0497ecfcc7549d8ab848d07d",
        "eb0ccd5c7ba5ea63f60a927b3e5e7f10bfacff48"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 07 12:43:06 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 07 12:43:06 2009 -0700"
      },
      "message": "Merge change 6382\n\n* changes:\n  add a virtual destructor to region_rasterizer, to be on the safe side\n"
    },
    {
      "commit": "eb0ccd5c7ba5ea63f60a927b3e5e7f10bfacff48",
      "tree": "106f2a6da673d29cec44f32be4b0757d97cf4dac",
      "parents": [
        "94aadce3a266fc63c2ae81e67c847a89c4961ef4"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jul 07 12:29:17 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jul 07 12:29:17 2009 -0700"
      },
      "message": "add a virtual destructor to region_rasterizer, to be on the safe side\n"
    },
    {
      "commit": "ca2bc75aac473b0b71f1e95c4527d862746b3efd",
      "tree": "da1119ef69b5d2f045c7680255895085ddb7b0dc",
      "parents": [
        "856d080ae52edc6ceaebf2047f8fe08fb159f9c2",
        "74598566ba4190be4125cea2f087a813f450fbdf"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 07 11:01:19 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 07 11:01:19 2009 -0700"
      },
      "message": "Merge change 6361\n\n* changes:\n  Fix sim build.\n"
    },
    {
      "commit": "74598566ba4190be4125cea2f087a813f450fbdf",
      "tree": "845f829f4630e8f39574e3b3034c01f036028b83",
      "parents": [
        "6e2863ec16828b77c494592410e6b01281596e87"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Tue Jul 07 10:01:12 2009 -0700"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Tue Jul 07 10:01:12 2009 -0700"
      },
      "message": "Fix sim build.\n\nLooks like older gcc (4.1.x) doesn\u0027t properly handle templated\nfanciness.  Apparently that\u0027s what we have on the build server.\n"
    },
    {
      "commit": "fcc5be99e0497f25a12e77622c27b4de30e45b3d",
      "tree": "45632e5c03a03e444aa385139e6aeed8020a73dc",
      "parents": [
        "43488fc78c927c25936e7b90030c5f10d2db94e5",
        "88e209dcf8c2ebddda5c272f46d1bd5478bc639c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 07 09:36:14 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jul 07 09:36:14 2009 -0700"
      },
      "message": "am 88e209dc: Fix issue 1743700: AudioTrack: setPlaybackRate can not set the playback rate to twice of the ouputSR\n\nMerge commit \u002788e209dcf8c2ebddda5c272f46d1bd5478bc639c\u0027\n\n* commit \u002788e209dcf8c2ebddda5c272f46d1bd5478bc639c\u0027:\n  Fix issue 1743700: AudioTrack: setPlaybackRate can not set the playback rate to twice of the ouputSR\n"
    },
    {
      "commit": "88e209dcf8c2ebddda5c272f46d1bd5478bc639c",
      "tree": "0b4bc797c237a5179be63ee9c3716e8213fc08b6",
      "parents": [
        "37ea71122579e9e2ad1f91b3eca5e4d436b54ea9"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 07 07:10:45 2009 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 07 07:10:45 2009 -0700"
      },
      "message": "Fix issue 1743700: AudioTrack: setPlaybackRate can not set the playback rate to twice of the ouputSR\n\nStore sample rate on 32 bits instead of 16 bits in audio_track_cblk_t.\nRemoved sampleRate() methods from AudioTrack and AudioRecord: replaced by getSampleRate().\nAudioTrack::setSampleRate() no returns a status.\n"
    },
    {
      "commit": "03a9a3449af3e0e79e9bbcd87f8057189ab9e151",
      "tree": "66f68465156e6eef8480161d87e87376f5bea813",
      "parents": [
        "f780d32fc2081fbf10a5bec19a654465361fc538",
        "78d0fdfad1437b2382e8803fa396fbe0f38a214f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jul 06 14:16:55 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jul 06 14:16:55 2009 -0700"
      },
      "message": "Merge commit \u0027goog/master\u0027 into merge_master\n"
    },
    {
      "commit": "17ffe1018c506272da45be6b35caf859bc2582f1",
      "tree": "76fb5291e8524712e9978cc3b76e46337b7453bd",
      "parents": [
        "005ae544f93494eb7d315b2e34aae0ac3c922728",
        "991eec03a73f8803d0f8c80b418480ea25293cfb"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 14:10:36 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Jul 06 14:10:36 2009 -0700"
      },
      "message": "am 991eec03: Merge change 6252 into donut\n\nMerge commit \u0027991eec03a73f8803d0f8c80b418480ea25293cfb\u0027\n\n* commit \u0027991eec03a73f8803d0f8c80b418480ea25293cfb\u0027:\n  Don\u0027t re-parse the framework resources all the time.\n"
    },
    {
      "commit": "78c405178c57bb45e40f1e2839d6a18d91f7f02c",
      "tree": "6e7137f628b8fff1f72c59e5e42f3f4878e0bb39",
      "parents": [
        "ef1f21b34f5624adb7436d3da927660ed16c97c7"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jul 06 11:07:40 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jul 06 11:12:37 2009 -0700"
      },
      "message": "Don\u0027t re-parse the framework resources all the time.\n\nA small optimization to the resource code, to not re-parse the framework\nresources every time we build a new AssetManager.  Instead, you can now\nconstruct a ResTable from a previously created one...  of course, like the\nexisting code for using the data in-place, you can\u0027t delete the original\nResTable until you have deleted the one that has been constructed from it.\n"
    },
    {
      "commit": "fee47b699f51e52d3551c0fdbcc9fc2760a0d837",
      "tree": "523fa403953da0a0ea8fda6d183d41dc4c55ebf9",
      "parents": [
        "1eebdc04f04923f827f9346f4cf126d245330f89",
        "c7396025e59524e7ef639fd86fc23123939ee91c"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 11:02:33 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Jul 06 11:02:33 2009 -0700"
      },
      "message": "am c7396025: Merge change 6084 into donut\n\nMerge commit \u0027c7396025e59524e7ef639fd86fc23123939ee91c\u0027\n\n* commit \u0027c7396025e59524e7ef639fd86fc23123939ee91c\u0027:\n  Return CAMERA_ERROR_SERVER_DIED to camera app when camera service dies (bug 1956726)\n"
    },
    {
      "commit": "d763b5d9197e01662cafa376e1227e53e0463a3c",
      "tree": "a8e3a71cf4581453aa4bbfe5c70c0f870756c2d3",
      "parents": [
        "0926b6184adb9bd1d4a432c7d4de0be58c602cc2"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jul 02 18:11:53 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jul 02 18:50:51 2009 -0700"
      },
      "message": "get rid of references to MemoryDealer in SurfaceFlinger\n"
    },
    {
      "commit": "a1b653d41df9a7999e1dba2a508295671ff6771d",
      "tree": "74c7c4639f56b4aab2e076eaadb7d436cab68113",
      "parents": [
        "a54755962ca7725d1e2b6cacbbaece6f1cbf5af4"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 02 10:04:20 2009 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 02 10:04:20 2009 -0700"
      },
      "message": "Return CAMERA_ERROR_SERVER_DIED to camera app when camera service dies (bug 1956726)\n"
    },
    {
      "commit": "d96e0b0cf14f159d96502a4caf8aa2a33c334a99",
      "tree": "c444ad326a6e2ae5b48508f78cdac7d12c2f7fd1",
      "parents": [
        "74ab31598bb65b17f84411d11d09269f1291d78a",
        "6e1647a212317f4ee8bcc23948b6621a59172954"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 01 22:43:58 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Jul 01 22:43:58 2009 -0700"
      },
      "message": "am 6e1647a2: Merge change 5829 into donut\n\nMerge commit \u00276e1647a212317f4ee8bcc23948b6621a59172954\u0027\n\n* commit \u00276e1647a212317f4ee8bcc23948b6621a59172954\u0027:\n  Fix issue #1673793: Theme styles don\u0027t apply.\n"
    },
    {
      "commit": "dfe983bd7979ccb1602f29b8f9804c98411d9cd6",
      "tree": "8a5547078b72cb262e54f0640dd4ed746b5805ef",
      "parents": [
        "3a6b160a3b52cd96fb383d5ee93c22e5e938e0e2",
        "7f32b426cd6a865ac5e6e3e9fa833e9327fb415a"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 01 18:33:18 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 01 18:33:18 2009 -0700"
      },
      "message": "Merge commit \u0027goog/master\u0027 into merge_master\n"
    },
    {
      "commit": "b66cd86a2de857885c7e00218b7aa64d23795253",
      "tree": "5e81b6a6b924ec43add2c32deee483ef97664d49",
      "parents": [
        "f7b2146edc5ea8f6d8fb21007f18efa347489ba5",
        "bd9aa793b19f7aa529ca4123492f8940b96486b8"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 30 14:48:58 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jun 30 14:48:58 2009 -0700"
      },
      "message": "am bd9aa793: Merge change 5593 into donut\n\nMerge commit \u0027bd9aa793b19f7aa529ca4123492f8940b96486b8\u0027\n\n* commit \u0027bd9aa793b19f7aa529ca4123492f8940b96486b8\u0027:\n  Add in TTS engine interface the methods to query the availability for a language,\n"
    },
    {
      "commit": "de7faf658cd40d34c08a98b39477055da8e19172",
      "tree": "8450b4d75fbe22a3fed25867c1d53a059c10d664",
      "parents": [
        "bd9aa793b19f7aa529ca4123492f8940b96486b8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 30 13:27:30 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 30 13:27:30 2009 -0700"
      },
      "message": "Fix issue #1673793: Theme styles don\u0027t apply.\n\nIt turns out this was not a problem in the resource code at all.  Rather,\nthe system process has a cache of pre-loaded attributes it uses to avoid\ncontinually reloading things as it needs them.  Well it turns out this\ncache wasn\u0027t flushed after a package was uninstalled or a configuration\nchanged, so you could re-install an app where you change its style resources\nso its theme now points to one that is inconsistent in the cache.\n\nThis is mostly a problem for developers, where they continually install\nnew versions of an app where resources have changed.  This could possibly\nshow up when updating an app on a normal phone, although the problem would\neventually correct itself since this cache uses weak references.\n\nAnyway, the cache is now reworked to be flushed appropriately.\n\nThis change also includes an update to aapt to be able to dump the\ncontents of bags in resources.\n"
    },
    {
      "commit": "276826bae2eb6d25c4abb1c5f665d2876c65e50c",
      "tree": "d4784e3c21f41a2017d1a2c39d7873eca493cdf2",
      "parents": [
        "5fc1b60e7f8b19d7d7a2244c0e1e005c7ed91659"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 29 18:46:37 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 29 18:46:37 2009 -0700"
      },
      "message": "Region::makeBoundsSelf() efficiently turns a region to its bounds\n"
    },
    {
      "commit": "6034cb565c3b3ffb21057851cff179e2d5cb56a9",
      "tree": "22ef465a36dac93400180095844352828f1365ad",
      "parents": [
        "f6ff591decdea6299aab1a5b6f95917800571de4",
        "17a80081a42410f541a220ab7e6afc64fc6cc399"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 29 16:37:31 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Jun 29 16:37:31 2009 -0700"
      },
      "message": "am 17a80081: Merge change 5544 into donut\n\nMerge commit \u002717a80081a42410f541a220ab7e6afc64fc6cc399\u0027\n\n* commit \u002717a80081a42410f541a220ab7e6afc64fc6cc399\u0027:\n  Pipe all the camera callbacks to Java to facilitate the addition\n"
    },
    {
      "commit": "f6ff591decdea6299aab1a5b6f95917800571de4",
      "tree": "dee211f3383b10360a61cb4194a1bcc2cc26bdd4",
      "parents": [
        "8c3fc63576c81139a8d16b608550568ad52237c6",
        "72eb0acad5cffc57ce5006f6deab29ee259e461e"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 29 16:37:17 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Jun 29 16:37:17 2009 -0700"
      },
      "message": "am 72eb0aca: Merge change 5483 into donut\n\nMerge commit \u002772eb0acad5cffc57ce5006f6deab29ee259e461e\u0027\n\n* commit \u002772eb0acad5cffc57ce5006f6deab29ee259e461e\u0027:\n  Expand support for different screen sizes.\n"
    },
    {
      "commit": "bd9aa793b19f7aa529ca4123492f8940b96486b8",
      "tree": "558dee159943dc4817dd7be4bef246af9c9b7a42",
      "parents": [
        "c25dbf88fc21c707b72502c43695c2c31ff22a23",
        "287148b80b1eb0e248994410cb24ecce5edda386"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 29 10:04:09 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 29 10:04:09 2009 -0700"
      },
      "message": "Merge change 5593 into donut\n\n* changes:\n  Add in TTS engine interface the methods to query the availability for a language, to set the synthesis audio format, to query the current language, country and variant setting.\n"
    },
    {
      "commit": "287148b80b1eb0e248994410cb24ecce5edda386",
      "tree": "f3ea612a77536a22cc922a8cbe66ebbc08abf911",
      "parents": [
        "77cb40a0b088b02357fbc7d5fad24886d607f0da"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Jun 26 17:09:21 2009 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Jun 29 09:52:17 2009 -0700"
      },
      "message": "Add in TTS engine interface the methods to query the availability for a language,\nto set the synthesis audio format, to query the current language, country and\nvariant setting.\n"
    },
    {
      "commit": "5a8d6f44b2ec9132848aee5f608447ff801951b2",
      "tree": "2d6801b9d105d4da2ba141460c988c2c1f9c001b",
      "parents": [
        "8f78faa1ef7e2436d11e4c04be67b5a95bf126b9"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jun 26 19:02:40 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jun 26 19:02:40 2009 -0700"
      },
      "message": "return bounds Rect by value\n"
    },
    {
      "commit": "17a80081a42410f541a220ab7e6afc64fc6cc399",
      "tree": "a4fe51dcf8e8caddc7cba9ebbc2c98606cf44950",
      "parents": [
        "72eb0acad5cffc57ce5006f6deab29ee259e461e",
        "c62f9bd13327937aa2d2f20b44215397120634c1"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 26 14:02:10 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 26 14:02:10 2009 -0700"
      },
      "message": "Merge change 5544 into donut\n\n* changes:\n  Pipe all the camera callbacks to Java to facilitate the addition of new features. This will make it easy to add things like zoom callbacks without modifying the entire camera stack. Bug 1837832.\n"
    },
    {
      "commit": "723738cfaec3dd7b0fe152c872c41bebf94074c4",
      "tree": "421ddeed166d0a4586c9460c4de581307bf08d44",
      "parents": [
        "77cb40a0b088b02357fbc7d5fad24886d607f0da"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 25 19:48:04 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 26 13:37:05 2009 -0700"
      },
      "message": "Expand support for different screen sizes.\n\nApplications can now declare that they support small, normal, or\nlarge screens.  Resource selection can also be done based on these\nsizes.  By default, pre-Donut apps are false for small and large,\nand Donut or later apps are assumed to support all sizes.  In either\ncase they can use \u003csupports-screens\u003e in their manifest to declare\nwhat they actually support.\n"
    },
    {
      "commit": "c62f9bd13327937aa2d2f20b44215397120634c1",
      "tree": "8bb2e7596e82588e9c4517f65209a174f809cc32",
      "parents": [
        "aae628b44518f0886a7f33b88c1131f47d853e70"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Fri Jun 26 13:33:32 2009 -0700"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Fri Jun 26 13:33:32 2009 -0700"
      },
      "message": "Pipe all the camera callbacks to Java to facilitate the addition\nof new features. This will make it easy to add things like zoom\ncallbacks without modifying the entire camera stack.\nBug 1837832.\n"
    },
    {
      "commit": "cf906decf11970bc55074383b20efc4f9756f509",
      "tree": "ac6c1d43209a8f3bbbf56737677b1d66b0712b1f",
      "parents": [
        "c3096829b7a89fa3928f765e3b79b600e2970624",
        "b65dba4560f7aff894ebcdbe8468daeaae3489c8"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 26 10:55:35 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jun 26 10:55:35 2009 -0700"
      },
      "message": "am b65dba45: Merge change 5470 into donut\n\nMerge commit \u0027b65dba4560f7aff894ebcdbe8468daeaae3489c8\u0027\n\n* commit \u0027b65dba4560f7aff894ebcdbe8468daeaae3489c8\u0027:\n  Use the same interface in the TTS engine interface for setLanguage and loadLanguage.\n"
    },
    {
      "commit": "d6d03e05bed76a49b8badda98e471bf36304b6ef",
      "tree": "5fa6990b05198b111d51d60ef04b756296c2f918",
      "parents": [
        "ee513b600efeb55040030a3dc9c8e7ef74b36149"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Jun 25 18:37:55 2009 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Jun 26 09:46:28 2009 -0700"
      },
      "message": "Use the same interface in the TTS engine interface for setLanguage and loadLanguage.\nAdding function to check the support level for a language in TTS engine interface.\n"
    },
    {
      "commit": "1f7300818fae32dcef5a5387b04c8f304b5e1cd5",
      "tree": "f06fe20bd46c2c57fa2fa78ef95f2737b4674f6f",
      "parents": [
        "98c600eb35dbb4449ebcfd00270092b2d0b34b27",
        "c44989d6c7bcc761fb37f54fd37aac2070ba8e5e"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 25 15:11:09 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jun 25 15:11:09 2009 -0700"
      },
      "message": "am c44989d6: Merge change 5350 into donut\n\nMerge commit \u0027c44989d6c7bcc761fb37f54fd37aac2070ba8e5e\u0027\n\n* commit \u0027c44989d6c7bcc761fb37f54fd37aac2070ba8e5e\u0027:\n  move ui/Time.cpp to core/jni, since this is the only place it is used\n"
    },
    {
      "commit": "864c0d50cda714d73fa70e3600ec36b5db8a835a",
      "tree": "6a4e6e481ef35565a3ce1d027537690bb91308f8",
      "parents": [
        "eb3ec64a6a962aa48a46753c6e69ce24f889a4cc"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 24 23:12:06 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jun 25 14:39:56 2009 -0700"
      },
      "message": "move ui/Time.cpp to core/jni, since this is the only place it is used\n"
    },
    {
      "commit": "26c28b16f3464eeb98b091b915ccf494ac31c35f",
      "tree": "a13c8d030ad3f9988c4958d7cbac328d20df7dcb",
      "parents": [
        "c1e3ec555b79b1e45fccbdf0bbc8ac2d51902860"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 24 22:39:26 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jun 25 00:09:27 2009 -0700"
      },
      "message": "make use of new eglGetRenderBufferANDROID extension to clean-up a bit a few hacks added recently\n"
    },
    {
      "commit": "cbc4c9f8d56317b2fe8964c15c9785ebeef98ca7",
      "tree": "131ba56996017a0493c681ef86c3f49bbcfa9dd3",
      "parents": [
        "f31868e59fbf59a8d479587c80b648fb37a166fc"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 23 21:11:43 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 24 20:39:16 2009 -0700"
      },
      "message": "hack copybit back in for video playback on msm7k. we have h/w accelerated video again\n"
    },
    {
      "commit": "f31868e59fbf59a8d479587c80b648fb37a166fc",
      "tree": "5a0aa67a76d6b0e48041f557eefd764e57eb97cf",
      "parents": [
        "c6603951d45fc9b0d1776fec9444b6f31af92840",
        "ecf2b68d834d334de218dc427615b4ca05c0293a"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 24 18:31:21 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 24 18:31:21 2009 -0700"
      },
      "message": "merge master in master_gl\n"
    },
    {
      "commit": "60965876d81bc7c327a6fd8360b46a85e3d9f4de",
      "tree": "baa34c2b76ce6c2d47ecc45d709819481f215c8d",
      "parents": [
        "c317703f6bec689adbf42a245c0ec75146343508",
        "df65b60ce33e5a56815864f8f0713e25378fa649"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 24 15:45:20 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Jun 24 15:45:20 2009 -0700"
      },
      "message": "am df65b60c: Merge change 5243 into donut\n\nMerge commit \u0027df65b60ce33e5a56815864f8f0713e25378fa649\u0027\n\n* commit \u0027df65b60ce33e5a56815864f8f0713e25378fa649\u0027:\n  Only report \"unknown metadata\" once per restore helper\n"
    },
    {
      "commit": "6f7e0dbdf6108e8f3664d1aa7ac72691f23a03d4",
      "tree": "73e057b644205f7aa512821fa1cf35ddb78b809f",
      "parents": [
        "9c73a336c121ae2a1f608700b45d84fed6c49eba",
        "a93466f5ca41c2ba6c3524c8d1edc2138bf753e3"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 24 15:44:45 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Jun 24 15:44:45 2009 -0700"
      },
      "message": "am a93466f5: Merge change 5220 into donut\n\nMerge commit \u0027a93466f5ca41c2ba6c3524c8d1edc2138bf753e3\u0027\n\n* commit \u0027a93466f5ca41c2ba6c3524c8d1edc2138bf753e3\u0027:\n  Cleanup header file. Disallow copy of Camera object by making copy\n"
    },
    {
      "commit": "df65b60ce33e5a56815864f8f0713e25378fa649",
      "tree": "6acc20d2790f5fe93bedf777c130d2b4e60b95aa",
      "parents": [
        "2cf6f5df59d466a729cc10b7688e17cd548a2fda",
        "63bcb79dd437e70593b63cc5a87baab3251c2183"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 24 13:58:52 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 24 13:58:52 2009 -0700"
      },
      "message": "Merge change 5243 into donut\n\n* changes:\n  Only report \"unknown metadata\" once per restore helper\n"
    },
    {
      "commit": "63bcb79dd437e70593b63cc5a87baab3251c2183",
      "tree": "97eab12039e80d6f16d64e2c3d7dac2073dfae54",
      "parents": [
        "54118adb3766fdf73a409102b88d7494bb6889a3"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jun 24 13:57:29 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jun 24 13:57:29 2009 -0700"
      },
      "message": "Only report \"unknown metadata\" once per restore helper\n\nAlso removes the auto-free object, replacing it with direct memory manipulation.\n"
    },
    {
      "commit": "e5b3607a0a7f3eebac82595624efe8d5b07f0a61",
      "tree": "849e956c53de45b1abac4517f5ba13d80fab7087",
      "parents": [
        "2387208c9ecb5dba01bd933312c80c5133bd3c41",
        "eaa89f74c04c0f10d5f3f8190b457087537bff2e"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 24 13:54:13 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Jun 24 13:54:13 2009 -0700"
      },
      "message": "am eaa89f74: Merge change 5172 into donut\n\nMerge commit \u0027eaa89f74c04c0f10d5f3f8190b457087537bff2e\u0027\n\n* commit \u0027eaa89f74c04c0f10d5f3f8190b457087537bff2e\u0027:\n  Remove deprecated callback function support.\n"
    },
    {
      "commit": "2387208c9ecb5dba01bd933312c80c5133bd3c41",
      "tree": "cc2b5de61934f318bcb3806d5a3705527b18c947",
      "parents": [
        "ffcdad9faaa03c116bacc5ac88a5aa2e015dc6d1",
        "3d7b8d1aa6a362292f56defbe8fb2d5653f79282"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 24 13:54:09 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Jun 24 13:54:09 2009 -0700"
      },
      "message": "am 3d7b8d1a: Merge change 5158 into donut\n\nMerge commit \u00273d7b8d1aa6a362292f56defbe8fb2d5653f79282\u0027\n\n* commit \u00273d7b8d1aa6a362292f56defbe8fb2d5653f79282\u0027:\n  Use a ref-counted callback interface for Camera.\n"
    },
    {
      "commit": "6f0602e84a0387fe9239a57f44785de40feb051c",
      "tree": "c4f588848a7caa95565131374fa6419732aeaa63",
      "parents": [
        "b1dffc48ca8aec61d99391495b3f436d0e8b16dd"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Wed Jun 24 10:42:53 2009 -0700"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Wed Jun 24 10:42:53 2009 -0700"
      },
      "message": "Cleanup header file. Disallow copy of Camera object by making copy\nconstructor and operator\u003d private.\n"
    },
    {
      "commit": "20cb94eeb5b9672573fc86bf51e09bd66a774581",
      "tree": "138919c0c2fd32e1c0185e726be3d6b5debee065",
      "parents": [
        "5a12373277f6ce14101f08580bc4f08f9a3d7c50"
      ],
      "author": {
        "name": "Nicolas Catania",
        "email": "niko@google.com",
        "time": "Tue May 12 23:25:55 2009 -0700"
      },
      "committer": {
        "name": "niko",
        "email": "niko@google.com",
        "time": "Wed Jun 24 08:22:52 2009 -0700"
      },
      "message": "Direct api to the native media player.\n\nMediaPlayer.java has 3 new methods:\n* newRequest creates a Parcel that can be used to send data to the\n  native player using invoke.\n* invoke issues synchronous calls to the native player using opaque\n  parcels for the request and reply.\n\nIMediaPlayer.h has 1 new abstract method:\n* invoke\n\nThe Midi and Vorbis players have a stub for these. So far only PV\nmakes use of that new feature.\n\nTo avoid any copy overhead, the JNI interface uses Parcel as a java\nobject (no serialization/copy happens at the JNI layer).\n\nThe remote interface token is inserted when the Parcel is constructed\nin java. That way the parcel is already routable when it reaches\n IMediaPlayer.cpp (proxy). No extra copy is needed there.\n"
    },
    {
      "commit": "b1dffc48ca8aec61d99391495b3f436d0e8b16dd",
      "tree": "0ed71e91e20db61d993388d4ee1bfad3f866cd10",
      "parents": [
        "5e27115995c4506dddf4f1271effd4fb4c935ad3"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Tue Jun 23 19:09:05 2009 -0700"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Wed Jun 24 07:58:27 2009 -0700"
      },
      "message": "Remove deprecated callback function support.\nThis is the last of a 3-part change to modify the camera to use\na more streamlined callback interface. This change removes the\nold code.\nBug 1884362\n"
    },
    {
      "commit": "5e27115995c4506dddf4f1271effd4fb4c935ad3",
      "tree": "dd67833f50a64768b2bf25ec4d9dd5daa3a2dd78",
      "parents": [
        "5f80605a0b866f34c74955e190909bd6ab5d992e"
      ],
      "author": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Tue Jun 23 17:30:11 2009 -0700"
      },
      "committer": {
        "name": "Dave Sparks",
        "email": "davidsparks@android.com",
        "time": "Wed Jun 24 07:58:27 2009 -0700"
      },
      "message": "Use a ref-counted callback interface for Camera.\nThis allows the camera service to hang onto the callback interface\nuntil all callbacks have been processed. This prevents problems\nwhere pending callbacks in binder worker threads are processed\nafter the Java camera object and its associated native resources\nhave been released.\nBug 1884362\n"
    },
    {
      "commit": "cf01aa3cfff321a774139c054e7cfc262ee27921",
      "tree": "619f366c12cba494aa66f1b8d45c1ad6a88da885",
      "parents": [
        "9bfd5f495bdc0d704d85fa95b67845099d9b9f48",
        "1bee98af6532eba3c6cda636eee890530c95a2a7"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 23 13:42:41 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jun 23 13:42:41 2009 -0700"
      },
      "message": "am 1bee98af: Merge change 5100 into donut\n\nMerge commit \u00271bee98af6532eba3c6cda636eee890530c95a2a7\u0027\n\n* commit \u00271bee98af6532eba3c6cda636eee890530c95a2a7\u0027:\n  Fill in CDMA gaps and clean up ToneGenerator code\n"
    },
    {
      "commit": "1bee98af6532eba3c6cda636eee890530c95a2a7",
      "tree": "331751ef706fab0d35586cc6751aa8e132a80560",
      "parents": [
        "11b157790234d3d2f116ce4c7ed1d3d00fb78bc3",
        "b6d90ca1292ffab015d5068f9e184b1dc84b7233"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 23 13:38:34 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 23 13:38:34 2009 -0700"
      },
      "message": "Merge change 5100 into donut\n\n* changes:\n  Fill in CDMA gaps and clean up ToneGenerator code\n"
    },
    {
      "commit": "9bfd5f495bdc0d704d85fa95b67845099d9b9f48",
      "tree": "ffd74c5f107276683565d95c2ee406b2722937de",
      "parents": [
        "3618160a1a10ab7574f14e0e5a45fe79ec660a64",
        "11b157790234d3d2f116ce4c7ed1d3d00fb78bc3"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jun 23 13:28:41 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jun 23 13:28:41 2009 -0700"
      },
      "message": "am 11b15779: Add file mode to the file-backup saved state blobs\n\nMerge commit \u002711b157790234d3d2f116ce4c7ed1d3d00fb78bc3\u0027\n\n* commit \u002711b157790234d3d2f116ce4c7ed1d3d00fb78bc3\u0027:\n  Add file mode to the file-backup saved state blobs\n"
    },
    {
      "commit": "11b157790234d3d2f116ce4c7ed1d3d00fb78bc3",
      "tree": "1db558751d0c942f0c231a0de9de5965aa1d50ba",
      "parents": [
        "2e418428987132ea66533cbc05f9c526eb59519a"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jun 23 13:03:00 2009 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jun 23 13:07:47 2009 -0700"
      },
      "message": "Add file mode to the file-backup saved state blobs\n\nThis change puts the file\u0027s access mode into the saved-state blob used by the\nfile backup helpers.  The tests have been updated for the new blob content\nformat.\n\nWhat this change *doesn\u0027t* do is actually backup/restore the file mode.  This\nchange is a prerequisite for that, but mode preservation in backup/restore will\nrequire adding metadata to the backup data stream itself, so will be approached\na bit more carefully.\n\n(Also fixed one outright bug in the test program: ReadEntityData() had been\nchanged to return a ssize_t union of either a byte-count or a negative number\nindicating error, but the test program was still assuming that nonzero \u003d\u003d error,\nand was spuriously failing.)\n"
    },
    {
      "commit": "b6d90ca1292ffab015d5068f9e184b1dc84b7233",
      "tree": "4713ca5d25092a8c630af7af79598ee5bb335208",
      "parents": [
        "b0ae27f4e10a9e5fe56b9ca549718051fe342bba"
      ],
      "author": {
        "name": "David Krause",
        "email": "david.krause@motorola.com",
        "time": "Wed Jun 17 15:46:13 2009 -0500"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Tue Jun 23 12:32:12 2009 -0700"
      },
      "message": "Fill in CDMA gaps and clean up ToneGenerator code\n"
    },
    {
      "commit": "ffa5a5a3dbef79dc6958c629080b1a6438a7b637",
      "tree": "6f55b73c1d1f654914b17f9b9243fd8734f135c4",
      "parents": [
        "949070dd74be18ee3dcc87dd32f47f65374e3d53",
        "5277103db9033226814edc8fcba6f4ba4e846678"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 22 22:04:12 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Jun 22 22:04:12 2009 -0700"
      },
      "message": "am 5277103d: Merge change 5035 into donut\n\nMerge commit \u00275277103db9033226814edc8fcba6f4ba4e846678\u0027\n\n* commit \u00275277103db9033226814edc8fcba6f4ba4e846678\u0027:\n  add glTexParameteri() and fix glTexParameteriv()\n"
    },
    {
      "commit": "aaf4b6b3315fc546396a4b82c8c5cab0c2d2cb85",
      "tree": "a0f381ad14b9f85f6ed6a9d23d55a09eab7727c6",
      "parents": [
        "72be40490951d3f9d0ada16fcf5288d0c3306d88"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 22 18:04:45 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 22 18:09:09 2009 -0700"
      },
      "message": "add glTexParameteri() and fix glTexParameteriv()\n"
    },
    {
      "commit": "69d13f6680c19a39a849484403495daf388416ea",
      "tree": "f0f525551f3abf7501c704d5dfa65789872bc2bc",
      "parents": [
        "4f5753dbeebe1523a020f7d39b519d99177d9fd2",
        "72be40490951d3f9d0ada16fcf5288d0c3306d88"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 22 14:03:17 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Jun 22 14:03:17 2009 -0700"
      },
      "message": "am 72be4049: Merge change 4910 into donut\n\nMerge commit \u002772be40490951d3f9d0ada16fcf5288d0c3306d88\u0027\n\n* commit \u002772be40490951d3f9d0ada16fcf5288d0c3306d88\u0027:\n  fix warnings that will show up with GCC 4.4 (in master)\n"
    },
    {
      "commit": "72be40490951d3f9d0ada16fcf5288d0c3306d88",
      "tree": "c03ccfb9727e67dee8a9106e61a49dff3784ada6",
      "parents": [
        "bbf781379b134812458591722c986cb29c396a5b",
        "5f91097b26f036a45e32f4e4cae3e9e135a6042d"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 22 14:01:25 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 22 14:01:25 2009 -0700"
      },
      "message": "Merge change 4910 into donut\n\n* changes:\n  fix warnings that will show up with GCC 4.4 (in master)\n"
    },
    {
      "commit": "4527acb0c39258792ae55604cb4d71006bf8d938",
      "tree": "f1e2b09db0abc31c15d56ec7e718a09aabd00861",
      "parents": [
        "ffe4ddfe95e8b31e0cb579ab537a1373f6208bcc",
        "856dd8a60a70a5b7dca2bf2114872ce063e2ad60"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 22 13:20:31 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Jun 22 13:20:31 2009 -0700"
      },
      "message": "am 856dd8a6: Merge change 4952 into donut\n\nMerge commit \u0027856dd8a60a70a5b7dca2bf2114872ce063e2ad60\u0027\n\n* commit \u0027856dd8a60a70a5b7dca2bf2114872ce063e2ad60\u0027:\n  Helper API cleanup.  Allows multiple helpers to function,\n"
    },
    {
      "commit": "06290a4bb9b280fa14a2bbeb2d3ceb09396a78c3",
      "tree": "15fccf5ce4e9c42bba3fc7581ac2ddc0d8363dc9",
      "parents": [
        "eed76b2a8ddc41af01cd3ae87c4722f3784c975c"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 18 20:10:37 2009 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Jun 22 13:02:24 2009 -0700"
      },
      "message": "Helper API cleanup.  Allows multiple helpers to function,\nbecause they\u0027ll always go in the same order, and this lets\nus not have to write headers to keep them paired.\n"
    },
    {
      "commit": "5f91097b26f036a45e32f4e4cae3e9e135a6042d",
      "tree": "f8b6ddcb19437b86fdfce765ffa236e12ccccd2a",
      "parents": [
        "4da7dff5e79e57494b58a97b285c53c111b18c82"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 22 02:35:32 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 22 02:35:32 2009 -0700"
      },
      "message": "fix warnings that will show up with GCC 4.4 (in master)\n"
    },
    {
      "commit": "ab445152f94460281aab87fc123c935b67857e81",
      "tree": "63458153a984aad0edc523b3c0d8e55bbda41e42",
      "parents": [
        "211648301a524926f285858d172f6a2df776a3f3"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 22 01:17:46 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 22 02:31:07 2009 -0700"
      },
      "message": "improve Vector\u003c\u003e with types that can be trivially moved and remove some unused code.\n\nThis optimization applies to sp\u003c\u003e and wp\u003c\u003e which should now perform about the same as regular pointers when placed in to Vector\u003c\u003e.\n"
    },
    {
      "commit": "f73bbd042367b65780316d2335784686dedd0459",
      "tree": "913a9ea96c37d617789914ec83f81ed0611d4d68",
      "parents": [
        "6edf5af578c1ab1fcd44b7c08ca371456e4b7430",
        "aba6af9277b34c739b83d3d2d908724c3f7ec1b4"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jun 19 17:41:14 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jun 19 17:41:14 2009 -0700"
      },
      "message": "Merge commit \u0027goog/master\u0027 into merge_master\n"
    },
    {
      "commit": "fc68623c03439db95401a18a435dbc491cd7f6fd",
      "tree": "318e9310cdb3fd31b912cc11b5f3b65d3d349f3f",
      "parents": [
        "b0774438ea90ce379ac3f20895f95302248a3844",
        "1585bd24c10d16351f89e32dddbfa799f18db6bd"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 19 16:44:07 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jun 19 16:44:07 2009 -0700"
      },
      "message": "am 1585bd24: Merge change 4828 into donut\n\nMerge commit \u00271585bd24c10d16351f89e32dddbfa799f18db6bd\u0027\n\n* commit \u00271585bd24c10d16351f89e32dddbfa799f18db6bd\u0027:\n  Report densities in badging, debugging for nine patch bug.\n"
    },
    {
      "commit": "e17086ba346009a26cc2299b133a0fe602acb6ec",
      "tree": "4fbc5d71e2eab364edf88f3d9aa0a28611fb4efc",
      "parents": [
        "03255de32d127d17504b6d475e6e79190dd637f8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 19 15:13:28 2009 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 19 15:13:28 2009 -0700"
      },
      "message": "Report densities in badging, debugging for nine patch bug.\n\nThe aapt tool now reports all available densities like it already did\nfor locales.  Also this includes more resource data output, which I\nwas using to examine bug #1867049 (which at this point I am unable to\nreproduce).\n"
    },
    {
      "commit": "f923ed6ff76a0fd022bcc83e748e82266ba4ed1b",
      "tree": "43cf39771f98ee89b714ddd9bb791d43addf8aa8",
      "parents": [
        "1c14776a13546fc2642baa251c8f1b7c545b0272",
        "5502f04c1dcf2b1918858bacb99fb0480a711707"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 18 19:04:56 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jun 18 19:04:56 2009 -0700"
      },
      "message": "am 5502f04c: Merge change 4709 into donut\n\nMerge commit \u00275502f04c1dcf2b1918858bacb99fb0480a711707\u0027\n\n* commit \u00275502f04c1dcf2b1918858bacb99fb0480a711707\u0027:\n  backup stuff\n"
    },
    {
      "commit": "1c14776a13546fc2642baa251c8f1b7c545b0272",
      "tree": "0834ce3d68bee3d92d1c1042b36832aa28ce9543",
      "parents": [
        "81a2a3931f61a7fdd178ab8d56c3d132c68a7afe",
        "16ce3504c5bf98d95d5c36001f755bb4b15253c9"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 18 19:04:50 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jun 18 19:04:50 2009 -0700"
      },
      "message": "am 16ce3504: Merge change 4708 into donut\n\nMerge commit \u002716ce3504c5bf98d95d5c36001f755bb4b15253c9\u0027\n\n* commit \u002716ce3504c5bf98d95d5c36001f755bb4b15253c9\u0027:\n  Make RestoreHelper and friends also write out the snapshot state.\n"
    },
    {
      "commit": "5d605dc56b036232e885f6ec36b888b729673060",
      "tree": "8a29f6a2feb495cbac08bb43b08e0ca9b8cf7dce",
      "parents": [
        "d2d9ceb7305d593c1b767bbb05de0082a9af4109"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 18 18:23:43 2009 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 18 18:41:11 2009 -0700"
      },
      "message": "backup stuff\n"
    },
    {
      "commit": "d2d9ceb7305d593c1b767bbb05de0082a9af4109",
      "tree": "1ba39c3c5901d65a18855286e240f177820a6ec6",
      "parents": [
        "abce4e8714bed26a2b37b20ad3f02cf619d71c9a"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 18 13:11:18 2009 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 18 18:41:11 2009 -0700"
      },
      "message": "Make RestoreHelper and friends also write out the snapshot state.\n"
    },
    {
      "commit": "6f8b5c12d3a3a02c5d38e3f54117cb6d65e0d4a6",
      "tree": "51a0be24e50459515d454f77d1ae8552fe957479",
      "parents": [
        "eae311c78be5125d722f50263a4a47c5deff2939",
        "de72697b771d33738c5f9d6c28087504e0796622"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 17 21:49:21 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Jun 17 21:49:21 2009 -0700"
      },
      "message": "am de72697b: Merge change 4524 into donut\n\nMerge commit \u0027de72697b771d33738c5f9d6c28087504e0796622\u0027\n\n* commit \u0027de72697b771d33738c5f9d6c28087504e0796622\u0027:\n  FileRestoreHelper and RestoreHelperDispatcher work.\n"
    },
    {
      "commit": "efd0fab04b96d7ab0c1d8bf3b79397c8621e31c5",
      "tree": "f4b5afd53736822e9dc9e4c0f08140cd6fac8d60",
      "parents": [
        "2cf3971ea4d22f8981ae71e6ba358f19e1628d09"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 17 16:20:55 2009 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 17 16:20:55 2009 -0700"
      },
      "message": "FileRestoreHelper and RestoreHelperDispatcher work.\n"
    },
    {
      "commit": "251c89c0a7502f4286f2484a77b685ddfe2b39d2",
      "tree": "9b8f8dd5d56b1ef2d295b986f54b8c55f757f3cc",
      "parents": [
        "1bd88ca88f8b89dbf09697b8eddc4703e266a654",
        "5f15d151b5101fadfe6cba1e8f4aa6367e8c603e"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 17 15:38:08 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Jun 17 15:38:08 2009 -0700"
      },
      "message": "am 5f15d151: checkpoint BackupDatAInput / RestoreHelper\n\nMerge commit \u00275f15d151b5101fadfe6cba1e8f4aa6367e8c603e\u0027\n\n* commit \u00275f15d151b5101fadfe6cba1e8f4aa6367e8c603e\u0027:\n  checkpoint BackupDatAInput / RestoreHelper\n"
    },
    {
      "commit": "5f15d151b5101fadfe6cba1e8f4aa6367e8c603e",
      "tree": "3a94295ffc2935c7ca1550c01a6e793766bf415f",
      "parents": [
        "aa088447baadd2e0bbcfd18cc529645610c13ddc"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Jun 16 16:31:35 2009 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Jun 16 18:46:50 2009 -0700"
      },
      "message": "checkpoint BackupDatAInput / RestoreHelper\n"
    },
    {
      "commit": "c1760fa84c1ac59793f8a23bb5a311ef9b5fc469",
      "tree": "f90b1f8f764e065bbc0dfc8b7ac5ec3e6a742b79",
      "parents": [
        "dfd0363adac842340650d0c535e1da201815c32b",
        "f1170fb5386ea86d704480d321ee9d1ee4858244"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 16 16:43:11 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jun 16 16:43:11 2009 -0700"
      },
      "message": "am f1170fb5: Merge change 4251 into donut\n\nMerge commit \u0027f1170fb5386ea86d704480d321ee9d1ee4858244\u0027\n\n* commit \u0027f1170fb5386ea86d704480d321ee9d1ee4858244\u0027:\n  Updating TTS engine interface for setting the language based on language, country and variant codes\n"
    },
    {
      "commit": "35a8e80bf8cbe3c64fdf59a4a8b7d33bb1cfbb2d",
      "tree": "af67a0ec08ccb97df0cb7de39b618ad874dfad4a",
      "parents": [
        "9908b3d820f7574ef432f22d280c7f1f5065f67f"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Jun 15 15:14:49 2009 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jun 16 13:25:15 2009 -0700"
      },
      "message": "Updating TTS engine interface for setting the language based on language, country and variant codes\ncoming from a java.util.Locale instance.\n"
    },
    {
      "commit": "69f066c8fc42b9f0acc5c41f8ffd972f8d6d0584",
      "tree": "3a8bc941200fa85a32a21657ac69ec9beb9a6463",
      "parents": [
        "151e859e0fc3a930bdf6d270d275e69e9eba0cbf",
        "b0b160ae50497966666bcdcaf974eca2643acfd3"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 16 12:38:55 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 16 12:38:55 2009 -0700"
      },
      "message": "Merge commit \u0027goog/master\u0027 into merge_master\n"
    },
    {
      "commit": "151e859e0fc3a930bdf6d270d275e69e9eba0cbf",
      "tree": "90abe1d328fe3f7234815651237ab31219a1de03",
      "parents": [
        "e19476214a2fe718c82461f54e6b56cee7faa5f4"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 15 18:24:59 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 15 21:56:51 2009 -0700"
      },
      "message": "new Permission class used to improve permission checks speed (by caching results)\n"
    },
    {
      "commit": "5f80742306d6d66b1641f96b57ad819c3667b18e",
      "tree": "1099d5cc505cdf8f9d75b405213feb0042a34d4e",
      "parents": [
        "451a37ed2d4dca5aed13c4b10bf25590cd41a462",
        "d670b8c61ebd13324ac21bdbc08d8a02fc0a765a"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 12 11:43:55 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jun 12 11:43:55 2009 -0700"
      },
      "message": "am d670b8c6: Merge change 3981 into donut\n\nMerge commit \u0027d670b8c61ebd13324ac21bdbc08d8a02fc0a765a\u0027\n\n* commit \u0027d670b8c61ebd13324ac21bdbc08d8a02fc0a765a\u0027:\n  Removed trailing whitespaces.\n"
    },
    {
      "commit": "d670b8c61ebd13324ac21bdbc08d8a02fc0a765a",
      "tree": "c24961f49c83ed6db9784ac9972d683f380f4555",
      "parents": [
        "83bb56c389d003162093eef0aaee251cefc1deed",
        "32f82774884bdd709789ab9f3ccdf5b972ff7681"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 12 08:32:09 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 12 08:32:09 2009 -0700"
      },
      "message": "Merge change 3981 into donut\n\n* changes:\n  Removed trailing whitespaces.\n"
    },
    {
      "commit": "bf85d63cb8858432ff845250fdaffdb556d2ef1b",
      "tree": "bccd2a36cb6534bbb9fc75cdf3ff550fce35e8e7",
      "parents": [
        "32c79898c0020637b2f8e536c8208519801eb9cb",
        "78f0f8cb2efe9410127c39201e240f6d438eb53c"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 12 08:26:05 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jun 12 08:26:05 2009 -0700"
      },
      "message": "am 78f0f8cb: Merge changes 3953,3954 into donut\n\nMerge commit \u002778f0f8cb2efe9410127c39201e240f6d438eb53c\u0027\n\n* commit \u002778f0f8cb2efe9410127c39201e240f6d438eb53c\u0027:\n  Make the file backup helper not crash if a file you requested\n  Fix SharedPrefsBackupHelper so it doesn\u0027t hard code the paths to the files.\n"
    },
    {
      "commit": "32f82774884bdd709789ab9f3ccdf5b972ff7681",
      "tree": "ef2b6af8c2d2c68838b1e10496f3b8cff2e644e0",
      "parents": [
        "cb9534f92007b47d86cccc306dc75ca2d64bd197"
      ],
      "author": {
        "name": "Nicolas Catania",
        "email": "niko@google.com",
        "time": "Thu Jun 11 16:33:49 2009 -0700"
      },
      "committer": {
        "name": "Nicolas Catania",
        "email": "niko@google.com",
        "time": "Thu Jun 11 16:54:48 2009 -0700"
      },
      "message": "Removed trailing whitespaces.\n"
    },
    {
      "commit": "ce88cb15b52998e16c3ba548a4ec49117a835e21",
      "tree": "dc02e85657a63858b45a5eef8f99cbf5efae6339",
      "parents": [
        "23ecae3bbb60c5af940f3a22170d75eb6ac05b69"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 11 11:27:16 2009 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Jun 11 14:51:45 2009 -0700"
      },
      "message": "Make the file backup helper not crash if a file you requested\ncan\u0027t be stated.  This means you don\u0027t need to know if the files\nyou are backing up exist or not -- we\u0027ll figure it out for you.\n"
    },
    {
      "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": "350d651706d8f484d9aeb539d491526f822fa84a",
      "tree": "9018d81b9a591ff6fe71dec5f93c19018991c96b",
      "parents": [
        "07fcf4c3a91e421dc6f3d17f28264d18e8b2bfdb"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 10 16:01:54 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 10 16:15:32 2009 -0700"
      },
      "message": "fix a bug where copybit only renders in the first buffer when used with s/w GL\n"
    },
    {
      "commit": "07fcf4c3a91e421dc6f3d17f28264d18e8b2bfdb",
      "tree": "30b14954d923a98fe0b1fc27e6cdb589dc9d217e",
      "parents": [
        "51c8a3e00e6cffe42d25d1ac87d417e925d8a84d"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 09 21:38:08 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 09 21:38:08 2009 -0700"
      },
      "message": "revive the copybit test.\n"
    },
    {
      "commit": "f5b746e15708bea6a8ef5bb7f7cfea03d7415a7f",
      "tree": "96d747ee29f5b79c494a2463080031cbbb2e3e1c",
      "parents": [
        "5519185292a3733744794bd3c31ce1a2fdf817e4",
        "b2df1699c996e62baa78877978cd2c5607ea4194"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 08 16:00:19 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Jun 08 16:00:19 2009 -0700"
      },
      "message": "am b2df1699: Merge change 1548 into donut\n\nMerge commit \u0027b2df1699c996e62baa78877978cd2c5607ea4194\u0027\n\n* commit \u0027b2df1699c996e62baa78877978cd2c5607ea4194\u0027:\n  NJ-1409: (frameworks/base) Support new audio encoding types(AMR and AAC).\n"
    },
    {
      "commit": "b2df1699c996e62baa78877978cd2c5607ea4194",
      "tree": "442c0e288e853fbf2b0978bad6db676fe59e619f",
      "parents": [
        "bad927a987d30fc63e0b280b3a99a9ba4a9520ea",
        "2bcda90c0234f67f210a96f195b355493ca7d1ff"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 08 15:58:21 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 08 15:58:21 2009 -0700"
      },
      "message": "Merge change 1548 into donut\n\n* changes:\n  NJ-1409: (frameworks/base) Support new audio encoding types(AMR and AAC).\n"
    },
    {
      "commit": "2bcda90c0234f67f210a96f195b355493ca7d1ff",
      "tree": "ccc9334fe1faca406e67d4bb1822d8195dba5c35",
      "parents": [
        "be512bff60626efc9a4b85d271d6210b9115e5fc"
      ],
      "author": {
        "name": "Jianhong Jiang",
        "email": "jianhong@google.com",
        "time": "Mon Jun 08 08:50:42 2009 -0700"
      },
      "committer": {
        "name": "Jianhong Jiang",
        "email": "jianhong@google.com",
        "time": "Mon Jun 08 08:50:42 2009 -0700"
      },
      "message": "NJ-1409: (frameworks/base) Support new audio encoding types(AMR and AAC).\n"
    },
    {
      "commit": "ffa3ddfb706ffdd54ae525aa74c0a62d206b61b5",
      "tree": "a10bc2450c4fc640c99331f447d13c8ebaa29f43",
      "parents": [
        "4bfa86011a1ede22ae84921332bd1bf35a1695d7",
        "e3523054ded8c6e86935a978aa136c3ed2c0ba12"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 05 21:17:31 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jun 05 21:17:31 2009 -0700"
      },
      "message": "am e3523054: Merge change 3356 into donut\n\nMerge commit \u0027e3523054ded8c6e86935a978aa136c3ed2c0ba12\u0027\n\n* commit \u0027e3523054ded8c6e86935a978aa136c3ed2c0ba12\u0027:\n  Cleaning up comments in interface for TTS engines.\n"
    },
    {
      "commit": "7ab512096ac84c2fe2ffc31305ca5c1ea39aadaf",
      "tree": "bdfb40c5ffc9568604d6fc54ec88f912bdb4e8e5",
      "parents": [
        "76ff31b201da1e4b0b9cfe21bf5a877cc9d645fe",
        "327da854e8fbc444150b40941668b3c9187c34b9"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 05 21:17:19 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jun 05 21:17:19 2009 -0700"
      },
      "message": "am 327da854: Merge change 3344 into donut\n\nMerge commit \u0027327da854e8fbc444150b40941668b3c9187c34b9\u0027\n\n* commit \u0027327da854e8fbc444150b40941668b3c9187c34b9\u0027:\n  Updating TtsEngine.h and SynthProxy.cpp so that buffer memory\n"
    },
    {
      "commit": "6270d6100e8fa1a986794bfcd61166f2715b6d21",
      "tree": "623b2de4fa99bb6f0be36f6eb2afde0aaa2c3be5",
      "parents": [
        "327da854e8fbc444150b40941668b3c9187c34b9"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Jun 05 15:01:33 2009 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Jun 05 15:49:28 2009 -0700"
      },
      "message": "Cleaning up comments in interface for TTS engines.\n"
    }
  ],
  "next": "51c8a3e00e6cffe42d25d1ac87d417e925d8a84d"
}
