)]}'
{
  "log": [
    {
      "commit": "db221acce269245d630e8eb456501c5c6241447b",
      "tree": "f5de867cb8c3b4065fd636c5e56f91dafed36bfb",
      "parents": [
        "cda6e878cd1b11e10c0b9b4b903b14e11586a963",
        "df5af484f882ede16931a61a866f2ffefbe491ab"
      ],
      "author": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Wed Aug 05 17:59:23 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 05 17:59:23 2015 +0000"
      },
      "message": "Merge \"Reduce log spam for the ease of debugging Bug 22857361.\" into mnc-dev"
    },
    {
      "commit": "e72377e17a837acbe1e537ac737731f6b869fe1e",
      "tree": "ca75355f49efca305d20d5080e9483e1b81c0b78",
      "parents": [
        "bce3eb22afcd57b7f1bdde26030f8c44bb885a4b",
        "215b44a1c2c883e628e1ab5b945a1a4aa04ee392"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Aug 05 17:22:42 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 05 17:22:42 2015 +0000"
      },
      "message": "Merge \"Fix app ops regressions introduced by the per UID policy change\" into mnc-dev"
    },
    {
      "commit": "df5a66110777554d5b163693ac8395d7c21c328f",
      "tree": "acb253fb145bcfec9342bfcbc56bee8c90fefc7c",
      "parents": [
        "dbc4edccfced5cb739bae75e8cd15cecc39cf16e",
        "6cc066df7a79eb9f3cdf7b41dc9307f75c413c09"
      ],
      "author": {
        "name": "Ian Pedowitz",
        "email": "ijpedowitz@google.com",
        "time": "Wed Aug 05 14:34:13 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 05 14:34:13 2015 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Permissions: GET_ACCOUNTS permission cleanup\"\"\" into mnc-dev"
    },
    {
      "commit": "6cc066df7a79eb9f3cdf7b41dc9307f75c413c09",
      "tree": "956797f4ca84594438d1501fac762623797b3ed0",
      "parents": [
        "845d14db9066c3262f270237b52e315aa71508b2"
      ],
      "author": {
        "name": "Ian Pedowitz",
        "email": "ijpedowitz@google.com",
        "time": "Wed Aug 05 14:23:43 2015 +0000"
      },
      "committer": {
        "name": "Ian Pedowitz",
        "email": "ijpedowitz@google.com",
        "time": "Wed Aug 05 14:25:15 2015 +0000"
      },
      "message": "Revert \"Revert \"Permissions: GET_ACCOUNTS permission cleanup\"\"\n\nThis reverts commit 845d14db9066c3262f270237b52e315aa71508b2.\n\nBug: 22942480\nBug: 22902898\nChange-Id: If2d0e11594284414953c3dd45475fc7ba3366295\n"
    },
    {
      "commit": "dbc4edccfced5cb739bae75e8cd15cecc39cf16e",
      "tree": "779ba61d20fff87f12eff466d9774b734e78b607",
      "parents": [
        "519adb50ebd45b8ecd1a8b8abbb975e35bb42974",
        "487ffe7d3d84bf65212158f7098e8a84b5b55e09"
      ],
      "author": {
        "name": "Paul Jensen",
        "email": "pauljensen@google.com",
        "time": "Wed Aug 05 10:03:47 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 05 10:03:47 2015 +0000"
      },
      "message": "Merge \"Fix NOT_RESTRICTED network capability and enforce it.\" into mnc-dev"
    },
    {
      "commit": "df5af484f882ede16931a61a866f2ffefbe491ab",
      "tree": "f2f9412be5039ec46da837fbdc36d9148dc20ab2",
      "parents": [
        "52d3312abeafd988ecb2288896b74ba72c3e70c0"
      ],
      "author": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Tue Aug 04 22:11:11 2015 -0700"
      },
      "committer": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Tue Aug 04 22:13:28 2015 -0700"
      },
      "message": "Reduce log spam for the ease of debugging Bug 22857361.\n\nNow InputMethodManagerService generates the following log\n    Couldn\u0027t create dir.: /data/system/inputmethod\nnot only when it fails to create the directory but also when\n/data/system/inputmethod already exists, which makes it\ndifficult for us to figure out the root cause of boot failure\non emulator environments (Bug 22857361).\n\nWith this CL, IMMS no longer shows the message when the\ndirectory already exists.  Basically this is no risk change,\nwhich changes only the condition to show the logging message.\n\nBug: 22857361\nChange-Id: I09aaf501b19845c8309b09b57c23077f1757cd1a\n"
    },
    {
      "commit": "215b44a1c2c883e628e1ab5b945a1a4aa04ee392",
      "tree": "c643048ee56b69649462792b3f94aec21042e99c",
      "parents": [
        "78b8d4aa99ce866caacf291a446837416fa07bd7"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Tue Aug 04 19:03:40 2015 -0700"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Tue Aug 04 19:06:41 2015 -0700"
      },
      "message": "Fix app ops regressions introduced by the per UID policy change\n\n1. Add a missing statement in the parsing code\n\n2. Notify for all packages on UID ap op policy change\n\nbug:22957162\n\nChange-Id: Ic2bd5d07ef52be207e66b63ffe45fd8a456eb5a8\n"
    },
    {
      "commit": "2094a702b33f0bc4e1c22b85a8a6e8bc8988a079",
      "tree": "76fd02d48ba384a2da8b51747904a80be528841a",
      "parents": [
        "0d6168835a6114a9e346278e4613e9175a907fd3",
        "ac3f8e5534b1653a29714b63a3afbc6c1a90e669"
      ],
      "author": {
        "name": "Jae Seo",
        "email": "jaeseo@google.com",
        "time": "Wed Aug 05 00:07:11 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 05 00:07:11 2015 +0000"
      },
      "message": "Merge \"Unregister the existing callback when MediaProjection stops\" into mnc-dev"
    },
    {
      "commit": "0d6168835a6114a9e346278e4613e9175a907fd3",
      "tree": "decb41c45aea2ed767b26e9ed7a8126679ab0f4a",
      "parents": [
        "52d3312abeafd988ecb2288896b74ba72c3e70c0",
        "94dacb12185c6208d100ada88ed305376d9ab2ee"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Tue Aug 04 23:27:43 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 04 23:27:43 2015 +0000"
      },
      "message": "Merge \"Fix moving of apps into legacy ASEC.\" into mnc-dev"
    },
    {
      "commit": "fc5a4bf0e1520bf3acd75226d760b8e1d7cdd59f",
      "tree": "dc10c93957b8b5c49476a979fdc1f9e6377b5751",
      "parents": [
        "ce68917c849548d80d9aca14f262d22d9c47c3dc",
        "6d00e41145a577de114f93985bf05d7eca99ccc3"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Aug 04 20:45:18 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 04 20:45:18 2015 +0000"
      },
      "message": "Merge \"AudioService: check for audio device connection success\" into mnc-dev"
    },
    {
      "commit": "ac3f8e5534b1653a29714b63a3afbc6c1a90e669",
      "tree": "5b98754b777a5adcd34d258aaea5e0496b5e332e",
      "parents": [
        "fad3c6638168ad65b4f4677a777b8f2dc7e5c9c9"
      ],
      "author": {
        "name": "Jae Seo",
        "email": "jaeseo@google.com",
        "time": "Tue Aug 04 11:12:13 2015 -0700"
      },
      "committer": {
        "name": "Jae Seo",
        "email": "jaeseo@google.com",
        "time": "Tue Aug 04 13:30:56 2015 -0700"
      },
      "message": "Unregister the existing callback when MediaProjection stops\n\nAlso removed the unnecessary lock in binderDied.\n\nBug: 22812934\nChange-Id: Ief8856276dbd45a4afa632e51df18bd7d60e6bb1\n"
    },
    {
      "commit": "ce68917c849548d80d9aca14f262d22d9c47c3dc",
      "tree": "58eba6b2ee63c25b3bda371a64b6a70fbd6fbb12",
      "parents": [
        "2d34a8b7181635c0ff0b1f2390d70e3ac6960f00",
        "e7af1942bac3e674e09019f158de139cba1cbd0b"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Aug 04 20:21:44 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 04 20:21:44 2015 +0000"
      },
      "message": "Merge \"Ensure per package and per UID state share same package settings.\" into mnc-dev"
    },
    {
      "commit": "97b68bbe7180ca15ab10d6f65bbdac6c7e64885b",
      "tree": "4dcb73e212f9b399b13dbdf9ed1dc0299bb5effe",
      "parents": [
        "70e5db9413f82bf1f000bd99b3d2dbecf6e4ab04",
        "1a008c1ca04871386830f511ee4b47299b92b01f"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Aug 04 19:46:06 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 04 19:46:06 2015 +0000"
      },
      "message": "Merge \"UsbDeviceManager: fix b/21429947 regression (try #2)\" into mnc-dev"
    },
    {
      "commit": "35a1a2095cb6208a7614c35fe19fced6026d3db1",
      "tree": "549303f9810d8d86223c12474e38d063017d43fa",
      "parents": [
        "fad3c6638168ad65b4f4677a777b8f2dc7e5c9c9",
        "e6b53e6115a7f3066af8f9d1ff8f45b83b962b83"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Aug 04 18:27:13 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 04 18:27:13 2015 +0000"
      },
      "message": "Merge \"Include dnd status in bugreports.\" into mnc-dev"
    },
    {
      "commit": "e7af1942bac3e674e09019f158de139cba1cbd0b",
      "tree": "41047b008336845a89cbd76052ffa14aefbe9885",
      "parents": [
        "8dbd48485044b1ab25fb8fb5e8e9b9772a3478c4"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Aug 04 11:13:44 2015 -0700"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Aug 04 11:13:47 2015 -0700"
      },
      "message": "Ensure per package and per UID state share same package settings.\n\nWhen renaming a package during an OTA we were getting in a state\nwhere the package setting mapped to the package UID was not the\nsame instance as the one we create for the new package mapped.\nThis leads to a drift between the permissions state for the package\nand that state for the UID, resulting in broken for UID permission\nchecks as granted permissions were never appearing in the per UID\npackage setting.\n\nbug:22928831\n\nChange-Id: Ib0372632ec84a917304561fd94032cd09bb4c12f\n"
    },
    {
      "commit": "1a008c1ca04871386830f511ee4b47299b92b01f",
      "tree": "23b5f1efbc7678b56f97b8c8ecb5ff07d8d09163",
      "parents": [
        "7469060e7855ca5b32f66fbad1a0a4f88737c754"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Jul 30 16:29:57 2015 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Aug 04 10:36:37 2015 -0700"
      },
      "message": "UsbDeviceManager: fix b/21429947 regression (try #2)\n\nAs discussed in b/21429947 (commit\n674019065bceb4150190bfb1aa63cda9de0a8560), MTP must always be\nenabled, even if access to the underlying MTP data is disabled.\nOtherwise, Android will not enumerate on the USB bus, and won\u0027t\nreceive notifications from the kernel about USB state changes. This\neffectively prevents using MTP functionality on user builds, or\non userdebug/eng builds with adb turned off.\n\nAlways ensure that MTP is the default driver mode.\n\nMove the DISALLOW_USB_FILE_TRANSFER filtering of mUsbDataUnlocked from\nsetting time to the time we post the sticky broadcast.\n\nRemove isUsbDataUnlocked(). It essentially duplicates data in the sticky\nbroadcast.\n\nBug: 22447614\nBug: 21429947\nChange-Id: I9d0d94cadbf6db6281ebd77bfb7162f9d06520c2\n"
    },
    {
      "commit": "fad3c6638168ad65b4f4677a777b8f2dc7e5c9c9",
      "tree": "8511b550d70a8611098d0cca86838ea5976f497a",
      "parents": [
        "845d14db9066c3262f270237b52e315aa71508b2",
        "665d0140efce4ed53d6f86459c1551cdf983801b"
      ],
      "author": {
        "name": "Matthew Williams",
        "email": "mjwilliams@google.com",
        "time": "Tue Aug 04 17:35:48 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 04 17:35:48 2015 +0000"
      },
      "message": "Merge \"Remove spurious syncmanager wake-ups\" into mnc-dev"
    },
    {
      "commit": "845d14db9066c3262f270237b52e315aa71508b2",
      "tree": "72b766b5af98db43ed65ce42ba85d64f1ca47b03",
      "parents": [
        "b2690f3857d207321c8e6dc85a3b529ac52404f2"
      ],
      "author": {
        "name": "Ian Pedowitz",
        "email": "ijpedowitz@google.com",
        "time": "Tue Aug 04 07:47:37 2015 -0700"
      },
      "committer": {
        "name": "Ian Pedowitz",
        "email": "ijpedowitz@google.com",
        "time": "Tue Aug 04 07:47:37 2015 -0700"
      },
      "message": "Revert \"Permissions: GET_ACCOUNTS permission cleanup\"\n\nTemporarily revert ag/735253 until b/22902898 can be resolved with a\nproper DMAgent prebuilt drop.\n\nThis reverts commit e7ed827a104ba005b93faa2edb3bc77f72b240ec.\n\nBug: 22902898\n"
    },
    {
      "commit": "487ffe7d3d84bf65212158f7098e8a84b5b55e09",
      "tree": "38057c7c55e92aaa1ccd9c2f74705fde6fb645b0",
      "parents": [
        "532737df65330200dc55ae42d31140d19c4024be"
      ],
      "author": {
        "name": "Paul Jensen",
        "email": "pauljensen@google.com",
        "time": "Fri Jul 24 15:57:11 2015 -0400"
      },
      "committer": {
        "name": "Paul Jensen",
        "email": "pauljensen@google.com",
        "time": "Tue Aug 04 07:24:24 2015 -0400"
      },
      "message": "Fix NOT_RESTRICTED network capability and enforce it.\n\nWith this change:\n1. NOT_RESTRICTED should be removed from NetworkRequests that bring up\n   special restricted carrier networks (e.g. IMS, FOTA).\n2. NetworkRequests without NOT_RESTRICTED require CONNECTIVITY_INTERNAL\n   permission to register\n3. Binding sockets to networks without NOT_RESTRICTED requires\n   CONNECTIVITY_INTERNAL permission\n\nBug:21637535\nChange-Id: I5991d39facaa6b690e969fe15dcbeec52e918321\n"
    },
    {
      "commit": "29b8c4ab8ac4942e46a9ad4ced795bf06b9f8481",
      "tree": "dd4bfae06e2b790ae4055397d831957944737d32",
      "parents": [
        "59d72c86269f4d0c914c233d16a9bf00f0440df8"
      ],
      "author": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Mon Aug 03 17:44:47 2015 -0700"
      },
      "committer": {
        "name": "Andre Eisenbach",
        "email": "eisenbach@google.com",
        "time": "Tue Aug 04 04:31:12 2015 +0000"
      },
      "message": "Reset the pointer to the Bluetooth GATT service\n\nDuring error recovery, if the mBluetooth pointer is reset to null,\nreset the mBluetoothGatt pointer as well.\n\nBug: 21756298\nChange-Id: I26204ba47dd3c5465bb7de30cfa5dc0f07eee2fd\n"
    },
    {
      "commit": "94dacb12185c6208d100ada88ed305376d9ab2ee",
      "tree": "f5ee53ffe7fdb420b0c06cc2f769b263f971fe95",
      "parents": [
        "7469060e7855ca5b32f66fbad1a0a4f88737c754"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Aug 03 09:31:33 2015 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Aug 03 18:28:06 2015 -0700"
      },
      "message": "Fix moving of apps into legacy ASEC.\n\nDerive the correct current volume UUID for comparison, and only\ncheck for cluster style installs when moving from internal storage.\n\nBug: 22616484\nChange-Id: Idb6be2aa4aaa9b9f47ebbeeebd65c15a60d5d164\n"
    },
    {
      "commit": "665d0140efce4ed53d6f86459c1551cdf983801b",
      "tree": "643bbb3ba8318e64b64242319003d87c9d453642",
      "parents": [
        "ac8c98614cb8260615795b2042699d93b21a1097"
      ],
      "author": {
        "name": "Matthew Williams",
        "email": "mjwilliams@google.com",
        "time": "Mon Aug 03 15:56:36 2015 -0700"
      },
      "committer": {
        "name": "Matthew Williams",
        "email": "mjwilliams@google.com",
        "time": "Mon Aug 03 18:15:12 2015 -0700"
      },
      "message": "Remove spurious syncmanager wake-ups\n\nBUG: 22287469\n1) Fix SyncManager waking up every 2 hrs if there is nothing\nto do.\n2) Fix sync wake-up alarm not being properly updated if the new\nalarm was in the future.\n2a) Due to staus bar sync signal that were removed post-K\none of the wake-ups was for 30s in the future, removed this\n@hide intent completely.\n3) The SyncManager will still set a timeout alarm for 5mins after\nthe start of a sync. Leaving this in as to post to a handler is\nless expensive but more complex, and the alarm update is\ncorrectly working now.\n\nChange-Id: If51c9dd68391ccaeb480a17eb5a1364c4afe4c2a\n"
    },
    {
      "commit": "d9b0f8435ba9b099512288729af24858a95fd013",
      "tree": "2a8cd0493bd60a21885ba5e13edf432391324d54",
      "parents": [
        "04e2cf6bc5167583d686c2a118ec2b50a7b88547",
        "fb81d09d359480f9e43bbf300877b60de05f4816"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 04 01:07:36 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 04 01:07:36 2015 +0000"
      },
      "message": "Merge \"Fix issue #22860466: viapi security bug - rubber stamping in nested VIs\" into mnc-dev"
    },
    {
      "commit": "911bd0d3a587a9a58e2bc1cf59615b039ea0e5b2",
      "tree": "716b451b1677027b466450fd581b99555199ea05",
      "parents": [
        "c03ab87ac9f721ff22bfe5e9c0cd0e5be64f261e",
        "9a6e13c347df85348db8c0af67eeaa558fd61ee9"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Tue Aug 04 00:33:48 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 04 00:33:48 2015 +0000"
      },
      "message": "Merge \"Set broadcast nextReceiver correctly when package is disabled\" into mnc-dev"
    },
    {
      "commit": "fb81d09d359480f9e43bbf300877b60de05f4816",
      "tree": "35d575855e4c528833f78ed3d0ddaff2660bea3e",
      "parents": [
        "0ca1e98fdf300ddbbccbfce26bba5947109597f1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 03 17:14:46 2015 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 03 17:33:38 2015 -0700"
      },
      "message": "Fix issue #22860466: viapi security bug - rubber stamping in nested VIs\n\nAdd new Activity.isVoiceInteractionRoot() API that an activity can use\nto determine whether it is the root activity of a voice interaction\nsession started by the user\u0027s designated voice interaction service.\n\nThis is a special new API that apps must explicitly check, because as\nwith visual activities the model behind an activity should usually be\nthat it accomplishes its task by interacting with the user (implicitly\ngetting their approval) rather than trusting that whoever invoked it\nis telling it to do what the user once.  In the voice world, however,\nthere are some cases where quick interactions want to allow for immediate\nexecution without further user involvement, so this API allows for that\nwithout opening up security holes from other applications.\n\nChange-Id: Ie02d2458f16cb0b12af825641bcf8beaf086931b\n"
    },
    {
      "commit": "9a6e13c347df85348db8c0af67eeaa558fd61ee9",
      "tree": "1bb60a5ca5a6064282a0269c2bc3118ac7e66130",
      "parents": [
        "405eceb20a3f3e7a22d922fc2d0fb8283be337fa"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Mon Aug 03 15:21:44 2015 -0700"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Tue Aug 04 00:29:45 2015 +0000"
      },
      "message": "Set broadcast nextReceiver correctly when package is disabled\n\nWhen we are cleaning up broadcat receivers due to a package been\ndisabled, it is possible to remove enough recievers to cause the\nnextReceiver index to be greater than the size of recievers list.\nWe now set the nextReceiver to the size of the receiver list\n(which means done processing) for this case.\n\nBug: 22874330\nChange-Id: Ie151d1b5bff4c11533b3a8635fe5ee82eb21c13c\n"
    },
    {
      "commit": "6d00e41145a577de114f93985bf05d7eca99ccc3",
      "tree": "ff411a6e887b7c2dbb2fea79b5d5b84b4f9f3b1e",
      "parents": [
        "d0694da4fb85bb01e7c0ea7989a78a0e635453ac"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Aug 03 17:26:01 2015 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Aug 03 17:26:01 2015 -0700"
      },
      "message": "AudioService: check for audio device connection success\n\nWhen connecting/disconnecting and audio device, AudioService\n  was assuming that the call was always successful through\n  AudioSystem.setDeviceConnectionState(). In the case of the\n  connection of a wired headset (mic + headphones), this also\n  causes A2DP to not be used for media playback.\nThe connection can fail if the audio device being connected\n  is not supported by the platform. But if this failure is\n  not taken into account for DEVICE_OUT_WIRED_HEADSET or\n  HEADPHONES, A2DP would still be avoided even when an A2DP\n  device reconnects at boot.\nThe fix consists in executing the connection logic only when\n  the connection was deemed successful. Nothing is altered\n  on the disconnection code path, or the direct connection\n  of A2DP.\nThe javadoc is updated in AudioSystem to indicate the return\n  codes to take into account in setDeviceConnectionState().\n\nBug 22511833\n\nChange-Id: I22f0d2c7d4ab4fb9ee1be2f248907f721596a16f\n"
    },
    {
      "commit": "3011f645abe8f976af6f876579a179d51c09bf30",
      "tree": "70ee9a0d2ecd0923831d7b1ea3548a0dfe096cf5",
      "parents": [
        "7290d93df99de9d21ac8a9ddf72bc095b319af4b",
        "28ec27cbfa157c242fd9330a10c7c2b8ea838694"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 03 23:10:07 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 03 23:10:07 2015 +0000"
      },
      "message": "Merge \"Fix issue #22912704: \"android.process.acore has stopped\" dialog keeps popping up\" into mnc-dev"
    },
    {
      "commit": "0faca96f939b8530e5387a30e317d852f39f689f",
      "tree": "432ef5d8732d396db3369eb8ed6e1739d2d42cba",
      "parents": [
        "405eceb20a3f3e7a22d922fc2d0fb8283be337fa",
        "abc3e85b3c84c8fce37b4622d1f7c986a72a3961"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Mon Aug 03 22:32:36 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 03 22:32:36 2015 +0000"
      },
      "message": "Merge \"Avoid deadlock by broadcasting outside lock.\" into mnc-dev"
    },
    {
      "commit": "28ec27cbfa157c242fd9330a10c7c2b8ea838694",
      "tree": "65afe7f7b65a00faf24b6063314b40e94c3dc1ce",
      "parents": [
        "0ca1e98fdf300ddbbccbfce26bba5947109597f1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 03 15:28:28 2015 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Aug 03 15:28:28 2015 -0700"
      },
      "message": "Fix issue #22912704: \"android.process.acore has stopped\" dialog keeps popping up\n\nSlice \u0027em up!\n\nChange-Id: Ibba3af7ec5b7f92e6d5e55a57aa838a7f7f936e1\n"
    },
    {
      "commit": "abc3e85b3c84c8fce37b4622d1f7c986a72a3961",
      "tree": "4dd17f5ef66f988e315d11bcd31a1c0af6a4039c",
      "parents": [
        "449e5fd5f8507e571c586ba4c93247ed1202a774"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Aug 03 14:41:13 2015 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Aug 03 14:41:13 2015 -0700"
      },
      "message": "Avoid deadlock by broadcasting outside lock.\n\nWe can end up in a rare tangled mess when sending broadcasts while\nPackageManager is still trying to deal with scanAvailableAsecs().\n\nLong-term solution is to make Environment.isExternalStorageEmulated()\nmore robust, but for now we just send these internal broadcasts\nafter we drop the MountService lock.\n\nBug: 22858403\nChange-Id: I7b43865782f48a679882fd1675b7b961e1292df4\n"
    },
    {
      "commit": "f85769797e14f0d10dcc99d695c6dee1eb56bd9c",
      "tree": "2c556a84e073ea5003081e6e5bfb6720bf1d7362",
      "parents": [
        "7b4170fa7f944e4cd73f1e82b56b4467de60d96c",
        "2ab53cf23e97468475601866bddb9c7631269d9c"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Mon Aug 03 20:31:31 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 03 20:31:31 2015 +0000"
      },
      "message": "Merge \"Also consider task intent when trimming recent tasks\" into mnc-dev"
    },
    {
      "commit": "87920455ae63deb0b7d14df06edeb879e6494cc1",
      "tree": "b121f0db03729e3344752fd8507647a6ab2ae084",
      "parents": [
        "0855357c4fec1fddb4ebf20d9e7986090962f99d",
        "f3807aa57267117eba83cc2a3b13add59d4a251a"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Aug 03 19:41:34 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 03 19:41:34 2015 +0000"
      },
      "message": "Merge \"Fix NPE in AppOpsService\" into mnc-dev"
    },
    {
      "commit": "0855357c4fec1fddb4ebf20d9e7986090962f99d",
      "tree": "f26ccd8b84829eb6b898d93f6f17e6afeb0ec17e",
      "parents": [
        "0ca1e98fdf300ddbbccbfce26bba5947109597f1",
        "05069b96d0464744e27f0eededcff7bf0ba17e9e"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Aug 03 19:41:15 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 03 19:41:15 2015 +0000"
      },
      "message": "Merge \"User correct category for finding headless sync adapters\" into mnc-dev"
    },
    {
      "commit": "f3807aa57267117eba83cc2a3b13add59d4a251a",
      "tree": "9ce3a04b1c3359c325ca972a4eeae16eaaf2df76",
      "parents": [
        "8dbd48485044b1ab25fb8fb5e8e9b9772a3478c4"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun Aug 02 10:09:56 2015 -0700"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun Aug 02 10:14:48 2015 -0700"
      },
      "message": "Fix NPE in AppOpsService\n\nbug:22802981\n\nChange-Id: I73eee5ff9cf1603d8f30355554ef075aa14afd30\n"
    },
    {
      "commit": "2ab53cf23e97468475601866bddb9c7631269d9c",
      "tree": "c8c0c07974ea2f6526cacff25a44b6b6ef968ce0",
      "parents": [
        "8dbd48485044b1ab25fb8fb5e8e9b9772a3478c4"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Sat Aug 01 17:19:21 2015 -0700"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Sun Aug 02 00:30:23 2015 +0000"
      },
      "message": "Also consider task intent when trimming recent tasks\n\n7cbfcd88657ac7d5ab1baf8c964b669c9bd21e24 we stopped comparing\nthe tasks realActivity when trimming recent task. This led to\ntask with the same intent been duplicated in the recents list.\nWe now consider the task intent when deciding when to trim like\nwe did pre 510e554283d3dc250f836cd3e4abc36d87319333.\n\nBug: 22812470\nBug: 22564474\nBug: 18642190\nChange-Id: I90b3ab9cf7a06b4691099f697e723d8a54def9fa\n"
    },
    {
      "commit": "05069b96d0464744e27f0eededcff7bf0ba17e9e",
      "tree": "051ff5202ecb17ab2073bd03af90b7bf64006d89",
      "parents": [
        "02022b70bef7d6964bc8043385531d1aa97fb15b"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sat Aug 01 12:19:26 2015 -0700"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sat Aug 01 12:19:30 2015 -0700"
      },
      "message": "User correct category for finding headless sync adapters\n\nbug:22857409\n\nChange-Id: Icc42f1af72c59fba3c60e1bcd558c621df70940a\n"
    },
    {
      "commit": "8dbd48485044b1ab25fb8fb5e8e9b9772a3478c4",
      "tree": "cac26ef8bbb6c98a9a71f14f3b7bcddef5180078",
      "parents": [
        "cb9c0940d4090f83b5ba76ef1413c2d14f7fdc1b",
        "2af5708ab0e55fe68f1810cefdc6e3889233c186"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sat Aug 01 02:28:02 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Aug 01 02:28:02 2015 +0000"
      },
      "message": "Merge \"Add per UID control to app ops.\" into mnc-dev"
    },
    {
      "commit": "2af5708ab0e55fe68f1810cefdc6e3889233c186",
      "tree": "e2d2b060ec833b0c014381152c1548351fe65791",
      "parents": [
        "02022b70bef7d6964bc8043385531d1aa97fb15b"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Jul 30 08:44:20 2015 -0700"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Jul 31 17:45:27 2015 -0700"
      },
      "message": "Add per UID control to app ops.\n\nThe app ops mananger service maintains a mapping from UID to\na list of packages where each package is mapped to a list of\nnon-default app op states (default states are inferred and\nnot stored). Hence, specifying the app op state for a UID\nrequires setting the app op for each package in the shared\nUID.\n\nThis is problematic when installing new packages if there\nis a non-default app op policy set for another already\ninstalled package in the same UID as the app op for the new\npackage has to be updated to be in sync. The package installer\ncannot do this as it is in another process and the app op\nupdate will not be atomic. Therefore, the app ops manager\nservice has to support specifying app op policy on a per\nUID basis.\n\nWe now have a UID state object that contains the per package\nnon-default app op states as well as the per uid non-default\napp op states. If there is a UID policy specified then it\ntakes precedence over the per package one. Even further,\nchanging the uid policy updates the package policies in this\nUID if the state is non-default. Changing a package app op\nstate also updates the app op state for the whole UID if\nthe per UID policy for this op is non-default. Clearing the\napp op state for a package, clears the policy for the UID\nas well.\n\nbug:22802981\n\nChange-Id: I78044906d9fcc6066abf07e706c2c88f3397d293\n"
    },
    {
      "commit": "00ab35783c3909c783effbf28da6dda2bf67c1a8",
      "tree": "0a28caecc3252060513997037a6f10a147620b47",
      "parents": [
        "fb68b0ad344edbba15b961dc444cb24dcfc29995",
        "9e2cf5be18b4a127a7e700c6bbc11d8c1d72f551"
      ],
      "author": {
        "name": "Filip Gruszczynski",
        "email": "gruszczy@google.com",
        "time": "Fri Jul 31 22:31:22 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 31 22:31:22 2015 +0000"
      },
      "message": "Merge \"Make enter reveal animation be zorder top.\" into mnc-dev"
    },
    {
      "commit": "fb68b0ad344edbba15b961dc444cb24dcfc29995",
      "tree": "05d4f5f32e057f8e3aa9368501efa0f8e14a3b1e",
      "parents": [
        "ffbdb8ad86e6a858f3f8cd812bfe2e3ec5fd4b75",
        "afb308d6519c56cf2b8001b33dade35e682ab241"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jul 31 22:29:34 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 31 22:29:34 2015 +0000"
      },
      "message": "Merge \"Fix issue #21895842: Add is_assist_blocked to assist.ViewNode.NodeProperties\" into mnc-dev"
    },
    {
      "commit": "ffbdb8ad86e6a858f3f8cd812bfe2e3ec5fd4b75",
      "tree": "e10e110ed4823815e52aa46cb6f6f5aab6e2197f",
      "parents": [
        "5cca30a4ee28a5e70531508d9ad607107adfaa86",
        "841ed0a0418162bab3ae63329a77e900fa840477"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Jul 31 22:18:35 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 31 22:18:35 2015 +0000"
      },
      "message": "Merge \"Fix that shutter sound does not play after ringer mode changes to vibrator\" into mnc-dev"
    },
    {
      "commit": "afb308d6519c56cf2b8001b33dade35e682ab241",
      "tree": "8c898714a4056f385ba8bf6642fa52481e0d01d9",
      "parents": [
        "692a244bffea11157c37c8de93482cb912599b98"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jul 31 13:10:55 2015 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jul 31 13:10:55 2015 -0700"
      },
      "message": "Fix issue #21895842: Add is_assist_blocked to assist.ViewNode.NodeProperties\n\nChange-Id: I928882d42d0546cc6a12e803d96131beaba76d4e\n"
    },
    {
      "commit": "9e2cf5be18b4a127a7e700c6bbc11d8c1d72f551",
      "tree": "2f8ca20c16b3a1e3d31b6c2a405803f121bb0d8b",
      "parents": [
        "92e0c86fa2b84619ebc3acb6d91434dd17113c61"
      ],
      "author": {
        "name": "Filip Gruszczynski",
        "email": "gruszczy@google.com",
        "time": "Fri Jul 31 12:20:40 2015 -0700"
      },
      "committer": {
        "name": "Filip Gruszczynski",
        "email": "gruszczy@google.com",
        "time": "Fri Jul 31 19:38:22 2015 +0000"
      },
      "message": "Make enter reveal animation be zorder top.\n\nThis fixes the bug where launcher icons become temporarily visible when\nhome button is pressed while other activity is starting. By having the\nstarting activity\u0027s animation be zoder top, it will continue to be drawn\non top of the launcher until it animates away.\n\nBug: 22809202\nChange-Id: If5e3c09b7a5df4537c355f94e986766f77ad4943\n"
    },
    {
      "commit": "f7e00dbd08038d52c1158eea61e253ff8155569b",
      "tree": "f819087e033f8a898137c7e2f047781c12c15153",
      "parents": [
        "ebbc891ae4ca835dea278430e3bad42d4630e2af",
        "b3eba81442a23655c6176b15e5c4f2f6e453bd51"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Fri Jul 31 18:45:08 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 31 18:45:08 2015 +0000"
      },
      "message": "Merge \"Fixed issue with artifacts during scale-up transition animation\" into mnc-dev"
    },
    {
      "commit": "c1836bb0f1bf3e5ef0911719525da0bab3e53507",
      "tree": "616e87b836bf7dc35558971d19743a467e4e665f",
      "parents": [
        "d0694da4fb85bb01e7c0ea7989a78a0e635453ac",
        "0e3de6cacaffcfeda4d6353be61e2f1f9ed80705"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jul 31 17:11:58 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 31 17:11:58 2015 +0000"
      },
      "message": "Merge \"Change MNC codename to just M.\" into mnc-dev"
    },
    {
      "commit": "841ed0a0418162bab3ae63329a77e900fa840477",
      "tree": "7dc22570b185277039dbe1fc4c0df4b7e86efb4e",
      "parents": [
        "26ae600b5fb8c657b4f8dc2700374c701c9e50ec"
      ],
      "author": {
        "name": "Sungmin Choi",
        "email": "sungmin.choi@lge.com",
        "time": "Sun Jul 26 23:09:49 2015 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Jul 31 09:24:51 2015 -0700"
      },
      "message": "Fix that shutter sound does not play after ringer mode changes to vibrator\n\nReproduce sequence:\n\n1. Change ring volume to vibration in Settings \u003e Sound \u0026 notification\n   \u003e Ring volume using touch\n2. Launch camera app\n3. Capture, but cannot hear shutter sound\n4. Even change ringtone to maximum, shutter sound is not played before reboot\n\nBug: 22589664\nChange-Id: I90eb044eaf21f3b558bf050bf1d9f0b33ea4888b\n"
    },
    {
      "commit": "e6b53e6115a7f3066af8f9d1ff8f45b83b962b83",
      "tree": "9e613ee4e6c8440fdf85af6ce6b253f38ae4f230",
      "parents": [
        "d692fcf115e57fef8a15c214fb2fcde78a48b45c"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Fri Jul 31 09:25:10 2015 -0400"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Fri Jul 31 09:25:10 2015 -0400"
      },
      "message": "Include dnd status in bugreports.\n\nBug: 22868844\nChange-Id: I7b64cd8e27d6ebf254150b68ac791f299a72d4b1\n"
    },
    {
      "commit": "9a81a182df634ab7a087752c9a10db67c5d0f256",
      "tree": "c9361ec7a29e71a216cf18c29500476c35a589a7",
      "parents": [
        "d692fcf115e57fef8a15c214fb2fcde78a48b45c",
        "e2a4a6ff8a83a4216824b2d40a323e56814d0463"
      ],
      "author": {
        "name": "Rubin Xu",
        "email": "rubinxu@google.com",
        "time": "Fri Jul 31 13:11:08 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 31 13:11:08 2015 +0000"
      },
      "message": "Merge \"Don\u0027t always transfer device owner status to other users.\" into mnc-dev"
    },
    {
      "commit": "e2a4a6ff8a83a4216824b2d40a323e56814d0463",
      "tree": "77de6d34bad24e105523e1272c4213dd6574e86d",
      "parents": [
        "7157c2ca81cb2c942a1e94cf1a0344babf6a8bd6"
      ],
      "author": {
        "name": "Nicolas Prevot",
        "email": "nprevot@google.com",
        "time": "Tue Jul 28 20:41:12 2015 +0100"
      },
      "committer": {
        "name": "Rubin Xu",
        "email": "rubinxu@google.com",
        "time": "Fri Jul 31 09:32:15 2015 +0100"
      },
      "message": "Don\u0027t always transfer device owner status to other users.\n\nA device owner cannot use device or profile owner policies on\nother users unless it is profile owner there. Also limit device\ninitializer to system apps only.\n\nBug: 21800830\nChange-Id: Ie1abbd891945b91b17ecdf7f73ba93aaa19819be\n"
    },
    {
      "commit": "d692fcf115e57fef8a15c214fb2fcde78a48b45c",
      "tree": "5863acfd5f19fdf85421658f8c3bd960e4949082",
      "parents": [
        "496a9d269b0778ffa1965f3b11d768fe70fd7719",
        "9dacbf6fd4b602f3abe9b1a347690d474c54f9a7"
      ],
      "author": {
        "name": "Benjamin Franz",
        "email": "bfranz@google.com",
        "time": "Fri Jul 31 08:22:53 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 31 08:22:53 2015 +0000"
      },
      "message": "Merge \"Add missing return statement\" into mnc-dev"
    },
    {
      "commit": "496a9d269b0778ffa1965f3b11d768fe70fd7719",
      "tree": "41c66cfd5b7f3e048a5b89649ceda1216d5dc314",
      "parents": [
        "02565c3622aa9007d3d5eb4612f200decd05b55c",
        "ffc42b0b7be29ee4118e0515d5ab024927bcb8ca"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Jul 31 05:17:08 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 31 05:17:08 2015 +0000"
      },
      "message": "Merge \"Stop supporting legacy ConnectivityManager routing methods in M.\" into mnc-dev"
    },
    {
      "commit": "b3eba81442a23655c6176b15e5c4f2f6e453bd51",
      "tree": "21ac41d3d3307a37e0300e5cd972518834b0b28b",
      "parents": [
        "602611375b11805f74ae52f5d62a944c74f967d6"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Thu Jul 30 20:20:16 2015 -0700"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Thu Jul 30 20:20:16 2015 -0700"
      },
      "message": "Fixed issue with artifacts during scale-up transition animation\n\nIt is possible to get some artifacts during scale-up transition\nanimation of some fullscreen activities like Chrome. This is\ncaused by the clip rect specified by the transformation extending\noutside the sys decor rect. We now contain the clip rect within\nthe system decor rect.\n\nAlso note that we don\u0027t want to do this for none-fullscreen\nactivities as it might cause some premature clipping.\n\nBug: 22830775\nBug: 21727851\nBug: 20652683\nBug: 19523205\nBug: 15046646\nhttps://code.google.com/p/android/issues/detail?id\u003d161362\n\nChange-Id: I33827caaa256ad8fdc0eb3650ef34e95c48a6988\n"
    },
    {
      "commit": "410abcdb41f5bca84574e7b07d3f022d5e05e4c9",
      "tree": "6ad434a7e18eca5110a53e9760e7c1458f3a2a61",
      "parents": [
        "bbb47d88d5f129ab1ca30d6a7a41976e47681e37",
        "44c8c5ccaf1dfb5e059732c05e00e6891cb65f71"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Fri Jul 31 02:51:32 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 31 02:51:32 2015 +0000"
      },
      "message": "Merge \"Revise lockdown check in getLegacyVpnInfo()\" into mnc-dev"
    },
    {
      "commit": "ffc42b0b7be29ee4118e0515d5ab024927bcb8ca",
      "tree": "2101af35baee3797ce8542187ff87114f1265c72",
      "parents": [
        "5db4cc8fee8b919b5f62f222af92a4e995ca6a70"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Jul 29 11:41:21 2015 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Jul 31 11:08:27 2015 +0900"
      },
      "message": "Stop supporting legacy ConnectivityManager routing methods in M.\n\nThe methods startUsingNetworkFeature, stopUsingNetworkFeature and\nrequestRouteToHost were @removed in all the M preview builds, but\ninternal and external developers have noted that this imposes\nadditional burden for applications that need to work across\nmultiple platform versions because it causes compile-time errors.\n\nWe switched from @removed back to @deprecated to avoid these\nproblems. In order to effectively deprecate these methods, which\nare error-prone and insecure, make them throw\nUnsupportedOperationException if the app\u0027s target SDK is M or\nabove.\n\nBecause there are still one or two places in system code that use\nthese APIs, exempt Process.SYSTEM_UID and the OMA-DM client from\nthe check for now.\n\nBug: 22728205\nChange-Id: I790bd32f3aa8067cbb625962a209bb9232f4b58c\n"
    },
    {
      "commit": "53c750142332cb33e604266b7c6d09191c32691c",
      "tree": "4b994a64aefc413fdb31ef6c105d6de270bcf50e",
      "parents": [
        "00f7cb924e6964c5403c55ae5e7348aad1c8ec7b",
        "a9e72a7653d25ae1974dac3f1156d126c807e40c"
      ],
      "author": {
        "name": "Amit Mahajan",
        "email": "amitmahajan@google.com",
        "time": "Thu Jul 30 23:54:06 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 30 23:54:06 2015 +0000"
      },
      "message": "Merge \"Add OrSelf to privileged permission check.\" into mnc-dev"
    },
    {
      "commit": "a9e72a7653d25ae1974dac3f1156d126c807e40c",
      "tree": "7173351391f0b304399bcff0f3331d00ad6ec4c6",
      "parents": [
        "26ae600b5fb8c657b4f8dc2700374c701c9e50ec"
      ],
      "author": {
        "name": "Amit Mahajan",
        "email": "amitmahajan@google.com",
        "time": "Thu Jul 30 16:04:13 2015 -0700"
      },
      "committer": {
        "name": "Amit Mahajan",
        "email": "amitmahajan@google.com",
        "time": "Thu Jul 30 16:04:13 2015 -0700"
      },
      "message": "Add OrSelf to privileged permission check.\n\nBug: 22857263\nChange-Id: Ide7105dfd653e3c271330822fb8cee7cf620e35d\n"
    },
    {
      "commit": "3bf1ac54edc77d2249dc9a0ab8291efa70ff76b9",
      "tree": "1fb9de2db9d919fde05ade78980e7f9b29bcfd6a",
      "parents": [
        "26ae600b5fb8c657b4f8dc2700374c701c9e50ec"
      ],
      "author": {
        "name": "Andre Eisenbach",
        "email": "eisenbach@google.com",
        "time": "Thu Jul 30 08:59:32 2015 -0700"
      },
      "committer": {
        "name": "Andre Eisenbach",
        "email": "eisenbach@google.com",
        "time": "Thu Jul 30 22:30:42 2015 +0000"
      },
      "message": "Bluetooth: Don\u0027t call beginBroadcast() while in a broadcast\n\nBlock duplicate calls to beginBroadcast() and add try/finally\nto ensure finishBroadcast() is always called.\n\nBug: 22800686\nChange-Id: Ie8d4005f4cd50dd2544a2832773d72eab0015d92\n"
    },
    {
      "commit": "26ae600b5fb8c657b4f8dc2700374c701c9e50ec",
      "tree": "164719bcf981c5d61897d7ba1fa8cd704a4b95db",
      "parents": [
        "7676e403bd65435eb3d2f34e7e0174fd37f6e818",
        "e7ed827a104ba005b93faa2edb3bc77f72b240ec"
      ],
      "author": {
        "name": "Carlos Valdivia",
        "email": "carlosvaldivia@google.com",
        "time": "Thu Jul 30 21:58:16 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 30 21:58:16 2015 +0000"
      },
      "message": "Merge \"Permissions: GET_ACCOUNTS permission cleanup\" into mnc-dev"
    },
    {
      "commit": "8f5228afe671b5e80fab4d1c55452ad6c83ef4f1",
      "tree": "a5509046014d783db4d0eb06574ae8f98df022b4",
      "parents": [
        "2f1a08e601f4fa24e589fc61ea38f80eb264a8f4",
        "6456a65afed66819b73df7eb605037402b91fc3f"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Jul 30 21:28:17 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 30 21:28:17 2015 +0000"
      },
      "message": "Merge \"UsbMidiDevice: add timestamps for input events\" into mnc-dev"
    },
    {
      "commit": "8d1d8fdaa40cc2149604c9947a7ccf1a6a494e36",
      "tree": "44effec17693f80a85a4f710a63d91341bf49e31",
      "parents": [
        "74a0744ec19de54096638978bfe1eccfe2ed4e01",
        "ad63247690a5082a74891cd16278f6c2ba8760c6"
      ],
      "author": {
        "name": "Shishir Agrawal",
        "email": "shishir@google.com",
        "time": "Thu Jul 30 18:54:49 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 30 18:54:49 2015 +0000"
      },
      "message": "Merge \"Add SMS permissions for Carrier app.\" into mnc-dev"
    },
    {
      "commit": "e7ed827a104ba005b93faa2edb3bc77f72b240ec",
      "tree": "208ad2ddbccb897a03f7bf120b62440fbf8a6561",
      "parents": [
        "a7b4d6dc1017bcb2e6144fa5eb9d2ed07093ffa8"
      ],
      "author": {
        "name": "Carlos Valdivia",
        "email": "carlosvaldivia@google.com",
        "time": "Mon Jul 27 13:06:54 2015 -0700"
      },
      "committer": {
        "name": "Carlos Valdivia",
        "email": "carlosvaldivia@google.com",
        "time": "Thu Jul 30 09:18:53 2015 -0700"
      },
      "message": "Permissions: GET_ACCOUNTS permission cleanup\n\nFirst, getAccounts*() will now return all available accounts depending\non both GET_ACCOUNTS grants and signature matching. This is different\nfrom before where a caller of getAccounts() would need GET_ACCOUNTS to\nget any accounts, but if that same caller called getAccountsByType, they\nmight have gotten back accounts if they shared a signature with the same\ndeveloper.\n\nSecond, cleaned up some NPEs and javadoc.\n\nThis change was motivated by progress on the cts tests.\n\nChange-Id: I2f36226780e074fdf58214b46de3b79d8319ace1\n"
    },
    {
      "commit": "9dacbf6fd4b602f3abe9b1a347690d474c54f9a7",
      "tree": "d3dc79d32a0f0e7612acd607982a5e20350a6598",
      "parents": [
        "602611375b11805f74ae52f5d62a944c74f967d6"
      ],
      "author": {
        "name": "Benjamin Franz",
        "email": "bfranz@google.com",
        "time": "Thu Jul 30 15:50:16 2015 +0100"
      },
      "committer": {
        "name": "Benjamin Franz",
        "email": "bfranz@google.com",
        "time": "Thu Jul 30 15:50:16 2015 +0100"
      },
      "message": "Add missing return statement\n\nBug: 22844272\nChange-Id: I4b37b28adb1d1b6d0d1235dd68fbfad6c3121c54\n"
    },
    {
      "commit": "44c8c5ccaf1dfb5e059732c05e00e6891cb65f71",
      "tree": "b4fbd69144a11fa00adbf509b1898677836211b8",
      "parents": [
        "b8040265dd0d5a2a96e0850623647dad2f528db1"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Wed Jul 29 12:39:21 2015 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Thu Jul 30 10:52:25 2015 +0800"
      },
      "message": "Revise lockdown check in getLegacyVpnInfo()\n\nReturn null instead of raising exception in lockdown mode.\n\nBUG\u003d22749146\n\nChange-Id: I0e9e3ded0d189e3fa9e872b7af9fe363799c85d6\n"
    },
    {
      "commit": "2ad7e27362f682e3358b307bef23196be1c8b126",
      "tree": "6ffa38e076eaac06c5df2e025b3279dc8403793d",
      "parents": [
        "a991c66c12da30d0240ac6c98736edee93d95977"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jul 29 19:23:58 2015 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jul 29 19:27:47 2015 -0700"
      },
      "message": "Fix issues around process teardown after full-data restore\n\nThe unified code path for cleanup was mistakenly looking at the\nandroid:killAfterRestore manifest attribute even for full-data restore\noperations.  That attribute is only relevant for key/value payload\nhandling.  We need to *always* kill after restore in the full-data\ncase because the app will otherwise be allowed to enter normal\ncomponent lifecycles without its correct Application / ContentProvider\nstate in force.\n\nBug 22704852\n\nChange-Id: Ia63f985a35c28084c734389cfc49d3792173e5c7\n"
    },
    {
      "commit": "a991c66c12da30d0240ac6c98736edee93d95977",
      "tree": "9a787139c985ee3cb0e242527e744e44da094249",
      "parents": [
        "8d3a67a8d475b43cbac50a2a186a19f4a29c7892",
        "cf4c2c637268b1a2979e20a8b5644916777a02a4"
      ],
      "author": {
        "name": "Paul Jensen",
        "email": "pauljensen@google.com",
        "time": "Thu Jul 30 02:10:50 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 30 02:10:50 2015 +0000"
      },
      "message": "Merge \"Fix missing onLost NetworkCallbacks when network loses capability\" into mnc-dev"
    },
    {
      "commit": "ad63247690a5082a74891cd16278f6c2ba8760c6",
      "tree": "35cc92623ad7146ecc42b70bed968aa6016b5351",
      "parents": [
        "1bd310e18c50d4fd81207a3e2fe61cc694ee7607"
      ],
      "author": {
        "name": "Shishir Agrawal",
        "email": "shishir@google.com",
        "time": "Wed Jul 29 16:54:07 2015 -0700"
      },
      "committer": {
        "name": "Shishir Agrawal",
        "email": "shishir@google.com",
        "time": "Wed Jul 29 16:54:07 2015 -0700"
      },
      "message": "Add SMS permissions for Carrier app.\n\nCarrier apps can act as a transport for SMS and MMS. They may proxy SMSes that\nuser is sending and need to have access to be able to send these SMSes via the\nradio.\n\nBug: 22830087\nChange-Id: I98c0ff1b208be1a7227aef7a4a69222050b3ddb4\n"
    },
    {
      "commit": "95c6daed397f658039184cf83755c245fb4b5dcd",
      "tree": "57354ce0d3a878f6dcc4f6519b9579fe2e3b2ee3",
      "parents": [
        "e8246ff7443ec0d1acd7f3637c28fa066779638b"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Wed Jul 29 15:17:23 2015 -0700"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Wed Jul 29 23:41:16 2015 +0000"
      },
      "message": "Fix doze mode\n\nMake sure to reset the keyguard drawn state in the correct place,\nso we don\u0027t return early in finishKeyguardDrawn() because\nmKeyguardDrawComplete is still true.\n\nBug: 22808662\nChange-Id: I7e18e91c412c6cac7fe253837949602f76b7f270\n"
    },
    {
      "commit": "e8246ff7443ec0d1acd7f3637c28fa066779638b",
      "tree": "ec3151ebef6ad90d56af764d8ab33aa7af4a013d",
      "parents": [
        "4a0e791cc0a71df2b0c6bae6e92a5f2100fb5841",
        "28b239711597981ecb79b12db1a69f49c1033cbd"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Wed Jul 29 23:41:08 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 29 23:41:08 2015 +0000"
      },
      "message": "Merge \"Fixed out of bounds exception while handling app crash\" into mnc-dev"
    },
    {
      "commit": "4a0e791cc0a71df2b0c6bae6e92a5f2100fb5841",
      "tree": "9dead3f5f91a6178a565ce056c439fbac5473775",
      "parents": [
        "a6706627a9bf749cc591605272810e03983a9eea"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Wed Jul 29 15:46:29 2015 -0700"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Wed Jul 29 23:40:16 2015 +0000"
      },
      "message": "Workaround View.post issues to fix runtime crash\n\nUsing View.post was really dangerous because when the view wasn\u0027t\nattached, it got posted on the run queue of the *calling* thread.\nHowever, that run queue was never executed until power down, and\nthen it was executed from the PowerManagerService thread, because\nthat was the calling thread when we posted it. Work around this by\nusing a solid Handler.\n\nBug: 22820787\nChange-Id: Id60e49e859558993256fae0403236f2e4b6f1075\n"
    },
    {
      "commit": "28b239711597981ecb79b12db1a69f49c1033cbd",
      "tree": "f19f7b798eee22c9b7730de1ce2f19e775c1287a",
      "parents": [
        "602611375b11805f74ae52f5d62a944c74f967d6"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Wed Jul 29 16:01:50 2015 -0700"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Wed Jul 29 23:05:17 2015 +0000"
      },
      "message": "Fixed out of bounds exception while handling app crash\n\nThe current stack we are proccessing can be deleted as part of\nthe clean-up process, so the size of the stack list is reduced\nby one.\n\nBug: 22822743\nChange-Id: I6a6af5d8d811e231f345f01dd2aa4a61510c8d2b\n"
    },
    {
      "commit": "6456a65afed66819b73df7eb605037402b91fc3f",
      "tree": "40b979be985e80c2b587eb3725d52bdc5e6a21cb",
      "parents": [
        "b83b5fa641847ee1d533253ba5e1a3e13913b9d9"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Jul 29 15:55:00 2015 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Jul 29 15:55:00 2015 -0700"
      },
      "message": "UsbMidiDevice: add timestamps for input events\n\nThis will improve the accuracy of recorded MIDI performances.\n\nBug: 22801515\nChange-Id: Ib78bc929224f2f27938c83a815eaa62f6b5f9560\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "6ad2d66072795dd9836350b273dcde52910ab4c3",
      "tree": "407b5f32d915c561baded2f6eb7ed7e9d2e61ad5",
      "parents": [
        "771d210ab2d0df9d6748eb56e3f7250377df1fc4"
      ],
      "author": {
        "name": "Billy Lau",
        "email": "billylau@google.com",
        "time": "Sat Jul 18 00:26:58 2015 +0100"
      },
      "committer": {
        "name": "Billy Lau",
        "email": "billylau@google.com",
        "time": "Wed Jul 29 23:21:26 2015 +0100"
      },
      "message": "Bug: 21589105 Rescope WRITE_SETTINGS permission (framework services perm check\nchanges)\n\nAppOpsManager:\nChanged the default operating mode for WRITE_SETTINGS to MODE_DEFAULT from\nMODE_ALLOWED.\n\npackages/SettingsProvider:\nWe no longer do static permission checks for WRITE_SETTINGS in early checks and\ndefer that to app op when MODE_DEFAULT is returned. For some operations,\nchecking against WRITE_SECURE_SETTINGS is sufficient.\n\nActivityManagerService \u0026 PowerManagerService:\nIncorporated app op checks and handled the MODE_DEFAULT case.\n\nprovider/Settings:\nAdded helper function to do checks on whether app ops protected operations\ncan be performed by a caller. This includes checks for WRITE_SETTINGS and\nSYSTEM_ALERT_WINDOW.\nAlso added a public API (with javadocs) for apps to query if they can modify\nsystem settings.\nChanged the javadocs description for ACTION_MANAGE_WRITE_SETTINGS and\nACTION_MANAGE_OVERLAY_PERMISSION.\nAdded public API (with javadocs) for apps to query whether they can draw overlays or not,\nand also javadocs description on how to use that check.\n\nChange-Id: I7b651fe8af836c2074defdbd6acfec3f32acdbe9\n"
    },
    {
      "commit": "0e3de6cacaffcfeda4d6353be61e2f1f9ed80705",
      "tree": "a3ff442ca1aa810866d9a8ba5524764f5150246e",
      "parents": [
        "eda1cc50cead674287616e6a852f8f281b70b9f5"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 29 15:20:21 2015 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 29 15:20:21 2015 -0700"
      },
      "message": "Change MNC codename to just M.\n\nChange-Id: I4281d200ff6560791c47cf9073ceea1cb509361e\n"
    },
    {
      "commit": "393c7fb2c67e7fc9dfab710a52313f9b55aaa57c",
      "tree": "2fd8e2c65b20c107fd130eeb1d42d27d6dd4d0a3",
      "parents": [
        "e2cd84196e1266200f906b5d721640217fc2e6f9",
        "4aa97977863e01af3803afcee97292109bbec97c"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Jul 29 21:54:13 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 29 21:54:13 2015 +0000"
      },
      "message": "Merge \"Default grants: handle update system packages\" into mnc-dev"
    },
    {
      "commit": "4aa97977863e01af3803afcee97292109bbec97c",
      "tree": "55df691b543d9fedb42ebc9db8412143115ce4d0",
      "parents": [
        "eda1cc50cead674287616e6a852f8f281b70b9f5"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Wed Jul 29 14:00:18 2015 -0700"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Wed Jul 29 14:00:30 2015 -0700"
      },
      "message": "Default grants: handle update system packages\n\nIf there is an app on the system image that gets default\ngrants but it is updated with a version that does not use\nall permissions the version on the system image does, we\nwould wrongly try to grant a permission to the updated app\nthat it does not request and crash as a result. Now we\ndefault grant permission that are requested by the system\nversion of the app regardless if it is updated but only if\nthe system app is not updated or the update also uses these\npermissions.\n\nbug:22800767\n\nChange-Id: Ic22b62ba4976367420a56bdadc8e3824b0b9104f\n"
    },
    {
      "commit": "726d47b7716807f740ceea6ea71c46b20ecb8ba7",
      "tree": "c008122817db79053b4579a014d74d68049ed29b",
      "parents": [
        "47a74e7e2b45d9ec462f47f6741c381c478b4156",
        "7811d9f5095a343acd218f4bb0a0e9e8f480b401"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Wed Jul 29 20:39:27 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 29 20:39:27 2015 +0000"
      },
      "message": "Merge \"Fix and deprecate lock pattern related settings\" into mnc-dev"
    },
    {
      "commit": "25782ef834514d6e24a0f8aaa463683d1a7f95f3",
      "tree": "aae048e8a7c2019c8191968f9b0c66c6a825dde8",
      "parents": [
        "944b63624b40c96f4a31af750e1678c0b9c88ad1",
        "069fbe4b581a6a26f1ce600b0b25ca9274d15b5b"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Wed Jul 29 19:11:44 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 29 19:11:44 2015 +0000"
      },
      "message": "Merge \"Added stack id to TaskRecord dump.\" into mnc-dev"
    },
    {
      "commit": "069fbe4b581a6a26f1ce600b0b25ca9274d15b5b",
      "tree": "27d4b75b1053f6a527e47df6add3694dde1e855f",
      "parents": [
        "602611375b11805f74ae52f5d62a944c74f967d6"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Wed Jul 29 11:38:01 2015 -0700"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Wed Jul 29 11:38:01 2015 -0700"
      },
      "message": "Added stack id to TaskRecord dump.\n\nBug: 22812470\nChange-Id: Ic8f3550e61ad1cf175423abe900c5f60686338a2\n"
    },
    {
      "commit": "75d958c40e67c338d65df185ce1f09b164c58d49",
      "tree": "d9f506d156896d3e6b19bd57322031c31e7cf005",
      "parents": [
        "a42e6816512e637e5322be8c66d3cc5eff840647",
        "39d1381ed3c6abfa8600ab19b59c141456fb0f12"
      ],
      "author": {
        "name": "Maurice Lam",
        "email": "yukl@google.com",
        "time": "Wed Jul 29 18:25:16 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 29 18:25:16 2015 +0000"
      },
      "message": "Merge \"Disable launching assist during setup\" into mnc-dev"
    },
    {
      "commit": "9352af2a9ef95e3f577a04474625249d3da62a04",
      "tree": "b4f13ca45bea5c9fdac99b42dd91c7b948593e92",
      "parents": [
        "6b96de8dae8be99f75c86c795672905e10fca153",
        "f1b7f20bb839c96e8254ccb65398135f10fd45d9"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Jul 29 17:54:23 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 29 17:54:23 2015 +0000"
      },
      "message": "Merge \"Remove dependencies on the package installer\u0027s package name\" into mnc-dev"
    },
    {
      "commit": "6b96de8dae8be99f75c86c795672905e10fca153",
      "tree": "5d98e751d3b283db988fbf8b0c91316c750619b1",
      "parents": [
        "a7a65ee4c5fb879fee258c63b92e49ab4571bbdb",
        "cf85562bc9a0f01db51b4088e72f05a8089fc7f1"
      ],
      "author": {
        "name": "Sailesh Nepal",
        "email": "sail@google.com",
        "time": "Wed Jul 29 17:39:37 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 29 17:39:37 2015 +0000"
      },
      "message": "Merge \"Default permissions for sim call manager\" into mnc-dev"
    },
    {
      "commit": "a7a65ee4c5fb879fee258c63b92e49ab4571bbdb",
      "tree": "9faf4fa4ef32465c4ceeb23107b3f9979c1de878",
      "parents": [
        "120a86ac6f4ac6d2dfdef01dd1fbefdcd1cc8735",
        "525bc7a5a68cf2bf5159780ebb66ca4a3bf600ee"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Jul 29 17:38:29 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 29 17:38:29 2015 +0000"
      },
      "message": "Merge \"Allow non system to set perm policy flags - needed by the installer\" into mnc-dev"
    },
    {
      "commit": "120a86ac6f4ac6d2dfdef01dd1fbefdcd1cc8735",
      "tree": "56dae3215fc9e39a33a9f580360e8cdadef462f0",
      "parents": [
        "eda1cc50cead674287616e6a852f8f281b70b9f5",
        "f480f2899cf4667170d93f6d7637e735b82d5bae"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Jul 29 17:37:50 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 29 17:37:50 2015 +0000"
      },
      "message": "Merge \"Do not reset runtime permissions on upgrade\" into mnc-dev"
    },
    {
      "commit": "64ac302f0c10de0016689b234ba01c1c81da0061",
      "tree": "8f20b920f8ce548b060f8a7bbc3515ad6fd0bdca",
      "parents": [
        "1bd310e18c50d4fd81207a3e2fe61cc694ee7607",
        "00799008832e11f06f9ddc0bf721799edee99f28"
      ],
      "author": {
        "name": "Nicolas Prévot",
        "email": "nprevot@google.com",
        "time": "Wed Jul 29 16:59:46 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 29 16:59:46 2015 +0000"
      },
      "message": "Merge \"Send a public broadcast when the device owner is set.\" into mnc-dev"
    },
    {
      "commit": "525bc7a5a68cf2bf5159780ebb66ca4a3bf600ee",
      "tree": "725c0dd60d328ee595092d0a3fa8ba51b5f2ea36",
      "parents": [
        "02022b70bef7d6964bc8043385531d1aa97fb15b"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Jul 29 09:09:12 2015 -0700"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Jul 29 09:09:26 2015 -0700"
      },
      "message": "Allow non system to set perm policy flags - needed by the installer\n\nMy previous change overtightened which permission flags can be changed\nby a non-system caller. This took away the capability of the package\ninstaller to set policy flags which it needs to implement the auto\ngrant/deny behavior.\n\nbug:22776149\n\nChange-Id: Ic2a82bedc413fc91360c3bcec355fac456f0fccf\n"
    },
    {
      "commit": "f480f2899cf4667170d93f6d7637e735b82d5bae",
      "tree": "e6bba1fff12c64d3dab78dff8274281744ff4928",
      "parents": [
        "02022b70bef7d6964bc8043385531d1aa97fb15b"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Jul 29 08:39:41 2015 -0700"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Jul 29 08:40:18 2015 -0700"
      },
      "message": "Do not reset runtime permissions on upgrade\n\nbug:22772831\n\nChange-Id: Ic7113f48bf4fe2fe2f50bf94c4b6dbb2130b6621\n"
    },
    {
      "commit": "f1b7f20bb839c96e8254ccb65398135f10fd45d9",
      "tree": "7803c21a30ad4f110925ee94a1b76735a1c1d406",
      "parents": [
        "02022b70bef7d6964bc8043385531d1aa97fb15b"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Jul 29 08:33:42 2015 -0700"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Jul 29 08:33:46 2015 -0700"
      },
      "message": "Remove dependencies on the package installer\u0027s package name\n\nbug:22700053\n\nChange-Id: I8540eb8577fbec84e1a67e31e1c31ba654c828a4\n"
    },
    {
      "commit": "308139425e697536304be55a5865aae7a290fb1d",
      "tree": "365aaf65d09baa7c8d719fac57d489db0d2864f6",
      "parents": [
        "7157c2ca81cb2c942a1e94cf1a0344babf6a8bd6",
        "f95d220308492550b7bd6c019e4c725a810cd050"
      ],
      "author": {
        "name": "Paul Jensen",
        "email": "pauljensen@google.com",
        "time": "Wed Jul 29 13:52:02 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 29 13:52:02 2015 +0000"
      },
      "message": "Merge \"Disable WiFi autojoin when user decides via \"Stay connected?\" dialog\" into mnc-dev"
    },
    {
      "commit": "cf85562bc9a0f01db51b4088e72f05a8089fc7f1",
      "tree": "0f5bb407dbf8c0db7b489b47e5d367bca060384d",
      "parents": [
        "b8040265dd0d5a2a96e0850623647dad2f528db1"
      ],
      "author": {
        "name": "Sailesh Nepal",
        "email": "sail@google.com",
        "time": "Tue Jul 28 19:22:14 2015 -0700"
      },
      "committer": {
        "name": "Sailesh Nepal",
        "email": "sail@google.com",
        "time": "Tue Jul 28 22:16:25 2015 -0700"
      },
      "message": "Default permissions for sim call manager\n\nThis CL adds the following permissions by default to the\nSIM call manager:\n - microphone\n - phone\n\nBUG: 22790160\nChange-Id: Icaf1db6c6943b3ddbd16a946a81d1bfb734d761f\n"
    },
    {
      "commit": "b8040265dd0d5a2a96e0850623647dad2f528db1",
      "tree": "ccde4fc8d2f3247f326cec3f57af31cacad5b344",
      "parents": [
        "02022b70bef7d6964bc8043385531d1aa97fb15b",
        "4634987668eb7e1fa1434bddbde969ef43de6b40"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Wed Jul 29 01:19:43 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 29 01:19:43 2015 +0000"
      },
      "message": "Merge \"Give secondary users read-only physical cards.\" into mnc-dev"
    },
    {
      "commit": "b310c8945330a0a94abae34451e0bdc227f52035",
      "tree": "4f1e73c8b06fc3dee2e10fbbc7b498695a38c91e",
      "parents": [
        "5b009d523c6ad89f946e4a19f3fdba3c63bcf1f5",
        "b795d7c4a3db56d07a411a434c447819fd18363f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 29 00:47:33 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 29 00:47:33 2015 +0000"
      },
      "message": "Merge \"Fix issue #22802691: APR: NPE in ActivityRecord\" into mnc-dev"
    },
    {
      "commit": "5b009d523c6ad89f946e4a19f3fdba3c63bcf1f5",
      "tree": "0e0a85d0066891d25d9534ec0ce7b91175fde2e5",
      "parents": [
        "b492ced89eaf38b2b9962dbfae2435dd242abf19",
        "a73b68fb856aa3563be7423e5f93314eddc7d144"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 29 00:46:20 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 29 00:46:20 2015 +0000"
      },
      "message": "Merge \"Fix issue #22802617: APR: spurious wtf when restarting a persistent process\" into mnc-dev"
    },
    {
      "commit": "b795d7c4a3db56d07a411a434c447819fd18363f",
      "tree": "a706091a27c8aa949e7c4b1b5bc6a41510b4f13b",
      "parents": [
        "3551a59b277fd4dc924f48116c153a50fb0913eb"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jul 28 17:40:06 2015 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jul 28 17:40:06 2015 -0700"
      },
      "message": "Fix issue #22802691: APR: NPE in ActivityRecord\n\nChange-Id: I8d6265589c97edc7a1d6c63f98c7252a439e62da\n"
    },
    {
      "commit": "a73b68fb856aa3563be7423e5f93314eddc7d144",
      "tree": "2fe85790c3a343b154283552eb40385795a178c6",
      "parents": [
        "3551a59b277fd4dc924f48116c153a50fb0913eb"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jul 28 17:22:46 2015 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jul 28 17:22:46 2015 -0700"
      },
      "message": "Fix issue #22802617: APR: spurious wtf when restarting a persistent process\n\nJust don\u0027t do a wtf here, it isn\u0027t really wrong (though it isn\u0027t really\nright, but at this point in a release it is right enough!).\n\nChange-Id: Ic38a2e27556224cf8868f1fa18b4810929d67fcc\n"
    },
    {
      "commit": "0d210f6395072db4a4c53d4cb8fac4a59a3965b4",
      "tree": "7b63f0a48ec2b0fa8b25604efb17ccade833b568",
      "parents": [
        "751a96a040ada09199ca3356d9a515ec090d1237"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Fri Jul 10 14:24:44 2015 -0700"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Jul 28 23:02:54 2015 +0000"
      },
      "message": "Animation for touch, wake and unlock\n\n- Add callback to inform SysUI when the screen has been unblocked\nand turned on.\n- Cleanup inconsistent messaging about device interactive/screen on\nand off.\n- Add callbacks to inform SysUI about screen states\n- Implement a quick fade for the scrim after touch, wake, and unlock.\n  First, start with a black scrim on top of everything, and then fade\n  it out.\n- Make sure we play the normal unlock animation when device is pulsing\n- Override navigation bar animations for touch, wake and unlock: Fade\n  in the same manner as the scrim.\n\nBug: 22571198\nBug: 21855614\nChange-Id: I8ff08d72cced1e0f03c78d71ff710d8a4f6b848c\n"
    },
    {
      "commit": "751a96a040ada09199ca3356d9a515ec090d1237",
      "tree": "c8be98d60cac7a29253876bc6106699a78f34185",
      "parents": [
        "5faa033615dcb4297fcb6a81828099285364942d",
        "6ab2fb61f08d87e01874114c3c204166a287e92c"
      ],
      "author": {
        "name": "Chris Tate",
        "email": "ctate@android.com",
        "time": "Tue Jul 28 22:56:41 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 28 22:56:41 2015 +0000"
      },
      "message": "Merge \"Don\u0027t redundantly call transport.finishRestore()\" into mnc-dev"
    },
    {
      "commit": "f2c616ed02aee3b9a9025caf288aadbf22cfd046",
      "tree": "25b9d2d1db8914cd21d765cde238bbe91b9d4dfb",
      "parents": [
        "bdbec480e8598bd959a2fc047cfad8b72c8a645b",
        "6b0c8315e4c0db24522675c05ecd6a0b9bfb6d9e"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Tue Jul 28 22:15:43 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 28 22:15:43 2015 +0000"
      },
      "message": "Merge \"Partially revert package freezing\" into mnc-dev"
    },
    {
      "commit": "4634987668eb7e1fa1434bddbde969ef43de6b40",
      "tree": "dfb9e8e2618ac10f58888678cc0226c334864f72",
      "parents": [
        "2e606d7be5275f2bff4c5755351bc3191ecb1bf1"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jul 28 10:49:47 2015 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jul 28 14:42:34 2015 -0700"
      },
      "message": "Give secondary users read-only physical cards.\n\nLong ago, we mounted secondary physical cards as readable by all\nusers on the device, which enabled the use-case of loading media on\na card and viewing it from all users.\n\nMore recently, we started giving write access to these secondary\nphysical cards, but this created a one-directional channel for\ncommunication across user boundaries; something that CDD disallows.\n\nThis change is designed to give us the best of both worlds: the\npackage-specific directories are writable for the user that mounted\nthe card, but access to those \"Android\" directories are blocked for\nall other users.  Other users remain able to read content elsewhere\non the card.\n\nBug: 22787184\nChange-Id: Ied8c98995fec1b7b50ff7d930550feabb4398582\n"
    },
    {
      "commit": "6ab2fb61f08d87e01874114c3c204166a287e92c",
      "tree": "11f764b6ed3bb80d9efb4c43bf644bd4296a5718",
      "parents": [
        "bdbec480e8598bd959a2fc047cfad8b72c8a645b"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jul 28 13:59:35 2015 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Tue Jul 28 14:04:04 2015 -0700"
      },
      "message": "Don\u0027t redundantly call transport.finishRestore()\n\nThe RestoreSession is no longer responsible for calling finishRestore();\nthat happens as part of tidying up after running the restore itself,\neven in failure cases.\n\nBug 22640096\n\nChange-Id: I0be52af2ae8c2c1ac685e9904ccb8120f7fcf522\n"
    }
  ],
  "next": "6b0c8315e4c0db24522675c05ecd6a0b9bfb6d9e"
}
