)]}'
{
  "commit": "181fafaf48208978b8ba2022683ffa78aaeddde1",
  "tree": "7c062847d418415e28813e70aac53c8c47e4ff69",
  "parents": [
    "c01159bb00f7273f9b051dfbbe6bc10d54d3a846"
  ],
  "author": {
    "name": "Christopher Tate",
    "email": "ctate@google.com",
    "time": "Thu May 14 11:12:14 2009 -0700"
  },
  "committer": {
    "name": "Christopher Tate",
    "email": "ctate@google.com",
    "time": "Sun May 31 13:10:03 2009 -0700"
  },
  "message": "Retool the backup process to use a new \u0027BackupAgent\u0027 class\n\nBackups will be handled by launching the application in a special\nmode under which no activities or services will be started, only\nthe BackupAgent subclass named in the app\u0027s android:backupAgent\nmanifest property.  This takes the place of the BackupService class\nused earlier during development.\n\nIn the cases of *full* backup or restore, an application that does\nnot supply its own BackupAgent will be launched in a restricted\nmanner; in particular, it will be using the default Application\nclass rather than any manifest-declared one.  This ensures that the\napp is not running any code that may try to manipulate its data\nwhile the backup system reads/writes its data set.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4df6f8e59be2fcba9c92e26b62475434fe82233f",
      "old_mode": 33188,
      "old_path": "Android.mk",
      "new_id": "26bcb5c9482b2df76191ccaa8bdc1134f4ee6151",
      "new_mode": 33188,
      "new_path": "Android.mk"
    },
    {
      "type": "modify",
      "old_id": "f572a4d23e942e8fb66dd9942ece9c7a3faf6adb",
      "old_mode": 33188,
      "old_path": "api/current.xml",
      "new_id": "3e22a13f2d027160bca4cbaaf45d555f2c631c09",
      "new_mode": 33188,
      "new_path": "api/current.xml"
    },
    {
      "type": "modify",
      "old_id": "16f0a300eecbc1474a11559659d4d6f64988edfc",
      "old_mode": 33188,
      "old_path": "core/java/android/app/ActivityManagerNative.java",
      "new_id": "3d3d7d5fc9f40f0226aadefa9d26d0b64023b36b",
      "new_mode": 33188,
      "new_path": "core/java/android/app/ActivityManagerNative.java"
    },
    {
      "type": "modify",
      "old_id": "06e0a453b232f682edfcd630cba8030ace748474",
      "old_mode": 33188,
      "old_path": "core/java/android/app/ActivityThread.java",
      "new_id": "29e57cd9d17248c9538f25a635aabb7ab8601cc3",
      "new_mode": 33188,
      "new_path": "core/java/android/app/ActivityThread.java"
    },
    {
      "type": "modify",
      "old_id": "f24318585cb4e4dcf7dfa0c025450acac33689b9",
      "old_mode": 33188,
      "old_path": "core/java/android/app/ApplicationThreadNative.java",
      "new_id": "e28fd0f29070fbbbea454f599b2a4cf7240d73d0",
      "new_mode": 33188,
      "new_path": "core/java/android/app/ApplicationThreadNative.java"
    },
    {
      "type": "rename",
      "old_id": "50a5921c0421e4449a12cd8468ecfd5e5765a5de",
      "old_mode": 33188,
      "old_path": "core/java/android/backup/BackupService.java",
      "new_id": "997bfdc1965dde0ebdc150396d6bfbe6f3c422df",
      "new_mode": 33188,
      "new_path": "core/java/android/app/BackupAgent.java",
      "score": 66
    },
    {
      "type": "modify",
      "old_id": "d15a1544aef3247e26689a15bdb7449e6cf481f1",
      "old_mode": 33188,
      "old_path": "core/java/android/app/IActivityManager.java",
      "new_id": "c948aec964e57ac63a3d3c92a9b79bde78fb8df3",
      "new_mode": 33188,
      "new_path": "core/java/android/app/IActivityManager.java"
    },
    {
      "type": "modify",
      "old_id": "ec03d3a1f1f5315ce02b2a75c58fb6e2c6c40910",
      "old_mode": 33188,
      "old_path": "core/java/android/app/IApplicationThread.java",
      "new_id": "bca1fea150d4cace953bb127536885f1362b1cc7",
      "new_mode": 33188,
      "new_path": "core/java/android/app/IApplicationThread.java"
    },
    {
      "type": "rename",
      "old_id": "1bde8eac9bdb175c884ecd323cff23de6b1c1b82",
      "old_mode": 33188,
      "old_path": "core/java/android/backup/IBackupService.aidl",
      "new_id": "bb9f00830d8eda4c7f6d3573cda9e8f81f9051bd",
      "new_mode": 33188,
      "new_path": "core/java/android/app/IBackupAgent.aidl",
      "score": 94
    },
    {
      "type": "modify",
      "old_id": "cf22798507a8a7245fc5fe9f65787c037abdbb26",
      "old_mode": 33188,
      "old_path": "core/java/android/backup/IBackupManager.aidl",
      "new_id": "3468d70962c2068622ef55692ca3994ae3eff481",
      "new_mode": 33188,
      "new_path": "core/java/android/backup/IBackupManager.aidl"
    },
    {
      "type": "modify",
      "old_id": "ad022e760d3b74f7284dd09e3a2557a240394abc",
      "old_mode": 33188,
      "old_path": "core/java/android/content/pm/ApplicationInfo.java",
      "new_id": "f16eb74b6ff118d40f74f9b3726333603a578030",
      "new_mode": 33188,
      "new_path": "core/java/android/content/pm/ApplicationInfo.java"
    },
    {
      "type": "modify",
      "old_id": "ee20aeebb0a77536e5e747de0725405e6642903e",
      "old_mode": 33188,
      "old_path": "core/java/android/content/pm/PackageParser.java",
      "new_id": "36d154e7ebc0b945db57f53773a6062cbcac9737",
      "new_mode": 33188,
      "new_path": "core/java/android/content/pm/PackageParser.java"
    },
    {
      "type": "modify",
      "old_id": "36f7dfb6a49c809b8afbc85b0ac147d86cc976cf",
      "old_mode": 33188,
      "old_path": "core/res/AndroidManifest.xml",
      "new_id": "b105aaa14024827dadf84a016dbe7a99eeea0ebc",
      "new_mode": 33188,
      "new_path": "core/res/AndroidManifest.xml"
    },
    {
      "type": "modify",
      "old_id": "7b48267045faaa0d129bdfe81e177e48f3f3f97f",
      "old_mode": 33188,
      "old_path": "core/res/res/values/attrs_manifest.xml",
      "new_id": "817a56637ea4b08f24dae57e2620408ccbf76f69",
      "new_mode": 33188,
      "new_path": "core/res/res/values/attrs_manifest.xml"
    },
    {
      "type": "modify",
      "old_id": "621270e8198e5131c0d2ac563ca717cd10e837bc",
      "old_mode": 33188,
      "old_path": "core/res/res/values/public.xml",
      "new_id": "c2c84d6526d33d8df9487f55d2f5c899ff4e6f7d",
      "new_mode": 33188,
      "new_path": "core/res/res/values/public.xml"
    },
    {
      "type": "modify",
      "old_id": "e311abdc2217c39b0abecee1ec49cd2608e7c1f1",
      "old_mode": 33188,
      "old_path": "core/res/res/values/strings.xml",
      "new_id": "7078bbf0d65c07b470e39a163c631d7eb3353d60",
      "new_mode": 33188,
      "new_path": "core/res/res/values/strings.xml"
    },
    {
      "type": "modify",
      "old_id": "e3fff81f35466e0a95e0b1b06691b76dea88a1ff",
      "old_mode": 33188,
      "old_path": "services/java/com/android/server/BackupManagerService.java",
      "new_id": "82ed1e39e0e5f79de3e391255d7a35eea3735b8b",
      "new_mode": 33188,
      "new_path": "services/java/com/android/server/BackupManagerService.java"
    },
    {
      "type": "modify",
      "old_id": "d1c40b436040f95735270a9bfb297a744ee41ba8",
      "old_mode": 33188,
      "old_path": "services/java/com/android/server/am/ActivityManagerService.java",
      "new_id": "3b26cb78d7213ebb91585ec4f390d4ef1a578abb",
      "new_mode": 33188,
      "new_path": "services/java/com/android/server/am/ActivityManagerService.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5ac8e0d802ff4cfe38f09f9a3a2d4debbfdec437",
      "new_mode": 33188,
      "new_path": "services/java/com/android/server/am/BackupRecord.java"
    },
    {
      "type": "modify",
      "old_id": "eaeb5b72da94fbf4b962c14d66479a217b28c7b6",
      "old_mode": 33188,
      "old_path": "tests/backup/AndroidManifest.xml",
      "new_id": "3778742e105ed1387eafa50473726d5289383cd0",
      "new_mode": 33188,
      "new_path": "tests/backup/AndroidManifest.xml"
    },
    {
      "type": "rename",
      "old_id": "00eb86e47a743c76ee778f9892cc63d69652f6bc",
      "old_mode": 33188,
      "old_path": "tests/backup/src/com/android/backuptest/BackupTestService.java",
      "new_id": "11e520e67c55ad8183eba263f77406b38d8d3184",
      "new_mode": 33188,
      "new_path": "tests/backup/src/com/android/backuptest/BackupTestAgent.java",
      "score": 89
    }
  ]
}
