)]}'
{
  "log": [
    {
      "commit": "c566b43d02596cba437e9a2723e9f989297cca72",
      "tree": "47afa340bf7f23fcb8d643ea9d51525e715c9878",
      "parents": [
        "20b76b9fff076241fe305fc99be3be7ab7d10407"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Nov 30 15:26:21 2012 -0800"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Nov 30 17:28:08 2012 -0800"
      },
      "message": "Fix crosstalk between users for widgets hosted in lockscreen\n\nThis was initially about the Clock widget crashing repeatedly on some\ndevices with multiple users. Turned out that there were race conditions\nwhen switching users that could result in remote views of one user calling\nback to the RemoteViewsAdapter in keyguard that in turn sent an incorrect widget id\nto a different user\u0027s widget, resulting in a crash.\n\nSince KeyguardHostView is instantiated in the same process for different users,\nit needs to carry a user identity to pass along to AppWidgetService so that\nremote views services were bound to the correct user and callbacks were attached and\ndetached properly.\n\nAdded some aidl calls that take the userId to do the binding properly. A more\ncomplete fix might be needed in the future so that all calls from Keyguard carry\nthe user id.\n\nAlso, there was a problem in comparing host uid for secondary users, since Settings\nfor a secondary user has a different uid than keyguard. Not an issue on single-user\nsystems. Changed the host.uid comparison to accomodate for the secondary user.\n\nBug: 7450247\nChange-Id: Idbc36e3c60023cac74174f6cb7f2b2130dd3052c\n"
    },
    {
      "commit": "7b1aa77a9b25b4b1e8070c9cccfadcde39954952",
      "tree": "d76efb533bc54fa9eccdebc0fa73fda25e08c369",
      "parents": [
        "b1a01ab01c2aa5136f7781c3a6ec682590e38ac4"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Nov 30 16:14:45 2012 -0800"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Fri Nov 30 16:14:45 2012 -0800"
      },
      "message": "Include child windows when looking for insertion point.\n\nAfter finding a window in the window list we turn around and look in\nthe AppWindowToken.windows list for it. If it is a child of a window\nin that list we should use the parent windows index as the search\nresult. Instead we gave up and ended up inserting the window at the\nbeginning of the windows list.\n\nBug 7357465 fixed.\n\nChange-Id: If77f343b8597bfbb0b7fa41dedf7972d78d03020\n"
    },
    {
      "commit": "b1a01ab01c2aa5136f7781c3a6ec682590e38ac4",
      "tree": "5fc8dab3a8c1d3ca81542e21dda492af08c7d1a5",
      "parents": [
        "675814d488579582e0214cc720d9ccc310173f25",
        "8385c5afbd92da5f2e8bc13d153114bc3a7cb0f5"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Fri Nov 30 11:07:53 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 30 11:08:07 2012 -0800"
      },
      "message": "Merge \"Allow the NFC process to call Bluetooth APIs.\" into jb-mr1.1-dev"
    },
    {
      "commit": "675814d488579582e0214cc720d9ccc310173f25",
      "tree": "e0ac74039f48c5fd99d1d44b03a5e28c485c0716",
      "parents": [
        "849f5188e34ea667b689e795d88411a2412db2e8",
        "6c5406acd72eed31f2b4e12f5eddc0e2d2a951e2"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Nov 30 10:41:47 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 30 10:42:15 2012 -0800"
      },
      "message": "Merge \"Maybe fix issue #7596986: Frequent runtime restarts; IAE at...\" into jb-mr1.1-dev"
    },
    {
      "commit": "aae329ef0f68e30897faef55c86548dab0eadf37",
      "tree": "81e071136ef94d847765431b32a545a59dd31bf2",
      "parents": [
        "ebec2315353941890471aa901e87f19f681d007a",
        "4b16969b006613bff4901a6e979f29a0f501430b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 29 17:53:47 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 29 17:53:47 2012 -0800"
      },
      "message": "Merge \"Don\u0027t apply transformation fudge when not rotating.\" into jb-mr1.1-dev"
    },
    {
      "commit": "4b16969b006613bff4901a6e979f29a0f501430b",
      "tree": "ce39b5a558172c3fa54416bad61178ec4b350c0b",
      "parents": [
        "860d0cd452529e7a01152582e6535c2129a46af7"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 29 17:51:24 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 29 17:51:24 2012 -0800"
      },
      "message": "Don\u0027t apply transformation fudge when not rotating.\n\nThere is this stupid fudge factor applied to window transformations\nwhen doing a screen rotation animation.  We need this when rotating,\nbut when not rotating it causes very visible artifacts.  Historically\nthe non-rotation case only happened due to configuration changes, so\nwasn\u0027t that big a deal.  Now however that we use this when switching\nusers, it is more annoying.  So get rid of it for such cases.\n\nChange-Id: I6b343866c1bad9b16984b4a629917c2f1bb37b9e\n"
    },
    {
      "commit": "ebec2315353941890471aa901e87f19f681d007a",
      "tree": "a5786dac20816015319fc25ed64e1c0b18883d22",
      "parents": [
        "e1a867f68d3727908be1c2cfc90a5ba6a5785c17",
        "4d78abfca7a253090f07796e7ac585651eb9a2f1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 29 16:38:22 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 29 16:38:23 2012 -0800"
      },
      "message": "Merge \"Always report user switched after unfreezing screen.\" into jb-mr1.1-dev"
    },
    {
      "commit": "6c5406acd72eed31f2b4e12f5eddc0e2d2a951e2",
      "tree": "e1d18c46784fe90a7abcbd17cb21d56bd82c872e",
      "parents": [
        "860d0cd452529e7a01152582e6535c2129a46af7"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 29 16:18:01 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 29 16:33:54 2012 -0800"
      },
      "message": "Maybe fix issue #7596986: Frequent runtime restarts; IAE at...\n\n...android.os.Parcel.nativeAppendFrom(Native Method)\n\nThe failing stack trace is:\n\n11-20 20:29:04.365 19154 19170 E AndroidRuntime: java.lang.IllegalArgumentException\n11-20 20:29:04.365 19154 19170 E AndroidRuntime:        at android.os.Parcel.nativeAppendFrom(Native Method)\n11-20 20:29:04.365 19154 19170 E AndroidRuntime:        at android.os.Parcel.appendFrom(Parcel.java:428)\n11-20 20:29:04.365 19154 19170 E AndroidRuntime:        at android.os.Bundle.writeToParcel(Bundle.java:1613)\n11-20 20:29:04.365 19154 19170 E AndroidRuntime:        at android.os.Parcel.writeBundle(Parcel.java:605)\n11-20 20:29:04.365 19154 19170 E AndroidRuntime:        at android.location.Location.writeToParcel(Location.java:903)\n11-20 20:29:04.365 19154 19170 E AndroidRuntime:        at android.os.Parcel.writeParcelable(Parcel.java:1254)\n11-20 20:29:04.365 19154 19170 E AndroidRuntime:        at android.os.Parcel.writeValue(Parcel.java:1173)\n11-20 20:29:04.365 19154 19170 E AndroidRuntime:        at android.os.Parcel.writeMapInternal(Parcel.java:591)\n11-20 20:29:04.365 19154 19170 E AndroidRuntime:        at android.os.Bundle.writeToParcel(Bundle.java:1619)\n11-20 20:29:04.365 19154 19170 E AndroidRuntime:        at android.os.Parcel.writeBundle(Parcel.java:605)\n11-20 20:29:04.365 19154 19170 E AndroidRuntime:        at android.location.Location.writeToParcel(Location.java:903)\n11-20 20:29:04.365 19154 19170 E AndroidRuntime:        at android.os.Parcel.writeParcelable(Parcel.java:1254)\n11-20 20:29:04.365 19154 19170 E AndroidRuntime:        at android.os.Parcel.writeValue(Parcel.java:1173)\n11-20 20:29:04.365 19154 19170 E AndroidRuntime:        at android.os.Parcel.writeMapInternal(Parcel.java:591)\n11-20 20:29:04.365 19154 19170 E AndroidRuntime:        at android.os.Bundle.writeToParcel(Bundle.java:1619)\n11-20 20:29:04.365 19154 19170 E AndroidRuntime:        at android.os.Parcel.writeBundle(Parcel.java:605)\n11-20 20:29:04.365 19154 19170 E AndroidRuntime:        at android.content.Intent.writeToParcel(Intent.java:6660)\n11-20 20:29:04.365 19154 19170 E AndroidRuntime:        at android.app.ApplicationThreadProxy.scheduleReceiver(ApplicationThreadNative.java:763)\n11-20 20:29:04.365 19154 19170 E AndroidRuntime:        at com.android.server.am.BroadcastQueue.processCurBroadcastLocked(BroadcastQueue.java:230)\n11-20 20:29:04.365 19154 19170 E AndroidRuntime:        at com.android.server.am.BroadcastQueue.processNextBroadcast(BroadcastQueue.java:777)\n\nThis is odd because where we do Bundle.writeToParcel(), we are just writing the Parcel\nwe have with its current length.  There is no way this should be able to fail like this...\nunless the Bundle is changed while we are running?\n\nHm.\n\nIt looks like the location manager is holding on to Location objects which have a\nBundle of extras.  It is that Bundle of extras that the crash is happening on.\nAnd the bundle extras can be changed as it operates.  And there are places where\nthe raw Location object is returned from the location manager, which means the\ncaller can be olding on to a Location object whose extras can be changed at any\ntime by other threads in the location manager.\n\nSo that seem suspicious.\n\nThis change should take care of all these places in the location manager, by\nmaking sure to copy the location object before it goes out of the location\nmanager.\n\nIn addition, add some code to the activity manager to not bring down the entire\nsystem if there is a problem trying to send one of these broadcasts.  There is\nno need, we can just skip the broadcast as bad.\n\nChange-Id: I3043c1e06f9d2931a367f831b6a970d71b0d0621\n"
    },
    {
      "commit": "e1a867f68d3727908be1c2cfc90a5ba6a5785c17",
      "tree": "e02c8c73b120fed453e2ab0da9c59b54471f3760",
      "parents": [
        "818b2f341c7a5afc08c6d1d26469101f3885def0",
        "6eb7652b04b92b0c3786d96e6a97f5f4e46aec69"
      ],
      "author": {
        "name": "Zhihai Xu",
        "email": "zhihaixu@google.com",
        "time": "Thu Nov 29 16:03:46 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 29 16:03:49 2012 -0800"
      },
      "message": "Merge \" BluetoothManagerService call should allow SYSTEM_UID\" into jb-mr1.1-dev"
    },
    {
      "commit": "6eb7652b04b92b0c3786d96e6a97f5f4e46aec69",
      "tree": "4c68c5bf6d53c83756a455819cd0c37c90348dec",
      "parents": [
        "035352b4d62e259c86576dd3d1495b21bed172ff"
      ],
      "author": {
        "name": "Zhihai Xu",
        "email": "zhihaixu@google.com",
        "time": "Thu Nov 29 15:41:04 2012 -0800"
      },
      "committer": {
        "name": "Zhihai Xu",
        "email": "zhihaixu@google.com",
        "time": "Thu Nov 29 15:41:04 2012 -0800"
      },
      "message": " BluetoothManagerService call should allow SYSTEM_UID\n\nbug 7561429\n\nChange-Id: I1483bfe1361f71c7ae3529ea496b33504b95413e\n"
    },
    {
      "commit": "4d78abfca7a253090f07796e7ac585651eb9a2f1",
      "tree": "727f007e2e1436b2cfe3a2a3f3e0555d3dd60b28",
      "parents": [
        "860d0cd452529e7a01152582e6535c2129a46af7"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 29 15:10:18 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 29 15:10:18 2012 -0800"
      },
      "message": "Always report user switched after unfreezing screen.\n\nChange-Id: I58172896892a07e72a3430e56e4d2944d388c7c9\n"
    },
    {
      "commit": "05db19bc55962374812775bf7d980d83ca4f6c3e",
      "tree": "45df900a04325a02e103abbbe9f5eb9d93c4b554",
      "parents": [
        "38e847004978031c2b914714e92bc5407ba3ce65",
        "5df1d871feabee23b16a69ee48695fd892017517"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Nov 29 12:47:54 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 29 12:47:54 2012 -0800"
      },
      "message": "Merge \"trigger kernel blocked stack trace on system server watchdog\" into jb-mr1.1-dev"
    },
    {
      "commit": "5df1d871feabee23b16a69ee48695fd892017517",
      "tree": "4ab2973f6aa8ba3a7a5253a5dca1a8f2bdacb863",
      "parents": [
        "154e2d7d2c6c5a316b5471d56c86174dd9ca5e86"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Nov 29 11:42:11 2012 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Nov 29 12:44:09 2012 -0800"
      },
      "message": "trigger kernel blocked stack trace on system server watchdog\n\nBug b/7638530 may be caused by a kernel deadlock when killing\nprocesses under low memory conditions.  Write to /proc/sysrq-trigger\nto get a kernel log of blocked tasks before killing the system server.\n\nBug: 7638530\nChange-Id: I60df324ad4affdadbf13650099dc4dfb38722420\n"
    },
    {
      "commit": "143d73dab5bf3fe6b8835660543d3d03e781618f",
      "tree": "d516bc25a9e84219398b769f69101760317e81eb",
      "parents": [
        "958343c19f8a87dfb8967431684da3239ac20272",
        "8f3e6d5c836353444082e4696f5e933266384580"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Thu Nov 29 11:45:57 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 29 11:45:57 2012 -0800"
      },
      "message": "Merge \"Fix multiuser bug in StatusBarManagerService.\" into jb-mr1.1-dev"
    },
    {
      "commit": "8f3e6d5c836353444082e4696f5e933266384580",
      "tree": "c505a47fcee126ae743c0c8b6ff27d952885ba15",
      "parents": [
        "652678af4d18b9a6c18ce6a860de01d958bc82fe"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Thu Nov 29 13:56:24 2012 -0500"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Thu Nov 29 14:18:35 2012 -0500"
      },
      "message": "Fix multiuser bug in StatusBarManagerService.\n\nFirst, do no harm.\n\nBug:7638210\nChange-Id: I113b574a021d601b0c79d65a3b4b72eeb4c667ad\n"
    },
    {
      "commit": "8385c5afbd92da5f2e8bc13d153114bc3a7cb0f5",
      "tree": "56e78d921875662d10428b3a58177b293dc4fd71",
      "parents": [
        "02053d1cce52f11ef1bc3b562279940208f9c54e"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Thu Nov 29 10:14:16 2012 -0800"
      },
      "committer": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Thu Nov 29 10:17:47 2012 -0800"
      },
      "message": "Allow the NFC process to call Bluetooth APIs.\n\nThe NFC process used to be only running as user 0,\nand it may be calling into Bluetooth. Most of the\nhandover code has now moved to a separate process\nrunning as the current user.\n\nFix the existing checks to take into account the\ncorrect NFC UID, whatever user it is running as.\n\nBug: 7309141\nChange-Id: I953cfb263a28aef7fe1be5880b053425dc359a29\n"
    },
    {
      "commit": "24d966a3b6a0407076b333ec2e074160b2311cb2",
      "tree": "c813ae76c74c92fa3467a0c6c6441e223b3a2a24",
      "parents": [
        "652678af4d18b9a6c18ce6a860de01d958bc82fe",
        "9dd9e0c99dcb2db98ffbcf9ad97e58fab8d38640"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Nov 29 09:57:14 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 29 09:57:15 2012 -0800"
      },
      "message": "Merge \"Fix math errors causing black screen. DO NOT MERGE\" into jb-mr1.1-dev"
    },
    {
      "commit": "9dd9e0c99dcb2db98ffbcf9ad97e58fab8d38640",
      "tree": "059319290fa792cdc612ad3badb6cfc340aae2cd",
      "parents": [
        "7be52cbc33157e4700b7d04e69d1149cd80e9096"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Nov 15 14:25:14 2012 -0800"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Thu Nov 29 00:11:50 2012 -0800"
      },
      "message": "Fix math errors causing black screen. DO NOT MERGE\n\nTurning off animations in the Developer options creates a ValueAnimator\nduration scale of 0. This is used as the denominator in RampAnimator\nwhich, if the numerator is also 0, sets mAnimatedValue to NaN. Rounding\nNaN to the nearest int produces 0 which is then assigned to\nmScreenBrightness in DisplayPowerState.\n\nA copy mistake which assigned mTransitionAnimationScale as the default\nvalue for mAnimatorDurationScale in WindowManagerService is also\nfixed here.\n\nBug 7515609 fixed.\n\nChange-Id: I39f8d0a7abdd5a1fe70d757fe95fbddaf7a0ed51\n"
    },
    {
      "commit": "860d0cd452529e7a01152582e6535c2129a46af7",
      "tree": "09b1449ce703179b4384f1065736c1c5680da7f1",
      "parents": [
        "2435f98d91c2760ba94bb7806d24e4c03e8d8fd9",
        "13579ed3305bf89b41a9fa88e1347f0e0769d279"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Nov 28 18:19:09 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 28 18:19:25 2012 -0800"
      },
      "message": "Merge \"Cleaner initial boot.\" into jb-mr1.1-dev"
    },
    {
      "commit": "13579ed3305bf89b41a9fa88e1347f0e0769d279",
      "tree": "705a6b10c05895d2acf7a17d5a70d1c952bce4d8",
      "parents": [
        "71175f727bc1e094e72a410aca62392badffbf11"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Nov 28 18:05:36 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Nov 28 18:09:01 2012 -0800"
      },
      "message": "Cleaner initial boot.\n\nThis does some cleanup of the initial boot, especially when\nbooting in \"no core apps\" mode for encryption/decryption.\n\nChange-Id: Ifb3949f580e52f54559e603c4b0b104f6bac2f6c\n"
    },
    {
      "commit": "035352b4d62e259c86576dd3d1495b21bed172ff",
      "tree": "53c026eb0c140c0d5c5484c2c879c06c3b3acdd7",
      "parents": [
        "5a36e06ab2289073980b6147e13c8c03b94e5a80",
        "d9e5af3851f592a00549b689dec325dc46268606"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Wed Nov 28 17:47:22 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 28 17:47:22 2012 -0800"
      },
      "message": "Merge \"Making sure keyguard and homescreen only display eligible widgets (issue 7550090)\" into jb-mr1.1-dev"
    },
    {
      "commit": "d9e5af3851f592a00549b689dec325dc46268606",
      "tree": "bb66c540d897bbe66fbeac3afa75e4d51a1f9c5b",
      "parents": [
        "9a0fbd4c6da2905504defdba9843d3fcbe0c1367"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Wed Nov 28 16:34:57 2012 -0800"
      },
      "committer": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Wed Nov 28 16:36:56 2012 -0800"
      },
      "message": "Making sure keyguard and homescreen only display eligible widgets (issue 7550090)\n\nChange-Id: I25acb7bde2e8e5ac3185a009f5c7151b81f0ae19\n"
    },
    {
      "commit": "b4d5a9e73b51671e25b176310bd69f2d43a1167f",
      "tree": "d81e4ef1d177ede1e34a579fd5ebf530de6f656a",
      "parents": [
        "71175f727bc1e094e72a410aca62392badffbf11",
        "6681be27875a50bd0c74826cb5d8defec72b8d58"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Nov 28 16:28:40 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 28 16:28:41 2012 -0800"
      },
      "message": "Merge \"WFD: Fallback to PIN mode if PBC is not supported\" into jb-mr1.1-dev"
    },
    {
      "commit": "6681be27875a50bd0c74826cb5d8defec72b8d58",
      "tree": "7219aa3021ef86c92f301016500809ba654c647d",
      "parents": [
        "9a0fbd4c6da2905504defdba9843d3fcbe0c1367"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Nov 28 15:54:06 2012 -0800"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Nov 28 15:54:06 2012 -0800"
      },
      "message": "WFD: Fallback to PIN mode if PBC is not supported\n\nBug: 7627641\nChange-Id: Ibba6114f907c67f1cb60c460d5b65479f2d1b148\n"
    },
    {
      "commit": "68e0da7e397f6808a90509615c08c62bb00af6ba",
      "tree": "5062b69f91f6bd99f12ade6121ebf78a7551db62",
      "parents": [
        "ceafd15df99ed77c9e9ed5e93d2c1f062a095169",
        "40e9f2922cae76ffcbc521481e5be8e80e8744ef"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Nov 28 15:03:39 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 28 15:03:39 2012 -0800"
      },
      "message": "Merge \"Quiet down a lot of logging.\" into jb-mr1.1-dev"
    },
    {
      "commit": "e3f7c45241a90d3e4b76d28911831f5dcbaaa038",
      "tree": "b282e332ebc5c461c4cb358b0c6b8f882f23ebf1",
      "parents": [
        "f3a39f2df40503e8e3a91937f9f5f33b43528274",
        "4e22ad35045dc5861193526afe1565d52f983698"
      ],
      "author": {
        "name": "Zhihai Xu",
        "email": "zhihaixu@google.com",
        "time": "Wed Nov 28 12:19:41 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 28 12:19:42 2012 -0800"
      },
      "message": "Merge \"Settings shows it is connected to A2DP, though the device is not actually connected\" into jb-mr1.1-dev"
    },
    {
      "commit": "5c0f3e5075c8ac8b22bbaeb32bddfada9657577a",
      "tree": "cc9b2672cdd9587ec543ec0984cffc2fc2e00d9b",
      "parents": [
        "7538ff0920a8cbdfe68885221d1275633eafc613",
        "681ae7fc5e36f8da0c6975b316c93834c0d7b8a3"
      ],
      "author": {
        "name": "Zhihai Xu",
        "email": "zhihaixu@google.com",
        "time": "Wed Nov 28 11:21:39 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 28 11:22:21 2012 -0800"
      },
      "message": "Merge \"Cannot enable Bluetooth after using airplane and Bluetooth tethering sequentially\" into jb-mr1.1-dev"
    },
    {
      "commit": "40e9f2922cae76ffcbc521481e5be8e80e8744ef",
      "tree": "8eb1822dd2832b729d4b262b616ecc050d9cf266",
      "parents": [
        "ba4ac51823c59152e2167365b81ac56857b6b4d0"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Nov 27 19:12:23 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Nov 27 19:12:23 2012 -0800"
      },
      "message": "Quiet down a lot of logging.\n\nAlso fix a little problem where the USER_STARTED broadcasts\nwere not being sent as ordered broadcasts(!).\n\nChange-Id: I3aa3e0a9b3900967cdd2d115ee103371b0a50c41\n"
    },
    {
      "commit": "9e98927e2dd3e9498753e6878709b2625e96feea",
      "tree": "30f773abaf02166b8dacf5b1f6a017ebb82cbb3b",
      "parents": [
        "b544af3796b43afa9ae6f2196df569de175e0d24",
        "e8552142494bbb4438a8748707f74b1ce241ea48"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Nov 27 16:17:45 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 27 16:17:45 2012 -0800"
      },
      "message": "Merge \"Retain configuration change info and sync access.\" into jb-mr1.1-dev"
    },
    {
      "commit": "f426ace9dab65c88b36a047bf921070edcf8cf61",
      "tree": "4b9ad05c03c5d4771627eeab5bb0f2d7c79a196d",
      "parents": [
        "09a526faf311f77017f37af3fe8aba45bc2c32fb",
        "32f0742e52de8cebdbbb6c8ede9d6f4315d50189"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Nov 27 15:37:40 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 27 15:37:40 2012 -0800"
      },
      "message": "Merge \"Only wipe device if primary user (for failed password attempts)\" into jb-mr1.1-dev"
    },
    {
      "commit": "e8552142494bbb4438a8748707f74b1ce241ea48",
      "tree": "fc0a7c865663915e3d635d7cceb2a25a8559dabe",
      "parents": [
        "7be52cbc33157e4700b7d04e69d1149cd80e9096"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Nov 07 13:55:47 2012 -0800"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Nov 27 12:47:27 2012 -0800"
      },
      "message": "Retain configuration change info and sync access.\n\n- If a window was hidden while the configuration changed and then\nchanged back WindowManagerService would not know that the change\nhad ever happened and wouldn\u0027t notify the window of this. Most\nwindows wouldn\u0027t care but because Keyguard inflates layouts while\nit is hidden...\n\nBug 7094175 fixed?\nBug 7501099 fixed!\n\nChange-Id: If27f5f1d333602dac7719dd39dbdf3fe7954aa06\n"
    },
    {
      "commit": "ba4ac51823c59152e2167365b81ac56857b6b4d0",
      "tree": "01ba2de86661b4cdb427079f00742fa984de5e80",
      "parents": [
        "6f3b20ccc14c25173780f01c621dbb2279cd8236",
        "8103890a59de6ed4abaedaad80e66666ea59f9b5"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Nov 27 11:06:34 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 27 11:06:35 2012 -0800"
      },
      "message": "Merge \"Improve debugging for issue #7586414: AlarmManager wakelocks held\" into jb-mr1.1-dev"
    },
    {
      "commit": "8103890a59de6ed4abaedaad80e66666ea59f9b5",
      "tree": "899678e939b6d3ce4fe963818d8e0dfcad048be0",
      "parents": [
        "9a0fbd4c6da2905504defdba9843d3fcbe0c1367"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Nov 26 17:04:09 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Nov 27 11:05:42 2012 -0800"
      },
      "message": "Improve debugging for issue #7586414: AlarmManager wakelocks held\n\nIn alarm manager, print a summary of the top 10 alarms by time\nbeing executed.  Keep track of execution time (and wake count) of\neach type of alarm for each application so this can be printed in\nthe summary (and used to compute the top 10 alarms).  Rework how\nthe alarm summary stats are tracked so that we don\u0027t need to hold\non to the full Intent for each stat and can get the Intent information\nat the time the alarm is sent rather than waiting for whatever Intent\ncomes back in the result.\n\nAlso in the battery stats: sort the kernel wake locks by time, add\na new section showing all partial wake locks across all applications\nsorted by time.\n\nFinally a new LocalLog class that is used by AlarmManager to log\nimportant warning messages, so these can also be later found in\nits dumpsys output.\n\nChange-Id: Icc07810053e60fb623a49937e696819cb8352b06\n"
    },
    {
      "commit": "1af084113713743c70df04702083fff5a5325482",
      "tree": "1ef3aeee73c2fbb06f4697112ceda9c3de12152b",
      "parents": [
        "de0bf8bc2c9814e255b45abf0453260fff5ebffa",
        "8d03305b576e429909e420c235163c2be1aae732"
      ],
      "author": {
        "name": "Satoshi Kataoka",
        "email": "satok@google.com",
        "time": "Mon Nov 26 19:39:18 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 26 19:39:20 2012 -0800"
      },
      "message": "Merge \"Hide current soft input when a background user gains window focus.\" into jb-mr1.1-dev"
    },
    {
      "commit": "7be52cbc33157e4700b7d04e69d1149cd80e9096",
      "tree": "5082214b0e46630b198cb16203ed868e450c7f57",
      "parents": [
        "2b847c39336024a958742195de4f406e7aa79540",
        "791f877473cc6b3e8e484b741012c95aba70c3b0"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Nov 26 16:22:23 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 26 16:22:41 2012 -0800"
      },
      "message": "Merge \"Logging to help find the cause of widget crash in clock widget.\" into jb-mr1.1-dev"
    },
    {
      "commit": "791f877473cc6b3e8e484b741012c95aba70c3b0",
      "tree": "6aa772e0facf5b9612180722197b58168dd629a2",
      "parents": [
        "18bbcf7f688be41d858b2ac2dd51e7d86371aecb"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Nov 21 14:06:07 2012 -0800"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Nov 26 15:22:31 2012 -0800"
      },
      "message": "Logging to help find the cause of widget crash in clock widget.\n\nThis will continue to crash as before, but will show some useful\ninformation in the exception.\n\nBug: 7450247\n\nChange-Id: Ib3160a5f64154517791d165973c12294ecd09901\n"
    },
    {
      "commit": "f7614fc7442e9cf2df89d4230af3f56f03a74c6e",
      "tree": "f8175ade1994f5cf8148f3977d3051a051ad994d",
      "parents": [
        "9a0fbd4c6da2905504defdba9843d3fcbe0c1367"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Mon Nov 26 14:43:24 2012 -0800"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Mon Nov 26 14:44:03 2012 -0800"
      },
      "message": "Removing unecessary additional lock metadata from QuickSettings user tile.\n\nChange-Id: I89ec94385eb3cdd46ad6942bf8989fb04d5c0370\n"
    },
    {
      "commit": "7f2a98967532138f3f962216ccf2d1a8307d42de",
      "tree": "c312aeabed4d0d726037eea983968756745114c6",
      "parents": [
        "53d96599788a21867887422ed140dc9a6dd8919d",
        "6edb6db512198aa0eef66341d163926b3531bca3"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Mon Nov 26 11:34:39 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 26 11:34:40 2012 -0800"
      },
      "message": "Merge \"Ignore invalid combination of PowerManager flags.\" into jb-mr1.1-dev"
    },
    {
      "commit": "6edb6db512198aa0eef66341d163926b3531bca3",
      "tree": "449ed687ab7cc79e1cc17aac0c0a33bfd473ce9d",
      "parents": [
        "7b0c877959ee15c766cc7366ec6b4c024c211cd6"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Nov 20 18:21:12 2012 -0800"
      },
      "committer": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Wed Nov 21 13:19:39 2012 -0800"
      },
      "message": "Ignore invalid combination of PowerManager flags.\n\nACQUIRE_CAUSES_WAKEUP is supposed to be ignored if combined with\nPARTIAL_WAKE_LOCK. Instead it was being carried out for any values\nof the WakeLock level.\n\nThis change reverts behavior to closely match\nprevious releases of the framework by only honoring\nACQUIRE_CAUSES_WAKEUP for screen wake lock levels. The only\ndifference being that in previous releases ACQUIRE_ could have been\ncombined with PROXIMITY_SCREEN_OFF_WAKE_LOCK (it never was) and\nnow such a combination will ignore the ACQUIRE_ flag.\n\nBug 7532258 fixed.\n\nChange-Id: I46e848d8fd1b57e54c63141bf3d4f353986b5bdf\n"
    },
    {
      "commit": "3f64edec6c6b2e53b42cfd8c6a6765ecee084fc2",
      "tree": "c43d47ff3e279eac2a1a7b8ca1d9043742ff3a7d",
      "parents": [
        "c7dd6640246841672a60e0c0ec4d9544372e1f84",
        "bc7b6fc2a4b701596a2c8eecc4aeef522abeeafa"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Wed Nov 21 06:44:00 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 21 06:44:00 2012 -0800"
      },
      "message": "Merge \"Fix IME down caret in keyguard nav bar bug.\" into jb-mr1.1-dev"
    },
    {
      "commit": "bc7b6fc2a4b701596a2c8eecc4aeef522abeeafa",
      "tree": "cca5bed177912d9f8188ea0eb4201132372c8002",
      "parents": [
        "a711d1ee76cf2e731d28a011c81d7f772cefa6c2"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Wed Nov 14 08:51:07 2012 -0500"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Tue Nov 20 14:06:56 2012 -0500"
      },
      "message": "Fix IME down caret in keyguard nav bar bug.\n\nThe input method manager service now keeps track of whether or not\nthe ime was shown on the keyguard.  This prevents activities behind\nthe keyguard from incorrectly showing the down-caret in the keyguard.\n\nBug:7498792\nChange-Id: I0de01ec29cb544e902305b0f9d9fb94a73835e7b\n"
    },
    {
      "commit": "4a7a9b963b42358a891b42187e46d76ecb92ff31",
      "tree": "96f513e7dfa4d03f5ed9bdd809c14f673bfeb852",
      "parents": [
        "2656abe09895088eca25caafc3e92869217d1447"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Nov 20 12:59:41 2012 -0500"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Nov 20 12:59:41 2012 -0500"
      },
      "message": "DEFAULT_VIBRATE must always use the default vibe pattern\n\nThe logic here was backwards, causing the (softer) fallback vibe\npattern to be applied if the notification specified a sound\n(or DEFAULT_SOUND) and also DEFAULT_VIBRATE. The fallback\nvibe should only play if you have *no* vibration set.\n\nBug: 7588655\nChange-Id: Iecdd362729bccedf779b51cc9b90a12014328aff\n"
    },
    {
      "commit": "8d03305b576e429909e420c235163c2be1aae732",
      "tree": "3987816d6a5f0a30adaadc24d9ba358fcb7fcbe0",
      "parents": [
        "2656abe09895088eca25caafc3e92869217d1447"
      ],
      "author": {
        "name": "Satoshi Kataoka",
        "email": "satok@google.com",
        "time": "Mon Nov 19 17:30:40 2012 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Tue Nov 20 11:12:07 2012 +0900"
      },
      "message": "Hide current soft input when a background user gains window focus.\n\nBug: 7507226\nChange-Id: If58f68469e21eaaba8536c4b54b3aa8cf8c08eb5\n"
    },
    {
      "commit": "2656abe09895088eca25caafc3e92869217d1447",
      "tree": "b90fd98ef4b877f4ce0a40b4227ad5e717134b2c",
      "parents": [
        "e007c0e8bc306f13149e6e099753cd110da1ec8c",
        "15451bd7afedb98a84574f69086936f883371c83"
      ],
      "author": {
        "name": "Satoshi Kataoka",
        "email": "satok@google.com",
        "time": "Sat Nov 17 21:53:02 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Nov 17 21:53:10 2012 -0800"
      },
      "message": "Merge \"Fix an inconsistent state with IMMS and Settings when the hard keyboard is connected\" into jb-mr1.1-dev"
    },
    {
      "commit": "7b0c877959ee15c766cc7366ec6b4c024c211cd6",
      "tree": "e07c0ff4d217f6b1647a66ed446aa4b7ec64e281",
      "parents": [
        "a9c0bb4a579a98cb7694e36454425c84a8c6510e",
        "75b5cfb4a41030333820d072578a288d4ec9899c"
      ],
      "author": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Fri Nov 16 15:29:16 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 16 15:29:17 2012 -0800"
      },
      "message": "Merge \"Delete appWidgetId when removing lockscreen widgets\" into jb-mr1.1-dev"
    },
    {
      "commit": "75b5cfb4a41030333820d072578a288d4ec9899c",
      "tree": "25e7028b8bbc0db51fbac3a64ddf05c1a72e1864",
      "parents": [
        "4c7a5d6a453512ec29c402530231dbdda5cf5f22"
      ],
      "author": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Thu Nov 15 18:22:47 2012 -0800"
      },
      "committer": {
        "name": "Michael Jurka",
        "email": "mikejurka@google.com",
        "time": "Fri Nov 16 15:22:06 2012 -0800"
      },
      "message": "Delete appWidgetId when removing lockscreen widgets\n\nBug: 7550012\n\nChange-Id: Ia9f5266256016eb91bfd6a2d5a7f910c42948f1e"
    },
    {
      "commit": "32f0742e52de8cebdbbb6c8ede9d6f4315d50189",
      "tree": "527dac195a6e036aca533ed5f1d48e26ab038988",
      "parents": [
        "acddb72c58dbab029d1acbaea61755e79ef8b2a4"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Nov 16 15:09:13 2012 -0800"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Nov 16 15:09:13 2012 -0800"
      },
      "message": "Only wipe device if primary user (for failed password attempts)\n\nWhen a DeviceAdmin requests a device wipe due to a number of incorrect\npassword attempts, only primary user can wipe the device. Secondary users\ncan only remove themselves from the device.\n\nBug: 7554445\nChange-Id: I24331cb4eff37571fcd792abb2efc794f7b3f2d2\n"
    },
    {
      "commit": "acddb72c58dbab029d1acbaea61755e79ef8b2a4",
      "tree": "eaa77dfe40dc2ec273dbf40cb046013960afdc61",
      "parents": [
        "159cdd925db2cf6d5b2d4cdaa718c1d537ac4fcd",
        "bc9625059bccc8f0d70540d0affd73320620c3c0"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Nov 16 10:43:47 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 16 10:43:48 2012 -0800"
      },
      "message": "Merge \"Make sure that the owner user is marked initialized.\" into jb-mr1.1-dev"
    },
    {
      "commit": "15451bd7afedb98a84574f69086936f883371c83",
      "tree": "eb5dd08e8594072bdec7b27e462ca53c7e744940",
      "parents": [
        "e3ac532115f51513fe86ab29e1f76734ece6809b"
      ],
      "author": {
        "name": "Satoshi Kataoka",
        "email": "satok@google.com",
        "time": "Fri Nov 16 13:17:54 2012 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Nov 16 13:30:56 2012 +0900"
      },
      "message": "Fix an inconsistent state with IMMS and Settings when the hard keyboard is connected\n\nBug: 7540140\nChange-Id: Iaac951ff457c35751b442e84ac07f1f86be93494\n"
    },
    {
      "commit": "6189888a2565b6362b0dd022850b748f628500d0",
      "tree": "b744cd93ede40577e9d9504cb3c07bb49741df98",
      "parents": [
        "b02eb4bb7d09a19aedb9dbc08b0f731af05a8579",
        "3fcc6b26c3302f47c911730f81cbc3dc9b71484d"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Thu Nov 15 14:56:19 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 15 14:56:19 2012 -0800"
      },
      "message": "Merge \"Making sure launcher doesn\u0027t show keyguard-only widgets (issue 7550090)\" into jb-mr1.1-dev"
    },
    {
      "commit": "3fcc6b26c3302f47c911730f81cbc3dc9b71484d",
      "tree": "e1569a4db6383cc0cc0ca9963d22ebfef36592e8",
      "parents": [
        "a1a2f967e2a0de4c4190a775ac314ad32288727e"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Thu Nov 15 14:10:07 2012 -0800"
      },
      "committer": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Thu Nov 15 14:53:31 2012 -0800"
      },
      "message": "Making sure launcher doesn\u0027t show keyguard-only widgets (issue 7550090)\n\nChange-Id: I5d0675f0c03677e06371a6730209c3466c6b0f15\n"
    },
    {
      "commit": "bc9625059bccc8f0d70540d0affd73320620c3c0",
      "tree": "823b6ed96db21b1d5df0f4d714c8c45139834f93",
      "parents": [
        "674a131cb625a7aae0c6e50a24a968200c71b566"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Nov 15 14:39:18 2012 -0800"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Nov 15 14:43:13 2012 -0800"
      },
      "message": "Make sure that the owner user is marked initialized.\n\nThis is required for upgrades from previous versions of JB.\n\nBug: 7547639\nChange-Id: I21de14a70d6ba2ab21437b5f0721321df45226d2\n"
    },
    {
      "commit": "b02eb4bb7d09a19aedb9dbc08b0f731af05a8579",
      "tree": "654e26dbc6d4291d9d6c4167bc1e2d49b6e83ef4",
      "parents": [
        "674a131cb625a7aae0c6e50a24a968200c71b566",
        "a1a2f967e2a0de4c4190a775ac314ad32288727e"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Thu Nov 15 13:53:52 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 15 13:53:53 2012 -0800"
      },
      "message": "Merge \"Pushing state persistence to a background thread\" into jb-mr1.1-dev"
    },
    {
      "commit": "a1a2f967e2a0de4c4190a775ac314ad32288727e",
      "tree": "f8b6ac2a07d96e4ef108d7a84de3f980894cf1a0",
      "parents": [
        "df2670f162dc7756899f4036750ba6866f5326c6"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Thu Nov 01 14:06:16 2012 -0700"
      },
      "committer": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Thu Nov 15 13:44:34 2012 -0800"
      },
      "message": "Pushing state persistence to a background thread\n\nChange-Id: If776bc22c48525ba91dc7e4dd0e27de92612f2f5\n"
    },
    {
      "commit": "f5377a7242d71e221807150f0778a0521e1270b6",
      "tree": "32446bc945e46a62dfa0b69a1b5b94169d64fddc",
      "parents": [
        "7420ab681eaad22f4b8f884e12d3b2ce82cd203a",
        "8b2c3a14603d163d7564e6f60286995079687690"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Nov 15 11:48:20 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 15 11:48:38 2012 -0800"
      },
      "message": "Merge \"Useful annotations for code documentation.\" into jb-mr1.1-dev"
    },
    {
      "commit": "a319d655e336ffb0fcbee65b77926a32660c7f3f",
      "tree": "17b4f78cbddc10a1e242a0c9e16ab41b167b97c7",
      "parents": [
        "445767c14ceb51d2839a7bc818c68c81ee7d80a7",
        "0be607cda1aed67149963a1f602f399c79845cfd"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Nov 15 11:45:49 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 15 11:46:19 2012 -0800"
      },
      "message": "Merge \"Avoid runtime restart after vold reconnects.\" into jb-mr1.1-dev"
    },
    {
      "commit": "f6ba84b4242419f4765e0efcb5df82e37ad03faa",
      "tree": "ce25c88fc23decdc457b52050bbc4d2dc4866e6b",
      "parents": [
        "1f4c9d3e90d13ef166d28a689221df6ffe21c238",
        "9d6d890e0d614388ab087a3ac8a26633ada90158"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Nov 15 11:44:12 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 15 11:44:13 2012 -0800"
      },
      "message": "Merge \"Reduce verbosity of service event logging.\" into jb-mr1.1-dev"
    },
    {
      "commit": "020d65290a6fe7dc5465d36c259ec62dcfd71c1f",
      "tree": "3bec4e978ea11ea9a47e6cac017e57c8d99f4468",
      "parents": [
        "83b2596155ec1845194c08bd27a6e8dfbeb530b9",
        "d4d2de2a7778b85f5af9959a5ebf07094727e672"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Nov 15 05:03:43 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 15 05:05:44 2012 -0800"
      },
      "message": "Merge \"Do not vibe when the default notification sound is Silent.\" into jb-mr1.1-dev"
    },
    {
      "commit": "83b2596155ec1845194c08bd27a6e8dfbeb530b9",
      "tree": "302115b2b8fac2a086f868ea917021f21f16bb2f",
      "parents": [
        "0622ed7fbb64e1cd156c453d9412b544c4e84fb1",
        "edbb380950d60a5e7bcda04599fdf9cf43d18dbd"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Nov 15 05:03:10 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 15 05:03:11 2012 -0800"
      },
      "message": "Merge \"Notification vibration improvements:\" into jb-mr1.1-dev"
    },
    {
      "commit": "681ae7fc5e36f8da0c6975b316c93834c0d7b8a3",
      "tree": "130a5067223c69929817fa82bfc6d7e517c0a9c7",
      "parents": [
        "eb3aa44c10b155f917e8840d55b5bc1de3712ba9"
      ],
      "author": {
        "name": "Zhihai Xu",
        "email": "zhihaixu@google.com",
        "time": "Mon Nov 12 15:14:18 2012 -0800"
      },
      "committer": {
        "name": "Zhihai Xu",
        "email": "zhihaixu@google.com",
        "time": "Wed Nov 14 18:05:29 2012 -0800"
      },
      "message": "Cannot enable Bluetooth after using airplane and Bluetooth tethering sequentially\n\nThe root cause is we can\u0027t unbind blue service when bluetooth isnot disbaled\nOtherwise the bluedroid stack will be out of sync with bluetooth service\nonly unbind bluetoothservice, when bluetooth is at OFF state.\n\nbug 7376846\n\nChange-Id: If5a11926f77a1ac29e75cdddbf5e90d492179f43\n"
    },
    {
      "commit": "0be607cda1aed67149963a1f602f399c79845cfd",
      "tree": "e0756f2bbbeae9334e12376fcb2e671c93dd4d97",
      "parents": [
        "0349ae92a5d61bd72223878b90b00d2ebdc2485f"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Nov 14 14:39:19 2012 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Nov 14 14:39:19 2012 -0800"
      },
      "message": "Avoid runtime restart after vold reconnects.\n\nRely on behavior of already-released CountDownLatch instead of\nclearing the reference.\n\nBug: 7290521\nChange-Id: I787e673b97d18be412d5b37e279fbf1275b49151\n"
    },
    {
      "commit": "d4d2de2a7778b85f5af9959a5ebf07094727e672",
      "tree": "8c6178589ea53f9744ae0c02c6ee57c99bbfd539",
      "parents": [
        "edbb380950d60a5e7bcda04599fdf9cf43d18dbd"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Nov 14 11:25:46 2012 -0800"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Nov 14 16:42:04 2012 -0500"
      },
      "message": "Do not vibe when the default notification sound is Silent.\n\n(This relates to the new vibration fallback behavior, where\nnotifications that expect to make a sound should always\nvibrate in vibrate mode. We should not vibrate if the\nnotification\u0027s sound is silent, but we should also not\nvibrate if the notification uses the default sound and the\ndefault is silent.)\n\nBug: 7537077\nChange-Id: I08e149c8c00ef2d2f61e418d88a086cb5e9cf241\n"
    },
    {
      "commit": "75819a9cddd646af72a6071311d8e5b3cd6b8c43",
      "tree": "f9fddd42c2f6adc914e7d1306daf616ce22ca720",
      "parents": [
        "f4ad01922dcbf9d9da542a507b48fb194b50e295",
        "61ecb02f544d9abd098506afb50cb514818f4eb4"
      ],
      "author": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Wed Nov 14 13:18:57 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 14 13:18:58 2012 -0800"
      },
      "message": "Merge \"Resolve LocationManager + ActivityManager conflict\" into jb-mr1.1-dev"
    },
    {
      "commit": "edbb380950d60a5e7bcda04599fdf9cf43d18dbd",
      "tree": "6e5a7da070e0334f8ccff84a3ac97e6571c1e81a",
      "parents": [
        "faa38a08d5998e32dcfe21e084076cbbb64ca0ea"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Tue Nov 13 20:49:47 2012 -0800"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Wed Nov 14 11:50:11 2012 -0800"
      },
      "message": "Notification vibration improvements:\n\n - When notifications vibrate as a fallback (that is,\n   because they want to play a sound but the device is in\n   vibrate mode), this no longer requires the VIBRATE\n   permission.\n - As a bonus, if your notifications use DEFAULT_VIBRATE,\n   you don\u0027t need the VIBRATE permission either.\n - If you specify a custom vibration pattern, you\u0027ll still\n   need the VIBRATE permission for that.\n - Notifications vibrating in fallback mode use a different\n   vibration pattern.\n - The DEFAULT_VIBRATE and fallback vibrate patterns are now\n   specified in config.xml.\n\nBug: 7531442\nChange-Id: I7a2d8413d1becc53b9d31f0d1abbc2acc3f650c6\n"
    },
    {
      "commit": "61ecb02f544d9abd098506afb50cb514818f4eb4",
      "tree": "cf92d9f93045d7387287284a236ad2da2bc51ac7",
      "parents": [
        "2c37f7b45522d908e1ffc5e63ffccfbe4cdea34b"
      ],
      "author": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Tue Nov 13 15:12:51 2012 -0800"
      },
      "committer": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Tue Nov 13 15:12:51 2012 -0800"
      },
      "message": "Resolve LocationManager + ActivityManager conflict\n\nLocationManagerService was serially stuffing the same Location into\nmultiple Intents, which it would immediately hand off to\nActivityManagerService, running as a different thread in the same\nprocess. LocationManager would continue to work with that Location\nwhile ActivityManagerService worked with a Parceled version of it.\n\nHowever, Location.mExtras is also a Bundle, and both\nActivityManagerService and LocationManagerService ended up working\nwith references to the same Bundle. ActivityManagerService needs\nit in Parceled form (ie mParceledData !\u003d null), but\nLocationManagerService was triggering Bundle.unparcel() when\nreferencing the data contained within.\n\nAs a result, LocationManagerService was able to trigger NPE (or\nworse) in ActivityManagerService by manipulating the mExtras\nmember of a Location that was in the process of being reported to\nlisteners.\n\nTo resolve this issue, I copy-construct a new Location to report to\neach listener. This should prevent ActivityManagerService and\nLocationManagerService from referencing the same Bundle data, as\nLocation\u0027s copy constructor also copyconstructs the mExtras member,\nrather than simply share references.\n\nBug: 7518371\nChange-Id: I1a92615cba361831494447d5de085a8d910b6b2c\n"
    },
    {
      "commit": "4e22ad35045dc5861193526afe1565d52f983698",
      "tree": "ca4ddcd28b75c0589f6acc9894bd8a65c288bbad",
      "parents": [
        "eb3aa44c10b155f917e8840d55b5bc1de3712ba9"
      ],
      "author": {
        "name": "Zhihai Xu",
        "email": "zhihaixu@google.com",
        "time": "Tue Nov 13 15:11:26 2012 -0800"
      },
      "committer": {
        "name": "Zhihai Xu",
        "email": "zhihaixu@google.com",
        "time": "Tue Nov 13 15:11:26 2012 -0800"
      },
      "message": "Settings shows it is connected to A2DP, though the device is not actually connected\n\nthe root cause is the A2dp and Pbap service need receive STATE_TURNING_OFF intent\nto shutdown cleanly. So we need send completely state transition intents\nin user switch handler.\n\nbug7403171\n\nChange-Id: Ic92bc85c2b74ae7c95440b237ea8851771ee9f04\n"
    },
    {
      "commit": "c10914ca5c83ad6ac2c9acd7b52bfeb05d6e72e5",
      "tree": "97e8e887d948777edbd2f3e8d537d2e00ebe8b72",
      "parents": [
        "ed41bc22814dd86a605569afa422278f716d940a",
        "74da109102864f19b3dcdb30cd1d92c46fb12f2f"
      ],
      "author": {
        "name": "Craig Mautner",
        "email": "cmautner@google.com",
        "time": "Tue Nov 13 10:00:03 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 13 10:00:04 2012 -0800"
      },
      "message": "Merge \"Support Wifi display devices that rename themselves.\" into jb-mr1.1-dev"
    },
    {
      "commit": "8b2c3a14603d163d7564e6f60286995079687690",
      "tree": "6ad487bc1adcc2ab015831c6214b925e128f065d",
      "parents": [
        "18f95189727de29246b663ad4557075678217555"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Nov 12 11:45:05 2012 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Nov 12 12:42:17 2012 -0800"
      },
      "message": "Useful annotations for code documentation.\n\nBug: 6537978\nChange-Id: I806c3c09e3255f8789455f13bf37c1dde2a93f1f\n"
    },
    {
      "commit": "282e9fc62e571aba741ddc9523d6dfe2eca313b6",
      "tree": "bcc238d89c791553150120915b0e4a5d20eb9042",
      "parents": [
        "bc0edecb7372a9ddf7644cb694c131b76ace8c41",
        "ffe0cb49d14d9c21b5609de009f7e7434e5b0753"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Nov 12 10:30:00 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 12 10:30:12 2012 -0800"
      },
      "message": "Merge \"Avoid recycling recently removed user IDs.\" into jb-mr1.1-dev"
    },
    {
      "commit": "bc0edecb7372a9ddf7644cb694c131b76ace8c41",
      "tree": "cd8c43e684df6fd3e8d3c52599090db3cfacf46f",
      "parents": [
        "f6f47e950ddbb91fcce30f2f3e610a4d249b9bdb",
        "2528b50b9155dcaa8de6421996208c7e0b1da4be"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Nov 12 10:28:33 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 12 10:28:34 2012 -0800"
      },
      "message": "Merge \"Increase readability of connectivity event log.\" into jb-mr1.1-dev"
    },
    {
      "commit": "4f017e757bdc87d603d135386c888118fc2653ba",
      "tree": "e0111f77575d92e7ffce0f9c8e928f77d2096020",
      "parents": [
        "e72e2b74bf5ae66524fc5d1872ba759b85728c65",
        "71789e11cc5266c44886b4894057966a0380757a"
      ],
      "author": {
        "name": "Ed Heyl",
        "email": "edheyl@google.com",
        "time": "Fri Nov 09 22:49:34 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 09 22:49:35 2012 -0800"
      },
      "message": "Merge \"When in vibrate mode, all notifications will vibrate.\" into jb-mr1.1-dev"
    },
    {
      "commit": "71789e11cc5266c44886b4894057966a0380757a",
      "tree": "dd1b8ed96d6961a308a4150a541cbd1c4eb3394b",
      "parents": [
        "c1ae43ade0baa4dc8af1b505ba4b83f0f72c6dd8"
      ],
      "author": {
        "name": "David Agnew",
        "email": "dsandler@android.com",
        "time": "Fri Nov 09 23:03:26 2012 -0500"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Sat Nov 10 00:01:04 2012 -0500"
      },
      "message": "When in vibrate mode, all notifications will vibrate.\n\n(Unless the notification specifies no ringtone AND no\nvibration, in which case it will remain silent.)\n\nChange-Id: I926d0fe0165b9622cd117e6c3ef6e3637772b444\n"
    },
    {
      "commit": "9d6d890e0d614388ab087a3ac8a26633ada90158",
      "tree": "6d9f39f4401e69ccbe6774d60b805056933f848f",
      "parents": [
        "18f95189727de29246b663ad4557075678217555"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Nov 09 17:32:43 2012 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Nov 09 17:32:43 2012 -0800"
      },
      "message": "Reduce verbosity of service event logging.\n\nOmits service name from destroyed events, since it can be derived by\nlooking back to the created event with the same ServiceRecord.\n\nChange-Id: Ib7ab1031c0859437735e1fc985d58f47629b7ac4\n"
    },
    {
      "commit": "2528b50b9155dcaa8de6421996208c7e0b1da4be",
      "tree": "3fe3f0dc5fae3700d035592bde74ca8003d1545c",
      "parents": [
        "18f95189727de29246b663ad4557075678217555"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Nov 09 15:57:02 2012 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Nov 09 15:57:02 2012 -0800"
      },
      "message": "Increase readability of connectivity event log.\n\nBug: 6322766\nChange-Id: I556759f5fc1466cdd4db6b4574084a8068dc9909\n"
    },
    {
      "commit": "86597df79fdc793d72d2e491f0a7a51ced31fdd3",
      "tree": "ef0bee327b963c609f88569a44586429663a5c08",
      "parents": [
        "18f95189727de29246b663ad4557075678217555"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Nov 09 15:00:31 2012 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Nov 09 15:09:13 2012 -0800"
      },
      "message": "Emit event log message when switching users.\n\nChange-Id: I8e521e177b0e17e2ab9e033e0ff8bc421cd5f784\n"
    },
    {
      "commit": "a46a74fcd61d2b4e72b6027625a471f10b21b1c9",
      "tree": "1264b123860edea24b036a882c63a66162e9400a",
      "parents": [
        "9de5901bb37ad2a42d334405f41e629fa29dfd46",
        "7ff30113de68539ec840c524b8f1561f938f96c5"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 08 13:16:10 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 08 13:16:10 2012 -0800"
      },
      "message": "Merge \"Remove extraneous logs.\" into jb-mr1-dev"
    },
    {
      "commit": "7ff30113de68539ec840c524b8f1561f938f96c5",
      "tree": "79e572f06ba181f92db88111d92c16431dfd7b4e",
      "parents": [
        "3fe2cb4db60827889abd1f971910f807ae346488"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 08 11:12:09 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 08 13:13:48 2012 -0800"
      },
      "message": "Remove extraneous logs.\n\nChange-Id: I4c47d36748de91bd6fddc419afbf59552bf63e9a\n"
    },
    {
      "commit": "4eeb4f664ac6b5901a8e874dcf70c0382295f792",
      "tree": "8b8ff28c8f7aec9bffc45eb32eae82a013d259d1",
      "parents": [
        "838195db8f69968690971977e4b615df39504465"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Nov 08 00:04:29 2012 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu Nov 08 00:39:04 2012 -0800"
      },
      "message": "Add mechanism to kick keyguard to show the assistant\n\nFixes bug 7499778\n\nChange-Id: Ic9ea514feb489feeee6716f40bdb9792842f9515\n"
    },
    {
      "commit": "3fe2cb4db60827889abd1f971910f807ae346488",
      "tree": "b5fa87a634c187eda9006cd25378b7695d9d63da",
      "parents": [
        "de974f6f201a9aed3f811c97edf4db3ecd41eb3d",
        "5ec00e930fb4d523ce5784fb336841410d030cef"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Nov 07 21:12:54 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 07 21:12:54 2012 -0800"
      },
      "message": "Merge \"Don\u0027t cancel any notifications that are meant for all users, if no package is specified.\" into jb-mr1-dev"
    },
    {
      "commit": "74da109102864f19b3dcdb30cd1d92c46fb12f2f",
      "tree": "831538f1a4c17d10ca06827b8304df62692bf194",
      "parents": [
        "eb3aa44c10b155f917e8840d55b5bc1de3712ba9"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Nov 07 16:02:13 2012 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Nov 07 18:43:32 2012 -0800"
      },
      "message": "Support Wifi display devices that rename themselves.\n\nSome Wifi display devices like to rename themselves after a\nconnection completes (or at other times).  Make sure to update\nthe name of the display when we detect that it changed in\nour scan results.\n\nThis problem is somewhat complicated by the fact that we remember\nthe display name persistently, so we need to update our list\nof remembered displays too.\n\nImprove the state machine to avoid redundant attempts to\ndisconnect or cancel connection.\n\nBug: 7478895\nChange-Id: I35a9e2c6a8deadbe892dacd5e3b4a5a2b12d6cf0\n"
    },
    {
      "commit": "5ec00e930fb4d523ce5784fb336841410d030cef",
      "tree": "163f9e3dabffbcb10ed5626c22f1d641ab4a8432",
      "parents": [
        "512950a9713f79f2900c73201906436d12da8639"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Nov 07 16:58:30 2012 -0800"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Nov 07 16:58:30 2012 -0800"
      },
      "message": "Don\u0027t cancel any notifications that are meant for all users, if no package is specified.\n\nBug: 7490028\n\nOtherwise notifications such as the USB debugging and OTA notifications will be\ndismissed when any user is stopped.\n\nChange-Id: I0ae0c1136a999dd3aade99ca9e71c714b359eab4\n"
    },
    {
      "commit": "ad84f7f46b0207a7ad316b4df37c1f02c889cca9",
      "tree": "2e9ad10fb78ad22a63bcde8b9c732db3db5c31fe",
      "parents": [
        "afc5210a811da3824d75e32d998370203aba1968",
        "56e675b3a1c351de34de68a149762d3ad1b308c5"
      ],
      "author": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Wed Nov 07 13:55:58 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 07 13:56:46 2012 -0800"
      },
      "message": "Merge \"disable geofences for secondary users\" into jb-mr1-dev"
    },
    {
      "commit": "ffe0cb49d14d9c21b5609de009f7e7434e5b0753",
      "tree": "c8f45ddaf92019ff0ae1916d2a6dfa81f7381e33",
      "parents": [
        "f3456803fed4ff529dea53fd9bc338887886acf9"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Nov 05 17:24:43 2012 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Nov 07 11:30:39 2012 -0800"
      },
      "message": "Avoid recycling recently removed user IDs.\n\nCurrently, installd doesn\u0027t correctly evict VFS cache entries for\nFUSE emulated external storage.  This means zygote processes have an\ninconsistent view of the FUSE daemon when the system rapidly\nrecycles user IDs.\n\nTo work around this, only consider recycling a user ID after its\nVFS cache entries have expired.  The emulated storage FUSE daemon\ncurrently uses a \u0027entry_valid\u0027 timeout of 10 seconds.\n\nBug: 7407902\nChange-Id: Id80cbdd2215d8456467fb31e4c209ca12a505e16\n"
    },
    {
      "commit": "8d803258ca1550583d03c1a24c5c6d4b38535ba8",
      "tree": "66fa7624faad6b46a7dab016027f0a179efd5770",
      "parents": [
        "5fcca70d280a789002f540ea04b9d7ae5d7fe324",
        "e6299d5af702dd17eb3585dbe84d29c289bfa8da"
      ],
      "author": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Tue Nov 06 15:09:38 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 06 15:09:38 2012 -0800"
      },
      "message": "am e6299d5a: Merge \"Fires geofence if the device is already in the geofence area.\" into jb-mr1-dev\n\n* commit \u0027e6299d5af702dd17eb3585dbe84d29c289bfa8da\u0027:\n  Fires geofence if the device is already in the geofence area.\n"
    },
    {
      "commit": "56e675b3a1c351de34de68a149762d3ad1b308c5",
      "tree": "797fba3b4ceebcc32bde9914662b737ea027aaf1",
      "parents": [
        "0f4d5df5d815466398dba5f2d07aa98f18c35aaa"
      ],
      "author": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Mon Nov 05 19:25:06 2012 -0800"
      },
      "committer": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Tue Nov 06 10:53:56 2012 -0800"
      },
      "message": "disable geofences for secondary users\n\nGeofences are broken in multiuser, and need to be fixed before\nreenabling the feature for secondary users.\n\nChange-Id: Ief3008a294deed47760ee25efcf1cdef5371b038\n"
    },
    {
      "commit": "4cd0a50b26eeb68517d03bc0cafc18e98bfc1fec",
      "tree": "fa08d51341753de5c9ab3b397829356eae183a19",
      "parents": [
        "0f4d5df5d815466398dba5f2d07aa98f18c35aaa"
      ],
      "author": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Fri Nov 02 16:24:08 2012 -0700"
      },
      "committer": {
        "name": "Victoria Lease",
        "email": "violets@google.com",
        "time": "Tue Nov 06 10:01:33 2012 -0800"
      },
      "message": "Fires geofence if the device is already in the geofence area.\n\nProcess the location of the fence as soon as it is added.\n\nClarified how the distance to the fence was being used.\n\nAdded more debug logs (disabled by default).\n\nFixed a numerical overflow in the location request if the\ndistance to the border of the nearest fence was greater\nthan about 2000Km.\n\nRemoved a useless call to request location updates passively\nwhen the geofence manager is initialized.  We have no need\nof location updates unless there are active geofences.\nThe effect of this call was undone the next time the location\nrequest was updated anyhow.\n\nChanged the location request to always request a fastest update\ninterval of 0 which accomplishes the goal of passively\nmonitoring all updates.  This does not increase the power\nconsumption because we are conservative about choosing\na minimum location update interval.  We\u0027re simply stating\nthat the geofence manager is willing to handle a higher\nreport rate which is very important.\n\nSubject location to a \"freshness test\" - only use relatively\nrecent locations for geofence testing.\n\nRun all geofence updates on the handler and avoid making\nmultiple redundant calls into the location manager when\nupdating the provider requirements.\n\nEnsure that we update geofences correctly even if we don\u0027t\nknow the initial location of the device at the time the\ngeofence is created.\n\nPin update interval value to the range [1m..2hr].\n\nDistance to fence is now distance to fence\u0027s border, not\ndistance to fence\u0027s centre.\n\nBug: 7466334\nChange-Id: I28e571ecfc508d5ceb9bb2afcabaaf05abb26369\n"
    },
    {
      "commit": "bfec0a8616bc197ee3b7b71be6fed1939d0c3c4d",
      "tree": "72832bb9442488065ceae24e5d1ade9297d9f584",
      "parents": [
        "bb8abae507119612b4168b951354516b0bf7112d"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Nov 05 20:05:22 2012 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon Nov 05 20:27:38 2012 -0800"
      },
      "message": "Add isSafeModeEnabled() API to WindowManagerService\n\nThis adds a means of determining when the device is in safe mode,\nas required by keyguard to disabled some features.\n\nChange-Id: I31d357e6738c92e1837f9e0263e5f3f4de66315a\n"
    },
    {
      "commit": "47eb0c103a38fe710381c23284d01840930b93e2",
      "tree": "970a615d2a567222903addc257cc68900f3ea882",
      "parents": [
        "934d0835c8bae6d8aacf4d661b7134691d8e241b",
        "2ea9bae7121f1df5461437d7d08fa550cdf6e0b0"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sat Nov 03 23:37:36 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Nov 03 23:37:36 2012 -0700"
      },
      "message": "am 2ea9bae7: Fix issue #7457380: IME leaves a mark after user switching\n\n* commit \u00272ea9bae7121f1df5461437d7d08fa550cdf6e0b0\u0027:\n  Fix issue #7457380: IME leaves a mark after user switching\n"
    },
    {
      "commit": "2ea9bae7121f1df5461437d7d08fa550cdf6e0b0",
      "tree": "9f06023f39086e48edf0e60f6abfa93a628e5ad2",
      "parents": [
        "841ce670b29180a157a084a9c0e803b13e92020c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Nov 02 18:43:48 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Nov 02 18:56:01 2012 -0700"
      },
      "message": "Fix issue #7457380: IME leaves a mark after user switching\n\nThe gnarly stuff where we keep track of the old input method\nwindow as if it was still there was sitting around leaving things\nin a stuck state.  Now we clear this out at key points in the\nwindow manager (freezing screen, user change), and the input\nmethod manager service is less aggressive about asking the window\nmanager to do it.\n\nAlso fixed a problem that was causing flickers during some\nwallpaper transitions -- when we are animating two things on\ntop of the wallpaper and one of them disappears, we need to\nmake sure the wallpaper target points to whatever the current\ntarget should be (if any), not left pointing to the old target\nthat has gone away.\n\nChange-Id: I2fb9600f569a5bd5e3528aaf24cde9340af56cb0\n"
    },
    {
      "commit": "841ce670b29180a157a084a9c0e803b13e92020c",
      "tree": "e86c5630077d55b4b2310deda8ec480b9f0a186d",
      "parents": [
        "1c743650addb9f632dd3eb39d4b17109ee4171f5",
        "81af21e67cd842d16d4b45e8a2d1ec56ff8d764f"
      ],
      "author": {
        "name": "Baligh Uddin",
        "email": "baligh@google.com",
        "time": "Fri Nov 02 16:46:18 2012 -0700"
      },
      "committer": {
        "name": "Baligh Uddin",
        "email": "baligh@google.com",
        "time": "Fri Nov 02 16:46:18 2012 -0700"
      },
      "message": "Merge commit \u002781af21e67cd842d16d4b45e8a2d1ec56ff8d764f\u0027 into jb-mr1-dev\n"
    },
    {
      "commit": "f74d0c39b62ff542542df69e641477eb1e09b157",
      "tree": "9faaabf6e86f76a1390ce6af4b1560694d0f4999",
      "parents": [
        "383df1e70a6d551fb4ccef0ef6e8560a08bf537c",
        "fc9c4cd51b3bdca27726dd6d8a00d47e388ca2aa"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Nov 02 15:55:01 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 02 15:55:11 2012 -0700"
      },
      "message": "Merge \"Polish user selector accessibility.\" into jb-mr1-lockscreen-dev"
    },
    {
      "commit": "fc9c4cd51b3bdca27726dd6d8a00d47e388ca2aa",
      "tree": "108185524c6bae82a0a90aec77b7ecf8a2a2943e",
      "parents": [
        "febea58c9215c38fde2c89732b88c832ab69c143"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Nov 02 11:49:22 2012 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Nov 02 15:32:25 2012 -0700"
      },
      "message": "Polish user selector accessibility.\n\n1. The current user was not announced as such.\n\n2. The event for a user switch was not sent.\n\nChange-Id: Ib3caf1f9e93ea1f0b5450246601bc37f416be6da\n"
    },
    {
      "commit": "35e01866d86ac1d2484afbc82266524d322b6dc3",
      "tree": "030ccee92fed45359b25ce3e0845e2416bafb785",
      "parents": [
        "78bc99001f422c442c76849b575539c88575b300",
        "685cc8c7cba0bef5257bf00e9821e82a2dbbfc91"
      ],
      "author": {
        "name": "Laurent Tu",
        "email": "laurentt@google.com",
        "time": "Fri Nov 02 15:18:46 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 02 15:18:46 2012 -0700"
      },
      "message": "am 685cc8c7: Merge \"Decrement number of updates in LocationRequest\" into jb-mr1-dev\n\n* commit \u0027685cc8c7cba0bef5257bf00e9821e82a2dbbfc91\u0027:\n  Decrement number of updates in LocationRequest\n"
    },
    {
      "commit": "685cc8c7cba0bef5257bf00e9821e82a2dbbfc91",
      "tree": "e455c7dfc3ac5bcf1983f6aa8ede89f7bbc71604",
      "parents": [
        "8ae0420e4b4169855608d404e389a66ce7253a36",
        "75defb6f8840dcd2aaf866a5df9d689413fbe433"
      ],
      "author": {
        "name": "Laurent Tu",
        "email": "laurentt@google.com",
        "time": "Fri Nov 02 15:15:28 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 02 15:15:28 2012 -0700"
      },
      "message": "Merge \"Decrement number of updates in LocationRequest\" into jb-mr1-dev"
    },
    {
      "commit": "78bc99001f422c442c76849b575539c88575b300",
      "tree": "5f0293196e585cc20fc3780ceeb83a9ea7fbc4f1",
      "parents": [
        "369cf0c1a2c8985268b1f36fe50f9c886b706b28",
        "8ae0420e4b4169855608d404e389a66ce7253a36"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Nov 02 15:13:36 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 02 15:13:36 2012 -0700"
      },
      "message": "am 8ae0420e: Merge \"Fix issue #7343200: Fails to show wallpaper in the background for...\" into jb-mr1-dev\n\n* commit \u00278ae0420e4b4169855608d404e389a66ce7253a36\u0027:\n  Fix issue #7343200: Fails to show wallpaper in the background for...\n"
    },
    {
      "commit": "8ae0420e4b4169855608d404e389a66ce7253a36",
      "tree": "f118d29a1e68cdfef9dd77fe4420dfe675507b6d",
      "parents": [
        "d9134e7aa1679878245b67ed1a318acb19d0c717",
        "98129739afcb3786a6ec9f3efe774d8e01f6d632"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Nov 02 15:10:16 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 02 15:10:16 2012 -0700"
      },
      "message": "Merge \"Fix issue #7343200: Fails to show wallpaper in the background for...\" into jb-mr1-dev"
    },
    {
      "commit": "98129739afcb3786a6ec9f3efe774d8e01f6d632",
      "tree": "7e38ec6db6862e3b1f0e4557361fec2e09ac6d8c",
      "parents": [
        "7ab7f538924371a9dd4be7a27a6ae3b4c04b301c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Nov 01 16:28:16 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Nov 02 14:19:59 2012 -0700"
      },
      "message": "Fix issue #7343200: Fails to show wallpaper in the background for...\n\n...lockscreen sometimes and remains black / blank\n\nThe problem was that we were using the animation-side wallpaper state\nin cases where it was not updated yet.\n\nThe mWallpaperTarget variable is propagated over to the animation\nside when the main window manager state updates.  On the animation\nside, this is used by hideWallpapersLocked() to determine if the\ncurrent wallpaper should be hidden.\n\nThe problem is that various paths to hideWallpapersLocked() can\ncome from the layout side of the window manager instead of the\nanimation side.  This causes the problem here because in this case\nthe wallpaper state may not have yet been propagated to the\nanimation side, so it could incorrectly decide to hide the wallpaper\nbecause it thinks there is not a target when in fact a target is\nset in the layout side.  This won\u0027t get fixed until some time way\nlater that the layout side decides that a new window is being shown\nthat may need to have the wallpaper shown.\n\nThe fix here is pretty gross, but as safe as possible -- the\nhideWallpapersLocked() function now uses either the animation or\nlayout wallpaper state depending on where the call to it is coming\nfrom.\n\nChange-Id: I9250bfeae6e11c1761760bcc696fdb33fb5c8a5f\n"
    },
    {
      "commit": "b8e58bb6edb56fd8fef1bc43fa42cc48aecf31d1",
      "tree": "b567b7359a76d2ea272d722483f93b8acd74773d",
      "parents": [
        "f3b9ec8230298e8f707c2fc44a74fb9346ec3d12",
        "28e8f76c50b26efd657bc0740fee25ac18520f9e"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Nov 02 11:54:36 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 02 11:54:36 2012 -0700"
      },
      "message": "am 28e8f76c: Merge \"Cannot click on partially visible views in touch exploration.\" into jb-mr1-dev\n\n* commit \u002728e8f76c50b26efd657bc0740fee25ac18520f9e\u0027:\n  Cannot click on partially visible views in touch exploration.\n"
    },
    {
      "commit": "28e8f76c50b26efd657bc0740fee25ac18520f9e",
      "tree": "94b556cc7274c7f6f56be040764318eb927ec6d9",
      "parents": [
        "37238e5a4e10c5c5439f6864dd19049a5544e01a",
        "a94c3194ffa896632f025b983ca57095cd4ba277"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Nov 02 11:50:56 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 02 11:51:36 2012 -0700"
      },
      "message": "Merge \"Cannot click on partially visible views in touch exploration.\" into jb-mr1-dev"
    },
    {
      "commit": "75defb6f8840dcd2aaf866a5df9d689413fbe433",
      "tree": "5f4c841ac5101e9f4aeda4c35b45d58be42057df",
      "parents": [
        "465c37533ac1fb76d76b062452ae19afb84aab0a"
      ],
      "author": {
        "name": "Laurent Tu",
        "email": "laurentt@google.com",
        "time": "Thu Nov 01 16:21:52 2012 -0700"
      },
      "committer": {
        "name": "Laurent Tu",
        "email": "laurentt@google.com",
        "time": "Fri Nov 02 09:22:48 2012 -0700"
      },
      "message": "Decrement number of updates in LocationRequest\n\nDecrement the number of updates after a location fix has been sent to a\na listener. This is necessary for respecting calls such as\nrequestSingleUpdate().\n\nBug: 7460868\nChange-Id: Iea207ab494b93b936ca434d59652bb2cb6404cef\n"
    }
  ],
  "next": "9de90c1c57b65498afca39c29834ad2bb75f0cbb"
}
