private void setStatuses(TwitterStatuses statuses) { if (statuses != null && statuses.getStatusCount() > 0) { mConversationStatuses = new TwitterStatuses(); for (int i = 0; i < statuses.getStatusCount(); i++) { TwitterStatus status = statuses.getStatus(i); if (status.mId != mTwitterStatus.mId) { mConversationStatuses.add(new TwitterStatus(status)); } } if (mConversationStatuses.getStatusCount() == 0) { mConversationStatuses = null; } } }
private void updateViewVisibility(boolean loadHasFinished) { if (loadHasFinished == false && (mConversationStatuses == null || mConversationStatuses.getStatusCount() == 0)) { mLoadingView.setVisibility(View.VISIBLE); } else { mLoadingView.setVisibility(View.GONE); mConversationView.removeAllViews(); if (mConversationStatuses == null || mConversationStatuses.getStatusCount() == 0) { View view = getLoadMoreView(); mConversationView.addView(view); } else { for (int i = 0; i < mConversationStatuses.getStatusCount(); ++i) { View view = getTweetFeedView(i, mConversationStatuses.getStatus(i)); mConversationView.addView(view); } } } }
public void configure(TwitterStatus twitterStatus, LayoutInflater inflater, Callbacks callbacks) { mTwitterStatus = twitterStatus; mInflater = inflater; mCallbacks = callbacks; mLoadingView = (RelativeLayout) findViewById(R.id.conversation_feed_loading); mConversationView = (LinearLayout) findViewById(R.id.conversation_feed_loaded); TwitterContentHandleBase base = new TwitterContentHandleBase( TwitterConstant.ContentType.STATUSES, TwitterConstant.StatusesType.PREVIOUS_CONVERSATION); mContentHandle = new TwitterContentHandle( base, twitterStatus.mUserScreenName, Long.valueOf(mTwitterStatus.mId).toString()); TwitterStatuses cachedStatuses = TwitterManager.get().getContentFeed(mContentHandle); if (cachedStatuses != null && cachedStatuses.getStatusCount() > 0) { setStatuses(cachedStatuses); updateViewVisibility(true); } else { TwitterManager.get() .triggerFetchStatuses( mContentHandle, null, new TwitterFetchStatusesFinishedCallback() { @Override public void finished(TwitterFetchResult result, TwitterStatuses feed) { if (result.isSuccessful()) { setStatuses(feed); } updateViewVisibility(true); } }, 1); } }