)]}'
{
  "commit": "115d2c189a46f535778d9dd0923f703ff2f888fe",
  "tree": "f082b998dc2345ccb24b47657c8b2104991225b6",
  "parents": [
    "c6ca265902d41a0553d15f660647410db6a3e889"
  ],
  "author": {
    "name": "Jeff Sharkey",
    "email": "jsharkey@android.com",
    "time": "Mon Feb 15 17:25:57 2016 -0700"
  },
  "committer": {
    "name": "Jeff Sharkey",
    "email": "jsharkey@android.com",
    "time": "Mon Feb 15 17:45:42 2016 -0700"
  },
  "message": "Add feature versions for devices and apps.\n\nWe\u0027re starting to see more instances of device features that will\nincrement separately from the SDK API level, such as camera HAL,\nGPU capabilities, Bluetooth, and other hardware standards.\n\nThis change adds the ability for device features to specify a\nversion, which is defined to be backwards compatible.  That is, apps\nrequesting an older version of a feature must continue working on\ndevices with a newer version of that same feature.\n\nWhen a version is undefined, we assume the default version \"0\".\n\nBug: 27162500\nChange-Id: If890bf3f3dbb715e8feb80e7059a0d65618482ea\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3c0c64df89ba92758f1821f023e705a2031d3a9b",
      "old_mode": 33188,
      "old_path": "api/current.txt",
      "new_id": "0337e11a3c79b4f177c2d9ae9325a74c358386f2",
      "new_mode": 33188,
      "new_path": "api/current.txt"
    },
    {
      "type": "modify",
      "old_id": "335557b4baf9a8b524935216a1e72bde6ba277d8",
      "old_mode": 33188,
      "old_path": "api/system-current.txt",
      "new_id": "266900f917e9714fd0ea257cac3595cf431a5d24",
      "new_mode": 33188,
      "new_path": "api/system-current.txt"
    },
    {
      "type": "modify",
      "old_id": "6bd4887582edc952e17d40c8d03626ddefacd5d8",
      "old_mode": 33188,
      "old_path": "api/test-current.txt",
      "new_id": "15b1e7884cf50b1a9cfdde061ef3078a43692669",
      "new_mode": 33188,
      "new_path": "api/test-current.txt"
    },
    {
      "type": "modify",
      "old_id": "e0f09ee2c6666e46a785564903908eccf971643c",
      "old_mode": 33188,
      "old_path": "cmds/svc/src/com/android/commands/svc/NfcCommand.java",
      "new_id": "8e9791f8b731fc20ed0d48ab9890baa0290b99ca",
      "new_mode": 33188,
      "new_path": "cmds/svc/src/com/android/commands/svc/NfcCommand.java"
    },
    {
      "type": "modify",
      "old_id": "df4b7d1eb50d806bec1ce7a5efdadd00f0e725ae",
      "old_mode": 33188,
      "old_path": "core/java/android/app/ApplicationPackageManager.java",
      "new_id": "7e50518cb3e125b87c0db4c1dd16b228441ca370",
      "new_mode": 33188,
      "new_path": "core/java/android/app/ApplicationPackageManager.java"
    },
    {
      "type": "modify",
      "old_id": "79fa32791a31fef50423a0e1fd64939cf3fb146d",
      "old_mode": 33188,
      "old_path": "core/java/android/content/pm/FeatureInfo.java",
      "new_id": "7671f72cbeacc96c854165c377a853160edd5b4e",
      "new_mode": 33188,
      "new_path": "core/java/android/content/pm/FeatureInfo.java"
    },
    {
      "type": "modify",
      "old_id": "386385790e49e07dd8fc95938b16d4a52967f5d4",
      "old_mode": 33188,
      "old_path": "core/java/android/content/pm/IPackageManager.aidl",
      "new_id": "c71a60353e1ad78c9a7f4e73830e5681ea49bd51",
      "new_mode": 33188,
      "new_path": "core/java/android/content/pm/IPackageManager.aidl"
    },
    {
      "type": "modify",
      "old_id": "bf0d4ded17a9e34863a5e662540580eda4bf2e37",
      "old_mode": 33188,
      "old_path": "core/java/android/content/pm/PackageManager.java",
      "new_id": "36b902c3e481ae89740be368d46338681f917d4b",
      "new_mode": 33188,
      "new_path": "core/java/android/content/pm/PackageManager.java"
    },
    {
      "type": "modify",
      "old_id": "5ae8d4cf0ce415a04c210245a798a691aad80113",
      "old_mode": 33188,
      "old_path": "core/java/android/content/pm/PackageParser.java",
      "new_id": "1ee19de282acf59850f566c655a4c947a7887e39",
      "new_mode": 33188,
      "new_path": "core/java/android/content/pm/PackageParser.java"
    },
    {
      "type": "modify",
      "old_id": "acd780d9ecad37651d4fa1e60c140bad473b2837",
      "old_mode": 33188,
      "old_path": "core/java/android/nfc/NfcAdapter.java",
      "new_id": "6f911ceb4bedd5adcc902e4cbf433c5198cf41d1",
      "new_mode": 33188,
      "new_path": "core/java/android/nfc/NfcAdapter.java"
    },
    {
      "type": "modify",
      "old_id": "23d05bda36333731bedeb0ef7ea18bdeea975753",
      "old_mode": 33188,
      "old_path": "core/java/android/nfc/cardemulation/CardEmulation.java",
      "new_id": "b49288e6e59ef99722645a420271761a953fb79c",
      "new_mode": 33188,
      "new_path": "core/java/android/nfc/cardemulation/CardEmulation.java"
    },
    {
      "type": "modify",
      "old_id": "d61ac02eb98e512d86640898ec85018f6fa311e1",
      "old_mode": 33188,
      "old_path": "core/java/android/nfc/cardemulation/NfcFCardEmulation.java",
      "new_id": "42ccf20a584a5764b251683e35e76671289dd25b",
      "new_mode": 33188,
      "new_path": "core/java/android/nfc/cardemulation/NfcFCardEmulation.java"
    },
    {
      "type": "modify",
      "old_id": "1496d0926dc6d1ca07f0cfc9a64f5dc32bf9a5b0",
      "old_mode": 33188,
      "old_path": "core/res/res/values/attrs_manifest.xml",
      "new_id": "f91bcd0bdeeaa51c6d9934b60fa9e8af6b9f2ae3",
      "new_mode": 33188,
      "new_path": "core/res/res/values/attrs_manifest.xml"
    },
    {
      "type": "modify",
      "old_id": "69d005cb680617f107dc6cf7df35ce9ebb6dca80",
      "old_mode": 33188,
      "old_path": "core/res/res/values/public.xml",
      "new_id": "894fd37211125105340de22fda6e7b411bd27105",
      "new_mode": 33188,
      "new_path": "core/res/res/values/public.xml"
    },
    {
      "type": "modify",
      "old_id": "278dfe6c9314e30638f4b5c0f1c97554f93cbbff",
      "old_mode": 33188,
      "old_path": "packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java",
      "new_id": "17e43c406288678821dfd3c1478c3e468460eae7",
      "new_mode": 33188,
      "new_path": "packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java"
    },
    {
      "type": "modify",
      "old_id": "5aba22d5c4c71c795badfbbc7ef7d3af1a3d112c",
      "old_mode": 33188,
      "old_path": "services/core/java/com/android/server/SystemConfig.java",
      "new_id": "19d7e2e1e8d0fc7c0c9292f313faf917fa6533e3",
      "new_mode": 33188,
      "new_path": "services/core/java/com/android/server/SystemConfig.java"
    },
    {
      "type": "modify",
      "old_id": "9b5fde00bce00e802d9cf6a508ca1a98b68b17fa",
      "old_mode": 33188,
      "old_path": "services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java",
      "new_id": "63c940890a816fcf1f8c346e1b28fdd826bb817d",
      "new_mode": 33188,
      "new_path": "services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java"
    },
    {
      "type": "modify",
      "old_id": "caa58d6ed6bdf9ac28befc4b5bdf581922be18fa",
      "old_mode": 33188,
      "old_path": "services/core/java/com/android/server/pm/PackageManagerService.java",
      "new_id": "cc44f709b729f999b7861536060ceff66cb2e0f1",
      "new_mode": 33188,
      "new_path": "services/core/java/com/android/server/pm/PackageManagerService.java"
    },
    {
      "type": "modify",
      "old_id": "d8845d8164500b6b81e40f05346f098ec95d056e",
      "old_mode": 33188,
      "old_path": "services/core/java/com/android/server/pm/PackageManagerShellCommand.java",
      "new_id": "d4048ef60b75060e54b9f93e7a7397396473df49",
      "new_mode": 33188,
      "new_path": "services/core/java/com/android/server/pm/PackageManagerShellCommand.java"
    },
    {
      "type": "modify",
      "old_id": "cda60bd3839a91e3ea9c97746eb5be6b29f05707",
      "old_mode": 33188,
      "old_path": "services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java",
      "new_id": "1cd563559820dfe01abb4014ff4d4b1567857723",
      "new_mode": 33188,
      "new_path": "services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java"
    },
    {
      "type": "modify",
      "old_id": "4e6d638d4739b9630948d4eb7bb6dd52578588b7",
      "old_mode": 33188,
      "old_path": "test-runner/src/android/test/mock/MockPackageManager.java",
      "new_id": "552ce6d724fd28e91079a480376d4c5f7de7333a",
      "new_mode": 33188,
      "new_path": "test-runner/src/android/test/mock/MockPackageManager.java"
    },
    {
      "type": "modify",
      "old_id": "5c20dfa8e62766f0e26406c12392eb939e05417b",
      "old_mode": 33188,
      "old_path": "tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java",
      "new_id": "8da3cbd411b91cbba995517ff3beea38b8bf7e48",
      "new_mode": 33188,
      "new_path": "tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java"
    }
  ]
}
