)]}'
{
  "commit": "1d99c391ecd30c27be2e8f61aa9ec64546d15d4b",
  "tree": "76e3378f4da2b13f1c6295d18570c7ff43173eb9",
  "parents": [
    "ab39cc5797ae7d2298b25f543cbb2e175356ebe7"
  ],
  "author": {
    "name": "Christopher Tate",
    "email": "ctate@google.com",
    "time": "Thu Dec 07 16:54:04 2017 -0800"
  },
  "committer": {
    "name": "Christopher Tate",
    "email": "ctate@google.com",
    "time": "Fri Dec 08 13:53:42 2017 -0800"
  },
  "message": "Cancel alarms \u0026 jobs when an app\u0027s data is cleared\n\nIn the same bit of code, fix a system restore issue:  in the\ncourse of setup + restore, we reestablish permission grants and\nnotification state up front for the to-be-restored app, and\nthen bring in its data.  However, a data wipe is part of the\nprologue for that data delivery -- so we were inadvertently\nunwinding the permission grants and notification state restore\nthat we\u0027d just performed.  Now, we distinguish the restore flow\nfrom other clear-data operations so we don\u0027t unwind that operation.\n\nFinally take the opportunity to elide a lot of copypasta code into\na single predicate-driven implementation.\n\nBug: 67508896\nBug: 69538432\nTest: atest android.app.cts.AlarmManagerTest\n\nChange-Id: I15c912c3c99645599ae9bd6fb7337fa86b4e5757\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "924137838ad434379b6000576c8ec85d7191913e",
      "old_mode": 33188,
      "old_path": "core/java/android/app/ActivityManager.java",
      "new_id": "7ab047df51375a9de073e5c83e2eba1682bb51d6",
      "new_mode": 33188,
      "new_path": "core/java/android/app/ActivityManager.java"
    },
    {
      "type": "modify",
      "old_id": "84c07ec7f45a1288163765fcfce7ec19563b82e7",
      "old_mode": 33188,
      "old_path": "core/java/android/app/IActivityManager.aidl",
      "new_id": "85bf6aa75f56cb820e53def6d571ddea81782820",
      "new_mode": 33188,
      "new_path": "core/java/android/app/IActivityManager.aidl"
    },
    {
      "type": "modify",
      "old_id": "bd0d853ce6984b390b67f01c4c5a000816b4b476",
      "old_mode": 33188,
      "old_path": "services/backup/java/com/android/server/backup/RefactoredBackupManagerService.java",
      "new_id": "1dba0529eaf4d1929eb3134fac8ee74608557b02",
      "new_mode": 33188,
      "new_path": "services/backup/java/com/android/server/backup/RefactoredBackupManagerService.java"
    },
    {
      "type": "modify",
      "old_id": "888dcd7e7a5ec5ae31cb3c564f2a5644b4c79c6a",
      "old_mode": 33188,
      "old_path": "services/backup/java/com/android/server/backup/restore/FullRestoreEngine.java",
      "new_id": "7efe5cadb5ccf3c7ffa9a0a32da66e956c82689c",
      "new_mode": 33188,
      "new_path": "services/backup/java/com/android/server/backup/restore/FullRestoreEngine.java"
    },
    {
      "type": "modify",
      "old_id": "22691bb60bfaa258ddd15cf39384dd8b7a6970d8",
      "old_mode": 33188,
      "old_path": "services/backup/java/com/android/server/backup/restore/PerformAdbRestoreTask.java",
      "new_id": "3dc242f1d48a3773f424aa1f483bc09ab02f3855",
      "new_mode": 33188,
      "new_path": "services/backup/java/com/android/server/backup/restore/PerformAdbRestoreTask.java"
    },
    {
      "type": "modify",
      "old_id": "5884dc536080ef26509e31059e9383f2121ed824",
      "old_mode": 33188,
      "old_path": "services/backup/java/com/android/server/backup/restore/PerformUnifiedRestoreTask.java",
      "new_id": "2db743020237aa68fceec81ee3a9bc1c503b56ad",
      "new_mode": 33188,
      "new_path": "services/backup/java/com/android/server/backup/restore/PerformUnifiedRestoreTask.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "dbff957a0da70d8ade37e2203f821dc49d4c2e1b",
      "new_mode": 33188,
      "new_path": "services/core/java/com/android/server/AlarmManagerInternal.java"
    },
    {
      "type": "modify",
      "old_id": "ca1524959358a034bd96417084e76126ad3af732",
      "old_mode": 33188,
      "old_path": "services/core/java/com/android/server/AlarmManagerService.java",
      "new_id": "ae4f0cef18b69cbbc56b814e2dddadc0a798895c",
      "new_mode": 33188,
      "new_path": "services/core/java/com/android/server/AlarmManagerService.java"
    },
    {
      "type": "modify",
      "old_id": "7b4703a4677ce6bcfb6eb200c6992a2aa2371251",
      "old_mode": 33188,
      "old_path": "services/core/java/com/android/server/am/ActivityManagerService.java",
      "new_id": "3bb439969eeba47325a69068bfc2d62cdfee246b",
      "new_mode": 33188,
      "new_path": "services/core/java/com/android/server/am/ActivityManagerService.java"
    },
    {
      "type": "modify",
      "old_id": "9bcf208ab3f040f9b3e32a13005794c64adb5338",
      "old_mode": 33188,
      "old_path": "services/core/java/com/android/server/job/JobSchedulerInternal.java",
      "new_id": "c97eeaf30ab371eb5f84671c10f2ca03d049a452",
      "new_mode": 33188,
      "new_path": "services/core/java/com/android/server/job/JobSchedulerInternal.java"
    },
    {
      "type": "modify",
      "old_id": "3f014b5508399bb3366b1b64cac14ff43c96f3c5",
      "old_mode": 33188,
      "old_path": "services/core/java/com/android/server/job/JobSchedulerService.java",
      "new_id": "d0ee91971f81f763a6a20baa87e251783713c020",
      "new_mode": 33188,
      "new_path": "services/core/java/com/android/server/job/JobSchedulerService.java"
    },
    {
      "type": "modify",
      "old_id": "a7cced75bfd68a7240fab68e503075e4b56ba16e",
      "old_mode": 33188,
      "old_path": "services/core/java/com/android/server/pm/PackageManagerShellCommand.java",
      "new_id": "2d82c469592e7b2d04e65dcd303284f4a83e4254",
      "new_mode": 33188,
      "new_path": "services/core/java/com/android/server/pm/PackageManagerShellCommand.java"
    },
    {
      "type": "modify",
      "old_id": "b979ff46702d5da8a1a8108c7c739c85a8e7161b",
      "old_mode": 33188,
      "old_path": "services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java",
      "new_id": "738257271ead45ea97d5dbf8833fe88224c51470",
      "new_mode": 33188,
      "new_path": "services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java"
    }
  ]
}
