summaryrefslogtreecommitdiff
path: root/org.fox.ttrss
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2016-04-14 09:05:53 +0300
committerAndrew Dolgov <[email protected]>2016-04-14 09:05:53 +0300
commit657366879c27e21573c0a683835537bed23731d0 (patch)
tree32648e7354c14859964b4b959bb02c3657722590 /org.fox.ttrss
parentf267359f633e55a0121d60dfd4e277f5cacf1828 (diff)
implement view_loadmore as a listview footer instead of a pseudo-article
Diffstat (limited to 'org.fox.ttrss')
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java28
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/util/HeadlinesRequest.java13
2 files changed, 26 insertions, 15 deletions
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java
index 52b9de48..b5d1b53d 100755
--- a/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java
@@ -90,7 +90,7 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
public static final int HEADLINES_REQUEST_SIZE = 30;
public static final int HEADLINES_BUFFER_MAX = 500;
- public static final int ARTICLE_SPECIAL_LOADMORE = -1;
+ //public static final int ARTICLE_SPECIAL_LOADMORE = -1;
public static final int ARTICLE_SPECIAL_TOP_CHANGED = -3;
private final String TAG = this.getClass().getSimpleName();
@@ -117,6 +117,7 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
private int m_listPreviousVisibleItem;
private ListView m_list;
private ImageLoader m_imageLoader = ImageLoader.getInstance();
+ private View m_listLoadingView;
public ArticleList getSelectedArticles() {
ArticleList tmp = new ArticleList();
@@ -441,7 +442,10 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
}
});
- if (m_prefs.getBoolean("headlines_mark_read_scroll", false)) {
+ m_listLoadingView = inflater.inflate(R.layout.headlines_row_loadmore, m_list, false);
+ m_list.addFooterView(m_listLoadingView, null, false);
+
+ if (m_prefs.getBoolean("headlines_mark_read_scroll", false)) {
WindowManager wm = (WindowManager) m_activity.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
int screenHeight = display.getHeight();
@@ -558,6 +562,8 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
if (m_swipeLayout != null) m_swipeLayout.setRefreshing(true);
+ m_listLoadingView.setVisibility(View.INVISIBLE);
+
/* if (!m_feed.equals(Application.getInstance().m_activeFeed)) {
append = false;
} */
@@ -618,6 +624,8 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
m_list.smoothScrollToPosition(0);
}
+ m_listLoadingView.setVisibility(m_amountLoaded == HEADLINES_REQUEST_SIZE ? View.VISIBLE : View.GONE);
+
} else {
if (m_lastError == ApiError.LOGIN_FAILED) {
m_activity.login(true);
@@ -763,8 +771,8 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
public static final int VIEW_UNREAD = 1;
public static final int VIEW_SELECTED = 2;
public static final int VIEW_SELECTED_UNREAD = 3;
- public static final int VIEW_LOADMORE = 4;
- public static final int VIEW_TOP_CHANGED = 5;
+ //public static final int VIEW_LOADMORE = 4;
+ public static final int VIEW_TOP_CHANGED = 4;
public static final int VIEW_COUNT = VIEW_TOP_CHANGED+1;
@@ -819,9 +827,9 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
public int getItemViewType(int position) {
Article a = items.get(position);
- if (a.id == ARTICLE_SPECIAL_LOADMORE) {
- return VIEW_LOADMORE;
- } else if (a.id == ARTICLE_SPECIAL_TOP_CHANGED) {
+ /*if (a.id == ARTICLE_SPECIAL_LOADMORE) {
+ return VIEW_LOADMORE; */
+ if (a.id == ARTICLE_SPECIAL_TOP_CHANGED) {
return VIEW_TOP_CHANGED;
} else if (m_activeArticle != null && a.id == m_activeArticle.id && a.unread) {
return VIEW_SELECTED_UNREAD;
@@ -919,9 +927,9 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
int layoutId = m_compactLayoutMode ? R.layout.headlines_row_compact : R.layout.headlines_row;
switch (getItemViewType(position)) {
- case VIEW_LOADMORE:
+ /*case VIEW_LOADMORE:
layoutId = R.layout.headlines_row_loadmore;
- break;
+ break;*/
case VIEW_TOP_CHANGED:
layoutId = R.layout.headlines_row_top_changed;
break;
@@ -1570,7 +1578,7 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
- if (!m_refreshInProgress && m_articles.findById(ARTICLE_SPECIAL_LOADMORE) != null && firstVisibleItem + visibleItemCount == m_articles.size()) {
+ if (!m_refreshInProgress && /*m_articles.findById(ARTICLE_SPECIAL_LOADMORE) != null &&*/ firstVisibleItem + visibleItemCount == m_articles.size()) {
refresh(true);
}
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/util/HeadlinesRequest.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/util/HeadlinesRequest.java
index 891d1d1a..54df9da4 100755
--- a/org.fox.ttrss/src/main/java/org/fox/ttrss/util/HeadlinesRequest.java
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/util/HeadlinesRequest.java
@@ -32,6 +32,7 @@ public class HeadlinesRequest extends ApiRequest {
protected boolean m_firstIdChanged = false;
protected int m_firstId = 0;
+ protected int m_amountLoaded = 0;
public HeadlinesRequest(Context context, OnlineActivity activity, final Feed feed, ArticleList articles) {
super(context);
@@ -86,12 +87,14 @@ public class HeadlinesRequest extends ApiRequest {
m_articles.remove(0);
}
- if (m_articles.get(m_articles.size()-1).id == HeadlinesFragment.ARTICLE_SPECIAL_LOADMORE) {
+ /*if (m_articles.get(m_articles.size()-1).id == HeadlinesFragment.ARTICLE_SPECIAL_LOADMORE) {
m_articles.remove(m_articles.size()-1); // remove previous placeholder
- }
+ }*/
}
-
+
+ m_amountLoaded = articles.size();
+
for (Article f : articles)
if (!m_articles.containsId(f.id)) {
f.collectMediaInfo();
@@ -99,10 +102,10 @@ public class HeadlinesRequest extends ApiRequest {
m_articles.add(f);
}
- if (articles.size() == HEADLINES_REQUEST_SIZE) {
+ /*if (articles.size() == HEADLINES_REQUEST_SIZE) {
Article placeholder = new Article(HeadlinesFragment.ARTICLE_SPECIAL_LOADMORE);
m_articles.add(placeholder);
- }
+ }*/
/* if (m_articles.size() == 0)
m_activity.setLoadingStatus(R.string.no_headlines_to_display, false);