summaryrefslogtreecommitdiff
path: root/org.fox.ttrss/src/main
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2017-05-29 14:34:50 +0300
committerAndrew Dolgov <[email protected]>2017-05-29 14:34:50 +0300
commitef097f79afc6b58ddb0925623370cfd49da95b5c (patch)
tree94502369d2296ad53db4a2ce2c81c2a626d6e8ef /org.fox.ttrss/src/main
parente83d4ca2abd5f34b613e1698ca43f2aec6254b91 (diff)
article fragment & article pager: move some stuff into runnables to increase perceived performance
Diffstat (limited to 'org.fox.ttrss/src/main')
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/ArticleFragment.java22
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/ArticlePager.java34
2 files changed, 35 insertions, 21 deletions
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticleFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticleFragment.java
index 1c0afca8..da150a8b 100755
--- a/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticleFragment.java
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticleFragment.java
@@ -7,6 +7,7 @@ import android.graphics.Color;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
+import android.os.Handler;
import android.preference.PreferenceManager;
import android.support.v4.app.Fragment;
import android.support.v7.app.ActionBar;
@@ -57,7 +58,6 @@ public class ArticleFragment extends Fragment {
protected int m_articleFontSize;
protected int m_articleSmallFontSize;
protected boolean m_acceleratedWebview = true;
- private boolean m_isVisible;
public void initialize(Article article) {
m_article = article;
@@ -154,15 +154,6 @@ public class ArticleFragment extends Fragment {
}
- @Override
- public void setUserVisibleHint(boolean isVisibleToUser) {
- super.setUserVisibleHint(isVisibleToUser);
-
- m_isVisible = isVisibleToUser;
-
- renderContent(null);
- }
-
@SuppressLint("NewApi")
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, final Bundle savedInstanceState) {
@@ -398,9 +389,16 @@ public class ArticleFragment extends Fragment {
m_web.setVisibility(View.VISIBLE);
- if (savedInstanceState != null || m_isVisible) renderContent(savedInstanceState);
+ //renderContent(savedInstanceState);
+
+ new Handler().postDelayed(new Runnable() {
+ @Override
+ public void run() {
+ renderContent(savedInstanceState);
+ }
+ }, 250);
- return view;
+ return view;
}
protected void renderContent(Bundle savedInstanceState) {
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticlePager.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticlePager.java
index f1c9eab0..6e51722c 100755
--- a/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticlePager.java
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/ArticlePager.java
@@ -6,6 +6,7 @@ import android.content.SharedPreferences;
import android.net.Uri;
import android.os.BadParcelableException;
import android.os.Bundle;
+import android.os.Handler;
import android.preference.PreferenceManager;
import android.support.v4.app.ClassloaderWorkaroundFragmentStatePagerAdapter;
import android.support.v4.app.Fragment;
@@ -45,6 +46,8 @@ public class ArticlePager extends Fragment {
super(fm);
}
+ private ArticleFragment m_currentFragment;
+
@Override
public Fragment getItem(int position) {
Article article = m_articles.get(position);
@@ -62,7 +65,18 @@ public class ArticlePager extends Fragment {
public int getCount() {
return m_articles.size();
}
-
+
+ public ArticleFragment getCurrentFragment() {
+ return m_currentFragment;
+ }
+
+ @Override
+ public void setPrimaryItem(ViewGroup container, int position, Object object) {
+ m_currentFragment = ((ArticleFragment) object);
+
+ super.setPrimaryItem(container, position, object);
+ }
+
}
public void initialize(Article article, Feed feed, ArticleList articles) {
@@ -119,18 +133,20 @@ public class ArticlePager extends Fragment {
@Override
public void onPageSelected(int position) {
- Article article = m_articles.get(position);
+ Log.d(TAG, "onPageSelected: " + position);
+
+ final Article article = m_articles.get(position);
if (article != null) {
m_article = article;
-
- /* if (article.unread) {
- article.unread = false;
- m_activity.saveArticleUnread(article);
- } */
- m_listener.onArticleSelected(article, false);
-
+ new Handler().postDelayed(new Runnable() {
+ @Override
+ public void run() {
+ m_listener.onArticleSelected(article, false);
+ }
+ }, 250);
+
//Log.d(TAG, "Page #" + position + "/" + m_adapter.getCount());
if ((m_activity.isSmallScreen() || m_activity.isPortrait()) && position == m_adapter.getCount() - 15) {