)]}'
{
  "log": [
    {
      "commit": "c1a9b03a35b833e639e35fe3298ed8e71b7657e9",
      "tree": "bc6341d206910c197eff87138df701a35fef38e2",
      "parents": [
        "13b21e608e47382cb94a0aeac13b24ac97f355d2"
      ],
      "author": {
        "name": "Bernhard Reutner-Fischer",
        "email": "rep.dot.nop@gmail.com",
        "time": "Thu Apr 28 20:06:44 2011 +0200"
      },
      "committer": {
        "name": "Bernhard Reutner-Fischer",
        "email": "rep.dot.nop@gmail.com",
        "time": "Thu Apr 28 20:06:44 2011 +0200"
      },
      "message": "Remove duplicate \u0027\u003d\u0027 in exception message\n\nRemove duplicate \u0027\u003d\u0027 in IllegalArgumentException of MyAdapter::getItem()\n\nChange-Id: I151a1432a9f54c8d42bae295f3967b0be2223026\n"
    },
    {
      "commit": "1de4a2ca58df9bd21e054742f52e0af7a2ed5864",
      "tree": "c730ec2cdf2fb8a42ff8516b906c3fb3e28d48da",
      "parents": [
        "9711b9b7aa7448b44b85fe8158ded0364cc3540e",
        "626193926df0b3c7236e5c244f30d797d9192e0d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@android.com",
        "time": "Mon Feb 28 18:03:12 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 28 18:03:12 2011 -0800"
      },
      "message": "am 62619392: Merge \"Fix leak when keylock is recreated.\"\n\n* commit \u0027626193926df0b3c7236e5c244f30d797d9192e0d\u0027:\n  Fix leak when keylock is recreated.\n"
    },
    {
      "commit": "1e0c7ae184984051e8f42c71f89435fc1d40be35",
      "tree": "6e7d721a05c818f82337f3a41cea3baf3c67b0a5",
      "parents": [
        "dff6b8e71dda9f5d841fa26408714aec2aef1505"
      ],
      "author": {
        "name": "Kenneth Andersson",
        "email": "kenneth.andersson@sonyericsson.com",
        "time": "Thu Feb 10 13:47:29 2011 +0100"
      },
      "committer": {
        "name": "Kenneth Andersson",
        "email": "kenneth.andersson@sonyericsson.com",
        "time": "Mon Feb 28 14:09:08 2011 +0100"
      },
      "message": "Fix leak when keylock is recreated.\n\nDigitalClock could sometimes leak when the keylock was recreated.\nThis happened because onDetachedFromWindow() was called BEFORE\nonAttachedFromWindow().\nThis is the flow that causes the memory leak:\n1) The LockPatternKeyGuardView is created and added. This will start\na loop dispatching onAttachedToWindow() to all views involved.\n2) PatternUnlockScreen.onAttachedToWindow() is called\n3) If the configuration has changed since creation, recreateMe() in\nLockPatternKeyguardView.java is called.\n4) recreateScreens() is called\n5) PatternUnlockScreen is removed (to be re-added later) in\nLockPatternKeyguardView.recreateUnlockScreen()\n6) Since DigitalClock is a part of PatternUnlockScreen, its\nonDetachedFromWindow() will be called.\n7) The loop started in 1) will continue to dispatch\nonAttachedToWindow() - and will eventually call\nDigitalClock.onAttachedToWindow()\n8) DigitalClock.onAttachedToWindow() registers a receiver that is\nnormally unregistered in onDetachedFromWindow(). But since\nonDetachedFromWindow was already called in 6), it will not be called\nagain.\n9) The receiver has leaked, and it has a reference to DigitalClock,\nso that will leak as well, together with its parents e.g.\nPatternUnlockScreen and LockPatternKeyguardView\n\nThe fix is to wait with the recreation of the screens (in 4) until\nthe loop (in 1) is finished. This is done by posting this as an event\ninstead of calling recreateScreens() immediately.\n\nIt is possible that this a fix for the root cause mentioned in\n\"Fix 3106227: use WeakReferences for receivers in DigitalClock class\"\n8b886fab5496b0b1f5193f21855220176deddc37 by Jim Miller\n\u003cjaggies@google.com\u003e.\n\nChange-Id: I6a5f6f49a565d459bf4e285f34f053cc1022286f\n"
    },
    {
      "commit": "226e57563c3110aa688fc41f10b7a96cd21b6231",
      "tree": "7b9521b2fd762e8aefba79aa0ee08c70bb9f5c80",
      "parents": [
        "d350dc0492fab3614749955f5dcf21ec1c522b24",
        "c0a1387f0fca91a1d66b0ca81d2e74100efa3df6"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Jan 27 18:22:14 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 27 18:22:14 2011 -0800"
      },
      "message": "Merge \"Fix 3391330: Use BATTERY_STATUS_FULL as \"Charged\" state [DO NOT MERGE]\" into gingerbread"
    },
    {
      "commit": "c0a1387f0fca91a1d66b0ca81d2e74100efa3df6",
      "tree": "040e7e322db704234a3a5f114d41ee85b526c2b6",
      "parents": [
        "1c9761e30d6eccfe104928cdc961ed1d3a5e2f6b"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Jan 25 17:46:47 2011 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Jan 27 18:07:44 2011 -0800"
      },
      "message": "Fix 3391330: Use BATTERY_STATUS_FULL as \"Charged\" state [DO NOT MERGE]\n\nSome devices that use LiPo batteries do not charge them to 100%\nas a safety margin and to preserve battery longevity.  This change\nallows KeyguardUpdateMonitor to determine when the battery state should be\nreported as \"Charged\", provided the device sets BATTERY_STATUS_FULL in\nthat case.\n\nChange-Id: Iac6cb78e24f9a696017459cc773c38ef7fe7779f\n"
    },
    {
      "commit": "d8bdc06f8139231f1edc1a8bf22b637ebb790605",
      "tree": "3dc757b3f59469d3730944ea3a897c6e13a583af",
      "parents": [
        "efebdf4bd4da35bc50c7d81450c8473697f6654a"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Jan 23 13:05:44 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jan 24 17:07:36 2011 -0800"
      },
      "message": "Fix SENSOR_LANDSCAPE and SENSOR_PORTRAIT (DO NOT MERGE)\n\nFixed a bug in the handling of SENSOR_LANDSCAPE and SENSOR_PORTAIT\non devices that have a natural landscape orientation.  The old code\nwas disabling 180 degree orientation detection when it shouldn\u0027t have.\n\nBug: 3381359\nChange-Id: I19bd2519e7f69a24835840fbf542aa7349981029\n"
    },
    {
      "commit": "6687ecb447025a1c56253d0fd67ad30af070db17",
      "tree": "23a8746817c369e4e9019d6f44ae378e599a7b33",
      "parents": [
        "b73203ab7e308b747819de2b2400afe971ef3bff",
        "8b886fab5496b0b1f5193f21855220176deddc37"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Sun Jan 16 16:14:52 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jan 16 16:14:52 2011 -0800"
      },
      "message": "Merge \"Fix 3106227: use WeakReferences for receivers in DigitalClock class\" into gingerbread"
    },
    {
      "commit": "8b886fab5496b0b1f5193f21855220176deddc37",
      "tree": "38cad39f24e37fa645e148422d3242afefc3a0e2",
      "parents": [
        "5a40b8ef81034e00f886010c71dccd62b919028b"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Jan 13 17:56:35 2011 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Fri Jan 14 18:01:12 2011 -0800"
      },
      "message": "Fix 3106227: use WeakReferences for receivers in DigitalClock class\n\nThis works around a bug in the framework where LockScreen wouldn\u0027t\nget GC\u0027d under certain circumstances which would lead to an OOM\ncrash.  It now uses WeakReferences for observers inside the\nDigitalClock container class and unregisters them if the containing\nDigitalClock goes away.\n\nAlso removed mLive variable which was unused and could potentially\nleak the receivers.\n\nLeft mAttached for debugging so we can use it to determine if the\ncalls to onAttachToWindow() and onDetachFromWindow() are grossly\nunbalanced which may be the root cause of the original problem.\n\nHave cleanUp() explicitly clear unused references to make\ntracing through hprof references easier.\n\nChange-Id: I99a7e0c356001b05eab5aa729564553666febfea\n"
    },
    {
      "commit": "e79223ed415ca437aa5954f8bfdaf11309f6338a",
      "tree": "d8b83b1842eb2f700cee59e1f129f3a1a0e0773a",
      "parents": [
        "9aac2e2b9541c424ca02483631b08949f0e90c8c"
      ],
      "author": {
        "name": "Anders Hammar1",
        "email": "anders.hammar1@sonyericsson.com",
        "time": "Fri Jan 14 10:00:39 2011 +0100"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jan 14 12:32:16 2011 -0800"
      },
      "message": "Make the Phone options dialog use current language\n\nThe title of the Phone options dialog is displayed using wrong\ntranslation if the user changes the current language setting. Moving\nthe setTitle call to prepareDialog to ensure that the title gets\nupdated before the dialog is shown.\n\nChange-Id: I03ff59c7f4ff711a06b05de7cca94fa928cf67ef\n"
    },
    {
      "commit": "b6e34769aebcd932c31f1ae0f008f5fa0662f638",
      "tree": "8b9b2e750f0da4651d5aa4c9a571b4bcd50456ad",
      "parents": [
        "cb8427538dfdc5eae941e377b11bfd11a95fc5a5"
      ],
      "author": {
        "name": "Anders Hammar1",
        "email": "anders.hammar1@sonyericsson.com",
        "time": "Fri Jan 14 10:00:39 2011 +0100"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonyericsson.com",
        "time": "Fri Jan 14 10:00:39 2011 +0100"
      },
      "message": "Make the Phone options dialog use current language\n\nThe title of the Phone options dialog is displayed using wrong\ntranslation if the user changes the current language setting. Moving\nthe setTitle call to prepareDialog to ensure that the title gets\nupdated before the dialog is shown.\n\nChange-Id: I03ff59c7f4ff711a06b05de7cca94fa928cf67ef\n"
    },
    {
      "commit": "eb9f7a01b0f501a535d872a957c1102ebb13d1c7",
      "tree": "44df101d8d798a84649dd5a4c9d2d32ab6bc7284",
      "parents": [
        "2bf89b2197674ccc414ea60a61199562df9dc52b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Oct 29 21:50:21 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Dec 22 16:00:21 2010 -0800"
      },
      "message": "Fix policy issues when screen is off. (DO NOT MERGE)\n\nRewrote interceptKeyBeforeQueueing to make the handling more systematic.\nBehavior should be identical except:\n- We never pass keys to applications when the screen is off and the keyguard\n  is not showing (the proximity sensor turned off the screen).\n  Previously we passed all non-wake keys through in this case which\n  caused a bug on Crespo where the screen would come back on if a soft key\n  was held at the time of power off because the resulting key up event\n  would sneak in just before the keyguard was shown.  It would then be\n  passed through to the dispatcher which would poke user activity and\n  wake up the screen.\n- We propagate the key flags when broadcasting media keys which\n  ensures that recipients can tell when the key is canceled.\n- We ignore endcall or power if canceled (shouldn\u0027t happen anyways).\n\nChanged the input dispatcher to not poke user activity for canceled\nevents since they are synthetic and should not wake the device.\n\nChanged the lock screen so that it does not poke the wake lock when the\ngrab handle is released.  This fixes a bug where the screen would come\nback on immediately if the power went off while the user was holding\none of the grab handles because the sliding tab would receive an up\nevent after screen turned off and release the grab handles.\n\nBug: 3144874\nChange-Id: Iebb91e10592b4ef2de4b1dd3a2e1e4254aacb697\n"
    },
    {
      "commit": "e4a5951925f16f18dae91ed65567e96528f17fee",
      "tree": "b96636542b481ce23865326f49c5ddff934e71cd",
      "parents": [
        "e3f6336bcffc250da90ec864bccfa73ad1d016b9"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Dec 07 11:08:07 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 13 14:31:40 2010 -0800"
      },
      "message": "Fix issue #3154576: battery stats checkin should include UID -\u003e packages+ map\n\nIncludes some other small fixes to battery collection and a few\nother things.\n\nOutput of package info looks like this:\n\n5,0,i,uid,1000,com.android.settings\n5,0,i,uid,1000,com.android.providers.subscribedfeeds\n5,0,i,uid,1000,com.android.providers.settings\n5,0,i,uid,1000,com.android.server.vpn\n5,0,i,uid,1000,android\n5,0,i,uid,1000,com.android.systemui\n5,0,i,uid,1000,com.google.android.backup\n5,0,i,uid,1001,com.android.phone\n5,0,i,uid,1001,com.android.providers.telephony\n5,0,i,uid,1022,com.android.nfc\n5,0,i,uid,10021,com.google.android.location\n5,0,i,uid,10021,com.google.android.syncadapters.calendar\n5,0,i,uid,10021,com.google.android.gsf\n5,0,i,uid,10021,com.google.android.syncadapters.contacts\n5,0,i,uid,10026,com.android.providers.downloads.ui\n5,0,i,uid,10026,com.android.providers.media\n5,0,i,uid,10026,com.android.providers.drm\n5,0,i,uid,10026,com.android.providers.downloads\n5,0,i,uid,10032,com.android.launcher\n5,0,i,uid,10039,com.google.android.gm\n5,0,i,uid,10041,com.google.android.gallery3d\n5,0,i,uid,10049,com.android.providers.calendar\n\nChange-Id: I9e38f254eef146339113ad270f5c6e8b60fb7a1d\n"
    },
    {
      "commit": "f9ce879e5cdc7e36e5f56cfcd7675036e79b3921",
      "tree": "254972b5cc69c53f37243c205c64843575caa5aa",
      "parents": [
        "e2ef2c10e76a4648a27ce4c392eb7b9b3589b9f7"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sat Nov 13 22:01:50 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sat Nov 13 22:02:13 2010 -0800"
      },
      "message": "Revert \"allow all 4 orientations\"\n\nThis reverts commit 1d8d0159e72556ea20aba325fb27d8470282e1ba.\n\nChange-Id: Iffd8cbad98ff7e498032df1d226f4fbc7cde95b1\n"
    },
    {
      "commit": "1d8d0159e72556ea20aba325fb27d8470282e1ba",
      "tree": "09b06874f954915152267cc8421098e2ff28b5af",
      "parents": [
        "17c87d80c65d047c2db353d9826fef3e0d4d3535"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Nov 04 18:39:10 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Nov 04 19:45:16 2010 -0700"
      },
      "message": "allow all 4 orientations\n\nChange-Id: Ia01b234d7d4e55cd4d8776e2a003ecf0cbd7d06f\n"
    },
    {
      "commit": "431bb2269532f2514861b908d5fafda8fa64da79",
      "tree": "c862fe87c2525c18057728a75f2b3da9cdc30d2b",
      "parents": [
        "1858031946b3627b599475c5894655362e510351"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Mon Oct 18 19:13:23 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Tue Oct 19 15:08:05 2010 -0400"
      },
      "message": "Reduce logging.\n\nRemember, the system and main logs are\n    - Shared resources\n    - Primarily for recording problems\n    - To be used only for large grained events during normal operation\n\nBug: 3104855\nChange-Id: I136fbd101917dcbc8ebc3f96f276426b48bde7b7\n"
    },
    {
      "commit": "2d3f159aa9622e05a18e7f93cecd57ad673955ae",
      "tree": "8df18f80f44133f19ce9e669a36bdd785b31460a",
      "parents": [
        "c9f7890a203a013646650a695157277df81b6a17"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Oct 15 00:54:27 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Oct 15 16:03:35 2010 -0700"
      },
      "message": "Add support for secure system overlays.  (DO NOT MERGE)\n\nThis change adds a new window type for secure system overlays\ncreated by the system itself from non-secure system overlays that\nmight be created by applications that have the system alert permission.\nSecure views ignore the presence of secure system overlays.\n\nBug: 3098519\nChange-Id: I8f8398f4fdeb0469e5d71124c21bedf121bd8c07\n"
    },
    {
      "commit": "3122e4488aa0749cbec9890ace22c366e35350c3",
      "tree": "fed38c07c499413707f543ef9d0bbe45ccdf23c7",
      "parents": [
        "a28d5aff5466a55149b9e6f9cd908fcc225c25ff"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Oct 11 23:32:49 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Oct 12 00:16:14 2010 -0700"
      },
      "message": "Improve the input policy handling a bit.\n\nFixed some issues with Monkeys turning off their own screens.  Ook ook!\nAdded some more comments to explain what\u0027s going on.\n\nChange-Id: Id2bc0466161a642a73ef7ef97725d1c81e984b12\n"
    },
    {
      "commit": "b931a1b4183386ba840edc1bcc507eccf11b5cbe",
      "tree": "f9e1ba1030d392ab288ad13e5eaba32c65a96c76",
      "parents": [
        "b699726018a0049665d8ad6b90dbc5af0e18f135"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Oct 11 14:20:19 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Oct 11 16:26:13 2010 -0700"
      },
      "message": "Fix an event injection bug when the policy is bypassed.\n\nAdded the concept of a \"trusted\" event to distinguish between events from\nattached input devices or trusted injectors vs. other applications.\nThis change enables us to move certain policy decisions out of the\ndispatcher and into the policy itself where they can be handled more\nsystematically.\n\nChange-Id: I4d56fdcdd31aaa675d452088af39a70c4e039970\n"
    },
    {
      "commit": "e5439f228f603f60febe058f633d91d5af2fff76",
      "tree": "54a692e6d57f5b93efb89aab2d102701876689f4",
      "parents": [
        "407f625a9b8e356e765a5ec587c443af1f3aadb5"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Oct 02 16:53:50 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Oct 04 14:01:39 2010 -0700"
      },
      "message": "Fix issue #3041660: Camera image flips upside down when rotating device\n\nApps now must explicitly opt in to having their rotation changed while\nforcing landscape mode.  Also add some new orientation constants for other\nthings apps may want to do.\n\nChange-Id: If64d84b5ef54793ee717ebda9b4c76408efc9bfd\n"
    },
    {
      "commit": "6493e64c2a3d5fa6adf0e6331a061d5bc67649fa",
      "tree": "999884329e9b71cf546147102f626ded35f12949",
      "parents": [
        "2942391801b79816c5eb77d7ac94c4a65f26af48"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Oct 01 13:06:30 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Oct 01 13:06:30 2010 -0700"
      },
      "message": "Fix issue #3037083: Problem report for Pinball\n\nThe app was toggling between hiding and showing the status bar, because\nthe dialog was large enough to fill the screen but didn\u0027t set to hide\nthe status bar.\n\nIt turns out that the code to determine the top fullscreen window is\nintrinsically unstable, since it relies on comparing a window\u0027s frame\nwith the screen, yet the window frame can change as a result of changes\nsuch as hiding the status bar.\n\nInstead, we now simplify all of this to just say that the top fillxfill\nwindow gets to control the status bar.\n\nChange-Id: I22913adf7235fe0d52612f6738c7c94351274e38\n"
    },
    {
      "commit": "a7bfe6ad763208942d74a15933e2de1a3e06eba0",
      "tree": "729df22afe8218f26e8351ca7d1d9be1c90681c2",
      "parents": [
        "cbb7b05e35368b104c27089f5f16640680f567c2"
      ],
      "author": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Thu Sep 23 16:47:49 2010 -0700"
      },
      "committer": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Thu Sep 23 17:46:41 2010 -0700"
      },
      "message": "Support \"seascape\" rotation for \"landscape-only\" apps\n\nChange-Id: Ibbbd850dc2bfb741b39c04c982fbdd98f3fa4a67\n"
    },
    {
      "commit": "93ed4e3052a773289c0570984801ea8f0f0849d2",
      "tree": "3a3aa1f29bb6ad6228cc71ac337ee68ca0fd7225",
      "parents": [
        "37cedce14bc0e68e8bf27c2cecb181728226e6ed"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 23 13:51:48 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 23 13:56:30 2010 -0700"
      },
      "message": "Enforce serial ordering of MotionEvents.\n\nThis change modifies ViewRoot to wait until the MotionEvent has been\ndelivered before telling the input dispatcher that it is finished.\nThe serial ordering guarantee will be required by new features that\nmay need to transfer touch focus from one window to another.\n\nChange-Id: I0a64d1f0c8bc3f08846f213d6e28ce48b1d48e58\n"
    },
    {
      "commit": "8b7a982d290b368407e0c419c10105d5d4306b4b",
      "tree": "6ad648db5631a201cff980df8b4b1a91028d7382",
      "parents": [
        "692065128e66de77470de2c50ead2bef0452952a"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Sep 12 17:53:38 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Sep 12 18:09:11 2010 -0700"
      },
      "message": "Don\u0027t play a sound if a volume key press is canceled.\n\nChange-Id: I8e45af20ec83a81565e10be3648b95686fa897af\n"
    },
    {
      "commit": "5eb49583e2f0b82d7a48182ffed5f409b4f85dc5",
      "tree": "2c91210ef2921794ac55e7488accb1cc2e6138c2",
      "parents": [
        "baf3869b88ab4e31f792dbe08f61725bc3619ea8"
      ],
      "author": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Mon Aug 16 11:41:58 2010 -0700"
      },
      "committer": {
        "name": "Steve Howard",
        "email": "showard@google.com",
        "time": "Wed Aug 18 14:22:19 2010 -0700"
      },
      "message": "Improve orientation sensing when waking up while flat.\n\nThis change makes the window manager pass the currently displayed\norientation to the WindowOrientationListener each time to calls to get\nthe currently sensed orientation.  Now, when the\nWindowOrientationListener doesn\u0027t know for sure what the orientation\nof the device should be (for example, if the sensed orientation is\nflat on a table), then it trusts the already-displayed orientation,\nrather than trusting whatever sensors reading it most recently\nreceived.\n\nThe main use case this addresses is:\n* user uses device in portrait\n* user turns off device, puts it in pocket\n* while in pocket, screen gets turned on, activating orientaiton\n  sensor, which senses landscape orientation\n* screen timed out\n* user takes device out, places it on a table (or looks down at it,\n  holding it flat), and unlocks it\n\nPreviously, when the device was unlocked, the\nWindowOrientationListener would return landscape orientation based on\nits previous sensor readings.  Now, it will override those previous\nreadings because it knows they never actually took effect and the\ndevice is presently flat.\n\nThis change also slightly modifies the way we handle flat orientation,\nnow completely ignoring data when the tilt distrust is nonzero (even\nif the current sensor reading shows non-tilted).\n\nChange-Id: Ia4950a41827f8c53a80487d0c2e83b556df781b9\n"
    },
    {
      "commit": "a41ca77fabe1c7ad12ebb9b69b9e786c07d49fa0",
      "tree": "65d87a9c55c869843540884f0fbced6a69841895",
      "parents": [
        "c3fc2d03d58a258c53c9265a70143d4af076b764"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Aug 11 14:46:32 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Aug 11 14:46:32 2010 -0700"
      },
      "message": "Add support for the PointerLocation overlay.\n\nThis change involves adding a new method to IWindowManager,\nmonitorInput() that returns an InputChannel to receive a copy of all\ninput that is dispatched to applications.  The caller must have\nthe READ_INPUT_STATE permission to make this request (similar to\nother window manager methods such as getKeycodeState).\n\nChange-Id: Icd14d810174a5b2928671ef16de73af88302aea0\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": "00fa7bdd69f0868fd17ea7c881c771d785b2fbbd",
      "tree": "6fff8ad404e57af316c6ce5a20020dc209eb3cc6",
      "parents": [
        "8ecfb60a8e74dfcd51bbf3f236d5f414a4d5ac7d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jul 02 15:37:36 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Jul 03 19:23:01 2010 -0700"
      },
      "message": "More native input dispatch work.\n\nRemoved old input dispatch code.\nRefactored the policy callbacks.\nPushed a tiny bit of the power manager state down to native.\nFixed long press on MENU.\nMade the virtual key detection and cancelation a bit more precise.\n\nChange-Id: I5d8c1062f7ea0ab3b54c6fadb058c4d5f5a9e02e\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": "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": "be81f4f15dad6d690efcab1973d1e174ce3b001b",
      "tree": "ac8168f1fbdf6aa169fde84d9d251f60e7d6544a",
      "parents": [
        "28a6c8e9b366ecfc3518e6b0fb1d1bc46cf823e8"
      ],
      "author": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Mon Jun 14 17:06:34 2010 -0700"
      },
      "committer": {
        "name": "Brett Chabot",
        "email": "brettchabot@android.com",
        "time": "Mon Jun 14 17:23:08 2010 -0700"
      },
      "message": "Move out all framework-tests classes.\n\nPreviously tests/framework-tests contained a quarantined set of test classes\nthat needed access to package-private framework api. Running these tests\nnormally would cause the dalvik verifier to throw errors.\n\nruntest now has support for turning off the dalvik verifier for frameworks\ntests, so move this tests into their recommended location, close to the source\nbeing tested.\n\nAlso move policy source into a \u0027src\u0027 folder to accommodate the tests move.\n\nChange-Id: I62f839da185a55bc553b653bf583fd99da438512\n"
    },
    {
      "commit": "46b9ac0ae2162309774a7478cd9d4e578747bfc2",
      "tree": "46ad021a41e25ca9f1250b709a29b724dc6b504d",
      "parents": [
        "f62c57d684b83df7d2817db976c0afdb500ae92a"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Apr 22 18:58:52 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Jun 13 17:42:16 2010 -0700"
      },
      "message": "Native input dispatch rewrite work in progress.\n\nThe old dispatch mechanism has been left in place and continues to\nbe used by default for now.  To enable native input dispatch,\nedit the ENABLE_NATIVE_DISPATCH constant in WindowManagerPolicy.\n\nIncludes part of the new input event NDK API.  Some details TBD.\n\nTo wire up input dispatch, as the ViewRoot adds a window to the\nwindow session it receives an InputChannel object as an output\nargument.  The InputChannel encapsulates the file descriptors for a\nshared memory region and two pipe end-points.  The ViewRoot then\nprovides the InputChannel to the InputQueue.  Behind the\nscenes, InputQueue simply attaches handlers to the native PollLoop object\nthat underlies the MessageQueue.  This way MessageQueue doesn\u0027t need\nto know anything about input dispatch per-se, it just exposes (in native\ncode) a PollLoop that other components can use to monitor file descriptor\nstate changes.\n\nThere can be zero or more targets for any given input event.  Each\ninput target is specified by its input channel and some parameters\nincluding flags, an X/Y coordinate offset, and the dispatch timeout.\nAn input target can request either synchronous dispatch (for foreground apps)\nor asynchronous dispatch (fire-and-forget for wallpapers and \"outside\"\ntargets).  Currently, finding the appropriate input targets for an event\nrequires a call back into the WindowManagerServer from native code.\nIn the future this will be refactored to avoid most of these callbacks\nexcept as required to handle pending focus transitions.\n\nEnd-to-end event dispatch mostly works!\n\nTo do: event injection, rate limiting, ANRs, testing, optimization, etc.\n\nChange-Id: I8c36b2b9e0a2d27392040ecda0f51b636456de25\n"
    },
    {
      "commit": "8bc6c5141974dbc36a6fe416853f558921be9f24",
      "tree": "c9e511a5d065abb8f6d0c9f4965ef2d63965c7a5",
      "parents": [
        "005847b03b2ebe3eb1a974a8a04ad51bca6636cd"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri Jun 04 16:21:12 2010 -0400"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 09 14:33:23 2010 -0700"
      },
      "message": "Require the STATUS_BAR_SERVICE permission for something to be the status bar.\n\nChange-Id: I57b2d296e0d0cef0d256ae6697fffc47188d14df\n"
    },
    {
      "commit": "4762c2d75a55e0854bbff2f996748116d4ab1a37",
      "tree": "7467da673f3e8e753a79ad044fc24e9ebb237a08",
      "parents": [
        "f3f0e053f0cc66249a11639eb67d0cdc2da26ded"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon May 17 15:42:59 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:42 2010 -0700"
      },
      "message": "Add expand and collapse.\n\nChange-Id: I58ad95c59b2c46d3f25349e137d5624aefc6c6cd\n"
    },
    {
      "commit": "f3f0e053f0cc66249a11639eb67d0cdc2da26ded",
      "tree": "4a2c42a832abe775b672c1b5d25277592a182699",
      "parents": [
        "5368017294ab5d4c37c48d4169da33acbf004e83"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Fri May 14 18:49:29 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:42 2010 -0700"
      },
      "message": "Make disable() work.\n\nChange-Id: I93fea37e777b3e04fe7f9171d5b84821587c24f5\n"
    },
    {
      "commit": "0cbda99f8721ad9b03ada04d2637fb75a2a0feca",
      "tree": "99b716653b139e560223dfc764bfc9a746df7bb5",
      "parents": [
        "503007dd023668b1e45de948d3673e594d7f5a82"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Sun May 02 16:28:15 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:41 2010 -0700"
      },
      "message": "The status bar draws its icons now.\n"
    },
    {
      "commit": "25f95f92005594f2ef094001c54cb4c39eec3ade",
      "tree": "5d203a4356ec39d79fda29d96780b5c3d4d92bae",
      "parents": [
        "2314aab5064ce09f09270e52fa12a38d07464278"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Apr 08 18:37:10 2010 -0500"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Jun 02 14:48:40 2010 -0700"
      },
      "message": "Rename IStatusBar to IStatusBarService.\n\nChange-Id: Icfec2a830f037b21f6afaa796bf49da610567e7b\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": "1d587e3d5d91fab1cf3048bbeeafa86445cbd08c",
      "tree": "85fb56a18bd34550932a7bd260ea38f9d8f8617f",
      "parents": [
        "ebad36db56017000ce8b1eb813537d90248e3ad0"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu May 06 16:31:34 2010 -0700"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu May 06 16:31:34 2010 -0700"
      },
      "message": "Manual integration of I32a7b5 from froyo\n\nFix 2662816: Move UI update from async callback to ui thread.\n\nThis fixes a bug where the view hierarchy in AccountUnlockScreen was being\nmodified by the async callback thread from AccountManager.\n\nChange-Id: I5f1b4e04a7e4af68a5705545765f294cdbd0f17b\n"
    },
    {
      "commit": "867ab64714afd080dcd6113ef57acab66e11863f",
      "tree": "83a9422074d4ca06080d4b5c7b6642c2b38cbe38",
      "parents": [
        "8abcce1f7b29a4f759d85c72f3f9e5183a5fe902"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 29 13:28:56 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 29 16:50:14 2010 -0700"
      },
      "message": "Integrate a bunch of stuff from Froyo:\n\nFix issue #2574016: Preferred activity setting is not persistent 14/48014/1\nauthor\tDianne Hackborn \u003chackbod@google.com\u003e\nWed, 7 Apr 2010 03:24:15 +0000 (20:24 -0700)\ncommitter\tDianne Hackborn \u003chackbod@google.com\u003e\nWed, 7 Apr 2010 03:24:15 +0000 (20:24 -0700)\ncommit\t3cce600614c2a2643ae9a38c6ed87c06c7bab0b6\ntree\t394f330634ab83a97b244fbd214d5edbbd44fa52\ttree | snapshot\nparent\t7d8866f9ef026870d4735d6f2ede49525150e53e\tcommit | diff\nFix issue #2574016: Preferred activity setting is not persistent\n\nThe recent tasks UI was trying to retrieve the current home activity\nin the wrong way, causing it to be a different match of activities and\nthus clearing any preferred activity that was set.\n\nIn the future we should look at what the package manager is doing here\nand make it more robust in how it clears the list...  but for now,\nthis is the safest thing.\n\nChange-Id: Idc917dffa7d05d62671213414387e8bdb2e34bea\n\nFix issue #2555171: Switching to app immediately after unmounting SD card causes... 28/48128/1\nauthor\tDianne Hackborn \u003chackbod@google.com\u003e\nThu, 8 Apr 2010 01:15:32 +0000 (18:15 -0700)\ncommitter\tDianne Hackborn \u003chackbod@google.com\u003e\nThu, 8 Apr 2010 01:15:32 +0000 (18:15 -0700)\ncommit\t31abd7f677190edfa67cb96fb4ddb166e974cb3e\ntree\t7cc1059c3c6689ba3f2af5161585b3e7241e0580\ttree | snapshot\nparent\t3cce600614c2a2643ae9a38c6ed87c06c7bab0b6\tcommit | diff\nFix issue #2555171: Switching to app immediately after unmounting SD card causes reboot.\n\nChange-Id: I509162e136dd721fecfaabc45a046537b2d19077\n\nFix issue #2586349: Accelerometer is enabled when in car mode 61/48361/1\nauthor\tDianne Hackborn \u003chackbod@google.com\u003e\nFri, 9 Apr 2010 23:40:33 +0000 (16:40 -0700)\ncommitter\tDianne Hackborn \u003chackbod@google.com\u003e\nFri, 9 Apr 2010 23:40:33 +0000 (16:40 -0700)\ncommit\tb0d3a2371f92d19d01aa2ca8e4f382738273f2dd\ntree\te134d055ce8efb4ef48a74c45da0325ed55852ea\ttree | snapshot\nparent\teeb2497f92b8d1466918990d536e2d31b5a85c07\tcommit | diff\nFix issue #2586349: Accelerometer is enabled when in car mode\n\nChange-Id: Iab5ca4ea9f69bd54f815fc7463df808d81c61ffd\n\nFix issue #2555171: Switching to app immediately after unmounting... 65/48665/1 dalvik-dev froyo froyo-plus-aosp froyo-release stage-korg-froyo stage-korg-master\nauthor\tDianne Hackborn \u003chackbod@google.com\u003e\nTue, 13 Apr 2010 19:48:30 +0000 (12:48 -0700)\ncommitter\tDianne Hackborn \u003chackbod@google.com\u003e\nTue, 13 Apr 2010 19:52:10 +0000 (12:52 -0700)\ncommit\tcddfd77b45662d7316aaed3d0159d0f42d284cfc\ntree\tc52d612ada1f85d3d38b3e776bc520b7a0b22256\ttree | snapshot\nparent\t5fa04b55a94b5cd98f1e6e1197cc4e6ef26a7061\tcommit | diff\nFix issue #2555171: Switching to app immediately after unmounting...\n\n...SD card causes reboot.\n\nDeal with unavailable apps in recent tasks UI.\n\nChange-Id: Ib85b773c5c6df7afb12db551b6cef63edbc6df64\n"
    },
    {
      "commit": "318249e46783c69d495c3a023b0de97757687050",
      "tree": "0417f183d8512fff6ae1d140e9ba15f180b19b6e",
      "parents": [
        "43725d4d4465e914a8c5209f254e780acc7fabd4",
        "5169fc57e38cda45d6fda4b47b727167dd937cc8"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Apr 15 17:55:18 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 15 17:55:18 2010 -0700"
      },
      "message": "Merge \"Manual merge of Ida6a4cdd3abcbcab7e2fe8450a25c0dc36765f04\" into kraken"
    },
    {
      "commit": "5169fc57e38cda45d6fda4b47b727167dd937cc8",
      "tree": "77231677f6dfad39f57a63d2831ccc4fd9dd4267",
      "parents": [
        "5c14f2d08fb01be02b4952904c0f07464882653d"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Apr 15 17:50:03 2010 -0700"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Apr 15 17:53:23 2010 -0700"
      },
      "message": "Manual merge of Ida6a4cdd3abcbcab7e2fe8450a25c0dc36765f04\n\nFix 2572446: Also watch keyboard changes in PIN/Password unlock.\n\nThe PIN/Password unlock screen was monitoring orientation changes.\nHowever, while docked, this isn\u0027t useful since orientation remains\nfixed. This change makes PasswordUnlockScreen also looks for\nchanges to config.hardKeyboardHidden.\n\nTested:\nWVGA device while docked and opening/closing the keyboard.\n\nChange-Id: Iaadb277028f2dd1f85fd0f627a686a86ac51a2ed\n"
    },
    {
      "commit": "ecaced9a788910b3517bdab08b382c9d45e34dfe",
      "tree": "77c9e1167738308a596efcf87eb12873620b1f4d",
      "parents": [
        "5c14f2d08fb01be02b4952904c0f07464882653d"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Apr 15 17:33:43 2010 -0700"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Apr 15 17:39:17 2010 -0700"
      },
      "message": "Manual merge of Idf6bb25438336616e6453e7afe0e79f227af98d3\n\nFix 2575838: Update emergency button in AccountUnlockScreen DO NOT MERGE\n\nAccountUnlockScreen wasn\u0027t registered to receive updates from\nUpdateMonitor. It now correctly updates the Emergency call button\nto allow the user to return to the call in progress (InCallScreen).\n\nTested on WVGA device with keyboard:\n- hitting Home during call, observing state, and pressing button to return to call.\n- hitting Home while not in call to ensure it still invokes EmergencyDialer.\n- above in various keyboard states.\n\nChange-Id: Ic4480ff69ff4479557ddb7f76c751b005b1c60bf\n"
    },
    {
      "commit": "e82ca2dec0469714650b9e3d23a554d4ba9dab9f",
      "tree": "1edafec6e70a939b0c18e7851dc1802d94b4db59",
      "parents": [
        "8dc634e82f065e5090b99660739ba26217765789"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Apr 13 14:41:27 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Apr 13 14:47:25 2010 -0400"
      },
      "message": "Manually integrating froyo lockscreen fixes:\n\n\tI6872c3ad135bc34348adafa76e08a3878f1b506f\n\t\"Add emergency call button to PUK\u0027d lockscreen.\"\n\tBug: 2568732\n\n\tI5ad8745443fc97225af9efb938e4640cfc29b5d7\n\t\"Restore text field used by sliding tab to give ringer\n\tmode feedback.\"\n\tBug: 2587358\n\nChange-Id: Ide3ad839aaf029930c0bf7ba4b9f6587efbd811d\n"
    },
    {
      "commit": "a5c51373d478ea33ffddab13ca8a722c297802ef",
      "tree": "0686b4e1c43bbbf38a2c21cbf36b6b30e87395a0",
      "parents": [
        "b1b28e26d771f5f0e10a52b8fd77c276c641e086"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Apr 06 20:21:30 2010 -0500"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Apr 06 20:21:30 2010 -0500"
      },
      "message": "Finish moving the policies out of frameworks/policies/base and into frameworks/base.\n\nChange-Id: Id3a0c06202b0f6f2206acf490c8655d340ee0556\n"
    },
    {
      "commit": "6e251d7d669b04a1601134d1d00412891bd9c186",
      "tree": "7b6e8e484f7ee326bde24509bf648537cf658cfe",
      "parents": [
        "e6b6f42eff770cd7aaa0f6ecfc8d9182b308c90e"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Apr 06 15:43:25 2010 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Apr 06 15:43:25 2010 -0700"
      },
      "message": "de-activate makefile\n\nChange-Id: I6def51dea7aab002f7dbbe1e2573f52a2caa94fe\n"
    },
    {
      "commit": "e6b6f42eff770cd7aaa0f6ecfc8d9182b308c90e",
      "tree": "2609dd6fa53b18114f07694ff3ef13686ffd4437",
      "parents": [
        "fc8686b9ec61fe48cc678cc08979d91b5fd4d225",
        "e58d1c4e4a03a41c9b8eee6b79304fbf85998d7d"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Apr 06 08:41:42 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 06 08:41:42 2010 -0700"
      },
      "message": "am 7d8866f9: Redo the look of the recent apps switcher.\n\nMerge commit \u00277d8866f9ef026870d4735d6f2ede49525150e53e\u0027 into kraken\n\n* commit \u00277d8866f9ef026870d4735d6f2ede49525150e53e\u0027:\n  Redo the look of the recent apps switcher.\n"
    },
    {
      "commit": "e58d1c4e4a03a41c9b8eee6b79304fbf85998d7d",
      "tree": "693dca29449d575e35cd6e58e5f57fb56ceb26f5",
      "parents": [
        "466d77617ace8380ab8c52ede20790755d8ff092"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Apr 05 16:15:37 2010 -0500"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Mon Apr 05 16:16:40 2010 -0500"
      },
      "message": "Redo the look of the recent apps switcher.\n\nChange-Id: Icb523e2f5949c2b502aa8003aa14b7ac98a616f2\n"
    },
    {
      "commit": "fc8686b9ec61fe48cc678cc08979d91b5fd4d225",
      "tree": "f11e1a1b9ae0c99cd6297f779a4fd44dde8a397c",
      "parents": [
        "7836b05105ab2c8cd945b63ccebb2373396ad5b2",
        "466d77617ace8380ab8c52ede20790755d8ff092"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Mar 30 18:20:03 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 30 18:20:03 2010 -0700"
      },
      "message": "am 876b0644: Fix 2555028: Restore showing tab unlock before PIN \u0026 password entry.\n\nMerge commit \u0027876b0644770d1790b21e4049bc7f40851045dc86\u0027 into kraken\n\n* commit \u0027876b0644770d1790b21e4049bc7f40851045dc86\u0027:\n  Fix 2555028: Restore showing tab unlock before PIN \u0026 password entry.\n"
    },
    {
      "commit": "466d77617ace8380ab8c52ede20790755d8ff092",
      "tree": "22fbc420b9abe97e8b1ff7727427ab9acf7a5815",
      "parents": [
        "8154cd3bbce98e2b3850d47a7d0826e93860506b"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Mar 29 19:31:26 2010 -0700"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Mar 29 19:31:26 2010 -0700"
      },
      "message": "Fix 2555028: Restore showing tab unlock before PIN \u0026 password entry.\n\nThis fixes a bug introduced in change 46594 that prevents showing\nthe tab unlock screen before PIN \u0026 password entry.\n\nChange-Id: Ibd603921f6a22b603652c4751fa0f2f7d9129bb2\n"
    },
    {
      "commit": "7836b05105ab2c8cd945b63ccebb2373396ad5b2",
      "tree": "e6ad0f7333f1cb5a3293b34edc41a3b293f54787",
      "parents": [
        "eee817e5f43e48b619c5d3698126de387e74abea",
        "8154cd3bbce98e2b3850d47a7d0826e93860506b"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Mar 29 15:05:08 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 29 15:05:08 2010 -0700"
      },
      "message": "am 71836f4c: Remove scroll barrier constant. Bug #2553595\n\nMerge commit \u002771836f4cb6389042d839d2a26582f796c6e97c26\u0027 into kraken\n\n* commit \u002771836f4cb6389042d839d2a26582f796c6e97c26\u0027:\n  Remove scroll barrier constant.\n"
    },
    {
      "commit": "8154cd3bbce98e2b3850d47a7d0826e93860506b",
      "tree": "fba2af493aa1bbd7bcf97d2fdcf5d3cfad28bf0c",
      "parents": [
        "d323995d316b94512119b98cf444c62bdfde9a0e"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Mar 29 14:41:15 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Mar 29 14:41:15 2010 -0700"
      },
      "message": "Remove scroll barrier constant.\nBug #2553595\n\nChange-Id: Ie3bb31930b57ed1a658b79632786dfef9435ccf3\n"
    },
    {
      "commit": "d323995d316b94512119b98cf444c62bdfde9a0e",
      "tree": "8a612cccee9a34c1cc9f80bf56fa5d8eb5bee770",
      "parents": [
        "f7c5d0e46ced3ec3edb6f656acd82900b9ac988c"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Wed Mar 17 21:52:35 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Mar 26 11:52:52 2010 -0400"
      },
      "message": "Redesigned keyguard layout in the no-SIM case. DO NOT MERGE\n\nThe emergency call button has been removed (since the user\ncan disable the keyguard, open the phone app, and enter the\nemergency number there).\n\nThis change also restores a number of the informational \u0026\nhelp messages that were previously removed from the lock\nscreen.\n\nBug: 2421380\nChange-Id: I4dda16be5d54c1e0ab4e26914c63d1f5b922cfe8\n"
    },
    {
      "commit": "f7c5d0e46ced3ec3edb6f656acd82900b9ac988c",
      "tree": "aa2e55965518d3b367e316205c651dd109c24ca0",
      "parents": [
        "cd8aed8c503ee37fa36b7d14744c9d0271faf12d"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Mar 25 18:37:48 2010 -0700"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Mar 25 19:55:23 2010 -0700"
      },
      "message": "Fix 2535700: Add support for enforcing password quality\n\nChange-Id: I945eea1a3869f48d636ed0c1172063f7bc57e889\n"
    },
    {
      "commit": "cd8aed8c503ee37fa36b7d14744c9d0271faf12d",
      "tree": "5b3ab45de2896a564d06d6d0351a93c36df8e366",
      "parents": [
        "00f4d986c6eb4bc16f2d2661ead2cdae33e82ff3"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Thu Mar 25 14:50:20 2010 -0700"
      },
      "committer": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Thu Mar 25 14:50:20 2010 -0700"
      },
      "message": "change the account unlock enabling logic use async calls rather than\nblocking calls\n\nlimit the account unlocks to google accounts\n\nChange-Id: If412a7557716503f7d122ec3ff31375f47b624b9\nhttp://b/issue?id\u003d2544496\n"
    },
    {
      "commit": "00f4d986c6eb4bc16f2d2661ead2cdae33e82ff3",
      "tree": "f7cc0704942b9d1acf0296fa9a2f6c77871a2172",
      "parents": [
        "bfd25cacf81982f7fd9caba9b3d4f558131469fe"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Mar 24 11:17:03 2010 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Mar 24 11:17:03 2010 -0700"
      },
      "message": "Fix bug 2386867 - Phone DecorViews FOCUS_AFTER_DESCENDANTS\n\nChange-Id: Iade2c2d8ea575fc452897dbfd3d8454b5b7972ed\n"
    },
    {
      "commit": "bfd25cacf81982f7fd9caba9b3d4f558131469fe",
      "tree": "b92a390498bd754833138214298ea3d9f0068d9c",
      "parents": [
        "cf59a0b72d3fa6bfe21b3c4cab317ef06496961e"
      ],
      "author": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Mon Mar 22 17:40:35 2010 -0700"
      },
      "committer": {
        "name": "Mike LeBeau",
        "email": "mlebeau@android.com",
        "time": "Mon Mar 22 17:40:35 2010 -0700"
      },
      "message": "Tell SearchManager to stopSearch on long-press of search. Also,\ndo the long-press haptic feedback first, to avoid any slowdown\nin the responsiveness of that.\n\nFixes http://b/2526697\n\nChange-Id: I607063b67bdde92303ee112663b76d6e4e9a369b\n"
    },
    {
      "commit": "cf59a0b72d3fa6bfe21b3c4cab317ef06496961e",
      "tree": "a1f7b1a78f99672c8bcc752fd24f692c58f846d6",
      "parents": [
        "75787398fa5db9add16f3d3bc298198ed2c6671f"
      ],
      "author": {
        "name": "Dirk Balfanz",
        "email": "balfanz@google.com",
        "time": "Wed Mar 17 21:07:56 2010 -0700"
      },
      "committer": {
        "name": "Dirk Balfanz",
        "email": "balfanz@google.com",
        "time": "Fri Mar 19 11:31:33 2010 -0700"
      },
      "message": "Instead of asking whether accounts are SAML accounts to figure out whether they can be used for screen unlocking, we ask directly whether they support confirmCredentials().\n\nChange-Id: Ib83c89133b67661e2eb0827baecc32910b386f63\n"
    },
    {
      "commit": "75787398fa5db9add16f3d3bc298198ed2c6671f",
      "tree": "cfa5cbfd75ca9b485fcae9de373dd7ddaeb8b688",
      "parents": [
        "e78fab5a2e386a80f981b185f335415a9bd4e7dd"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 18 01:04:37 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 18 01:12:42 2010 -0700"
      },
      "message": "Policy part of fixing issue #2519590: Lock screen stuck in landscape mode\n\nChange-Id: Id7f3a7102a86f4fecb7f7ef40b1275b75e27dac4\n"
    },
    {
      "commit": "e78fab5a2e386a80f981b185f335415a9bd4e7dd",
      "tree": "b012c1d039094dc538c24d996849301036e4cab9",
      "parents": [
        "0060a9b544e0a64ba2a7cd6f0025b6600e08f372",
        "f1818ffd82ad288f52e81dae8eccc44db10c6564"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Mar 18 00:50:07 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 18 00:50:07 2010 -0700"
      },
      "message": "Merge \"Fix 2520598: Disable password entry in keyguard while in lockout\""
    },
    {
      "commit": "f1818ffd82ad288f52e81dae8eccc44db10c6564",
      "tree": "64fa992611039cf2173acef7481705d4e19738c3",
      "parents": [
        "1e5b478fe6359c9f33bfab1287fe67f2561f0ef0"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Wed Mar 17 19:14:18 2010 -0700"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Wed Mar 17 19:17:55 2010 -0700"
      },
      "message": "Fix 2520598: Disable password entry in keyguard while in lockout\n\nThe password unlock wasn\u0027t abiding by the 30s lockout rule.\nThis change adds the necessary logic and countdown timer to\ndisable text entry while in lockout mode. After 30s, text entry\nis re-enabled until the next lockout count is reached.\n\nChange-Id: I4d860565cad91cb88c36615b40d1837a5d97fe21\n"
    },
    {
      "commit": "0060a9b544e0a64ba2a7cd6f0025b6600e08f372",
      "tree": "bdfc5a01c92edcaf12c3b48aa0ab3e81f9608810",
      "parents": [
        "687a3274f054ec2c48e70c56d8fcb508f2f82363"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Mon Mar 15 23:09:57 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Mon Mar 15 23:10:58 2010 -0400"
      },
      "message": "Suppress lock sound effect on screen timeout.\n\nBug: 2512130\n(without regressing http://b/2453032)\n\nChange-Id: I79c90e6f59b95c3096808ad5ee9845369a2e50ce\n"
    },
    {
      "commit": "687a3274f054ec2c48e70c56d8fcb508f2f82363",
      "tree": "1b19e3ddd4008789a1225f63ae8f25864e816ede",
      "parents": [
        "1e5b478fe6359c9f33bfab1287fe67f2561f0ef0"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Sat Mar 13 15:44:47 2010 -0500"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Mon Mar 15 21:33:56 2010 -0400"
      },
      "message": "Remove the secure lock icon from the status bar.\n\nAdded in I0e08a952904cc4728621953a42806edf26eb8e46, but\ntakes up too much room.\n\nAn undocumented system setting, \"show_status_bar_lock\", can\nbe set to 1 (e.g. in Spare Parts) to bring this back.\n\nBug: 2511090\nChange-Id: I8869ac18c303a786eeb7f1a0c4ae08529b45d59c\n"
    },
    {
      "commit": "1e5b478fe6359c9f33bfab1287fe67f2561f0ef0",
      "tree": "5092ad339c14e95d1a41a3739f579cddcf87037f",
      "parents": [
        "baf8d0929210763ad570a46157c8055a16fb89c3",
        "5475906f53e2d79807548932dfabbf9945143740"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Mar 15 15:33:44 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 15 15:33:44 2010 -0700"
      },
      "message": "Merge \"Fix 2428368: Fix most of the lockscreen orientation refresh bugs\""
    },
    {
      "commit": "5475906f53e2d79807548932dfabbf9945143740",
      "tree": "9d5a74d651797520c30659e44d3eb11e57577a35",
      "parents": [
        "5f3063e37072274b8019c38d4f581c18dcae6a87"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Mar 11 15:46:29 2010 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Fri Mar 12 17:35:59 2010 -0800"
      },
      "message": "Fix 2428368: Fix most of the lockscreen orientation refresh bugs\n\nThis change removes the legacy notification of orientation and configuration changed events\nfrom KeyguardUpdateMonitor and moves them into the individual activities.  This was necessary\nto guarantee order of events.\n\nIn addition, to minimize discrepencies due to notification lag, Keyguard screens (LockScreen,\nPatternUnlock, etc.) are now responsible for handling onConfigurationChanged() notification and\nforwarding them to LockPatternKeyguardView by a call to recreateMe() with the new configuration.\n\nThis also removes the hack that used to prevent drawing while the configuration was in flux.\n\nChange-Id: I6b72e8c06cebb2c5c83e2debeb478e89b6f6f386\n"
    },
    {
      "commit": "baf8d0929210763ad570a46157c8055a16fb89c3",
      "tree": "0771fe9e0472bacd3cc2cb2c970d8f6f83cc17f2",
      "parents": [
        "5f3063e37072274b8019c38d4f581c18dcae6a87"
      ],
      "author": {
        "name": "David Brown",
        "email": "dab@google.com",
        "time": "Mon Mar 08 21:52:59 2010 -0800"
      },
      "committer": {
        "name": "David Brown",
        "email": "dab@google.com",
        "time": "Thu Mar 11 15:27:09 2010 -0800"
      },
      "message": "Accessibility: optionally allow Power key to end the current call.\n\nThis is part 2 of the fix for bug 2364220 \"Accessibility improvements for\nending calls\".\n\nThis change updates the POWER key logic in interceptKeyTq() to check the\nvalue of Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR, which allows the\nuser to specify that the Power button should hang up while in-call,\ninstead of just turning off the screen.\n\nBug: 2364220\n\nChange-Id: If6d8e3155f7d60142ab6fd61f0a9db7f0b0d95ab\n"
    },
    {
      "commit": "5f3063e37072274b8019c38d4f581c18dcae6a87",
      "tree": "4b84dd30b95203845d9c5c06754dbfd5faba5d48",
      "parents": [
        "c8830d5c55a92a7e2490f1d11d44c475641deda3"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 10 16:01:58 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 10 16:01:58 2010 -0800"
      },
      "message": "Update for new layout flow.\n\nNow does lock screen and status bar management in the animation pass, to better\nmatch actual changes on screen.\n\nChange-Id: I9a68fcfa1968dfa71961bc164a6fda15b2cd7d47\n"
    },
    {
      "commit": "b101d99ee5af50f0e57c39aec3f2376859795e32",
      "tree": "f164fb53523473bbdab436558b20d86e9069ea9b",
      "parents": [
        "78968395ddf75a4033ec5b97b0ab90660d7e32cc"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Mar 05 15:46:24 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Mar 05 15:46:24 2010 -0500"
      },
      "message": "Move dock wakelock code to UiModeManagerService.\n\nChange-Id: Ide758a9e68002b13ba2d61bd9e9701d449edb65b\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "78968395ddf75a4033ec5b97b0ab90660d7e32cc",
      "tree": "d786eb1a6df4ae947320ac971cadb9418aa5bcfc",
      "parents": [
        "055ea248a40897dcf9bc09241135f4003e69a562"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 04 20:47:56 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 05 10:58:34 2010 -0800"
      },
      "message": "Update to use new dock broadcasts.\n"
    },
    {
      "commit": "055ea248a40897dcf9bc09241135f4003e69a562",
      "tree": "fbbdff34d9324f2476b3c77a81114467fb25333b",
      "parents": [
        "0340b4299282bcbddd29b26751186431cc4af17b"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Fri Mar 05 09:34:52 2010 -0500"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Fri Mar 05 09:34:52 2010 -0500"
      },
      "message": "Use new vibrate icon in power menu.\n\nChange-Id: I54725ae73bac731a2078a9c61d75d77c0cbb3680\n"
    },
    {
      "commit": "0340b4299282bcbddd29b26751186431cc4af17b",
      "tree": "777c8e4a2fe2407977191962cc8b74d5295bb203",
      "parents": [
        "c20115c500ca2ca95b52b3163774e79fc8cc2040"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Mar 04 13:24:17 2010 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Mar 04 13:26:17 2010 -0800"
      },
      "message": "Fix 2420689: Fix bug that prevents pattern unlock from showing lockout dialog.\n\nThis fixes the problem where the lockout dialog wasn\u0027t showing.  It also fixes a problem\nwhere the \"forgot pattern\" button would stop working.\n"
    },
    {
      "commit": "c20115c500ca2ca95b52b3163774e79fc8cc2040",
      "tree": "72182b216f3be5e2323c9befac93a07982c99c96",
      "parents": [
        "8b9dda28c9850b4a68b6958b8d4f751dd64157ad"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 02 23:32:01 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 02 23:32:01 2010 -0800"
      },
      "message": "Fix issue #2445481: onNewIntent is called twice if SEARCH button is \"long-pressed\"\n"
    },
    {
      "commit": "8b9dda28c9850b4a68b6958b8d4f751dd64157ad",
      "tree": "58e0c9b333772497890f420b79f3df3fd925af13",
      "parents": [
        "98f182f78e7dc76039cff4cfe26237e0d9350563"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Mar 02 17:24:48 2010 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Mar 02 17:24:48 2010 -0800"
      },
      "message": "Fix 2481917: allows keyboards with overlapping qwerty/numeric keys to work w/o requiring hitting the \u003calt\u003e key.\n\nSome devices have a qwerty layout without separate numeric keys. This makes PIN entry painful.\nThe workaround is to set an explicit numeric key listener when in numeric mode.\n"
    },
    {
      "commit": "98f182f78e7dc76039cff4cfe26237e0d9350563",
      "tree": "41066b357edfcae5ffeed986b351406147bc1acb",
      "parents": [
        "6019c9d9ca785f83fa9c163e177639381a8beeda",
        "cdb70af791446f050c3275bd048fe4c630d7e9ea"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Mar 02 13:00:17 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 02 13:00:17 2010 -0800"
      },
      "message": "Merge \"Fix 2447470: always update the battery status when it\u0027s below the threshold.\""
    },
    {
      "commit": "6019c9d9ca785f83fa9c163e177639381a8beeda",
      "tree": "8cc854a69b28f0c41be598bc1a01cb66020a4365",
      "parents": [
        "82d6c68b396323789e52c407b18ee4a7eab11a24"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 01 21:43:11 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 01 21:43:11 2010 -0800"
      },
      "message": "Pointer location in framework, no longer need to link common.\n"
    },
    {
      "commit": "82d6c68b396323789e52c407b18ee4a7eab11a24",
      "tree": "1b72a553a2f3efd66e3d352c5a519015249aeeb8",
      "parents": [
        "0d9f798e9f76b13b07ac3dee3ff90b5530f53145"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Fri Feb 26 15:16:54 2010 -0500"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Mon Mar 01 20:16:11 2010 -0500"
      },
      "message": "Support refined vibrate/silent behavior.\n\nSee change I14cf91b0 for explanation and required framework\nsupport.\n\nBug: 2457183\nChange-Id: I09ad7d697ff17c24fc41744ed70add214d132bd3\n"
    },
    {
      "commit": "cdb70af791446f050c3275bd048fe4c630d7e9ea",
      "tree": "37d49ed5749a96f6f2b6497fb0d8f39ddc545c8b",
      "parents": [
        "0d9f798e9f76b13b07ac3dee3ff90b5530f53145"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Mar 01 16:51:43 2010 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Mar 01 16:51:43 2010 -0800"
      },
      "message": "Fix 2447470: always update the battery status when it\u0027s below the threshold.\n\nPreviously, the battery percentage was only shown when the battery level\ntransitioned below the LOW_BATTERY_THRESHOLD (20%).  This change makes it so it gets updated\nwhenever we get a battery status update where the level is below LOW_BATTERY_THRESHOLD.\n\nNote: this only applies to the pattern unlock screen.\n"
    },
    {
      "commit": "0d9f798e9f76b13b07ac3dee3ff90b5530f53145",
      "tree": "99ee7ba871dffb432c92c37320cbfeaca6c3ae6b",
      "parents": [
        "e180426c9d35377baac3aaa26bf40f1d72daf4fd"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Feb 25 19:56:06 2010 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Feb 25 21:33:48 2010 -0800"
      },
      "message": "Fix 2468960: Make sure unlock screen gets updated when SIM state changes.\n\nAdded code to let us lazily re-create the unlock screen when the SIM\nstatus changes.  This fixes a bug where we sometimes show the Pattern/Password unlock\ninstead of the SIM PIN unlock due to an ordering issue with recent changes\nto the telephony layer SIM update logic. It now correctly re-evaluates the SIM state\nand updates the UI accordingly.\n"
    },
    {
      "commit": "c23024d32779b170dde32a50fbdd945ce521b874",
      "tree": "1c2b4ac617e741376288bc5f37db3b296de330de",
      "parents": [
        "746c4c44645e022ee9b49acbb4a1bde3c95a7a45"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Wed Feb 24 15:37:00 2010 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Feb 25 20:14:06 2010 -0800"
      },
      "message": "Fix 2336057: Provide a way for the user to return to a call from LockScreen.\n\nThis makes the \"Emergency call\" button dual-purpose. If there\u0027s a call in progress,\nthe button will show \"Return to call\" and take them back to the call.\n"
    },
    {
      "commit": "746c4c44645e022ee9b49acbb4a1bde3c95a7a45",
      "tree": "29adb0a133915cd1018f3d1ce63093ffef4ab2a6",
      "parents": [
        "aec967acabfdc8eb6311ee787c6ed5a3b7fa4203"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Feb 24 20:03:34 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Feb 24 20:03:34 2010 -0800"
      },
      "message": "Update to reflect android-common no longer in framework.\n"
    },
    {
      "commit": "aec967acabfdc8eb6311ee787c6ed5a3b7fa4203",
      "tree": "f20710ff71e4aba62ec49aacc83e1281c87e6086",
      "parents": [
        "f2d8e74c0230f53acdc6f94652961e4adb0e134a"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Sat Feb 20 01:05:22 2010 -0500"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Mon Feb 22 15:11:05 2010 -0500"
      },
      "message": "Move lockscreen sound effects to the system stream.\n\nBug: 2458106, 2451532\nChange-Id: I01869e3fd461dc24aa3157bf38aba9d2967526ec\n"
    },
    {
      "commit": "f2d8e74c0230f53acdc6f94652961e4adb0e134a",
      "tree": "399c104fff2f11d66127f9b19f16f4d4d4d19059",
      "parents": [
        "43cfa0e2d3b070c782247fa20e9e15090b441033"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Mon Feb 22 13:09:48 2010 -0500"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Mon Feb 22 13:27:55 2010 -0500"
      },
      "message": "Suppress unlock noises while in-call.\n\nBug: 2458106\n"
    },
    {
      "commit": "43cfa0e2d3b070c782247fa20e9e15090b441033",
      "tree": "dea775eace9c598096bcceec22fc600f9ddefc6a",
      "parents": [
        "f129859ee83fb1cce8a0549e216d57b5ddd602be",
        "966b126ea7f24ae16c6a2aa683072bfd2cae8158"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Fri Feb 19 18:18:14 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 19 18:18:14 2010 -0800"
      },
      "message": "Merge \"Fix 2448345: Fix tactile feedback bug in password/PIN and pattern unlock.\""
    },
    {
      "commit": "966b126ea7f24ae16c6a2aa683072bfd2cae8158",
      "tree": "b22b02319b258bbef7c4a5e26d9dea642ade41d0",
      "parents": [
        "015398f3fd3d17ddb828937d88bd5b27d722ebf0"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Feb 18 19:55:29 2010 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Feb 18 19:55:29 2010 -0800"
      },
      "message": "Fix 2448345: Fix tactile feedback bug in password/PIN and pattern unlock.\n"
    },
    {
      "commit": "f129859ee83fb1cce8a0549e216d57b5ddd602be",
      "tree": "100a1357b9abfee789092896ab835526fe9921d7",
      "parents": [
        "015398f3fd3d17ddb828937d88bd5b27d722ebf0"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Thu Feb 18 11:42:36 2010 -0500"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Thu Feb 18 11:42:36 2010 -0500"
      },
      "message": "Suppress screen lock sound effect on first boot.\n\nBug: 2453032\n"
    },
    {
      "commit": "015398f3fd3d17ddb828937d88bd5b27d722ebf0",
      "tree": "3329a706e41afcb842826800d0b9206f450f54c6",
      "parents": [
        "676074890e3cf1a9190bfa6fc9d5d96725f5e54e",
        "42b432d84cd3bf860a03a10e9191738e05f2eadd"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Feb 16 23:30:40 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 16 23:30:40 2010 -0800"
      },
      "message": "Merge \"Partial Fix for 2416967: Fix potential memory leak in PasswordUnlockScreen.\""
    },
    {
      "commit": "42b432d84cd3bf860a03a10e9191738e05f2eadd",
      "tree": "ff1dea8381afd9133127a5dc5eefe10a156fd01d",
      "parents": [
        "d13e213396051cab824f405c80d4988fa049952e"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Fri Feb 12 18:56:03 2010 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Feb 16 20:18:54 2010 -0800"
      },
      "message": "Partial Fix for 2416967: Fix potential memory leak in PasswordUnlockScreen.\n\nPasswordUnlockScreen was previously registering for multiple callbacks which *sometimes*\ncaused a memory leak because a reference stuck around in the callback list.  I wasn\u0027t able to\ntrack down the cause, but it looks like an interaction between switching between various lockscreen\nmodes and ordering of CONFIGURATION_CHANGED events.\n\nI found one instance where the callback was being registered twice (fixed).  However, I\u0027m\nstill able to reproduce the bug but far less frequently.\n\nAs a workaround, I\u0027ve added code to prevent adding additional callbacks and added logging to\ndetect when a callback is already registered.\n\nAlso fixed an instance where we\u0027d recreate the password unlock screen in LockPatternKeyguardView.updateScreen()\nso it should be quite a bit faster switching orientations now.\n\nRenamed UnlockScreen.java to PatternUnlockScreen.java for consistency.\n"
    },
    {
      "commit": "676074890e3cf1a9190bfa6fc9d5d96725f5e54e",
      "tree": "a020256c015aecea0e1e8609c1b4dfcc7c117b15",
      "parents": [
        "d13e213396051cab824f405c80d4988fa049952e",
        "db783bdff33bbfcf825ec27d1b1af1fe7b3045e3"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Feb 12 20:33:46 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 12 20:33:46 2010 -0800"
      },
      "message": "Merge \"Support for lockscreen/keyguard sound effects.\""
    },
    {
      "commit": "d13e213396051cab824f405c80d4988fa049952e",
      "tree": "869bed836d2214834419b292fc6a78a023a78db4",
      "parents": [
        "c33cb7117e64b93609ceb60d911bad6add09aa09",
        "72c94b9f386909ebc9b3a7b3af8c64331ce7e10a"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Fri Feb 12 16:02:27 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Feb 12 16:02:27 2010 -0800"
      },
      "message": "am 79484171: am f010b5d2: Change EndCallBehavior while in UTS test mode.\n\nMerge commit \u0027794841710d11f59fd1736d1c889cc9b91f38f78e\u0027\n\n* commit \u0027794841710d11f59fd1736d1c889cc9b91f38f78e\u0027:\n  Change EndCallBehavior while in UTS test mode.\n"
    },
    {
      "commit": "72c94b9f386909ebc9b3a7b3af8c64331ce7e10a",
      "tree": "e5ef74bb36aba99920c62eace2a5c588dd747d72",
      "parents": [
        "9bc50b04a1ed1040c9085903db630fcf9594384b",
        "d2e6a33cb1b6213bde5a1d62c7c415e954317ef9"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Fri Feb 12 15:57:25 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Feb 12 15:57:25 2010 -0800"
      },
      "message": "am f010b5d2: Change EndCallBehavior while in UTS test mode.\n\nMerge commit \u0027f010b5d26f1e1c93b93576995e76ffd63db2f96e\u0027 into eclair-plus-aosp\n\n* commit \u0027f010b5d26f1e1c93b93576995e76ffd63db2f96e\u0027:\n  Change EndCallBehavior while in UTS test mode.\n"
    },
    {
      "commit": "c33cb7117e64b93609ceb60d911bad6add09aa09",
      "tree": "caae6989a28666a2e1cbdeadf060e8d034c377f6",
      "parents": [
        "c777e071d1f2a1e4118f47e7f34af16fda03a504"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Feb 10 15:21:49 2010 -0800"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Feb 12 15:19:54 2010 -0800"
      },
      "message": "Add a new KEYBOARD_TAP haptic feedback type for very short, low-latency vibration.\n\nThe minimum value varies from device to device, so this is useful for defining\nthe shortest and most efficient vibration. The VibratorService creates a Thread\nwhen playing back vibration patterns, so this allows you to avoid thread creation\nand associated scheduling delays by specifying a one-shot duration in the config\nfile.\n"
    },
    {
      "commit": "db783bdff33bbfcf825ec27d1b1af1fe7b3045e3",
      "tree": "9b303fc0188b4cdbe9fe23fc3d1be4951ee1edc4",
      "parents": [
        "148e73eaed1fc0c12cdf84f0eb20a24624397a11"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Thu Feb 11 15:27:37 2010 -0500"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Fri Feb 12 16:36:00 2010 -0500"
      },
      "message": "Support for lockscreen/keyguard sound effects.\n\nSee sibling change to frameworks/base (including basic\nlockscreen sounds).\n\nChange-Id: I62bb16b90c47353a3ca4a531e7f7d5b446486dde\n"
    },
    {
      "commit": "c777e071d1f2a1e4118f47e7f34af16fda03a504",
      "tree": "9ef88419867a30b642d6cbc24c6f4413cb29c401",
      "parents": [
        "18e5779ed63f9879ad0bcb079354fa062409d50e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Feb 12 13:07:59 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Feb 12 13:10:56 2010 -0800"
      },
      "message": "Add pointer location to window manager.\n"
    },
    {
      "commit": "d2e6a33cb1b6213bde5a1d62c7c415e954317ef9",
      "tree": "34ac6175d72f0082cf6a31bb6238f804566a8b61",
      "parents": [
        "fe8fdab585e44396cf3f95c2aa78b649f3686312"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Fri Feb 12 12:12:06 2010 -0800"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Fri Feb 12 12:12:06 2010 -0800"
      },
      "message": "Change EndCallBehavior while in UTS test mode.\n\nWhen in UTS test mode this reverts the behavior\nof the end key as it was in cupcake. When not in\nUTS test mode the behavior is as before the change.\n\nThe UTS test mode is enabled when presist.sys.uts-test-mode is 1.\n\nBug: 2402366\nChange-Id: I81359f3870a1e4da513f76c32aecdb7dfdf3bacf\n"
    },
    {
      "commit": "18e5779ed63f9879ad0bcb079354fa062409d50e",
      "tree": "e14bd8533024a5368aa11f5b757d3102c729115e",
      "parents": [
        "148e73eaed1fc0c12cdf84f0eb20a24624397a11",
        "9d86fafe634415c1b34662250c376e452790e967"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Feb 12 10:28:27 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 12 10:28:27 2010 -0800"
      },
      "message": "Merge \"Added haptic feedback support for scroll barriers\""
    },
    {
      "commit": "148e73eaed1fc0c12cdf84f0eb20a24624397a11",
      "tree": "6c1924dcab4fcdeb523a074a4b265526d1ec3e23",
      "parents": [
        "668f06f34ff602df578a869f0088bbce9125144b"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Feb 11 15:39:45 2010 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Feb 11 15:44:01 2010 -0800"
      },
      "message": "Fix 2431663: Ensure password field retains focus in PasswordUnlockScreen.\n"
    },
    {
      "commit": "9d86fafe634415c1b34662250c376e452790e967",
      "tree": "95b11236d78a24af3b1b5047a8ffcc38c3775a57",
      "parents": [
        "668f06f34ff602df578a869f0088bbce9125144b"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Feb 10 11:39:57 2010 -0800"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Feb 10 11:40:31 2010 -0800"
      },
      "message": "Added haptic feedback support for scroll barriers\n"
    },
    {
      "commit": "668f06f34ff602df578a869f0088bbce9125144b",
      "tree": "fdb24271b1a105ed9aed6705f6feb57cf376f11d",
      "parents": [
        "e5fbe9b9122e68e16f7657989ab4b2cf5ea88958",
        "a781d016108d64b2735740d42b5a7c57eb420406"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Feb 08 21:05:43 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 08 21:05:43 2010 -0800"
      },
      "message": "Merge \"Fix 2402303: Split Keyboard widget from LatinIME into reusable PasswordEntryKeyboardView\""
    },
    {
      "commit": "a781d016108d64b2735740d42b5a7c57eb420406",
      "tree": "ba2df06a6055e244a68025f5e8725a30f48de018",
      "parents": [
        "28569306e3fb136488cade5ed908a1be66128c2d"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Fri Feb 05 18:59:25 2010 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Fri Feb 05 18:59:25 2010 -0800"
      },
      "message": "Fix 2402303: Split Keyboard widget from LatinIME into reusable PasswordEntryKeyboardView\n\n- Added new PasswordEntryKeyboardView to internal/widgets.  Widget supports:\n    - alpha mode with symbols (latin-1 only).\n    - a numeric keyboard\n    - IME emulation that applies keyboard input to arbitrary top-level view widget.\n- Added new transparent assets to framework resources.\n- Modified Keyguard and Keyguard layouts to use new PasswordEntryKeyboardView.\n"
    },
    {
      "commit": "e5fbe9b9122e68e16f7657989ab4b2cf5ea88958",
      "tree": "513c39de75bf61fb40565900423a2eae11ec57d5",
      "parents": [
        "192feae7b5cb0a5059e1977c651e1889294e2e77"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Fri Feb 05 13:26:28 2010 -0800"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Fri Feb 05 17:04:47 2010 -0800"
      },
      "message": "New \"device is locked\" status bar icon, part 2.\n\nShown whenever the secure lockscreen is (a) visible, or (b)\nactive but hidden due to a FLAG_SHOW_WHEN_LOCKED Activity.\n\nChange-Id: I0e08a952904cc4728621953a42806edf26eb8e46\n"
    },
    {
      "commit": "28569306e3fb136488cade5ed908a1be66128c2d",
      "tree": "3d537ed38a9757756751321e4b94efab7b2e721f",
      "parents": [
        "b3f615907d8339e5813457dc8076dbfdadfd2800"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Jan 28 11:54:40 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Jan 29 07:15:43 2010 -0500"
      },
      "message": "Add implementation for ALLOW_LOCK_WHILE_SCREEN_ON flag to PhoneWindowManager\n\nThis allows the lockscreen to activate after the normal screen timeout while the\nscreen is on.  Needed for dock apps, screen savers, etc.\n\nChange-Id: I25c3579e4363c2b19d503fdbd45d2ff41cdd11bb\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    }
  ],
  "next": "b3f615907d8339e5813457dc8076dbfdadfd2800"
}
