content: /*
   *     Copyright (C) 2016  Merbin J Anselm <merbinjanselm@gmail.com>
   *
   *     This program is free software; you can redistribute it and/or modify
   *     it under the terms of the GNU General Public License as published by
   *     the Free Software Foundation; either version 2 of the License, or
   *     (at your option) any later version.
   *
   *     This program is distributed in the hope that it will be useful,
   *     but WITHOUT ANY WARRANTY; without even the implied warranty of
   *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   *     GNU General Public License for more details.
   *
   *     You should have received a copy of the GNU General Public License along
   *     with this program; if not, write to the Free Software Foundation, Inc.,
   *     51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
   */
  
  package in.blogspot.anselmbros.torchie.utils.IabUtils;
  
  import org.json.JSONException;
  import org.json.JSONObject;
  
  /**
   * Represents an in-app billing purchase.
   */
  public class Purchase {
      String mItemType;  // ITEM_TYPE_INAPP or ITEM_TYPE_SUBS
      String mOrderId;
      String mPackageName;
      String mSku;
      long mPurchaseTime;
      int mPurchaseState;
      String mDeveloperPayload;
      String mToken;
      String mOriginalJson;
      String mSignature;
      boolean mIsAutoRenewing;
  
      public Purchase(String itemType, String jsonPurchaseInfo, String signature) throws JSONException {
          mItemType = itemType;
          mOriginalJson = jsonPurchaseInfo;
          JSONObject o = new JSONObject(mOriginalJson);
          mOrderId = o.optString("orderId");
          mPackageName = o.optString("packageName");
          mSku = o.optString("productId");
          mPurchaseTime = o.optLong("purchaseTime");
          mPurchaseState = o.optInt("purchaseState");
          mDeveloperPayload = o.optString("developerPayload");
          mToken = o.optString("token", o.optString("purchaseToken"));
          mIsAutoRenewing = o.optBoolean("autoRenewing");
          mSignature = signature;
      }
  
      public String getItemType() {
          return mItemType;
      }
  
      public String getOrderId() {
          return mOrderId;
      }
  
      public String getPackageName() {
          return mPackageName;
      }
  
      public String getSku() {
          return mSku;
      }
  
      public long getPurchaseTime() {
          return mPurchaseTime;
      }
  
      public int getPurchaseState() {
          return mPurchaseState;
      }
  
      public String getDeveloperPayload() {
          return mDeveloperPayload;
      }
  
      public String getToken() {
          return mToken;
      }
  
      public String getOriginalJson() {
          return mOriginalJson;
      }
  
      public String getSignature() {
          return mSignature;
      }
  
      public boolean isAutoRenewing() {
          return mIsAutoRenewing;
      }
  
      @Override
      public String toString() {
          return "PurchaseInfo(type:" + mItemType + "):" + mOriginalJson;
      }
  }
  