[MediaWiki-commits] [Gerrit] ToC tweaks: always on ToC - change (apps...wikipedia)
Dbrant has submitted this change and it was merged. 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(-) Approvals: Dbrant: Looks good to me, approved jenkins-bot: Verified 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 @@
[MediaWiki-commits] [Gerrit] ToC tweaks: always on ToC - change (apps...wikipedia)
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)