)]}'
{
  "log": [
    {
      "commit": "87fc30828209afa25be69ac7053241f4eaeb3378",
      "tree": "92a3964b0d53255a62504e92c076bd51c3fbc9b8",
      "parents": [
        "189ee18d6c6483ad63cc864267328259e2e00b95"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Dec 03 13:09:12 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Dec 03 13:09:12 2010 -0800"
      },
      "message": "Fix issue #3175809: system_server crash with SEGV_MAPERR (IKXEVEREST-1372)\n\nDon\u0027t crash if dump() is called before we have set mDisplay.\n\nChange-Id: I0d3d356ff27dbc61353a5b99e348178937d5f4a5\n"
    },
    {
      "commit": "bcee0ef7ea3faa8c52b97ac3537289c20f2cc24f",
      "tree": "814b730b8689fa959573ccde66b3e38036dd4d32",
      "parents": [
        "fddcb0617456da836c8a4e5e16cc4177447608be",
        "d7ad0d28372bba03a3b6c5d01e0e7b0066e51374"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Thu Dec 02 16:10:02 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 02 16:10:02 2010 -0800"
      },
      "message": "Merge \"sampling profiler hz -\u003e ms\""
    },
    {
      "commit": "fddcb0617456da836c8a4e5e16cc4177447608be",
      "tree": "b25907cf96374ff4bcc0aed3ccec1c6901d734d4",
      "parents": [
        "cd5e8b60cad508714fc9ecf42d6431ad8ccf7db1",
        "9065504a63d6bf37bf621191fda1d1fe4da76ee3"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Dec 02 16:03:05 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 02 16:03:05 2010 -0800"
      },
      "message": "Merge \"Improve support for external keyboards.\""
    },
    {
      "commit": "9065504a63d6bf37bf621191fda1d1fe4da76ee3",
      "tree": "500948db3ef54c52fc65f52f4ab4a220e4504009",
      "parents": [
        "d6a46103bfbed17451abf0fb608d7b778597846c"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Dec 02 13:50:46 2010 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Dec 02 16:01:32 2010 -0800"
      },
      "message": "Improve support for external keyboards.\n\nUse Vendor ID, Product ID and optionally the Version to\nlocate keymaps and configuration files for external devices.\n\nMoved virtual key definition parsing to native code so that\nEventHub can identify touch screens with virtual keys and load\nthe appropriate key layout file.\n\nCleaned up a lot of old code in EventHub.\n\nFixed a regression in ViewRoot\u0027s fallback event handling.\n\nFixed a minor bug in FileMap that caused it to try to munmap\nor close invalid handled when released if the attempt to map\nthe file failed.\n\nAdded a couple of new String8 conveniences for formatting strings.\n\nModified Tokenizer to fall back to open+read when mmap fails since\nwe can\u0027t mmap sysfs files as needed to open the virtual key\ndefinition files in /sys/board_properties/.\n\nChange-Id: I6ca5e5f9547619fd082ddac47e87ce185da69ee6\n"
    },
    {
      "commit": "d7ad0d28372bba03a3b6c5d01e0e7b0066e51374",
      "tree": "ed22d3af1b52eb63366610ee8ab5b55be8a25b01",
      "parents": [
        "e6744db78e1d742516143ca3973b18a93629dbe2"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Thu Dec 02 15:30:23 2010 -0800"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Thu Dec 02 15:30:23 2010 -0800"
      },
      "message": "sampling profiler hz -\u003e ms\n\nGoes along with def41ec2e8 / Ifcfc343\n\nChange-Id: Ia5cc90e6f8d83dcdf40802859002507980310d06\n"
    },
    {
      "commit": "cd5e8b60cad508714fc9ecf42d6431ad8ccf7db1",
      "tree": "5f746c68c4c6cc2d2d2973950ac5080a0ae57ab6",
      "parents": [
        "ded695bb30e9c88c48c37e6fa5736771c6011b3d",
        "a30c12a18326ed4d608382cd4f970a6e15a58bf5"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Dec 02 15:25:18 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 02 15:25:18 2010 -0800"
      },
      "message": "am a30c12a1: am 4a88013a: resolved conflicts for merge of bf1439c5 to stage-korg-master\n\n* commit \u0027a30c12a18326ed4d608382cd4f970a6e15a58bf5\u0027:\n  Preserve flags field of event passed to injectKeyEvent()\n"
    },
    {
      "commit": "a30c12a18326ed4d608382cd4f970a6e15a58bf5",
      "tree": "dc5cefae5210228bcd0b2bce08d70f00056cd1c8",
      "parents": [
        "5343f5a84e66cc0806d20c16b96e612e80131ac2",
        "4a88013a4a06a9ea80e8419f94694936e6b013f0"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Dec 02 15:21:35 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 02 15:21:35 2010 -0800"
      },
      "message": "am 4a88013a: resolved conflicts for merge of bf1439c5 to stage-korg-master\n\n* commit \u00274a88013a4a06a9ea80e8419f94694936e6b013f0\u0027:\n  Preserve flags field of event passed to injectKeyEvent()\n"
    },
    {
      "commit": "4a88013a4a06a9ea80e8419f94694936e6b013f0",
      "tree": "e577b5f10df205463a542d7de841320958bf8c78",
      "parents": [
        "40eade14bb87d24903588de04449fdfe2e1795cb",
        "bf1439c513f0d24a9d23755b50750831574785f4"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Dec 02 15:16:53 2010 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Dec 02 15:16:53 2010 -0800"
      },
      "message": "resolved conflicts for merge of bf1439c5 to stage-korg-master\n\nChange-Id: Iab543a7ee449025f1df5d58afaa8f8fdd4809c99\n"
    },
    {
      "commit": "b7090d68be1046e7b8743620592bb63c8256eeab",
      "tree": "9db257e8d07b6865ecd5a46d52d35e389579f5df",
      "parents": [
        "5e3af5fcba360916f38753bd505e47040fc87729"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Dec 02 11:31:00 2010 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Dec 02 12:19:17 2010 -0800"
      },
      "message": "Load persisted global proxy settings.\n\nWas persisted before, but not loaded at boot.\n\nChange-Id: I6d6b69ede3d212a8266847d73d07a037ae917788\n"
    },
    {
      "commit": "d66c63e56e6b89d117bc4ff6dff9d70dec92e427",
      "tree": "12d878d1fb96b673cf480a732618dbe37e334d3f",
      "parents": [
        "97c40a9deeb18393792fe5096143d6760422dbe6",
        "cfce303cbdd59a3883957e4bc96a0476ceeb86ac"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Thu Dec 02 09:51:05 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 02 09:51:05 2010 -0800"
      },
      "message": "Merge \"Remove the need for a token parameter from AsyncChannel.\""
    },
    {
      "commit": "c6ded10dd1ee08c887d0e81d683a7611fbe3ca4d",
      "tree": "8c49fb439a2e9427634fc869798f866d42b1469e",
      "parents": [
        "e1de3f390e7be3f82fa5e3e5bf6d6c8cc8414091"
      ],
      "author": {
        "name": "Mike Playle",
        "email": "mike.playle@realvnc.com",
        "time": "Mon Nov 29 16:01:03 2010 +0000"
      },
      "committer": {
        "name": "Mike Playle",
        "email": "mike.playle@realvnc.com",
        "time": "Thu Dec 02 16:25:46 2010 +0000"
      },
      "message": "Preserve flags field of event passed to injectKeyEvent()\n\nThis patch allows users of WindowManagerService.injectKeyEvent() to\nset flags on the key event being injected.\n\nIn particular this allows long presses (FLAG_LONG_PRESS) to be\ninjected into the window manager.\n"
    },
    {
      "commit": "cfce303cbdd59a3883957e4bc96a0476ceeb86ac",
      "tree": "9f1d4933672d57beb4849b6d63953aa9feec2777",
      "parents": [
        "f72a59bbbbd1e08cef131ad0341c44160d22a381"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Wed Dec 01 23:20:25 2010 -0800"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Wed Dec 01 23:20:25 2010 -0800"
      },
      "message": "Remove the need for a token parameter from AsyncChannel.\n\nBy returning the channel object it self it is unnecessary\nto have a token. Also, no current code needed it, if its\nneeded in the future it can be added back.\n\nChange-Id: Ie1d2a1e885f9cd74e95663711ccefb760811bf16\n"
    },
    {
      "commit": "407b4e91fe7627545b8110e683953353236b4543",
      "tree": "4235966903b57ba0faf502fc3a91e4f81aeef67b",
      "parents": [
        "4da12f07b5c1ecd7cea7f44081a744523936bd41"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Nov 30 17:14:08 2010 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Dec 01 14:45:06 2010 -0800"
      },
      "message": "API CHANGE: drags can now carry an originator-only object payload\n\nWhen calling startDrag(), the app can now supply an Object to be passed\nalong in every DragEvent that the app winds up receiving itself.  This\nobject is *not* passed to any other applications; it\u0027s strictly app-\nlocal.  The purpose is to allow state tracking/management to be done\ndirectly through the drag mechanism rather than requiring out-of-band\ncode.\n\nAn example of the utility here might be TextEdit widgets.  A drag that\nstarts in one TextEdit but ends in a different one should be treated as\na copy/paste operation, where the originating TextEdit is not altered.\nHowever, a drag that starts and ends in the *same* TextEdit is a \u0027move\u0027\noperation within that TextEdit; the text is removed from its original\nposition and inserted at the drop point.  To support this easily, the\ndrag/drop code in TextEdit can now pass a pointer to the originating\nview as the local state object.  Then, the drop recipient could tell\nwhether the drag started within the same TextEdit without needing to\nimplement any other out-of-band state tracking.\n\nThis CL (and its accompanying CLs in a few other packages where the\nstartDrag() API is being used) adds the new local-state parameter to\nthe API, but does not actually change the behavior of any existing\nclients.\n\nChange-Id: Icba73b2ab4a650b7a94485a19633065b0ef9058c\n"
    },
    {
      "commit": "0f761d6b8f5d5a607c87dbcdca6fe0ec7911970e",
      "tree": "06f47ce47a1b403c66865d0fa8d074e9467a937c",
      "parents": [
        "7423c09f7a8cf4c7a5cf6856e7e8eb40bb67cac6"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Nov 30 22:06:10 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Dec 01 11:00:42 2010 -0800"
      },
      "message": "Implement issue #3201795: Improve transition when keyboard comes up\n\nViewRoot now does a fade animation between a snapshot of the previous\nlayout to the new one when its content rect changes.\n\nAlso tweaked some things in the window manager to fix problems in\ndeciding when to animate the movement of a window and when not to.\n\nChange-Id: I9b4b3bd53c8258bd39a2f2fc315e77cfc56a409c\n"
    },
    {
      "commit": "f38b709e470849943befbe88a0daeb7324f5114b",
      "tree": "94989c573797041e65af3cb088ce5fce2c5aa214",
      "parents": [
        "7e5cd7968356ea111988a372095e352d76476994",
        "af2d3c7ccebb009f31a92c1a87b0925a2891e1c4"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Dec 01 09:53:17 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 01 09:53:17 2010 -0800"
      },
      "message": "am af2d3c7c: Merge \"DO NOT MERGE Remove wifistatetracker lock access in BroadcastReceiver\" into gingerbread\n\n* commit \u0027af2d3c7ccebb009f31a92c1a87b0925a2891e1c4\u0027:\n  DO NOT MERGE Remove wifistatetracker lock access in BroadcastReceiver\n"
    },
    {
      "commit": "1f2451007c660091b7b090c1ea332f9044515d2d",
      "tree": "eddeaa59b0443b271353cd731e9ce7ce5b1cd993",
      "parents": [
        "47e6b1b5eef8ee99872f278f66bc498c4fcca0d8"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Nov 18 20:53:46 2010 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Nov 30 18:50:17 2010 -0800"
      },
      "message": "Ensure the ShortcutManager uses the correct key character map.\n\nThe ShortcutManager used to only receive the key code of the key event\nthat triggered the shortcut.  This change now provides the shortcut\nmanager with the whole key event so it can look up the associated\ncharacter using the correct key character map.\n\nTo make this more efficient, added a mechanism for recycling\nkey events.  At the moment it is only used by key events owned by the\nsystem process, since clients of the existing API (such as Views)\nmight continue to hold on to key events after dispatch has finished so\nthey would break if the key event were recycled by the framework.\n\nDeprecated KeyCharacterMap.BUILT_IN_KEYBOARD.\n\nChange-Id: I4313725dd63f2be01c350c005a41c7fde9bc67e8\n"
    },
    {
      "commit": "47e6b1b5eef8ee99872f278f66bc498c4fcca0d8",
      "tree": "ef5a7c87b8dca433ea9707c1289ae7c8d2ba3787",
      "parents": [
        "735206f121cb2a11b3397870e6565178627e0aa3"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Nov 29 17:37:49 2010 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Nov 30 17:15:49 2010 -0800"
      },
      "message": "Support non-orientation aware keyboards and other devices.\n\nFixed a bug with dpad keys on external keyboards being rotated\naccording to the display orientation by adding a new input device\nconfiguration property called \"keyboard.orientationAware\".\n\nAdded a mechanism for overriding the key layout and key character\nmap in the input device configuration file using the new\n\"keyboard.layout\" and \"keyboard.characterMap\" properties.\n\nAlso added \"trackball.orientationAware\", \"touch.orientationAware\" and\n\"touch.deviceType\" configuration properties.\n\nRewrote the configuration property reading code in native code\nso that it can be used by EventHub and other components.\n\nAdded basic support for installable idc, kl, and kcm files\nin /data/system/devices.  However, there is no provision for\ncopying files there yet.\n\nDisabled long-press character pickers on full keyboards so that\nkey repeating works as expected.\n\nChange-Id: I1bd9f0c3d344421db444e7d271eb09bc8bab4791\n"
    },
    {
      "commit": "735206f121cb2a11b3397870e6565178627e0aa3",
      "tree": "8ca8003e363d53f7540c3f368a055f3edcb8cbde",
      "parents": [
        "1c8c173666313f8ab589fa54911661cbc41a5e8f",
        "35e16bfa9b9ad1074a7130fb2119cc109f31d4b0"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Nov 30 17:03:32 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 30 17:03:32 2010 -0800"
      },
      "message": "Merge \"NotificationManagerService: minor cleanup\""
    },
    {
      "commit": "35e16bfa9b9ad1074a7130fb2119cc109f31d4b0",
      "tree": "442298ce521de7dae2693437ea5f11e4f7843fb3",
      "parents": [
        "7adfd1896c17d734440962c9f8dbe4aad48bcb49"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Nov 30 19:53:36 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Nov 30 19:53:36 2010 -0500"
      },
      "message": "NotificationManagerService: minor cleanup\n\nChange-Id: I998727662eb3c0bae20e5af3f8c5e702bf5d4f38\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "f92b453a58d19531f3735dd90cd4f97a78823ae1",
      "tree": "8f1452ae7450e54b7ecc65d2a7307dfa9b9db36f",
      "parents": [
        "30c818444d876dd868b84adec2416308c90f32e3"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Nov 03 11:13:10 2010 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Nov 30 16:07:05 2010 -0800"
      },
      "message": "DO NOT MERGE Remove wifistatetracker lock access in BroadcastReceiver\n\nThe worksource reporting gets blocked by the\nstatetracker lock which can cause system restarts when\ndone from broadcastreceiver thread\n\nBug: 3153787\nChange-Id: Ie70687e7453a1c3618bac1424562be44762b2c9d\n"
    },
    {
      "commit": "7d3a5bcf300aea7bffb1d46f28e244ca807f5e82",
      "tree": "7c39e0dcd232712e512d117ff4158de5fef64953",
      "parents": [
        "af60e276e8d297cb583e0a3242aa0baf81f9d7a6"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Nov 29 22:52:12 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Nov 29 22:52:12 2010 -0800"
      },
      "message": "Auto-show IME for dialogs on large screens.\n\nOn a large screen the IME is not going to as significantly\ncover a pan \u0026 scan window, so allow it to auto-show if the\napp hasn\u0027t otherwise specified its visibility.\n\nAlso some fixes here and there.\n\nChange-Id: I10227ec59c43454e06e6870633f53426f4d78b83\n"
    },
    {
      "commit": "d93e75e45ee18e4829eddca57b99c72bd4e470f3",
      "tree": "dd186b2a3363daaa9273fc9989db9ab3c9a0a071",
      "parents": [
        "6189be3f3df481472f38183fedefd135034d5e0a",
        "043116a572c2bcb9dad4c264b38e252861fa54b4"
      ],
      "author": {
        "name": "Andy Stadler",
        "email": "stadler@google.com",
        "time": "Mon Nov 29 18:11:58 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 29 18:11:58 2010 -0800"
      },
      "message": "Merge \"Update device password expiration/alarm behavior\""
    },
    {
      "commit": "043116a572c2bcb9dad4c264b38e252861fa54b4",
      "tree": "a2ae33479fbbd63b7c69b42f06df3ed07bf7cd65",
      "parents": [
        "974ab30569f9543c897047972260887cb33f8827"
      ],
      "author": {
        "name": "Andy Stadler",
        "email": "stadler@google.com",
        "time": "Mon Nov 29 17:43:32 2010 -0800"
      },
      "committer": {
        "name": "Andy Stadler",
        "email": "stadler@google.com",
        "time": "Mon Nov 29 17:43:32 2010 -0800"
      },
      "message": "Update device password expiration/alarm behavior\n\n* Change alarm math to snap to multiples of 24h before expiration\n* Stop recurring alarm when no expirations upcoming\n* Fix small bug in update logic when device password is updated\n\nChange-Id: I31ce147e4f8c766245fae3e286fc50eaee4cfa22\n"
    },
    {
      "commit": "249345b842ef7f85b3f23c7fcbc94808808c443f",
      "tree": "37440f7b4304fe6eb89fc4c6f833005cbd5c23ca",
      "parents": [
        "974ab30569f9543c897047972260887cb33f8827"
      ],
      "author": {
        "name": "Chris Tate",
        "email": "ctate@google.com",
        "time": "Fri Oct 29 12:57:04 2010 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Nov 29 16:20:49 2010 -0800"
      },
      "message": "Ensure that the first post-restore backup pass is correct\n\nSome restore passes bring an ancestral dataset to the application, but\nothers instead act to bring an app back into sync with its own most-\nrecently-saved data.  In the latter case the state file written by the\napp after the restore is a correct basis for generating future backup\ndeltas, but in the former case it is not.\n\nThe app should not be required to distinguish between these cases;\nthe framework has all the information necessary to handle the saved\nstate correctly following any flavor of restore operation.  This\npatch makes the Backup Manager properly cause a full backup pass\nfollowing an ancestral-dataset restore.  After a current-set\nrestore the saved state file is an accurate description for\npurposes of continued backup operations, so is preserved.\n\nChange-Id: I5982f32c9bb17fb7c953b465673ced11c40b0d95\n"
    },
    {
      "commit": "f9d0be917b6f80efad29dce88ad2d2f117986c57",
      "tree": "6615af240495c9e61cd97218c3ba1fad62321528",
      "parents": [
        "5a6b4f826515c65d816e711266f0eac5ae3d37df"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Nov 24 12:35:25 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Nov 28 18:28:57 2010 -0800"
      },
      "message": "Implement rotation animations.\n\nThis introduces a small new feature for ScaleAnimation allowing\nthe scaling factor to be expressed as a percentage of the object\n(which is the same as the existing float interpretation), a\npercentage of the container, or a fixed dimension.  Maybe not\nuseful for anything else, but I needed it for this.\n\nAlso fix a bug in how transformation matrices were propagated\nfrom the Animation to Surface Flinger, so that rotate and skew\nanimations will actually work. :p\n\nChange-Id: I301f4caa2147aa35564b5e511cb9c0b368d2425d\n"
    },
    {
      "commit": "b416a71e56cdd50742eb897366a140775aa4cd61",
      "tree": "a986860409e620d739d8254460b31f63d5607400",
      "parents": [
        "440aab54cab106030f1edafea4dec1f9d8624f9b"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Nov 25 20:42:14 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Nov 25 20:42:14 2010 +0900"
      },
      "message": "Fix build breakage\n\n- Reverted unintenitionally removed function\n\nChange-Id: If083119e31c28b6f73d8ac85f2df4a8ab12dcb7f\n"
    },
    {
      "commit": "440aab54cab106030f1edafea4dec1f9d8624f9b",
      "tree": "3bc4b1c68845b0920860a7649b3d1531035ffe5d",
      "parents": [
        "fc19b84448a7e9fff0fc8057ca2078773e2c4412"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Nov 25 09:43:11 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Nov 25 19:53:56 2010 +0900"
      },
      "message": "Removed InputMethodSubtypePicker\n\nChange-Id: I08abac5d65a30c02cc671f4f70e93df25b6c8a92\n"
    },
    {
      "commit": "cd7cd2969f545ad061a9b4ecd0044f15eb1b4abb",
      "tree": "a0fe4e4099c4aa9ab97ef4dc764e93341e2cfd7e",
      "parents": [
        "d1544d38a2a281c4c7d39b6386cfb58ff2fabe20"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Sat Nov 20 15:46:23 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Nov 25 14:02:04 2010 +0900"
      },
      "message": "Store the current IME\u0027s token in the system bar for changing the current IME to a shortcut IME from the system bar\n\nBug: 3212206\nBug: 3201828\n\n- Added a shortcut IME button. This will be used for calling a shortcut IME (e.g. Voice input)\n- Made the positions of IME buttons left aligned\n- IME token is required to change IME because of the security reasons.\n\nChange-Id: I48ba5e2509b3aa1bfd2394f9201427fa6b93c6d3\n"
    },
    {
      "commit": "b0be5d1d4a31f0ba40dc38bf9990d8935b6a5c6c",
      "tree": "08b31a0a262d8f0e153906d17113d691491c31ec",
      "parents": [
        "a4db01151e521e59debee147e6c7c068e718de5e",
        "26f5a384d81487cc6bb80a78fb40d5e7e7ffc81e"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Wed Nov 24 16:50:32 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 24 16:50:32 2010 -0800"
      },
      "message": "Merge \"Use apn types instead of host when sending notifications.\""
    },
    {
      "commit": "26f5a384d81487cc6bb80a78fb40d5e7e7ffc81e",
      "tree": "f41b1708cb84c631a90f7a0574316359e3324e04",
      "parents": [
        "b4f666f1c067b611cfa24c1896b53e20fc297eb5"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Wed Nov 24 16:44:29 2010 -0800"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Wed Nov 24 16:44:29 2010 -0800"
      },
      "message": "Use apn types instead of host when sending notifications.\n\nPreviously we were passing the apn host not the type and this\ncaused us to sometimes not send out network change notifications.\n\nAlso rename of getActivceApn to getActiveApnHost to make\nthe method clearer on what is being returned and add some debug.\n\nA future change will rename ApnSetting.apn to ApnSetting.host\nand getActiveApnString.\n\nbug: 2995554\nChange-Id: I0c405b0f823f62c9596968c8516b820d9f8a94f2\n"
    },
    {
      "commit": "c1a968a8ed45181312f7d4bcdbba0cc8ddc201ba",
      "tree": "96832a4d49f1c52f276f75b5a572c7ce1eb589f2",
      "parents": [
        "1e87fe85a6ea3d17c9f299d2d2b60980362d5cf9"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Wed Nov 24 08:56:40 2010 -0800"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Wed Nov 24 13:41:48 2010 -0800"
      },
      "message": "Option to enable StrictMode flashing on userdebug builds.\n\nChange-Id: Ifc8e733ea0e0f6bda234a18ad84bcd230879e802\n"
    },
    {
      "commit": "a111187a5b4dc5d287e29ced7d65e8d20edca140",
      "tree": "ddf8588ccb308b89e4d2580ec35d054483d3b656",
      "parents": [
        "9fb2807e2b1f633817c0cbcb09ffbda681d06901"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Nov 23 20:55:11 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Nov 24 10:41:07 2010 -0800"
      },
      "message": "Change rotation freeze to all be implemented in window manager.\n\nLots of work for no visible change in behavior, but now we can\ndo some fancier stuff...\n\nAlso allow rotation in all 4 directions.\n\nChange-Id: I7e5e9537c5e359f69b83c10f65cc1ce95f371461\n"
    },
    {
      "commit": "2820351489537698ad153c6397edf3270455edc5",
      "tree": "ac5bcee60b4ddde371d7b4d0c75881821522d04d",
      "parents": [
        "07cb89432cf1687ba4f903f56bc1d92979d2cd4a"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Nov 24 11:06:49 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Nov 24 12:28:45 2010 +0900"
      },
      "message": "Add an API to set InputMethodAndSubtype\n\nChange-Id: I66f1a4c8e0d98705614f12a737e7efcd0263b72a\n"
    },
    {
      "commit": "f3db1af8d55ab247b6db67baf4fe772c18f33cab",
      "tree": "e0ea1f8dfdcea2ceba9f3259dc83a655c3dca67d",
      "parents": [
        "b43d7589cf6201fc05f4c9d8b4a0c44d7cdba81e"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue Nov 23 13:34:33 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Nov 24 06:32:44 2010 +0900"
      },
      "message": "Change return type of getShortcutInputMethodsAndSubtypes to Map\u003cInputMethodInfo, List\u003cInputMethodSubtype\u003e\u003e\n\nbug: 3201828\n\n- Brushed up the code\n\nChange-Id: I11ad9d1d749bd8947144ca7f1676bab3cf777fd6\n"
    },
    {
      "commit": "f3d86be6d7d2999cd6bae236817688490df7da71",
      "tree": "d498f746e4f6c16945bd18e00f4d82326dbfcc4f",
      "parents": [
        "a6a52dece70d75f6b5781fc902fd646b1122abd7"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Nov 23 10:31:52 2010 -0800"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Nov 23 10:48:55 2010 -0800"
      },
      "message": "StrictMode fingerprinting / hashCode improvements.\n\nChange-Id: I08ff939327f7c11a562851847ae91c67b1db4f87\n"
    },
    {
      "commit": "0dccd0f0dc519b1f39b31aae9378ea8835feb94a",
      "tree": "668ef2c19b27392816c153dfa8c3882ee7cbcbf6",
      "parents": [
        "693c99ffdca44336134be635677371ceac3fae4b",
        "0c8224000db6a3c876f1d3717975a22d10ecddec"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Nov 23 10:14:29 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 23 10:14:29 2010 -0800"
      },
      "message": "Merge \"CloseGuard cleanups.\""
    },
    {
      "commit": "0c8224000db6a3c876f1d3717975a22d10ecddec",
      "tree": "d67d268cf623d570b32e6dfee79b5334179cfa35",
      "parents": [
        "621e17de87f18003aba2dedb719a2941020a7902"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Nov 23 09:17:56 2010 -0800"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Nov 23 09:17:56 2010 -0800"
      },
      "message": "CloseGuard cleanups.\n\nChange-Id: I8ece2cb7f2c7ca2c1ac72ca3080c436e50aa6c80\n"
    },
    {
      "commit": "a31560598af25d5116effc2a6af0d9be12a0628d",
      "tree": "2dc63726586ff8ae3351d227f714408a3aaf443f",
      "parents": [
        "57914381a80c9f19cf5227b4af9e822fa0c74ea9"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat Nov 20 12:28:27 2010 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Nov 23 10:30:31 2010 -0500"
      },
      "message": "Rename android.provider.Mtp to android.provider.Ptp\n\nWe are only supporting the PTP subset of MTP in host mode and have\nno plans for full MTP, so calling it Mtp was misleading.\n\nAlso moved ACTION_MTP_SESSION_END Intent name to android.provider.MediaStore\nand added it to the public API.\n\nChange-Id: Ie35d15864d5972e65a39b982aa51316ecca3725a\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "1c24e957ad8624753f9d89b578d9d34d7ac5f80b",
      "tree": "54172c624469752ef1e5027500395829cb19ed23",
      "parents": [
        "c60df506c152d8fd64ae386415060bf354e68d8e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Nov 23 00:34:30 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Nov 23 00:40:52 2010 -0800"
      },
      "message": "Fix issue #3222014: Dragging items around home screen is unresponsive\n\nAlso make the dim fade duration configurable, with a configured value\nthat more closely matches what UX wants.\n\nChange-Id: Id32e2de14a2a2003d8fade6331377d8d723ac397\n"
    },
    {
      "commit": "6804433b0af50f33a338307ae8ddb50bc49e886b",
      "tree": "e78bfcb642b1ea93e913aa80e55a9361a2cc1252",
      "parents": [
        "621e17de87f18003aba2dedb719a2941020a7902"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Nov 22 18:19:48 2010 -0800"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Nov 22 19:39:52 2010 -0800"
      },
      "message": "StrictMode visual notification support.\n\nChange-Id: I64a5adb683060d9649f1132414547bb3c346a2a8\n"
    },
    {
      "commit": "621e17de87f18003aba2dedb719a2941020a7902",
      "tree": "978b402ced5bd03d3b4f6eaa9fbaaf186427823c",
      "parents": [
        "703c5f39c58168829e8d8f7ed7b5aea3f4fb600b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Nov 22 15:59:56 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Nov 22 18:35:55 2010 -0800"
      },
      "message": "Implement issue #3221502: New APIs to support new back stack / task navigation\n\nWhat this adds:\n\n- A new Intent activity flag to completely replace an existing task.\n- A new Intent activity flag to bring the current home task up behind\n  a new task being started/brought to the foreground.\n- New versions of startActivity() that take an array of Intents to be\n  started, allowing applications to start a task in a specific state.\n- A public moveTaskToFront() method on ActivityManager, with a new flag\n  that allows the caller to have the task moved to the front with the\n  current home task immediately behind it.\n\nChange-Id: Ie8028d09acffb5349d98043c67676daba09f75c8\n"
    },
    {
      "commit": "4e4569dab5c75804b01a19b2d6e6101b445c1c68",
      "tree": "b8c01fe6563c0b2a2c782979ea52f4828f98e567",
      "parents": [
        "e45674e284f690ca9c395811ae0703c276514f2b"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Nov 19 18:45:53 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue Nov 23 10:26:11 2010 +0900"
      },
      "message": "Add an API to get shortcut IMEs\n\n- If there are no selected shortcut IMEs, the most applicable voice input will be selected as a shortcut IME\n\nChange-Id: Ibd0f7ef5101013569c303820a3adc9038a97356d\n"
    },
    {
      "commit": "e9811d7dd4fee963a92430066205168b167a8434",
      "tree": "45132e857fd2b4b1794b9339327d64142f75329a",
      "parents": [
        "ef11d3289ed334f1704dc5e2fdcaba8c34b6c2a6",
        "3ef8b29fa03fe3ae1c57fd891a12afa46128fff8"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Mon Nov 22 15:17:37 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 22 15:17:37 2010 -0800"
      },
      "message": "Merge \"Synchronize getCurrentInputMethodSubtype\""
    },
    {
      "commit": "3ef8b29fa03fe3ae1c57fd891a12afa46128fff8",
      "tree": "2d409aed72e43b021666ac82138120ef4c6a4026",
      "parents": [
        "804043193a46a79a8616fd7696fb781edb80b519"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue Nov 23 06:06:29 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue Nov 23 06:20:23 2010 +0900"
      },
      "message": "Synchronize getCurrentInputMethodSubtype\n\nChange-Id: I8bcedb39baba10e7035d5c1c11f41f74943874d1\n"
    },
    {
      "commit": "794be40f8b62b309004cc3f68ca9567e4ef24c6b",
      "tree": "bb5d94854312147a07e7e06de3324dd8dd4ec9e1",
      "parents": [
        "dab75b66aae2c30f88eab2fec2d177c5f11f24dc"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Sun Nov 21 19:22:25 2010 -0800"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Sun Nov 21 19:22:25 2010 -0800"
      },
      "message": "new battery assets\n\nChange-Id: I61331a6eb237f8883bf604c0767623b08c2fa41b\n"
    },
    {
      "commit": "3fe7f2f2e35692fe563ae00f62995030f1987c4f",
      "tree": "3d264c1e383a64c4dbd7cb0d3813168f4b1e0d23",
      "parents": [
        "2026e8d4681437fb056409bc95bc2f126582e4a8"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Sat Nov 20 13:48:58 2010 -0800"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Sun Nov 21 16:16:28 2010 -0800"
      },
      "message": "fix warning\n\nChange-Id: I243e9b81256af13b8296dd121b1204caed7a3996\n"
    },
    {
      "commit": "46439cec0eb0da4d0f853f2d8712d0c00c98475b",
      "tree": "66439c8d205d8851f16f3e51bb62327cd9ed6be1",
      "parents": [
        "804043193a46a79a8616fd7696fb781edb80b519"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Fri Nov 19 13:56:21 2010 -0800"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Sun Nov 21 16:16:27 2010 -0800"
      },
      "message": "Update the look of the notifications.  Includes adding a new Notification.Builder class.\n\nChange-Id: I7c57b81c45defe77d6f3d22472e9cf8432bbed03\n"
    },
    {
      "commit": "1f35d487ba1a5208e66bc960f35f6e1d874fbd1e",
      "tree": "08764c9bb0f2692a9a118cbabdc1f7ffa023f35a",
      "parents": [
        "d48124e0fe511265024a61abee67d8ed6ac61592"
      ],
      "author": {
        "name": "Andy Stadler",
        "email": "stadler@google.com",
        "time": "Fri Nov 19 15:39:41 2010 -0800"
      },
      "committer": {
        "name": "Andy Stadler",
        "email": "stadler@google.com",
        "time": "Fri Nov 19 16:08:24 2010 -0800"
      },
      "message": "Fixes to DevicePolicyManager.setPasswordExpirationTimeout\n\n* Fix permissions problem in DevicePolicyManager\n* Allow short timeouts (primarily for testing)\n* Remove unused debugging code\n\nBug: 3212583\nChange-Id: I3770b1c6f090363e8e8d65db92839cd53de05c45\n"
    },
    {
      "commit": "880119bf43d738ca632b5d3861eb52d655c1c0fc",
      "tree": "684a13f821e570aee075c77bde7f5fc28191015f",
      "parents": [
        "7ffd0871e6b8d7ab9443bef6e8b2a31674d1f623"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 18 22:26:40 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Nov 19 13:21:08 2010 -0800"
      },
      "message": "Implement issue #2367442: Please add API for manipulating installer\npackage names\n\nChange-Id: I0563e896a47ae1a6e77aebc2d624fb1bde52ffbc\n"
    },
    {
      "commit": "434203a277cd2f237a71508a3d5a7d1602126cd5",
      "tree": "2981f403196d1df7f2ec322a89a4dac1342d86de",
      "parents": [
        "5af53d4363342b383fd1e4439b5a2c71a47c593d"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Oct 11 16:00:27 2010 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Nov 19 10:24:30 2010 -0800"
      },
      "message": "Notify all VMs when proxy changes.\n\nbug:2700664\nChange-Id: I74cc6e0bd6e66847bf18f524ce851e3e9d2c4e87\n"
    },
    {
      "commit": "8e11ef0d949a52fec15359ec35557b2e773b093d",
      "tree": "e05b9bc14369925d52a27e8f913e5c5a5533727e",
      "parents": [
        "71d4ecb185bbe9e699aa85c65c98427a67a3fb12"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 18 19:47:42 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 18 19:57:49 2010 -0800"
      },
      "message": "Some work on issue #3201795: Improve transition when keyboard comes up\n\nNow try to slide dialogs if they end up moving due to the IME (or\nother system things) showing/hiding.  Pretty hackish, but seems to\nwork.\n\nChange-Id: Icd297e941cf847fa920c9605145c46be63043d52\n"
    },
    {
      "commit": "3fc78a59b6ec4182fc3671e555dd7f5a228b4903",
      "tree": "ff75464841bd03bd789972f7f365ea3b20503da6",
      "parents": [
        "a3326781352888ff80fcf920cf93fd738bb69e66"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 18 15:50:22 2010 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 18 16:18:27 2010 -0800"
      },
      "message": "Fix issue 3192794.\n\nDelay uevent registration and initialization or wired accessories state\nuntil boot is completed.\n\nChange-Id: I272fc9fbf6c34e17d211360c30c712f72ac5bb5e\n"
    },
    {
      "commit": "884ef9a11fb25b80630265daee46c5609707751f",
      "tree": "3e8aa29981c1aac601e6130c343b00ae10bc39e6",
      "parents": [
        "7b71b3d99f4b1cfbe70cc195ddc875a44f1dfb27"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Nov 18 10:39:46 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Nov 18 10:47:12 2010 +0900"
      },
      "message": "Return the enabled subtypes for the current InputMethod when the input value of getEnabledInputMethodSubtypeList was null\n\nChange-Id: I6892064dbc2214946871a0ba4ad08e00a2eb6c7b\n"
    },
    {
      "commit": "7526da4bf28c4dffbfa8543f9e4936837864ae5d",
      "tree": "096c0d54f45694d6f63fc663d4b61103c6b54e4d",
      "parents": [
        "05b07fd204cc9cc340dc579db17008bf9e8161fd"
      ],
      "author": {
        "name": "Praveen Bharathi",
        "email": "pbharathi@motorola.com",
        "time": "Tue Nov 16 02:08:02 2010 -0600"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 17 10:53:41 2010 -0800"
      },
      "message": "frameworks:audio: Correct accessory detection at power up\n\nIn the init loop, when all the accessories are detected the\nstate of previous accessory is overridden by the state of the\nnext accessory. Adding the one line change keeps the state of\nall the detected accessories intact.\n\nChange-Id: I4347d8daa27800426dcfb23aac199bed4add67de\nSigned-off-by: Praveen Bharathi \u003cpbharathi@motorola.com\u003e\n"
    },
    {
      "commit": "67ddf9cbd5d7133c7f443cd3c55841ed1109c3a0",
      "tree": "5053a6b86d1820e1a12f3f96b534deacc0208fca",
      "parents": [
        "4f3c25f3175d3ef08577fd0b08c65772479ffecd"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Nov 17 09:45:54 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Nov 17 13:59:56 2010 +0900"
      },
      "message": "Add a function to get enabledInputMethodAndSubtype\n\nChange-Id: Ie97635343249aa63e33028c2843cab103125ca92\n"
    },
    {
      "commit": "0de1ed5bdf6f9603673632fa880dccd3b8ca1f97",
      "tree": "715bcdd7fc179f0290f7cdbb4dce8382c14340a8",
      "parents": [
        "68f0a32d103d3861103bce3763b222bde99c0a4c",
        "44ab8453e1c4c46790f792a46d026fa1017d8cfe"
      ],
      "author": {
        "name": "Chris Tate",
        "email": "ctate@google.com",
        "time": "Tue Nov 16 18:44:06 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 16 18:44:06 2010 -0800"
      },
      "message": "Merge \"Permission fix: don\u0027t require BACKUP perm for self-restores\""
    },
    {
      "commit": "44ab8453e1c4c46790f792a46d026fa1017d8cfe",
      "tree": "9c499e6c6c1c894bd00c203e8ce6f815cf580187",
      "parents": [
        "64f1163084433952766eed31dbd26df420ba6cfb"
      ],
      "author": {
        "name": "Chris Tate",
        "email": "ctate@google.com",
        "time": "Tue Nov 16 15:10:49 2010 -0800"
      },
      "committer": {
        "name": "Chris Tate",
        "email": "ctate@google.com",
        "time": "Tue Nov 16 16:57:29 2010 -0800"
      },
      "message": "Permission fix: don\u0027t require BACKUP perm for self-restores\n\nThe public API is not supposed to require the BACKUP permission in order\nfor an application to restore its own last-known-good backup data.  However,\nas currently implemented, BackupManager.requestRestore() [the public API\nin question] depends on private Backup Manager methods that *do* enforce\nthat permission.  The net result is that the method cannot be successfully\nused by third party applications: it will throw an exception if attempted.\nThis CL restructures the permission checking involved.\n\nFirst, the underlying beginRestoreSession() operation can now be passed a\n\u0027null\u0027 transport name; if this is done, then the restore session is begun\non whatever the currently-active transport is.  Looking up the name of the\nactive transport is one of the permission-guarded actions that was required\nwith the initial implementation.\n\nSecond, a package name can now be passed to beginRestoreSession().  If\nthis is done, then the restore session can only be used to perform a\nsingle-package restore of that one application.  The BACKUP permission is\nnot required if the caller is tying the restore to its own package name.\n\nIn combination, these changes permit BackupManager.requestRestore() to\nfunction without the calling app needing to hold any special permission.\nThe no-permission case is intentionally quite narrow:  the caller must\nhold the permission unless they both (a) pass \u0027null\u0027 for the transport\nname, thereby accepting whatever the currently active transport is, and\n(b) pass their own package name to restrict the restore session only\nto their own app.\n\nExternal bug http://code.google.com/p/android/issues/detail?id\u003d10094\nInternal bug 3197202\n\nChange-Id: Ibc9d652323f2da03727d850f991b4096af6520d2\n"
    },
    {
      "commit": "6689ac8a56a4e64c6f0ab4fa521e7ec3e28c02df",
      "tree": "68e252663ea35a2c12a7f29dab7152a42c931990",
      "parents": [
        "c7bc3d09bda82c0641035966559b911785ccf90e"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Nov 15 16:26:04 2010 -0800"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Nov 15 16:26:04 2010 -0800"
      },
      "message": "Fix more things that CloseGuard found.\n\nNot terribly happy with how the code looks after, though.\n\nChange-Id: I7bf5f78ef6c0ac82339a2e49488ca6e64d13c05e\n"
    },
    {
      "commit": "725d8f06ecd31cd2e31eaa06e52de052dd07c5c7",
      "tree": "a6c54c95aa0d4dd311d78bd4abd17c64a861b44f",
      "parents": [
        "4543e0de206e362a59060b64e02b4b208b1e08f6"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Nov 15 11:12:42 2010 -0800"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Nov 15 11:12:42 2010 -0800"
      },
      "message": "Close some things in system_server that CloseGuard found.\n\nChange-Id: I788c022235caddcb1972a34131442a683cd51eb5\n"
    },
    {
      "commit": "7eec10e6c99c30d5ee061fec08ac89ad4254ac32",
      "tree": "b196fb70709f29c6f6e60423578162f5dd189e63",
      "parents": [
        "7c2ae6570321575ad74a25bdc72bea1ec6558660"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Nov 12 18:03:47 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Nov 14 14:23:42 2010 -0800"
      },
      "message": "Get rid of the extended themes.\n\nWe now decide whether to use a bitmap background based on whether the\nwindow\u0027s drawing is hardware accelerated.  To do this, there is a new\n\"state_accelerated\" that state list drawables can be parameterized on,\nand the standard window background uses this to select a solid color\nor bitmap drawable as appropriate.\n\nIntroduces a little hackery to have wm preview windows pretend like\nthey are hardware accelerated even if they aren\u0027t, so the preview looks\ncloser to the actual app.\n\nAlso Add a DialogWhenLarge variation for the light theme.\n\nChange-Id: I215a79d5df65ba3eed52ab363cade9d8218a6588\n"
    },
    {
      "commit": "b66d287e3003a0934d5714fbf15e554b3c814906",
      "tree": "0cc8bc71a4e44295e5ca6f290177a74d786e05eb",
      "parents": [
        "03eb319a3a7fe6fe9ab9eba6fc1f727285850906"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Wed Nov 10 01:04:04 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Sat Nov 13 09:49:59 2010 +0900"
      },
      "message": "Add a setter of InputMethodSubtype to InputMethodManager\n\n- Public API: void setCurrentInputMethodSubtype(int pos)\n\nChange-Id: I55daa19ba924999def544bf841f00bf54852f3e1\n"
    },
    {
      "commit": "03eb319a3a7fe6fe9ab9eba6fc1f727285850906",
      "tree": "ebe9e324f9b5474f946ad494ae9fd3699bccbc02",
      "parents": [
        "5c5dfd0aa5b2d73fca259c0a5ac7f1c4d7cd47aa"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Nov 11 18:17:42 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Sat Nov 13 09:30:50 2010 +0900"
      },
      "message": "Reset IME to the build-in IME when there is something wrong with the current IME.\n\nBug: 3186000\n\n- By this change, there will be no need to find new applicable IME in Settings application\n- This change handles the edge case that there is something wrong with the current IME\n\nChange-Id: Idb42b6184ac135370064b967305faa81f1b382b2\n"
    },
    {
      "commit": "735cf38b8c7f8f91ad087511e44fe79018fa61d6",
      "tree": "d667e138277bad675890391fe741e1e7433049ee",
      "parents": [
        "46e75294d540fe807d78aec2582ae02cc38c7d42"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Nov 11 20:40:09 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Sat Nov 13 08:00:25 2010 +0900"
      },
      "message": "Add a function to switch back to the last used IME\n\nChange-Id: Iac7bcc2ee16dd04d91a3e75b160622d246788c9a\n"
    },
    {
      "commit": "a4e28d181942018ba8759989799a28fa88764ce3",
      "tree": "5c1f3569f8d3cf27381d1b4f9a488fd920729829",
      "parents": [
        "0bf307524157a355667e1c05fbac864dc117af81"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Nov 08 16:15:47 2010 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Nov 11 19:43:24 2010 -0800"
      },
      "message": "Add password expiration support to DevicePolicyManager.\n\nChange-Id: Ib2629ec547c123ac489d7f4cbd4e0a1d4aa07620\n"
    },
    {
      "commit": "e7520d89fe2c5dc9dd833ecd9769c981df855b61",
      "tree": "c9a1386319be29f059bdda598252e9f7f96ee000",
      "parents": [
        "8bda1c1ef76618ec3e4bd7bb9db44dd325edc629"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Wed Nov 10 18:08:36 2010 -0800"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Thu Nov 11 09:46:07 2010 -0800"
      },
      "message": "StrictMode.Span support\n\nSupport for annotating critical regions (e.g. animations) with\na tag to be uploaded.\n\nChange-Id: I412fc78f40dc05c9a3c9f62a4b0463201dbdb767\n"
    },
    {
      "commit": "723a27ef3d7c94fc666abc52e0abd5e8526acb69",
      "tree": "40d37ba6b92831acceb6f0402035bb4a7b56d99d",
      "parents": [
        "a6689ddbba5d7d5e9ad7a07ae84a187497f18121"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Nov 11 14:58:11 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Nov 11 17:13:10 2010 +0900"
      },
      "message": "Save the history of InputMethodSubtype for reverting the subtype when IME was changed.\n\n- Re-revert the change https://android-git.corp.google.com/g/#q,78962,n,z\n*** If you want to see the diff between reverted change and new change, please see the diff between patch set 1 and the latest patch set\n\n- TODO: Add a public function \"switchToLastInputMethod\"\n\nChange-Id: Ic85d54b3b68e47a22360acaeb81202a366a34586\n"
    },
    {
      "commit": "a02fdf1ba03fad71cc80a89dfc74b17456d5b4a5",
      "tree": "79c461e2fe264625da73b202c6acf3ef639e9813",
      "parents": [
        "ec4d82046bcdaa6ea1d43601c9d0673444f3e3bf"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Wed Nov 03 13:27:40 2010 -0700"
      },
      "committer": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Wed Nov 10 17:18:37 2010 -0800"
      },
      "message": "Adding widget auto-advance capability\n\nChange-Id: I058573f40a48fd7b5c2efa5f1041a1199919a51a\n"
    },
    {
      "commit": "c65347f239e0adae4fe9fad5248b69a5a6d3bbe8",
      "tree": "946fe166f86bbdc14f1db49bf9336a9d3383e69e",
      "parents": [
        "890729c88f5d4b32316e214b97d95dc9f9b45f75",
        "bf44ebae04f837596b9942ccb15d3d47bad4acec"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Wed Nov 10 11:11:40 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 10 11:11:40 2010 -0800"
      },
      "message": "am bf44ebae: am 9de93424: Merge \"Without SD card the shutdown sequence was delayed\"\n\n* commit \u0027bf44ebae04f837596b9942ccb15d3d47bad4acec\u0027:\n  Without SD card the shutdown sequence was delayed\n"
    },
    {
      "commit": "bf44ebae04f837596b9942ccb15d3d47bad4acec",
      "tree": "84980959c1312d1bfcdbcfa5153f9983e294e9b9",
      "parents": [
        "12a22635ebfcdf9f5dff7081740da680c9b689ae",
        "9de93424cc05446e3a216f406c55a3937c028416"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Wed Nov 10 11:07:18 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 10 11:07:18 2010 -0800"
      },
      "message": "am 9de93424: Merge \"Without SD card the shutdown sequence was delayed\"\n\n* commit \u00279de93424cc05446e3a216f406c55a3937c028416\u0027:\n  Without SD card the shutdown sequence was delayed\n"
    },
    {
      "commit": "cec30a7a0280600ce12993829c7587dd7514f656",
      "tree": "454801e2e40290d01c618f876e2cdaf66f70eaf7",
      "parents": [
        "f1094227f8efc04351b25d7095c36c6a4d8d033c",
        "8e7e0a9fd5c377294bfe2e09fca9b7551871f3c2"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Nov 10 10:12:09 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 10 10:12:09 2010 -0800"
      },
      "message": "Merge \"Fix data state change callbacks\""
    },
    {
      "commit": "6c8e20f96ae26533eb8081f4eab845ec710f9c9b",
      "tree": "6fe0a572dd444b34a8ffe732812fd8afeb2aa547",
      "parents": [
        "cb120a9ba707b08242ebe3e1180379f626088e5a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Nov 09 18:59:09 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Nov 09 19:04:49 2010 -0800"
      },
      "message": "Implement new task transition animations.\n\nChange-Id: I62c10e7b2afac4371b3739f1cd5948c655edc125\n"
    },
    {
      "commit": "8e7e0a9fd5c377294bfe2e09fca9b7551871f3c2",
      "tree": "09b81345a86c17ff1e15c8a8a014ad8d5e054504",
      "parents": [
        "2cf17ed7d87f8e0fc77de5e22c152018e7553959"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Nov 09 10:24:40 2010 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Nov 09 16:28:51 2010 -0800"
      },
      "message": "Fix data state change callbacks\n\nInitial state should be unknown or we miss the first connected change.\nDon\u0027t send a disconnected msg when changing network types.\nFilter out redundent disconnects.\nAdd some logging.\n\nbug:3060742\nChange-Id: Idc797c1276b7417337a91ed60b12b1bf392d57c0\n"
    },
    {
      "commit": "0ba75bb22c2992f649ee5f7605a2b45442ad4862",
      "tree": "3b87bff502605e0e3d20c2ff6b7438ba6ae2e4d0",
      "parents": [
        "195d519c915eb27d5393a34027fc18c23cc3cf5f"
      ],
      "author": {
        "name": "Tadashi G. Takaoka",
        "email": "takaoka@google.com",
        "time": "Tue Nov 09 12:19:32 2010 -0800"
      },
      "committer": {
        "name": "Tadashi G. Takaoka",
        "email": "takaoka@google.com",
        "time": "Tue Nov 09 12:19:32 2010 -0800"
      },
      "message": "Revert \"Add a history of InputMethodSubtype for getting the last subtype of selected IME when IME was changed.\"\n\nThis reverts commit 1ab852fbcfe155c9d4373b7130f8515591669634.\n"
    },
    {
      "commit": "5d0db4d356346bee68aec9a124df70dbaa9aaed1",
      "tree": "a061575e55a7bb6bf2cc093a62a5252a22da37c0",
      "parents": [
        "5580e44c250944f5cd011b2682eea5cc2de9706c"
      ],
      "author": {
        "name": "Johan Alfven",
        "email": "johan.alfven@sonyericsson.com",
        "time": "Tue Nov 09 10:32:25 2010 +0100"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonyericsson.com",
        "time": "Tue Nov 09 10:32:25 2010 +0100"
      },
      "message": "Without SD card the shutdown sequence was delayed\n\nIf the memory card is not inserted (or removed) from\nthe phone the shut down process is very long. It\ntakes almost 24 seconds. For the phone with memory\ncard the averige is 5-6 seconds\n\nMake sure to send onShutDownComplete even if an SD\ncard is not mounted and no unmount is done.\n\nChange-Id: I0e79b82e294a971f5e7144cdd3cc16b7ff414b9c\n"
    },
    {
      "commit": "1ab852fbcfe155c9d4373b7130f8515591669634",
      "tree": "2d21df6d236e0b5533cad6dc166aedeb16dbda9d",
      "parents": [
        "5912f90e60a305996cdace35f72f847dfeb0f5ec"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Nov 05 22:56:07 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue Nov 09 16:43:00 2010 +0900"
      },
      "message": "Add a history of InputMethodSubtype for getting the last subtype of selected IME when IME was changed.\n\nChange-Id: I66752a881726c0ce2816a9d54de60fb0d992e968\n"
    },
    {
      "commit": "646f46eddf897bff4aebcc8454004539589e0965",
      "tree": "7c4c2d462b37c63dfb8ea145a08b7f762546dbbb",
      "parents": [
        "a4eb4c3a207c4d1b0e72bad332c3e6b928a77738"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Mon Nov 08 15:08:56 2010 -0800"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Mon Nov 08 15:08:56 2010 -0800"
      },
      "message": "make the resolver activity\u0027s items visible\n\nChange-Id: Ic02c834c01c3d71d6e1c073f986b87ae5faa1da0\n"
    },
    {
      "commit": "1a542c7b8ed0be049869a12d1e01e2604d052ac2",
      "tree": "ed1b5acbe31240e259689a6496ed1cf2dfa5dd1b",
      "parents": [
        "3915bb845b032dc184dba5e60970b803390ca3ed"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Mon Nov 08 09:48:20 2010 -0800"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Mon Nov 08 13:02:58 2010 -0800"
      },
      "message": "The CHEEK_TOUCH stuff never worked.  Remove it.\n\nBug: 3104906\nChange-Id: Ia37236ba1775fc3ec8c111e2e0b85b105e0dea6a\n"
    },
    {
      "commit": "3915bb845b032dc184dba5e60970b803390ca3ed",
      "tree": "198a47c1d4ada990ef04d563b5e0caaec35abc18",
      "parents": [
        "60029771d26ca3c51288c3d92cab1d3537147acd"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Nov 05 15:02:16 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Nov 08 12:49:43 2010 -0800"
      },
      "message": "Tell system server whether the app handled input events.\n\nRefactored ViewRoot, NativeActivity and related classes to tell the\ndispatcher whether an input event was actually handled by the application.\n\nThis will be used to move more of the global default key processing\ninto the system server instead of the application.\n\nChange-Id: If06b98b6f45c543e5ac5b1eae2b3baf9371fba28\n"
    },
    {
      "commit": "60029771d26ca3c51288c3d92cab1d3537147acd",
      "tree": "c6016d37a49d9b420a571b3fb181ec0ceb867599",
      "parents": [
        "cce1d2a60bc1ef10ec6beb338ec3d4cf94486c47",
        "36f7413dabfab50699135019ba55151e9227f59d"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Nov 08 12:24:31 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 08 12:24:31 2010 -0800"
      },
      "message": "Merge \"add frequency band control API\""
    },
    {
      "commit": "3fe3851753e3623d3c7c468efa6ee17f17f9aa74",
      "tree": "b2024bc364b286ba52e359706ce4084c4fbcbb75",
      "parents": [
        "d57c14f95ee9cfa199e874f7993f4b9bf4f418de"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Wed Nov 03 11:46:54 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Nov 08 11:22:01 2010 -0800"
      },
      "message": "Window manager: cancel animations before losing references to them.\n\nFor possible future changes to android.view.animation.Animation to tie\ninto StrictMode\u0027s animation annotations on violations.\n\nChange-Id: I3a23fa9bd5edb0500586bb0e341f83f998b28ae7\n"
    },
    {
      "commit": "5b59e02eb542f016866985945859b033e94f9f0b",
      "tree": "b9efb747263d813bc9d9798b85dd90d4464e6784",
      "parents": [
        "51387974f0914a12dcf758938bbd4ffe120bdab4",
        "ec062f63a2f5fb49f825544da348e594dbf5bf3c"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Nov 08 11:01:41 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 08 11:01:41 2010 -0800"
      },
      "message": "Merge \"StrictMode: now in more system server threads.\""
    },
    {
      "commit": "ab36acb39941ce981dddda9f9cf4d2d23a56fd26",
      "tree": "d4bcf4171fa304133b5a6bcae91308667b1bc62d",
      "parents": [
        "2cf17ed7d87f8e0fc77de5e22c152018e7553959"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Nov 05 14:12:11 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Nov 08 10:46:19 2010 -0800"
      },
      "message": "Fixe some stuff.\n\nAddresses these bugs:\n\n3061847 - With no headers, PreferenceActivity crashes\n2888426 - minor typo in DevicePolicyManagerService.ActiveAdmin.writeToXml()\n3159155 - IllegalStateException:\"Can not perform this action after\n    onSaveInstanceState\" while dismissing a DialogFragment\n3155995 - PopupWindow.showAtLocation does not respect LayoutParams\n\nAlso tweak the new fragment APIs to use abstract classes instead of\ninterfaces as base classes.\n\nChange-Id: I9c0b4337fe0e304b737b5f7c2762762372bb3020\n"
    },
    {
      "commit": "ec062f63a2f5fb49f825544da348e594dbf5bf3c",
      "tree": "d87954d437798f3a8dc1f2f25edc6fdf134957c8",
      "parents": [
        "3a3f24e37049de6714de64188b1814a6476dbebb"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Wed Nov 03 09:56:54 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Nov 08 10:39:05 2010 -0800"
      },
      "message": "StrictMode: now in more system server threads.\n\nWho knew there were so many Loopers in the system server?\n\nThis adds dropbox logging for the activity manager thread, policy\nthread, and window manager thread.\n\nThe goal\u0027s to catch more stuttering.\n\nChange-Id: I999a6ff4a955f0ef549b12a38796b843ade5fe66\n"
    },
    {
      "commit": "36f7413dabfab50699135019ba55151e9227f59d",
      "tree": "006bc30be81547b912373f200e028bb73c55ad04",
      "parents": [
        "3a3f24e37049de6714de64188b1814a6476dbebb"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Nov 04 16:57:37 2010 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Nov 08 10:09:17 2010 -0800"
      },
      "message": "add frequency band control API\n\nChange-Id: I6cc6cdef27d493d4ef76cec17fdca7e49d9dc8d7\n"
    },
    {
      "commit": "12b1401262845d9b906d64ab54260c1378ade4a5",
      "tree": "c8bca83cc6eef8444844e2e2b42774e76acbf4a0",
      "parents": [
        "97a4f47411bb3d9a1637cc93e79314d774a04bae",
        "d28f753c943d72dcdf3b67566f911f46c8b6830d"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Sat Nov 06 13:00:35 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Nov 06 13:00:35 2010 -0700"
      },
      "message": "Merge \"Turn off the ALS when the user setting doesn\u0027t ask for automatic brightness.\""
    },
    {
      "commit": "d28f753c943d72dcdf3b67566f911f46c8b6830d",
      "tree": "cfdd569ff52920c5dfa820471750448c36cb7f7c",
      "parents": [
        "f3e5fcc91734d8e39b396f1b70b9903a6b3dd2c0"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Sat Nov 06 12:56:53 2010 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Sat Nov 06 12:56:53 2010 -0700"
      },
      "message": "Turn off the ALS when the user setting doesn\u0027t ask for automatic brightness.\n\nBug: 3118027\nChange-Id: I24a97adce55b7b403edcbd331bdc8b0fc593b76f\n"
    },
    {
      "commit": "8806fc729b96bf806806ef8d82147d59abfc1536",
      "tree": "9d87de116485af110ecfa7cabc17fa94fa6a2c99",
      "parents": [
        "a27fc901d8543c7734f70f0ef05977dcb94671f6",
        "70fc04c84db8f99ac2ac60fd9719b91057aacc9b"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Nov 05 13:58:20 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 05 13:58:20 2010 -0700"
      },
      "message": "am 70fc04c8: Reorganize PackageManager dump to avoid NPE\n\n* commit \u002770fc04c84db8f99ac2ac60fd9719b91057aacc9b\u0027:\n  Reorganize PackageManager dump to avoid NPE\n"
    },
    {
      "commit": "ed7bfbf6c87153c3f2f23d6856db4180d4bac429",
      "tree": "1d566f941ad814b9409d80cb107e21ceccc35edd",
      "parents": [
        "2332a74c61fb0c5041bff4f0e361364a3378b4c7"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Nov 05 13:08:35 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Nov 05 13:45:10 2010 -0700"
      },
      "message": "Fix issue #3163426: Screen corruption when using the watermark feature\n\nChange-Id: I23f76f04fb52bb272eccbbcc55606c09404c6ca9\n"
    },
    {
      "commit": "70fc04c84db8f99ac2ac60fd9719b91057aacc9b",
      "tree": "5a32634a0597a9b247dcb6e0830b18d171758ccf",
      "parents": [
        "47e43febdd8ba83c333c9c98ca6a8c0bda421305"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Oct 22 10:07:11 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Nov 05 11:59:45 2010 -0700"
      },
      "message": "Reorganize PackageManager dump to avoid NPE\n\nversionCode and mVersionName were added recently but ps.pkg can be null\nin some situations. Move them to where it will check before\ndereferencing it.\n\nBug: 3152896\nChange-Id: If992a1f29ac7b8f595f847b7743fd2374662bb6e\n"
    },
    {
      "commit": "9ef0283bdcd9534cc09ae37eb2b78771b95247b5",
      "tree": "2819ed8e9c104af435d741a1778cf1e5f584e078",
      "parents": [
        "63cf0279d73937f38def42eeb0ef8278c926e448"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Thu Nov 04 21:17:48 2010 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Nov 05 11:40:56 2010 +0900"
      },
      "message": "Change API for getting InputMethodSubtype\u0027s mode from resource id to String\n\nChange-Id: I00aa99f8ab9901d40806a6bb336ab718eb857e8b\n"
    },
    {
      "commit": "09018c3e5399a3a741be5ed04e94385bb4082075",
      "tree": "d7a660fce65f7f5a66933bbc7adf92f9d85ec5e6",
      "parents": [
        "7899b0e07650902b69b1983193fb5cbed5789397",
        "090813ac95b1bd5f60f67f70bb49b0886954de09"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Nov 04 18:08:36 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 04 18:08:36 2010 -0700"
      },
      "message": "Merge \"Initiate wake up scan only in a disconnected state\""
    },
    {
      "commit": "167824671021ffdb5a8dd6769416d7262cb52be9",
      "tree": "b96cb81c4ac2d270473cd4fc4283b91c614a74ce",
      "parents": [
        "38b2a89df59a537fe97c6fc66c0cdaae43ff9694",
        "03595d01188d88c169e8c9dd51b357fd545e69cc"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Nov 04 17:02:44 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 04 17:02:44 2010 -0700"
      },
      "message": "Merge \"Tell each VM to flush their DNS cache.\""
    },
    {
      "commit": "38b2a89df59a537fe97c6fc66c0cdaae43ff9694",
      "tree": "3c97c3312bf99cc9d2225a12cace3aeb4b8274f5",
      "parents": [
        "7b362e431f3e17a755e56bc7dbc99bd661cb46ba",
        "237171f8ab476f1d3f9f54777dba62a349d2009a"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Nov 04 16:46:05 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 04 16:46:05 2010 -0700"
      },
      "message": "Merge \"Fixing CloseGuard reported issue in WiredAccessoryObserver\""
    },
    {
      "commit": "7b362e431f3e17a755e56bc7dbc99bd661cb46ba",
      "tree": "fd0b2b0207d8d7669cd0f5355bc22471fb39a1e9",
      "parents": [
        "f034f87da8f4c348c36334815214628fccbe5580"
      ],
      "author": {
        "name": "Chris Tate",
        "email": "ctate@google.com",
        "time": "Thu Nov 04 16:02:52 2010 -0700"
      },
      "committer": {
        "name": "Chris Tate",
        "email": "ctate@google.com",
        "time": "Thu Nov 04 16:29:32 2010 -0700"
      },
      "message": "Implement local-window-only drags\n\nChange-Id: I19a9c4a045c532b99e3af9eb878797aed5cda1bf\n"
    },
    {
      "commit": "237171f8ab476f1d3f9f54777dba62a349d2009a",
      "tree": "8df85d72c8c0bb6c9a13a53f5e709448c29ba0ff",
      "parents": [
        "e84c00f4a7dec8c670eeef013b3cd6ecc7277de3"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Nov 04 16:23:21 2010 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Nov 04 16:23:21 2010 -0700"
      },
      "message": "Fixing CloseGuard reported issue in WiredAccessoryObserver\n\nThis was previously masked by the ArrayIndexOutOfBoundsException so I\nmissed it on my first pass.\n\nChange-Id: I0bdca9c888c77cb31f21def18809649321aa5427\n"
    },
    {
      "commit": "373818eeacfa58e1067b70e38c9c521afd5b48f3",
      "tree": "522111c0ba1fce0b04c3497a44b789dc94890b72",
      "parents": [
        "e213677037f836529efcc0ac201fc61dd95481c5"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 04 15:37:47 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 04 15:37:47 2010 -0700"
      },
      "message": "Revert \"StrictMode: now in more system server threads.\"\n\nThis reverts commit 0721861d6111a8a03eb0d4aad14b7a90fd83cab6.\n"
    },
    {
      "commit": "090813ac95b1bd5f60f67f70bb49b0886954de09",
      "tree": "d11e068f952d46743fe141e714eb2198e1317326",
      "parents": [
        "218c60edc9976d701cfdc47925643e29712fc1cf"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Nov 03 16:13:32 2010 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Nov 04 15:20:01 2010 -0700"
      },
      "message": "Initiate wake up scan only in a disconnected state\n\nWhen wifi is connected to an access point, we should\nnot wake up the device to initiate scans.\n\nChange-Id: I1a48387a0cac7b23a8d947d8409cafc63da18d38\n"
    },
    {
      "commit": "a4f03f98f16dca51ac5630b4f41bec08a7da1091",
      "tree": "4f89daa1d333148158d01817e685752531eb0674",
      "parents": [
        "f786805acc4e188e22c9a569f44506c40636e883",
        "fd9ddd1a40efc801dc7512950cb9336967b6f775"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Nov 04 14:32:33 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 04 14:32:33 2010 -0700"
      },
      "message": "Merge \"Integrate StrictMode with CloseGuard\""
    },
    {
      "commit": "fd9ddd1a40efc801dc7512950cb9336967b6f775",
      "tree": "0b9edcf7357f5a50b2fa7d9a3dc714f294447ea1",
      "parents": [
        "cc82f3ae3cef7e5dac7992a10aeb8e147e12eb27"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Nov 04 11:24:58 2010 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Nov 04 14:21:33 2010 -0700"
      },
      "message": "Integrate StrictMode with CloseGuard\n\nIn additional to adding the StringMode API for controling CloseGuard,\nthis checkin fixes several CloseGuard issues found booting a device.\n\nBug: 3041575\nChange-Id: I4dffd184f49438d6d477ed81a1c2a2a5b56cc76b\n"
    },
    {
      "commit": "b73617de462579f7c12c25a4c2747c576f00f6a2",
      "tree": "1f070d8a32c97062feca491ed9675af8d7c874dc",
      "parents": [
        "1ab022b8c8b063d95a591bf40109986c5b1bbb11"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Tue Aug 17 00:41:00 2010 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Thu Nov 04 16:55:29 2010 -0400"
      },
      "message": "Rotation lock.\n\nIWindowManager now supports two new methods,\nfreezeRotation() and thawRotation(), that allow a caller to\ntemporarily stash the device\u0027s current rotation as the\ndefault rotation (when no other constraints are present).\n\nThe system bar uses this to implement a user-accessible\nrotation lock by calling freezeRotation() and then turning\noff accelerometer-based display rotation; unless overridden\nby an app, the display will continue to appear in the frozen\nrotation until the rotation is unlocked by the user (either\nvia the rotation lock icon in the system bar or by checking\n\"rotate screen automatically\" in Settings).\n\nBug: 2949639\nChange-Id: Icd21c169d1053719590e72401f229424b254622f\n"
    }
  ],
  "next": "1ab022b8c8b063d95a591bf40109986c5b1bbb11"
}
