Example usage for android.content Intent getParcelableArrayExtra

List of usage examples for android.content Intent getParcelableArrayExtra

Introduction

In this page you can find the example usage for android.content Intent getParcelableArrayExtra.

Prototype

public Parcelable[] getParcelableArrayExtra(String name) 

Source Link

Document

Retrieve extended data from the intent.

Usage

From source file:org.mariotaku.twidere.service.BackgroundOperationService.java

private void handleUpdateStatusIntent(final Intent intent) {
    final NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
    final ParcelableStatusUpdate status = intent.getParcelableExtra(EXTRA_STATUS);
    final Parcelable[] status_parcelables = intent.getParcelableArrayExtra(EXTRA_STATUSES);
    final ParcelableStatusUpdate[] statuses;
    if (status_parcelables != null) {
        statuses = new ParcelableStatusUpdate[status_parcelables.length];
        for (int i = 0, j = status_parcelables.length; i < j; i++) {
            statuses[i] = (ParcelableStatusUpdate) status_parcelables[i];
        }//  w  w w .ja  va  2  s  . com
    } else if (status != null) {
        statuses = new ParcelableStatusUpdate[1];
        statuses[0] = status;
    } else
        return;
    startForeground(NOTIFICATION_ID_UPDATE_STATUS, updateUpdateStatusNotification(this, builder, 0, null));
    for (final ParcelableStatusUpdate item : statuses) {
        mNotificationManager.notify(NOTIFICATION_ID_UPDATE_STATUS,
                updateUpdateStatusNotification(this, builder, 0, item));
        final ContentValues draftValues = ContentValuesCreator.createStatusDraft(item,
                ParcelableAccount.getAccountIds(item.accounts));
        final Uri draftUri = mResolver.insert(Drafts.CONTENT_URI, draftValues);
        final long draftId = ParseUtils.parseLong(draftUri.getLastPathSegment(), -1);
        mTwitter.addSendingDraftId(draftId);
        final List<SingleResponse<ParcelableStatus>> result = updateStatus(builder, item);
        boolean failed = false;
        Exception exception = null;
        final Expression where = Expression.equals(Drafts._ID, draftId);
        final List<Long> failedAccountIds = ListUtils.fromArray(ParcelableAccount.getAccountIds(item.accounts));

        for (final SingleResponse<ParcelableStatus> response : result) {

            if (response.getData() == null) {
                failed = true;
                if (exception == null) {
                    exception = response.getException();
                }
            } else if (response.getData().account_id > 0) {
                failedAccountIds.remove(response.getData().account_id);
                //spice
                if (response.getData().media == null) {
                    SpiceProfilingUtil.log(response.getData().id + ",Tweet," + response.getData().account_id
                            + "," + response.getData().in_reply_to_user_id + ","
                            + response.getData().in_reply_to_status_id);
                    SpiceProfilingUtil.profile(this.getBaseContext(), response.getData().account_id,
                            response.getData().id + ",Tweet," + response.getData().account_id + ","
                                    + response.getData().in_reply_to_user_id + ","
                                    + response.getData().in_reply_to_status_id);
                } else
                    for (final ParcelableMedia spiceMedia : response.getData().media) {
                        SpiceProfilingUtil.log(response.getData().id + ",Media," + response.getData().account_id
                                + "," + response.getData().in_reply_to_user_id + ","
                                + response.getData().in_reply_to_status_id + "," + spiceMedia.media_url + ","
                                + TypeMappingUtil.getMediaType(spiceMedia.type));
                        SpiceProfilingUtil.profile(this.getBaseContext(), response.getData().account_id,
                                response.getData().id + ",Media," + response.getData().account_id + ","
                                        + response.getData().in_reply_to_user_id + ","
                                        + response.getData().in_reply_to_status_id + "," + spiceMedia.media_url
                                        + "," + TypeMappingUtil.getMediaType(spiceMedia.type));
                    }
                //end
            }
        }

        if (result.isEmpty()) {
            showErrorMessage(R.string.action_updating_status, getString(R.string.no_account_selected), false);
        } else if (failed) {
            // If the status is a duplicate, there's no need to save it to
            // drafts.
            if (exception instanceof TwitterException && ((TwitterException) exception)
                    .getErrorCode() == StatusCodeMessageUtils.STATUS_IS_DUPLICATE) {
                showErrorMessage(getString(R.string.status_is_duplicate), false);
            } else {
                final ContentValues accountIdsValues = new ContentValues();
                accountIdsValues.put(Drafts.ACCOUNT_IDS, ListUtils.toString(failedAccountIds, ',', false));
                mResolver.update(Drafts.CONTENT_URI, accountIdsValues, where.getSQL(), null);
                showErrorMessage(R.string.action_updating_status, exception, true);
                displayTweetNotSendNotification();
            }
        } else {
            showOkMessage(R.string.status_updated, false);
            mResolver.delete(Drafts.CONTENT_URI, where.getSQL(), null);
            if (item.media != null) {
                for (final ParcelableMediaUpdate media : item.media) {
                    final String path = getImagePathFromUri(this, Uri.parse(media.uri));
                    if (path != null) {
                        if (!new File(path).delete()) {
                            Log.d(LOGTAG, String.format("unable to delete %s", path));
                        }
                    }
                }
            }
        }
        mTwitter.removeSendingDraftId(draftId);
        if (mPreferences.getBoolean(KEY_REFRESH_AFTER_TWEET, false)) {
            mHandler.post(new Runnable() {
                @Override
                public void run() {
                    mTwitter.refreshAll();
                }
            });
        }
    }
    stopForeground(false);
    mNotificationManager.cancel(NOTIFICATION_ID_UPDATE_STATUS);
}

From source file:org.mariotaku.twidere.activity.support.MediaViewerActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    final ActionBar actionBar = getSupportActionBar();
    if (actionBar != null) {
        actionBar.setDisplayHomeAsUpEnabled(true);
    }/*  w ww. j a v a  2  s  .  c om*/
    setContentView(R.layout.activity_media_viewer);
    mPagerAdapter = new MediaPagerAdapter(this);
    mViewPager.setAdapter(mPagerAdapter);
    mViewPager.setPageMargin(getResources().getDimensionPixelSize(R.dimen.element_spacing_normal));
    mViewPager.setOnPageChangeListener(this);
    final Intent intent = getIntent();
    final long accountId = intent.getLongExtra(EXTRA_ACCOUNT_ID, -1);
    final ParcelableMedia[] media = Utils.newParcelableArray(intent.getParcelableArrayExtra(EXTRA_MEDIA),
            ParcelableMedia.CREATOR);
    final ParcelableMedia currentMedia = intent.getParcelableExtra(EXTRA_CURRENT_MEDIA);
    mPagerAdapter.setMedia(accountId, media);
    final int currentIndex = ArrayUtils.indexOf(media, currentMedia);
    if (currentIndex != -1) {
        mViewPager.setCurrentItem(currentIndex, false);
    }
    if (isMediaStatusEnabled() && intent.hasExtra(EXTRA_STATUS)) {
        mMediaStatusContainer.setVisibility(View.VISIBLE);
        final FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
        final Fragment f = new ViewStatusDialogFragment();
        final Bundle args = new Bundle();
        args.putParcelable(EXTRA_STATUS, intent.getParcelableExtra(EXTRA_STATUS));
        args.putBoolean(EXTRA_SHOW_MEDIA_PREVIEW, false);
        args.putBoolean(EXTRA_SHOW_EXTRA_TYPE, false);
        f.setArguments(args);
        ft.replace(R.id.media_status, f);
        ft.commit();
    } else {
        mMediaStatusContainer.setVisibility(View.GONE);
    }
    updatePositionTitle();
}

From source file:de.schildbach.wallet.ui.WalletActivity.java

private void handleIntent(final Intent intent) {
    final String action = intent.getAction();

    if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(action)) {
        final String inputType = intent.getType();
        final NdefMessage ndefMessage = (NdefMessage) intent
                .getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES)[0];
        final byte[] input = Nfc.extractMimePayload(Constants.MIMETYPE_TRANSACTION, ndefMessage);

        new BinaryInputParser(inputType, input) {
            @Override/*from   w w w  .j  a v  a2  s.co  m*/
            protected void handlePaymentIntent(final PaymentIntent paymentIntent) {
                cannotClassify(inputType);
            }

            @Override
            protected void error(final int messageResId, final Object... messageArgs) {
                dialog(WalletActivity.this, null, 0, messageResId, messageArgs);
            }
        }.parse();
    }
}

From source file:com.hivewallet.androidclient.wallet.ui.WalletActivity.java

private void handleIntent(@Nonnull final Intent intent) {
    final String action = intent.getAction();

    if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(action)) {
        final String inputType = intent.getType();
        final NdefMessage ndefMessage = (NdefMessage) intent
                .getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES)[0];
        final byte[] input = Nfc.extractMimePayload(Constants.MIMETYPE_TRANSACTION, ndefMessage);

        new BinaryInputParser(inputType, input) {
            @Override//from   ww w . j ava 2  s .c  o m
            protected void handlePaymentIntent(final PaymentIntent paymentIntent) {
                cannotClassify(inputType);
            }

            @Override
            protected void error(final int messageResId, final Object... messageArgs) {
                dialog(WalletActivity.this, null, 0, messageResId, messageArgs);
            }
        }.parse();
    }
}

From source file:com.kncwallet.wallet.ui.WalletActivity.java

private void handleIntent(@Nonnull final Intent intent) {
    final String action = intent.getAction();

    if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(action)) {
        final String inputType = intent.getType();
        final NdefMessage ndefMessage = (NdefMessage) intent
                .getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES)[0];
        final byte[] input = Nfc.extractMimePayload(Constants.MIMETYPE_TRANSACTION, ndefMessage);

        new BinaryInputParser(inputType, input) {
            @Override//from ww  w  . j  av  a 2  s . c  om
            protected void bitcoinRequest(final Address address, final String addressLabel,
                    final BigInteger amount, final String bluetoothMac) {
                cannotClassify(inputType);
            }

            @Override
            protected void directTransaction(final Transaction transaction) {
                processDirectTransaction(transaction);
            }

            @Override
            protected void error(final int messageResId, final Object... messageArgs) {
                dialog(WalletActivity.this, null, 0, messageResId, messageArgs);
            }
        }.parse();

    } else if (Constants.WIDGET_START_SEND_QR.equals(action)) { //started by widget

        ActionBar actionBar = getSupportActionBar();
        actionBar.setSelectedNavigationItem(0);
        handleScan();

    } else if (Constants.WIDGET_START_RECEIVE.equals(action)) {

        ActionBar actionBar = getSupportActionBar();
        actionBar.setSelectedNavigationItem(2);

    } else if (Constants.WIDGET_START_SEND.equals(action)) {
        ActionBar actionBar = getSupportActionBar();
        actionBar.setSelectedNavigationItem(0);
    }
}

From source file:edu.cmu.mpcs.dashboard.TagViewer.java

void resolveIntent(Intent intent) {
    // Parse the intent
    String action = intent.getAction();
    Log.d("TAG_VIEWER", "in resolve intent");
    if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(action)) {
        // When a tag is discovered we send it to the service to
        // be save. We
        // include a PendingIntent for the service to call back
        // onto. This
        // will cause this activity to be restarted with
        // onNewIntent(). At
        // that time we read it from the database and view it.
        Parcelable[] rawMsgs = intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);
        NdefMessage[] msgs;/*from   w ww.jav a  2s.c  om*/
        if (rawMsgs != null) {
            msgs = new NdefMessage[rawMsgs.length];
            for (int i = 0; i < rawMsgs.length; i++) {
                msgs[i] = (NdefMessage) rawMsgs[i];
            }
        } else {
            // Unknown tag type
            byte[] empty = new byte[] {};
            NdefRecord record = new NdefRecord(NdefRecord.TNF_UNKNOWN, empty, empty, empty);
            NdefMessage msg = new NdefMessage(new NdefRecord[] { record });
            msgs = new NdefMessage[] { msg };
        }
        // Setup the views
        setTitle(R.string.title_scanned_tag);
        buildTagViews(msgs);
    } else {
        Log.e(TAG, "Unknown intent " + intent);
        // finish();
        return;
    }
}

From source file:com.matthewmitchell.nubits_android_wallet.ui.SendCoinsFragment.java

@Override
public void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setRetainInstance(true);/*  w w w  . ja  v a  2 s .com*/
    setHasOptionsMenu(true);

    bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();

    backgroundThread = new HandlerThread("backgroundThread", Process.THREAD_PRIORITY_BACKGROUND);
    backgroundThread.start();
    backgroundHandler = new Handler(backgroundThread.getLooper());

    if (savedInstanceState != null) {
        restoreInstanceState(savedInstanceState);
    } else {
        final Intent intent = activity.getIntent();
        final String action = intent.getAction();
        final Uri intentUri = intent.getData();
        final String scheme = intentUri != null ? intentUri.getScheme() : null;
        final String mimeType = intent.getType();

        if ((Intent.ACTION_VIEW.equals(action) || NfcAdapter.ACTION_NDEF_DISCOVERED.equals(action))
                && intentUri != null && "nu".equals(scheme)) {
            initStateFromNubitsUri(intentUri);
        } else if ((NfcAdapter.ACTION_NDEF_DISCOVERED.equals(action))
                && PaymentProtocol.MIMETYPE_PAYMENTREQUEST.equals(mimeType)) {
            final NdefMessage ndefMessage = (NdefMessage) intent
                    .getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES)[0];
            final byte[] ndefMessagePayload = Nfc.extractMimePayload(PaymentProtocol.MIMETYPE_PAYMENTREQUEST,
                    ndefMessage);
            initStateFromPaymentRequest(mimeType, ndefMessagePayload);
        } else if ((Intent.ACTION_VIEW.equals(action))
                && PaymentProtocol.MIMETYPE_PAYMENTREQUEST.equals(mimeType)) {
            final byte[] paymentRequest = NubitsIntegration.paymentRequestFromIntent(intent);

            if (intentUri != null)
                initStateFromIntentUri(mimeType, intentUri);
            else if (paymentRequest != null)
                initStateFromPaymentRequest(mimeType, paymentRequest);
            else
                throw new IllegalArgumentException();
        } else if (intent.hasExtra(SendCoinsActivity.INTENT_EXTRA_PAYMENT_INTENT)) {
            initStateFromIntentExtras(intent.getExtras());
        } else {
            updateStateFrom(PaymentIntent.blank());
        }
    }
}

From source file:com.woollysammoth.nubit_android_wallet.ui.SendCoinsFragment.java

@Override
public void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setRetainInstance(true);//from   w  w w .  j  ava  2s. c  o m
    setHasOptionsMenu(true);

    bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();

    backgroundThread = new HandlerThread("backgroundThread", Process.THREAD_PRIORITY_BACKGROUND);
    backgroundThread.start();
    backgroundHandler = new Handler(backgroundThread.getLooper());

    if (savedInstanceState != null) {
        restoreInstanceState(savedInstanceState);
    } else {
        final Intent intent = activity.getIntent();
        final String action = intent.getAction();
        final Uri intentUri = intent.getData();
        final String scheme = intentUri != null ? intentUri.getScheme() : null;
        final String mimeType = intent.getType();

        if ((Intent.ACTION_VIEW.equals(action) || NfcAdapter.ACTION_NDEF_DISCOVERED.equals(action))
                && intentUri != null && "ppcoin".equals(scheme)) {
            initStateFromNubitUri(intentUri);
        } else if ((NfcAdapter.ACTION_NDEF_DISCOVERED.equals(action))
                && PaymentProtocol.MIMETYPE_PAYMENTREQUEST.equals(mimeType)) {
            final NdefMessage ndefMessage = (NdefMessage) intent
                    .getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES)[0];
            final byte[] ndefMessagePayload = Nfc.extractMimePayload(PaymentProtocol.MIMETYPE_PAYMENTREQUEST,
                    ndefMessage);
            initStateFromPaymentRequest(mimeType, ndefMessagePayload);
        } else if ((Intent.ACTION_VIEW.equals(action))
                && PaymentProtocol.MIMETYPE_PAYMENTREQUEST.equals(mimeType)) {
            final byte[] paymentRequest = NubitIntegration.paymentRequestFromIntent(intent);

            if (intentUri != null)
                initStateFromIntentUri(mimeType, intentUri);
            else if (paymentRequest != null)
                initStateFromPaymentRequest(mimeType, paymentRequest);
            else
                throw new IllegalArgumentException();
        } else if (intent.hasExtra(SendCoinsActivity.INTENT_EXTRA_PAYMENT_INTENT)) {
            initStateFromIntentExtras(intent.getExtras());
        } else {
            updateStateFrom(PaymentIntent.blank());
        }
    }
}

From source file:com.rimbit.android_wallet.ui.SendCoinsFragment.java

@Override
public void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setRetainInstance(true);//  w w  w. j a  v  a2  s  .com
    setHasOptionsMenu(true);

    bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();

    backgroundThread = new HandlerThread("backgroundThread", Process.THREAD_PRIORITY_BACKGROUND);
    backgroundThread.start();
    backgroundHandler = new Handler(backgroundThread.getLooper());

    if (savedInstanceState != null) {
        restoreInstanceState(savedInstanceState);
    } else {
        final Intent intent = activity.getIntent();
        final String action = intent.getAction();
        final Uri intentUri = intent.getData();
        final String scheme = intentUri != null ? intentUri.getScheme() : null;
        final String mimeType = intent.getType();

        if ((Intent.ACTION_VIEW.equals(action) || NfcAdapter.ACTION_NDEF_DISCOVERED.equals(action))
                && intentUri != null && "rimbit".equals(scheme)) {
            initStateFromRimbitUri(intentUri);
        } else if ((NfcAdapter.ACTION_NDEF_DISCOVERED.equals(action))
                && PaymentProtocol.MIMETYPE_PAYMENTREQUEST.equals(mimeType)) {
            final NdefMessage ndefMessage = (NdefMessage) intent
                    .getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES)[0];
            final byte[] ndefMessagePayload = Nfc.extractMimePayload(PaymentProtocol.MIMETYPE_PAYMENTREQUEST,
                    ndefMessage);
            initStateFromPaymentRequest(mimeType, ndefMessagePayload);
        } else if ((Intent.ACTION_VIEW.equals(action))
                && PaymentProtocol.MIMETYPE_PAYMENTREQUEST.equals(mimeType)) {
            final byte[] paymentRequest = RimbitIntegration.paymentRequestFromIntent(intent);

            if (intentUri != null)
                initStateFromIntentUri(mimeType, intentUri);
            else if (paymentRequest != null)
                initStateFromPaymentRequest(mimeType, paymentRequest);
            else
                throw new IllegalArgumentException();
        } else if (intent.hasExtra(SendCoinsActivity.INTENT_EXTRA_PAYMENT_INTENT)) {
            initStateFromIntentExtras(intent.getExtras());
        } else {
            updateStateFrom(PaymentIntent.blank());
        }
    }
}

From source file:com.matthewmitchell.peercoin_android_wallet.ui.SendCoinsFragment.java

@Override
public void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setRetainInstance(true);//from  ww w .j  a  v  a  2s . co m
    setHasOptionsMenu(true);

    bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();

    backgroundThread = new HandlerThread("backgroundThread", Process.THREAD_PRIORITY_BACKGROUND);
    backgroundThread.start();
    backgroundHandler = new Handler(backgroundThread.getLooper());

    if (savedInstanceState != null) {
        restoreInstanceState(savedInstanceState);
    } else {
        final Intent intent = activity.getIntent();
        final String action = intent.getAction();
        final Uri intentUri = intent.getData();
        final String scheme = intentUri != null ? intentUri.getScheme() : null;
        final String mimeType = intent.getType();

        if ((Intent.ACTION_VIEW.equals(action) || NfcAdapter.ACTION_NDEF_DISCOVERED.equals(action))
                && intentUri != null && "ppcoin".equals(scheme)) {
            initStateFromPeercoinUri(intentUri);
        } else if ((NfcAdapter.ACTION_NDEF_DISCOVERED.equals(action))
                && PaymentProtocol.MIMETYPE_PAYMENTREQUEST.equals(mimeType)) {
            final NdefMessage ndefMessage = (NdefMessage) intent
                    .getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES)[0];
            final byte[] ndefMessagePayload = Nfc.extractMimePayload(PaymentProtocol.MIMETYPE_PAYMENTREQUEST,
                    ndefMessage);
            initStateFromPaymentRequest(mimeType, ndefMessagePayload);
        } else if ((Intent.ACTION_VIEW.equals(action))
                && PaymentProtocol.MIMETYPE_PAYMENTREQUEST.equals(mimeType)) {
            final byte[] paymentRequest = PeercoinIntegration.paymentRequestFromIntent(intent);

            if (intentUri != null)
                initStateFromIntentUri(mimeType, intentUri);
            else if (paymentRequest != null)
                initStateFromPaymentRequest(mimeType, paymentRequest);
            else
                throw new IllegalArgumentException();
        } else if (intent.hasExtra(SendCoinsActivity.INTENT_EXTRA_PAYMENT_INTENT)) {
            initStateFromIntentExtras(intent.getExtras());
        } else {
            updateStateFrom(PaymentIntent.blank());
        }
    }
}