Created
April 17, 2017 21:23
-
-
Save sewar/6aebfd0ba606d13917d2b8e0e2cc516b to your computer and use it in GitHub Desktop.
Patch for debugging Conductor's RouterPagerAdapter which recreates controllers silently.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Index: demo/src/main/java/com/bluelinelabs/conductor/demo/controllers/PagerController.java | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
--- demo/src/main/java/com/bluelinelabs/conductor/demo/controllers/PagerController.java (revision df27bfaa3d5a2f8a552bb5ad18a3a26960647b62) | |
+++ demo/src/main/java/com/bluelinelabs/conductor/demo/controllers/PagerController.java (revision ) | |
@@ -15,12 +15,13 @@ | |
import com.bluelinelabs.conductor.support.RouterPagerAdapter; | |
import java.util.Locale; | |
+import java.util.Random; | |
import butterknife.BindView; | |
public class PagerController extends BaseController { | |
- private int[] PAGE_COLORS = new int[]{R.color.green_300, R.color.cyan_300, R.color.deep_purple_300, R.color.lime_300, R.color.red_300}; | |
+ private int[] PAGE_COLORS = new int[]{R.color.green_300/*, R.color.cyan_300, R.color.deep_purple_300, R.color.lime_300, R.color.red_300*/}; | |
@BindView(R.id.tab_layout) TabLayout tabLayout; | |
@BindView(R.id.view_pager) ViewPager viewPager; | |
@@ -32,7 +33,8 @@ | |
@Override | |
public void configureRouter(@NonNull Router router, int position) { | |
if (!router.hasRootController()) { | |
- Controller page = new ChildController(String.format(Locale.getDefault(), "Child #%d (Swipe to see more)", position), PAGE_COLORS[position], true); | |
+ Controller page = new ChildController(String.format(Locale.getDefault(), | |
+ "Random(%d)", new Random().nextInt()), PAGE_COLORS[position], true); | |
router.setRoot(RouterTransaction.with(page)); | |
} | |
} | |
@@ -47,11 +49,13 @@ | |
return "Page " + position; | |
} | |
}; | |
+ pagerAdapter.setMaxPagesToStateSave(10); | |
} | |
@Override | |
protected void onViewBound(@NonNull View view) { | |
super.onViewBound(view); | |
+ viewPager.setOffscreenPageLimit(10); | |
viewPager.setAdapter(pagerAdapter); | |
tabLayout.setupWithViewPager(viewPager); | |
} | |
@@ -70,7 +74,7 @@ | |
@Override | |
protected String getTitle() { | |
- return "ViewPager Demo"; | |
+ return "ViewPager Demo @" + hashCode(); | |
} | |
} | |
Index: demo/src/main/java/com/bluelinelabs/conductor/demo/controllers/ChildController.java | |
IDEA additional info: | |
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP | |
<+>UTF-8 | |
=================================================================== | |
--- demo/src/main/java/com/bluelinelabs/conductor/demo/controllers/ChildController.java (revision df27bfaa3d5a2f8a552bb5ad18a3a26960647b62) | |
+++ demo/src/main/java/com/bluelinelabs/conductor/demo/controllers/ChildController.java (revision ) | |
@@ -44,7 +44,7 @@ | |
protected void onViewBound(@NonNull View view) { | |
super.onViewBound(view); | |
- tvTitle.setText(getArgs().getString(KEY_TITLE)); | |
+ tvTitle.setText(getArgs().getString(KEY_TITLE) + " @" + hashCode()); | |
int bgColor = getArgs().getInt(KEY_BG_COLOR); | |
if (getArgs().getBoolean(KEY_COLOR_IS_RES)) { |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment