[MediaWiki-commits] [Gerrit] ToC tweaks: always on ToC - change (apps...wikipedia)

2014-11-26 Thread Dbrant (Code Review)
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)

2014-11-25 Thread BearND (Code Review)
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)