Search in sources :

Example 26 with SendIntentException

use of android.content.IntentSender.SendIntentException in project Slide by ccrama.

the class IabHelper method launchPurchaseFlow.

/**
 * Initiate the UI flow for an in-app purchase. Call this method to initiate an in-app purchase,
 * which will involve bringing up the Google Play screen. The calling activity will be paused
 * while the user interacts with Google Play, and the result will be delivered via the
 * activity's {@link Activity#onActivityResult} method, at which point you must call this
 * object's {@link #handleActivityResult} method to continue the purchase flow. This method MUST
 * be called from the UI thread of the Activity.
 *
 * @param act         The calling activity.
 * @param sku         The sku of the item to purchase.
 * @param itemType    indicates if it's a product or a subscription (ITEM_TYPE_INAPP or
 *                    ITEM_TYPE_SUBS)
 * @param requestCode A request code (to differentiate from other responses -- as in {@link
 *                    Activity#startActivityForResult}).
 * @param listener    The listener to notify when the purchase process finishes
 * @param extraData   Extra data (developer payload), which will be returned with the purchase
 *                    data when the purchase completes. This extra data will be permanently
 *                    bound to that purchase and will always be returned when the purchase is
 *                    queried.
 */
private void launchPurchaseFlow(Activity act, String sku, String itemType, int requestCode, OnIabPurchaseFinishedListener listener, String extraData) {
    checkNotDisposed();
    checkSetupDone("launchPurchaseFlow");
    flagStartAsync("launchPurchaseFlow");
    IabResult result;
    if (itemType.equals(ITEM_TYPE_SUBS) && !mSubscriptionsSupported) {
        IabResult r = new IabResult(IABHELPER_SUBSCRIPTIONS_NOT_AVAILABLE, "Subscriptions are not available.");
        flagEndAsync();
        if (listener != null)
            listener.onIabPurchaseFinished(r, null);
        return;
    }
    try {
        logDebug("Constructing buy intent for " + sku + ", item type: " + itemType);
        Bundle buyIntentBundle = mService.getBuyIntent(3, "me.ccrama.redditslide", sku, itemType, extraData);
        int response = getResponseCodeFromBundle(buyIntentBundle);
        if (response != BILLING_RESPONSE_RESULT_OK) {
            logError("Unable to buy item, Error response: " + getResponseDesc(response));
            flagEndAsync();
            result = new IabResult(response, "Unable to buy item");
            if (listener != null)
                listener.onIabPurchaseFinished(result, null);
            return;
        }
        PendingIntent pendingIntent = buyIntentBundle.getParcelable(RESPONSE_BUY_INTENT);
        logDebug("Launching buy intent for " + sku + ". Request code: " + requestCode);
        mRequestCode = requestCode;
        mPurchaseListener = listener;
        mPurchasingItemType = itemType;
        act.startIntentSenderForResult(pendingIntent.getIntentSender(), requestCode, new Intent(), Integer.valueOf(0), Integer.valueOf(0), Integer.valueOf(0));
    } catch (SendIntentException e) {
        logError("SendIntentException while launching purchase flow for sku " + sku);
        e.printStackTrace();
        flagEndAsync();
        result = new IabResult(IABHELPER_SEND_INTENT_FAILED, "Failed to send intent.");
        if (listener != null)
            listener.onIabPurchaseFinished(result, null);
    } catch (RemoteException e) {
        logError("RemoteException while launching purchase flow for sku " + sku);
        e.printStackTrace();
        flagEndAsync();
        result = new IabResult(IABHELPER_REMOTE_EXCEPTION, "Remote exception while starting purchase flow");
        if (listener != null)
            listener.onIabPurchaseFinished(result, null);
    }
}
Also used : Bundle(android.os.Bundle) Intent(android.content.Intent) PendingIntent(android.app.PendingIntent) PendingIntent(android.app.PendingIntent) RemoteException(android.os.RemoteException) SendIntentException(android.content.IntentSender.SendIntentException)

Example 27 with SendIntentException

use of android.content.IntentSender.SendIntentException in project android_packages_apps_Settings by omnirom.

the class PrintServiceSettingsFragment method initComponents.

private void initComponents() {
    mPrintersAdapter = new PrintersAdapter();
    mPrintersAdapter.registerDataSetObserver(mDataObserver);
    final SettingsActivity activity = (SettingsActivity) getActivity();
    mSwitchBar = activity.getSwitchBar();
    mSwitchBar.addOnSwitchChangeListener(this);
    mSwitchBar.show();
    mToggleSwitch = mSwitchBar.getSwitch();
    mToggleSwitch.setOnBeforeCheckedChangeListener(new ToggleSwitch.OnBeforeCheckedChangeListener() {

        @Override
        public boolean onBeforeCheckedChanged(ToggleSwitch toggleSwitch, boolean checked) {
            onPreferenceToggled(mPreferenceKey, checked);
            return false;
        }
    });
    getBackupListView().setSelector(new ColorDrawable(Color.TRANSPARENT));
    getBackupListView().setAdapter(mPrintersAdapter);
    getBackupListView().setOnItemClickListener(new AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            PrinterInfo printer = (PrinterInfo) mPrintersAdapter.getItem(position);
            if (printer.getInfoIntent() != null) {
                try {
                    getActivity().startIntentSender(printer.getInfoIntent().getIntentSender(), null, 0, 0, 0);
                } catch (SendIntentException e) {
                    Log.e(LOG_TAG, "Could not execute info intent: %s", e);
                }
            }
        }
    });
}
Also used : ImageView(android.widget.ImageView) View(android.view.View) AdapterView(android.widget.AdapterView) TextView(android.widget.TextView) ListView(android.widget.ListView) SearchView(android.widget.SearchView) SendIntentException(android.content.IntentSender.SendIntentException) ColorDrawable(android.graphics.drawable.ColorDrawable) ToggleSwitch(com.android.settings.widget.ToggleSwitch) AdapterView(android.widget.AdapterView) PrinterInfo(android.print.PrinterInfo) SettingsActivity(com.android.settings.SettingsActivity)

Example 28 with SendIntentException

use of android.content.IntentSender.SendIntentException in project android_packages_apps_Settings by DirtyUnicorns.

the class PrintServiceSettingsFragment method initComponents.

private void initComponents() {
    mPrintersAdapter = new PrintersAdapter();
    mPrintersAdapter.registerDataSetObserver(mDataObserver);
    final SettingsActivity activity = (SettingsActivity) getActivity();
    mSwitchBar = activity.getSwitchBar();
    mSwitchBar.addOnSwitchChangeListener(this);
    mSwitchBar.show();
    mToggleSwitch = mSwitchBar.getSwitch();
    mToggleSwitch.setOnBeforeCheckedChangeListener(new ToggleSwitch.OnBeforeCheckedChangeListener() {

        @Override
        public boolean onBeforeCheckedChanged(ToggleSwitch toggleSwitch, boolean checked) {
            onPreferenceToggled(mPreferenceKey, checked);
            return false;
        }
    });
    getBackupListView().setSelector(new ColorDrawable(Color.TRANSPARENT));
    getBackupListView().setAdapter(mPrintersAdapter);
    getBackupListView().setOnItemClickListener(new AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            PrinterInfo printer = (PrinterInfo) mPrintersAdapter.getItem(position);
            if (printer.getInfoIntent() != null) {
                try {
                    getActivity().startIntentSender(printer.getInfoIntent().getIntentSender(), null, 0, 0, 0);
                } catch (SendIntentException e) {
                    Log.e(LOG_TAG, "Could not execute info intent: %s", e);
                }
            }
        }
    });
}
Also used : ImageView(android.widget.ImageView) View(android.view.View) AdapterView(android.widget.AdapterView) TextView(android.widget.TextView) ListView(android.widget.ListView) SearchView(android.widget.SearchView) SendIntentException(android.content.IntentSender.SendIntentException) ColorDrawable(android.graphics.drawable.ColorDrawable) ToggleSwitch(com.android.settings.widget.ToggleSwitch) AdapterView(android.widget.AdapterView) PrinterInfo(android.print.PrinterInfo) SettingsActivity(com.android.settings.SettingsActivity)

Example 29 with SendIntentException

use of android.content.IntentSender.SendIntentException in project android_packages_apps_Settings by crdroidandroid.

the class PrintServiceSettingsFragment method initComponents.

private void initComponents() {
    mPrintersAdapter = new PrintersAdapter();
    mPrintersAdapter.registerDataSetObserver(mDataObserver);
    final SettingsActivity activity = (SettingsActivity) getActivity();
    mSwitchBar = activity.getSwitchBar();
    mSwitchBar.addOnSwitchChangeListener(this);
    mSwitchBar.show();
    mToggleSwitch = mSwitchBar.getSwitch();
    mToggleSwitch.setOnBeforeCheckedChangeListener(new ToggleSwitch.OnBeforeCheckedChangeListener() {

        @Override
        public boolean onBeforeCheckedChanged(ToggleSwitch toggleSwitch, boolean checked) {
            onPreferenceToggled(mPreferenceKey, checked);
            return false;
        }
    });
    getBackupListView().setSelector(new ColorDrawable(Color.TRANSPARENT));
    getBackupListView().setAdapter(mPrintersAdapter);
    getBackupListView().setOnItemClickListener(new AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            PrinterInfo printer = (PrinterInfo) mPrintersAdapter.getItem(position);
            if (printer.getInfoIntent() != null) {
                try {
                    getActivity().startIntentSender(printer.getInfoIntent().getIntentSender(), null, 0, 0, 0);
                } catch (SendIntentException e) {
                    Log.e(LOG_TAG, "Could not execute info intent: %s", e);
                }
            }
        }
    });
}
Also used : ImageView(android.widget.ImageView) View(android.view.View) AdapterView(android.widget.AdapterView) TextView(android.widget.TextView) ListView(android.widget.ListView) SearchView(android.widget.SearchView) SendIntentException(android.content.IntentSender.SendIntentException) ColorDrawable(android.graphics.drawable.ColorDrawable) ToggleSwitch(com.android.settings.widget.ToggleSwitch) AdapterView(android.widget.AdapterView) PrinterInfo(android.print.PrinterInfo) SettingsActivity(com.android.settings.SettingsActivity)

Example 30 with SendIntentException

use of android.content.IntentSender.SendIntentException in project android_packages_apps_Settings by SudaMod.

the class PrintServiceSettingsFragment method initComponents.

private void initComponents() {
    mPrintersAdapter = new PrintersAdapter();
    mPrintersAdapter.registerDataSetObserver(mDataObserver);
    final SettingsActivity activity = (SettingsActivity) getActivity();
    mSwitchBar = activity.getSwitchBar();
    mSwitchBar.addOnSwitchChangeListener(this);
    mSwitchBar.show();
    mToggleSwitch = mSwitchBar.getSwitch();
    mToggleSwitch.setOnBeforeCheckedChangeListener(new ToggleSwitch.OnBeforeCheckedChangeListener() {

        @Override
        public boolean onBeforeCheckedChanged(ToggleSwitch toggleSwitch, boolean checked) {
            onPreferenceToggled(mPreferenceKey, checked);
            return false;
        }
    });
    getBackupListView().setSelector(new ColorDrawable(Color.TRANSPARENT));
    getBackupListView().setAdapter(mPrintersAdapter);
    getBackupListView().setOnItemClickListener(new AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            PrinterInfo printer = (PrinterInfo) mPrintersAdapter.getItem(position);
            if (printer.getInfoIntent() != null) {
                try {
                    getActivity().startIntentSender(printer.getInfoIntent().getIntentSender(), null, 0, 0, 0);
                } catch (SendIntentException e) {
                    Log.e(LOG_TAG, "Could not execute info intent: %s", e);
                }
            }
        }
    });
}
Also used : ImageView(android.widget.ImageView) View(android.view.View) AdapterView(android.widget.AdapterView) TextView(android.widget.TextView) ListView(android.widget.ListView) SearchView(android.widget.SearchView) SendIntentException(android.content.IntentSender.SendIntentException) ColorDrawable(android.graphics.drawable.ColorDrawable) ToggleSwitch(com.android.settings.widget.ToggleSwitch) AdapterView(android.widget.AdapterView) PrinterInfo(android.print.PrinterInfo) SettingsActivity(com.android.settings.SettingsActivity)

Aggregations

SendIntentException (android.content.IntentSender.SendIntentException)38 Intent (android.content.Intent)26 Bundle (android.os.Bundle)26 RemoteException (android.os.RemoteException)25 PendingIntent (android.app.PendingIntent)21 ColorDrawable (android.graphics.drawable.ColorDrawable)6 PrinterInfo (android.print.PrinterInfo)6 View (android.view.View)6 AdapterView (android.widget.AdapterView)6 ImageView (android.widget.ImageView)6 ListView (android.widget.ListView)6 SearchView (android.widget.SearchView)6 TextView (android.widget.TextView)6 SettingsActivity (com.android.settings.SettingsActivity)6 ToggleSwitch (com.android.settings.widget.ToggleSwitch)6 NonNull (android.annotation.NonNull)5 Activity (android.app.Activity)5 IntentSender (android.content.IntentSender)5 LabeledIntent (android.content.pm.LabeledIntent)5 CodenameOneActivity (com.codename1.impl.android.CodenameOneActivity)1