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));
}
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));
}
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));
}
}
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));
}
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);
}
Aggregations