Fix 5267234 com.google.android.gallery3d: java.lang.IllegalArgumentException:
The stateview to be finished is not at the top of the stack:
setNavigationMode triggers recursive tabs onSelected events.
Change-Id: Id9f58b4a73c4d7836b62e33e2f9b3676ba3f95c2
diff --git a/src/com/android/gallery3d/app/GalleryActionBar.java b/src/com/android/gallery3d/app/GalleryActionBar.java
index efa5fa5..3df5e91 100644
--- a/src/com/android/gallery3d/app/GalleryActionBar.java
+++ b/src/com/android/gallery3d/app/GalleryActionBar.java
@@ -159,13 +159,16 @@
public void showClusterTabs(ClusterRunner runner) {
Log.v(TAG, "showClusterTabs: runner=" + runner);
+ // setNavigationMode will trigger onTabSelected, so we should avoid
+ // triggering any callback here
+ mClusterRunner = null;
mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
mClusterRunner = runner;
}
public void hideClusterTabs() {
- mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
mClusterRunner = null;
+ mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
Log.v(TAG, "hideClusterTabs: runner=" + mClusterRunner);
}