use of twitter4j.TwitterException in project twicalico by moko256.
the class StatusView method updateView.
private void updateView() {
final Status item = status.isRetweet() ? status.getRetweetedStatus() : status;
if (status.isRetweet()) {
if (retweetUserName.getVisibility() != View.VISIBLE) {
retweetUserName.setVisibility(View.VISIBLE);
}
retweetUserName.setText(getContext().getString(R.string.repeat_by, status.getUser().getName()));
} else {
if (retweetUserName.getVisibility() != View.GONE) {
retweetUserName.setVisibility(View.GONE);
}
}
boolean isReply = item.getInReplyToScreenName() != null;
if (isReply) {
if (replyUserName.getVisibility() != View.VISIBLE) {
replyUserName.setVisibility(View.VISIBLE);
}
replyUserName.setText(getContext().getString((item.getInReplyToStatusId() != -1) ? R.string.reply_to : R.string.mention_to, item.getInReplyToScreenName()));
} else {
if (replyUserName.getVisibility() != View.GONE) {
replyUserName.setVisibility(View.GONE);
}
}
if (status.isRetweet() || isReply) {
if (headerBottomMargin.getVisibility() != VISIBLE) {
headerBottomMargin.setVisibility(VISIBLE);
}
} else {
if (headerBottomMargin.getVisibility() != GONE) {
headerBottomMargin.setVisibility(GONE);
}
}
if (GlobalApplication.configuration.isTimelineImageLoad) {
glideRequests.load(item.getUser().get400x400ProfileImageURLHttps()).circleCrop().into(userImage);
} else {
userImage.setImageResource(R.drawable.border_frame_round);
}
userName.setText(item.getUser().getName());
userId.setText(TwitterStringUtils.plusAtMark(item.getUser().getScreenName()));
TwitterStringUtils.setLinkedSequenceTo(item, tweetContext);
if (!tweetContext.getText().toString().trim().isEmpty()) {
tweetContext.setMovementMethod(LinkMovementMethod.getInstance());
if (tweetContext.getVisibility() != VISIBLE) {
tweetContext.setVisibility(VISIBLE);
}
} else {
tweetContext.setMovementMethod(null);
if (tweetContext.getVisibility() != GONE) {
tweetContext.setVisibility(GONE);
}
}
timeStampText.setText(DateUtils.getRelativeTimeSpanString(item.getCreatedAt().getTime(), System.currentTimeMillis(), 0));
userImage.setOnClickListener(v -> {
ActivityOptionsCompat animation = ActivityOptionsCompat.makeSceneTransitionAnimation(((Activity) getContext()), v, "icon_image");
getContext().startActivity(ShowUserActivity.getIntent(getContext(), item.getUser().getId()), animation.toBundle());
});
setOnClickListener(v -> {
ActivityOptionsCompat animation = ActivityOptionsCompat.makeSceneTransitionAnimation(((Activity) getContext()), userImage, "icon_image");
getContext().startActivity(ShowTweetActivity.getIntent(getContext(), item.getId()), animation.toBundle());
});
Status quotedStatus = item.getQuotedStatus();
if (quotedStatus != null) {
if (quoteTweetLayout.getVisibility() != View.VISIBLE) {
quoteTweetLayout.setVisibility(View.VISIBLE);
}
quoteTweetLayout.setOnClickListener(v -> getContext().startActivity(ShowTweetActivity.getIntent(getContext(), quotedStatus.getId())));
quoteTweetUserName.setText(quotedStatus.getUser().getName());
quoteTweetUserId.setText(TwitterStringUtils.plusAtMark(quotedStatus.getUser().getScreenName()));
quoteTweetContext.setText(quotedStatus.getText());
} else {
if (quoteTweetLayout.getVisibility() != View.GONE) {
quoteTweetLayout.setVisibility(View.GONE);
}
}
MediaEntity[] mediaEntities = item.getMediaEntities();
if (mediaEntities.length != 0) {
imageTableView.setVisibility(View.VISIBLE);
imageTableView.setMediaEntities(mediaEntities, item.isPossiblySensitive());
} else {
imageTableView.setVisibility(View.GONE);
}
likeButton.setOnCheckedChangeListener((compoundButton, b) -> Single.create(subscriber -> {
try {
if (b && (!item.isFavorited())) {
subscriber.onSuccess(GlobalApplication.twitter.createFavorite(item.getId()));
} else if ((!b) && item.isFavorited()) {
subscriber.onSuccess(GlobalApplication.twitter.destroyFavorite(item.getId()));
}
} catch (TwitterException e) {
subscriber.onError(e);
}
}).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(result -> {
Status status = (Status) result;
GlobalApplication.statusCache.add(status);
setStatus(GlobalApplication.statusCache.get(this.status.getId()));
Toast.makeText(getContext(), R.string.succeeded, Toast.LENGTH_SHORT).show();
}, throwable -> {
throwable.printStackTrace();
Toast.makeText(getContext(), R.string.error_occurred, Toast.LENGTH_SHORT).show();
}));
likeButton.setChecked(item.isFavorited());
retweetButton.setOnCheckedChangeListener((compoundButton, b) -> Single.create(subscriber -> {
try {
if (b && (!item.isRetweeted())) {
subscriber.onSuccess(GlobalApplication.twitter.retweetStatus(item.getId()));
} else if ((!b) && item.isRetweeted()) {
subscriber.onSuccess(GlobalApplication.twitter.unRetweetStatus(item.getId()));
}
} catch (TwitterException e) {
subscriber.onError(e);
}
}).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(result -> {
Status status = (Status) result;
GlobalApplication.statusCache.add(status);
setStatus(GlobalApplication.statusCache.get(this.status.getId()));
Toast.makeText(getContext(), R.string.succeeded, Toast.LENGTH_SHORT).show();
}, throwable -> {
throwable.printStackTrace();
Toast.makeText(getContext(), R.string.error_occurred, Toast.LENGTH_SHORT).show();
}));
retweetButton.setChecked(item.isRetweeted());
retweetButton.setEnabled(GlobalApplication.clientType == Type.MASTODON || !(item.getUser().isProtected()) || item.getUser().getId() == GlobalApplication.userId);
replyButton.setOnClickListener(v -> getContext().startActivity(PostActivity.getIntent(getContext(), item.getId(), TwitterStringUtils.convertToReplyTopString(GlobalApplication.userCache.get(GlobalApplication.userId).getScreenName(), item.getUser().getScreenName(), item.getUserMentionEntities()).toString())));
likeCount.setText((item.getFavoriteCount() != 0) ? TwitterStringUtils.convertToSIUnitString(item.getFavoriteCount()) : "");
retweetCount.setText((item.getRetweetCount() != 0) ? TwitterStringUtils.convertToSIUnitString(item.getRetweetCount()) : "");
}
use of twitter4j.TwitterException in project twicalico by moko256.
the class TrendsFragment method getResponseSingle.
public Single<Trends> getResponseSingle(GeoLocation geolocation) {
return Single.create(subscriber -> {
try {
Trends trends = GlobalApplication.twitter.getPlaceTrends(GlobalApplication.twitter.getClosestTrends(geolocation).get(0).getWoeid());
helper.setTrends(Arrays.asList(trends.getTrends()));
subscriber.onSuccess(trends);
} catch (TwitterException e) {
subscriber.onError(e);
}
});
}
use of twitter4j.TwitterException in project twicalico by moko256.
the class UserInfoFragment method updateUser.
private Single<User> updateUser() {
return Single.create(subscriber -> {
try {
User user = GlobalApplication.twitter.showUser(userId);
GlobalApplication.userCache.add(user);
subscriber.onSuccess(user);
} catch (TwitterException e) {
subscriber.onError(e);
}
});
}
use of twitter4j.TwitterException in project twicalico by moko256.
the class PostTweetModelImpl method postTweet.
@Override
public Single<Status> postTweet() {
return Single.create(subscriber -> {
try {
StatusUpdate statusUpdate = new StatusUpdate(tweetText);
if (uriList.size() > 0) {
long[] ids = new long[uriList.size()];
for (int i = 0; i < uriList.size(); i++) {
Uri uri = uriList.get(i);
InputStream image = contentResolver.openInputStream(uri);
ids[i] = twitter.uploadMedia(uri.getLastPathSegment(), image).getMediaId();
}
statusUpdate.setMediaIds(ids);
statusUpdate.setPossiblySensitive(possiblySensitive);
}
if (isReply()) {
statusUpdate.setInReplyToStatusId(inReplyToStatusId);
}
if (location != null) {
statusUpdate.setLocation(location);
}
subscriber.onSuccess(twitter.updateStatus(statusUpdate));
} catch (FileNotFoundException | TwitterException e) {
subscriber.onError(e);
}
});
}
use of twitter4j.TwitterException in project twicalico by moko256.
the class MainActivity method updateDrawerImage.
private void updateDrawerImage() {
subscription.add(Single.create(subscriber -> {
try {
User me = GlobalApplication.userCache.get(GlobalApplication.userId);
if (me == null) {
me = GlobalApplication.twitter.verifyCredentials();
GlobalApplication.userCache.add(me);
}
subscriber.onSuccess(me);
} catch (TwitterException e) {
subscriber.onError(e);
}
}).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(result -> {
User user = (User) result;
userNameText.setText(user.getName());
userIdText.setText(TwitterStringUtils.plusAtMark(user.getScreenName()));
userImage.setOnClickListener(v -> startMyUserActivity());
GlideRequests requests = GlideApp.with(this);
requests.load(user.get400x400ProfileImageURLHttps()).circleCrop().into(userImage);
requests.load(user.getProfileBannerRetinaURL()).centerCrop().into(userBackgroundImage);
}, Throwable::printStackTrace));
}
Aggregations