)]}'
{
  "log": [
    {
      "commit": "3f64f8d8fc05189777e83b4efd3882cbc661fdeb",
      "tree": "124c21826f04e229fa22a9478794381b98c82eff",
      "parents": [
        "ffdd591a829af7fddd36a7b80d2a3b8188c871a6"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Dec 10 17:12:19 2010 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Dec 13 16:41:24 2010 -0800"
      },
      "message": "Don\u0027t restore wildly wrong sized wallpapers\n\nIf the dimensions of the original are sufficiently different from the\ndevice\u0027s preferred dimensions, just don\u0027t restore the image.  This\navoids bad letterboxing / clipping on e.g. phone \u003c-\u003e tablet data\nmigration.\n\nThe expansion/shrinkage ratios used here allow restores of saved\nwallpaper images among HVGA devices, among WVGA variants, and\namong tablets; but skip restoring wallpapers across those\ncategories (where severe clipping or letterboxing would occur).\n\nBug 3261863\n\nChange-Id: I75e75d6401d18f1df10d75796ee04e21d2302cfa\n"
    },
    {
      "commit": "dd60ee728d9e44a8c85ed6a99bcfa44beb0afa23",
      "tree": "61ef5b890d810371ea1f6868218132e16c7adf75",
      "parents": [
        "20f9fec02053a4a0146b7ce0a83b067f4eb5b692",
        "6d13b146e0444f40f45b9fe5812093c5e611b68e"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Dec 13 13:12:36 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 13 13:12:36 2010 -0800"
      },
      "message": "am 6d13b146: am e78a0009: resolved conflicts for merge of 4b94c451 to stage-korg-master\n\n* commit \u00276d13b146e0444f40f45b9fe5812093c5e611b68e\u0027:\n  Added dropbox broadcast notification\n"
    },
    {
      "commit": "6d13b146e0444f40f45b9fe5812093c5e611b68e",
      "tree": "718855b74e2ccc8839b8722c2f26d60b39268b3d",
      "parents": [
        "6c2471649b5b1d1d9c19305a43676161823b623a",
        "e78a000955c283509ee8a21b8b7e448060ac8dd8"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Dec 13 13:10:23 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 13 13:10:23 2010 -0800"
      },
      "message": "am e78a0009: resolved conflicts for merge of 4b94c451 to stage-korg-master\n\n* commit \u0027e78a000955c283509ee8a21b8b7e448060ac8dd8\u0027:\n  Added dropbox broadcast notification\n"
    },
    {
      "commit": "e78a000955c283509ee8a21b8b7e448060ac8dd8",
      "tree": "b314a80f3ae6ac3b0e63439f7204e6334f9aa316",
      "parents": [
        "d0ffef4b43594e540cb867da18d4403b4f583622",
        "4b94c451d2c3aea27c007518318ea98671ae6ed3"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Dec 13 13:06:13 2010 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Dec 13 13:06:13 2010 -0800"
      },
      "message": "resolved conflicts for merge of 4b94c451 to stage-korg-master\n\nChange-Id: I07b974f96ca598677e58623050e4668822e68f23\n"
    },
    {
      "commit": "30d7189067524000c738c188c4ff91f84f474d25",
      "tree": "e81dd5d176ecc8a370eea32b94ae80f65a045ec4",
      "parents": [
        "5bd7d9347b23f7ad5301723aebcb4663897cac1b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Dec 11 10:37:55 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 13 12:57:02 2010 -0800"
      },
      "message": "Fix issue #3274841: Orientation change problem with a paused activity\n\nPlus a bunch of debug output improvements.\n\nAnd some new Intent helpers for dealing with restarting an app.\n\nChange-Id: I50ec56bca6a86c562156b13fe8a6fdf68038a12e\n"
    },
    {
      "commit": "17d9550029c443968e488ddcfb9549563a141823",
      "tree": "795ff32fb3c21e8cb3dc4e1f45992940f8b131c4",
      "parents": [
        "35e1ee0d3943854a62b014237467e74e94a4bb9d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Dec 10 01:42:05 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Dec 10 11:43:40 2010 -0800"
      },
      "message": "Turn off screenshot capturing for thumbnails.\n\nMay reduce occurance of graphics hangs as a temporary stop-gap until\nthe real problem is fixed.\n\nChange-Id: I57f831944cc621bcb1d1d2051bb48f14e53879b1\n"
    },
    {
      "commit": "faa27f932e15c673106f984cbbeef23c079bcc81",
      "tree": "57717d6f2bee79687919ab91f04b64aebf7baea2",
      "parents": [
        "337885be6e0eadda2d54977104c5738b03f6fb34",
        "770126a678ccc9328a89407ffc82f4d998b25427"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Dec 09 22:53:27 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 09 22:53:27 2010 -0800"
      },
      "message": "Merge \"Rename android.hardware.Usb to UsbManager and UsbObserver to UsbService\""
    },
    {
      "commit": "770126a678ccc9328a89407ffc82f4d998b25427",
      "tree": "0b92be9747fabb684c73a8f73e30755415288e9c",
      "parents": [
        "957d85ec046651a8b0549b62021079ddcc0b8f53"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Dec 09 22:30:37 2010 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Dec 09 22:52:05 2010 -0800"
      },
      "message": "Rename android.hardware.Usb to UsbManager and UsbObserver to UsbService\n\nIn preparation for an upcoming change that will make UsbService into a real system service\n\nChange-Id: Id85d624cfc6b10b49a08105cfaaacc667a492c12\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "7da6ac33a9de82be52e22846d5f22d502452854c",
      "tree": "2702555b7795977ce55732015b9745e7bb031b37",
      "parents": [
        "bca1c4ffad8c28fc142eddcd33095dfa2ebfb0a0"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Dec 09 19:22:04 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Dec 09 19:22:04 2010 -0800"
      },
      "message": "Fix issue #3272051: Use backward transition when going backwards.\n\nAlso know as:\n\nIssue #3272051 Contacts edit view: Tapping the in-app back button\nresults in a forward transition\n\nYeah more complexity in deciding which animation to use.\n\nAlso reduce complexity in deciding which app\u0027s animation set to use,\nto balance things out (and make it have less stupid behavior).\n\nChange-Id: I78c6c5c5249a96206f7e03ce587c1dcb9a7dc14f\n"
    },
    {
      "commit": "a58fd15a5be03927f7ae211ee25ce165ec167681",
      "tree": "c4a936ec74e12f2d9677456469867b4507a7fd75",
      "parents": [
        "488a0d5ece8d68a2a49117e698ecaa6de4faf6b9",
        "f5e1c296370b45503a6c48bdb7da8b829bc0b906"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Dec 09 13:06:46 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 09 13:06:46 2010 -0800"
      },
      "message": "Merge \"Add a couple of transport-descriptive methods to IBackupManager\""
    },
    {
      "commit": "f5e1c296370b45503a6c48bdb7da8b829bc0b906",
      "tree": "2b573d53c3c09aeba0bcf3927d3c4674135ffd3e",
      "parents": [
        "882754e8cc5833e19696271d612b4b9eabcc5bb3"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Dec 08 18:40:26 2010 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Dec 09 12:58:24 2010 -0800"
      },
      "message": "Add a couple of transport-descriptive methods to IBackupManager\n\nPrivileged callers can now ask the transport for a string describing\nits current state, and for an Intent that can be passed to startActivity()\nin order to bring up its exported configuration UI.  These will be used\nin Settings in order to e.g. show the user the currently active account\nbeing used for backup, and allow the user to choose an account.\n\nThe data being funnelled through IBackupManager here are the ones\nalready exposed by the transports in their implementation of the\nIBackupTransport interface.\n\nBug: 2753632\n\nChange-Id: I2227a2b111d8d0ddf221d63020e20c1316fff55b\n"
    },
    {
      "commit": "c25f70a440ef9468085b8d98c8416c7e8b116753",
      "tree": "bae3974ee89930c4449717027d9e573849c50018",
      "parents": [
        "ffec4385a38bc8cbb871d0330d3890d88d608f77"
      ],
      "author": {
        "name": "Andy Stadler",
        "email": "stadler@google.com",
        "time": "Wed Dec 08 15:56:45 2010 -0800"
      },
      "committer": {
        "name": "Andy Stadler",
        "email": "stadler@google.com",
        "time": "Thu Dec 09 09:22:06 2010 -0800"
      },
      "message": "API CHANGE - Add hasGrantedPolicy() API\n\n* Allows an app to detect that it needs to have additional policies granted\n* Add \"refreshing\" parameter to setActiveAdmin() to handle this case\n* Minor cleanups to eliminate warnings (mostly for unused things)\n\nBug: 3253179\nChange-Id: I4bf639bf560557130bf98e8cfb75f996fac416f1\n"
    },
    {
      "commit": "d2112306330ce0c162bee4b864991962ca2b655a",
      "tree": "d169f93867e853220c40d38826fe81b4a1ad9eff",
      "parents": [
        "ff3c470778a69d262470e9707fce58dd485c6cc9"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Dec 07 19:38:17 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Dec 08 16:13:59 2010 -0800"
      },
      "message": "remove support for PUSH_BUFFER surfaces and overlays\n\nthe same functionality is now supported through\nthe h/w composer HAL, and YUV support in the GPU.\n\nChange-Id: I8146605449954b8e8fd7f78810b7d873c2d8f5bf\n"
    },
    {
      "commit": "b247536aa3d458750edbc6b45b2348a994d83426",
      "tree": "e8e0a14fd8ae0b5a8dab3c4f7b1e33af71238209",
      "parents": [
        "2b858caecb3c293c47b48eed12a55a49e3039874"
      ],
      "author": {
        "name": "Hakan Still",
        "email": "hakan.still@sonyericsson.com",
        "time": "Tue Dec 07 14:05:55 2010 +0100"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonyericsson.com",
        "time": "Wed Dec 08 13:19:33 2010 +0100"
      },
      "message": "Added dropbox broadcast notification\n\nTo monitor the dropbox an application have to either poll the dropbox\nand keep track of all entries or observ the /data/system/dropbox\ndirectory. The later requires that the application runs as system-user.\nThis commit adds that a broadcast intent is sent when something is written\nto the dropbox and an application can just listen on this intent and\nthen reads the entry with help of the DropboxManager class.\nThe application have to hold the permission android.permission.READ_LOGS\nto get the intent.\n\nChange-Id: I1f77f206a243df69f4ed5306078c47f7bf6181ec\n"
    },
    {
      "commit": "0aae2d4e0075fd699cf40b26dca0eb2c3b3e37d2",
      "tree": "04686805aa8c15025416aac0da1efc95149385a0",
      "parents": [
        "0b38aa0f971f58ac96ebb331463ba2087af7b724"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Dec 07 23:51:29 2010 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Dec 08 00:35:27 2010 -0800"
      },
      "message": "Rework activity lifecycle so onSaveInstanceState() is after onPause().\n\nThe goal is to fix a bunch of fragment-related bugs caused by various\nthings trying to do fragment transactions after onPause()...  which\ncurrently throws an exception, since this is after the activity\u0027s state\nhas been saved so the new fragment state can be lost.\n\nThe basic change is relatively simple -- we now consider processes\nhosting paused or stopping activities to be unkillable, and the client\ncode now does the onSaveInstanceState() as part of stopping the\nactivity.\n\nFor compatibility, if an app\u0027s targetSdkVersion is \u003c HONEYCOMB, the\nclient side will still call onSaveInstanceState() prior to onPause()\nand just hold on to that state until it needs to report it in once\nbeing stopped.\n\nAlso included here is a change to generate thumbnails by taking\nscreenshots.  The code for generating thumbnails by re-rendering\nthe view hierarchy is thus removed.\n\nChange-Id: Iac1191646bd3cadbfe65779297795f22edf7e74a\n"
    },
    {
      "commit": "49ed71db425c5054e3ad9526496a7e116c89556b",
      "tree": "3d3b28bdaf76d5cc531fd3b52fcbb0efb32a05ba",
      "parents": [
        "f30c8287525ac049d4d7589a330be5713256046b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Dec 06 17:13:33 2010 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Dec 07 17:35:26 2010 -0800"
      },
      "message": "Add support for fallback keycodes.\n\nThis change enables the framework to synthesize key events to implement\ndefault behavior when an application does not handle a key.\nFor example, this change enables numeric keypad keys to perform\ntheir associated special function when numlock is off.\n\nThe application is informed that it is processing a fallback keypress\nso it can choose to ignore it.\n\nAdded a new keycode for switching applications.\n\nAdded ALT key deadkeys.\n\nNew default key mappings:\n- ESC -\u003e BACK\n- Meta+ESC -\u003e HOME\n- Alt+ESC -\u003e MENU\n- Meta+Space -\u003e SEARCH\n- Meta+Tab -\u003e APP_SWITCH\n\nFixed some comments.\nFixed some tests.\n\nChange-Id: Id7f3b6645f3a350275e624547822f72652f3defe\n"
    },
    {
      "commit": "e798268f16ec6d0542616ea45ca0bb18ae2645ee",
      "tree": "827c64e6d164c4fc2ee607f12570d19712624bf6",
      "parents": [
        "59b3866653a5a561a65d85851061e19123c5755c"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Tue Dec 07 10:31:02 2010 -0800"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Tue Dec 07 10:31:02 2010 -0800"
      },
      "message": "Have MobileDataStateTracker \u0026 DataConnectionTracker communicate directly.\n\nAdded CMD_SET_DATA_ENABLE which is sent when data is enabled/disabled\nvia the ConnectivityService. It is anticipated that the communication\nchannel will be used for additional commands and to receive unsoliciated\ncommands from DataConnectionTracker back to MobileDataStateTracker.\n\nChange-Id: I3863e7385155d503f069b1dcb7e4f766ec78b5f8\n"
    },
    {
      "commit": "da3d5e6587c1476d489495ac93e84ebf223024c9",
      "tree": "bca7bbbb104dc88394cf8d17f95fdc4923aa007a",
      "parents": [
        "c030a164c8a890947985d15722fe3df8785f7d04"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Dec 06 13:56:24 2010 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Dec 07 07:48:33 2010 -0800"
      },
      "message": "Add a Dummy data connection for testing purposes.\n\nEnable with:\n    \u003cstring-array translatable\u003d\"false\" name\u003d\"networkAttributes\"\u003e\n        \u003citem\u003e\"wifi,1,1,1\"\u003c/item\u003e\n        \u003citem\u003e\"dummy,7,7,0\"\u003c/item\u003e\n    \u003c/string-array\u003e\n\nin your config.xml\n\nChange-Id: I3965edaeb4873e95131f4083b8d23d682ce17841\n"
    },
    {
      "commit": "6dcc906c4518d52321fd3ea2d3b8f345844ba78c",
      "tree": "8d8c1baac0801cc42d5f3fa4fbe58c86af2e141f",
      "parents": [
        "e01af4dea3741e3e63be35abb227a795da909324",
        "a2e13392412d5094e49ea0053599477401d1a67e"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Dec 06 16:51:32 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 06 16:51:32 2010 -0800"
      },
      "message": "Merge \"Make Proxy change broadcast sticky\""
    },
    {
      "commit": "a2e13392412d5094e49ea0053599477401d1a67e",
      "tree": "62327e8bd3ac7ae7333d596ca5fda137e1abb0a5",
      "parents": [
        "384977fceaba842fd4a5f64111a2266c9e61dba5"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Dec 06 11:29:17 2010 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Dec 06 11:29:17 2010 -0800"
      },
      "message": "Make Proxy change broadcast sticky\n\nMakes it easier for apps who care.  Includes the current values.\n\nChange-Id: I5f1d3589a036ebc9910281f97d4780ecda2829f2\n"
    },
    {
      "commit": "d752b66a3337df7578054ea827598e237819c57d",
      "tree": "d9eee8ad79eace11a7fcae8b10ab8adca353f5ed",
      "parents": [
        "536da84f41b11f647d6212dd334750689ebd8b2a",
        "110988c8b70f4ab089b179b7966497d508506263"
      ],
      "author": {
        "name": "Andy Stadler",
        "email": "stadler@google.com",
        "time": "Mon Dec 06 10:38:04 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 06 10:38:04 2010 -0800"
      },
      "message": "Merge \"Fix notification/builder defaults\""
    },
    {
      "commit": "733c62909c1cca72be50094acb15dc1014b956ce",
      "tree": "536855f6bea1e8ef151077ac84faefe3b31850cb",
      "parents": [
        "7c2bacf6a904f470a7e850841c306065049feedc"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Dec 06 09:30:17 2010 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Dec 06 09:47:31 2010 -0800"
      },
      "message": "Don\u0027t clobber the net hostname if it\u0027s already set.\n\nBe a good citizen.\n\nChange-Id: Ic58aeab013e2ff34201be71e01e399390edbbb5f\n"
    },
    {
      "commit": "110988c8b70f4ab089b179b7966497d508506263",
      "tree": "762afe6ad4daaaee85740ef5b673a4220385e669",
      "parents": [
        "88bf6084c339fe64ce910a35443ca2d71cfc2f23"
      ],
      "author": {
        "name": "Andy Stadler",
        "email": "stadler@google.com",
        "time": "Fri Dec 03 14:29:16 2010 -0800"
      },
      "committer": {
        "name": "Andy Stadler",
        "email": "stadler@google.com",
        "time": "Fri Dec 03 14:29:16 2010 -0800"
      },
      "message": "Fix notification/builder defaults\n\n* Builder wasn\u0027t setting mAudioStreamType to its non-zero default\n* Clean up warnings (imports, unused variables, overrides)\n\nBug: 3250299\nChange-Id: I019f54a0d6c97e71681d24144e784fa4b4737f7e\n"
    },
    {
      "commit": "88bf6084c339fe64ce910a35443ca2d71cfc2f23",
      "tree": "698e036fe8736884b56b24910142b3b78a476a77",
      "parents": [
        "ad2ff860bfef8d46b02b9093eb606b17b9bdead6",
        "87fc30828209afa25be69ac7053241f4eaeb3378"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Dec 03 13:16:38 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 03 13:16:38 2010 -0800"
      },
      "message": "Merge \"Fix issue #3175809: system_server crash with SEGV_MAPERR (IKXEVEREST-1372)\""
    },
    {
      "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": "ed9c02b56c6f56a583aa272f82818ef039face75",
      "tree": "cfa642120d09967830d6e4af1a9cc984345bf4da",
      "parents": [
        "32820249adbcacb7a7a1d35f22a892badda03f3e"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Fri Dec 03 12:01:38 2010 -0800"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Fri Dec 03 12:01:38 2010 -0800"
      },
      "message": "Cleanup logging.\n\nChange-Id: Ie73c6d97ec19b0d27e58c085b60e885d90066056\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"
    }
  ],
  "next": "646f46eddf897bff4aebcc8454004539589e0965"
}
