)]}'
{
  "commit": "c4b8f36de5523366e354fc01b6cba81ad72f6423",
  "tree": "d412808b7ce7a9e695a9d19452febe109a9e222b",
  "parents": [
    "8e3b57aad55a06f05ae55c7a01667d1be35c34d7"
  ],
  "author": {
    "name": "Yohei Yukawa",
    "email": "yukawa@google.com",
    "time": "Thu Jun 30 09:32:54 2016 -0700"
  },
  "committer": {
    "name": "Yohei Yukawa",
    "email": "yukawa@google.com",
    "time": "Thu Jun 30 09:32:54 2016 -0700"
  },
  "message": "Remove InputContentInfo#requestPermission()\n\nIt turns out that requiring editor authors to call\nInputContentInfo#requestPermission() as needed is just confusing and can\ncause compatibility issues, because if an editor author forgot to call\nthat method then there would be no way for IME developers to prevent\npermission denial except for relaxing the default permission of the\nContentProvider just because of such an application. This is not what we\nwant to see.\n\nMy conclusion is that the system should automatically call\nInputContentInfo#requestPermission() (or do any equivalent operation)\nwhen InputConnection#INPUT_CONTENT_GRANT_READ_URI_PERMISSION is\nspecified, like we have done in Context#startActivity().\n\nWith this CL, the system automatically grants a temporary URI permission\nto the target application when the IME calls\nInputConnection#commitContent() with\nInputConnection#INPUT_CONTENT_GRANT_READ_URI_PERMISSION, and the\ntemporary permission will be revoked by any of the following events:\n - InputContentInfo#releasePermission() is explicitly called by the\n   target application.\n - The target application returned false in\n   InputConnection#commitContent().\n - All the InputContentInfo instances copied from the original one are\n   GC-ed.\n\nBug: 29450031\nBug: 29892936\nChange-Id: I37fb744e4d3d1c59177fb0a9be4ef5c325c9a39f\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c6316271c63652fa0243f426afdb465a5d3fdfe7",
      "old_mode": 33188,
      "old_path": "api/current.txt",
      "new_id": "a0304167582965685b0d8756a829211a5f5f4125",
      "new_mode": 33188,
      "new_path": "api/current.txt"
    },
    {
      "type": "modify",
      "old_id": "3fa518a43e49ff8e6b0ddb2613f6009b36f7cea8",
      "old_mode": 33188,
      "old_path": "api/system-current.txt",
      "new_id": "1a2097921a8c39f0219093600a4825720570cd1b",
      "new_mode": 33188,
      "new_path": "api/system-current.txt"
    },
    {
      "type": "modify",
      "old_id": "993f388f15abb6c07725af160ab8d5b249671d8b",
      "old_mode": 33188,
      "old_path": "api/test-current.txt",
      "new_id": "b1e8fae80f742506d303288a4b5c3ac55bf196ff",
      "new_mode": 33188,
      "new_path": "api/test-current.txt"
    },
    {
      "type": "modify",
      "old_id": "07910b60df3fd0b872149783057a36264de56348",
      "old_mode": 33188,
      "old_path": "core/java/android/view/inputmethod/InputConnection.java",
      "new_id": "ecfcbc5ee2fa983115146698bcbba874ef1b51c2",
      "new_mode": 33188,
      "new_path": "core/java/android/view/inputmethod/InputConnection.java"
    },
    {
      "type": "modify",
      "old_id": "9579bbf32835521a0ed61d28f0b25eb3b1a5478f",
      "old_mode": 33188,
      "old_path": "core/java/android/view/inputmethod/InputContentInfo.java",
      "new_id": "df206432ed7a3d01f8bd2d0ee24e891b6d54249d",
      "new_mode": 33188,
      "new_path": "core/java/android/view/inputmethod/InputContentInfo.java"
    },
    {
      "type": "modify",
      "old_id": "8abc8074b5acc376deff9976b0fdcc15c8d032e4",
      "old_mode": 33188,
      "old_path": "core/java/com/android/internal/inputmethod/IInputContentUriToken.aidl",
      "new_id": "c259348072c01fe1a326e7a03ba65e1ff093d1aa",
      "new_mode": 33188,
      "new_path": "core/java/com/android/internal/inputmethod/IInputContentUriToken.aidl"
    },
    {
      "type": "modify",
      "old_id": "9a09dcccd1a7b672f06a64cfea249097d8415ff2",
      "old_mode": 33188,
      "old_path": "core/java/com/android/internal/view/InputConnectionWrapper.java",
      "new_id": "15422b64b7171c033ae442ce6c5300a0e0261ba4",
      "new_mode": 33188,
      "new_path": "core/java/com/android/internal/view/InputConnectionWrapper.java"
    },
    {
      "type": "modify",
      "old_id": "3f4972babf6ef8fa8326e74f344f785692f2b3ea",
      "old_mode": 33188,
      "old_path": "services/core/java/com/android/server/InputContentUriTokenHandler.java",
      "new_id": "12e1d627df1a3edc338688950ef832c1db0ddb09",
      "new_mode": 33188,
      "new_path": "services/core/java/com/android/server/InputContentUriTokenHandler.java"
    },
    {
      "type": "modify",
      "old_id": "e0d89f2fe6d3da4a87a5a17d499033318ff1dbc6",
      "old_mode": 33188,
      "old_path": "services/core/java/com/android/server/InputMethodManagerService.java",
      "new_id": "2c228291e384c460ef3acd56b7a86f7a91a99272",
      "new_mode": 33188,
      "new_path": "services/core/java/com/android/server/InputMethodManagerService.java"
    }
  ]
}
