diff options
author | Danilo Ercoli <ercoli@gmail.com> | 2014-12-01 15:26:58 +0100 |
---|---|---|
committer | Danilo Ercoli <ercoli@gmail.com> | 2014-12-01 15:26:58 +0100 |
commit | 58104d307cc0a295a4f07111186eeb8ca757ebe1 (patch) | |
tree | 41aad7f845e753795491560c875c26380c61ef7c /WordPress/src/main/java/org/wordpress/android/ui/stats/StatsFollowersFragment.java | |
parent | 3e0f6453aeea0ea70383382ea9fd03a754372d00 (diff) | |
download | gradle-perf-android-medium-58104d307cc0a295a4f07111186eeb8ca757ebe1.tar.gz |
- Added pagination to Followers module.
- Fixed an issue with date format in Followers.
- Refactoring.
Diffstat (limited to 'WordPress/src/main/java/org/wordpress/android/ui/stats/StatsFollowersFragment.java')
-rw-r--r-- | WordPress/src/main/java/org/wordpress/android/ui/stats/StatsFollowersFragment.java | 78 |
1 files changed, 54 insertions, 24 deletions
diff --git a/WordPress/src/main/java/org/wordpress/android/ui/stats/StatsFollowersFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/stats/StatsFollowersFragment.java index c657a300d..7b37e15de 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/stats/StatsFollowersFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/stats/StatsFollowersFragment.java @@ -122,35 +122,65 @@ public class StatsFollowersFragment extends StatsAbstractListFragment implements return; } - FollowersModel followersWPCOMModel = (FollowersModel) mDatamodels[0]; - FollowersModel followersEmailModel = (FollowersModel) mDatamodels[1]; - ArrayAdapter adapter = null; - if (mTopPagerSelectedButtonIndex == 0) { - if (followersWPCOMModel != null) { - List<FollowerModel> mSubscribers = followersWPCOMModel.getFollowers(); - if (mSubscribers != null && mSubscribers.size() > 0) { - adapter = new DotComFollowerAdapter(getActivity(), mSubscribers); - } - } - } else { - if (followersEmailModel != null) { - List<FollowerModel> mSubscribers = followersEmailModel.getFollowers(); - if (mSubscribers != null && mSubscribers.size() > 0) { - adapter = new DotComFollowerAdapter(getActivity(), mSubscribers); + final FollowersModel followersModel = (FollowersModel) mDatamodels[mTopPagerSelectedButtonIndex]; + if (followersModel != null && followersModel.getFollowers() != null && + followersModel.getFollowers().size() > 0) { + ArrayAdapter adapter = new DotComFollowerAdapter(getActivity(), followersModel.getFollowers()); + StatsUIHelper.reloadLinearLayout(getActivity(), adapter, mList, getMaxNumberOfItemsToShowInList()); + showEmptyUI(false); + if (isSingleView()) { + if (followersModel.getPages() > 1) { + mPaginationContainer.setVisibility(View.VISIBLE); + mPaginationText.setText("Page " + followersModel.getPage() + " of " + followersModel.getPages()); + mPaginationGoBackButton.setEnabled(true); + mPaginationGoForwardButton.setEnabled(true); + + if (followersModel.getPage() == 1) { + mPaginationGoBackButton.setVisibility(View.GONE); + } else { + mPaginationGoBackButton.setVisibility(View.VISIBLE); + mPaginationGoBackButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + mPaginationGoBackButton.setEnabled(false); + mPaginationGoForwardButton.setEnabled(false); + mMoreDataListener.onMoreDataRequested( + getSectionToUpdate()[mTopPagerSelectedButtonIndex], + followersModel.getPage() - 1 + ); + } + }); + } + + if (followersModel.getPage() == followersModel.getPages()) { + mPaginationGoForwardButton.setVisibility(View.GONE); + } else { + mPaginationGoForwardButton.setVisibility(View.VISIBLE); + mPaginationGoForwardButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + mPaginationGoBackButton.setEnabled(false); + mPaginationGoForwardButton.setEnabled(false); + mMoreDataListener.onMoreDataRequested( + getSectionToUpdate()[mTopPagerSelectedButtonIndex], + followersModel.getPage() + 1 + ); + } + }); + } + } else { + mPaginationContainer.setVisibility(View.GONE); } } - } - if (adapter != null) { - StatsUIHelper.reloadLinearLayout(getActivity(), adapter, mList, getMaxNumberOfItemsToShowInList()); - showEmptyUI(false); - if ( mTopPagerSelectedButtonIndex == 0 ) { - mTotalsLabel.setText(getTotalFollowersLabel(followersWPCOMModel.getTotalWPCom())); + if (mTopPagerSelectedButtonIndex == 0) { + mTotalsLabel.setText(getTotalFollowersLabel(followersModel.getTotalWPCom())); } else { - mTotalsLabel.setText(getTotalFollowersLabel(followersEmailModel.getTotalEmail())); + mTotalsLabel.setText(getTotalFollowersLabel(followersModel.getTotalEmail())); } } else { showEmptyUI(true); + mPaginationContainer.setVisibility(View.GONE); mTotalsLabel.setText(getTotalFollowersLabel(0)); } } @@ -237,10 +267,10 @@ public class StatsFollowersFragment extends StatsAbstractListFragment implements private String getSinceLabel(String dataSubscribed) { - Date currentDateTime = new Date(StatsUtils.getCurrentDateTimeMsTZ(getLocalTableBlogID())); + Date currentDateTime = new Date(); try { - SimpleDateFormat from = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + SimpleDateFormat from = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ"); Date date = from.parse(dataSubscribed); // See http://momentjs.com/docs/#/displaying/fromnow/ |