title: billingClient.queryPurchases(BillingClient.SkuType.SUBS).getPurchasesList() returning null
body: <p>I'm making an app for android with billing services. I've already added the "shop" method, so the user can subscript. My app has only one subscriptionfor sale. The problem is that when the user open the app I can't get if he has subscript or not. Until now, I've come to this code, even when the user is subscript<code>purchasesResult.getPurchasesList()</code> returns <code>null</code>:</p>
  
  <pre><code>premium = false
  
  try{
              Purchase.PurchasesResult purchasesResult = billingClient.queryPurchases(BillingClient.SkuType.SUBS);
  
          for (Purchase purchase : purchasesResult.getPurchasesList()) {
  
              acknowledgePurchaseParams =
                      AcknowledgePurchaseParams.newBuilder()
                              .setPurchaseToken(purchase.getPurchaseToken())
                              .build();
  
              acknowledgePurchaseResponseListener = new AcknowledgePurchaseResponseListener() {
                  @Override
                  public void onAcknowledgePurchaseResponse(BillingResult billingResult) {
                      premium = true;
                  }
              };
  
              handlePurchase(purchase);
          }}
          catch (Exception e){
              e.printStackTrace();
          }
  </code></pre>
  
  <p>handlePurchase method:</p>
  
  <pre><code> void handlePurchase(Purchase purchase) {
          if (purchase.getPurchaseState() == Purchase.PurchaseState.PURCHASED) {
              if (!purchase.isAcknowledged()) {
                  AcknowledgePurchaseParams acknowledgePurchaseParams =
                          AcknowledgePurchaseParams.newBuilder()
                                  .setPurchaseToken(purchase.getPurchaseToken())
                                  .build();
                  billingClient.acknowledgePurchase(acknowledgePurchaseParams, acknowledgePurchaseResponseListener);
              }
              else SplashScreenActivity.premium = true;
          }
      }
  </code></pre>
  
  <p>I'm looking forward to check if the user is subscribed so, I can set <code>premium = true</code>. Until now, I'm using an ugly solution that is buy the product again and check if it returns ITEM_ALREADY_OWNED. Still looking for a better solution.</p>
  
  <p><strong>NOTE</strong>: I'm getting this result on alpha test.</p>
  
  <p><strong>NOTE 2</strong>: <a href="https://developer.android.com/google/play/billing/billing_library_overview#pending" rel="nofollow noreferrer">This link</a> might help.</p>
  
  <p><strong>NOTE 3</strong>: <a href="https://issuetracker.google.com/issues?q=queryPurchases" rel="nofollow noreferrer">This link</a> show others with the same issue.</p>