)]}'
{
  "log": [
    {
      "commit": "6a34bb2d6a6cbc7a70bdf0c53d238dc28e0b1d58",
      "tree": "712a98d57ba64d4979ebf7f1f285c4c073ca487d",
      "parents": [
        "b43755be6e95b39619bb64b283710092468154cf"
      ],
      "author": {
        "name": "Joseph Wen",
        "email": "josephwen@google.com",
        "time": "Wed Feb 25 14:00:39 2015 -0500"
      },
      "committer": {
        "name": "Joseph Wen",
        "email": "josephwen@google.com",
        "time": "Tue Apr 07 16:57:40 2015 -0400"
      },
      "message": "Implement IntentFilter verification service.\n\nThis commit adds a verifier that verifies a host delegates permission for\nan app to handle Url for the host using the Statement protocol.\n\n- Implements the Statement protocol\n-- The protocol defines a file format that represents statements.\n-- The protocol defines where each asset type should put their statement\ndeclaration. For web asset, the statement file should be hosted at\n\u003cscheme\u003e://\u003chost\u003e:\u003cport\u003e/.well-known/associations.json.\n\n- Implements IntentFilterVerificationReceiver, an interface between\nStatementService and PackageManager. PackageManager will send a\nbroadcast with action Intent.ACTION_INTENT_FILTER_NEEDS_VERIFICATION.\nThe service will process the request and returns the results by calling\nPackageManager.verifyIntentFilter().\n\nTo verify an IntentFilter like this defined in Android app com.test.app\n\u003cintent-filter\u003e\n  \u003cdata android:scheme\u003d\"https\" /\u003e\n  \u003cdata android:host\u003d\"www.test.com\" /\u003e\n  \u003cdata android:pathPattern\u003d\".*\"/\u003e\n\u003c/intent-filter\u003e\n\nThe service will try to retrieve the statement file from\nhttps://www.test.com:443/.well-known/associations.json and try to find\na JSON object equivalent to\n{\u0027relation\u0027: [\u0027delegate_permission/common.handle_all_urls\u0027],\n \u0027target\u0027: {\u0027namespace\u0027: \u0027android_app\u0027,\n            \u0027package_name\u0027: \u0027com.test.app\u0027,\n            \u0027sha256_cert_fingerprints\u0027: [APP_CERT_FP]}}\nThe entry should have the correct relation, package name, and\ncertificate sha256 fingerprint.\n\nBecause this implementation will send a HTTP request for each host\nspecified in the intent-filter in AndroidManifest.xml, to avoid overwhelming\nthe network at app install time, we limit the maximum number of hosts we will\nverify for a single app to 10. Any app with more than 10 hosts in the\nautoVerify\u003dtrue intent-filter won\u0027t be auto verified.\n\nChange-Id: I787c9d176e4110aa441eb5fe4fa9651a071c6610\n"
    }
  ]
}
