Search in sources :

Example 1 with ProgressImageView

use of com.keylesspalace.tusky.view.ProgressImageView in project Tusky by tuskyapp.

the class ComposeActivity method addMediaToQueue.

private void addMediaToQueue(QueuedMedia.Type type, Bitmap preview, Uri uri, long mediaSize, QueuedMedia.ReadyStage readyStage, @Nullable String description) {
    final QueuedMedia item = new QueuedMedia(type, uri, new ProgressImageView(this), mediaSize, description);
    item.readyStage = readyStage;
    ImageView view = item.preview;
    Resources resources = getResources();
    int side = resources.getDimensionPixelSize(R.dimen.compose_media_preview_side);
    int margin = resources.getDimensionPixelSize(R.dimen.compose_media_preview_margin);
    int marginBottom = resources.getDimensionPixelSize(R.dimen.compose_media_preview_margin_bottom);
    LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(side, side);
    layoutParams.setMargins(margin, 0, margin, marginBottom);
    view.setLayoutParams(layoutParams);
    view.setScaleType(ImageView.ScaleType.CENTER_CROP);
    view.setImageBitmap(preview);
    view.setOnClickListener(v -> onMediaClick(item, v));
    view.setContentDescription(getString(R.string.action_delete));
    mediaPreviewBar.addView(view);
    mediaQueued.add(item);
    int queuedCount = mediaQueued.size();
    if (queuedCount == 1) {
        /* The media preview bar is actually not inset in the EditText, it just overlays it and
             * is aligned to the bottom. But, so that text doesn't get hidden under it, extra
             * padding is added at the bottom of the EditText. */
        int totalHeight = side + margin + marginBottom;
        textEditor.setPadding(textEditor.getPaddingLeft(), textEditor.getPaddingTop(), textEditor.getPaddingRight(), totalHeight);
        // If there's one video in the queue it is full, so disable the button to queue more.
        if (item.type == QueuedMedia.Type.VIDEO) {
            disableMediaButtons();
        }
    } else if (queuedCount >= Status.MAX_MEDIA_ATTACHMENTS) {
        // Limit the total media attachments, also.
        disableMediaButtons();
    }
    if (queuedCount >= 1) {
        showMarkSensitive(true);
    }
    if (item.readyStage != QueuedMedia.ReadyStage.UPLOADED) {
        waitForMediaLatch.countUp();
        if (mediaSize > STATUS_MEDIA_SIZE_LIMIT && type == QueuedMedia.Type.IMAGE) {
            downsizeMedia(item);
        } else {
            uploadMedia(item);
        }
    }
}
Also used : ImageView(android.widget.ImageView) ProgressImageView(com.keylesspalace.tusky.view.ProgressImageView) AppCompatResources(android.support.v7.content.res.AppCompatResources) Resources(android.content.res.Resources) ProgressImageView(com.keylesspalace.tusky.view.ProgressImageView) SuppressLint(android.annotation.SuppressLint) LinearLayout(android.widget.LinearLayout)

Aggregations

SuppressLint (android.annotation.SuppressLint)1 Resources (android.content.res.Resources)1 AppCompatResources (android.support.v7.content.res.AppCompatResources)1 ImageView (android.widget.ImageView)1 LinearLayout (android.widget.LinearLayout)1 ProgressImageView (com.keylesspalace.tusky.view.ProgressImageView)1