Android Open Source - DroidBilling Billing Manager






From Project

Back to project page DroidBilling.

License

The source code is released under:

MIT License

If you think the Android project DroidBilling listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.techery.droid.billings;
//from www  .ja  v a  2  s  . c om
import com.techery.droid.billings.annotations.Billing;
import com.techery.droid.billings.events.OnConsumeFinishedEvent;
import com.techery.droid.billings.events.OnIabPurchaseFinishedEvent;
import com.techery.droid.billings.events.QueryInventoryFinishedEvent;
import com.techery.droid.billings.models.BillableItem;
import com.techery.droid.billings.models.ConsumableItem;
import com.techery.droid.billings.models.Inventory;

import java.util.ArrayList;
import java.util.List;

import javax.inject.Inject;

import de.greenrobot.event.EventBus;

/**
 * Created by ad on 11/27/13.
 */
public class BillingManager {
    public interface Events {
        public class UpdatePurchasesStatusEvent {

        }
    }

    private final EventBus eventBus;

    List<BillableItem> items = new ArrayList<BillableItem>();

    public BillingManager(EventBus eventBus) {
        this.eventBus = eventBus;
        this.eventBus.registerSticky(this);
    }

    public void startManagingForItem(BillableItem item) {
        this.items.add(item);
    }

    public void onEventMainThread(QueryInventoryFinishedEvent event) {
        Inventory inventory = event.getInventory();

        for(BillableItem item : items) {
            item.update(inventory);
        }

        this.eventBus.post(new Events.UpdatePurchasesStatusEvent());
    }

    public void onEventMainThread(OnIabPurchaseFinishedEvent event) {
        this.eventBus.removeStickyEvent(event);

        for(BillableItem item : items) {
            if (event.getInfo().getSku().equals(item.getSku())) {
                item.updateFromPurchase(event.getInfo());
            }
        }

        this.eventBus.post(new Events.UpdatePurchasesStatusEvent());
    }

    public void onEventMainThread(OnConsumeFinishedEvent event) {
        this.eventBus.post(new Events.UpdatePurchasesStatusEvent());
    }
}




Java Source Code List

com.techery.droid.billings.AbstractController.java
com.techery.droid.billings.BillingConfig.java
com.techery.droid.billings.BillingInitializationController.java
com.techery.droid.billings.BillingManager.java
com.techery.droid.billings.BillingProcessController.java
com.techery.droid.billings.Constants.java
com.techery.droid.billings.annotations.Billing.java
com.techery.droid.billings.events.IabEvent.java
com.techery.droid.billings.events.IabSetupErrorEvent.java
com.techery.droid.billings.events.IabSetupFinishedEvent.java
com.techery.droid.billings.events.OnConsumeErrorEvent.java
com.techery.droid.billings.events.OnConsumeEvent.java
com.techery.droid.billings.events.OnConsumeFinishedEvent.java
com.techery.droid.billings.events.OnConsumeMultiFinishedEvent.java
com.techery.droid.billings.events.OnIabPurchaseErrorEvent.java
com.techery.droid.billings.events.OnIabPurchaseEvent.java
com.techery.droid.billings.events.OnIabPurchaseFinishedEvent.java
com.techery.droid.billings.events.QueryInventoryErrorEvent.java
com.techery.droid.billings.events.QueryInventoryEvent.java
com.techery.droid.billings.events.QueryInventoryFinishedEvent.java
com.techery.droid.billings.events.UninitializedHelperAccess.java
com.techery.droid.billings.models.BillableItem.java
com.techery.droid.billings.models.BillingFeatureSupportingResult.java
com.techery.droid.billings.models.ConsumableItem.java
com.techery.droid.billings.models.IabException.java
com.techery.droid.billings.models.IabResult.java
com.techery.droid.billings.models.Inventory.java
com.techery.droid.billings.models.PurchaseResult.java
com.techery.droid.billings.models.Purchase.java
com.techery.droid.billings.models.SkuDetails.java
com.techery.droid.billings.models.Subscription.java
com.techery.droid.billings.modules.BillingModule.java
com.techery.droid.billings.modules.BillingServiceModule.java
com.techery.droid.billings.tasks.BillingTask.java
com.techery.droid.billings.tasks.ConsumeTask.java
com.techery.droid.billings.tasks.QueryInventoryTask.java
com.techery.droid.billings.utils.Base64DecoderException.java
com.techery.droid.billings.utils.Base64.java
com.techery.droid.billings.utils.BillingSecurity.java
com.techery.droid.billings.utils.BillingSupportingChecker.java
com.techery.droid.billings.utils.ResponseHelper.java