)]}'
{
  "commit": "d32906c202db3b84151c310ecd89a07bb41208f7",
  "tree": "96f9d30087d29ed9c8e777883a8bb24d2a96c1a7",
  "parents": [
    "7933daec0a23366ef6a57aa1d7d5cbf3646a5943"
  ],
  "author": {
    "name": "Abodunrinwa Toki",
    "email": "toki@google.com",
    "time": "Thu Jan 18 04:34:44 2018 -0800"
  },
  "committer": {
    "name": "Abodunrinwa Toki",
    "email": "toki@google.com",
    "time": "Mon Jan 29 17:16:21 2018 -0800"
  },
  "message": "Introduce a TextClassifierManagerService.\n\nApps wanting to use a TextClassifier service (instead of an\nin-app-process TextClassifier) bind to this service. The service\nbinds to and reroutes calls to a configured system TextClassifierService.\n\nTextClassifierManagerService manages the lifecycle of the configured\nTextClassifierService and binds/unbinds to preserve system health.\n\nA configurable TextClassifierService extends TextClassifierService,\ndeclares an android.textclassifier.TextClassifierService intent, and\nrequires a permission that is only granted to the system so only the\nsystem may bind to it.\n\nThe TextClassifierManagerService implements a similar interface to\nTextClassifierService (i.e. ITextClassifierService) but doesn\u0027t have to.\nThis is done for simplicity sake and things may change in the future.\n\nThe configuration of the default service is in config.xml.\nOEMs may change this with a config overlay.\nIf no TextClassifierService is specified, the default in app process\nTextClassifierImpl is used.\n\nBug: 67609167\nTest: bit FrameworksCoreTests:android.view.textclassifier.TextClassificationManagerTest\nTest: tbd\nChange-Id: I8e7bd6d12aa1a772897529c3b12f47f48757cfe6\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "763d242a12f90bd7410a1c5059d64d8093ff4539",
      "old_mode": 33188,
      "old_path": "Android.bp",
      "new_id": "ad306cfad0142e93ab8865e185e7d14f9c04134c",
      "new_mode": 33188,
      "new_path": "Android.bp"
    },
    {
      "type": "modify",
      "old_id": "292ef5275aa466a08a98c9cc1fe691e6972d20b1",
      "old_mode": 33188,
      "old_path": "api/current.txt",
      "new_id": "56c0dc43367288121b52119903d7f313a3d5d405",
      "new_mode": 33188,
      "new_path": "api/current.txt"
    },
    {
      "type": "modify",
      "old_id": "663ad112280a4e2bed28424ff87c58e1421b3cca",
      "old_mode": 33188,
      "old_path": "api/system-current.txt",
      "new_id": "52612d52220bc7ce154f942d45434c9b3a7755bb",
      "new_mode": 33188,
      "new_path": "api/system-current.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "10bfe632450917a5c15e3e1685e05c734301808e",
      "new_mode": 33188,
      "new_path": "core/java/android/service/textclassifier/ITextClassificationCallback.aidl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d2ffe345ae381d89dfdf8cb19eb73fed1de7ff1a",
      "new_mode": 33188,
      "new_path": "core/java/android/service/textclassifier/ITextClassifierService.aidl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a9e0dde567738800a9ab066b8bf7f82544389794",
      "new_mode": 33188,
      "new_path": "core/java/android/service/textclassifier/ITextLinksCallback.aidl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1b4c4d10d4273ffc28c40e72e5e760bd492e700d",
      "new_mode": 33188,
      "new_path": "core/java/android/service/textclassifier/ITextSelectionCallback.aidl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6c8c8bc361270a03a0979065c473a23ba0eb5112",
      "new_mode": 33188,
      "new_path": "core/java/android/service/textclassifier/TextClassifierService.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "af55dcd0ed7251fb8fad6bcc06ff7a226255e9a8",
      "new_mode": 33188,
      "new_path": "core/java/android/view/textclassifier/SystemTextClassifier.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9fefe5d4176a3d2c378cfaa6e2e577cecb2bc2ad",
      "new_mode": 33188,
      "new_path": "core/java/android/view/textclassifier/TextClassification.aidl"
    },
    {
      "type": "modify",
      "old_id": "54e93d5afd880e273a8d65e2881b0f8181b5719a",
      "old_mode": 33188,
      "old_path": "core/java/android/view/textclassifier/TextClassification.java",
      "new_id": "a6a2a945e774359c1d6c51c9eea19a59cc8c2cb2",
      "new_mode": 33188,
      "new_path": "core/java/android/view/textclassifier/TextClassification.java"
    },
    {
      "type": "modify",
      "old_id": "d7b07761a65359b3822efbe9f38e775c1b1ec3dc",
      "old_mode": 33188,
      "old_path": "core/java/android/view/textclassifier/TextClassificationManager.java",
      "new_id": "300aef2d172e46c1137948aa6d7006502a2ee5f7",
      "new_mode": 33188,
      "new_path": "core/java/android/view/textclassifier/TextClassificationManager.java"
    },
    {
      "type": "modify",
      "old_id": "04ab4474a40cc629219ee26eaeb8de2ff76faea3",
      "old_mode": 33188,
      "old_path": "core/java/android/view/textclassifier/TextClassifier.java",
      "new_id": "5dd9ac62fbbd870489544dbe9c2650645b328201",
      "new_mode": 33188,
      "new_path": "core/java/android/view/textclassifier/TextClassifier.java"
    },
    {
      "type": "modify",
      "old_id": "6a44fb38ee13cbca937fba35b1c56f1a26f0274b",
      "old_mode": 33188,
      "old_path": "core/java/android/view/textclassifier/TextClassifierImpl.java",
      "new_id": "8f285bdf42d6b8ca80fa425c87002b6bc3ab25ba",
      "new_mode": 33188,
      "new_path": "core/java/android/view/textclassifier/TextClassifierImpl.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1bbb79845528b2c48544766199730c98aa5f4217",
      "new_mode": 33188,
      "new_path": "core/java/android/view/textclassifier/TextLinks.aidl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "dab1aefa353278ddecab4f994d52be1f9cf8eacf",
      "new_mode": 33188,
      "new_path": "core/java/android/view/textclassifier/TextSelection.aidl"
    },
    {
      "type": "modify",
      "old_id": "774d42db67a08c0a051a29027c56786eceb862e4",
      "old_mode": 33188,
      "old_path": "core/java/android/view/textclassifier/TextSelection.java",
      "new_id": "1c93be75a3a1c6af4bb30d568dbe91872e297c9c",
      "new_mode": 33188,
      "new_path": "core/java/android/view/textclassifier/TextSelection.java"
    },
    {
      "type": "modify",
      "old_id": "3bfa520cd9425318cfc77206893233531c0b7cc7",
      "old_mode": 33188,
      "old_path": "core/java/android/widget/SelectionActionModeHelper.java",
      "new_id": "3f5584e6d3fbccf517aaed68191a0add80d3dfce",
      "new_mode": 33188,
      "new_path": "core/java/android/widget/SelectionActionModeHelper.java"
    },
    {
      "type": "modify",
      "old_id": "2779cd6846d4ffde28c60e6f08fa5ca691687cce",
      "old_mode": 33188,
      "old_path": "core/res/AndroidManifest.xml",
      "new_id": "a2581fdd3033170ee61e6cdc692fc3113f46871a",
      "new_mode": 33188,
      "new_path": "core/res/AndroidManifest.xml"
    },
    {
      "type": "modify",
      "old_id": "38f890a1e95eb0b001993aee4badbe6492ccbee2",
      "old_mode": 33188,
      "old_path": "core/res/res/values/config.xml",
      "new_id": "0215e2156e0ff444c3cc6cd482c8a0273eb8819b",
      "new_mode": 33188,
      "new_path": "core/res/res/values/config.xml"
    },
    {
      "type": "modify",
      "old_id": "e8ab0be78b365415192c61aa507a16f077797e97",
      "old_mode": 33188,
      "old_path": "core/res/res/values/symbols.xml",
      "new_id": "ab2bad505bd3be1ecf8489aec52eda2a3e11b86a",
      "new_mode": 33188,
      "new_path": "core/res/res/values/symbols.xml"
    },
    {
      "type": "modify",
      "old_id": "8a81743c81543052b29a01050630bdb39d927ace",
      "old_mode": 33188,
      "old_path": "core/tests/coretests/src/android/view/textclassifier/TextClassificationTest.java",
      "new_id": "cf41eb89ba20e052789b2b3aad0fe7b2efe407d6",
      "new_mode": 33188,
      "new_path": "core/tests/coretests/src/android/view/textclassifier/TextClassificationTest.java"
    },
    {
      "type": "modify",
      "old_id": "e9202361c84ac26bac6c48d44a8a855f5e53d9c4",
      "old_mode": 33188,
      "old_path": "core/tests/coretests/src/android/view/textclassifier/TextSelectionTest.java",
      "new_id": "a6ea0211fbc03cc253d86cf4a65fd1ef6e0c12fa",
      "new_mode": 33188,
      "new_path": "core/tests/coretests/src/android/view/textclassifier/TextSelectionTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "853c7eb51b84cfb1e9ad3e168e2383799c68ad1a",
      "new_mode": 33188,
      "new_path": "services/core/java/com/android/server/textclassifier/TextClassificationManagerService.java"
    },
    {
      "type": "modify",
      "old_id": "f95c6f042fed4e9a026659d66a967e0da3085f4b",
      "old_mode": 33188,
      "old_path": "services/java/com/android/server/SystemServer.java",
      "new_id": "210fd473ccd45e30acabd586ca99732caccfc329",
      "new_mode": 33188,
      "new_path": "services/java/com/android/server/SystemServer.java"
    }
  ]
}
