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