use of twitter4j.User in project twicalico by moko256.
the class ShowUserActivity method getUserSingle.
public Single<User> getUserSingle() {
return Single.create(subscriber -> {
try {
User user = null;
if (userId != -1) {
user = GlobalApplication.twitter.showUser(userId);
} else if (userScreenName != null) {
user = GlobalApplication.twitter.showUser(userScreenName);
GlobalApplication.userCache.add(user);
}
subscriber.onSuccess(user);
} catch (TwitterException e) {
subscriber.onError(e);
}
});
}
use of twitter4j.User in project twicalico by moko256.
the class UserInfoFragment method onCreate.
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
subscription = new CompositeSubscription();
userId = getArguments().getLong("userId");
User cachedUser = GlobalApplication.userCache.get(userId);
if (cachedUser == null) {
subscription.add(updateUser().subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(this::setShowUserInfo, Throwable::printStackTrace));
}
}
use of twitter4j.User in project twicalico by moko256.
the class UserInfoFragment method onCreateView.
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_show_user_info, container, false);
glideRequests = GlideApp.with(this);
swipeRefreshLayout = view.findViewById(R.id.show_user_swipe_refresh);
swipeRefreshLayout.setColorSchemeResources(R.color.color_primary);
swipeRefreshLayout.setOnRefreshListener(() -> subscription.add(updateUser().subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(result -> {
setShowUserInfo(result);
swipeRefreshLayout.setRefreshing(false);
}, Throwable::printStackTrace)));
header = view.findViewById(R.id.show_user_bgimage);
icon = view.findViewById(R.id.show_user_image);
userNameText = view.findViewById(R.id.show_user_name);
userLockIcon = view.findViewById(R.id.show_user_lock);
userIdText = view.findViewById(R.id.show_user_id);
userBioText = view.findViewById(R.id.show_user_bio);
userBioText.setMovementMethod(LinkMovementMethod.getInstance());
userLocation = view.findViewById(R.id.show_user_location);
userUrl = view.findViewById(R.id.show_user_url);
userCreatedAt = view.findViewById(R.id.show_user_created_at);
userTweetsCount = view.findViewById(R.id.show_user_tweets_count);
userFollowCount = view.findViewById(R.id.show_user_follow_count);
userFollowerCount = view.findViewById(R.id.show_user_follower_count);
User cachedUser = GlobalApplication.userCache.get(userId);
if (cachedUser != null) {
setShowUserInfo(cachedUser);
}
return view;
}
use of twitter4j.User 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.User in project twicalico by moko256.
the class UsersAdapter method onBindViewHolder.
@Override
public void onBindViewHolder(@NonNull ViewHolder viewHolder, final int i) {
User item = GlobalApplication.userCache.get(data.get(i));
glideRequests.load(item.get400x400ProfileImageURLHttps()).circleCrop().into(viewHolder.userUserImage);
viewHolder.userUserName.setText(item.getName());
viewHolder.userUserId.setText(TwitterStringUtils.plusAtMark(item.getScreenName()));
viewHolder.itemView.setOnClickListener(v -> {
ActivityOptionsCompat animation = ActivityOptionsCompat.makeSceneTransitionAnimation(((Activity) context), viewHolder.userUserImage, "icon_image");
context.startActivity(ShowUserActivity.getIntent(context, item.getId()), animation.toBundle());
});
viewHolder.userLockIcon.setVisibility(item.isProtected() ? View.VISIBLE : View.GONE);
}
Aggregations