diff options
-rwxr-xr-x | org.fox.ttrss/src/main/java/org/fox/ttrss/ArticlePager.java | 10 | ||||
-rwxr-xr-x[-rw-r--r--] | org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineArticlePager.java | 16 |
2 files changed, 23 insertions, 3 deletions
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 e0714786..0b9fe6c6 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.os.BadParcelableException; import android.os.Bundle; import android.os.Handler; +import android.os.Parcelable; import android.preference.PreferenceManager; import android.support.design.widget.Snackbar; import android.support.v4.app.ClassloaderWorkaroundFragmentStatePagerAdapter; @@ -52,6 +53,15 @@ public class ArticlePager extends StateSavedFragment { private ArticleFragment m_currentFragment; + // workaround for possible TransactionTooLarge exception on 8.0+ + // we don't need to save member state anyway, bridge takes care of it + @Override + public Parcelable saveState() { + Bundle bundle = (Bundle) super.saveState(); + bundle.putParcelableArray("states", null); // Never maintain any states from the base class, just null it out + return bundle; + } + @Override public Fragment getItem(int position) { try { diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineArticlePager.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineArticlePager.java index 26bb12d7..bded56b5 100644..100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineArticlePager.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineArticlePager.java @@ -4,6 +4,7 @@ import android.app.Activity; import android.content.SharedPreferences; import android.database.Cursor; import android.os.Bundle; +import android.os.Parcelable; import android.preference.PreferenceManager; import android.provider.BaseColumns; import android.support.v4.app.Fragment; @@ -89,6 +90,15 @@ public class OfflineArticlePager extends Fragment { super(fm); } + // workaround for possible TransactionTooLarge exception on 8.0+ + // we don't need to save member state anyway, bridge takes care of it + @Override + public Parcelable saveState() { + Bundle bundle = (Bundle) super.saveState(); + bundle.putParcelableArray("states", null); // Never maintain any states from the base class, just null it out + return bundle; + } + @Override public Fragment getItem(int position) { Log.d(TAG, "getItem: " + position); @@ -166,11 +176,11 @@ public class OfflineArticlePager extends Fragment { } - ViewPager pager = (ViewPager) view.findViewById(R.id.article_pager); + ViewPager pager = view.findViewById(R.id.article_pager); pager.setAdapter(m_adapter); - UnderlinePageIndicator indicator = (UnderlinePageIndicator)view.findViewById(R.id.article_pager_indicator); + UnderlinePageIndicator indicator = view.findViewById(R.id.article_pager_indicator); indicator.setViewPager(pager); pager.setCurrentItem(position); @@ -243,7 +253,7 @@ public class OfflineArticlePager extends Fragment { int position = getArticleIdPosition(articleId); - ViewPager pager = (ViewPager) getView().findViewById(R.id.article_pager); + ViewPager pager = getView().findViewById(R.id.article_pager); pager.setCurrentItem(position); |