)]}'
{
  "log": [
    {
      "commit": "03c63ebebbc5945c724719a26445b168785c42e7",
      "tree": "613b012f10ce12ac251bf0f27173c97af3b57370",
      "parents": [
        "eb65757d24a97450fed160d66e86a4a62c392c5c",
        "4a066c5c77109431f50806fc29179d28f1472871"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Mon Apr 23 04:48:35 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 23 04:48:35 2012 -0700"
      },
      "message": "Merge \"Update SystemUI for sw600dp devices.\""
    },
    {
      "commit": "4a066c5c77109431f50806fc29179d28f1472871",
      "tree": "11c1836b80b78d0f70e8e0044f7679b36db6b20e",
      "parents": [
        "8b0af627997277978240525d87ef7a7f0661554b"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Fri Apr 20 14:49:13 2012 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Sat Apr 21 00:19:47 2012 -0400"
      },
      "message": "Update SystemUI for sw600dp devices.\n\nDevices between 600 and 719dp will now use the two-bar\n(phone) SystemUI layout, or something like it, derived from\nPhoneStatusBar. Devices above 720dp will use the system bar\nfrom TabletStatusBar.\n\nHowever, this distinction is not to be made based on dp, at\nleast, not by the SystemUI; the goal is to drive most of\nthis switch from the window manager. Therefore most of\nSystemUI\u0027s sw600dp resources have been folded into the main\nset of resources (renaming them to avoid collisions where\nappropriate). This allows SystemUI to choose which set of\nresources to use entirely by switching status bar\ncomponents, entirely independent of Configuration.\n\n(For some resources, particularly around recents, it seemed\nmore expeditious to keep relying on the device\nconfiguration, so those resources have been bumped up to\nsw720dp.)\n\nBug: 6297838\nChange-Id: I3f5414a6a718bdc83f51930d6878cdf97df48c9c\n"
    },
    {
      "commit": "19caadc08f09cc9f6665fbbb0d61e02861ce8562",
      "tree": "e614ceb22d936fb11c155511ed7419efd516442e",
      "parents": [
        "e1a996e99dc68b48efad989876c01ce05a7a58ac"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 20 17:49:10 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 20 17:50:26 2012 -0700"
      },
      "message": "You can now long press on the power off menu to reboot to safe mode.\n\nChange-Id: I3aa575285058cf5a3d89486d6b944f6ea13d645c\n"
    },
    {
      "commit": "c169366f2cc44fc395dba76c763505ac2bd61640",
      "tree": "4830c7f2592f721081080725908f8156674bf5e9",
      "parents": [
        "8c44c181dea290c86f591c44f8955682512a136c"
      ],
      "author": {
        "name": "Brian Colonna",
        "email": "bcolonna@google.com",
        "time": "Thu Apr 19 11:34:04 2012 -0400"
      },
      "committer": {
        "name": "Brian Colonna",
        "email": "bcolonna@google.com",
        "time": "Thu Apr 19 22:07:30 2012 -0400"
      },
      "message": "Moved biometric sensor selected check into LPKV\n\nThis change moves all of the mBiometricUnlock.installedAndSelected()\nchecks from inside the biometric sensor implementation to\nLockPatternKeyguardView.  There are several reasons for this change:\n\n1) Instead of constructing a BiometricUnlock object and asking it if\nit\u0027s enabled, LPKV can check this for itself and not even bother\nconstructing it if it\u0027s not enabled.\n\n2) Since mBiometricUnlock will not be constructed if biometric unlock\nisn\u0027t enabled, LPKV can simply do null checks to see if it should call\nbiometric unlock functions.  So it serves the dual-purpose of ensuring\nthere will be no null-pointer exceptions with regards to using the\nbiometric unlock.\n\n3) This greatly reduces the chance of bugs being introduced into\nnon-biometric unlock methods because no biometric unlock calls will be\nattempted if biometric unlock is not enabled.  Previously, the calls\nwould be made and then the biometric unlock would check if it was\nenabled and return, which was not only bug-prone, but also\ninefficient.\n\n4) This simplifies the biometric unlock interface by removing an\nunnecessary function call.\n\n5) The biometric unlock implementations do not have to check if they\nare installed every time they do something, which greatly cleans up\nbiometric unlock implementations.  It makes much more sense for the\nbiometric unlock functions to be able to assume that they aren\u0027t\nbeing called unless they should be.\n\n6) Eventually when there is more than one possible biometric unlock\nmethod, it will make much more sense for LPKV to be in charge of\nwhat is constructed and what isn\u0027t.\n\nChange-Id: I5437ac05d8ceb2b182fe372cd6c75ad944ade28f\n"
    },
    {
      "commit": "8c44c181dea290c86f591c44f8955682512a136c",
      "tree": "64a95e86230f93eb318bf26c0b32b61d59ff56bf",
      "parents": [
        "53c5fa8a2f69d15b2f19c3468f1f1383efdecfde",
        "f6d61c64fb173aa7a1415870d5fdfe730eaa4160"
      ],
      "author": {
        "name": "Brian Colonna",
        "email": "bcolonna@google.com",
        "time": "Thu Apr 19 18:22:17 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 19 18:22:17 2012 -0700"
      },
      "message": "Merge \"Fix: refreshBatteryInfo was uncovering backup\""
    },
    {
      "commit": "f6d61c64fb173aa7a1415870d5fdfe730eaa4160",
      "tree": "e1f78c0b7e87d4bb297ec3282de7bb1b95369e8a",
      "parents": [
        "26fbf27ad1e9f9c26a82097fe306f07ec36e8410"
      ],
      "author": {
        "name": "Brian Colonna",
        "email": "bcolonna@google.com",
        "time": "Wed Apr 18 22:42:42 2012 -0400"
      },
      "committer": {
        "name": "Brian Colonna",
        "email": "bcolonna@google.com",
        "time": "Wed Apr 18 22:42:42 2012 -0400"
      },
      "message": "Fix: refreshBatteryInfo was uncovering backup\n\nThe onRefreshBatteryInfo() function hides the biometric sensor area so\nthe biometric sensor isn\u0027t shown when the screen turns on during a\nplug/unplug.  However, sometimes the function is called when there\nis no plug/unplug.  This fix makes it only hide the biometric sensor\narea (thus exposing the backup lock) on plug/unplug.\n\nNote that this does not fix b/5465535 although it may help reduce its\nfrequency.\n\nChange-Id: Iccff382c23d71257593dc1595ed8fec57adaf5bd\n"
    },
    {
      "commit": "7f58b95f7c2bd75a991ec6a2f05676aaba47a544",
      "tree": "36d1ad2fb38dac8159d89e83896e97ec3ff0b2d9",
      "parents": [
        "f01d3dd710e8b86b3e2846af62835158fd4e0db1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 18 12:59:29 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 18 14:58:03 2012 -0700"
      },
      "message": "Fix to custom scale animations.\n\nThese now do something reasonable when performing transitions\nacross two activities that are both on top of the wallpaper.\n\nFixed computation of the pivot point of the animations.\n\nFixed issue where the recents panel was considered a status\nbar element for purposes of deciding if the animating elements\nare obscured by the status bar, which would result in us not\nrunning the animation correctly.\n\nChange-Id: I4b9b588b80243463e6f087a9703ee886ee281630\n"
    },
    {
      "commit": "fe444b48bac83bd5472b1102dae87661bafcfccb",
      "tree": "375ea5d6efae04a649d59c0eb7bf363c9a2edaaf",
      "parents": [
        "cf6960ed153e5e6342156e87155eb6f286155b63"
      ],
      "author": {
        "name": "Steven Ross",
        "email": "stross@google.com",
        "time": "Fri Apr 13 10:49:28 2012 -0400"
      },
      "committer": {
        "name": "Steven Ross",
        "email": "stross@google.com",
        "time": "Tue Apr 17 16:36:55 2012 -0400"
      },
      "message": "Always showing FaceUnlock view before bind fixes 6330358\n\nSets the view to visible directly on the UI thread when feasible\nthis includes all cases where FaceUnlock is bound.\nThe delay in processing a message was causing the bug.\nThis additionally replaces the call in the keyguardview show\nwith one when the facelockareaview is initialized.\n\nChange-Id: I8511f175d68023372e11d6e76fa1c44df6ac8a3d\n"
    },
    {
      "commit": "c2346134bb519a54d50655cbef940fc3fdec60a9",
      "tree": "6b86f97b2175bc2b0181cbf123e4f874867e7c91",
      "parents": [
        "069c4f3f0c8190289d60296ec54fafa56abb4776"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Apr 13 01:55:38 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Apr 13 04:05:17 2012 -0700"
      },
      "message": "Extract Vibrator implementation from interface.\n\nMoved the core logic of Vibrator into SystemVibrator, potentially\nallowing for the creation of other Vibrator subclasses.\n\nFixed several places where we were creating new Vibrator\ninstances unnecessarily instead of getting it from the Context.\n\nIt is safe to make Vibrator abstract because its constructor\nwas hidden from the SDK so it was not possible to subclass it.\n\nBug: 6334179\nChange-Id: I18ece6544c26a7efb2d5099f8346a10aef8a5e18\n"
    },
    {
      "commit": "ff5b158f69bf453cf1fdedd175a09482c65f2bf2",
      "tree": "d9eb803d3a4a88814757434a8c8ec6c6ffb67cf3",
      "parents": [
        "b0398f59aae2c72161ea20339efaa950a788c375"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 12 17:24:07 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 12 17:26:55 2012 -0700"
      },
      "message": "Keep activities stopped while the lock screen is up.\n\nTell the activity manager when the lock screen is shown, so it\ncan keep itself (mostly) in sleep mode during this time, having\nthe foreground actvities remain in their stopped state.\n\nChange-Id: I71c86d3298f23a98014d7ae36fd540c9df9a64e6\n"
    },
    {
      "commit": "0c2acffec8689f8721a454845b24a830bc37ce92",
      "tree": "5c4d68095376aabd3af04c4b7d2d78b9e9ea8c2b",
      "parents": [
        "ed4995d646252313323f648e44a9539d9384f901"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 12 15:17:07 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 12 15:26:11 2012 -0700"
      },
      "message": "Clean up lock screen hide animation.\n\nWe now have an animation to apply to the thing behind the lock\nscreen animation when it isn\u0027t on the wallpaper, which looks\nsimilar to the animation we use when both are on the wallpaper.\n\nIn implementing this, cleaned up the code to figure out up-front\nwhich animation to run, getting rid of that kludgy thing that\ncleared the window animation if the wallpaper was not being used\nfor the lower windows.\n\nChange-Id: Ifc4c8a8894ad384124dcf4bbdaab134f1157b0f3\n"
    },
    {
      "commit": "ed4995d646252313323f648e44a9539d9384f901",
      "tree": "f89b552a7e38b7c93895ff21b106c9ce94754d01",
      "parents": [
        "742696601b0c4561644704bc157f8e06531671da",
        "de368ff1c995bb0b9e713a2afa8ec7ae23446bb1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 12 14:10:41 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 12 14:10:41 2012 -0700"
      },
      "message": "Merge \"Change window manager to use fixed size for the status bar.\""
    },
    {
      "commit": "3223e2537d5f4e2eceeb321405dbd6da50df66b6",
      "tree": "0f1d883afd2dae45e87ccf978987cdab5d17f8aa",
      "parents": [
        "18ec7a95be24be5a321f3def932bbd6143029bdd"
      ],
      "author": {
        "name": "Brian Colonna",
        "email": "bcolonna@google.com",
        "time": "Wed Apr 11 11:12:37 2012 -0400"
      },
      "committer": {
        "name": "Brian Colonna",
        "email": "bcolonna@google.com",
        "time": "Wed Apr 11 18:53:25 2012 -0400"
      },
      "message": "Changed FUL calls to more general biometric sensor calls\n\nThis is another step toward fix 5460649 - cleanup\nLockPatternKeyguardView (LPKV).\n\nAfter this change, LPKV has minimal knowledge of FUL.  FUL now\nimplements a new BiometricSensorUnlock interface and LPKV talks to\nthat interface.  Other biometric sensors can implement the same\ninterface such that LPKV doesn\u0027t need to know much about what type\nof biometric sensor is being used or its implementation.\n\nThe new interface has better, more general function names, so some\nfunction names in FaceUnlock.java were changed.  Some of the functions\nin FaceUnlock.java were also reordered to match the interface.\n\nThis change should not change the behavior of FUL.  There are two\nplaces where code functionality was changed:\n\n1) There was a showArea() function and a showAreaWithTimeout()\nfunction that were both called from LPKV.  To simplify the interface,\nonly a show() function is provided - it takes a timeout and if the\ntimeout is 0 it doesn\u0027t do the timeout.\n\n2) There was a stopIfRunning() function that did a check to make sure\nFUL was running.  If FUL was running, it stopped FUL.  Then it\nreturned a boolean indicating if it had been running.  LPKV sometimes\nneeds to know if FUL was running so it knows if it should restart FUL.\nTo simplify the interface, a single stop() function is provided which\nreturns whether or not it was running.  I believe the \u0027if running\u0027\ncheck was redundant and that there was no case where calling stop()\nwhen it wasn\u0027t running would cause any badness.\n\nChange-Id: I717268f360aed823e603df8e687cd107aa69ae11\n"
    },
    {
      "commit": "18ec7a95be24be5a321f3def932bbd6143029bdd",
      "tree": "80f875537d6ad5f6a0e6035360c41005990c7e8f",
      "parents": [
        "db13a6bf788cc48af86c8acf6f74b416dfd84199",
        "c3cd2500a535aeba8e8ce2876844542829dd8e68"
      ],
      "author": {
        "name": "Brian Colonna",
        "email": "bcolonna@google.com",
        "time": "Wed Apr 11 15:46:34 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 11 15:46:34 2012 -0700"
      },
      "message": "Merge \"Fix: FUL coming up when phone is powered off from lockscreen\""
    },
    {
      "commit": "c3cd2500a535aeba8e8ce2876844542829dd8e68",
      "tree": "b35cd89923fcbdb6a00c16126e8a8e4148a41ec4",
      "parents": [
        "50a926789f9ec335f72346a3a1c922729a301f34"
      ],
      "author": {
        "name": "Brian Colonna",
        "email": "bcolonna@google.com",
        "time": "Wed Apr 11 18:35:22 2012 -0400"
      },
      "committer": {
        "name": "Brian Colonna",
        "email": "bcolonna@google.com",
        "time": "Wed Apr 11 18:35:22 2012 -0400"
      },
      "message": "Fix: FUL coming up when phone is powered off from lockscreen\n\nWhen FUL was enabled and the power was turned off from the lockscreen,\neither manually or by timing out, the lockscreen would turn back on\nand FUL would start.\n\nI believe this is due to a recently-added \u0027force\u0027 flag, which this\ncommit removes.\n\nChange-Id: I314125fe52afe1536ab5a4600f39f563e1d58991\n"
    },
    {
      "commit": "cdebd54805bdd5f42ebc6bedb59d1c52c77a718c",
      "tree": "49b2bd19e3d7375cedc4fb103c5b639a2d0cae18",
      "parents": [
        "879392fe3152fc7781435ee991083fac3bd6f274",
        "2e7760eba084400f95476cf153db964cdfd40753"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Apr 11 15:19:41 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 11 15:19:41 2012 -0700"
      },
      "message": "Merge \"Don\u0027t do anything on lid state change by default.\""
    },
    {
      "commit": "2e7760eba084400f95476cf153db964cdfd40753",
      "tree": "674d75868720df66e70d6e43f02d21e49b87bf65",
      "parents": [
        "4d6a82d79ede0cc1f26e463209f22c691a04626b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Apr 11 15:14:55 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Apr 11 15:14:55 2012 -0700"
      },
      "message": "Don\u0027t do anything on lid state change by default.\n\nBecause a lid switch can be used to do many things, it\u0027s best\nif the framework does not do anything by default when the lid is\nopened or closed.  The behavior of the lid switch should be\nconfigured on a per-product basis in a config.xml resource overlay.\n\nBug: 6320088\nChange-Id: I9f768dd11d76c3c17c49f46c92f993ee2ff1409f\n"
    },
    {
      "commit": "de368ff1c995bb0b9e713a2afa8ec7ae23446bb1",
      "tree": "82d43cdb9aae8ba1330927d2c64c395b6a76b373",
      "parents": [
        "50a926789f9ec335f72346a3a1c922729a301f34"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Apr 10 18:35:54 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 11 10:39:43 2012 -0700"
      },
      "message": "Change window manager to use fixed size for the status bar.\n\nUnlike the nav bar, it only uses a fixed size for determining\nhow to layout elements around it; it lets the status bar window\nitself be whatever size it wants.\n\nChange-Id: Id04278981ab38915280a47368fccc7ec14bb97ec\n"
    },
    {
      "commit": "f882f1ad4edd790483924e7bf485fd7c7240d110",
      "tree": "ccaf4e7c6197d220e3f65db7f2a8f0d8f28ae74c",
      "parents": [
        "d3ce6f50c114f58a3f50e44764e9b315ac41f637"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Apr 10 15:13:39 2012 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Apr 10 15:13:39 2012 -0700"
      },
      "message": "Bind to the correct face lock service.\n\nWhen switching users, bind to the correct instance of FaceLock.\n\nTried to get the facelock screen to show up when switching users, but it\ndoesn\u0027t. Power off/on works, but not switching between users on the\nlockscreen. Maybe a timing issue? Or not calling some function to make\nthe overlay visible?\n\nChange-Id: I9300971331c7f0ed93ae7da28170342629426b20\n"
    },
    {
      "commit": "0b2b1feaa21914f7fa68073a358b5cba3346f023",
      "tree": "cfb273b4a4d237cdce81669aaeda6316483341b5",
      "parents": [
        "c38cf4c7dbe7d96255d42dabf8ca801830813f5e",
        "f66e930e726f4caf49b7d47c08d160b14628c99f"
      ],
      "author": {
        "name": "Brian Colonna",
        "email": "bcolonna@google.com",
        "time": "Tue Apr 10 06:25:26 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 10 06:25:26 2012 -0700"
      },
      "message": "Merge \"Passing useLiveliness flag to FUL in startUi call\""
    },
    {
      "commit": "c38cf4c7dbe7d96255d42dabf8ca801830813f5e",
      "tree": "c34bc1561f67c0838d7ebd4d625b568738dc4589",
      "parents": [
        "06cce885296f60b6cc2d0dad3d167681536a53a5",
        "7d276c377ce0c56630c06a6da431a6cb9bd76d1e"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Apr 10 05:33:07 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 10 05:33:07 2012 -0700"
      },
      "message": "Merge \"New Android Dreams architecture, disabled for now.\""
    },
    {
      "commit": "077ee853171f0ad72209a59a80e526bd1387fc76",
      "tree": "35752d965082626ba84b41dda7537e3450d85bc5",
      "parents": [
        "283be258696d9043ced4003872e0cfe109c4de66"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 09 16:27:07 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 09 16:27:07 2012 -0700"
      },
      "message": "Fix issue #6309296: Framework returns Configuration.SCREENLAYOUT_SIZE_LARGE for Xoom\n\nChange-Id: I5882e6f6ab249232b69bdc4b8e692716f2fe5efa\n"
    },
    {
      "commit": "f66e930e726f4caf49b7d47c08d160b14628c99f",
      "tree": "e56fda006a71b2bbc7cb3dedec982d1ed97bba6f",
      "parents": [
        "425c726ae0691cadc1b03b5f3726368fbdc46bff"
      ],
      "author": {
        "name": "Brian Colonna",
        "email": "bcolonna@google.com",
        "time": "Mon Apr 09 14:55:23 2012 -0400"
      },
      "committer": {
        "name": "Brian Colonna",
        "email": "bcolonna@google.com",
        "time": "Mon Apr 09 16:36:28 2012 -0400"
      },
      "message": "Passing useLiveliness flag to FUL in startUi call\n\nBecause of changes in support of multi-user functionaity, the FUL\n\u0027eye blink\u0027 checkbox was no longer enabling liveliness detection.\n\nIt no longer makes sense to check the biometric flags (such as the\nliveliness flag) inside of the Face Unlock service.  Instead, that\nflag is now passed in from lockscreen via the aidl interface when\nstartUi is called.\n\nChange-Id: I591cf1924fbb24da7d54b94ef29824e5197d3b20\n"
    },
    {
      "commit": "82920edd89edda7d8f706d9dce79842586dc8de5",
      "tree": "0b6b7d46056e561de27dfb509725941d6bb3f614",
      "parents": [
        "d9b2070f5c7ba14f12f1777d24dc333db7c9fd40",
        "9431366ecb4b6e4a87c0047c36548aa0bc23f2b1"
      ],
      "author": {
        "name": "Brian Colonna",
        "email": "bcolonna@google.com",
        "time": "Mon Apr 09 13:25:37 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 09 13:25:37 2012 -0700"
      },
      "message": "Merge \"Separated FUL functionality from LockPatternKeyguardView\""
    },
    {
      "commit": "7d276c377ce0c56630c06a6da431a6cb9bd76d1e",
      "tree": "b5c96c71988ec1a0f3cbd7f64269651e69c8de92",
      "parents": [
        "63c115c4aa2158ea18338a9fb2c2619755958ddc"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Mon Jan 30 14:33:52 2012 -0500"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Mon Apr 09 15:33:26 2012 -0400"
      },
      "message": "New Android Dreams architecture, disabled for now.\n\nRather than normal Activities (which have a host of problems\nwhen used for this purpose), screen savers are now a\nspecial kind of Service that can add views to its own\nspecial window (TYPE_DREAM, in the SCREENSAVER layer).\n\nDreams are now launched by the power manager; whenever it is\nabout to turn the screen off, it asks the window manager if\nit wants to run a screen saver instead. (http://b/5677408)\n\nAlso, the new config_enableDreams bool allows the entire\nfeature to be switched on or off in one place. It is\ncurrently switched off (and the APIs are all @hidden).\n\nChange-Id: Idfe9d430568471d15f4b463cb70586a899a331f7\n"
    },
    {
      "commit": "9431366ecb4b6e4a87c0047c36548aa0bc23f2b1",
      "tree": "fbf466ffc298f6beb1b59a21e185183b1c5ec460",
      "parents": [
        "2cde1f97b8a15c357bca3f98a43d8b4779c0d031"
      ],
      "author": {
        "name": "Brian Colonna",
        "email": "bcolonna@google.com",
        "time": "Fri Apr 06 13:01:29 2012 -0400"
      },
      "committer": {
        "name": "Brian Colonna",
        "email": "bcolonna@google.com",
        "time": "Mon Apr 09 10:12:32 2012 -0400"
      },
      "message": "Separated FUL functionality from LockPatternKeyguardView\n\nThis is the first step toward fix 5460649.  All of the FUL functions\nwere pulled out of LockPatternKeyguardView into their own FaceUnlock\nclass.  LockPatternKeyguardView now has an mFaceUnlock member, which\nis new\u0027d inside of the LockPatternKeyguardView constructor, passing\nit some objects it needs to do FUL.  FUL calls are now made from\nLockPatternKeyguardView by doing mFaceUnlock.foo().  Some of the\nfunction names were reduced to avoid redundancy (e.g.\nmFaceUnlock.start() instead of mFaceUnlock.startFaceLock()).\n\nThis change is just a refactoring and is not intended to change\nany functionality.  There will be other cleanups in the near\nfuture...this is basically just the minimum changes needed to get\nthe FUL functionality into its own class.\n\nChange-Id: I7dc5b22857bbf1659238b0e2d113069f7bf9ffe7\n"
    },
    {
      "commit": "c8cb3291478fe9e836c1e1a56d3eae739b19a9cf",
      "tree": "80a2fdae9068312159105cf9257b12654509ed00",
      "parents": [
        "ac14351e16e1258f1cb54e2bf772b8be004eb2b8"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Apr 05 23:56:05 2012 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Apr 05 23:57:26 2012 -0400"
      },
      "message": "Fix boot on sw600dp devices.\n\nSoon we\u0027ll switch this threshold to 720dp, once the\nPhoneStatusBar is ready to support 600dp wide devices. For\nnow, however, restore the previous behavior.\n\nBug: 6300512\nChange-Id: Ibedb8ffc1b677e3bbe9af230598adb7db278635b\n"
    },
    {
      "commit": "ac14351e16e1258f1cb54e2bf772b8be004eb2b8",
      "tree": "55c22fe8e19d35764f00a6ffad899e4fd2c4ccd0",
      "parents": [
        "030711c39b6093024d784c1c3d7566bd5a3e3489"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Apr 05 18:57:33 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Apr 05 19:33:11 2012 -0700"
      },
      "message": "Move some APIs from window manager to input manager.\n\nSimplified input injection API down to just one call.\n\nRemoved all input state reading API.  It was only used by the\nwindow manager policy and required a permission that applications\ncould not obtain.  READ_INPUT_STATE is now unused and deprecated.\n\nChange-Id: I41278141586ddee9468cae0fb59ff0dced6cbc00\n"
    },
    {
      "commit": "e8644b695d6c548d2c93e1da7b4a6aff786f1427",
      "tree": "cb83145f1cee9f99da171f49f40eb2f48cb4c270",
      "parents": [
        "dab7850012466a80bc1b10f2f1b8c87e7d050227",
        "9801435820dc159725c0185f18f7e60e0fb1b833"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 05 19:03:37 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 05 19:03:37 2012 -0700"
      },
      "message": "Merge \"Fix so that status bar doesn\u0027t resize when hiding nav bar.\""
    },
    {
      "commit": "9801435820dc159725c0185f18f7e60e0fb1b833",
      "tree": "62919488882ed2e7c0325746376b83524b6cec32",
      "parents": [
        "9828830611137bb751ab3512082a3bd31f439e38"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 05 18:31:41 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 05 18:31:41 2012 -0700"
      },
      "message": "Fix so that status bar doesn\u0027t resize when hiding nav bar.\n\nThe status bar now extends behind the nav bar, and uses\nfitsSystemWindows to ensure its content is not covered.  We\nalways report a stable content insets (as if the nav bar is\nvisible) even if the nav bar is hidden, so the content doesn\u0027t\njump when transitioing.  This does mean that if you only hide\nthe nav bar (and not the status bar), when in landscape you\nwill end up with a status bar whose right side still leaves\nroom for the nav bar.  But why the hell would you want to do\nthat?\n\nAlso improve documentation on setSystemUiVisibility().\n\nChange-Id: I8087d875f1214ef0085a91b5ed5c2f35ff2fc1b3\n"
    },
    {
      "commit": "43504980021dc5baacd94384a0a0823c12b92b1a",
      "tree": "2c4ba6a2ecd59b0333c765f3655eeb9f26334f4f",
      "parents": [
        "389b65fea2219e389e6212b9a799f8b39dbfc6ca",
        "c00fd7ab302198635885c1e090b41e3d11adc8ea"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Apr 05 17:31:19 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 05 17:31:19 2012 -0700"
      },
      "message": "Merge \"Fix 6216452: Add search target to lock screen\""
    },
    {
      "commit": "c00fd7ab302198635885c1e090b41e3d11adc8ea",
      "tree": "61177c47cfdbe3cfeaf6eb6a129c4f1eb3cccefd",
      "parents": [
        "e4d8a5dd42070d919dbd774f24c6684ecf1e350e"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Mar 22 18:37:38 2012 -0700"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Apr 05 17:14:02 2012 -0700"
      },
      "message": "Fix 6216452: Add search target to lock screen\n\nChange-Id: I0784e844fb8e1f904f37d2572c6ddbd6c22e95d1\n"
    },
    {
      "commit": "e9bdb31ea1dc3c1c2b1833a4bf0031d85928a45b",
      "tree": "6ce11f382c228c01cc4a12102d2ef6f10c4adc3e",
      "parents": [
        "23b871d7147de910b53646cdb987e28dac0df927",
        "4532e6158474a263d9d26c2b42240bcf7ce9b172"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Apr 05 15:30:10 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 05 15:30:10 2012 -0700"
      },
      "message": "Merge \"Refactor input system into its own service.\""
    },
    {
      "commit": "35bb98d5088f92ea57b9c1f8be932b4d3ec5b018",
      "tree": "81a4b262ab6ff3a7d133f4ceb5c070a7f1759fbd",
      "parents": [
        "2184a985da15eddd010e53120ebb1da9f8af53e1",
        "e94d763f69bdc80d1ec1d7c3dd258c4e10206a5b"
      ],
      "author": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Thu Apr 05 14:55:09 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 05 14:55:09 2012 -0700"
      },
      "message": "Merge \"unlock screen: enable DEBUG and track pattern start/cell progress.\""
    },
    {
      "commit": "2184a985da15eddd010e53120ebb1da9f8af53e1",
      "tree": "6bf5df31475ba7ae659bedb689cad6dbdbe44220",
      "parents": [
        "e4d8a5dd42070d919dbd774f24c6684ecf1e350e",
        "52c489cd63cca0361f374f7cb392018fabfa8bcc"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Apr 05 14:43:22 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 05 14:43:22 2012 -0700"
      },
      "message": "Merge \"Lockscreen settings per user\""
    },
    {
      "commit": "4532e6158474a263d9d26c2b42240bcf7ce9b172",
      "tree": "e0055acd68c0a8729077695ac671935aa58a1fad",
      "parents": [
        "9df6e7a926ce480baf70e97ee1b9ea387193f6ad"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Apr 05 14:27:12 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Apr 05 14:42:11 2012 -0700"
      },
      "message": "Refactor input system into its own service.\n\nExtracted the input system from the window manager service into\na new input manager service.  This will make it easier to\noffer new input-related features to applications.\n\nCleaned up the input manager service JNI layer somewhat to get rid\nof all of the unnecessary checks for whether the input manager\nhad been initialized.  Simplified the callback layer as well.\n\nChange-Id: I3175d01307aed1420780d3c093d2694b41edf66e\n"
    },
    {
      "commit": "52c489cd63cca0361f374f7cb392018fabfa8bcc",
      "tree": "7e994b33b5203f2492c0e6eb39a9f139d061b0bf",
      "parents": [
        "7c8fd157da36b68529b08b820051ce775f84a9bf"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Mar 28 11:42:42 2012 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Apr 05 14:03:36 2012 -0700"
      },
      "message": "Lockscreen settings per user\n\nMove all lockscreen related settings to LockSettingsService.\nLockPatternUtils uses this through IPC instead of Secure settings.\nMigrate old settings to new database managed by LockSettingsService.\nPasswords and patterns are stored in a new per-user location, except\n for the primary user, for backward compatibility.\nKeyguardViewMediator and LockPatternKeyguardView listen for changes\nto user and updates the lockscreen.\n\nSettings provider will look for Lock settings in the LockSettings\nservice now for the entries that used to be stored in Settings.\n\nChange-Id: I956cd5b95e2d9d45a6401af7e270e6a5aa2dcc98\n"
    },
    {
      "commit": "f87d19621dc2a30232bba1f51862a0b671eb9729",
      "tree": "8bf53cb17770100b6fd1c1f31f1b27eb7121ce3e",
      "parents": [
        "5b86de1e6b8f597ab2444de0f2274546321f1810"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 04 12:48:24 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 04 16:00:45 2012 -0700"
      },
      "message": "Clean up status bar, system bar, navigation bar management.\n\nThe status bar and navigation bar are two completely separate\nelements, with their own semantics.  The system bar now classifies\nitself as a navigation bar, since that is really how it behaves.\n\nThis required rewriting the HDMI resizing code, so that it is\nall done by PhoneWindowManager since that is what is responsible\nfor the size of the navigation bar (and thus now system bar).  This\nactually gets rid of a fair amount of code, and means we can also\ndo the same thing for a pure navigation bar.\n\nLikewise the system bar now has the navigation bar ability to be\nhidden when requested by system UI flags.  To get the behavior\nwe want on Xoom, we only allow the nav bar to be hidden when it\nwill help provide a better aspect ratio for showing widescreen\nvideos.\n\nFinally the nav/system bar now animates when hidden and shown.\n\nChange-Id: Ie927154b68376a0b61802f99171ff56b8da92e7a\n"
    },
    {
      "commit": "e94d763f69bdc80d1ec1d7c3dd258c4e10206a5b",
      "tree": "54fcdc575d56def7560c37a3cb95a5621fb6d301",
      "parents": [
        "5b86de1e6b8f597ab2444de0f2274546321f1810"
      ],
      "author": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Wed Apr 04 15:11:42 2012 -0700"
      },
      "committer": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Wed Apr 04 15:11:42 2012 -0700"
      },
      "message": "unlock screen: enable DEBUG and track pattern start/cell progress.\n\n- Turned on DEBUG.\n- Added logging for pattern start, and for each cell.\n\nThis should help with debugging lockscreen not receiving input when turning\nsleeping phone one\n\nBug: 6258051\nChange-Id: Id95e167c2792e80925e8e41c0c624b5bdc222249\n"
    },
    {
      "commit": "3a3a6cfd8ec12208ca75c0d0d871d19d76c34194",
      "tree": "58e93b1349c5594a8231ee2269d42248eaf55547",
      "parents": [
        "5eeee5e0bbf5aba0097a510b3e9dbb286b2b30cd"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 26 10:24:04 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 30 15:22:04 2012 -0700"
      },
      "message": "Add new feature to let apps layout over status bar / system bar.\n\nThe main change is a few new flags you can supply to\nView.setSystemUiVisibility().  One is a new visibility mode,\nSYSTEM_UI_FLAG_FULLSCREEN, which is basically the same as\nthe global FLAG_FULLSCREEN option for windows, but driven as\npart of the system UI state.\n\nThere are also three new flags for telling the framework that you\nwould like to have your application\u0027s UI ignore screen\ndecorations -- SYSTEM_UI_FLAG_LAYOUT_NO_NAVIGATION for going\nbehind the navigation bar and SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN\nfor ignoring full screen decorations (that is the status bar).\n\nIn combination with this you can use SYSTEM_UI_FLAG_LAYOUT_STABLE\nto have the framework report consistent insets to your application.\n\nWhen using NO_NAVIGATION, when the user taps the screen we now\nalso automatically clear ONLY_CONTENT, so that we atomically show\nboth UI elements.  This should make it easy for apps like video\nplayers that want to move between fully full-screen and regular\nmodes.\n\nThe ActionBar has also been extended when in overlay mode so\nthat it will adjust the system window insets to also account\nfor its space, and allow it to be hidden using the new\nSYSTEM_UI_FLAG_FULLSCREEN.\n\nChange-Id: Ic8db1adec49a0f420bfe40c1d92eb21307856d0b\n"
    },
    {
      "commit": "50c69b5d8ae4bc973e53cbe3b58b0eb0299e25c8",
      "tree": "604ed9cea02d2120bc49e995c3427123216bd96a",
      "parents": [
        "6ef1eedac77977a4979a293499767e17ed3a4e03",
        "7f2668c8469934ce83a5647977f6e74ab782cf07"
      ],
      "author": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Fri Mar 30 05:02:57 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 30 05:02:57 2012 -0700"
      },
      "message": "Merge \"Preload recents on phones with hard nav keys\""
    },
    {
      "commit": "7f2668c8469934ce83a5647977f6e74ab782cf07",
      "tree": "5333c585593c89592aa0fbc48b9adeb8c72883ae",
      "parents": [
        "f9c1f9935b349fe1a3f27be4462026dd212f8b78"
      ],
      "author": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Tue Mar 27 07:49:52 2012 -0700"
      },
      "committer": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Thu Mar 29 06:28:42 2012 -0700"
      },
      "message": "Preload recents on phones with hard nav keys\n\nAlso refactor recents code across Phone/Tablet\n\nChange-Id: Id557c5cb0f7d9378f81c40b20511a5d98bf4078e"
    },
    {
      "commit": "c97ed10ba8ce3c3004f71c226a1142ea91a80424",
      "tree": "8909404a4c5aaf36cb26e23d0c02874b3ff34f98",
      "parents": [
        "6183cd64a98a69ea247813c9ba0a07326c4bc1ae",
        "70825161b5bf51ed48319e142751a9c88b104994"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Mar 29 03:05:57 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 29 03:05:57 2012 -0700"
      },
      "message": "Merge \"Ensure pointer location view is attached to the policy thread.\""
    },
    {
      "commit": "70825161b5bf51ed48319e142751a9c88b104994",
      "tree": "3f69647c0269bd263fc0ae0a1855eb87a8c415e0",
      "parents": [
        "d19ff5f95dc9ea684edb5097ce97e7bf78c2e628"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Mar 28 17:27:48 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Mar 29 03:01:10 2012 -0700"
      },
      "message": "Ensure pointer location view is attached to the policy thread.\n\nPreviously we created the PointerLocationView on whatever thread\nhappened to trigger the call to updateSettings().  There was\nalso some messiness around having to add or remove the view\nwhile not holding mLock.\n\nNow, just post the work to the policy handler.\n\nThis also makes it possible for us to use invalidate() instead\nof postInvalidate() in PointerLocationView, which is more efficient.\n\nChange-Id: I0646d7aeecffdc22f6ac56ae3ef951e7a12e2b93\n"
    },
    {
      "commit": "52f1d752f90579c9b57e3350393a029cf72138d0",
      "tree": "8f8b5efabd4fea83c34b754cc0fd99a7580dfbac",
      "parents": [
        "59075643acedd38e324746083e2c59f69c0b9e56"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Mar 28 18:19:29 2012 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Mar 28 18:19:29 2012 -0700"
      },
      "message": "Show the current user in power menu\n\nShows a little indicator next to the current user in the power menu\nwhen multi-user is enabled.\n\nFixed a bug where Settings was sometimes being launched in the wrong\nprocess when there are 2 instances running.\n\nChange-Id: Iaf2a00f6d1871fd2a88d8982439e445423bb2896\n"
    },
    {
      "commit": "135936072b24b090fb63940aea41b408d855a4f3",
      "tree": "c10e6a7642df4246937bb6fbd7277b642daf3eee",
      "parents": [
        "0c44525a4888de321c9497204d59c8515f828499"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Mar 22 16:16:17 2012 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Mar 27 11:23:01 2012 -0700"
      },
      "message": "User management and switching\n\nBroadcast intents that get sent out when users are added/removed/switched.\n\nMore work on generating user-specific information in package manager queries.\nAPIs to update user name and query a user by id.\nRemoved Package.mSetStopped and mSetEnabled, since they\u0027re not user specific.\n\nUser removal:\n- Cleanup ActivityManager, PackageManager, WallpaperManager, AppWidgetService\n  and AccountManager.\n- Shutdown processes belonging to the user.\n\nDon\u0027t show vibrate option in long-press power if there\u0027s no vibrator.\n\nLock the screen when switching users, to force unlocking.\n\nChange-Id: Ib23a721cb75285eef5fd6ba8c7272462764038fa\n"
    },
    {
      "commit": "e90585f89d550a61e3efd5050efdc5be2be494af",
      "tree": "acf9974723e845e9c00514b89b945543a3c547f9",
      "parents": [
        "d87a9be444874d62fcfa70a9d48b7dc4f5f5948e"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Mar 05 18:56:25 2012 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Thu Mar 22 15:09:25 2012 -0700"
      },
      "message": "Add a config resource to disable key-chord screenshotting\n\nThe key chord screenshot mechanism introduces significant latency into\nprocessing of volume-key input; enough to be quite noticeable and\nannoying on some kinds of device.  This patch introduces a new config\nresource entry (\"config_enableScreenshotChord\"), true by default, so\nthat products on which this functionality is inapplicable can avoid\nits runtime overhead.\n\nBug 6039047\n\nChange-Id: I968ddf9046741da35988310b7893fae2c0369beb\n"
    },
    {
      "commit": "d16a4f29672d7c9ea2ea802ec9c804563bcb2ccb",
      "tree": "14f687215313602e98c96b9a949bb79627d902d0",
      "parents": [
        "56b21c6ccd4bc6f0b0e371f669d5af6850405849",
        "d5b5db73fcb49a4ca04e9cefc5f5293faba5895e"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Mar 20 19:36:33 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 20 19:36:33 2012 -0700"
      },
      "message": "am d5b5db73: am b7a6f5d7: am 928d3470: Fix 5960562: Show emergency button on PukUnlock screen\n\n* commit \u0027d5b5db73fcb49a4ca04e9cefc5f5293faba5895e\u0027:\n  Fix 5960562: Show emergency button on PukUnlock screen\n"
    },
    {
      "commit": "928d34704b96db9133e28dc77b716518d335b356",
      "tree": "0da51670fb2a0359c8f7977ae7f5ac48d17905ca",
      "parents": [
        "14958e21c12f922d7501d32c3bec05109eb342d5"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Mar 20 15:30:43 2012 -0700"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Mar 20 15:30:43 2012 -0700"
      },
      "message": "Fix 5960562: Show emergency button on PukUnlock screen\n\nThis fixes an issue where the device doesn\u0027t show the emergency button\non the SIM PUK unlock screen. The problem was introduced in I3127bfd5\nwhere we allowed the button to be conditionally shown.\n\nChange-Id: I3e2aae2bce89399a2564c3f8a726a8db99cdec86\n"
    },
    {
      "commit": "b030476d193a423f6c1baf3053f66fc768c925e0",
      "tree": "b8f579261d443a10fc45876c7da805a8052608d6",
      "parents": [
        "5571ffdd9d419e3b1e050501e6f8dbfb04159b5d"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Mar 13 20:01:25 2012 -0700"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Mar 19 14:18:13 2012 -0700"
      },
      "message": "Fix 6021938: Improved target support in lock screen\n\nThis adds the ability to enable or disable target icons based on the drawable\nresource of the target.\n\nIt also fixes a bug where we\u0027d show the camera while displaying\nthe PIN/PUK unlock screen or when it\u0027s disabled by DevicePolicyAdmin.\n\nMinor simplification and cleanup KeyguardUpdateMonitor callbacks.\n\nChange-Id: I33fad56a2203bc8b7bcd0300c20478711a56713a\n"
    },
    {
      "commit": "a4972e951bf2bdb7afdafee95b3ab0c15b8bacae",
      "tree": "9800a9dcd62d945a8ad71549ebcef70393ef5442",
      "parents": [
        "89ea4ca9c26f3c7e365525a0b83500e85517a457"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 14 10:38:05 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 14 12:57:14 2012 -0700"
      },
      "message": "Add new \"options\" argument to all startActivity APIs.\n\nThis will be used to allow new features to be requested...  such as,\nsay, a special kind of animation.  Right now there are no options\ndefined.\n\nChange-Id: I4eb6f27275cdd4bf186f6da316ab93a2372ad4b7\n"
    },
    {
      "commit": "92a8b22e7410e74e1cba1b856333116652af8a5c",
      "tree": "fd340b33bdcf7d2b5f84d9f9454a5805efff54b6",
      "parents": [
        "64d10a1da0a702ffeb086ad9c4a632f2712f1dad"
      ],
      "author": {
        "name": "Siva Velusamy",
        "email": "vsiva@google.com",
        "time": "Fri Mar 09 16:24:04 2012 -0800"
      },
      "committer": {
        "name": "Siva Velusamy",
        "email": "vsiva@google.com",
        "time": "Mon Mar 12 12:18:53 2012 -0700"
      },
      "message": "ActivityManager: add option to allow OpenGL trace.\n\nThis patch adds an option to enable tracing of OpenGL functions.\nOpenGL tracing can be enabled by passing \"--opengl-trace\" option\nto am start.  This option requires either a device in debug mode,\nor that the application itself has debug permission set.\n\nChange-Id: I77788bfe97c9108943b1f947ce81afe8293d78a0\n"
    },
    {
      "commit": "fbc46dc3c2be5f89041d9e4d3447bc65d303d43a",
      "tree": "3ffb3162a55efdb995b2d746e42a9e0a75015fe9",
      "parents": [
        "62f24df57a6240135cfd27c86430e1dda6c81916"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Mar 01 16:15:27 2012 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Mar 01 16:15:27 2012 -0800"
      },
      "message": "Fix 6028595:  Fix reboot loop in AccountUnlock due to null callback\n\nThis fixes a bug where the device would get into a reboot loop due to having\na null callback.  The problem was that a recent change caused the callback\nto be used indirectly by the constructor before being set.\n\nThe solution is to pass the callback to the KeyguardViewBase constructor\nwhich ensures it\u0027s ready by the time we call getCallback().\n\nChange-Id: I2598fc5338be99977980e4dea41a096fb2a7ef7e\n"
    },
    {
      "commit": "75e1ce63353efe93a56dba3fff8d9f9134475163",
      "tree": "7e01c90e788df21d0e63ac208250bec61e98a8be",
      "parents": [
        "9f77932422c3e819ea4c2ed16ff1f700337aa779"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Feb 29 19:50:11 2012 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Feb 29 21:41:54 2012 +0800"
      },
      "message": "Use SINGLE_TOP and CLEAR_TOP when starting camera from lock scren.\n\nAdd these flags so there is no need to press back key twice to\nexit the camera if users slide to camera twice.\n\nbug:6070281\n\nChange-Id: Iadf6ab2798cf9381bc9dc761920f46b022fb6bb8\n"
    },
    {
      "commit": "7a3489552ca92776c5e2a57c80026216b44005eb",
      "tree": "e5fef38dfd06be095cd8377d8f0579e0cfbc4271",
      "parents": [
        "69db4df48713d695e40144833c7008020e0720f0"
      ],
      "author": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Mon Feb 27 13:07:58 2012 -0800"
      },
      "committer": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Tue Feb 28 14:37:35 2012 -0800"
      },
      "message": "Add shortcut for voice search\n\nOn phones with soft nav bar, make long press on\nhome launch a voice search intent\n\nChange-Id: I69840a96a08524a76e33a306b799222c879db095"
    },
    {
      "commit": "b8678d76c3e09d0d65255f3971b6112a48e19099",
      "tree": "231096efd52582e1747f2378896122366ca17f6e",
      "parents": [
        "c42067d7d7a080ef87ba8a287a794955f98e195b",
        "210c1a262a18c301f218260a8e2727bd4ce04ac6"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Feb 23 10:54:06 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Feb 23 10:54:06 2012 -0800"
      },
      "message": "resolved conflicts for merge of 210c1a26 to master\n\nChange-Id: Ic44193e62215086c22225f2def5eee3159d26ae8\n"
    },
    {
      "commit": "40eec4c0f1392665dbfcd9ca9ea4a9519a71c34a",
      "tree": "81f21bb20aa50f8074e45dad513bef09c6074f57",
      "parents": [
        "30167542cb23726a0d28c2eeb280f16f3101e97f"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Feb 15 17:10:58 2012 -0800"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Feb 21 15:32:26 2012 -0800"
      },
      "message": "Fix the size of DialogWhenLarge windows\n\nChange-Id: I8c9588e958d8fb9c45b1cdb235cced48ba508dd3\n"
    },
    {
      "commit": "01011c3d7ce4f76c1a76b33a04fc63da784ddbea",
      "tree": "8dcaf6f1e6ef5426631d2d88513fbd1218e8178b",
      "parents": [
        "2d559b5311be1cd909e5a445afe75a840688b822"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Feb 21 13:54:21 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Feb 21 13:54:21 2012 -0800"
      },
      "message": "Fix issue #6037252: Screen shifts after all apps are upgraded\n\nTwo things: (1) make sure the boot message is always positioned within\nthe entire unrestricted display, and (2) allow the dim background to go\non top of the nav bar when being used for the boot message (this latter\nis really a hack that should be more generally fixed in the future).\n\nChange-Id: I7261b044eb802a39cadff931b50a679ff18781d6\n"
    },
    {
      "commit": "ce952c8e13c535bedde77bcdb94dfcc7508475aa",
      "tree": "7948a36f33d2b847ce14f757161955ff3d178d1a",
      "parents": [
        "a5abdb9e580f7598ae5553f4490d16871453f9f5"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Nov 14 10:47:42 2011 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Fri Feb 10 14:44:05 2012 -0800"
      },
      "message": "AudioManager: Add support for master mute\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "f5f4ec97916a22859abae69c7e8f522d36271eb6",
      "tree": "8d87858421f2e7cdf0a14334417b22fc0c682ed7",
      "parents": [
        "4767690f09ea3447b8c5c32fb28d27650aa18e00"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Nov 08 14:05:31 2011 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Fri Feb 10 14:44:04 2012 -0800"
      },
      "message": "PhoneWindowManager: stifle warning that ITelephony service does not exist\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "d747dc8179df3cfcc68df78ec46b93992de52eaf",
      "tree": "303ae37c3319e3e53dbe232554b2f67a490d78dc",
      "parents": [
        "3a74bd36f8af1a12353db8ddbc5227d33c2ce680"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Sep 13 16:28:22 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Fri Feb 10 10:51:24 2012 -0800"
      },
      "message": "Fix problems dispatching media button events on headless devices\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n\nConflicts:\n\n\tpolicy/src/com/android/internal/policy/impl/PhoneWindowManager.java\n"
    },
    {
      "commit": "3a74bd36f8af1a12353db8ddbc5227d33c2ce680",
      "tree": "3f3de29d5d9014b8169d5d65b19d8c8e2b6bc1ee",
      "parents": [
        "2395527c9bb1cdc3bcd3dfcbc8b72b90ed3e7080"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Aug 12 13:55:22 2011 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Fri Feb 10 10:51:24 2012 -0800"
      },
      "message": "Add headless mode for running the framework without the surface flinger\n\nEnabled by setting system property ro.config.headless to 1\nThis will allow the framework to run without starting activities,\nsystem UI and the keyguard.\nFramework can still run services, content providers and broadcast receivers.\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n\nConflicts:\n\n\tpolicy/src/com/android/internal/policy/impl/PhoneWindowManager.java\n\tservices/java/com/android/server/PowerManagerService.java\n\tservices/java/com/android/server/am/ActivityManagerService.java\n"
    },
    {
      "commit": "aa5bf14e2123d39821863d9c352b82fb7946a220",
      "tree": "bb98d410763bac6347700c2dcadd6dc2e507131e",
      "parents": [
        "7db766c3fec2795b08d237f29b972f474983684b"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Sep 21 13:03:40 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Fri Feb 10 10:51:21 2012 -0800"
      },
      "message": "PhoneWindowManager: Disable boot progress dialog on headless builds\n\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "61ac6bb250494db602b485491a493b64776eaf3b",
      "tree": "d779cc7b1928836f99059b4bb342ad594665cffb",
      "parents": [
        "37f6934e863de13926975ff5c4e60b9ee9fa79cc"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Feb 02 17:29:33 2012 -0800"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Feb 06 16:52:16 2012 -0800"
      },
      "message": "Extract code from performLayoutAndPlaceSurfacesInnerLocked() into multiple methods.\n\nChange-Id: I80152c38741ce73b92da9483cfed84efbac34f89\n"
    },
    {
      "commit": "742a67127366c376fdf188ff99ba30b27d3bf90c",
      "tree": "4a801b0b2e9ee10fb322e3b450e2af9eb6e3002f",
      "parents": [
        "8ca8a69d5801ad4b809e7b9dbf53bd728820924b"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed May 04 14:49:28 2011 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Feb 03 12:01:47 2012 -0800"
      },
      "message": "Multi-user - 1st major checkin\n\nSwitching activity stacks\nCache ContentProvider per user\nLong-press power to switch users (on phone)\n\nAdded ServiceMap for separating services by user\nLaunch PendingIntents on the correct user\u0027s uid\nFix task switching from Recents list\nAppWidgetService is mostly working.\n\nCommands added to pm and am to allow creating and switching profiles.\n\nChange-Id: I15810e8cfbe50a04bd3323a7ef5a8ff4230870ed\n"
    },
    {
      "commit": "118bb2bd86194454452655345846c85ec59ba547",
      "tree": "f7fcf8f8b41dfdce9e76ab08ff07a37283bd35bb",
      "parents": [
        "b90559a6066965debe173e2ea94bbffb87ad2d6a"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Fri Jan 27 17:59:49 2012 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Fri Jan 27 17:59:49 2012 -0800"
      },
      "message": "Fix 5906830: Don\u0027t crash on lock screens that lack a clock.\n\nThis fixes a crash seen in SIM unlock screen where the\nlayout doesn\u0027t have a clock to update.\n\nChange-Id: Ic1473b60f6d32f3feae9e7aa4510f6e435fa9a73\n"
    },
    {
      "commit": "ce4a0c6f160241ea06e1f2000815094263dea70d",
      "tree": "90757ce44fd79f3fd9075cf1aeea58aa9deb26cc",
      "parents": [
        "11001c344a37ac515328133f46b80a2c92e61b6c"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Wed Nov 16 18:45:38 2011 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Fri Jan 27 17:15:18 2012 -0800"
      },
      "message": "Fix 5906830: Update the clock earlier when lock screen comes back from suspend.\n\nThis attempts to fix an issue where sometimes the time shown on lock\nscreen was really old.  The code now sets the time immediately when the\nscreen turns on.\n\nChange-Id: Ic4649ea342499aea82f997ba488bc2cb45987739\n"
    },
    {
      "commit": "fb9e364380f91295490d1acbfc9a571cb6a4384b",
      "tree": "2c706dc15222e88c18ef9e49e8903e77166e92d5",
      "parents": [
        "b14ecd2684d5b2c1f284b669d2ffa9c19bfee7b4",
        "93708af1329bb278d83c1fac6a623629cb42a3d4"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Jan 26 14:30:49 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 26 14:30:49 2012 -0800"
      },
      "message": "Merge \"Fix 5620754: don\u0027t show pattern unlock after SIM unlock if not enabled.\""
    },
    {
      "commit": "93708af1329bb278d83c1fac6a623629cb42a3d4",
      "tree": "24cad990c0a6d41a7e43b62e839871eb5d785ca6",
      "parents": [
        "2ca25cd6d63f818c45e53370690fbf625524909a"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Wed Jan 25 18:26:12 2012 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Wed Jan 25 18:26:12 2012 -0800"
      },
      "message": "Fix 5620754: don\u0027t show pattern unlock after SIM unlock if not enabled.\n\nThis fixes a bug where the device would show pattern unlock after the user\nentered the SIM PUK unlock code.  The code now correctly determines that\nthe device isn\u0027t secure and thus shouldn\u0027t show the unlock screen.\n\nChange-Id: I49fd749592154a4c5840038b92d54ca7ca086074\n"
    },
    {
      "commit": "3868cee0b9306644b250d3cd78b1be7af70abf68",
      "tree": "1f9734873007c1b88b44c7e7897eed9251830dbe",
      "parents": [
        "2ca25cd6d63f818c45e53370690fbf625524909a"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Jan 24 14:47:57 2012 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Jan 24 16:59:54 2012 -0800"
      },
      "message": "Fix 5907237: dismiss keyguard after the camera app launches.\n\nThis fixes a bug where either the home screen or the last app run shows\nbriefly while we wait for the camera app to launch.  Instead, we have\nActivityManager dismiss keyguard once the camera app is up and running.\n\nChange-Id: I1c2986ad84024dce675216a76c19c937c3e2828d\n"
    },
    {
      "commit": "8c190f76fc92b6db9a1886b5de5b7cecdd656c4b",
      "tree": "5f715a63fc27751767bdb48c1bbbf42a00d4f411",
      "parents": [
        "6f203807e0cc9fb4fea9d56092d66d4817f39e96",
        "29cd79c7b0fecd2753fc27405794c0d5b5314302"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jan 24 11:37:24 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 24 11:37:24 2012 -0800"
      },
      "message": "am 29cd79c7: am c986d6f0: Merge \"Fix issue #5906017: Missing menu entries in portrait when in compatibility mode\" into ics-mr1\n\n* commit \u002729cd79c7b0fecd2753fc27405794c0d5b5314302\u0027:\n  Fix issue #5906017: Missing menu entries in portrait when in compatibility mode\n"
    },
    {
      "commit": "a486a53a02392c5d5de5a3d0856433a25e56b110",
      "tree": "1e10978bdb9fbdaf144d95e27f8c96362b15620d",
      "parents": [
        "fee5a860a8355cda071ff23644e943414ba7f65d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jan 23 17:23:08 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jan 23 18:02:46 2012 -0800"
      },
      "message": "Fix issue #5906017: Missing menu entries in portrait when in compatibility mode\n\nThis was a bug only when the status bar was hidden, the screen space for\nthe nav bar would not be correctly removed for all frames used in layout\ncomputation.\n\nThis code really $*#\u0026^!! needs to be cleaned up, the whole \"status bar\nis the system bar when on a tablet so it should take space from apps,\nbut status bar doesn\u0027t do that on phones but on phones there is a nav\nbar that does the same thing\" thing is whacked.\n\nProof that evolution DOESN\u0027T WORK!!!!!!!!!!\n\nChange-Id: I24e4994328480820cb638e7a40aa0b65b7ae2003\n"
    },
    {
      "commit": "d3fe9abfb9a6a21a18abde6a98dceb423c04ebef",
      "tree": "35cadfcae72edfa6d0bff057bfd84a2e60857edd",
      "parents": [
        "865534a0e30982b0e669006509b9590fad129295",
        "ab9601cdbb95ae94088750eff9a926a572c1a4d6"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Fri Jan 20 15:48:21 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 20 15:48:21 2012 -0800"
      },
      "message": "am ab9601cd: am 230a7092: Merge \"Fix 5863053: Add method to lock screen immediately.\" into ics-mr1\n\n* commit \u0027ab9601cdbb95ae94088750eff9a926a572c1a4d6\u0027:\n  Fix 5863053: Add method to lock screen immediately.\n"
    },
    {
      "commit": "cfbf7dedaddd825b608e87d3dcf46adf80a46976",
      "tree": "75601703069be05b1da575fdb95be34ef2fd8c52",
      "parents": [
        "820b45c0a21980a43532b9fb9823f8aa08c64a15"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jan 12 14:05:03 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jan 20 11:01:01 2012 -0800"
      },
      "message": "Fix issue #5823276 again: home repaints after full-screen app is exited\n\nDon\u0027t consider a window as a candidate for the top fullscreen window\nif it is not going to be a candiate for layout.\n\nThis fix does not include the change to ignore app tokens that are\nhidden.  This causes problems in some dialogs that stay hidden until\ntheir app is ready to display, but need to perform a series of relayouts\nduring that time to get to the right size.  Dropping this part of\nthe change still (mostly?) seems to allow us to avoid the bad states.\n\nChange-Id: Ic052cb1499d3287f47e9ffeac5cd2470ee5a308c\n"
    },
    {
      "commit": "170997a519ce79e93e4f6984e9663232475ce92c",
      "tree": "35cfb58116933c36a5cdad70c429bdce095ed87a",
      "parents": [
        "12310ee801553e63091ce3bda6f07a5be31a473c"
      ],
      "author": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Thu Jan 19 13:48:18 2012 -0800"
      },
      "committer": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Thu Jan 19 15:41:33 2012 -0800"
      },
      "message": "DO NOT MERGE Revert \"Fix issue #5823276: home repaints after full-screen app is exited\"\n\nThis reverts commit 01b02a734d2988c22b00f5df6346ad03d8bf52b6.\n\nChange-Id: I848c01fc44eb9a51ead1116b2647ed838ec1825f\n"
    },
    {
      "commit": "230a709285abc5dfd92f05d91a8997d52a59d3c7",
      "tree": "782118afed3a59641c740dc5a32559b80eccc3cc",
      "parents": [
        "db2e71635968f455ad4f41b2e24fb8b909c24ca0",
        "93c518e4f8abd98f87cda1712b30a5a86cfa60dd"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Wed Jan 18 16:44:52 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 18 16:44:52 2012 -0800"
      },
      "message": "Merge \"Fix 5863053: Add method to lock screen immediately.\" into ics-mr1"
    },
    {
      "commit": "93c518e4f8abd98f87cda1712b30a5a86cfa60dd",
      "tree": "fd9e7459bf5a228aef50826097a2cc714b8a6013",
      "parents": [
        "ff321d496a6a07fc667112ecfe4d9a107d44147b"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Jan 17 15:55:31 2012 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Jan 17 18:11:05 2012 -0800"
      },
      "message": "Fix 5863053: Add method to lock screen immediately.\n\nThis fixes a bug where the device fails to lock when DevicePolicyManagerService\nrequests the device to be locked and the screen was off because the user hit\nthe power button.\n\nThe change allows DPMS to directly invoke screen lock, bypasssing the screen state.\n\nChange-Id: Iecdda6fc61e9c519119de495be23c69c3b983921\n"
    },
    {
      "commit": "f88d1493aa968d3da551116f076edd5e21f7ccfc",
      "tree": "553a98239d2e3d547da50e658c57a708efc17aad",
      "parents": [
        "31cef1451e84e613825a78716f4b8cedd5ae9084",
        "100651779fde99f7ae2a10719d688b51115f08e9"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jan 13 13:01:48 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 13 13:01:48 2012 -0800"
      },
      "message": "am 10065177: am 2e282f35: Merge \"Fix issue #5823276: home repaints after full-screen app is exited\" into ics-mr1\n\n* commit \u0027100651779fde99f7ae2a10719d688b51115f08e9\u0027:\n  Fix issue #5823276: home repaints after full-screen app is exited\n"
    },
    {
      "commit": "2e282f35b009fe4c23daca35592dae2032641643",
      "tree": "8dc3befb0826cc22653a327281f86ebc904647e9",
      "parents": [
        "da7b7700d0f499ac9b0bac51365b3da235388ae6",
        "01b02a734d2988c22b00f5df6346ad03d8bf52b6"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jan 13 12:56:40 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 13 12:56:40 2012 -0800"
      },
      "message": "Merge \"Fix issue #5823276: home repaints after full-screen app is exited\" into ics-mr1"
    },
    {
      "commit": "191713a51f0292b7fce72cc7e16cfd0f0204a0c7",
      "tree": "d8fc9aae23ff85cd5f2c88d3c4ca2fad36642283",
      "parents": [
        "dc89357810976556d20483c7fe161b68ed4d2acf"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu Jan 12 12:02:22 2012 -0800"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu Jan 12 17:39:40 2012 -0800"
      },
      "message": "Move where prop dev.bootcomplete is set\n\nCurrently test harnesses depends on this flag to determine when\nthe system is fully booted, and start dismissing keyguard, launch\ntests etc. However, the flag is usually set when the boot animation\nis still running, and typically about 5 seconds before keyguard is\nup etc. Moving to to when BOOT_COMPLETE broadcast is sent makes it\nwork more reliable.\n\nWe also discussed about using sys.boot_completed instead,\nunfortunately this flag is not in all platform and we still have\nbackwards compatibility to maintain in order to drive unbundled\ntests.\n\nChange-Id: I99b084cd70d8e4bcfe490ddeca868136d32712e2\n"
    },
    {
      "commit": "01b02a734d2988c22b00f5df6346ad03d8bf52b6",
      "tree": "36cc4f3027585963a0db3ad33f907c28182f9fe1",
      "parents": [
        "d3be0a76e46584357dbb77fcd200128d0d7dc9a8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jan 12 14:05:03 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jan 12 14:05:03 2012 -0800"
      },
      "message": "Fix issue #5823276: home repaints after full-screen app is exited\n\nDon\u0027t consider a window as a candidate for the top fullscreen window\nif it is not going to be a candiate for layout.\n\nAlso don\u0027t consider windows a candidate for layout if their app token\nis hidden.  This fixes a transient state where we are preparing to\nunhide the window but have not done so yet.\n\nChange-Id: Ife5299ffa003c1df1a4f787b7a2809cbf614ec16\n"
    },
    {
      "commit": "0b92eb4b8c2cfd1230245e387424df19ae0535d9",
      "tree": "63a85a10df422dafa46a8e082fbf40a79c6113f7",
      "parents": [
        "494a17761d524c53b26f198e59f4f82af2cf0abf",
        "1aff11be4585d6ddff784d7e74188963050805fa"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Jan 12 13:37:58 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 12 13:37:58 2012 -0800"
      },
      "message": "am 1aff11be: am 7a286d83: Merge \"Fix 5620754: don\\\u0027t show pattern screen after SIM PUK unlock\" into ics-mr1\n\n* commit \u00271aff11be4585d6ddff784d7e74188963050805fa\u0027:\n  Fix 5620754: don\u0027t show pattern screen after SIM PUK unlock\n"
    },
    {
      "commit": "7a286d8391a58637e6834f4de296bf66183ce1b2",
      "tree": "d1ecb04b701ed6b3bdba3ce433a160cdcde9dc63",
      "parents": [
        "755a967bdc2cddb6fbadd10e357f8a5328520061",
        "28a0767751268601c4b8c208e4f8708ee2e88533"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Jan 12 12:28:59 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 12 12:28:59 2012 -0800"
      },
      "message": "Merge \"Fix 5620754: don\u0027t show pattern screen after SIM PUK unlock\" into ics-mr1"
    },
    {
      "commit": "8a1131d78925756835561c3e19cddd2ddf9dbd99",
      "tree": "ba443e9ac43ae6176559f494eefb87ba0056e997",
      "parents": [
        "4ac4ab4ef046eed4d1ada7bbb1d54ee0a244d454",
        "7664c0e99d2ee70ad714b904a166b17ac7efdf9f"
      ],
      "author": {
        "name": "Brian Colonna",
        "email": "bcolonna@google.com",
        "time": "Thu Jan 12 06:33:49 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 12 06:33:49 2012 -0800"
      },
      "message": "Merge \"DO NOT MERGE cherry-picked FU framework tablet commits\" into ics-mr1"
    },
    {
      "commit": "28a0767751268601c4b8c208e4f8708ee2e88533",
      "tree": "995e128a956bc5d8c97c8dbba353780c0efb8999",
      "parents": [
        "d1186cd5bb445e9b0768edf6cb87022865cada55"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Jan 10 18:35:21 2012 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Jan 10 18:35:21 2012 -0800"
      },
      "message": "Fix 5620754: don\u0027t show pattern screen after SIM PUK unlock\n\nThis fixes a bug introduced in testing 34a62348. The code now\nproperly invokes the callbacks before returning.\n\nChange-Id: I637a8a792838379f0c8b42ef634da82787fcd961\n"
    },
    {
      "commit": "5437c220e239dc6276942990bc81c1388cfb176c",
      "tree": "e7324a7a036e03808450d39970e2586dae43cac8",
      "parents": [
        "251f0485440cc8202308ce6c00cbc56b207ded55",
        "d3872f55045b7ce7be7dd7ae5fff37d7988bdcb2"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Jan 10 10:34:51 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 10 10:34:51 2012 -0800"
      },
      "message": "am d3872f55: am 62fad768: Merge \"Fix 4560303: Add setting to lock later when power button pressed\" into ics-mr1\n\n* commit \u0027d3872f55045b7ce7be7dd7ae5fff37d7988bdcb2\u0027:\n  Fix 4560303: Add setting to lock later when power button pressed\n"
    },
    {
      "commit": "a4edd151c5266a2c794c95444fed67d19740cee3",
      "tree": "7008761867bb578a39fc24a23c20dc9b27471ee0",
      "parents": [
        "12d9954d198d29da1a15ba2c6947ce91839cbb83"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Fri Jan 06 18:24:04 2012 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Jan 09 17:30:58 2012 -0800"
      },
      "message": "Fix 4560303: Add setting to lock later when power button pressed\n\nThis adds a feature to delay locking the device when the power button\nis pressed.  This fixes a use case where the user wants to turn off\nthe display (e.g. to save power) but doesn\u0027t want to lock the device.\n\nFor the case of a secure device (user has a pin/password/pattern),\nthis will lock the device immediately or not based on the setting.\n\nFor the non-secure case, this always \"locks\" the device to provide easy\naccess to the camera while preventing unwanted input.\n\nChange-Id: Ie328485c3f7559e26896d761cbf0e69d3f4df4e2\n"
    },
    {
      "commit": "7664c0e99d2ee70ad714b904a166b17ac7efdf9f",
      "tree": "1d384e6c64435e185a7ba34ccfbe46e07a5d440c",
      "parents": [
        "7944704e6c4cc10105838b78d3d8403bf66a066b"
      ],
      "author": {
        "name": "Brian Colonna",
        "email": "bcolonna@google.com",
        "time": "Mon Jan 09 16:22:12 2012 -0500"
      },
      "committer": {
        "name": "Brian Colonna",
        "email": "bcolonna@google.com",
        "time": "Mon Jan 09 16:22:12 2012 -0500"
      },
      "message": "DO NOT MERGE cherry-picked FU framework tablet commits\n\n- cherry-picking framework CLs from master into ics-mr1 that are\n  needed for FU to work on tablets\n\n- needed for OEM partners even FU isn\u0027t going on xoom\n\nSquashed commit of the following:\n\ncommit 3258f2528f558efdaf34ae15c5425f2d879848fe\nAuthor: Brian Colonna \u003cbcolonna@google.com\u003e\nDate:   Tue Dec 13 15:49:48 2011 -0500\n\n    Added Face Unlock to tablet lockscreen layouts\n\n    The Face Unlock Area was not part of the tablet layouts, so prior to\n    this change, Face Unlock would not show up on tablets when selected as\n    the unlock method.  The backup unlock method would show up instead.\n\n    The goal here is for the pattern and PIN unlock layouts (in both\n    portrait and landscape mode) to look the same as before this change.\n    This was a little harder than it was with the phone layouts for two\n    reasons:\n\n    1) For the phones it was ok for Face Unlock to be sized such that it\n    just covers the backup method.  For the tablets we want Face Unlock\n    to cover far more real estate.\n\n    2) The phones were based on a grid layout, whereas the tablet is a\n    linear layout.\n\n    Note that the diff makes the modifications look way more extensive\n    than they actually are.  Basically, in most cases I am putting a\n    relative layout around some existing portion of the layout and\n    putting the Face Unlock Area area inside of the new relative layout.\n\n    Change-Id: I478becddf2a9ee9fe7b6d653e604fa3ad89b822f\n\ncommit 821cfe85cf2b3daf074d9749dbf6e0a5663af0de\nAuthor: Brian Colonna \u003cbcolonna@google.com\u003e\nDate:   Mon Dec 19 15:51:10 2011 -0500\n\n    Unbinding from FU when going to backup\n\n    Lockscreen was stopping Face Unlock when going to the backup lock, but\n    not unbinding from the Face Unlock service until the device was\n    unlocked.\n\n    This caused a bug on the tablets where Face Unlock would reappear when\n    switching between portait and landscape orientations, even after the\n    backup lock was exposed.  On an orientation change, Face Unlock is\n    restarted if the service is bound to during the orientation change.\n    Since it was bound to when it should not have been, Face Unlock was\n    restarting when it should not have been.\n\n    The wakelock is also now being poked on an orientation change because\n    on the tablet you can keep Face Unlock alive by switching the\n    orientation back and forth, but eventually the screen would go dark\n    with Face Unlock running.\n\n    Also, a conditional was moved in activateFaceLockIfAble() so the whole\n    section isn\u0027t executed if Face Unlock is not in use.  Part of it was\n    being executed with only the inner-most part having the check.  This\n    did not cause any issues that I am aware of.\n\n    Change-Id: Ib452b8ced28a507bf9272dbf5d3477a8abd1ba90\n\ncommit fa90bb76ac6b311d12b55d23df4ac44cec62c7b3\nAuthor: Brian Colonna \u003cbcolonna@google.com\u003e\nDate:   Mon Dec 12 18:02:23 2011 -0500\n\n    Changed how Face Unlock coordinates are specified\n\n    Was using View.getLeft() and View.getTop() to specify the upper-left\n    corner of the Face Unlock area.  That gives coordinates relative the\n    view, which was fine for the phones.  For the tablet it needs\n    coordinates relative to the window (which still works for the phones).\n\n    Also fixed a \u0027bug\u0027 where h and w were swapped.  However, it wasn\u0027t\n    causing a problem because it was swapped in two places.\n\n    Change-Id: I86c1f68439f1dcef826cfe6b8fb56c9a4a6b8dc3\n\nChange-Id: I962c0486be85949e002b0a2701286a6a39251f36\n"
    },
    {
      "commit": "edcac2aa695b2cd774ecc8deaa78c363b227b45b",
      "tree": "b7cd028fae7fe178d4a71a6433d62ba5bb09493d",
      "parents": [
        "b8f90a0e6eae582778bbe10b6347acbf5fc69bfb",
        "fb45f7b08b0218b59b5b3a9631f9b37fc8fb3dfd"
      ],
      "author": {
        "name": "Brian Colonna",
        "email": "bcolonna@google.com",
        "time": "Tue Jan 03 13:42:17 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 03 13:42:17 2012 -0800"
      },
      "message": "Merge \"Unbinding from FU when going to backup\""
    },
    {
      "commit": "d02c5dfd8dac526ec3c74e2c160835aa2c9d19c9",
      "tree": "06df9c477ff194828a0f80455ffd1709b76fbfee",
      "parents": [
        "cf701add24c2b598fd25f20e6cb0c6766b8e3be6",
        "c01392816fbb16ca76c738bc801f3b2c34548c06"
      ],
      "author": {
        "name": "John Wang",
        "email": "johnwang@google.com",
        "time": "Tue Dec 20 10:45:32 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 20 10:45:32 2011 -0800"
      },
      "message": "am c0139281: am c892e177: Merge \"Hide emergency call text if not support it.\" into ics-mr1\n\n* commit \u0027c01392816fbb16ca76c738bc801f3b2c34548c06\u0027:\n  Hide emergency call text if not support it.\n"
    },
    {
      "commit": "fb45f7b08b0218b59b5b3a9631f9b37fc8fb3dfd",
      "tree": "41af28e95c1db0191fe14d352fca00c5ae0d04ca",
      "parents": [
        "01583ef715641c8a3ce68269b091e75adbe9335a"
      ],
      "author": {
        "name": "Brian Colonna",
        "email": "bcolonna@google.com",
        "time": "Mon Dec 19 15:51:10 2011 -0500"
      },
      "committer": {
        "name": "Brian Colonna",
        "email": "bcolonna@google.com",
        "time": "Mon Dec 19 15:51:10 2011 -0500"
      },
      "message": "Unbinding from FU when going to backup\n\nLockscreen was stopping Face Unlock when going to the backup lock, but\nnot unbinding from the Face Unlock service until the device was\nunlocked.\n\nThis caused a bug on the tablets where Face Unlock would reappear when\nswitching between portait and landscape orientations, even after the\nbackup lock was exposed.  On an orientation change, Face Unlock is\nrestarted if the service is bound to during the orientation change.\nSince it was bound to when it should not have been, Face Unlock was\nrestarting when it should not have been.\n\nThe wakelock is also now being poked on an orientation change because\non the tablet you can keep Face Unlock alive by switching the\norientation back and forth, but eventually the screen would go dark\nwith Face Unlock running.\n\nAlso, a conditional was moved in activateFaceLockIfAble() so the whole\nsection isn\u0027t executed if Face Unlock is not in use.  Part of it was\nbeing executed with only the inner-most part having the check.  This\ndid not cause any issues that I am aware of.\n\nChange-Id: Ib452b8ced28a507bf9272dbf5d3477a8abd1ba90\n"
    },
    {
      "commit": "44fcb83b38b062a650ddf556fe7f5e34905df9ea",
      "tree": "f5726b3011934023b43a46eb3ce3be6742a274ba",
      "parents": [
        "3766a7a27535101e62af958b1d2d710daa166d7d"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Dec 14 20:59:30 2011 -0800"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Thu Dec 15 16:16:14 2011 -0800"
      },
      "message": "Add a new ui mode for \"appliance\"\n\nThe idea is that this is a device which is more-or-less headless.  It\nmight have some limited interaction capabilities, but it\u0027s not something\nthat you want to rely on having.\n\nChange-Id: Ib92f53a120bf83de781728011721a4859def7d9f\n"
    },
    {
      "commit": "088f1628991cc63401d12ce2e979f0520696693b",
      "tree": "e0eda17afe6da220615ec454a9500ee56f0b6f38",
      "parents": [
        "26bd66df4fc8caa7885fe3a4e78e379389a24a94"
      ],
      "author": {
        "name": "John Wang",
        "email": "johnwang@google.com",
        "time": "Wed Dec 14 19:51:37 2011 -0800"
      },
      "committer": {
        "name": "John Wang",
        "email": "johnwang@google.com",
        "time": "Wed Dec 14 19:51:37 2011 -0800"
      },
      "message": "Hide emergency call text if not support it.\n\nShow \"emergency call only\" text in carrier string\nonly if phone supports emergency calls.\n\nbug:5570742\nChange-Id: Ie826583fd55073e57c5fe4fe6e585781127caa6a\n"
    },
    {
      "commit": "ee4d45f3052c8d339035c4bb8eca9b7a724e5074",
      "tree": "3d2ff1ea678f8f191369e5645f505b5f8f63049f",
      "parents": [
        "78efa026c7b5e7bcd06ab1f58ccd024366687cd3",
        "0be53567c1c2299c548d3204d2b9240108fbd53a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Dec 13 13:44:14 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 13 13:44:14 2011 -0800"
      },
      "message": "am 0be53567: am 19a06fe9: Merge \"Fix issue #5755172: Soft menu key disappears when menu is open\" into ics-mr1\n\n* commit \u00270be53567c1c2299c548d3204d2b9240108fbd53a\u0027:\n  Fix issue #5755172: Soft menu key disappears when menu is open\n"
    },
    {
      "commit": "73ab6a49db2b834ce1d56c7a1164938b409ee6fc",
      "tree": "2807f9928a6ec5a5518bff83e49d2fec5081d691",
      "parents": [
        "f0bbc494d638f4c77e688bf9410027f453301559"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Dec 13 11:16:23 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Dec 13 11:32:11 2011 -0800"
      },
      "message": "Fix issue #5755172: Soft menu key disappears when menu is open\n\nWe need to work more like before in determining whether the menu\nkey is needed -- in some cases look back in the window list to\ndetermine this if we don\u0027t know the value from the current window.\n\nThis requires adding a new private flag indicating whether the\ncompat menu state is known for a window, which is set by\nPhoneWindow as part of its existing process of computing the flag\nfor its own windows.\n\nNow we can have a new API on WindowState to determine the value\nof this flag for a window, which if needed walks back in the window list\nto find a window the value is known for (or stops at what the policy\nhas determined is the top full-screen window, so we stop like we used\nto at things like the lock screen or the bottom of an application).\n\nChange-Id: I829de6d629b5af8bcb422cb85249ee4041c7205e\n"
    },
    {
      "commit": "a44f2a59a2408ff367bd2efc7f74ec56f92565dc",
      "tree": "37fe63dbd27fa2cdf39ff595d08423357c5962bf",
      "parents": [
        "2ff8cc2438866f791d8fe888573b5fba103e2cd0"
      ],
      "author": {
        "name": "Brian Colonna",
        "email": "bcolonna@google.com",
        "time": "Mon Dec 12 18:02:23 2011 -0500"
      },
      "committer": {
        "name": "Brian Colonna",
        "email": "bcolonna@google.com",
        "time": "Mon Dec 12 18:02:23 2011 -0500"
      },
      "message": "Changed how Face Unlock coordinates are specified\n\nWas using View.getLeft() and View.getTop() to specify the upper-left\ncorner of the Face Unlock area.  That gives coordinates relative the\nview, which was fine for the phones.  For the tablet it needs\ncoordinates relative to the window (which still works for the phones).\n\nAlso fixed a \u0027bug\u0027 where h and w were swapped.  However, it wasn\u0027t\ncausing a problem because it was swapped in two places.\n\nChange-Id: I86c1f68439f1dcef826cfe6b8fb56c9a4a6b8dc3\n"
    },
    {
      "commit": "e4067faca93ee1669c7b68d5e767317c0bbad9c1",
      "tree": "c1b4f8d842464d917e01c2c482a620ee51f55f00",
      "parents": [
        "c4ea8dfd46a5eeeedd15664a6499ecde32985509",
        "ebc6fb46c28c972d745c3d34b9fdfaf46fb20c1d"
      ],
      "author": {
        "name": "Steven Ross",
        "email": "stross@google.com",
        "time": "Fri Dec 09 16:28:39 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 09 16:28:39 2011 -0800"
      },
      "message": "Merge \"Checking whether screen is on in constructor fixes 5658742\""
    },
    {
      "commit": "bdc18b28eb04b8c8cc00313096f8bfb142e407e3",
      "tree": "e41f9646de276f365c054919031d6433aa15079d",
      "parents": [
        "fa7fa9a5ba796eabb2dadb8e2ce1b97da38e939e",
        "03e634270d880407316b51fac2278e604fc82703"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Dec 09 14:25:41 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 09 14:25:41 2011 -0800"
      },
      "message": "am 03e63427: am 8e0ecbfc: Merge \"Shortcut keys should be handled on down, not up.\" into ics-mr1\n\n* commit \u002703e634270d880407316b51fac2278e604fc82703\u0027:\n  Shortcut keys should be handled on down, not up.\n"
    },
    {
      "commit": "fa7fa9a5ba796eabb2dadb8e2ce1b97da38e939e",
      "tree": "69f1929304b224494121d8e592078f269028e1f3",
      "parents": [
        "ec3a88dee2c7d77c09eaad0c297f077744033d48",
        "944c985b4199e6e029568ea87004c9727e469cc0"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Dec 09 14:25:38 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 09 14:25:38 2011 -0800"
      },
      "message": "am 944c985b: am e0e9fd98: Merge \"Fix system hotkey handling.\" into ics-mr1\n\n* commit \u0027944c985b4199e6e029568ea87004c9727e469cc0\u0027:\n  Fix system hotkey handling.\n"
    },
    {
      "commit": "ebc6fb46c28c972d745c3d34b9fdfaf46fb20c1d",
      "tree": "d91c1b1577c420e8884449673994a388fcbba8d3",
      "parents": [
        "d3209c1bb21ce026d4e41464740e3d8f57cdd56f"
      ],
      "author": {
        "name": "Steven Ross",
        "email": "stross@google.com",
        "time": "Fri Dec 09 09:28:29 2011 -0500"
      },
      "committer": {
        "name": "Steven Ross",
        "email": "stross@google.com",
        "time": "Fri Dec 09 09:28:29 2011 -0500"
      },
      "message": "Checking whether screen is on in constructor fixes 5658742\n\nChange-Id: Ic96c8dd9ee9e86000b0cbe22a7d068a8ee424448\n"
    }
  ],
  "next": "8e0ecbfc97606ea30d0d8216fea635888f766b9d"
}
