)]}'
{
  "commit": "60c5ffc1a96571d0b457c3efdf73a3fa66c2c5f4",
  "tree": "98e131bb38e50eebe7212d3d60bfd3ece3601456",
  "parents": [
    "596eb033c7387c012766230402c57d0d066f5952"
  ],
  "author": {
    "name": "Todd Volkert",
    "email": "tvolkert@users.noreply.github.com",
    "time": "Tue Apr 25 17:23:00 2017 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Apr 25 17:23:00 2017 -0700"
  },
  "message": "Switch many `Device` methods to be async (#9587)\n\n`adb` can sometimes hang, which will in turn hang the Dart isolate if\r\nwe\u0027re using `Process.runSync()`. This changes many of the `Device` methods\r\nto return `Future\u003cT\u003e` in order to allow them to use the async process\r\nmethods. A future change will add timeouts to the associated calls so\r\nthat we can properly alert the user to the hung `adb` process.\r\n\r\nThis is work towards #7102, #9567",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c83ad4a7f97d22a1e451306b48dd741d45258c89",
      "old_mode": 33188,
      "old_path": "packages/flutter_tools/lib/src/android/android_device.dart",
      "new_id": "0d3044c5d54d7647f4f037ae6dfe48706822f080",
      "new_mode": 33188,
      "new_path": "packages/flutter_tools/lib/src/android/android_device.dart"
    },
    {
      "type": "modify",
      "old_id": "8ded4f6955828b3ee9d15a79bebf9b02e78eb2d7",
      "old_mode": 33188,
      "old_path": "packages/flutter_tools/lib/src/base/process.dart",
      "new_id": "7b589c4e67b94dedf587dccb2c4eca379c05ebe3",
      "new_mode": 33188,
      "new_path": "packages/flutter_tools/lib/src/base/process.dart"
    },
    {
      "type": "modify",
      "old_id": "de0dce60527a4bb01c2bfb1a1f89db9170d16d27",
      "old_mode": 33188,
      "old_path": "packages/flutter_tools/lib/src/commands/build_aot.dart",
      "new_id": "10f79bb9cc4bce2909ba60ab4a15ee18453dc4bd",
      "new_mode": 33188,
      "new_path": "packages/flutter_tools/lib/src/commands/build_aot.dart"
    },
    {
      "type": "modify",
      "old_id": "59484e581c3fd0972d4add856d78ba448d2ec564",
      "old_mode": 33188,
      "old_path": "packages/flutter_tools/lib/src/commands/config.dart",
      "new_id": "11f7e078aaa687312ab9e4cb8e5b7d50b88487df",
      "new_mode": 33188,
      "new_path": "packages/flutter_tools/lib/src/commands/config.dart"
    },
    {
      "type": "modify",
      "old_id": "50483fe87a55717ec6cb4563090c4fb2b108ec29",
      "old_mode": 33188,
      "old_path": "packages/flutter_tools/lib/src/commands/daemon.dart",
      "new_id": "951a04495be61ace8b92340e5e1f084f4ea3853b",
      "new_mode": 33188,
      "new_path": "packages/flutter_tools/lib/src/commands/daemon.dart"
    },
    {
      "type": "modify",
      "old_id": "2982216f3cdfbb38337e56b71ab70ad0ff70fd2b",
      "old_mode": 33188,
      "old_path": "packages/flutter_tools/lib/src/commands/devices.dart",
      "new_id": "51d7aeda94c307df1348188c50ca276cbb379949",
      "new_mode": 33188,
      "new_path": "packages/flutter_tools/lib/src/commands/devices.dart"
    },
    {
      "type": "modify",
      "old_id": "4e7d2bd1302f22f193d7d04fb57258d480603ebe",
      "old_mode": 33188,
      "old_path": "packages/flutter_tools/lib/src/commands/drive.dart",
      "new_id": "bdc0b9f4dcf68d696efa59d24b7dce05ee5a0223",
      "new_mode": 33188,
      "new_path": "packages/flutter_tools/lib/src/commands/drive.dart"
    },
    {
      "type": "modify",
      "old_id": "063585ed6065efbb277bc08425c8810ec01a39c7",
      "old_mode": 33188,
      "old_path": "packages/flutter_tools/lib/src/commands/install.dart",
      "new_id": "3651c01d1b6f1d64cf5fe11771bcf80e873a2569",
      "new_mode": 33188,
      "new_path": "packages/flutter_tools/lib/src/commands/install.dart"
    },
    {
      "type": "modify",
      "old_id": "50fe3ed67c0602b2ed28a04ee22ea854f9a5e789",
      "old_mode": 33188,
      "old_path": "packages/flutter_tools/lib/src/commands/run.dart",
      "new_id": "aad16e6aa474cc0a0bcf19cd6512c0d8f538b370",
      "new_mode": 33188,
      "new_path": "packages/flutter_tools/lib/src/commands/run.dart"
    },
    {
      "type": "modify",
      "old_id": "c506ee2c6ad743db3214800928060446598f0faa",
      "old_mode": 33188,
      "old_path": "packages/flutter_tools/lib/src/commands/stop.dart",
      "new_id": "836538f361ce03a039e61f55f6c7019860c18f58",
      "new_mode": 33188,
      "new_path": "packages/flutter_tools/lib/src/commands/stop.dart"
    },
    {
      "type": "modify",
      "old_id": "d86864c2a359da73fd982a69b32447fe52c49fe1",
      "old_mode": 33188,
      "old_path": "packages/flutter_tools/lib/src/commands/upgrade.dart",
      "new_id": "7722dc85e9dbdb6635f880634cc98b26e98f6f83",
      "new_mode": 33188,
      "new_path": "packages/flutter_tools/lib/src/commands/upgrade.dart"
    },
    {
      "type": "modify",
      "old_id": "9a76b7e7a955a1a62b4b0e4cbfbaef0fde4547eb",
      "old_mode": 33188,
      "old_path": "packages/flutter_tools/lib/src/device.dart",
      "new_id": "b4e0fbcf8426f46b6aab793cabfc239a2730eb34",
      "new_mode": 33188,
      "new_path": "packages/flutter_tools/lib/src/device.dart"
    },
    {
      "type": "modify",
      "old_id": "3bac2cc124a8f54e33768aee3c0477dccf2f19b1",
      "old_mode": 33188,
      "old_path": "packages/flutter_tools/lib/src/doctor.dart",
      "new_id": "ba28a7be883e7090e87b81283f08e64de2b420ba",
      "new_mode": 33188,
      "new_path": "packages/flutter_tools/lib/src/doctor.dart"
    },
    {
      "type": "modify",
      "old_id": "0c4ce203c9db4353b9584b931d11f2f356a681fc",
      "old_mode": 33188,
      "old_path": "packages/flutter_tools/lib/src/fuchsia/fuchsia_device.dart",
      "new_id": "9b1a6a58618972d481e786458af681359ff166ad",
      "new_mode": 33188,
      "new_path": "packages/flutter_tools/lib/src/fuchsia/fuchsia_device.dart"
    },
    {
      "type": "modify",
      "old_id": "fb6bc3d5c9f8f4f4a184f92cf00da019866fcb52",
      "old_mode": 33188,
      "old_path": "packages/flutter_tools/lib/src/ios/devices.dart",
      "new_id": "f61d48679ce9a616f170cc28fc169bc5f4a4a4fd",
      "new_mode": 33188,
      "new_path": "packages/flutter_tools/lib/src/ios/devices.dart"
    },
    {
      "type": "modify",
      "old_id": "018469d612afd9087e1b936edc86b6cb3530ee1c",
      "old_mode": 33188,
      "old_path": "packages/flutter_tools/lib/src/ios/ios_workflow.dart",
      "new_id": "70bb70273896ecb38b7184b47a894bf1205d1f28",
      "new_mode": 33188,
      "new_path": "packages/flutter_tools/lib/src/ios/ios_workflow.dart"
    },
    {
      "type": "modify",
      "old_id": "9baf97fe09bd07de37a747f45fde3943220c63e7",
      "old_mode": 33188,
      "old_path": "packages/flutter_tools/lib/src/ios/mac.dart",
      "new_id": "cf675ac5a28d47afd5439679aba5f7d1a2ba03c0",
      "new_mode": 33188,
      "new_path": "packages/flutter_tools/lib/src/ios/mac.dart"
    },
    {
      "type": "modify",
      "old_id": "6fd46b8906076896781fb904d7617a7df8160f74",
      "old_mode": 33188,
      "old_path": "packages/flutter_tools/lib/src/ios/simulators.dart",
      "new_id": "1f5f3e79bacadd7ca2d9db016feff9e3fa56e9b5",
      "new_mode": 33188,
      "new_path": "packages/flutter_tools/lib/src/ios/simulators.dart"
    },
    {
      "type": "modify",
      "old_id": "d114a7fb29a9ce34f8ab185c373ffc05f1e14e0b",
      "old_mode": 33188,
      "old_path": "packages/flutter_tools/lib/src/run_cold.dart",
      "new_id": "0a7b671b335e1101aca4632e28f2018d2ceefce6",
      "new_mode": 33188,
      "new_path": "packages/flutter_tools/lib/src/run_cold.dart"
    },
    {
      "type": "modify",
      "old_id": "823ff7e0b29bd530a28485fb3bf656deb99eb8a6",
      "old_mode": 33188,
      "old_path": "packages/flutter_tools/lib/src/run_hot.dart",
      "new_id": "3b05d16faab9d94009dc9430a1a6d16a56b7863b",
      "new_mode": 33188,
      "new_path": "packages/flutter_tools/lib/src/run_hot.dart"
    },
    {
      "type": "modify",
      "old_id": "9485618db3761e376a645b59ffc4c470761bda1c",
      "old_mode": 33188,
      "old_path": "packages/flutter_tools/lib/src/runner/flutter_command.dart",
      "new_id": "3fd1e0fa3319faba67621eb3ea1472295b0e2652",
      "new_mode": 33188,
      "new_path": "packages/flutter_tools/lib/src/runner/flutter_command.dart"
    },
    {
      "type": "modify",
      "old_id": "4f72326011549fe28e0d8910816290274f030eaf",
      "old_mode": 33188,
      "old_path": "packages/flutter_tools/lib/src/usage.dart",
      "new_id": "bad768dc1d12703d66055bc979d4c628d3887c49",
      "new_mode": 33188,
      "new_path": "packages/flutter_tools/lib/src/usage.dart"
    },
    {
      "type": "modify",
      "old_id": "a7b11611cfad13cf3ddb4e09830472d7e9bb7110",
      "old_mode": 33188,
      "old_path": "packages/flutter_tools/lib/src/zip.dart",
      "new_id": "f4107f052bf47a529b2479ffd144871ef67cbe14",
      "new_mode": 33188,
      "new_path": "packages/flutter_tools/lib/src/zip.dart"
    },
    {
      "type": "modify",
      "old_id": "26f9f63178129e29165592b695e066e1c4a0db89",
      "old_mode": 33188,
      "old_path": "packages/flutter_tools/test/analytics_test.dart",
      "new_id": "5619f977e467a859c5f58b95aa6d26a55b0ef4a5",
      "new_mode": 33188,
      "new_path": "packages/flutter_tools/test/analytics_test.dart"
    },
    {
      "type": "modify",
      "old_id": "f16d2e462da1a0cb8a63c24e08310e92df64eb83",
      "old_mode": 33188,
      "old_path": "packages/flutter_tools/test/device_test.dart",
      "new_id": "7f26d4a32f3909b41598ecaa4ff3337ebe3db42e",
      "new_mode": 33188,
      "new_path": "packages/flutter_tools/test/device_test.dart"
    },
    {
      "type": "modify",
      "old_id": "97fbd03dcf811c51454349f568d2ba005da20241",
      "old_mode": 33188,
      "old_path": "packages/flutter_tools/test/src/context.dart",
      "new_id": "42bf7eb5545f6f48d37e22b91ecb6e821bb97cca",
      "new_mode": 33188,
      "new_path": "packages/flutter_tools/test/src/context.dart"
    },
    {
      "type": "modify",
      "old_id": "37a280dbe11e62577f6fbafe0cb2fdc8124f03bc",
      "old_mode": 33188,
      "old_path": "packages/flutter_tools/test/src/ios/devices_test.dart",
      "new_id": "20f9723e13d090ba8b156fd6d760d602b82e37c2",
      "new_mode": 33188,
      "new_path": "packages/flutter_tools/test/src/ios/devices_test.dart"
    },
    {
      "type": "modify",
      "old_id": "610c9e8e71027137f43a9ba883255f353046e928",
      "old_mode": 33188,
      "old_path": "packages/flutter_tools/test/src/ios/simulators_test.dart",
      "new_id": "a731197799dae2f614ff39c97cf6574acfa063bb",
      "new_mode": 33188,
      "new_path": "packages/flutter_tools/test/src/ios/simulators_test.dart"
    },
    {
      "type": "modify",
      "old_id": "3fbc21d21ff7a25380882a74c417ee8a74318375",
      "old_mode": 33188,
      "old_path": "packages/flutter_tools/test/src/mocks.dart",
      "new_id": "6bd31ef36cf346f67b18e4a594e712a40a1c8930",
      "new_mode": 33188,
      "new_path": "packages/flutter_tools/test/src/mocks.dart"
    }
  ]
}
