)]}'
{
  "log": [
    {
      "commit": "33bbd12a05005ac92a0ecf82695893148227bb22",
      "tree": "4e78a5bd369a773bb5463ed33a3dfd47144dd57b",
      "parents": [
        "80810f86e93866674f3a4ca61f84887e7717aa63"
      ],
      "author": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Mon Aug 02 17:51:29 2010 -0700"
      },
      "committer": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Mon Aug 16 14:28:17 2010 -0700"
      },
      "message": "New download manager error code when we can\u0027t resume.\n\nAdding DownloadManager.ERROR_CANNOT_RESUME for when we can\u0027t resume an\ninterrupted download (because the server didn\u0027t provide an ETag or\ndoesn\u0027t support range requests), as well as the necessary private\nstatus code in Downloads.Impl.\n\nChange-Id: I5a66f1e1964198552ab2216aa6d3cc0db2254e21\n"
    },
    {
      "commit": "7d2e3df60d33a73f5ef62ea462a9c6da5e3efc9a",
      "tree": "618eb0275f1dd2cc8ae1ab66316d10f0bd1e4617",
      "parents": [
        "8ea71511c64e61fe23004889ff7032f991a751c8"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Wed Aug 11 16:58:04 2010 -0700"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Mon Aug 16 09:18:50 2010 -0700"
      },
      "message": "add an api for getting a device serial number\n\nAdd a constant to android.os.Build that returns a device-specific\nalphanumeric serial number.  It\u0027s optional -- it may be blank --\nthough CTS will require it to be present for non-telephony devices.\n\nChange-Id: I338ae5f43ba679a5e98f2f437dc4efdaef0c835d\n"
    },
    {
      "commit": "a02b8b05dd1e8b8cf169e1f89542ef835b11fc13",
      "tree": "aa1b5fb6b900c064d9914f51c9c3817a2c46f9df",
      "parents": [
        "9902196f9885d369e37cf44084e3f04513511ab0"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Aug 05 16:14:17 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Aug 11 11:20:53 2010 -0700"
      },
      "message": "Move OBB file reading to DefaultContainerService\n\nThe system_server shouldn\u0027t touch files on the SD card. This change\nmoves the things that touch the SD card out to the\nDefaultContainerService so that it will get killed if the SD card goes\naway instead of the system_server.\n\nChange-Id: I0aefa085be4b194768527195532ee6dddc801cfc\n"
    },
    {
      "commit": "08d5b8fad8d46ccb64db2fdcb4d66972ec87bf48",
      "tree": "7e2e67603ec8a2ca164548301b65a2b733df76a0",
      "parents": [
        "091c5238a00ca51dc69b8b09459e6ac88e1eb077"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 04 11:12:40 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 11 00:29:59 2010 -0700"
      },
      "message": "More native work.\n\nImplement save/restore of state, and add native APIs for\nconfiguration information.\n\nChange-Id: I2a3ddc2ba605db58d7c8b2b31b9215fb323f90b5\n"
    },
    {
      "commit": "2a6b80bc65c4782b5a7168b300e1dc5ec9f617ee",
      "tree": "fc777c3694d8739aba7a44caedc867c7b87b88a9",
      "parents": [
        "8fb2e6e4720385961083a150a3e848ccaef544ae"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jul 29 23:43:43 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Aug 09 05:48:20 2010 -0700"
      },
      "message": "Fixed several audio effects problems.\n\n- Fixed constant inversions in AudioEffect.java\n- Do not return error when enabling an already enabled effect\n- Update cached effect state in native AudioEffect class when effect is enabled/disabled by command() method\n- Remove click when restarting effect during disable sequence\n- Fixed problem in master mute management when volume control is delegated to effect.\n\nChange-Id: I6df4ce9fcc54fdc7345df858f639d20d802d6712\n"
    },
    {
      "commit": "8e15afe799bbe8d332640c1f2b57b5e0458a9625",
      "tree": "59243a3ecfa55cf71873629747b28d739a480c77",
      "parents": [
        "818490ab2abe36dfc6c13d01fea5220bd64cca8c"
      ],
      "author": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Wed Jul 28 17:12:40 2010 -0700"
      },
      "committer": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Fri Aug 06 11:06:49 2010 -0700"
      },
      "message": "Make downloads visible by default.\n\nChange-Id: I8f8b325658d8afc964bddd3f1c03ed20e6bd10aa\n"
    },
    {
      "commit": "3c7c351a6217ac48b741740167c201a679a0ca65",
      "tree": "f539d70e0a46249f01dd6fb45563f1ebc4bed706",
      "parents": [
        "cde66df44240cfe5a7bec12ac52464c3bf26c14f"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Aug 04 15:44:39 2010 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Aug 04 23:47:38 2010 -0700"
      },
      "message": "Tracking merge of dalvik-dev to gingerbread\n\ngit cherry-pick --no-commit f77cf7f0\ngit cherry-pick --no-commit c8f503b5285e30c1a881d0ba860ba9021f57d113\ngit cherry-pick --no-commit 570bb561\ngit cherry-pick --no-commit e2417541\ngit cherry-pick --no-commit e4d81f25bd4dc1a5c909b56ab56a56406290da30\ngit cherry-pick --no-commit 5e8a587d\n\nChange-Id: I101a385d43f3e0f4ce5352217f92ef67a3908c88\n"
    },
    {
      "commit": "f383a9a1153d36242ad7e0c0ed9f7895a110488f",
      "tree": "a735aac6323b3493af2f57a19e17b1f0e24096de",
      "parents": [
        "1340ee8a273a9b25a779f3b18d6f832ce496c68e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 04 09:18:46 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 04 09:18:46 2010 -0700"
      },
      "message": "Fix the build.\n\nForgot to update current.xml in last patch set for change\nI541ee4ad0232312ec720545737cbcdb8c9a82597\n\nChange-Id: I528a43fd01ca2478145fe54d90747f489ab7a2b3\n"
    },
    {
      "commit": "17cb280e7f1ac3556eac90ab08263712e0348cb9",
      "tree": "324ae1f315fddc25a0b5ad82863f68a74bc2ed0b",
      "parents": [
        "23796e3b622c6be4feb15d4d57e58645acfa431b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Aug 03 03:50:02 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Aug 04 08:31:01 2010 -0700"
      },
      "message": "NEW_API: Unhide audio effect APIs.\n\nThis change unhides all public APIs for controling audio effects exposed\nby the following classes:\n- AudioEffect\n- BassBoost\n- EnvironmentalReverb\n- Equalizer\n- PresetReverb\n- Virtualizer\n- Visualizer\n\nAlso fixes several problems in javadoc.\n\nChange-Id: I541ee4ad0232312ec720545737cbcdb8c9a82597\n"
    },
    {
      "commit": "04d7e83e65e246e154b5b346e3eb0081b741ae88",
      "tree": "010c86fa7361f8e09dee2e496a4ed04b2f077d38",
      "parents": [
        "050b56244ff46d43e4886018d7cd20f0b1dc02b9"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jul 29 17:59:58 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jul 29 18:18:01 2010 -0700"
      },
      "message": "Added SensorManager.getAltitude()\n\nthis is a helper function to calculate the altitude from the\npressure and pressure at sea level.\n\nChange-Id: I3f6f14fee6190388f95afa36a66287e3d59eef9b\n"
    },
    {
      "commit": "050b56244ff46d43e4886018d7cd20f0b1dc02b9",
      "tree": "1c0cfcd08dbd18b386bebe5dd2cbeb1c945ccbda",
      "parents": [
        "3fb627525e077fa5452a99ac1e2a7e9c41995044"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jul 29 16:51:38 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jul 29 18:18:00 2010 -0700"
      },
      "message": "Added SensorManager.getMinDelay()\n\nExposed the new \"min delay\" sensor property through native and\njava sensor apis. This allows the caller to know what is the\nmaximum rate at which a sensor can return events, or, if a sensor\nworks in \"update\" mode (events returned only when the value changes).\n\nAlso augmented SensorManager.regusterSensorEvent() so that it can\naccept a value in microsecond in addition to the 4 constants already\ndefined.\n\nChange-Id: If425e9979892666df8c989d7de3c362230fa19e0\n"
    },
    {
      "commit": "6ec402b5ae33c8927694d8522b4cc6a5c8ba974e",
      "tree": "5d4b19eda9ade71d7e34635479426f1dd484e8c2",
      "parents": [
        "6dea6f4e71b53e421564d783c227cbe0a2469183"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jul 28 15:48:59 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jul 29 12:54:27 2010 -0700"
      },
      "message": "DO NOT MERGE: Fix input event injection ANRs on UI thread.\n\nAdded a new asynchronous injection mode and made the existing\nsynchronization mechanism more robust.\n\nChange-Id: Ia4aa04fd9b75ea2461a844c5b7933c831c1027e6\n"
    },
    {
      "commit": "6d0fec2de3601821f4f44eeb7d7deedebb2b7117",
      "tree": "9fdea32c5691a6d0bcb3085df47f42a8e6ecd565",
      "parents": [
        "b350bec514eb9fee473e4ef62680c53e992dc49b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jul 23 21:28:06 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jul 28 14:16:15 2010 -0700"
      },
      "message": "Refactor input reader to support new device types more easily.\n\nRefactored the input reader so that each raw input protocol is handled\nby a separate subclass of the new InputMapper type.  This way, behaviors\npertaining to keyboard, trackballs, touchscreens, switches and other\ndevices are clearly distinguished for improved maintainability.\n\nAdded partial support for describing capabilities of input devices\n(incomplete and untested for now, will be fleshed out in later commits).\n\nSimplified EventHub interface somewhat since InputReader is taking over\nmore of the work.\n\nCleaned up some of the interactions between InputManager and\nWindowManagerService related to reading input state.\n\nFixed swiping finger from screen edge into display area.\n\nAdded logging of device information to \u0027dumpsys window\u0027.\n\nChange-Id: I17faffc33e3aec3a0f33f0b37e81a70609378612\n"
    },
    {
      "commit": "f547d722f9591629b293ba9132d6b74d345e9aa5",
      "tree": "29ac16576f9f72d30144846b3a719cf82df26653",
      "parents": [
        "7feab3470156c7864fe159115d575c16f0974493"
      ],
      "author": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Tue Jul 27 16:50:07 2010 -0700"
      },
      "committer": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Tue Jul 27 16:50:07 2010 -0700"
      },
      "message": "One last change to current.xml for new download manager API\n\nChange-Id: If88984ad64880a81e4dbb4ef9f8118cc52bb891f\n"
    },
    {
      "commit": "46be2a5bb647a2429c16ce7d613dd9cce8c3c43b",
      "tree": "44f191698337beecfad4f4a50fe6c243c90536aa",
      "parents": [
        "00de721859ca291d0e212a6970f0bd8b3a2f8428"
      ],
      "author": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Mon Jul 26 20:44:35 2010 -0700"
      },
      "committer": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Mon Jul 26 20:44:35 2010 -0700"
      },
      "message": "Un-@hide new download manager public API.\n\nChange-Id: Ia8433160ef40e25fb9408f05f97c7bbfa10a807e\n"
    },
    {
      "commit": "94dab9b13590b714a7400d513f1e4655c62ddfaf",
      "tree": "0b986d5ec6316451a4e32d3a7375024e7f925210",
      "parents": [
        "5b31498ba1f9874f395d80152304512fa4c0144d"
      ],
      "author": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Sat Jul 17 18:29:22 2010 -0700"
      },
      "committer": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Sat Jul 17 18:29:22 2010 -0700"
      },
      "message": "fix broken api/current.xml\n\nChange-Id: I6cc03dddf20228625f18f7a59aed22628f9661fa\n"
    },
    {
      "commit": "5b31498ba1f9874f395d80152304512fa4c0144d",
      "tree": "00a17d4ebc43a0f74e99807e75cf0b683425294d",
      "parents": [
        "2c87e9c923b0362fabf8c97ff63997542394c428"
      ],
      "author": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Mon Jul 12 15:13:37 2010 -0700"
      },
      "committer": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Sat Jul 17 18:16:31 2010 -0700"
      },
      "message": "add video/audio chat-compatibility modes to ContactsContract\n\nChange-Id: Ic0b04017ad4216f1a1c5f07fa9d27e6970ded931\n"
    },
    {
      "commit": "e33348ba54cd68d6936cffd4507037c14d4b10c2",
      "tree": "1429dd836a48b3f49ee2a27623ff47b5c272c827",
      "parents": [
        "bd623daff1f261a0e794f059d90ba5907eb5a89a"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jul 15 23:54:05 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jul 16 00:02:48 2010 -0700"
      },
      "message": "Fix bug with phantom input windows.\n\nAdd dumpsys integration for the native input dispatcher.\nAdd some InputDevice API stubs.\nAdd an appendFormat helper method to String8 for printf style\nstring formatting mainly for debugging purposes.\nUse generic ArrayList\u003cWindowState\u003e everywhere in WindowManagerService\nto eliminate unnecessary casts all over.\n\nChange-Id: I9d1e3bd90eb7222d10620200477f11b7bfd25e44\n"
    },
    {
      "commit": "02c8730c1bf19daf48bec8c6995df676a00a73b1",
      "tree": "f4d832a5308a18272cc6be0464a9824ad1e776ec",
      "parents": [
        "c5ed5910c9ef066cec6a13bbb404ec57b1e92637"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Jul 01 08:10:18 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Thu Jul 15 21:31:58 2010 -0700"
      },
      "message": "Add API to call to vold for mounting OBBs\n\n* Unhide StorageService class; hide all the USB-related items\n\n* Add application-visible API to StorageManager for OBB files\n\n* Add class for parceling OBB info across binders (ObbInfo)\n\n* Add a JNI glue class to libutils/ObbFile (ObbScanner)\n\n* Add API to MountService to deal with calling into vold and checking\n  permissions\n\nChange-Id: I33ecf9606b8ff535f3a2ada83931da6bbef41cfd\n"
    },
    {
      "commit": "c5ed5910c9ef066cec6a13bbb404ec57b1e92637",
      "tree": "b06dfdac2d807dae78a2634007b6e627eefd0804",
      "parents": [
        "d9452ecd0ce6c8e0518055929ba1fd0712146405"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jul 14 18:48:53 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jul 15 18:32:33 2010 -0700"
      },
      "message": "Add support for new input sources.\n\nAdded several new coordinate values to MotionEvents to capture\ntouch major/minor area, tool major/minor area and orientation.\n\nRenamed NDK input constants per convention.\n\nAdded InputDevice class in Java which will eventually provide\nuseful information about available input devices.\n\nAdded APIs for manufacturing new MotionEvent objects with multiple\npointers and all necessary coordinate data.\n\nFixed a bug in the input dispatcher where it could get stuck with\na pointer down forever.\n\nFixed a bug in the WindowManager where the input window list could\nend up containing stale removed windows.\n\nFixed a bug in the WindowManager where the input channel was being\nremoved only after the final animation transition had taken place\nwhich caused spurious WINDOW DIED log messages to be printed.\n\nChange-Id: Ie55084da319b20aad29b28a0499b8dd98bb5da68\n"
    },
    {
      "commit": "058d0390a44f68b67788021bae9ca1775812997b",
      "tree": "23b97aa83da730d4057a68647f8fd09a37fe636f",
      "parents": [
        "36ff93aa1f489e6af6c2acce38beb0bffd6b8f8a"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 07 14:53:13 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 14 15:12:05 2010 -0700"
      },
      "message": "Remove the YV16 format for simplicity\u0027s sake.\n\nChange-Id: Iee03d100933ba0c67b13d51e0435be3b4cd953cf\n"
    },
    {
      "commit": "d76b67c340d1564abf8d14d976fdaf83bf2b3320",
      "tree": "59c0fff396681a622480a84f4f9c74d188970a11",
      "parents": [
        "fd03582995e0fce963dd0fa0669e3211b74c0dd7"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jul 13 17:48:30 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jul 13 18:36:46 2010 -0700"
      },
      "message": "IME events are now dispatched to native applications.\n\nAnd also:\n\n- APIs to show and hide the IME, and control its interaction with the app.\n- APIs to tell the app when its window resizes and needs to be redrawn.\n- API to tell the app the content rectangle of its window (to layout\n  around the IME or status bar).\n\nThere is still a problem with IME interaction -- we need a way for the\napp to deliver events to the IME before it handles them, so that for\nexample the back key will close the IME instead of finishing the app.\n\nChange-Id: I37b75fc2ec533750ef36ca3aedd2f0cc0b5813cd\n"
    },
    {
      "commit": "fd03582995e0fce963dd0fa0669e3211b74c0dd7",
      "tree": "8f7fe0e2a437620a7cbe4e494f71fe8ccfdbe2eb",
      "parents": [
        "c0a7e690bfd32dd897ceccd04dd0fa6bf6e9cee6"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jun 30 16:10:35 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Jul 13 17:04:57 2010 -0700"
      },
      "message": "Add initial gamepad support.\n\nChange-Id: I0439648f6eb5405f200e4223c915eb3a418b32b9\n"
    },
    {
      "commit": "26c679751d80e7f1f3de35324666c8eda7db5da2",
      "tree": "b4ed9a596ce970c9a99c6735bd61acdd63d5d0f8",
      "parents": [
        "2aaa9e9fc5ddc05cedbe530c7a41eca0e3a62b7a"
      ],
      "author": {
        "name": "David Brown",
        "email": "dab@google.com",
        "time": "Fri Jul 09 15:06:11 2010 -0700"
      },
      "committer": {
        "name": "David Brown",
        "email": "dab@google.com",
        "time": "Fri Jul 09 16:01:25 2010 -0700"
      },
      "message": "Deprecate some status bar icons that now come from the phone app (and\nshouldn\u0027t have been public in the first place.)\n\n(And since the changed deprecation state is a public API change, I needed\nto do \"make update-api\" as well.)\n\nChange-Id: I803d5a81ad2363561137be5af4f2b8258df758cd\n"
    },
    {
      "commit": "841b176dc0a2424d6172484897e288c2488261db",
      "tree": "4691328bec471e37710efed028aa7e42d587d890",
      "parents": [
        "98738272e3b680559e1e0a7b665a0ebb4038f684"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Jul 08 15:39:22 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Jul 08 15:39:22 2010 -0400"
      },
      "message": "Make android:immersive public.\n\nThis exposes the AndroidManifest attribute\nandroid:immersive, introduced in Change I967bb10b, to the\nSDK.\n\nChange-Id: Iccbc99590cd0fd4c570b9b9670ef93036f9d849e\n"
    },
    {
      "commit": "93565c4b3265c16aee4a82d7556f811776c17db8",
      "tree": "1b6802fea6d067d97410d67d6665721ea23fb327",
      "parents": [
        "7cee34a051eb0087322c8b965e498f88b1aa52d3"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Jun 18 15:46:06 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jul 07 09:57:51 2010 -0700"
      },
      "message": "OBB API for PackageManager\n\nSimple API for tracking .obb files associated with packages. Stores the\npath in the PackageSettings. No verification of file content is done\nnow since the PackageManagerService can\u0027t read the SD card where these\nfiles will likely live.\n\nChange-Id: Ibeaf26ba0526b6d60f401137e58f46ee9faff39e\n"
    },
    {
      "commit": "09b9005769f2b717f637131578ce6cfa6bd62bd9",
      "tree": "9f079a79030d894e6c81f919799a379e4fda3a9f",
      "parents": [
        "160edb3645f8b7012bab70ae6e6e8c4a5733082b"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Tue Jun 22 20:50:55 2010 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Thu Jul 01 10:57:15 2010 +0800"
      },
      "message": "Add multiple camera support for in MediaProfiles.\n\nChange-Id: Ie89568a0f5f5fd08ede77e33f9a559215d6bed9a\n"
    },
    {
      "commit": "de1057c4a6aa41c3b88bcc4fd49d70f973f1d9eb",
      "tree": "d790c64dacf493c1557163754573cba9303b6b9d",
      "parents": [
        "9005e7f4297a3f04263e81cb61ba2703d5667b0a"
      ],
      "author": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Mon Jun 14 19:15:00 2010 +0800"
      },
      "committer": {
        "name": "Chih-Chung Chang",
        "email": "chihchung@google.com",
        "time": "Mon Jun 28 11:12:45 2010 +0800"
      },
      "message": "Unhide new API for supporting multiple cameras.\n\nChange-Id: I916a536c80330444a15986ba380205a6deed2390\n"
    },
    {
      "commit": "baf42c625c3ef4cb7b732956a97953efd93b23bc",
      "tree": "42065f9b14d2bc9a5c123625b7248c5ee27387f3",
      "parents": [
        "7fd22aab4506f65b7929ed1030bdd71c56f7db77"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 24 11:23:39 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 24 11:38:47 2010 -0700"
      },
      "message": "Add APIs for finding heavy-weight apps.\n\nChange-Id: I6c865cce404cac1a08eee056f963de5d276d5898\n"
    },
    {
      "commit": "1e4b9f3936d6f357e89360293e05a0e16d5fa440",
      "tree": "4fc65451804b3d2741969ecb7bfd3d415f54ec51",
      "parents": [
        "69a4817e3e1e368e758ff8c238deb5ee26963c04"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 23 14:10:57 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 23 14:37:30 2010 -0700"
      },
      "message": "Remove InputConsumer, replacing with InputQueue.\n\nChange-Id: Ib06907278457aaee842b123adc072840ca3602d8\n"
    },
    {
      "commit": "69a4817e3e1e368e758ff8c238deb5ee26963c04",
      "tree": "3eaed1f053b09daabf84854acb3155216543a102",
      "parents": [
        "efbe2d78ee5e26b6606c8552a5c1ac70749a5013"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Jun 23 16:29:36 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Jun 23 16:29:36 2010 -0400"
      },
      "message": "Immersive activity API.\n\nAn Activity can declare itself to be \"immersive\" either by\nsetting android:immersive\u003d\"true\" in AndroidManifest or by\ncalling setImmersive(true).\n\nImmersive activities \"should\" not be interrupted, for\nexample by Notifications with an associated\nfullScreenIntent. (In the future we may even prevent any\nnon-system application from successfully calling\nstartActivity() if the foreground activity is immersive.)\nNotifications with FLAG_HIGH_PRIORITY set will be shown to\nthe user in some less-obtrusive way if the frontmost\nactivity is immersive.\n\nChange-Id: I8d0c25cc4e22371c27cbf2bb6372d2c95d57b2d7\n"
    },
    {
      "commit": "8900c32986eb9b06f30ecbe6709857fd2cc7b576",
      "tree": "a932086c9d2da198796151306358444d0c34adca",
      "parents": [
        "2c2ce8e53f5eb94916a5d0f40b2877cc7551870d"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jun 23 14:34:03 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jun 23 14:34:03 2010 -0400"
      },
      "message": "andriod.location.Criteria: Simplify new location criteria APIs a bit.\n\nRemove ACCURACY_BEST and only use ACCURACY_MEDIUM for horizontal accuracy.\nRemove accuracy priority support, since it be difficult to implement in some cases.\n\nChange-Id: I785a781f8d8f3bf3be6693ad71d077b6eb280c31\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "a95e4cb62f3642cb190d032dbf7dc40d9ecc6973",
      "tree": "ae4437444a3d3ebeff48dabfd1e9c11fc14620ac",
      "parents": [
        "ef730e6ececa96a3e0576140eea707f7c48cd66c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 18 18:09:33 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 22 11:21:50 2010 -0700"
      },
      "message": "First stab at attaching native event dispatching.\n\nProvides the basic infrastructure for a\nNativeActivity\u0027s native code to get an object representing\nits event stream that can be used to read input events.\n\nStill work to do, probably some API changes, and reasonable\ndefault key handling (so that for example back will still\nwork).\n\nChange-Id: I6db891bc35dc9683181d7708eaed552b955a077e\n"
    },
    {
      "commit": "613dde4aa651e11dac3db859723cc6faf8fc0a82",
      "tree": "8a2d010ff13c104c675ea157c4f677bfa55da231",
      "parents": [
        "aaf39f84063b8fee51bcdb0731d68c328b6a3c3d"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Mon Jun 21 13:46:39 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Jun 22 12:30:12 2010 -0400"
      },
      "message": "Revised \"immersive mode\" API.\n\nNo longer a window bit, FLAG_IMMERSIVE is now set on\nActivityInfo.flags and in the Activity\u0027s manifest as\nandroid:immersive\u003d\"true\" (ActivityInfo).\n\n[An \"immersive\" activity is one that wishes to avoid being\npaused by full-screen notifications (like an incoming call).\nAn activity that sets FLAG_IMMERSIVE/android:immersive is\nsending a signal to the notification manager, status bar,\netc. that they should try to find some other way to get the\nuser\u0027s attention in high-priority situations.]\n\n[Originally: change Ie290c2e.]\n\nChange-Id: I967bb10b930b8f0772b10f81f2957a03fa3f1736\n"
    },
    {
      "commit": "224107a421e2611b15d1ec736df54bca9ee3e78d",
      "tree": "7947fa03cc7f65a001a6b899d20f9a848a80e6a6",
      "parents": [
        "07ccf5ad7edfeeebb79208ad3e8a52917fe038a8"
      ],
      "author": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Tue Jun 22 20:08:40 2010 +0800"
      },
      "committer": {
        "name": "Jack Palevich",
        "email": "jackpal@google.com",
        "time": "Tue Jun 22 20:08:40 2010 +0800"
      },
      "message": "Add OpenGL ES 2.0 VBO versions glDrawElements and glVertexAttribPointer.\n\nChange-Id: Id0069535e97fe96eef74e4d0c1d19b010061fe3b\n"
    },
    {
      "commit": "e899caf8cce1d1a20121f19a99899553ae2b327e",
      "tree": "fb67ed204c6d9567957875aad9c0934f42673f02",
      "parents": [
        "5c225b1680e696ae8bbf505a1997d6f720672f74"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jun 17 13:49:02 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jun 17 13:49:02 2010 -0700"
      },
      "message": "Fixed api/current.xml after a bad merge.\n\nChange-Id: I033f417e928eb541f0528521326b66776a3c9096\n"
    },
    {
      "commit": "5c225b1680e696ae8bbf505a1997d6f720672f74",
      "tree": "932326fd02ee91d8a64adfcc9415027646c56563",
      "parents": [
        "3a0146cd29fae3c5bc29d8d535d67826284f8cc9"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jun 16 01:53:36 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jun 17 13:27:16 2010 -0700"
      },
      "message": "Even more native input dispatch work in progress.\n\nAdded more tests.\nFixed a regression in Vector.\nFixed bugs in pointer tracking.\nFixed a starvation issue in PollLoop when setting or removing callbacks.\nFixed a couple of policy nits.\n\nModified the internal representation of MotionEvent to be more\nefficient and more consistent.\n\nAdded code to skip/cancel virtual key processing when there are multiple\npointers down.  This helps to better disambiguate virtual key presses\nfrom stray touches (such as cheek presses).\n\nChange-Id: I2a7d2cce0195afb9125b23378baa94fd2fc6671c\n"
    },
    {
      "commit": "611fae4c39edbeb23b53f789a0219c539cf32fa6",
      "tree": "7c291d737d47e4a2dfd115738bfb1ef0f978f2f0",
      "parents": [
        "e46cbd379a3c19708c7f7e5d3f35e2c596de0c46"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Jun 17 10:45:00 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Jun 17 11:43:35 2010 -0400"
      },
      "message": "New API for \"immersive\" activity windows.\n\nAn \"immersive\" activity (as indicated by the new\nFLAG_IMMERSIVE) is one that wishes to avoid being paused by\nfull-screen notifications (like an incoming call).\nAn activity that sets FLAG_IMMERSIVE on its window is\nsending a signal to the notification manager, status bar,\netc. that they should try to find some other way to get the\nuser\u0027s attention in high-priority situations.\n\nFLAG_IMMERSIVE should be used exclusively in conjunction\nwith FLAG_FULL_SCREEN (that is, only activities that hide\nthe status bar should consider themselves immersive).\n\nChange-Id: Ie290c2e92fc391bcf55edfdb1fbd626cd284e3e2\n"
    },
    {
      "commit": "e46cbd379a3c19708c7f7e5d3f35e2c596de0c46",
      "tree": "1e24b31ae5e2398c1ffb2debf72cb818affd3265",
      "parents": [
        "6b7b4845212b3a439c527f2e1eca205b6b45fceb"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Jun 17 10:35:26 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Jun 17 11:34:13 2010 -0400"
      },
      "message": "New API for high-priority Notifications and full-screen alerts.\n\n* fullScreenIntent: a PendingIntent pointing to a\n  full-screen activity or other modal alert experience to be\n  shown to the user instead of (or in addition to) a\n  traditional status bar notification icon. Example: An\n  incoming call should pop up a full-screen activity\n  allowing the user to accept or decline the call.\n\n  The old way to accomplish this is to simply fire off the\n  full-screen intent directly from the Phone app. By routing\n  through the Notification system, we make way for the\n  FLAG_IMMERSIVE bit (forthcoming API) which would allow the\n  frontmost opaque window to suppress full-screen alerts.\n\n* FLAG_HIGH_PRIORITY: This bit allows a notification to be\n  shown in windows that have the FLAG_IMMERSIVE bit set. For\n  example, a Notification corresponding to an incoming call\n  would be marked HIGH_PRIORITY so that even in an immersive\n  activity (i.e. a networked game) the Notification could be\n  shown to the user.\n\nChange-Id: I4943e53f425800a6e152bc4992dd41586b43aff8\n"
    },
    {
      "commit": "2b24ecfbb282276410a53bb35a15f91cb6c433d9",
      "tree": "b9eef5ce5a172b00cadc55f0f29b5e11ab51b3fa",
      "parents": [
        "2d468c5d73cc1cefbcfa8d98e30622c54756918c"
      ],
      "author": {
        "name": "Wei Huang",
        "email": "weih@google.com",
        "time": "Tue Jun 15 14:26:21 2010 -0700"
      },
      "committer": {
        "name": "Wei Huang",
        "email": "weih@google.com",
        "time": "Tue Jun 15 15:19:40 2010 -0700"
      },
      "message": "add new video/audio presence icons in the framework resource dirs, and make them public.\n\n- add definitions for\n\npresence_video_away\npresence_video_busy\npresence_video_online\npresence_audio_away\npresence_audio_busy\npresence_audio_online\n\nin the public.xml, and update current.xml\n\n- the actual icons for the audio versions are not yet done, so I used the video versions as placeholders.\n\nChange-Id: I9e2be5dd05619cbdbbb61dc231e9da1984ddbb36\n"
    },
    {
      "commit": "3e03cfa3af8acf3aad0abc464d2bcab1225a971d",
      "tree": "44c017ea0b0a25f375e9c8275b7b0bf584f5da60",
      "parents": [
        "94f14aeca9e6c6d07b39a7f708eacadcfeb6fbd2"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Jun 13 12:07:00 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 14 14:08:20 2010 -0700"
      },
      "message": "Update build version information.\n\nChange-Id: If53f16d494255230859a30f561e9a78ec49c6c10\n"
    },
    {
      "commit": "32907cfb38bda2d3c052cf5139c5b592678fedbb",
      "tree": "78b2cb1f1ec2897628531bad2be0c90ecc53468f",
      "parents": [
        "e577e87a2d80890190f14edc4a5caf70d7c566bf"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 10 17:50:20 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 11 10:39:11 2010 -0700"
      },
      "message": "Adjust activity manager process OOM adj.\n\nModify OOM adj classes a bit, to take into account the new\nheavy weight app type, and give \"foreground services\" their\nown category to have a bettery chance to manager them when\nthings go wrong.\n\nAlso add some new code to battery stats to keep a history\nof changes to the battery level.\n\nChange-Id: I29f5ab6938777e1a7eafd7d8c38b5e564cc9f96a\n"
    },
    {
      "commit": "2fd73a452268d2acb6e72a1d23a422085ed3c510",
      "tree": "6b91573ce88e6d3851e522ac542b650ed2695fa3",
      "parents": [
        "f4f614f5edeeceddf1145df73b30f7066d00d7fa"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Jun 11 11:45:12 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Fri Jun 11 15:29:49 2010 +0800"
      },
      "message": "Unhide camera metering mode API.\n\nChange-Id: Ia3ca83e2a0b5b322e5dbf9ae3d5c1d3b89e0fd31\n"
    },
    {
      "commit": "4d61f602bf67fe61256c23f090d6119992ad5160",
      "tree": "18eaea2ed99dea39f19ea3fe9836be3fc4503ba3",
      "parents": [
        "a6ef19a8f462ee1346a6c5ec21d047fdd5162b7e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jun 10 11:17:50 2010 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jun 10 15:16:57 2010 -0700"
      },
      "message": "Switch stagefright\u0027s approach to prefetching to the new model. The java MediaPlayer is now notified about rebuffering start/end via info messages.\n\nChange-Id: If8185ba329ce8b6663b1ad39a4efb0ad3be81df2\n"
    },
    {
      "commit": "438d0595121a7a2cdf19741e76e3c0e21a5c173d",
      "tree": "d4a76171b2eb52c472c2900eb6947ff073bed81a",
      "parents": [
        "8f1bfb001b522a370a65c8e4545183b7611f672b"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Thu Jun 10 12:19:19 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Thu Jun 10 14:38:58 2010 -0700"
      },
      "message": "Introduce \"StrictMode\"\n\nThis is a new public API for developers to opt-in to strict rules\nabout what they\u0027re allowed to do on certain threads.  (this is the\npublic face of the @hide dalvik.system.BlockGuard, added recently...)\n\nIn practice this will be used for developers to opt-in to declaring\nthat they don\u0027t want to be allowed to do various operations (such as\ndisk I/O or network operations) on their main UI threads.  (these\noperations are often accidental, or even when they are fast come with\na good chance of being slow or very slow in some cases....)\n\nImplementation wise, this is just a thread-local integer that has a\nbitmask of the things that aren\u0027t allowed, and more bits for saying\nwhat the violation penalty is.  The penalties, of which multiple can\nbe chosen, include:\n\n  * logging\n  * dropbox uploading for analysis/reporting\n  * annoying dialog\n  * full-on crashing\n\nThese are all only very roughly implemented at this point, but all\nparts now minimally work end-to-end now, so this is a good checkpoint\ncommit before this gets too large.\n\nFuture CLs will polish all the above 4 penalties, including\nchecksumming of stacktraces and minimizing penalties for duplicate\nviolations.\n\nChange-Id: Icbe61a2e950119519e7364030b10c3c28d243abe\n"
    },
    {
      "commit": "b7bb3b3df6cb3743ee43b71455d9525762e55b45",
      "tree": "948830404473ff0ac41bcf525f52c76f81912429",
      "parents": [
        "7a68d3686aace4781ee6c25d8ab8704bebee34af"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Jun 06 22:47:50 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 07 11:01:29 2010 -0700"
      },
      "message": "Fix bug in reporting a processes\u0027s dependent component.\n\nAlso add new action to show an app\u0027s details.\n\nChange-Id: I6ad3b3ac8462f5acf726ce76130882a262adff92\n"
    },
    {
      "commit": "860755faa6bdd3c2aeae49c05b87b5bc080ae60c",
      "tree": "49cb794a0de5b8f505048533ac5daf02e95c94b1",
      "parents": [
        "f8acea6ccbdd7e7283b1dc439f49c72a937f746d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 03 18:47:52 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 04 10:09:13 2010 -0700"
      },
      "message": "Add support for heavy-weight applications.\n\nOnly one can be running at a time, their process can not be killed,\nand a notification is posted while it is running.\n\nChange-Id: I843015723947e0c934ae63a1aeee139327c0bc01\n"
    },
    {
      "commit": "c109190b6984da6cba4cea44a0304b6da12d77e6",
      "tree": "2ef51852fa763a8df8a9e980e4fef127c190546f",
      "parents": [
        "df0364de6f7be68e003729c262fe2731b82ae10e"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu May 20 17:38:21 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu May 27 15:59:05 2010 +0800"
      },
      "message": "Add support for gps altitude EXIF tags.\n\nAlso improve the precision of getLatLong().\n\nChange-Id: Id2c60f0d1d19e9da173b5ec1228f03c2195e189f\n"
    },
    {
      "commit": "01ac80b715881db22bde8b31633dd8a4dc375389",
      "tree": "2a49fc9e6ff824f729f64bdacb3b48835d99e367",
      "parents": [
        "11c6847d5960edeb0f15d0fd34045c89bd302d41"
      ],
      "author": {
        "name": "Mark Vandevoorde",
        "email": "mtv@google.com",
        "time": "Fri May 21 15:43:26 2010 -0700"
      },
      "committer": {
        "name": "Mark Vandevoorde",
        "email": "mtv@google.com",
        "time": "Fri May 21 15:43:26 2010 -0700"
      },
      "message": "Add Geocorder.isImplemented()\n\nThe Geocorder interface is not part of the Android core.  It\nrequires a backend service which may or may not be available\non a device.  The new isImplemented static method allows\napps to discover whether the Geocorder is in fact available\non the device.\n\nChange-Id: I2b5cf7bcc9cce4766bcbb156e91edf34b01f9296\n"
    },
    {
      "commit": "71677f84e7705aa48b04829538b954a13cd11dec",
      "tree": "3d5239cffd784bdd02cecf2625dddf60735a8661",
      "parents": [
        "03ca216ac19ea4e7afcb183c20c7c780f0d97756"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri May 21 14:03:45 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri May 21 14:03:45 2010 -0400"
      },
      "message": "Unhide new location manager APIs:\n\nCriteria.java\nLocationManager.java\nNew APIs for criteria based location requests and single shot support.\n\nGeocoderParams.java\nGeocodeProvider.java\nLocationProvider.java\nAPIs for network location unbundling.\n\nChange-Id: I3311fa01ce76fe4cba3537617e5b1c8d1f1d42b7\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "bea97a897b9102d5d75bcb7a41e02eaff9a7506d",
      "tree": "80894ff99019e573f50527729f3659b2f73a9243",
      "parents": [
        "b39b0f32d1c24e326886d8d27c8ad7dde38e28d0",
        "2dc7c6c4153380fc64b99d37d763d3f0d1cac04d"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed May 19 09:22:21 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 19 09:22:21 2010 -0700"
      },
      "message": "am 2dc7c6c4: merge from open-source master\n\nMerge commit \u00272dc7c6c4153380fc64b99d37d763d3f0d1cac04d\u0027 into kraken\n\n* commit \u00272dc7c6c4153380fc64b99d37d763d3f0d1cac04d\u0027:\n  Add and document .nomedia constant for MediaStore (Issue 6365)\n"
    },
    {
      "commit": "2dc7c6c4153380fc64b99d37d763d3f0d1cac04d",
      "tree": "806ce47e9628fdff95da21144b6be2ef53f6f8f8",
      "parents": [
        "faf9a78363b0c773b95c9b43263d788aee313054",
        "e02a63f012b69ce60a94de5980a1c615b26ff9c5"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed May 19 09:20:22 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed May 19 09:20:22 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: I94b3aacb3478b1d9e0751c02bb301d5f9a2cf05c\n"
    },
    {
      "commit": "74323fd1ab8eb11beea286d5c213c63e4b803141",
      "tree": "6c3108b7da5b5fb32d2b05ff3126b102a138b6d8",
      "parents": [
        "4ec730cabb68ee8347c6aa5dc929b09651275aca"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 18 17:56:23 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 18 18:16:35 2010 -0700"
      },
      "message": "Update NativeActivity to allow direct surface access.\n\nNo actual native API for using a surface, but it\u0027s a step.\n\nChange-Id: I627f26b705abc7a05edf9117411abfacf0fae64a\n"
    },
    {
      "commit": "dc8a7f69d7df5f1ca29763995a0d55acf7936fc6",
      "tree": "8a136169f8ff4548bfabadf95e3305589ff21677",
      "parents": [
        "400907086ac1a304daa50a72013ac27a9c63b26b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 10 11:29:34 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 18 10:46:33 2010 -0700"
      },
      "message": "Add new API to take over a window\u0027s Surface.\n\nChange-Id: Iad6245faadc95f19ea63c8e229a1c02e9188f69e\n"
    },
    {
      "commit": "8ce072d579e0c0e9329b5a3830155de8da7de4cf",
      "tree": "3ade3dc9714f1deeeb6d0c147b9c6224701c75e1",
      "parents": [
        "1152df7e82f1501e72aee1641d028bd7201f6d0b"
      ],
      "author": {
        "name": "Karl Ostmo",
        "email": "kostmo@gmail.com",
        "time": "Sat Jan 30 15:15:39 2010 -0600"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon May 17 14:57:06 2010 -0700"
      },
      "message": "Add and document .nomedia constant for MediaStore (Issue 6365)\n\nChange-Id: Ic9c4a784187cd1264584992411916a5beeefd864\n"
    },
    {
      "commit": "e339c5edbebedf446581f18ad70214007309bf4b",
      "tree": "7d03e881cb3e1300aef948eafb85396a58d38e1c",
      "parents": [
        "aef87aa90cf3a6cf9098477683b07994697c45fe"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu May 13 19:31:02 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Sat May 15 12:40:54 2010 +0800"
      },
      "message": "Add camera focus distances API.\n\nApplications can use this API to estimate the distance\nbetween the subject and the camera.\n\nbug:1955650\nChange-Id: Ie6c8ea4971759cab6c9bcdda2c5ceb5925791c27\n"
    },
    {
      "commit": "d6e24ca28b0b6384fd9b3117713402a1f43fdef8",
      "tree": "f97eb1d9a5b87097062726c20fe204b862a46b07",
      "parents": [
        "e8621534db97070cc40f729d1eb8074f2e69df9d",
        "4adacd23d4c91569b16fe50419f1a91f68d805bd"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed May 12 14:56:00 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 12 14:56:00 2010 -0700"
      },
      "message": "am 4adacd23: merge from open-source master\n\nMerge commit \u00274adacd23d4c91569b16fe50419f1a91f68d805bd\u0027 into kraken\n\n* commit \u00274adacd23d4c91569b16fe50419f1a91f68d805bd\u0027:\n  Add support for EVDO Rev B\n"
    },
    {
      "commit": "4adacd23d4c91569b16fe50419f1a91f68d805bd",
      "tree": "38628f3446882f39ff46d6d5a2cb655fc3ca71ff",
      "parents": [
        "ccfd99b1e2a64c72ec433ebf5cf98d644ab24614",
        "0a5174a6e947d5cbeb8846a1273a90b6de065cbf"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed May 12 14:53:25 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed May 12 14:53:25 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: If6730b50627b2231bd345e594d8d30a37557849e\n"
    },
    {
      "commit": "afbc5fad91a5da627b908526b9604833d8d37bcb",
      "tree": "75a37c7ecd14922d9dacef6e45843ba98152d5fe",
      "parents": [
        "1d9b25a0cc2403bc1e74c8ac82088bf7e44cf2c3"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed May 12 10:43:22 2010 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed May 12 10:43:22 2010 -0700"
      },
      "message": "Fix build Remove from API 9 definition the two methods that were\n removed from API 8.\n\nChange-Id: I4b443a257b5674a7493ccda0a0427999e369fb4f\n"
    },
    {
      "commit": "08eff49f09c4f4a725979166e61085f8bb30fb1f",
      "tree": "fa959951a1b58662a9b60b5bd6859a577c4b30ee",
      "parents": [
        "550884e2f3b551cd05ff669cab08348e053ee29b",
        "d9712b69ce529fbf50b3b837032c1dc40e623381"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed May 12 07:56:29 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 12 07:56:29 2010 -0700"
      },
      "message": "am d9712b69: am b1235a57: Merge \"Hide two audio focus methods.\" into froyo\n\nMerge commit \u0027d9712b69ce529fbf50b3b837032c1dc40e623381\u0027 into kraken\n\n* commit \u0027d9712b69ce529fbf50b3b837032c1dc40e623381\u0027:\n  Hide two audio focus methods.\n"
    },
    {
      "commit": "d9712b69ce529fbf50b3b837032c1dc40e623381",
      "tree": "09f90db7ddaa8849cadc66d02ef70de1a94cc7a0",
      "parents": [
        "bbafdc6403488b0f7ad564a5a0ff2eed5b87ab7b",
        "b1235a57a09174179553acecef2370354bdcbf41"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed May 12 07:50:19 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 12 07:50:19 2010 -0700"
      },
      "message": "am b1235a57: Merge \"Hide two audio focus methods.\" into froyo\n\nMerge commit \u0027b1235a57a09174179553acecef2370354bdcbf41\u0027 into froyo-plus-aosp\n\n* commit \u0027b1235a57a09174179553acecef2370354bdcbf41\u0027:\n  Hide two audio focus methods.\n"
    },
    {
      "commit": "5f53f0883a507b9d4b9b9891af560a64f746d149",
      "tree": "894e84cbdb584f3d1a0f49e4be59017a488b0832",
      "parents": [
        "e1d7dca608ced72c75bf906c7267a1ef30349826"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue May 11 14:19:40 2010 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Tue May 11 14:28:38 2010 -0700"
      },
      "message": "Hide two audio focus methods.\n\nChange-Id: I53ddf736892cde8edfaffa7d69dd9c234df52efa\n"
    },
    {
      "commit": "0a5174a6e947d5cbeb8846a1273a90b6de065cbf",
      "tree": "e74142272fa079a3f8050a0a7486921f001a1705",
      "parents": [
        "24440cf8a9431291bdcaa77b418e6c4715932507"
      ],
      "author": {
        "name": "Naveen Kalla",
        "email": "nkalla@codeaurora.org",
        "time": "Wed Apr 21 14:48:03 2010 -0700"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Tue May 11 10:12:07 2010 -0700"
      },
      "message": "Add support for EVDO Rev B\n\nChange-Id: I8588e8b342c51f4b79bced8ef8fe60d57f07aefa\n"
    },
    {
      "commit": "ca099614841bc619f217dfa088da630a7eb1ab65",
      "tree": "7c804ef7da518a1193d481e325909e0240bff1c7",
      "parents": [
        "7768892c82f3b037c19c608c6d8309938fd5ca21"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu May 06 16:47:30 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon May 10 15:14:56 2010 +0800"
      },
      "message": "Add continuous focus mode constant.\n\nbug:2612447\nChange-Id: I9bc3f5a47ad50722a265d50b1d28fb82a2253dc9\n"
    },
    {
      "commit": "579e08e657a8dc9274b297b5dda95a4383cc3642",
      "tree": "0b1113f2c57867bd95b7cba17a315363845b389a",
      "parents": [
        "33232d26bb51bf015fdf7dbd7a34c2b67745d72a",
        "f78964490d8098387d51444c87bf520ad3f674e2"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed May 05 16:00:01 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 05 16:00:01 2010 -0700"
      },
      "message": "am f7896449: merge from open-source master\n\nMerge commit \u0027f78964490d8098387d51444c87bf520ad3f674e2\u0027 into kraken\n\n* commit \u0027f78964490d8098387d51444c87bf520ad3f674e2\u0027:\n  Add new keycodes for the convenience of Japanese IMEs\n  Call register_localized_collators() with the current locale.\n  Fixed deserialization problem in DatePicker.\n  Fix for bug 2467152 files with spaces fail to open.\n  Set alpha value for newly created dim surface.\n  telephony: Fix CID when CID is unknown\n"
    },
    {
      "commit": "f78964490d8098387d51444c87bf520ad3f674e2",
      "tree": "7384d69f165ea9a1d1a004a54b05155d29f1249e",
      "parents": [
        "fc12b5be2ee49ba2392274d413bd5d759c03c346",
        "1e936da287e1836502bf91b53468076726b7e1ee"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed May 05 15:57:42 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed May 05 15:57:42 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: Ia9e1f4e049f5870386ea29ddb6e3ef028ea918da\n"
    },
    {
      "commit": "69969e48f2bca9339662dddfacff0bbf6374ed7f",
      "tree": "073be8188794a4542611e624a05fbbefaef98fc3",
      "parents": [
        "f24e66dbb99b52e3ef8e56b66c807ff1d5129fca"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue May 04 11:40:40 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 05 15:17:26 2010 -0700"
      },
      "message": "First pass at NativeActivity.\n\nThis is a rough sketch of the new pure-native API, which you can\nuse through a NativeActivity in your manifest (no Java code in\nthe .apk needed!).\n\nIntentionally no docs yet, the API is still being seriously\nmessed with.  But it works.\n\nChange-Id: I0e916d58a0d159ecaf3689e41834eb8dc681c0c0\n"
    },
    {
      "commit": "b032bc037399110f41cfdb838a792b3c65756323",
      "tree": "c676df6b6fbb6e74c4dadcf0875556dc9ae5f396",
      "parents": [
        "f1fdf3c7e835c37a3137d5eed101f224d56f36ed"
      ],
      "author": {
        "name": "mogimo",
        "email": "mogimogio@gmail.com",
        "time": "Sat Oct 03 03:13:56 2009 +0900"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed May 05 13:37:21 2010 -0700"
      },
      "message": "Add new keycodes for the convenience of Japanese IMEs\n\nChange-Id: Ibd308cef11261147856258595f6ca0137e03e05c\n"
    },
    {
      "commit": "1443fd096b66013e8a39abedbad5be148f4406ff",
      "tree": "14cf4be5570b732c35ad3d19042ec6993f91f033",
      "parents": [
        "fefe7a225e54c8493e5145c24cf579d4544196d3"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 29 19:26:18 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 29 19:26:18 2010 -0700"
      },
      "message": "Fix build.\n\nChange-Id: I200b8fd7de329133c44fdb66e2bd2b09ab12637d\n"
    },
    {
      "commit": "14cee9f688c32d63d8521188e7422811629bb7c2",
      "tree": "16c2f2356519a2552bb3b7e2b1de6735793c4b1a",
      "parents": [
        "3fd6419fe542c4ecb8e838d1754a83ce8591b288"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 23 17:51:26 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 28 16:51:52 2010 -0700"
      },
      "message": "New xlarge screen size.\n\nNot complete, only for experimentation at this point.\n\nThis includes a reworking of how screen size configurations are matched,\nso that if you are on a larger screen we can select configurations for\nsmaller screens if there aren\u0027t any exactly matching the current screen.\n\nThe screen size at which we switch to xlarge has been arbitrarily\nchosen; the compatibility behavior has not yet been defined.\n\nChange-Id: I1a33b3818eeb51a68fb72397568c39ab040a07f5\n"
    },
    {
      "commit": "b6c459276f222e01777380c4c1e3a31680e561ec",
      "tree": "7f10fea9d2083c5132469ae3097c0e4855f89108",
      "parents": [
        "7a61b8400c9e2e3748d2520e9ec4830e8e4691fb",
        "44f2c6baa68e02f7837cd1ca285d5c4f0f871b18"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Apr 27 11:18:24 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 27 11:18:24 2010 -0700"
      },
      "message": "am 44f2c6ba: am 2e4b98dc: Merge \"Whoops a little more on issue #2631417: Expose FLAG_EXTERNAL_STORAGE\" into froyo\n\nMerge commit \u002744f2c6baa68e02f7837cd1ca285d5c4f0f871b18\u0027 into kraken\n\n* commit \u002744f2c6baa68e02f7837cd1ca285d5c4f0f871b18\u0027:\n  Whoops a little more on issue #2631417: Expose FLAG_EXTERNAL_STORAGE\n"
    },
    {
      "commit": "34483a0f6e1db9b0d96abc8b6dd056ec385f82b6",
      "tree": "7e5c09ceaa3cc6960377d9ef01b4a05a1ca651b8",
      "parents": [
        "55fb51aa411b574646cc3068ce36e73789b81616",
        "5a8f877cf87755e34deb84a888c8de3a342e8f13"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Apr 27 11:06:43 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Apr 27 11:06:43 2010 -0700"
      },
      "message": "resolved conflicts for merge of 5a8f877c to kraken\n\nChange-Id: I3e320cfe9fcafe4f49e1863eaeddac96bc3f72c6\n"
    },
    {
      "commit": "44f2c6baa68e02f7837cd1ca285d5c4f0f871b18",
      "tree": "b795657c9f8205d78016321eca15f4ca741ee747",
      "parents": [
        "8f36a744bc8933396f237fbda8f21c31ed41d504",
        "2e4b98dcd88f14fdb35e46236ec916493c570f28"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 26 18:54:06 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 26 18:54:06 2010 -0700"
      },
      "message": "am 2e4b98dc: Merge \"Whoops a little more on issue #2631417: Expose FLAG_EXTERNAL_STORAGE\" into froyo\n\nMerge commit \u00272e4b98dcd88f14fdb35e46236ec916493c570f28\u0027 into froyo-plus-aosp\n\n* commit \u00272e4b98dcd88f14fdb35e46236ec916493c570f28\u0027:\n  Whoops a little more on issue #2631417: Expose FLAG_EXTERNAL_STORAGE\n"
    },
    {
      "commit": "94c567e1e344d49168603f5a0560215a4ce735e6",
      "tree": "9ad826f46a391751f331677944f29b92a91a9a59",
      "parents": [
        "3202d380226043fa665df3c92252f791f8c52d55"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 26 18:13:10 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 26 18:50:11 2010 -0700"
      },
      "message": "Whoops a little more on issue #2631417: Expose FLAG_EXTERNAL_STORAGE\n\nThere was a gap in the bit numbers.\n\nChange-Id: I0feef7dc4abed5db7412659b5ad078caffe4f2d4\n"
    },
    {
      "commit": "5a8f877cf87755e34deb84a888c8de3a342e8f13",
      "tree": "faebb493837a91b50027c9c50e6e62ef3455fcb2",
      "parents": [
        "863031983d3b4a0f31b9535123ec97dee55ac8cb",
        "3202d380226043fa665df3c92252f791f8c52d55"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 26 18:00:08 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 26 18:00:08 2010 -0700"
      },
      "message": "am 3202d380: Fix issue #2631417: Expose FLAG_EXTERNAL_STORAGE\n\nMerge commit \u00273202d380226043fa665df3c92252f791f8c52d55\u0027 into froyo-plus-aosp\n\n* commit \u00273202d380226043fa665df3c92252f791f8c52d55\u0027:\n  Fix issue #2631417: Expose FLAG_EXTERNAL_STORAGE\n"
    },
    {
      "commit": "3202d380226043fa665df3c92252f791f8c52d55",
      "tree": "2f64a5ca53cb4524a9ee4b224428f2a269dd3b6d",
      "parents": [
        "8138cb49e47f9a9905a316a217757710185c66aa"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 26 17:51:34 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 26 17:51:34 2010 -0700"
      },
      "message": "Fix issue #2631417: Expose FLAG_EXTERNAL_STORAGE\n\nAlso update 8.xml to match the current API.\n\nChange-Id: I668fe56f6c156c2e8daa458baa7410fdb8ebef52\n"
    },
    {
      "commit": "81cd2e90ccdda498234384c8207afe2213714e60",
      "tree": "b521124675b8e4de73b45b24e3ecb9543ff946ea",
      "parents": [
        "1bdbb07237de7854797ac1574088eef4623eddbb"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Apr 21 16:35:18 2010 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Apr 23 15:49:07 2010 -0700"
      },
      "message": "Logo attribute for manifest and PackageManager methods to fetch it\n\nChange-Id: I2c5ac44a4e2af982a616b2012901d7395013b19f\n"
    },
    {
      "commit": "0c64ff7568f0e1e37e300005ea0de3f21faa08e0",
      "tree": "78ea580e5e56d5ce8cd0f00a35b4602818c0acd1",
      "parents": [
        "c9553f2ed0ae15bd75e16fff513b922bb1d307a8",
        "d32f942280cc4390ab853321557eef06292b300e"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Tue Apr 20 15:14:41 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 20 15:14:41 2010 -0700"
      },
      "message": "am d32f9422: am 0dde41fb: Merge \"Fix 2610961 Unhide broadcast intents that are sent when sdcard gets mounted/unmounted.\" into froyo\n\nMerge commit \u0027d32f942280cc4390ab853321557eef06292b300e\u0027 into kraken\n\n* commit \u0027d32f942280cc4390ab853321557eef06292b300e\u0027:\n  Fix 2610961\n"
    },
    {
      "commit": "d32f942280cc4390ab853321557eef06292b300e",
      "tree": "9d513084bcfb45f763275ba8e50fe280f622ef6b",
      "parents": [
        "1e1edb2c7376dbd9ca24bbeefbddbe4221f397a0",
        "0dde41fbe0e36bfe059399c839604267ad0318c1"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Tue Apr 20 15:08:50 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 20 15:08:50 2010 -0700"
      },
      "message": "am 0dde41fb: Merge \"Fix 2610961 Unhide broadcast intents that are sent when sdcard gets mounted/unmounted.\" into froyo\n\nMerge commit \u00270dde41fbe0e36bfe059399c839604267ad0318c1\u0027 into froyo-plus-aosp\n\n* commit \u00270dde41fbe0e36bfe059399c839604267ad0318c1\u0027:\n  Fix 2610961\n"
    },
    {
      "commit": "89e0c1a9f5a86d47c20b1bf9b9c78507ffbafd1f",
      "tree": "1c27bd6711a66defa5a9f5c1a0a1487154a54473",
      "parents": [
        "9b8b417cd1ddfb81c1b0314f033a1439fd627aa2"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Tue Apr 20 14:08:08 2010 -0700"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Tue Apr 20 14:08:08 2010 -0700"
      },
      "message": "Fix 2610961\nUnhide broadcast intents that are sent when sdcard gets mounted/unmounted.\n\nChange-Id: Ibb5700178e98f657f1c2b6a2f83e722151c4a44f\n"
    },
    {
      "commit": "cd0d10f939e8c1e3cdb710c12522c66d26b47a31",
      "tree": "f01aa73b3b95da5eaa215acdeda63808f6736d35",
      "parents": [
        "ee193607a8cf6522f4bcaf025c07f6d8ae338888"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 15 13:04:56 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 15 14:38:30 2010 -0700"
      },
      "message": "Introduce new API version to avoid breakage with the Froyo APIs;\nintroduce padding in the resources to avoid cross-branch merge pain.\n\nChange-Id: I9975f4320dfc625e3ed68dfdbbe94cc0c3b019f4\n"
    },
    {
      "commit": "ded77760d1135cdc76f7c1fdf0e156165c1aeaf3",
      "tree": "d078a268da62c4b70e6a5f58c9a0c8feac2484c0",
      "parents": [
        "1424d1d22e199c716c5d248611e58ce7c3f15c7e",
        "90d3f458d99d9c0f35f9ee295997661c2493cb58"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 14 22:27:10 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 14 22:27:10 2010 -0700"
      },
      "message": "am 90d3f458: API 8!\n\nMerge commit \u002790d3f458d99d9c0f35f9ee295997661c2493cb58\u0027 into froyo-plus-aosp\n\n* commit \u002790d3f458d99d9c0f35f9ee295997661c2493cb58\u0027:\n  API 8!\n"
    },
    {
      "commit": "90d3f458d99d9c0f35f9ee295997661c2493cb58",
      "tree": "01b25e69abf4722e7be9d56308fa8aa35fdd0eb7",
      "parents": [
        "8090edae9ed1228e8cbaa14dd94c6ce885a0b729"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 14 22:08:29 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 14 22:08:29 2010 -0700"
      },
      "message": "API 8!\n\nChange-Id: I30a6a99f63a81900751f2afccf03430ddef82833\n"
    },
    {
      "commit": "7fef3c57eb6f5fbef65dd553ea49d93111d595da",
      "tree": "816616052d805d30621b77b67f23c3839fe20d8d",
      "parents": [
        "98c5bd5556f32a237d3483fb7298284869e32a40",
        "b9e3e4ce7e8e57a28ce15680d406c83cba1eb63a"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Apr 12 15:16:07 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 12 15:16:07 2010 -0700"
      },
      "message": "am b9e3e4ce: Merge \"API CHANGE: remove obsolete constants and hide some methods\" into froyo\n\nMerge commit \u0027b9e3e4ce7e8e57a28ce15680d406c83cba1eb63a\u0027 into froyo-plus-aosp\n\n* commit \u0027b9e3e4ce7e8e57a28ce15680d406c83cba1eb63a\u0027:\n  API CHANGE: remove obsolete constants and hide some methods\n"
    },
    {
      "commit": "fc922f115325371aaadd4e423472476303039a72",
      "tree": "93a28ff7a19244125fa51959336f38daa56cee76",
      "parents": [
        "290a48b365479eccd16023b5de0d92063bb68b4d"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Apr 09 13:05:16 2010 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Apr 12 14:15:37 2010 -0700"
      },
      "message": "API CHANGE: remove obsolete constants and hide some methods\n\nThis change removes some unused constants from BackupDataOutput\nand hides a few methods that do not actually need to be exposed.\n\nChange-Id: I47a9a107a5b58f4d53b5a2fcf9b73a765b1c5dd8\n"
    },
    {
      "commit": "08caa704ae6c1dd8434186fa2dc22b1d7f8a5f9c",
      "tree": "4fed99924b11236a3ac616b84bfa12071626a0a6",
      "parents": [
        "67d6590d242397acbb95814139301d2e6efd3631",
        "c58b42327df5fbc826e2fcc2674ab6db0edfcd92"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Sat Apr 10 11:42:15 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Apr 10 11:42:15 2010 -0700"
      },
      "message": "am c58b4232: Add SCENE_MODE_BARCODE and FOCUS_MODE_EDOF.\n\nMerge commit \u0027c58b42327df5fbc826e2fcc2674ab6db0edfcd92\u0027 into froyo-plus-aosp\n\n* commit \u0027c58b42327df5fbc826e2fcc2674ab6db0edfcd92\u0027:\n  Add SCENE_MODE_BARCODE and FOCUS_MODE_EDOF.\n"
    },
    {
      "commit": "06af762033467bb578b9ed2be8af580cc11505a8",
      "tree": "ce245970c881ff1ff78b236c06e5c2b2205d9c7c",
      "parents": [
        "52ebff3c47eb3fcd43d0337a43312240f7d2010e",
        "17de1532a950f7ee961debab93a7977292b7f1f3"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Apr 10 11:42:05 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Apr 10 11:42:05 2010 -0700"
      },
      "message": "am 17de1532: Merge \"Fix issue #2581524: Car home icon should always go to car home\" into froyo\n\nMerge commit \u002717de1532a950f7ee961debab93a7977292b7f1f3\u0027 into froyo-plus-aosp\n\n* commit \u002717de1532a950f7ee961debab93a7977292b7f1f3\u0027:\n  Fix issue #2581524: Car home icon should always go to car home\n"
    },
    {
      "commit": "f9e90378d50210298d1cec2b913653597cd62be4",
      "tree": "1cebdb95cbcc66c53a2cf3985c2c08b4f99e12e2",
      "parents": [
        "58d50183bc7c125db76f5ca8f76816ebb9f19d17",
        "bc284a5f9f1e3f19ddd45cfb233f0d1775b612a7"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Sat Apr 10 11:41:38 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Apr 10 11:41:38 2010 -0700"
      },
      "message": "am bc284a5f: Merge \"Move the public method HttpDateTime.parse() into AndroidHttpClient.\" into froyo\n\nMerge commit \u0027bc284a5f9f1e3f19ddd45cfb233f0d1775b612a7\u0027 into froyo-plus-aosp\n\n* commit \u0027bc284a5f9f1e3f19ddd45cfb233f0d1775b612a7\u0027:\n  Move the public method HttpDateTime.parse() into AndroidHttpClient.\n"
    },
    {
      "commit": "c58b42327df5fbc826e2fcc2674ab6db0edfcd92",
      "tree": "531babba66efab35a2a78be5b0fc5116d0dc3945",
      "parents": [
        "2a547829fe162c52ea1b1168f47d25fb1b40497d"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Mar 29 17:21:28 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Sat Apr 10 09:33:15 2010 +0800"
      },
      "message": "Add SCENE_MODE_BARCODE and FOCUS_MODE_EDOF.\n\nbug:2544367\nChange-Id: If122a7745e080f9e4bffb15dc4930d71f0421867\n"
    },
    {
      "commit": "f5c5d22c471f399f215662a8e471bf02b5b6bcfa",
      "tree": "047720cef3b43e1dfe401cfe5c9df7cc5c1c5f82",
      "parents": [
        "4525c98114c1e570ecef84521f66095e866af77d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 09 13:14:48 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 09 16:49:08 2010 -0700"
      },
      "message": "Fix issue #2581524: Car home icon should always go to car home\n\nRework how switching between modes work so the caller can tell us\nwhether they want to go to home.  (So car home launcher can now\ntell us they always want to go home.)\n\nChange-Id: Id4a8129027d6d162b4bae6f983911f1f4bf2578f\n"
    },
    {
      "commit": "7cfa90fee54f44831ac492891d1c123601c2a262",
      "tree": "64aa2167e720f396f42b2ae008742cad17282713",
      "parents": [
        "34959e3fe87012d554af07fd6ad294b2ce3daea7"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Thu Apr 08 14:20:57 2010 -0700"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Fri Apr 09 13:34:15 2010 -0700"
      },
      "message": "Move the public method HttpDateTime.parse() into AndroidHttpClient.\n\nSee bug http://b/2553589\n\nChange-Id: Ide3399c7c63daf9c0b8c18669076f2f4d6e9a876\n"
    },
    {
      "commit": "a30b596d6ac46d88fd92dd3e1806b5de9b62b10b",
      "tree": "64019b2f5c318c99f8f9b03ff820531403624637",
      "parents": [
        "b52e9f748cefaad01fc66a73ddfa707f2446895c",
        "ec7c78fbf526816cd361fd482bdf3792ecfd9a9f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Apr 08 13:49:55 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 08 13:49:55 2010 -0700"
      },
      "message": "am ec7c78fb: @hide ACCESS_CACHE_FILESYSTEM and MOVE_PACKAGE\n\nMerge commit \u0027ec7c78fbf526816cd361fd482bdf3792ecfd9a9f\u0027 into froyo-plus-aosp\n\n* commit \u0027ec7c78fbf526816cd361fd482bdf3792ecfd9a9f\u0027:\n  @hide ACCESS_CACHE_FILESYSTEM and MOVE_PACKAGE\n"
    },
    {
      "commit": "ec7c78fbf526816cd361fd482bdf3792ecfd9a9f",
      "tree": "46cfce7a83653bb41a666155836e7ed05981f2af",
      "parents": [
        "eb12e45f7a92fd424988451256c82605d086245d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Mar 30 23:37:25 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Apr 08 13:45:06 2010 -0700"
      },
      "message": "@hide ACCESS_CACHE_FILESYSTEM and MOVE_PACKAGE\n\nBug: b/2553489\nChange-Id: I681b3f9a243777b931298cc93c9d34c8d7eae0f2\n"
    },
    {
      "commit": "65369424cbfbf165b4324bdcb6f138435462a196",
      "tree": "8cf8a4dcd3f139386bb20d2a610cfc903a5cb0d9",
      "parents": [
        "6b04d5c735df7fa05c705f979eff8821989ab73d",
        "4fedd80c1d3997d62073518973b1fe09862ebaa5"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Apr 08 11:27:55 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Apr 08 11:27:55 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: I975030d9572463bc69245bcffa25c47d7acb2b51\n"
    },
    {
      "commit": "3f4639a6611222ae1ae5493de49213250d292139",
      "tree": "c76850425988996c91485439c033d968de0a6b85",
      "parents": [
        "c2461be6279137f872becf695befeb7ba8770a64"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Sun Apr 04 15:05:41 2010 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Apr 08 12:31:06 2010 +0800"
      },
      "message": "Update API and javadoc according to API review.\n\nbug:2553570\nChange-Id: I0353938f513c119cec0e31eb980dc4569e17d7eb\n"
    },
    {
      "commit": "b7c8c76180dc1abbf55c734ab121a7a2469060f6",
      "tree": "3cc605d374f8261fe8c821cac72d8e2eb7e6389b",
      "parents": [
        "083c715d06a99951429b38c62484f8c3caf43cd1"
      ],
      "author": {
        "name": "Ray Chen",
        "email": "raychen@google.com",
        "time": "Tue Mar 30 17:21:39 2010 -0700"
      },
      "committer": {
        "name": "Ray Chen",
        "email": "raychen@google.com",
        "time": "Wed Apr 07 10:14:04 2010 -0700"
      },
      "message": "Per requested by API council, rename MediaScannerConneciton.ScanResultListener to .OnScanCompletedListener\nhttp://2553871\n\nChange-Id: I293b8138a2c23ea107b634da014902f838966c0e\n"
    },
    {
      "commit": "b0fe033ff8695418645ede29ce683949f68033c2",
      "tree": "6453d9cd70918e45f4340489e36bce2f14a79300",
      "parents": [
        "44dcf658718fcc0b563dcad50fb59e8fe507cd0a"
      ],
      "author": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Mon Apr 05 14:43:58 2010 -0700"
      },
      "committer": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Mon Apr 05 14:43:58 2010 -0700"
      },
      "message": "Adding a feature definition for touchscreens that was overlooked in the last\nround.\n\nChange-Id: I8f30676a7b468a9868503b05f366709d5534a44e\n"
    },
    {
      "commit": "44dcf658718fcc0b563dcad50fb59e8fe507cd0a",
      "tree": "b9b83c5d87120c5e21c0d670502ac93ceeeda47b",
      "parents": [
        "3eefc126e5a0b4af4738332e8d43fe2e2d00424c"
      ],
      "author": {
        "name": "Ray Chen",
        "email": "raychen@google.com",
        "time": "Mon Apr 05 11:26:40 2010 -0700"
      },
      "committer": {
        "name": "Ray Chen",
        "email": "raychen@google.com",
        "time": "Mon Apr 05 13:06:39 2010 -0700"
      },
      "message": "Make createVideoThumbnail and createImageThumbnail look consistent.\n\nChange-Id: I9a4798fefe3968ac847d46100036a6dde39791c9\n"
    },
    {
      "commit": "4fedd80c1d3997d62073518973b1fe09862ebaa5",
      "tree": "f2fd4ba7050efc348b5bd3789c34af21b0dbaa0d",
      "parents": [
        "ef9d148ad63e79b7ea1ecad49163f33a7d37aea1"
      ],
      "author": {
        "name": "Chih-Wei Huang",
        "email": "cwhuang@linux.org.tw",
        "time": "Wed May 27 15:52:50 2009 +0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Apr 02 14:39:20 2010 -0700"
      },
      "message": "Add keycodes PageUp and PageDown\n\nThis is useful for applications like web browser.\n\nChange-Id: Ie9262d5b75de87ecd0971407a7c3ce9aa6e4998e\n"
    },
    {
      "commit": "6df44727d06548015e741dd8f63716602ed1e5d1",
      "tree": "8f1340536d302a119644a1b2bf436779697854f9",
      "parents": [
        "e13beb09dadfba4806e6784bc7cde1466eb54ca4"
      ],
      "author": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Tue Mar 30 11:15:05 2010 -0700"
      },
      "committer": {
        "name": "Charles Chen",
        "email": "clchen@google.com",
        "time": "Fri Apr 02 13:39:53 2010 -0700"
      },
      "message": "Unhiding TTS API constants and methods needed for TTS plugin support.\nThis is a fix for bug #2548048\n\nChange-Id: Ieb60979098c1d2e82618204882bd523d271a8784\n"
    }
  ],
  "next": "aea4b678b5f59f63ba6810f94dbc40ea4139e708"
}
