Bug 1332955 - Consider restore data( for bookmark parent stack) when reloading home panels. r=ahunt draft
authorNevin Chen <cnevinchen@gmail.com>
Wed, 25 Jan 2017 12:10:55 +0800
changeset 469515 4af613c17dcec0d0c8201a4a7c4c744421c26f1a
parent 465527 8ff550409e1d1f8b54f6f7f115545dbef857be0b
child 544217 e4ad1c9c57dc3a6674f63f141a0fa87f78c582d9
push id43746
push userbmo:cnevinchen@gmail.com
push dateThu, 02 Feb 2017 07:47:21 +0000
reviewersahunt
bugs1332955
milestone54.0a1
Bug 1332955 - Consider restore data( for bookmark parent stack) when reloading home panels. r=ahunt MozReview-Commit-ID: 7m6HOnfPLK3
mobile/android/base/java/org/mozilla/gecko/home/HomePager.java
--- a/mobile/android/base/java/org/mozilla/gecko/home/HomePager.java
+++ b/mobile/android/base/java/org/mozilla/gecko/home/HomePager.java
@@ -220,18 +220,19 @@ public class HomePager extends ViewPager
         adapter.setPanelStateChangeListener(mPanelStateChangeListener);
         adapter.setCanLoadHint(true);
         setAdapter(adapter);
 
         // Don't show the tabs strip until we have the
         // list of panels in place.
         mTabStrip.setVisibility(View.INVISIBLE);
 
-        // If HomeConfigLoader already exist, force load to select the current item
-        if (lm.getLoader(LOADER_ID_CONFIG) != null) {
+        // If HomeConfigLoader already exist and there's no restoreData(for bookmark's parentStack),
+        // call forceLoad() to trigger updateUiFromConfigState() and reset HomePager's adapter.
+        if (lm.getLoader(LOADER_ID_CONFIG) != null && restoreData == null) {
             lm.getLoader(LOADER_ID_CONFIG).forceLoad();
         } else {
             // Load list of panels from configuration
             lm.initLoader(LOADER_ID_CONFIG, null, mConfigLoaderCallbacks);
         }
 
         if (shouldAnimate) {
             animator.addPropertyAnimationListener(new PropertyAnimator.PropertyAnimationListener() {