private Inventory queryInventory(boolean querySkuDetails,List<String> moreItemSkus) throws IabException {
  checkNotDisposed();
  checkSetupDone("queryInventory");
  try {
    Inventory inv=new Inventory();
    int r=queryPurchases(inv,ITEM_TYPE_INAPP);
    if (r != BILLING_RESPONSE_RESULT_OK) {
      throw new IabException(r,"Error refreshing inventory (querying owned items).");
    }
    if (querySkuDetails) {
      r=querySkuDetails(ITEM_TYPE_INAPP,inv,moreItemSkus);
      if (r != BILLING_RESPONSE_RESULT_OK) {
        throw new IabException(r,"Error refreshing inventory (querying prices of items).");
      }
    }
    if (mSubscriptionsSupported) {
      r=queryPurchases(inv,ITEM_TYPE_SUBS);
      if (r != BILLING_RESPONSE_RESULT_OK) {
        throw new IabException(r,"Error refreshing inventory (querying owned subscriptions).");
      }
      if (querySkuDetails) {
        r=querySkuDetails(ITEM_TYPE_SUBS,inv,moreItemSkus);
        if (r != BILLING_RESPONSE_RESULT_OK) {
          throw new IabException(r,"Error refreshing inventory (querying prices of subscriptions).");
        }
      }
    }
    return inv;
  }
 catch (  RemoteException e) {
    throw new IabException(IABHELPER_REMOTE_EXCEPTION,"Remote exception while refreshing inventory.",e);
  }
catch (  JSONException e) {
    throw new IabException(IABHELPER_BAD_RESPONSE,"Error parsing JSON response while refreshing inventory.",e);
  }
}

private Inventory queryInventory ( boolean querySkuDetails , List < String > moreItemSkus ) throws IabException { checkNotDisposed ( ) ; checkSetupDone ( "queryInventory" ) ; try { Inventory inv = new Inventory ( ) ; int r = queryPurchases ( inv , ITEM_TYPE_INAPP ) ; if ( r != BILLING_RESPONSE_RESULT_OK ) { throw new IabException ( r , "Error refreshing inventory (querying owned items)." ) ; } if ( querySkuDetails ) { r = querySkuDetails ( ITEM_TYPE_INAPP , inv , moreItemSkus ) ; if ( r != BILLING_RESPONSE_RESULT_OK ) { throw new IabException ( r , "Error refreshing inventory (querying prices of items)." ) ; } } if ( mSubscriptionsSupported ) { r = queryPurchases ( inv , ITEM_TYPE_SUBS ) ; if ( r != BILLING_RESPONSE_RESULT_OK ) { throw new IabException ( r , "Error refreshing inventory (querying owned subscriptions)." ) ; } if ( querySkuDetails ) { r = querySkuDetails ( ITEM_TYPE_SUBS , inv , moreItemSkus ) ; if ( r != BILLING_RESPONSE_RESULT_OK ) { throw new IabException ( r , "Error refreshing inventory (querying prices of subscriptions)." ) ; } } } return inv ; } catch ( RemoteException e ) { throw new IabException ( IABHELPER_REMOTE_EXCEPTION , "Remote exception while refreshing inventory." , e ) ; } catch ( JSONException e ) { throw new IabException ( IABHELPER_BAD_RESPONSE , "Error parsing JSON response while refreshing inventory." , e ) ; } }
queries the inventory . this will query all owned items from the server , as well as information on additional skus , if specified . this method may block or take long to execute .
