BearND has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/175931

Change subject: ToC tweaks: always on ToC
......................................................................

ToC tweaks: always on ToC

- ToC button is always visible and enabled
- still: ToC opened automatically for all pages except Main page
- if user invokes ToC on Main page the onboarding text could show up
- show progress bar inside ToC drawer if ToC is opened while page is still 
loading

Change-Id: If9371dce97589d1c904fe1ca6c37057e74a433c0
---
M wikipedia/res/menu/menu_page_actions.xml
M wikipedia/src/main/java/org/wikipedia/page/PageViewFragmentInternal.java
M wikipedia/src/main/java/org/wikipedia/page/ToCHandler.java
3 files changed, 14 insertions(+), 24 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia 
refs/changes/31/175931/1

diff --git a/wikipedia/res/menu/menu_page_actions.xml 
b/wikipedia/res/menu/menu_page_actions.xml
index ece6806..ba0bda1 100644
--- a/wikipedia/res/menu/menu_page_actions.xml
+++ b/wikipedia/res/menu/menu_page_actions.xml
@@ -7,7 +7,6 @@
           android:title="@string/menu_show_toc"
           android:icon="@drawable/ic_toc"
           app:showAsAction="ifRoom"
-          android:visible="false"
           />
     <item android:id="@+id/menu_other_languages"
           android:title="@string/menu_other_languages"
diff --git 
a/wikipedia/src/main/java/org/wikipedia/page/PageViewFragmentInternal.java 
b/wikipedia/src/main/java/org/wikipedia/page/PageViewFragmentInternal.java
index 2b9dbc5..fecc895 100644
--- a/wikipedia/src/main/java/org/wikipedia/page/PageViewFragmentInternal.java
+++ b/wikipedia/src/main/java/org/wikipedia/page/PageViewFragmentInternal.java
@@ -319,9 +319,6 @@
 
         app = (WikipediaApp)getActivity().getApplicationContext();
 
-        // disable TOC drawer until the page is loaded
-        tocDrawer.setSlidingEnabled(false);
-
         savedPagesFunnel = 
app.getFunnelManager().getSavedPagesFunnel(title.getSite());
 
         connectionIssueFunnel = new ConnectionIssueFunnel(app);
@@ -424,6 +421,13 @@
             page = PAGE_CACHE.get(titleOriginal);
             title = page.getTitle();
             state = STATE_COMPLETE_FETCH;
+        }
+
+        if (tocHandler == null) {
+            tocHandler = new ToCHandler(getActivity(),
+                    tocDrawer,
+                    bridge,
+                    title.getSite());
         }
 
         setState(state);
@@ -551,14 +555,7 @@
 
         // FIXME: Move this out into a PageComplete event of sorts
         if (state == STATE_COMPLETE_FETCH) {
-            if (tocHandler == null) {
-                tocHandler = new ToCHandler(getActivity(),
-                                            tocDrawer,
-                                            bridge);
-            }
             tocHandler.setupToC(page);
-
-            getActivity().supportInvalidateOptionsMenu();
 
             //add the page to cache!
             PAGE_CACHE.put(titleOriginal, page);
@@ -570,9 +567,6 @@
 
     public void onPrepareOptionsMenu(Menu menu) {
         
app.adjustDrawableToTheme(getResources().getDrawable(R.drawable.ic_toc));
-
-        MenuItem tocMenuItem = menu.findItem(R.id.menu_toc);
-        tocMenuItem.setVisible(tocDrawer.getSlidingEnabled(Gravity.END));
 
         switch (state) {
             case PageViewFragmentInternal.STATE_NO_FETCH:
@@ -839,8 +833,8 @@
         if (!isAdded()) {
             return;
         }
-        // in any case, make sure the TOC drawer is closed and disabled
-        tocDrawer.setSlidingEnabled(false);
+        // in any case, make sure the TOC drawer is closed
+        tocDrawer.closeDrawers();
         getActivity().updateProgressBar(false, true, 0);
         refreshView.setRefreshing(false);
 
diff --git a/wikipedia/src/main/java/org/wikipedia/page/ToCHandler.java 
b/wikipedia/src/main/java/org/wikipedia/page/ToCHandler.java
index 6b2a5df..ef3b0f5 100644
--- a/wikipedia/src/main/java/org/wikipedia/page/ToCHandler.java
+++ b/wikipedia/src/main/java/org/wikipedia/page/ToCHandler.java
@@ -1,6 +1,7 @@
 package org.wikipedia.page;
 
 import org.wikipedia.R;
+import org.wikipedia.Site;
 import org.wikipedia.Utils;
 import org.wikipedia.ViewAnimations;
 import org.wikipedia.WikipediaApp;
@@ -48,10 +49,12 @@
     private boolean openedViaSwipe = true;
 
     public ToCHandler(final ActionBarActivity activity, final 
DisableableDrawerLayout slidingPane,
-                      final CommunicationBridge bridge) {
+                      final CommunicationBridge bridge, final Site site) {
         this.parentActivity = activity;
         this.bridge = bridge;
         this.slidingPane = slidingPane;
+
+        funnel = new 
ToCInteractionFunnel((WikipediaApp)slidingPane.getContext().getApplicationContext(),
 site);
 
         this.tocList = (ListView) slidingPane.findViewById(R.id.page_toc_list);
         this.tocProgress = (ProgressBar) 
slidingPane.findViewById(R.id.page_toc_in_progress);
@@ -152,8 +155,6 @@
         tocProgress.setVisibility(View.GONE);
         tocList.setVisibility(View.VISIBLE);
 
-        funnel = new 
ToCInteractionFunnel((WikipediaApp)slidingPane.getContext().getApplicationContext(),
 page.getTitle().getSite());
-
         headerView.setText(page.getTitle().getDisplayText());
         headerView.setOnClickListener(new View.OnClickListener() {
             @Override
@@ -177,11 +178,7 @@
             }
         });
 
-        //enable ToC, but only if we have more than one section
-        boolean enable = page.getSections().size() > 1;
-        slidingPane.setSlidingEnabled(enable);
-
-        if (enable) {
+        if (!page.getPageProperties().isMainPage()) {
             final SharedPreferences prefs = 
PreferenceManager.getDefaultSharedPreferences(parentActivity);
             final boolean knowsToC = 
prefs.getBoolean(PrefKeys.getKnowTocDrawer(), false);
             if (!knowsToC) {

-- 
To view, visit https://gerrit.wikimedia.org/r/175931
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: If9371dce97589d1c904fe1ca6c37057e74a433c0
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: BearND <bsitzm...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to