aboutsummaryrefslogtreecommitdiff
path: root/WordPress/src/main/java/org/wordpress/android/ui/stats/StatsFollowersFragment.java
diff options
context:
space:
mode:
authorDanilo Ercoli <ercoli@gmail.com>2014-12-01 15:26:58 +0100
committerDanilo Ercoli <ercoli@gmail.com>2014-12-01 15:26:58 +0100
commit58104d307cc0a295a4f07111186eeb8ca757ebe1 (patch)
tree41aad7f845e753795491560c875c26380c61ef7c /WordPress/src/main/java/org/wordpress/android/ui/stats/StatsFollowersFragment.java
parent3e0f6453aeea0ea70383382ea9fd03a754372d00 (diff)
downloadgradle-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.java78
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/