)]}'
{
  "log": [
    {
      "commit": "2279b2534272282a5b5152723235da397e49195c",
      "tree": "884c0a32e34c87d58e8f36329eb77d6dec7a8ab4",
      "parents": [
        "a1d67fb38ec02150d674bc3b8d8354b53417552b"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Jul 19 09:50:45 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Jul 19 10:06:40 2017 -0700"
      },
      "message": "frameworks/base: use proper nativehelper headers\n\nlibnativehelper exports headers under nativehelper. These were\navailable before incorrectly as global headers in order to give\naccess to jni.h.\n\nTest: modules using frameworks/base find headers\nBug: 63762847\nChange-Id: I0f9f231acdebe460f279135462f43d3e32eff64d\n"
    },
    {
      "commit": "b57dd722f1dc0663417da37d3a82f8283ad3c982",
      "tree": "49aec7f0e7b4bd68998dfcd78e83f9eb731f8ba1",
      "parents": [
        "aa31169804dffa3b36654ccffe67a53f6ff4cdaf",
        "a884d81e8675505d86569e034e83ca267c12a6a8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 24 10:01:32 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Sep 24 10:01:32 2015 -0700"
      },
      "message": "resolved conflicts for a884d81e to stage-aosp-master\n\nChange-Id: Ice485967fa96f13786024b6939b826638e906ff0\n"
    },
    {
      "commit": "76f6a86de25e1bf74717e047e55fd44b089673f3",
      "tree": "c07e5cd58bcdd692593d6b7cd3edd40344ee4973",
      "parents": [
        "24ff6823c411f794aceaae89b0b029fbf8ef6b29"
      ],
      "author": {
        "name": "Daniel Micay",
        "email": "danielmicay@gmail.com",
        "time": "Sat Sep 19 17:31:01 2015 -0400"
      },
      "committer": {
        "name": "Daniel Micay",
        "email": "danielmicay@gmail.com",
        "time": "Tue Sep 22 17:10:35 2015 -0400"
      },
      "message": "constify JNINativeMethod function pointer tables\n\nChange-Id: I4036c924958221cbc644724f8eb01c5de3cd7954\n"
    },
    {
      "commit": "44c02590374bda5928669be0d14110b12c271461",
      "tree": "619b4cf3ce45d7db81d65ea4719575e6be58f429",
      "parents": [
        "84c2744108506abf910fe41314a43e9ace7dd07a"
      ],
      "author": {
        "name": "Andrei Kapishnikov",
        "email": "kapishnikov@google.com",
        "time": "Mon Dec 22 12:40:48 2014 -0500"
      },
      "committer": {
        "name": "Andrei Kapishnikov",
        "email": "kapishnikov@google.com",
        "time": "Fri Jan 16 15:57:55 2015 -0500"
      },
      "message": "Do not throw NullPointerException from PacService\n\nDo not throw NullPointerException from PacService\nsince the calling client may not expect it and crash.\n\nFix of Bug 18818567\n\nChange-Id: Ic36e8a1ca13cdaa7f605b6ade9cc6783517cbf40\n"
    },
    {
      "commit": "6698749dd4d4d6513b26aa9071af290b956b68a7",
      "tree": "6c0716e521b60ff501f4aa4a3f7aff160578135f",
      "parents": [
        "36c7f4b67326bad547f16aa6e72140bd839ab28d"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Nov 20 11:41:21 2014 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Nov 20 11:47:40 2014 -0800"
      },
      "message": "Add appropriate casts for char16_t.\n\nC++11 defines a real char16_t, which is not implicitly convertible to\nuint16_t (and by extension jchar). Add casts as needed.\n\nBug: 18300613\nChange-Id: I00752002ef2e938bdb57f70947e8fd53ec103293\n"
    },
    {
      "commit": "577f48c1c9b0d41f0a48d9091f0248fdd960343f",
      "tree": "58a689e6b05c5b78b738a9d39786a3bec0870753",
      "parents": [
        "37079e29171df20b6355244882dce9d745da55db"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Nov 13 15:44:27 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Nov 13 15:44:27 2014 -0800"
      },
      "message": "Frameworks/base: Fix build\n\nFix a typo.\n\nChange-Id: Ida417c842563576b053d9f5553a2aa8d5862897c\n"
    },
    {
      "commit": "423ba098bd6ed9e90fa3f940b58c5c058c6cbee8",
      "tree": "322c55bc949858f36e60ed050747f62e4fdbc5b9",
      "parents": [
        "0626ec58243c9dc7f4812a453ef9456b1f7ff1f4"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 10 20:00:25 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Nov 13 15:25:34 2014 -0800"
      },
      "message": "Frameworks/base: Wall Werror in packages\n\nTurn on -Wall -Werror in packages/. Fix warnings.\n\nChange-Id: I4ec7256a7df46017e1895575719f2b5aca978bd0\n"
    },
    {
      "commit": "ff1d8a6635fb6441615778a47e2881129574a5b1",
      "tree": "d2f490ec6a546461eda288e4383a50796d68059c",
      "parents": [
        "34acb4c8d4abe1c4f580b85ddc84b18b7e38e417"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Nov 11 19:31:26 2014 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Nov 12 11:22:20 2014 -0800"
      },
      "message": "Move frameworks/base over to libc++.\n\nBug: 15193147\nChange-Id: I96109d2d383f0c8a4aaa611f29fcf887afb3c69e\n"
    },
    {
      "commit": "96132a190795b83c28a17e1007193702f638280d",
      "tree": "d90460a7eb3feee889205cd2f92fbac1c5484616",
      "parents": [
        "6b5beb318b439b0b3aeabf42401bfed63bfbe2e2"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue May 27 17:06:18 2014 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue May 27 17:06:18 2014 +0100"
      },
      "message": "Build PacProcessor for 64 bit.\n\nexternal/chromium-libpac can now build for 64 bit.\n\nChange-Id: I0bfd068ef4ea7d57686f11b79c32803e38bab719\n"
    },
    {
      "commit": "469417562473dbbe80ff8e5c2caf8b113e33f61e",
      "tree": "82b941bbe31583ee7052c1393ca699e7d8ed4f9d",
      "parents": [
        "ec71fed089965c4d731eaa90344849a1775f937a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 18 16:10:25 2014 -0700"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue May 27 11:56:22 2014 +0100"
      },
      "message": "PacProccesor: Only build for 32-bit\n\nPacProcessor relies on libpac from chromium, which is not built\nfor 64b right now.\n\n(cherry picked from commit f8749200c06a8714ffd46f5e2ec81be57ad4f7f4)\n\nChange-Id: Ic128e17b7437c130df29eeab3293b9c01f01d70b\n"
    },
    {
      "commit": "38250d9b845ff95f2abb7daa747e267cd0dba77d",
      "tree": "3c64e4743eac6e7995cf1c9dd055c542dfb45184",
      "parents": [
        "90840ec29dec173f5fbc8197bcf1889bde5bd262"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Thu Apr 17 18:14:50 2014 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Fri Apr 18 16:39:47 2014 -0700"
      },
      "message": "Use LOCAL_JNI_SHARED_LIBRARIES to install JNI libs.\n\nChange-Id: Ibef01983891377b859d28cff801f48ef5d8eabb2\n"
    },
    {
      "commit": "58f9a645e19eac39994279bace647dd78e2aedf6",
      "tree": "9ff040febfcb6216144d061c94344fb696a673d7",
      "parents": [
        "7cb1dfe690b2d700ce212712287dfd59c2c8e43f"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Mar 19 11:39:43 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Mar 19 11:39:43 2014 +0000"
      },
      "message": "PacProcessor should be 32 bit only.\n\nIt depends on external/v8, which isn\u0027t ready for 64 bit yet.\n\nChange-Id: Ibc9705665b81d3667826dedd6217f2eb6d451c81\n"
    },
    {
      "commit": "7a6af1c09306fa833d11f5ffd100eff7b1a35a4c",
      "tree": "52eb55f5ed0ecc7c2ab588847377680645b7fb06",
      "parents": [
        "0125ba70bb41406ed597002498823232c8b163b8"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Wed Aug 21 14:08:52 2013 -0400"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Thu Aug 22 15:46:11 2013 -0400"
      },
      "message": "Verify inputs to PAC resolving.\n\nThis verifies both the URL and host are valid before they are passed to the\njavascript for PAC.  This is to protect against injection attacks.\n\nBug: 10230771\nChange-Id: Ib1996181971a49ccd390f181ec3848124801e4d5\n"
    },
    {
      "commit": "9ced3cd9d6ea414523051ec872fffc68f5fdbf08",
      "tree": "22d49c8bde1a17da9c9ff1588a3af3e176d0173a",
      "parents": [
        "58514937628dfcf3b2949e4cbc45d5526ecb8019"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Mon Aug 12 16:42:38 2013 -0400"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Tue Aug 20 17:36:39 2013 -0400"
      },
      "message": "Change PacProcessor to Android Service\n\nThis switches the PacProcessor over to an Android Service.  The service\nis bound and unbound by the PacManager, which also adds it to the\nServiceManager, allowing for Context-Free access by the PacProxySelector\nin all DVMs.\n\nbug:10182711\nChange-Id: Id1ff7660be56e8976cdcccd76e041feb47a17a61\n"
    },
    {
      "commit": "602b232a06ede86999aa362a12eb28cbc782dc1d",
      "tree": "07a2168ba91425f81bd7ac9c9311adb78114cc13",
      "parents": [
        "55db1e1218971105e68ba9d451b2e0b1e9e5f9fb"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Wed Jul 03 17:04:33 2013 -0400"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Wed Aug 07 21:01:39 2013 -0400"
      },
      "message": "Add PAC File support for proxy configuration\n\nPAC (Proxy auto-config) files contain a single javascript function,\nFindProxyForURL(url, host).  It gets called to determine what proxy should be\nused for a specific request.\n\nThis adds PAC support to the system.  The ProxyProperties has been modified\nto hold the PAC file when one is present.  The Proxy method\nsetHttpProxySystemProperty has been modified to insert a PacProxySelector\nas the default ProxySelector when it is required.  This new ProxySelector\nmakes calls to the ConnectivityService to parse the PAC file.\n\nThe ConnectivityService and the WifiConfigStore have been modified to support\nsaving the extra PAC file data.\n\nThe ConnectivityService now has a class attached (PacProxyNative) that\ninterfaces to the native calls for PAC files.  The parsing of the PAC file\nis handled by libpac (which is being added to external/) which utilizes\nlibv8 to parse the javascript.\n\nAs a fallback to applications that don\u0027t use the java ProxySelector,  the proxy\nis setup to point to a local proxy server that will handle the pac parsing.\n\nbug:10182711\nChange-Id: I5eb8df893c632fd3e1b732385cb7720ad646f401\n"
    }
  ]
}
