)]}'
{
  "commit": "8236a737362db04e040adde61f7b88c088e2b06c",
  "tree": "9ddf3992d00ed3cb1e67bbdb9ed189fae3558a25",
  "parents": [
    "90aaca84a697fb1cf714e8570cdde0c38c2fda11"
  ],
  "author": {
    "name": "Júlio Cesar Bueno Cotta",
    "email": "juliocbcotta@gmail.com",
    "time": "Tue Sep 03 17:44:18 2019 -0300"
  },
  "committer": {
    "name": "Michael Klimushyn",
    "email": "mklim@google.com",
    "time": "Tue Sep 03 13:44:18 2019 -0700"
  },
  "message": "[In_App_Purchase] Improve testability (#2016)\n\nThis PR creates a factory for BillingClient, with that was possible to remove a secondary constructor that was used just for test.\r\n\r\nWith the introduction of the factory there was the need to update some tests as it was testing states that would never be reached in the normal plugin flow (due the usage of the constructor for testing). Basically, the test cases depended on the state of BillingClient that would be null if no previous setup was executed.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fbbb870dcbe0c632d06fbbfd5873634765027e23",
      "old_mode": 33188,
      "old_path": "packages/in_app_purchase/CHANGELOG.md",
      "new_id": "2f0e89e1cdec3d73bd782fd0c684a4ce5b3cc5c9",
      "new_mode": 33188,
      "new_path": "packages/in_app_purchase/CHANGELOG.md"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "078986c04c864559ccf625fc7e9e4d538a2e8c4a",
      "new_mode": 33188,
      "new_path": "packages/in_app_purchase/android/src/main/java/io/flutter/plugins/inapppurchase/BillingClientFactory.java"
    },
    {
      "type": "modify",
      "old_id": "e914d2a455de82cad112e6202bbddb9f20f0a8ec",
      "old_mode": 33188,
      "old_path": "packages/in_app_purchase/android/src/main/java/io/flutter/plugins/inapppurchase/InAppPurchasePlugin.java",
      "new_id": "99f68842d1c019253489eacf1b9b2b8e715115b4",
      "new_mode": 33188,
      "new_path": "packages/in_app_purchase/android/src/main/java/io/flutter/plugins/inapppurchase/InAppPurchasePlugin.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f1de27eaacc82df6b224e840da7838ea2a7939d2",
      "new_mode": 33188,
      "new_path": "packages/in_app_purchase/android/src/main/java/io/flutter/plugins/inapppurchase/PluginPurchaseListener.java"
    },
    {
      "type": "modify",
      "old_id": "41a60788691f77a3003ae78ab1349cc0636ff9d7",
      "old_mode": 33188,
      "old_path": "packages/in_app_purchase/example/android/app/src/test/java/io/flutter/plugins/inapppurchase/InAppPurchasePluginTest.java",
      "new_id": "31118be8226a6259904b244f1655c88fc81edd61",
      "new_mode": 33188,
      "new_path": "packages/in_app_purchase/example/android/app/src/test/java/io/flutter/plugins/inapppurchase/InAppPurchasePluginTest.java"
    },
    {
      "type": "modify",
      "old_id": "d3a8cf0fa230825af5540a689a0057192e49f3b9",
      "old_mode": 33188,
      "old_path": "packages/in_app_purchase/pubspec.yaml",
      "new_id": "e8e9ceea8fc9a5153c83357051706b2600209376",
      "new_mode": 33188,
      "new_path": "packages/in_app_purchase/pubspec.yaml"
    }
  ]
}
