)]}'
{
  "log": [
    {
      "commit": "c558dd9597fa6dba90bbb2838b65472e15ed20ee",
      "tree": "89b163b739ee275412ea5af511313fea65460eeb",
      "parents": [
        "5f87c4539adecd3716d5c9e46b30302a32880261"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Aug 31 18:01:06 2016 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Aug 31 18:01:06 2016 -0700"
      },
      "message": "Fix missing dependency on R.java\n\nCompiling frameworks source is missing a dependency on the R.stamp file\ngenerated by the frameworks-res aapt rule, likely caused by the switch\nto jack.  Use LOCAL_ADDITONAL_DEPENDENCIES to insert the dependency\ninstead of directly using build system internals.\n\nChange-Id: Ifb830da18b3607f87ae283cea04f7d276d4bfde9\n"
    },
    {
      "commit": "5f87c4539adecd3716d5c9e46b30302a32880261",
      "tree": "18bc1a5fcd4088928750bf2d27697b144da0cc60",
      "parents": [
        "7207562ff7e490d0cc4554f46fd9b9ce7a89c20a",
        "a480f7fe28ef059b82491f52dcc69934322ee5e2"
      ],
      "author": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Wed Aug 31 18:05:26 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 31 18:05:27 2016 +0000"
      },
      "message": "Merge \"Separate advertiser from GATT client (1/4)\""
    },
    {
      "commit": "7207562ff7e490d0cc4554f46fd9b9ce7a89c20a",
      "tree": "843055cfb8a6528380d6fba2a03b10a52630fcdd",
      "parents": [
        "2cace65f71914723f6c874404f3f36af1e22946b",
        "a619ec70cf765d9166f0862e74653711b87307b3"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Aug 31 17:18:56 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 31 17:18:56 2016 +0000"
      },
      "message": "Merge \"Fix google-explicit-constructor warnings in libs/hwui.\""
    },
    {
      "commit": "2cace65f71914723f6c874404f3f36af1e22946b",
      "tree": "5f892f5d0b8c35e07cdd9480011efea3735fa4eb",
      "parents": [
        "7a9c0cd854405cd99fd359a70a63f1ba1ac2f223",
        "bd6b663b470e9b2687ebec7dc5142ee78ac28268"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Aug 31 17:18:29 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 31 17:18:29 2016 +0000"
      },
      "message": "Merge \"Fix google-explicit-constructor warnings in media/mca.\""
    },
    {
      "commit": "7a9c0cd854405cd99fd359a70a63f1ba1ac2f223",
      "tree": "125e8b2614f3a86f1d941777b5aa69d77507e5db",
      "parents": [
        "0c8c4a5d981adf700e21553cc471c734699e84b4",
        "a8280a5d349a65d1323cffd540485498f276fd1e"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Aug 31 16:28:16 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 31 16:28:17 2016 +0000"
      },
      "message": "Merge \"Fix receive timeout on LocalSocket\""
    },
    {
      "commit": "0c8c4a5d981adf700e21553cc471c734699e84b4",
      "tree": "e44bca38332a5d9866f71e3230c754d6b439db67",
      "parents": [
        "c7bd0d0adcec731e61ffbef47747803f7ca089b7",
        "6f285fa91efeb5e65d6218d3cb5b52ec17ad9752"
      ],
      "author": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Wed Aug 31 13:51:37 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 31 13:51:37 2016 +0000"
      },
      "message": "Merge \"java.security.Principal: add default method Principal#implies\""
    },
    {
      "commit": "c7bd0d0adcec731e61ffbef47747803f7ca089b7",
      "tree": "aab400477b78f6fedba1eda296c50fad422b1e71",
      "parents": [
        "d53ae2c2850f79d2721243781a0e527786157fe0",
        "7cdfa7499aeca0fceb17ff871d85d0f8435131f4"
      ],
      "author": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Wed Aug 31 13:50:22 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 31 13:50:23 2016 +0000"
      },
      "message": "Merge \"java.security.SecretKey: now extends from Destroyable\""
    },
    {
      "commit": "d53ae2c2850f79d2721243781a0e527786157fe0",
      "tree": "bf8dc2739ff29ffd812f6f6c569f806524591da9",
      "parents": [
        "9484bff017a5a919f31e3ee945430b86cc8c6609",
        "71b95041d6c7a6dd85ab75a2bba5143dfc5278aa"
      ],
      "author": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Wed Aug 31 12:24:48 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 31 12:24:48 2016 +0000"
      },
      "message": "Merge \"java.security: update java.security.KeyStore to jdk8u60\""
    },
    {
      "commit": "a480f7fe28ef059b82491f52dcc69934322ee5e2",
      "tree": "c06e2335a75c6a77350c7dccfa6a4b2927dd1e7f",
      "parents": [
        "9484bff017a5a919f31e3ee945430b86cc8c6609"
      ],
      "author": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Fri Aug 05 06:40:31 2016 -0700"
      },
      "committer": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Wed Aug 31 03:36:53 2016 -0700"
      },
      "message": "Separate advertiser from GATT client (1/4)\n\nBug: 30622771\nChange-Id: I08c0498f8a1ea04423d3e864e9a60c7c78f1dbad\n"
    },
    {
      "commit": "a8280a5d349a65d1323cffd540485498f276fd1e",
      "tree": "bbaf6dad3a1912fbd48bb06d8f97dc2db65c2007",
      "parents": [
        "cff3f7001c80b2ce54053f0e933a3d3cf5bd225e"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Aug 31 11:32:17 2016 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Aug 31 11:32:17 2016 +0100"
      },
      "message": "Fix receive timeout on LocalSocket\n\nThe receive timeout stopped being set incorrect due to commit\nc80af6d8. There is an associated CTS regression test in cts/.\n\nTest: Ran CTS test android.net.cts.LocalSocketTest\nBug: 31205169\nChange-Id: I99808478946f8eae502c49d2cb83465648b9c904\n"
    },
    {
      "commit": "9484bff017a5a919f31e3ee945430b86cc8c6609",
      "tree": "c7308ba1b940c5af31e329c684016ce58e3912bd",
      "parents": [
        "17f1fc6c76045e6fb8404150e63b4e6bd7368c71",
        "5a2297190a8fc617a7aa99aaf101961ccae62bde"
      ],
      "author": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Wed Aug 31 08:18:57 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 31 08:18:57 2016 +0000"
      },
      "message": "Merge \"java.security.cert: update classes in java.security.cert (part 2)\""
    },
    {
      "commit": "17f1fc6c76045e6fb8404150e63b4e6bd7368c71",
      "tree": "568b88647f97799f7fc5ae7230732a9c39dcecae",
      "parents": [
        "ed4b31f9e11dd59521b806235046c5c6acdd1168",
        "feee33ce2c8d966e65f7094b836eca374b026b10"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Aug 30 22:29:05 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 30 22:29:05 2016 +0000"
      },
      "message": "Merge \"Fix google-explicit-constructor warnings in soundpool.\"\nam: feee33ce2c\n\nChange-Id: Id3cf418900b7eb3ac2e3d94f674f4ed6f624ba27\n"
    },
    {
      "commit": "feee33ce2c8d966e65f7094b836eca374b026b10",
      "tree": "e4c9f651feef9d0d45f44c6bf48c8999a0b209c4",
      "parents": [
        "cfc9f5d03d47c11fa29846822706a8bbd9d76503",
        "ae1aadc04f9cee280c3c328a533e2ceeb4b71d47"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Aug 30 22:21:34 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 30 22:21:34 2016 +0000"
      },
      "message": "Merge \"Fix google-explicit-constructor warnings in soundpool.\""
    },
    {
      "commit": "ed4b31f9e11dd59521b806235046c5c6acdd1168",
      "tree": "c64dfb09a3a353d93af556a0c003a3a3e804d8a5",
      "parents": [
        "033101bb99669de6bad4c3dd2f3b605301aed338",
        "cfc9f5d03d47c11fa29846822706a8bbd9d76503"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Aug 30 20:37:41 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 30 20:37:41 2016 +0000"
      },
      "message": "Merge \"Fix google-explicit-constructor warnings in core/jni.\"\nam: cfc9f5d03d\n\nChange-Id: Ia0378869ca5896734d5dfbdddf937b2b6dc25dbf\n"
    },
    {
      "commit": "cfc9f5d03d47c11fa29846822706a8bbd9d76503",
      "tree": "6ab136d1e0fa7fe85e5c2ef6fddf024ce8d2f096",
      "parents": [
        "cff3f7001c80b2ce54053f0e933a3d3cf5bd225e",
        "a6543289f56a939fd2e3c6a471f25f3459074277"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 30 20:30:46 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 30 20:30:46 2016 +0000"
      },
      "message": "Merge \"Fix google-explicit-constructor warnings in core/jni.\""
    },
    {
      "commit": "71b95041d6c7a6dd85ab75a2bba5143dfc5278aa",
      "tree": "b3b548403a993f83a5120e170da5308b0126c8ee",
      "parents": [
        "e71ecb2c4df15f727f51a0e1b65459f071853e35"
      ],
      "author": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Thu Aug 25 15:06:25 2016 +0100"
      },
      "committer": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Tue Aug 30 19:57:43 2016 +0000"
      },
      "message": "java.security: update java.security.KeyStore to jdk8u60\n\nPulling upstream changes from OpenJDK version jdk8u60 for\njava.security.KeyStore.\n\n- New method getAttributes in KeyStore.Entry\n- New interface Attribute in KeyStore.Entry\n- New constructor specifying protection algorithm and protection parameters in\nKeyStore.PasswordProtection.\n- New getters for protection algorithm and protection parameters in\nKeyStore.PasswordProtection\n- In PrivateKeyEntry, SecretKeyEntry and TrustedCertificateEntry, new\nconstructor allowing to specify attributes, and corresponding getter\ngetAttributes.\n\nThis commit also contains cosmetic JavaDoc changes like\n- Use of @code in place of \u003ccode\u003e tags.\n- Tidied up casts/generics.\n\nThis completes the port to jdk8u60 for this class.\n\nChange-Id: Ifec9d07b8f6c367a6fa2672fd5c43747057336ad\nTest: make droid docs, vogar KS*{Entry,Password}*.java\nBug: 29631070\n"
    },
    {
      "commit": "6f285fa91efeb5e65d6218d3cb5b52ec17ad9752",
      "tree": "5b5ffc22e6087202c3268ddeb3abf3a2a038cdc9",
      "parents": [
        "43ec5716aa16bf0441a0c8eff9200adca13297ae"
      ],
      "author": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Tue Aug 30 19:26:17 2016 +0100"
      },
      "committer": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Tue Aug 30 19:26:17 2016 +0100"
      },
      "message": "java.security.Principal: add default method Principal#implies\n\nGiven a Subject, Principal#implies returns true iff the principal\nis one of the subject\u0027s principals.\n\nBug: 29631070\nTest: make droid docs, vogar PrincipalTest.java\nChange-Id: Ic24ca4bc26e29abdb67481af8255b8b1683a6f3a\n"
    },
    {
      "commit": "7cdfa7499aeca0fceb17ff871d85d0f8435131f4",
      "tree": "73297710ed1273f2d77752bce6af31ac5c693922",
      "parents": [
        "43ec5716aa16bf0441a0c8eff9200adca13297ae"
      ],
      "author": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Tue Aug 30 18:44:11 2016 +0100"
      },
      "committer": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Tue Aug 30 18:44:11 2016 +0100"
      },
      "message": "java.security.SecretKey: now extends from Destroyable\n\nAlso:\n- added comments\n- replace \u003ccode\u003e by @code tags\n\nThis completes the port of SecretKey to jdk8u60.\n\nBug: 29631070\nTest: make droid docs\nChange-Id: Id3604c1e62855d9fa9bf02a704c79c6d2131b006\n"
    },
    {
      "commit": "033101bb99669de6bad4c3dd2f3b605301aed338",
      "tree": "ae8778d0c4b8b02e7123efccc2023bc19624394c",
      "parents": [
        "6a80a4b05acacd3fd07583a3bb6185e9770215eb",
        "cff3f7001c80b2ce54053f0e933a3d3cf5bd225e"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Aug 30 14:33:29 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 30 14:33:29 2016 +0000"
      },
      "message": "Merge \"Track libcore java.lang.reflect API changes\"\nam: cff3f7001c\n\nChange-Id: Ie68db07c1211f161d7757186ff5ffadd506deef6\n"
    },
    {
      "commit": "cff3f7001c80b2ce54053f0e933a3d3cf5bd225e",
      "tree": "2da2633f754d8c7ff747b8f48d8f33b73a797c91",
      "parents": [
        "21e0701f76678d69ccbae325ba353bb1297072db",
        "2cc1eed17442ea0a7c8ec29ca038b9b4687e40d4"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Aug 30 14:26:34 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 30 14:26:34 2016 +0000"
      },
      "message": "Merge \"Track libcore java.lang.reflect API changes\""
    },
    {
      "commit": "2cc1eed17442ea0a7c8ec29ca038b9b4687e40d4",
      "tree": "2da2633f754d8c7ff747b8f48d8f33b73a797c91",
      "parents": [
        "21e0701f76678d69ccbae325ba353bb1297072db"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Aug 22 18:41:52 2016 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Aug 30 12:08:10 2016 +0100"
      },
      "message": "Track libcore java.lang.reflect API changes\n\nThe modifications to Class / Field affect the .txt file\nfor no good reason: the use of a different generic\nvariable name results in changes because the tools think\nmethods have been added / removed when they haven\u0027t.\n\nThe only interface change from upstream included is adding\n\"extends AnnotatedElement\" to GenericDeclaration. All (platform)\nsubclasses already did implement this interface. App classes may\nbe affected but only if they do not currently implement those\nmethods and they are somehow called.\n\nBug: 28666126\nTest: cts ran for libcore (libcore, harmony_java_lang, org)\nChange-Id: Ice5afb80834d7f7a4d23dade21a1590c6b323ed8\n"
    },
    {
      "commit": "6a80a4b05acacd3fd07583a3bb6185e9770215eb",
      "tree": "6f959744ffbaf4bd85ce2b3a6b32e728d819e8be",
      "parents": [
        "8efb84e3e0b66696c45adb1faa0fe1e6f75f22c3"
      ],
      "author": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 20:02:50 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 20:15:59 2016 -0700"
      },
      "message": "DO NOT MERGE Revert \"Add Bluetooth toggle prompts - framework\"\n\nThis reverts commit 6bc2a92a5983e971ab9a04301fe4070e5b1f9179.\n\nChange-Id: Ib576085fe190942891480524eb367a94a387a11c\n"
    },
    {
      "commit": "8efb84e3e0b66696c45adb1faa0fe1e6f75f22c3",
      "tree": "53ef4ac0901027ffca5abdffc616d52b61d08ddd",
      "parents": [
        "b0b6afc248307f0d2eec0e003e47a051a25da093"
      ],
      "author": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 20:02:26 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 20:15:48 2016 -0700"
      },
      "message": "DO NOT MERGE Revert \"Add WiFi toggle prompts - framework\"\n\nThis reverts commit 40f8b9251831c5f009fd476b1a3d216e126d3ef0.\n\nChange-Id: I23e8b6ac97d8853c271429fc13fbfa313717a95a\n"
    },
    {
      "commit": "a619ec70cf765d9166f0862e74653711b87307b3",
      "tree": "4ba6f1bcb2df2627fac64cc8ea269d32c04909ca",
      "parents": [
        "c4c4a1e76e4de30a43c3396d3e0b55209666346d"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Aug 29 14:52:43 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Aug 29 14:56:58 2016 -0700"
      },
      "message": "Fix google-explicit-constructor warnings in libs/hwui.\n\n* Add explicit keyword to conversion constructors,\n  or add NOLINT for implicit converters.\nBug: 28341362\nTest: build with WITH_TIDY\u003d1\n\nChange-Id: Id8ca42433a4fc3652e4cb13787c4cb169f20d9a9\n"
    },
    {
      "commit": "ae1aadc04f9cee280c3c328a533e2ceeb4b71d47",
      "tree": "215eb3fc70800d22dba2e516479abb770fe753e8",
      "parents": [
        "c4c4a1e76e4de30a43c3396d3e0b55209666346d"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Aug 29 14:53:50 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Aug 29 14:53:50 2016 -0700"
      },
      "message": "Fix google-explicit-constructor warnings in soundpool.\n\n* Add explicit keyword to conversion constructors.\nBug: 28341362\nTest: build with WITH_TIDY\u003d1\n\nChange-Id: Id1183b2929242cdf1fd0a1558d0e70194a1de9bb\n"
    },
    {
      "commit": "bd6b663b470e9b2687ebec7dc5142ee78ac28268",
      "tree": "f6bf73b782b7ff0251aec3ad6e77b2d5f0d77af7",
      "parents": [
        "c4c4a1e76e4de30a43c3396d3e0b55209666346d"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Aug 29 14:47:52 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Aug 29 14:47:52 2016 -0700"
      },
      "message": "Fix google-explicit-constructor warnings in media/mca.\n\n* Add explicit keyword to conversion constructors.\nBug: 28341362\nTest: build with WITH_TIDY\u003d1\n\nChange-Id: Ia820e0a82df4bf74e5846917f6148849aed6ddc0\n"
    },
    {
      "commit": "a6543289f56a939fd2e3c6a471f25f3459074277",
      "tree": "ffda701baecad2c47de61a1a24b51b4876525213",
      "parents": [
        "c4c4a1e76e4de30a43c3396d3e0b55209666346d"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Aug 29 14:46:35 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Aug 29 14:46:35 2016 -0700"
      },
      "message": "Fix google-explicit-constructor warnings in core/jni.\n\n* Add explicit keyword to conversion constructors.\nBug: 28341362\nTest: build with WITH_TIDY\u003d1\n\nChange-Id: I6125b7b761cb26831d42aabf10870ed68f0bf092\n"
    },
    {
      "commit": "b0b6afc248307f0d2eec0e003e47a051a25da093",
      "tree": "b5304fc9040cfb72bdfc8f393866d53ae2fd70aa",
      "parents": [
        "bb205d5e3e2a8878295ed18c656ec55e90dd288b",
        "521c66e73cbd48b11c2fe4b28ffcf4279acb045c"
      ],
      "author": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 20:02:48 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 29 20:03:22 2016 +0000"
      },
      "message": "Merge changes from topic \u0027wifi-aosp-master\u0027 into stage-aosp-master\n\n* changes:\n  NetworkSelectionStatus: Fix copy constructor\n  Deprecate QNS network disable reason BAD_LINK\n  [NAN] API changes/fixes addressing apilint issues\n  [NAN] Add method to ConfigRequest to determine if non-default\n  [NAN] Simplify publish/subscribe configuration - merge match filters\n  [NAN] Udpate NAN API documentation, clean-up visibility\n  [NAN] Do not expose WifiManager.isNanSupported as new API\n  [NAN] Update finalize to check and warn user if resources not freed\n  [NAN] Fix bad merge use rethrowFromSystemServer\n  Add Log.wtf when transitionTo is used improperly\n  Ensure BSSIDs are correctly aged out in settings view\n  [NAN] Provide calling package name to service\n  Add WiFi toggle prompts - framework\n  Reenable the unit tests for StateMachine\n  Remove WiFi related methods from NetworkManagementService\n  Don\u0027t pull in external/junit through mockito\n  WifiConfiguration: Expose NetworkSelectionStatus strings\n  Add Bluetooth toggle prompts - framework\n  [NAN] Add LV utilities (TLV with T size of 0).\n  [NAN] Fix TlvElement member names - reflect public access.\n  TetherUtil: Use ConnectivityManager for tethering\n  [NAN] TLV utilities iterator - throw correct exception\n  [NAN] Modify arguments from \"array, length\" to \"array\"\n  [NAN] NAN System Api: RTT\n  Properly disable WiFi tethering\n  [NAN] Provide inteface MAC address to app.\n  [NAN] Add (T)LV validation testing\n  Add IPv6 tethering coordinator\n  Stop listening for WiFi interface status changes\n  [NAN] Add validity checks for service name\n  [NAN] Fix assumption about Strings containing single-byte characters.\n  [NAN] NAN data-path API: network specifier\n  DO NOT MERGE StateMachine: remove final from SendMessage\n  wifi: allow config of default+verbose ring buffers\n  Don\u0027t save the anonymous identity for EAP-SIM/AKA/AKA-Prime\n  Add a WifiScanner API to listener for ongoing scans\n  Fix invitation request from persistent GC\n  SettingsBackupAgent: Remove redundant size parameter\n  WifiConfiguration: Make NetworkSelectionStatus public\n  Use WifiManager for wifi backup/restore\n  Fix race conditions between Tethering and TetherInterfaceStateMachine\n  WifiManager: Add new API to restore old backup data\n  Tethering: Own WiFi tethering state and lifetime\n  IpConfigStore: Changes for parsing old wifi backup\n  WifiManager: Add new API\u0027s for backup/restore\n  XmlUtils: Add missing readThisByteArrayXml method\n  Use an ArrayMap instead of HashMap to track tether interfaces\n  Consolidate cleanup logic in TetherInterfaceSM.TetheredState\n  Annotate TetherInterfaceStateMachineTest for APCT\n  Rely on Tethering mutex for TetherInterfaceSM\n  Rename TetherInterfaceSM to TetherInterfaceStateMachine\n  [NAN] Add retry count for transmitting L2 NAN messages\n  Remove dead code from TetherInterfaceSM\n  Remove transient StartingState from TetherInterfaceSM\n  Expand test coverage of TetherInterfaceSM\n  Add demonstration unittest for TetherInterfaceSM\n  Extract TetherInterfaceSM to its own class.\n  Make Tethering.TetherInterfaceSM more self contained\n  WifiManager: add WIFI_MODE_NO_LOCKS_HELD\n  Create frameworks-base-testutils lib\n  Clean up class members in Tethering.TetherInterfaceSM\n  Move android.net.util.IpUtilsTest into a util/ directory\n  Fix trivial warnings in Tethering.java\n  Fix some trivial warnings in WifiP2pDevice.java\n  [NAN] Add support for NAN RTT.\n  [NAN] Remove OnNanDown notification from API\n  Remove unused method from NetworkManagementService\n  WifiConfiguration: Add new selection disable reasons\n  [NAN] Add type and nullability annotations. Update hide annotation.\n  [NAN] Add master switch to enable/disable usage of NAN APIs.\n  [NAN] Re-factor connect/config flow\n  [NAN] Refactor session lifecycle to clarify API \u0026 eliminate race conditions\n  [NAN] Removed NAN event registration - dispatch all callbacks.\n  [NAN] Consolidate publish/subscribe callback sets into single set\n  [NAN] Replace session callback configuration control\n  [NAN] Expose match style configuration as public API.\n  [NAN] API cleanup - rename FLAGS.\n  [NAN] Renamed listeners to callback per API guidelines\n  [NAN]: API update - consolidate Puslish|Subscribe Data+Subscribe -\u003e Config\n  NAN: Support multiple instantiation per UID - introduce a client ID.\n"
    },
    {
      "commit": "bb205d5e3e2a8878295ed18c656ec55e90dd288b",
      "tree": "f8305f70e70c75b7c1220c5442976dbdeae8407e",
      "parents": [
        "f897e1c3b644803059711d0e14b97c1952713fc0",
        "21e0701f76678d69ccbae325ba353bb1297072db"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Mon Aug 29 18:44:28 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 29 18:44:28 2016 +0000"
      },
      "message": "Merge \"Fixed statuses on Battery Saver column.\"\nam: 21e0701f76\n\nChange-Id: I4125ff3ad049ef2717fe12ba7ca62d99bf9bd3c5\n"
    },
    {
      "commit": "21e0701f76678d69ccbae325ba353bb1297072db",
      "tree": "abea8c7552b78f3deb1785808b653da296eb0b4c",
      "parents": [
        "c4c4a1e76e4de30a43c3396d3e0b55209666346d",
        "bd1a93a721e8a5242470d8981b4ea42855e0f179"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Mon Aug 29 18:32:27 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 29 18:32:27 2016 +0000"
      },
      "message": "Merge \"Fixed statuses on Battery Saver column.\""
    },
    {
      "commit": "bd1a93a721e8a5242470d8981b4ea42855e0f179",
      "tree": "163b57a6ca18baa0bc23813d882b080678b4d2af",
      "parents": [
        "e71ecb2c4df15f727f51a0e1b65459f071853e35"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Thu Jul 14 11:04:49 2016 -0700"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Mon Aug 29 11:27:16 2016 -0700"
      },
      "message": "Fixed statuses on Battery Saver column.\n\nBUG: 30139400\n\nChange-Id: I1798607af13c9be5e1f21212fd7078f7152562bd\n(cherry picked from commit 9e325706f42a1dc48abe80a24323fae4579ab033)\n"
    },
    {
      "commit": "521c66e73cbd48b11c2fe4b28ffcf4279acb045c",
      "tree": "7f5c516ecd5eab3db2228911f3b74c167ed915e5",
      "parents": [
        "22de5aaca9b3d976d3f3cdf8b0a02f3b3ccb6d99"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Thu Aug 25 19:47:06 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:57 2016 -0700"
      },
      "message": "NetworkSelectionStatus: Fix copy constructor\n\nAdd couple of missing elements in the NetworkSelectionStatus copy constructor.\n\nBUG: 31102798\nChange-Id: Ie5f3719b94acf021d4ae2756afd635388640168c\n(cherry picked from commit 699680b6b4fb923e4129d678013e3fbbc0421eaa)\n"
    },
    {
      "commit": "22de5aaca9b3d976d3f3cdf8b0a02f3b3ccb6d99",
      "tree": "d5f806bfaf0d0cff423e11a48223d3bc36f11941",
      "parents": [
        "b81c35f54b2d4ab7f8d971f5c3718b1fed3a12c0"
      ],
      "author": {
        "name": "Randy Pan",
        "email": "zpan@google.com",
        "time": "Wed Jul 27 13:20:51 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:57 2016 -0700"
      },
      "message": "Deprecate QNS network disable reason BAD_LINK\n\nWifiNetworkAgent#unwanted no longer disables the network.\n\nBug: 28558417\nChange-Id: I2e7ed99ae4cb952f124c673376d967eeee2b4ece\n(cherry picked from commit 4156d615707a7aa27ecaf55c889824fd025a75b5)\n"
    },
    {
      "commit": "b81c35f54b2d4ab7f8d971f5c3718b1fed3a12c0",
      "tree": "72d52fac7346bd8c0976dd111e34f505f82026be",
      "parents": [
        "30a472e6b3bbb71537d75dcc906e8e7c8105ac1d"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Mon Aug 22 11:27:57 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:56 2016 -0700"
      },
      "message": "[NAN] API changes/fixes addressing apilint issues\n\nBug: 30983968\nChange-Id: I2189442755380ad5d04f80bcb5978ca0c28e6420\n(cherry picked from commit 9825309424cab3a3efabac0bde79b3c1419f9be9)\n"
    },
    {
      "commit": "30a472e6b3bbb71537d75dcc906e8e7c8105ac1d",
      "tree": "ca3db15ca8bf95fe078c8c7b705caaade5e5589a",
      "parents": [
        "b6701faaf0a742d91e12eb5658c355225d263afc"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Thu Aug 18 16:51:50 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:56 2016 -0700"
      },
      "message": "[NAN] Add method to ConfigRequest to determine if non-default\n\nTo be used in permission check.\n\nBug: 27696149\nChange-Id: I5be5aed93c556cf24b596bd2a7c5672502f84d74\n(cherry picked from commit 8266b3f876e6b96ac0f18216b2011b03a0504a23)\n"
    },
    {
      "commit": "b6701faaf0a742d91e12eb5658c355225d263afc",
      "tree": "2e3948bfccef67ad70614f2f51a83f117ab30bee",
      "parents": [
        "b0214c4cd56e26a26c2bec61c287fc008ed3e551"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Thu Aug 18 15:38:29 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:55 2016 -0700"
      },
      "message": "[NAN] Simplify publish/subscribe configuration - merge match filters\n\nMerge Tx/Rx match filters into single Match filter configuration. Only\na single filter can be used at a time (either Tx or Rx).\n\nBug: 30948496\nChange-Id: I32a9a0306dfd08295bc63145bccfe3739862f17d\n(cherry picked from commit 6007681b19510d2a739ab45c1754d869f8f15e72)\n"
    },
    {
      "commit": "b0214c4cd56e26a26c2bec61c287fc008ed3e551",
      "tree": "b6e918dc896aaec26ea5d2afa501defddb407b4c",
      "parents": [
        "28035d98f0c57867709c2304b6f1a13b4d634bab"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Thu Aug 18 09:55:31 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:55 2016 -0700"
      },
      "message": "[NAN] Udpate NAN API documentation, clean-up visibility\n\nChange-Id: I951340eebab35c10efe98dab86b58fe8efada169\n(cherry picked from commit 2e37b06dde2dff019b9143fc6b61021dab79bda3)\n"
    },
    {
      "commit": "28035d98f0c57867709c2304b6f1a13b4d634bab",
      "tree": "af736629aa83464f77a993a07566aa17ccc8a287",
      "parents": [
        "fd11ec15760354cbe92d0650c1551d8783a52679"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Tue Apr 19 10:55:56 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:54 2016 -0700"
      },
      "message": "[NAN] Do not expose WifiManager.isNanSupported as new API\n\nThe WifiManager.isXxxSupported() only functions if HAL is enabled\nand seems to be a duplicate of:\n\nPackageManager.hasSystemFeature(PackageManager.FEATURE_WIFI_NAN)\n\nBug: 28251988\nChange-Id: I8f410def6f0bd3d3fc0926072ab66acce52a0e14\n(cherry picked from commit a3264c4e3d08d38b08ab0c1c92341cb9cc8f29f8)\n"
    },
    {
      "commit": "fd11ec15760354cbe92d0650c1551d8783a52679",
      "tree": "6d892af7548b9d0bce4b3a83340cde718fdebaa0",
      "parents": [
        "fc3c0a0582da7253c22016bc7a8e71434b061677"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Thu Aug 11 14:23:23 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:54 2016 -0700"
      },
      "message": "[NAN] Update finalize to check and warn user if resources not freed\n\nUse CloseGuard to check that disconnect() is called to free the resources\nallocated by connect(). finalize() will still call disconnect() but now\nalso print out errors (if StrictMode enabled for feature).\n\nBug: 28068773\nChange-Id: I5f5847c0261ef9f79a21fdb935509a85761591cc\n(cherry picked from commit 9d55649613f6ea9926c6e6222965178e91cb501b)\n"
    },
    {
      "commit": "fc3c0a0582da7253c22016bc7a8e71434b061677",
      "tree": "a93666a67a1abe9ffaa4ef7adc08002252443e75",
      "parents": [
        "07e317c3cd9fe38954813b75ac582dd64f0c41f1"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Tue Aug 16 11:54:49 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:53 2016 -0700"
      },
      "message": "[NAN] Fix bad merge use rethrowFromSystemServer\n\nAdded \u0027throw\u0027 to the \u0027e.rethrowXXX()\u0027. Not needed but seems\nto be the accepted style.\n\nChange-Id: I75e42d68ee6092699a55e26ee05151373139606d\n(cherry picked from commit cb34ec8f3a8dd40f7c49181b008de7314735ca66)\n"
    },
    {
      "commit": "07e317c3cd9fe38954813b75ac582dd64f0c41f1",
      "tree": "2fa854ae3f9190c8464ebbc65e7a994290251c9f",
      "parents": [
        "18af49395c18ce58f76cb137ec6981bd615d5719"
      ],
      "author": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Thu Aug 11 11:05:03 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:53 2016 -0700"
      },
      "message": "Add Log.wtf when transitionTo is used improperly\n\nUsing transitionTo in exit/enter (except in the terminal state) is\ndocumented as undefined behavior and may cause unexpected results.\nThe current implementation appears to finish the current transition and\nthen transition to the new target state.\n\nTEST\u003dflash and play with the phone, no sign of immediate WTFs\n\nChange-Id: I38a34b85c43d53c51514339587fc1269a069a454\n(cherry picked from commit 8d3ed21583a8d83047cee1735cf669e131809e73)\n"
    },
    {
      "commit": "18af49395c18ce58f76cb137ec6981bd615d5719",
      "tree": "c6fccdae56b4508383b1c39702cef875f2378f6b",
      "parents": [
        "4503dc6fbaafab5341b91116f552f666d2f9b532"
      ],
      "author": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Wed Aug 10 13:49:21 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:52 2016 -0700"
      },
      "message": "Ensure BSSIDs are correctly aged out in settings view\n\nWhen verbose logging is on, recent BSSIDs are displayed under the\nnetwork. This ensures that the BSSIDs are aged out after a period of\ntime instead of based on a fixed size LRU cache. This prevents BSSIDs\nthat are no longer present from appearing in the results.\n\nFIXED\u003d30711015\nTEST\u003dsetup two APs, observe both BSSIDs in settings, turn off one,\n     observe it disappearing after a short period of time.\n\nChange-Id: Id2b2ccd0899eae8d4e2e1c2b3ae9409136a8c948\n(cherry picked from commit b744d6e865e4141cd19cdf279f75f30c3d6590af)\n"
    },
    {
      "commit": "4503dc6fbaafab5341b91116f552f666d2f9b532",
      "tree": "907771a189d137dc2d39188a39d43431a733fbc5",
      "parents": [
        "40f8b9251831c5f009fd476b1a3d216e126d3ef0"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Thu Aug 11 09:31:21 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:52 2016 -0700"
      },
      "message": "[NAN] Provide calling package name to service\n\nUseful for permission checks.\n\nBug: 30000323\nChange-Id: I8c7f06cff346437aa24ca5da9822cbd7b20c59c4\n(cherry picked from commit 7531a28e2611039a8120305c14a96b8c61fff563)\n"
    },
    {
      "commit": "40f8b9251831c5f009fd476b1a3d216e126d3ef0",
      "tree": "9b09ffb797d16edfaf1d5e2ab14df6d77f78858b",
      "parents": [
        "009ae995828c8951242533b20e5f7d6e514a8c1a"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Jul 26 18:23:01 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:51 2016 -0700"
      },
      "message": "Add WiFi toggle prompts - framework\n\nIf permission review is enabled toggling WiFi on or off\nresults in a user prompt to collect a consent. This applies\nonly to legacy apps, i.e. ones that don\u0027t support runtime\npermissions as they target SDK 22.\n\nbug:28715749\n\nChange-Id: I020601e208c0736005bcabc7b7b77b96eee45b03\n(cherry picked from commit d3663c04a721e0848dd3e9179c84ba585d91839d)\n"
    },
    {
      "commit": "009ae995828c8951242533b20e5f7d6e514a8c1a",
      "tree": "b6fd38ef56a5930512157dda9571bd730fb0cb04",
      "parents": [
        "5de073a6b0d08f7bca33ea9e944379042d734d75"
      ],
      "author": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Tue Aug 09 13:33:20 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:51 2016 -0700"
      },
      "message": "Reenable the unit tests for StateMachine\n\nIn order to make the tests run a few methods must be made public so that\nthey can be called from a class loaded by a different class loader.\n\nFixed: 28217358\nChange-Id: I98ce1e952a78528ae6ebd3a0e843c9ddfe937337\n(cherry picked from commit 36afe5b5cc000620d77150437ba21503c44c87eb)\n"
    },
    {
      "commit": "5de073a6b0d08f7bca33ea9e944379042d734d75",
      "tree": "8656105d957131706c40c7a53adef28fc9040d39",
      "parents": [
        "079b2f342cbcd40532d9c7f7f0e82e0d0e06c81e"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Tue Aug 02 11:38:57 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:50 2016 -0700"
      },
      "message": "Remove WiFi related methods from NetworkManagementService\n\nThese are no longer necessary, since WiFi manages its own details.\n\nBug: 30041228\nChange-Id: Ia3824da43367ae74d3f3a204318cfe5470d74957\nTest: Compiles\n(cherry picked from commit 212b95f587f4af637fb2429f29f7d0add1bd251f)\n"
    },
    {
      "commit": "079b2f342cbcd40532d9c7f7f0e82e0d0e06c81e",
      "tree": "d9757791d4a8fd4248674c7aeafe417fd3c7f28a",
      "parents": [
        "47fb68bd24ada11cb5f3b2f987134fa2ce3ee1dc"
      ],
      "author": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Thu Jul 28 17:04:38 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:50 2016 -0700"
      },
      "message": "Don\u0027t pull in external/junit through mockito\n\nandroid-support-test provides a different version of junit\n\nFIXED\u003d30481239\n\nChange-Id: I6d8f52d5f82b4c9905da8cc4a6ca79216eba9e26\n(cherry picked from commit d3868cfc63cd814e43367586f5706f39ec1cd5a9)\n"
    },
    {
      "commit": "47fb68bd24ada11cb5f3b2f987134fa2ce3ee1dc",
      "tree": "eba9da3dd2753c525b0244674786bdbd1e90b678",
      "parents": [
        "6bc2a92a5983e971ab9a04301fe4070e5b1f9179"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Thu Jul 28 10:13:21 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:49 2016 -0700"
      },
      "message": "WifiConfiguration: Expose NetworkSelectionStatus strings\n\nMake the status/disable reason string arrays public to be used in\nXmlUtil for restoring of data.\n\nBUG: 30448209\nChange-Id: If8201df9397edcc4251e5b6aa4d613212fb576ad\nTEST: Unit tests\n(cherry picked from commit 23173a2efa45e5159a9b958e31cf345f8f0c2347)\n"
    },
    {
      "commit": "6bc2a92a5983e971ab9a04301fe4070e5b1f9179",
      "tree": "ce9d4558a5e882d53c97a25dd9d335e8cb5b91e6",
      "parents": [
        "0e70bdd7a59f536618a8d6644abd6b0e2e9d0748"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Jun 29 17:31:44 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:49 2016 -0700"
      },
      "message": "Add Bluetooth toggle prompts - framework\n\nIf permission review is enabled toggling bluetoth on or off\nresults in a user prompt to collect consent. This applies\nonly to legacy apps, i.e. ones that don\u0027t support runtime\npermissions as they target SDK 22.\n\nAlso added a configuration resource which controls whether\npermission review mode is enabled. By default it is not and\nan OEM can change this via an overlay. For now we also keep\nthe old mechanism to toggle review mode via a build property\nwhich is still used and will be removed when clients have\ntransitioned.\n\nbug:28715749\n\nPartial cherry-pick of core/res/res/values/{config,symbols}.xml only\nChange-Id: I94c5828ad6c8aa6b363622a26ff9da4fc2e2fac7\n(cherry picked from commit ac69be543f89ea6e9a27204492e0a170d9b3450e)\n"
    },
    {
      "commit": "0e70bdd7a59f536618a8d6644abd6b0e2e9d0748",
      "tree": "4b2f8f6f5db8403345b608600e293d18d2c2964d",
      "parents": [
        "2b1e7eabfcb33cc164fdb80ed0a71ed39ed1e392"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Mon Jul 18 13:43:17 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:48 2016 -0700"
      },
      "message": "[NAN] Add LV utilities (TLV with T size of 0).\n\nNAN uses LV (not TLV). Expose an LV variant of TLV to make API\ncleaner.\n\nBug: 30096512\nChange-Id: I74b4c514d50f1df5750b521bd68a5e2d832d92c3\n(cherry picked from commit 009b1fcb85ab8f8eb4ab5f3e125127b449df77cb)\n"
    },
    {
      "commit": "2b1e7eabfcb33cc164fdb80ed0a71ed39ed1e392",
      "tree": "10ddadc0494c2b6a8c9cf55fcdf00b36d261e438",
      "parents": [
        "090e9de6481866912effd84b5ea145c6fb9a04e1"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Mon Jul 18 11:39:28 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:48 2016 -0700"
      },
      "message": "[NAN] Fix TlvElement member names - reflect public access.\n\nBug: 30096512\nChange-Id: Ic2ab61e891bead6f6e8f13d9ac311ead8fecba5b\n(cherry picked from commit e40b4d344e7e4529016fefe9f06f478504949706)\n"
    },
    {
      "commit": "090e9de6481866912effd84b5ea145c6fb9a04e1",
      "tree": "ce478ebacf99b6309f53334a03663a548ece4d1d",
      "parents": [
        "c579d20618d21b4e66775fa06d5aad49c6254232"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Wed Jul 13 19:36:03 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:47 2016 -0700"
      },
      "message": "TetherUtil: Use ConnectivityManager for tethering\n\nIn the past, enabling the SoftAP would cause tethering to happen because\nof some unfortunate side effects.  This is no longer the case, and\nusing WifiManager for this purpose is not a good idea.\n\nBug: 30147602\nTest: Can toggle tethering on/off via all of settings, quick settings,\n      and quick quick settings.\n\nChange-Id: Iebbfc6c48b3e8e3fa52d235594ded3502f5801a3\n(cherry picked from commit 26bd4efcaaad4a866310d6421909645e81167d1f)\n"
    },
    {
      "commit": "c579d20618d21b4e66775fa06d5aad49c6254232",
      "tree": "04b0c333474899077d8e3c397db41305b8106882",
      "parents": [
        "ee58a6828511df3eda59051b882834a8e0260d3b"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Mon Jul 18 10:37:20 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:47 2016 -0700"
      },
      "message": "[NAN] TLV utilities iterator - throw correct exception\n\nMake sure that iterator.next() validates that next element exists -\notherwise throw the exception specified by the interface.\n\nBug: 30096512\nChange-Id: I327da433e3f1181e272c81ee503cbe8aab323f7e\n(cherry picked from commit 3e5ac12302a78216e706be239dceb5175646bea0)\n"
    },
    {
      "commit": "ee58a6828511df3eda59051b882834a8e0260d3b",
      "tree": "72c69e2fec41bee58398f9e085ee98b9913640bb",
      "parents": [
        "44cb6ef1defbf164fe28338cee428abc72f765e5"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Fri Jul 15 15:28:39 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:47 2016 -0700"
      },
      "message": "[NAN] Modify arguments from \"array, length\" to \"array\"\n\nArrays carry their own lengths. There\u0027s no need to provide mechanism\nto \u0027shave\u0027 the array - could be done explicitly by caller if needed.\n\nBug: 29617160\nChange-Id: Ib135aa04145f400163cd1a8908dfca4590b4480d\n(cherry picked from commit 0a5b7efcb20d2a57c990f11469580edb41a976d6)\n"
    },
    {
      "commit": "44cb6ef1defbf164fe28338cee428abc72f765e5",
      "tree": "8095efe3c5aa597a617c92a9790cb2422172bb67",
      "parents": [
        "05f86d1eec26b588caf45dbfb5a412176428e0a7"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Thu Jul 14 13:27:58 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:46 2016 -0700"
      },
      "message": "[NAN] NAN System Api: RTT\n\nModify visibility of startRanging [NAN RTT] to SystemApi. Matches the\nvisibliity of the RttManager API.\n\nChange-Id: Ia92de9885d0b38dfce74484f437bd122dd53cbf6\n(cherry picked from commit ab9ef45971fc41bc078ad1362845309ef02f62f9)\n"
    },
    {
      "commit": "05f86d1eec26b588caf45dbfb5a412176428e0a7",
      "tree": "182eaa011ace20cdbfa39f18761fd622b6108e43",
      "parents": [
        "2d3face59a6c7cc4e3e8651545302f0fb836c011"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Wed Jul 13 18:57:34 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:46 2016 -0700"
      },
      "message": "Properly disable WiFi tethering\n\nWhen Tethering.stopTethering(\u003cwifi\u003e) is called, we set\nmWifiTetheringRequested to false and request the AP be torn down.\nPreviously, we would discard WIFI_AP_STATE_CHANGED_ACTION Intents,\nbecause mWifiTetheringRequested was set to false.  This would in\nturn cause us to leave tethering enabled, because we only tear down\ntethering upon noticing that the interface is going down\n(as signalled by WifiManager via this Intent).\n\nIn the past, this was covered up because we would tear down tethering\nwhen the interface was taken down.  Now that we rely on SoftApManager\nto notify us of AP state, we need to pay very close attention to what\nis being said about the state.\n\nBug: 30124308\nTest: Can toggle tethering on and off reliably on shamu, bullhead,\n      angler with no SIM.\n\nChange-Id: If46a8ee11cf4c07c5cc336523f5e5f00273500ec\n(cherry picked from commit e52b24a0c52c6e29ea99760c920724f4143ac605)\n"
    },
    {
      "commit": "2d3face59a6c7cc4e3e8651545302f0fb836c011",
      "tree": "3a68c8968e42bb704bd4cc7b60fef351226208ea",
      "parents": [
        "6060d858784b335f0d32d06f747e255f3a0cb416"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Thu Jul 07 15:07:38 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:45 2016 -0700"
      },
      "message": "[NAN] Provide inteface MAC address to app.\n\nExpose NAN discovery interface MAC address to app. Required\nto enable OOB discovery with other NAN functionality\n(e.g. data-path).\n\nBug: 30000035\nChange-Id: Id3c336a61a36522d7011557c805bc3c5307747a1\n(cherry picked from commit d097f8a4e520378b9e15f294e773b033ea920268)\n"
    },
    {
      "commit": "6060d858784b335f0d32d06f747e255f3a0cb416",
      "tree": "ed10b99102a2aa53f297213afbf4537107a816c7",
      "parents": [
        "f834ddaf286b000d8ed1abe05033d311cd467e5b"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Thu Jul 07 13:50:29 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:45 2016 -0700"
      },
      "message": "[NAN] Add (T)LV validation testing\n\nTest for validity of a (T)LV. Used in construction of publish and\nsubscribe configuration (both Tx and Rx filters).\n\nBug: 30007730\nChange-Id: Ibf2179121d45c582bb054c06ec2a765ed0927040\n(cherry picked from commit c13b9f6b7d132e06e09b8604b095bdf59ec42307)\n"
    },
    {
      "commit": "f834ddaf286b000d8ed1abe05033d311cd467e5b",
      "tree": "e9975fe33f673c22a418bf3838c3a5dfa3cd4796",
      "parents": [
        "9c820cdebf1ee13e63d5706c71750df292bd5d3d"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Fri Jul 08 17:21:26 2016 +0900"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:44 2016 -0700"
      },
      "message": "Add IPv6 tethering coordinator\n\nAdd an IPv6TetheringCoordinator to TetheringMaster StateMachine, which\nreceives and processes NetworkState updates and passes the necessary IPv6\ninformation to the revelant TetherInterfaceStateMachine.\n\nAdd an IPv6TetheringInterfaceServices to TetherInterfaceStateMachine, which\nis responsible for adding local network routes and managing an IPv6\nRouterAdvertisementDaemon.\n\nPartial cherry-pick of only interfaceType method\nBug: 9580643\nChange-Id: I3eaae460b80752e2115359d7bde873a1e9ea515a\n(cherry picked from commit 1eb8c69bed1615e9502e94b1a676773ed28abfd9)\n"
    },
    {
      "commit": "9c820cdebf1ee13e63d5706c71750df292bd5d3d",
      "tree": "606911dc009e58754e0e5987a0402b0d18fb0dd6",
      "parents": [
        "01db037f455b7326e7952bb10d1deccebcfdd66c"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Fri Jul 08 09:33:50 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:44 2016 -0700"
      },
      "message": "Stop listening for WiFi interface status changes\n\nBug: 29931437\nTest: Can toggle tethering on and off repeated on shamu and an\n      upcoming device, both devices without a SIM.\nTest: Can toggle tethering on and off repeated on an\n      upcoming device with a T-Mobile SIM.\n\nChange-Id: I4986b1a5f6ae9b45010bd30639806f7ed63a605c\n(cherry picked from commit d30aaeb2148edbc0c7a97699a41c450c0591b983)\n"
    },
    {
      "commit": "01db037f455b7326e7952bb10d1deccebcfdd66c",
      "tree": "86221e438c3cde27d1a83d1e7e46f0cc135bb294",
      "parents": [
        "a77565d3fceeecc5ba3e59eea14a68845e6656b0"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Thu Jul 07 11:29:03 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:43 2016 -0700"
      },
      "message": "[NAN] Add validity checks for service name\n\nAdd checks that the service name is valid per spec (see bug for\ndetails). Stores internally as a byte[] for further propagation.\n\nBug: 30000106\nChange-Id: Iab413aba6755c97bfca0332d6eaa21f636e47f3f\n(cherry picked from commit adfbfb3a939f5662cb62cdd6b5d7cce5494a159e)\n"
    },
    {
      "commit": "a77565d3fceeecc5ba3e59eea14a68845e6656b0",
      "tree": "5bb1cadee9ea74d54549d2015ec050dd36f7d337",
      "parents": [
        "85b1a5b786925f6dcdbe4887af0779fb6860a1fa"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Mon Jun 27 17:25:29 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:43 2016 -0700"
      },
      "message": "[NAN] Fix assumption about Strings containing single-byte characters.\n\nCode assumed that each character was represented by a single byte.\n\nChange-Id: I92ea63f7273379ed1035f10c207d41e3e352bf38\n(cherry picked from commit 9a6161c61cb99460afa2c575f39c046391fa1c97)\n"
    },
    {
      "commit": "85b1a5b786925f6dcdbe4887af0779fb6860a1fa",
      "tree": "256a41627bb7008afbbb425c90cb58532b9621bd",
      "parents": [
        "934535bfe5d2cae68b06b2ca17c478028e62eb87"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Mon Jun 20 09:28:55 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:42 2016 -0700"
      },
      "message": "[NAN] NAN data-path API: network specifier\n\nAdds network specifier API. These are used in creating a connectivity\nrequest through ConnectivityManager. The network specifier provides\nmechanism to pass information to the network factory.\n\nBug: 26564277\nChange-Id: Ib5b88685e033a2957644f2e9cff39a70712ac7b5\n(cherry picked from commit 15849dc463278b44b191cd39aa7d31b0de9ee825)\n"
    },
    {
      "commit": "934535bfe5d2cae68b06b2ca17c478028e62eb87",
      "tree": "30bb76e0bf0e8ea394b475e2dc767f61bc9e4f8e",
      "parents": [
        "4e5e2d1e115e3315293f4c61317b5075145b76f9"
      ],
      "author": {
        "name": "Rebecca Silberstein",
        "email": "silberst@google.com",
        "time": "Fri May 13 13:57:34 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:42 2016 -0700"
      },
      "message": "DO NOT MERGE StateMachine: remove final from SendMessage\n\nRemoved final from public sendMessage and sendMessageDelayed commands to\nunblock unittest development.  This allows tests to verify calls to\nsendMessage and sendMessageDelayed.\n\nAlso fixed one checkstyle error with import order.\n\nBUG: 28593024\nChange-Id: I26e02c3d75049d385ded7891c4fc9967273c27be\nTEST: builds\nTEST: runtest frameworks-wifi\n(cherry picked from commit 0dbeb9e01a7041cbee61b8db7eb8d7562c2a3e6c)\n"
    },
    {
      "commit": "4e5e2d1e115e3315293f4c61317b5075145b76f9",
      "tree": "8a809707b2d50cf0d34c137608b3f0106f489394",
      "parents": [
        "0a9fb8093b61ff2c5b83f17575f0f9d23c8a58a3"
      ],
      "author": {
        "name": "mukesh agrawal",
        "email": "quiche@google.com",
        "time": "Wed Jun 22 15:26:10 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:41 2016 -0700"
      },
      "message": "wifi: allow config of default+verbose ring buffers\n\nAdd the ability to set the size of ring buffers for\nboth logging modes (default and verbose).\n\nBUG\u003d29225988\nTEST\u003dmanual\n\nManual test: add some logging statements to WifiLogger,\nverify that the default ring buffer size is 32KB,\nand that the verbose ring buffer size is 1024KB.\n\nChange-Id: I4b7bc0da41ba66d15f8e2b6f3c3d6d615691d507\n(cherry picked from commit 6ae111026c558daceb0c879368ca2fb385079769)\n(cherry picked from commit 6c7a90669ba72c55d5fc03a7b3ed4afadc575290)\n"
    },
    {
      "commit": "0a9fb8093b61ff2c5b83f17575f0f9d23c8a58a3",
      "tree": "f1004a20495a0df90c3372c3354012641c9fe10b",
      "parents": [
        "db81862be8112be0f14b1140dac580265c266861"
      ],
      "author": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Thu Jun 16 16:51:26 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon Aug 29 11:26:10 2016 -0700"
      },
      "message": "Don\u0027t save the anonymous identity for EAP-SIM/AKA/AKA-Prime\n\nwpa_supplicant can update this value when authenticating so if the\nframework writes it back the new value can be overwritten.\n\nTEST: Patch was validated by original reporter\n      Enterprise tests pass (b/29608435)\n\nChange-Id: If359b4ca625371fbdb68177c7cdb6498c3a519a1\nFixes: 28161335\n\n(cherry picked from commit a464a9fce8d160d2bbac3aeea3b23ecc7bb179a0)\n"
    },
    {
      "commit": "f897e1c3b644803059711d0e14b97c1952713fc0",
      "tree": "589db86a63850116beb35a42c92672db99ab7eb7",
      "parents": [
        "e33f3472f34f4c1fbc799942197dcc876fd2fcd2",
        "c4c4a1e76e4de30a43c3396d3e0b55209666346d"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Mon Aug 29 08:05:05 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 29 08:05:05 2016 +0000"
      },
      "message": "Merge \"Track getxattr API change\"\nam: c4c4a1e76e\n\nChange-Id: I66059536d5dfb0999743656f095d557ddf25ff70\n"
    },
    {
      "commit": "c4c4a1e76e4de30a43c3396d3e0b55209666346d",
      "tree": "57311e01ed9383f7943179303cd71bd2d963b965",
      "parents": [
        "e2732e5e384c0074e019db1019c5d8c9e68ec3fa",
        "c44a6e08e2e60672f83e50a7d6948bce1199f055"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Aug 29 07:57:29 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 29 07:57:30 2016 +0000"
      },
      "message": "Merge \"Track getxattr API change\""
    },
    {
      "commit": "c44a6e08e2e60672f83e50a7d6948bce1199f055",
      "tree": "57311e01ed9383f7943179303cd71bd2d963b965",
      "parents": [
        "e2732e5e384c0074e019db1019c5d8c9e68ec3fa"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Sat Aug 27 12:16:44 2016 +0100"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Sat Aug 27 12:16:44 2016 +0100"
      },
      "message": "Track getxattr API change\n\nBug: 30992227\nChange-Id: I788b3e51a536c7df7896f622038fe762f9848a2a\n"
    },
    {
      "commit": "e33f3472f34f4c1fbc799942197dcc876fd2fcd2",
      "tree": "ef1fab251f5b930bb5c03f3ad032fa2557d5baff",
      "parents": [
        "8c8bb250890f76ff2fb71d50aad213e19914aaf0",
        "e2732e5e384c0074e019db1019c5d8c9e68ec3fa"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Aug 26 23:53:25 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 26 23:53:25 2016 +0000"
      },
      "message": "Merge \"Fix misc-macro-parentheses warnings in hwui/tests.\"\nam: e2732e5e38\n\nChange-Id: If801b6f30a280ed8382c37765e2623eb3520ebcc\n"
    },
    {
      "commit": "e2732e5e384c0074e019db1019c5d8c9e68ec3fa",
      "tree": "d601c916fcff6dcb5a4d37fd385a530ac3f2c238",
      "parents": [
        "611e205bbe3e824460bc606c1adf454222d26abb",
        "474081eee117025d343372f6cad99562914bc387"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 26 23:45:07 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 26 23:45:07 2016 +0000"
      },
      "message": "Merge \"Fix misc-macro-parentheses warnings in hwui/tests.\""
    },
    {
      "commit": "474081eee117025d343372f6cad99562914bc387",
      "tree": "d601c916fcff6dcb5a4d37fd385a530ac3f2c238",
      "parents": [
        "611e205bbe3e824460bc606c1adf454222d26abb"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Aug 26 15:19:47 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Fri Aug 26 15:19:47 2016 -0700"
      },
      "message": "Fix misc-macro-parentheses warnings in hwui/tests.\n\n* Add parentheses around macro parameters.\nBug: 28705665\n\nTest: build with WITH_TIDY\u003d1\nChange-Id: I04f6dd1a180ed1191bf68b685facf6fb9020b4b0\n"
    },
    {
      "commit": "8c8bb250890f76ff2fb71d50aad213e19914aaf0",
      "tree": "d9a798f6e3aff1c8add44758b4e10a0fc6a7dd67",
      "parents": [
        "eefc0006015491821d6e9802ad41a61ab1e44457",
        "611e205bbe3e824460bc606c1adf454222d26abb"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Aug 26 20:25:13 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 26 20:25:13 2016 +0000"
      },
      "message": "Merge \"Replace libziparchive-host with libziparchive\"\nam: 611e205bbe\n\nChange-Id: I077a18bc3e6de20e0d4d6d6213de829ea47ffe43\n"
    },
    {
      "commit": "db81862be8112be0f14b1140dac580265c266861",
      "tree": "02e87e8717645a4b715529ae225af083760e4e5f",
      "parents": [
        "cf91215d0038ce18b53f0897e3b0790031a750d9"
      ],
      "author": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Wed Jun 22 16:14:58 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Fri Aug 26 13:22:51 2016 -0700"
      },
      "message": "Add a WifiScanner API to listener for ongoing scans\n\nBug: 29412469\nChange-Id: Id884851a12f95c89f928b81f5b5baa1f9f80fafe\n(cherry picked from commit 0a726ac690cf5418257cd7dcb176c71158687561)\n"
    },
    {
      "commit": "cf91215d0038ce18b53f0897e3b0790031a750d9",
      "tree": "10e167296e4c3c5b953fda07ac8df069f692ce4f",
      "parents": [
        "28be4fc0918498a99c3a6f64993e634b597ae5ce"
      ],
      "author": {
        "name": "daisuke niwa",
        "email": "daisuke.x.niwa@sonymobile.com",
        "time": "Fri Feb 27 09:30:02 2015 +0100"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Fri Aug 26 13:22:51 2016 -0700"
      },
      "message": "Fix invitation request from persistent GC\n\nWhen the device received the second invitation request\nfrom GC of the same PersistentGroup, the wifi framework\nprocesses \"sa\" as mOwner of WifiP2pGroup. At this point,\nif an invited group is persistent group, WifiP2pGroup can\u0027t\nknow whether \"sa\" is GC or GO yet. So the framework shouldn\u0027t\nprocess mOwner in the constructor.\n\nBug: 28715251\nChange-Id: Ie7065da0d6c978c3747ecbd6f728de87d9567009\n(cherry picked from commit af1eafd7b14f4cafd150d01d1d9d87470a4f3777)\n"
    },
    {
      "commit": "28be4fc0918498a99c3a6f64993e634b597ae5ce",
      "tree": "889e7719d410b1b8d5ca6e7be1df4bdcd5d66c08",
      "parents": [
        "311a72164b1060445b4067090c0bfd6615747093"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Fri Jun 17 16:51:36 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Fri Aug 26 13:22:50 2016 -0700"
      },
      "message": "SettingsBackupAgent: Remove redundant size parameter\n\nRemove the redundant size parameter in wifi backup/restore.\n\nBUG: 28967335\nChange-Id: I8ae9b2bf3bc8eb2dd1fd6dd87fe7b1dcf0712382\n(cherry picked from commit 5db739c67fb6c897da91ccdda5700ff660eea15d)\n"
    },
    {
      "commit": "311a72164b1060445b4067090c0bfd6615747093",
      "tree": "76cd42ee0e4425cd89868af35f0b157c9509f764",
      "parents": [
        "1bf869887d097d30d9e1232b54da310c509cde2f"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Fri Jun 10 14:26:31 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Fri Aug 26 13:22:49 2016 -0700"
      },
      "message": "WifiConfiguration: Make NetworkSelectionStatus public\n\nExpose a public constructor for |NetworkSelectionStatus| class and add a\nsetter in WifiConfiguration to set the |NetworkSelectionStatus| object.\nNeeded for config store persistence of this object.\n\nBUG: 29273147\nChange-Id: I9d9036928137760c4832567dd2b9d0fabc874940\nTEST: Unit tests\n(cherry picked from commit 6a89ee2d908add0d418995420b2d5eaebd90882f)\n"
    },
    {
      "commit": "1bf869887d097d30d9e1232b54da310c509cde2f",
      "tree": "ea4c5cdbbe01d963f3d32c565da35d5753f33543",
      "parents": [
        "e90e0a74adf33f3d0ed0f2617520ab72b3b5d624"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Thu Jun 02 09:22:55 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Fri Aug 26 13:22:48 2016 -0700"
      },
      "message": "Use WifiManager for wifi backup/restore\n\nUse the newly exposed WifiManager API\u0027s for backing up/restoring wifi\nrelated data. Remove all other wifi related logic from\nSettingsBackupAgent.\n\nThere are 3 API\u0027s exposed by WifiManager for backup/restore:\n1. retrieveBackupData - Data to be backed up in new format.\n2. restoreBackupData - Restore from the new backup data format.\n3. restoreOldBackupData - Restore from the old backup data format.\n\nBUG: 29075035\nBUG: 28967335\nChange-Id: I2dc379bc36af0a0824ed51fbe9aaebfd0a0114b0\n(cherry picked from commit 7a2491fa3b42dd22c829eea3690239545f16f124)\n"
    },
    {
      "commit": "e90e0a74adf33f3d0ed0f2617520ab72b3b5d624",
      "tree": "927b6fb2008c6bde554534c7c792e69915a9436c",
      "parents": [
        "f9f88b8b20f4fe4e0c7b2c22c1f0d4d0a36f2217"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Tue May 31 10:44:35 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Fri Aug 26 13:22:47 2016 -0700"
      },
      "message": "Fix race conditions between Tethering and TetherInterfaceStateMachine\n\nPreviously, Tethering would answer requests for current tethering state\nby calling methods on instances of TetherInterfaceStateMachine to build\nup that state. This is incorrect, since state queries can come in on an\narbitrary thread, independent of updates to the state machines\ninstances.\n\nFix this by:\n  - Altering TetherInterfaceStateMachine to push consistent state\n    snapshots to Tethering via notifyInterfaceStateChange()\n  - Storing the last state snapshot in Tethering.mTetherStates\n  - Removing public methods to query TetherInterfaceStateMachine state.\n  - Consistently synchronizing access to Tethering.mTetherStates\n\nBug: 29009601\nTest: WiFi Tethering continues to work, unittests continue to pass\n\nChange-Id: Ied334f5e8739bc3aff1b08a1079095b9cc2a7958\n(cherry picked from commit de4819dc82b734036b22416228327d2712e01884)\n"
    },
    {
      "commit": "f9f88b8b20f4fe4e0c7b2c22c1f0d4d0a36f2217",
      "tree": "8b941e2ed991806a8d1d4dd0144b91ef8791af52",
      "parents": [
        "cd0cfbbc61168b61360a6247b4a826494deb3912"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Thu Jun 02 09:22:20 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Fri Aug 26 13:22:47 2016 -0700"
      },
      "message": "WifiManager: Add new API to restore old backup data\n\nAdd a new API to restore the old backups containing the raw data from\nwpa_supplicant.conf \u0026 ipconfig.txt files.\nThis helps clean up all the existing wifi configuration parsing\nlogic from SettingsBackupAgent.\n\nBUG: 29075035\nChange-Id: I8c7b93ef7c9e2decc8e4f9e5d7038939cf0ef196\n(cherry picked from commit 08131593a864c23b8465d7ce05bf6c04564f7ba1)\n"
    },
    {
      "commit": "cd0cfbbc61168b61360a6247b4a826494deb3912",
      "tree": "ff073d37e896305a591fc4304c20da5fac67dfce",
      "parents": [
        "b6665deef283f9bb896fb038f7edbb6654900fde"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Tue May 31 14:43:08 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Fri Aug 26 13:22:46 2016 -0700"
      },
      "message": "Tethering: Own WiFi tethering state and lifetime\n\n- Add logic to Tethering to track whether the user has requested\n  tethering via WiFi.\n- Subscribe to intents regarding soft AP state to enable and\n  disable tethering when the AP comes up or goes down.\n- Refactor IP configuration logic to do configuration for WiFi\n  as well as USB.\n\nBug: 29054780\nTest: WiFi tethering continues to work on angler\n      Tethering related unittests continue to pass.\n\nChange-Id: I6eff2573ca3fd11fabcf138c468ba517ff2daf65\n(cherry picked from commit f1315c3cd6d77e812ae32fe038b4e8bf2e70d5bf)\n"
    },
    {
      "commit": "b6665deef283f9bb896fb038f7edbb6654900fde",
      "tree": "dcaf80f03e20ee91c92a219f14916f5146f8fb02",
      "parents": [
        "ffe0abf103ead1ca63ff9ae4807e0b973b1d39dc"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Wed Jun 01 17:51:28 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Fri Aug 26 13:22:45 2016 -0700"
      },
      "message": "IpConfigStore: Changes for parsing old wifi backup\n\nSome changes in IpConfigStore to parse old backup data. The old backup\ndata contained a raw byte dump of the ipconfig.txt. So, make changes in\nIpConfigStore to parse the inputstream from backup data into\nIpConfiguration objects.\n\nChanges in the CL:\n1. Make the |readIpAndProxyConfigurations| method static so that\nit can be used as a utility for parsing the backup data.\n2. Create a new version of |readIpAndProxyConfigurations| method to\naccept an input stream parameter.\n3. Make |writeConfig| method static so that it can be used for\nunit-testing the backup migration logic.\n\nBUG: 29075035\nChange-Id: Ic074952d9f9ef143089a371e6c527470cb1c229c\n(cherry picked from commit 06fe328c4fc8ea701932ef8c49012c177fcd058b)\n"
    },
    {
      "commit": "ffe0abf103ead1ca63ff9ae4807e0b973b1d39dc",
      "tree": "5e29249dfa7366e50080c99041bc58afcb5e93ee",
      "parents": [
        "820f592220bcc77c7a698f16e780583b1aacd23d"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Thu May 26 16:35:14 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Fri Aug 26 13:22:44 2016 -0700"
      },
      "message": "WifiManager: Add new API\u0027s for backup/restore\n\nExpose new API\u0027s to retrieve data to be backed up for Wifi\nconfigurations and to restore configurations from the data.\nBackupSettingsAgent will invoke these API\u0027s to backup/restore wifi\nsettings.\n\nBUG: 28967335\nChange-Id: I64e2f37a29d538d976bcc53dd2165653073b5862\n(cherry picked from commit 7bc0adbcedb758ea8e829a7a6c4df39dc5f4db49)\n"
    },
    {
      "commit": "820f592220bcc77c7a698f16e780583b1aacd23d",
      "tree": "26faf8dd5c20c300fed7a748e8b90d4beb5f2ba1",
      "parents": [
        "46c5e17aa884273057bf52b6fb49dfe7cdf97356"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Tue May 31 08:39:49 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Fri Aug 26 13:22:43 2016 -0700"
      },
      "message": "XmlUtils: Add missing readThisByteArrayXml method\n\nAdd the missing XML to byte array conversion method.\n\nWhile there,\n1. Fix writeByteArrayXml method to store the hex chars of the value.\n2. Cleanup couple of error strings in |readThisIntArrayXml| method.\n\nBUG: 29039296\nChange-Id: I6386f7df7c5c8b7bc3bc5a268196da617209cea9\nTEST: Compiles \u0026 manual testing.\n(cherry picked from commit 651209b597734d34768fbb69ebf982b483167fd5)\n"
    },
    {
      "commit": "46c5e17aa884273057bf52b6fb49dfe7cdf97356",
      "tree": "407139569819152eb53616bfbf533bf6c12a37c1",
      "parents": [
        "f972edcae7386d0dfc596aaa01e97d039dd1e0e2"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Thu May 26 15:57:29 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Fri Aug 26 13:22:42 2016 -0700"
      },
      "message": "Use an ArrayMap instead of HashMap to track tether interfaces\n\nSince the number of tetherable interfaces should be small (e.g. \u003c10),\nthe computational cost of a looking up objects in an ArrayMap is negligible,\nand the memory required is less than a HashMap.\n\nWhile here, remove some unused imports.\n\nChange-Id: I3fb7091cfb93697d2fc6388b843d60f7e8e7e1a6\nTest: Compiles.\n(cherry picked from commit 36f6f4e394750e4989d78f38a31ab8f2f66c07f7)\n"
    },
    {
      "commit": "f972edcae7386d0dfc596aaa01e97d039dd1e0e2",
      "tree": "e76e83b152ad000e4eab8de3ca1e28e3b405e872",
      "parents": [
        "9bc0df24827336889d3100542536595c2809c3ce"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Mon May 23 16:17:30 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Fri Aug 26 13:22:42 2016 -0700"
      },
      "message": "Consolidate cleanup logic in TetherInterfaceSM.TetheredState\n\nThis pushes all TetheredState cleanup logic into a single place.\nAll new unittests fail without the changes to TetherInterfaceSM.\n\nBug: 28915272\nTest: Compiles, unittests pass, WiFi tethering continues to work.\n\nChange-Id: Ia7bf210e00e9a54f2797baebc2e5333ce314c947\n(cherry picked from commit f54c5a932a9ac4a491ce775b21ff8288e40b5bad)\n"
    },
    {
      "commit": "9bc0df24827336889d3100542536595c2809c3ce",
      "tree": "aa36a5995ab132bdf98aff579ac361cf85ba34d2",
      "parents": [
        "afc46a7cbfec7150c35716b3aba0f20b08115e92"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Wed May 25 13:57:27 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Fri Aug 26 13:22:41 2016 -0700"
      },
      "message": "Annotate TetherInterfaceStateMachineTest for APCT\n\nAPCT needs a little additional magic to pick up JUnit4 tests.\n\nBug: 28958508\nTest: Tests continue to pass\n\nChange-Id: Ia45d91bb3b06e60e3a46ffe738d4468356e066b3\n(cherry picked from commit d905add4747d6060355c44dac1dce0eccd8014fb)\n"
    },
    {
      "commit": "afc46a7cbfec7150c35716b3aba0f20b08115e92",
      "tree": "40e99be6a93d279c0848e67ae8435785d2c2beef",
      "parents": [
        "4622c2d8b65e267ede15bffd903faaf917642d7e"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Mon May 23 13:58:00 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Fri Aug 26 13:22:40 2016 -0700"
      },
      "message": "Rely on Tethering mutex for TetherInterfaceSM\n\nStop passing Tethering\u0027s mutex into TetherInterfaceSM, and instead\nsimply rely on Tethering to acquire its own mutex when accessing\ninstances of TetherInterfaceSM.\n\nWhile here, remove some boolean fields (previously guarded by the mutex)\nwhich duplicate state information.\n\nChange-Id: Ie6b2128970981786a5d64fbf700c9f3d0a6721fb\nTest: Compiles, unittests pass, WiFi tethering continues to work.\nBug: 28910007\n(cherry picked from commit 4bc8d6b1ac0cb7d4192c829a44d988516f0adbdb)\n"
    },
    {
      "commit": "4622c2d8b65e267ede15bffd903faaf917642d7e",
      "tree": "607b84f69c737979b5975376fbb62436dc1b761f",
      "parents": [
        "7f41e09b08440e060b9d971f2fd70e09b40d6948"
      ],
      "author": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Mon May 23 16:40:10 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Fri Aug 26 13:22:39 2016 -0700"
      },
      "message": "Rename TetherInterfaceSM to TetherInterfaceStateMachine\n\nChange-Id: I324690b20f37cef6d58872e21b126a87d16f7ec8\n(cherry picked from commit c5baad02503d17a812ee1b44cc817c7e18935ff1)\n"
    },
    {
      "commit": "7f41e09b08440e060b9d971f2fd70e09b40d6948",
      "tree": "80eb6a3a35e3a143168835ac2cae4fc73e9483dc",
      "parents": [
        "179ea1b19c5a93b01a359d80d24286ed30ab6447"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Tue May 10 11:56:06 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Fri Aug 26 13:22:38 2016 -0700"
      },
      "message": "[NAN] Add retry count for transmitting L2 NAN messages\n\nBug: 28690414\nChange-Id: I0a253f6d7e0d15f4bb50cae685c5e2496682cd67\n(cherry picked from commit 93d3c79b54cbc913ff013102a408c6d330d6e73a)\n"
    },
    {
      "commit": "179ea1b19c5a93b01a359d80d24286ed30ab6447",
      "tree": "1f2eeaec4c4c49ad5445f4df7ae4768d3692a37f",
      "parents": [
        "0f6605721e1778f67c3bca08401dab95712a6f9a"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Fri May 20 17:51:27 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Fri Aug 26 13:22:38 2016 -0700"
      },
      "message": "Remove dead code from TetherInterfaceSM\n\nBecause no code outside of unittests ever issued these commands\nto TetherInterfaceSM, we never executed any of the removed codepaths.\n\nChange-Id: Id54f6e4eaeff8b3486cd78ddcc8c2a31011e6436\nTest: Compiles.  Unittests continue to pass.\nBug: 28798823\n(cherry picked from commit 2ea4166c74e70d3796b06c91f37eb03eecdf4773)\n"
    },
    {
      "commit": "0f6605721e1778f67c3bca08401dab95712a6f9a",
      "tree": "44798d8b643053d8e12cd3166b5890d4edbbd69c",
      "parents": [
        "279eca3de6f0eb3cd9a947991fe9d1d5d2cd13c1"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Fri May 20 16:44:04 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Fri Aug 26 13:22:37 2016 -0700"
      },
      "message": "Remove transient StartingState from TetherInterfaceSM\n\nThis state immediately switched into the TetheredState.\nWe can safely remove it at only the expense of a misleading state\nbroadcast.\n\nBug: 28798823\nTest: runtest frameworks-services -c\n    com.android.server.connectivity.tethering.TetherInterfaceSMTest\n\nChange-Id: I295d830dbdb11717d6e05161d97787ffe871beb3\n(cherry picked from commit 79e7fde00d74c2b6d329f7341029ea6b04ac2d97)\n"
    },
    {
      "commit": "279eca3de6f0eb3cd9a947991fe9d1d5d2cd13c1",
      "tree": "1836c89151105cb242ba76fcdea47975bc9fac77",
      "parents": [
        "08725a8c4042aee177774f6275811aa88f26ef30"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Fri May 20 13:23:10 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Fri Aug 26 13:22:36 2016 -0700"
      },
      "message": "Expand test coverage of TetherInterfaceSM\n\nAdd tests for most normal case operations:\n  - State machine startup.\n  - Entering a tethered state (as USB interface and not)\n  - Handling the first notification of an upstream interface\n  - Handle changes in upstream interface\n  - Handle unrequested teardown correctly\n\nBug: 28833951\nTest: These tests pass\n\nChange-Id: I2c0c9141bab9eaa92faec8de10fa653fb6236a74\n(cherry picked from commit 1b3830a2afab565a38572ac5c3238a171b2d56d4)\n"
    },
    {
      "commit": "08725a8c4042aee177774f6275811aa88f26ef30",
      "tree": "2d5853884aabfef002d13ff937e6196cf4b8aec5",
      "parents": [
        "48c7d465063f17da93f56d1dbda1efb3c8124c1e"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Wed May 18 16:32:44 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Fri Aug 26 13:22:35 2016 -0700"
      },
      "message": "Add demonstration unittest for TetherInterfaceSM\n\nProve that the concept works by writing a trivial test.\n\nBug: 28833951\nTest: `runtest frameworks-services -c\n  com.android.server.connectivity.tethering.TetherInterfaceSMTest`\n\nChange-Id: I51911cef7f0d5165221845070befd085497c21a6\n(cherry picked from commit 1cc6ffd2b32846996520fdf43125da3ec2bbdf49)\n"
    },
    {
      "commit": "48c7d465063f17da93f56d1dbda1efb3c8124c1e",
      "tree": "18c19a1b073245438ffb4bb05eb155389f0b6a8d",
      "parents": [
        "0cbdaccf7182ba0ff6011a9d0e952584007101e0"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Thu May 19 11:54:54 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Fri Aug 26 13:22:34 2016 -0700"
      },
      "message": "Extract TetherInterfaceSM to its own class.\n\nAttempt to keep all existing logic in place, except:\n\n + Marked a constructor as public, rather than default visible.\n + Added TAG, DBG, VDBG, and decoder ringer statics.\n + Moved static constants related to USB IPs into TetherInterfaceSM.\n\nBug: 28833951\nTest: WiFi Tethering works on angler.\n\nChange-Id: Id961220a9045832354cfe7381e5e9c0d8f54bf90\n(cherry picked from commit e3f93b02bdfde6fffd2bcbb2e1dc0785ce9f8d5a)\n"
    },
    {
      "commit": "0cbdaccf7182ba0ff6011a9d0e952584007101e0",
      "tree": "140088934c31c355eb47fa1672e404ac8fe6f645",
      "parents": [
        "55e92882fd18404a392040edf5e7471ae5127ae3"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Wed May 18 13:45:20 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Fri Aug 26 13:22:34 2016 -0700"
      },
      "message": "Make Tethering.TetherInterfaceSM more self contained\n\nRemove references from the class into the containing class:\n  - Move functionality to bring up a USB interface into the class itself.\n  - Extract an interface to wrap methods where TetherInterfaceSM was\n    calling into other private classes of Tethering\n  - Inject necessary dependendencies into TetherInterfaceSM instances.\n\nBug: 28833951\nTest: Compiles.\n\nChange-Id: Ic96947417cf8734072d027b0f1cba8a1a1be7a74\n(cherry picked from commit 9a509ca728fbe264e1a5a6ccd5b39ffc0b5eceb4)\n"
    },
    {
      "commit": "55e92882fd18404a392040edf5e7471ae5127ae3",
      "tree": "b0f6fb11613dc1f869f494a6e20e2004fdc2b4bc",
      "parents": [
        "346cceec259dab96443c761275a7ac296fff0f67"
      ],
      "author": {
        "name": "Rebecca Silberstein",
        "email": "silberst@google.com",
        "time": "Thu May 19 16:18:36 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Fri Aug 26 13:22:33 2016 -0700"
      },
      "message": "WifiManager: add WIFI_MODE_NO_LOCKS_HELD\n\nAdd a WifiLock mode representing that no locks are held (@hide).\n\nBug: 28669096\nChange-Id: I774d5ff226e7c639812f9735555c8ea1ed6444af\nTest: compiles and runtest frameworks-wifi\n(cherry picked from commit df547e04c332e51fff159efe8bf612053a80cf75)\n"
    },
    {
      "commit": "346cceec259dab96443c761275a7ac296fff0f67",
      "tree": "a25cc7924ccd39460a2e6d49175286a622234fe6",
      "parents": [
        "d2c287326f6af897715d12dc12d293cc151fe170"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Wed May 18 17:09:56 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Fri Aug 26 13:22:32 2016 -0700"
      },
      "message": "Create frameworks-base-testutils lib\n\nThis permits sharing of test components used in connectivity tests.\nRename the MockLooper to TestLooper, reflecting that it is not a\ntrue mock, but a manually controlled Looper for use in tests.\n\nBug: 28848133\nTest: Tests consuming this library pass.\n\nChange-Id: I57e11f9544c7bffdb02739ab2a921512b1b11874\n(cherry picked from commit 07630f6bd3dbc91e2622cedfd1a21822b5f1f4b5)\n"
    },
    {
      "commit": "d2c287326f6af897715d12dc12d293cc151fe170",
      "tree": "7bdfecfd354ba3992016f58113a540dc30aaa5fa",
      "parents": [
        "26072ea08203e14daa3b39c64d17b65e5c8026e1"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Tue May 17 13:41:56 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Fri Aug 26 13:22:31 2016 -0700"
      },
      "message": "Clean up class members in Tethering.TetherInterfaceSM\n\nMark final fields as such.\nGroup mutex protected fields together with the mutex that protects them.\nAlways access mutex protected fields under the mutex.\n\nBug: 28798823\nChange-Id: I96cdd5e063babb73e9f124107c5576c47801f34b\nTest: Compiles, Wifi tethering continues to work on angler.\n(cherry picked from commit 7b30e548a58ac96a23033db43c7aac79c86e938c)\n"
    },
    {
      "commit": "26072ea08203e14daa3b39c64d17b65e5c8026e1",
      "tree": "fd0139f7959bdd685e98b76da0c250e158e9e3d1",
      "parents": [
        "938f5e8dd3c767c0ee14924ed2568b4baf158da2"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Wed May 18 12:30:23 2016 -0700"
      },
      "committer": {
        "name": "Mitchell Wills",
        "email": "mwills@google.com",
        "time": "Fri Aug 26 13:22:30 2016 -0700"
      },
      "message": "Move android.net.util.IpUtilsTest into a util/ directory\n\nThis makes the file structure match the package declaration.\n\nBug: None\nChange-Id: Id6999e1857322f6dfd4caf805002398f08c378d6\nTest: Eclipse stops complaining.\n(cherry picked from commit 5b9903189c8a185efc8a2a64af34b7cde6f3bfe1)\n"
    }
  ],
  "next": "938f5e8dd3c767c0ee14924ed2568b4baf158da2"
}
