(CallbackContext callbackContext)
| 320 | } |
| 321 | |
| 322 | private void getPurchases(CallbackContext callbackContext) { |
| 323 | if (billingClient == null) { |
| 324 | billingClient = getBillingClient(); |
| 325 | callbackContext.error("Billing client is not connected"); |
| 326 | return; |
| 327 | } |
| 328 | |
| 329 | QueryPurchasesParams params = QueryPurchasesParams.newBuilder() |
| 330 | .setProductType(BillingClient.ProductType.INAPP) |
| 331 | .build(); |
| 332 | billingClient.queryPurchasesAsync( |
| 333 | params, |
| 334 | new PurchasesResponseListener() { |
| 335 | public void onQueryPurchasesResponse( |
| 336 | BillingResult billingResult, |
| 337 | List<Purchase> purchasesList |
| 338 | ) { |
| 339 | try { |
| 340 | int responseCode = billingResult.getResponseCode(); |
| 341 | if (responseCode == BillingResponseCode.OK) { |
| 342 | JSONArray purchases = new JSONArray(); |
| 343 | for (Purchase purchase : purchasesList) { |
| 344 | purchases.put(purchaseToJson(purchase)); |
| 345 | } |
| 346 | callbackContext.success(purchases); |
| 347 | } else { |
| 348 | callbackContext.error(responseCode); |
| 349 | } |
| 350 | } catch (JSONException e) { |
| 351 | callbackContext.error(e.getMessage()); |
| 352 | } |
| 353 | } |
| 354 | } |
| 355 | ); |
| 356 | } |
| 357 | |
| 358 | private void acknowledgePurchase( |
| 359 | String purchaseToken, |
no test coverage detected