public override void onResponseCode(ResponseCode response) { base.onResponseCode(response); if (response == ResponseCode.RESULT_OK) { BillingController.onTransactionsRestored(); } }
/** * Restores previous transactions, if any. This happens if the application * has just been installed or the user wiped data. We do not want to do this * on every startup, rather, we want to do only when the database needs to * be initialized. */ private void restoreTransactions() { //if (!mBillingObserver.isTransactionsRestored()) //{ BillingController.restoreTransactions(this); Toast.MakeText(this, Resource.String.restoring_transactions, ToastLength.Long).Show(); //} }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.main); setupWidgets(); BillingController.registerObserver(mBillingObserver); BillingController.checkBillingSupported(this); updateOwnedItems(); onBillingChecked(true); }
private void runRequest(BillingRequest request) { try { long requestId = request.run(mService); BillingController.onRequestSent(requestId, request); } catch (RemoteException e) { Log.Warn(typeof(BillingService).FullName, "Remote billing service crashed"); // TODO: Retry? } }
private void updateOwnedItems() { List <Transaction> transactions = BillingController.getTransactions(this); List <string> ownedItems = new List <string>(); foreach (Transaction t in transactions) { if (t.purchaseState == PurchaseState.PURCHASED) { ownedItems.Add(t.productId); } } mCatalogAdapter.setOwnedItems(ownedItems); ArrayAdapter <string> adapter = new ArrayAdapter <string>(this, Resource.Layout.item_row, Resource.Id.item_name, ownedItems); mOwnedItemsTable.Adapter = adapter; }
private void setupWidgets() { mBuyButton = (Button)FindViewById(Resource.Id.buy_button); mBuyButton.Enabled = false; mBuyButton.Click += delegate { BillingController.requestPurchase(this, mSku, true /* confirm */); }; mSelectItemSpinner = (Spinner)FindViewById(Resource.Id.item_choices); mCatalogAdapter = new CatalogAdapter(this, CatalogEntry.CATALOG); mSelectItemSpinner.Adapter = mCatalogAdapter; mSelectItemSpinner.ItemSelected += delegate(object sender, ItemEventArgs e) { mSku = CatalogEntry.CATALOG[e.Position].sku; }; mOwnedItemsTable = (ListView)FindViewById(Resource.Id.owned_items); }
protected override void OnDestroy() { BillingController.unregisterObserver(mBillingObserver); base.OnDestroy(); }
protected override void processOkResponse(Bundle response) { PendingIntent purchaseIntent = (PendingIntent)response.GetParcelable(KEY_PURCHASE_INTENT); BillingController.onPurchaseIntent(itemId, purchaseIntent); }
public override void onResponseCode(ResponseCode response) { base.onResponseCode(response); BillingController.onRequestPurchaseResponse(itemId, response); }
protected override void processOkResponse(Bundle response) { bool supported = this.isSuccess(); BillingController.onBillingChecked(supported); }