Search in sources :

Example 16 with Status

use of com.keylesspalace.tusky.entity.Status in project Tusky by Vavassor.

the class NotificationsFragment method onVoteInPoll.

public void onVoteInPoll(int position, @NonNull List<Integer> choices) {
    final Notification notification = notifications.get(position).asRight();
    final Status status = notification.getStatus().getActionableStatus();
    timelineCases.voteInPoll(status.getId(), status.getPoll().getId(), choices).observeOn(AndroidSchedulers.mainThread()).to(autoDisposable(from(this))).subscribe((newPoll) -> setVoteForPoll(status, newPoll), (t) -> Log.d(TAG, "Failed to vote in poll: " + status.getId(), t));
}
Also used : Status(com.keylesspalace.tusky.entity.Status) Notification(com.keylesspalace.tusky.entity.Notification)

Example 17 with Status

use of com.keylesspalace.tusky.entity.Status in project Tusky by Vavassor.

the class NotificationsFragment method onReblog.

@Override
public void onReblog(final boolean reblog, final int position) {
    final Notification notification = notifications.get(position).asRight();
    final Status status = notification.getStatus();
    Objects.requireNonNull(status, "Reblog on notification without status");
    timelineCases.reblog(status.getId(), reblog).observeOn(AndroidSchedulers.mainThread()).to(autoDisposable(from(this))).subscribe((newStatus) -> setReblogForStatus(status.getId(), reblog), (t) -> Log.d(getClass().getSimpleName(), "Failed to reblog status: " + status.getId(), t));
}
Also used : Status(com.keylesspalace.tusky.entity.Status) Notification(com.keylesspalace.tusky.entity.Notification)

Example 18 with Status

use of com.keylesspalace.tusky.entity.Status in project Tusky by Vavassor.

the class ViewThreadFragment method updateStatus.

private void updateStatus(String statusId, Function<Status, Status> mapper) {
    int position = indexOfStatus(statusId);
    if (position >= 0 && position < statuses.size()) {
        Status oldStatus = statuses.get(position);
        Status newStatus = mapper.apply(oldStatus);
        StatusViewData.Concrete oldViewData = statuses.getPairedItem(position);
        statuses.set(position, newStatus);
        updateViewData(position, oldViewData.copyWithStatus(newStatus));
    }
}
Also used : Status(com.keylesspalace.tusky.entity.Status) StatusViewData(com.keylesspalace.tusky.viewdata.StatusViewData)

Example 19 with Status

use of com.keylesspalace.tusky.entity.Status in project Tusky by Vavassor.

the class ViewThreadFragment method onBookmark.

@Override
public void onBookmark(final boolean bookmark, final int position) {
    final Status status = statuses.get(position);
    timelineCases.bookmark(statuses.get(position).getId(), bookmark).observeOn(AndroidSchedulers.mainThread()).to(autoDisposable(from(this))).subscribe(this::replaceStatus, (t) -> Log.d(TAG, "Failed to bookmark status: " + status.getId(), t));
}
Also used : Status(com.keylesspalace.tusky.entity.Status)

Example 20 with Status

use of com.keylesspalace.tusky.entity.Status in project Tusky by Vavassor.

the class ViewThreadFragment method onViewUrl.

@Override
public void onViewUrl(String url) {
    Status status = null;
    if (!statuses.isEmpty()) {
        status = statuses.get(statusIndex);
    }
    if (status != null && status.getUrl().equals(url)) {
        // already viewing the status with this url
        // probably just a preview federated and the user is clicking again to view more -> open the browser
        // this can happen with some friendica statuses
        LinkHelper.openLink(url, requireContext());
        return;
    }
    super.onViewUrl(url);
}
Also used : Status(com.keylesspalace.tusky.entity.Status)

Aggregations

Status (com.keylesspalace.tusky.entity.Status)48 StatusViewData (com.keylesspalace.tusky.viewdata.StatusViewData)13 Notification (com.keylesspalace.tusky.entity.Notification)10 Intent (android.content.Intent)4 ArrayList (java.util.ArrayList)4 Either (com.keylesspalace.tusky.util.Either)3 NotificationViewData (com.keylesspalace.tusky.viewdata.NotificationViewData)3 List (java.util.List)3 Context (android.content.Context)2 Pair (android.support.v4.util.Pair)2 TextView (android.widget.TextView)2 AccountEntity (com.keylesspalace.tusky.db.AccountEntity)2 PendingIntent (android.app.PendingIntent)1 ClipData (android.content.ClipData)1 ClipboardManager (android.content.ClipboardManager)1 BitmapDrawable (android.graphics.drawable.BitmapDrawable)1 ColorDrawable (android.graphics.drawable.ColorDrawable)1 Drawable (android.graphics.drawable.Drawable)1 Spanned (android.text.Spanned)1 TextUtils (android.text.TextUtils)1