summaryrefslogtreecommitdiff
path: root/org.fox.ttrss/src/main/java
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2018-04-04 12:09:44 +0300
committerAndrew Dolgov <[email protected]>2018-04-04 12:09:44 +0300
commit9b4a99bdf1fc64be131904ac7a146f91266017b7 (patch)
treefc2058ec69ef2984a6b1aef1873a099e81099097 /org.fox.ttrss/src/main/java
parentef09b05e2c9407c44c21c76b699f31d75ee40253 (diff)
add workaround for FragmentStatePagerAdapter causing bundler exception, thanks google
Diffstat (limited to 'org.fox.ttrss/src/main/java')
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/ArticlePager.java10
-rwxr-xr-x[-rw-r--r--]org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineArticlePager.java16
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);