package com.lechucksoftware.proxy.proxysettings.ui.fragments;
import android.app.Activity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import com.lechucksoftware.proxy.proxysettings.BuildConfig;
import com.lechucksoftware.proxy.proxysettings.R;
import com.lechucksoftware.proxy.proxysettings.constants.Constants;
import com.lechucksoftware.proxy.proxysettings.constants.Requests;
import com.lechucksoftware.proxy.proxysettings.ui.activities.IabActivity;
import com.lechucksoftware.proxy.proxysettings.ui.base.BaseFragment;
import com.lechucksoftware.proxy.proxysettings.utils.billing.Inventory;
import com.lechucksoftware.proxy.proxysettings.utils.billing.Purchase;
import com.lechucksoftware.proxy.proxysettings.utils.billing.SkuDetails;
import java.util.List;
import butterknife.ButterKnife;
import butterknife.InjectView;
import butterknife.OnClick;
public class IabFragment extends BaseFragment
{
// @InjectView(R.id.iab_recycler_view)
// RecyclerView iabRecyclerView;
// private LinearLayoutManager mLayoutManager;
// private IabSkuRecyclerViewAdapter mAdapter;
@InjectView(R.id.iab_reset) Button resetIabButton;
@InjectView(R.id.iab_buy_base) Button baseIabButton;
private Inventory mInventory;
private List<SkuDetails> mSkus;
private List<Purchase> mPurchase;
public static IabFragment newInstance()
{
IabFragment fragment = new IabFragment();
return fragment;
}
public IabFragment()
{
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View v = inflater.inflate(R.layout.in_app_billing_fragment, container, false);
ButterKnife.inject(this, v);
// mLayoutManager = new LinearLayoutManager(getActivity());
// iabRecyclerView.setHasFixedSize(true);
// iabRecyclerView.setLayoutManager(mLayoutManager);
if (BuildConfig.DEBUG)
{
resetIabButton.setVisibility(View.VISIBLE);
}
setInventory(null);
return v;
}
@OnClick(R.id.iab_reset)
public void resetIab()
{
if (mInventory != null)
{
SkuDetails skuDetails = mInventory.getSkuDetails(Constants.IAB_ITEM_SKU_BASE);
launchSkuPurchase(skuDetails);
}
}
@OnClick(R.id.iab_buy_base)
public void buyBase()
{
if (mInventory != null)
{
SkuDetails skuDetails = mInventory.getSkuDetails(Constants.IAB_ITEM_SKU_BASE);
launchSkuPurchase(skuDetails);
}
}
public void setInventory(Inventory inventory)
{
mInventory = inventory;
if (mInventory != null)
{
mSkus = inventory.getAllSkus();
mPurchase = inventory.getAllPurchases();
}
// mAdapter = new IabSkuRecyclerViewAdapter(inventory, R.layout.iab_sku_item);
// mAdapter.setOnItemClickListener(new IabSkuRecyclerViewAdapter.OnItemClickListener()
// {
//
// @Override
// public void onItemClick(View view, int position)
// {
// Timber.d("Selected SKU Item %d", position);
//
// if (mSkus != null)
// {
// SkuDetails skuDetails = mSkus.get(position);
// if (skuDetails != null)
// {
// Timber.d("Selected SKU: %s", skuDetails.toString());
//
// if (mInventory.hasPurchase(skuDetails.getSku()))
// {
// Purchase p = mInventory.getPurchase(skuDetails.getSku());
// Timber.d("SKU purchased: %s", p.toString());
//
// MaterialDialog.Builder builder = new MaterialDialog.Builder(getActivity());
//
// DateFormat df = DateFormat.getDateInstance();
//
// long purchaseTimeL = p.getPurchaseTime();
// Date purchaseDate = new Date(purchaseTimeL);
// builder.content(String.format("You already purchased the %s on %s", skuDetails.getTitle(), df.format(purchaseDate)));
// builder.positiveText(R.string.ok);
//
// builder.show();
// }
// else
// {
// Timber.d("Launching purchase for SKU: %s", skuDetails.toString());
// launchSkuPurchase(skuDetails);
// }
// }
// else
// {
// Timber.e("Cannot find SKU (size: %d) for position %d", mSkus.size(), position);
// }
// }
// }
//
// });
//
// iabRecyclerView.setAdapter(mAdapter);
}
void launchSkuPurchase(SkuDetails skuDetail)
{
Activity activity = getActivity();
if (activity != null && activity instanceof IabActivity)
{
((IabActivity) activity).launchPurchase(skuDetail.getSku(), Requests.IAB_PURCHASE);
}
}
}