BearND has uploaded a new change for review.

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

Change subject: Back button goes back to calling activity if on first page
......................................................................

Back button goes back to calling activity if on first page

The problem was that it opened the ToC drawer automatically.

Bug: T75918
Change-Id: Ia822b3e7beb73a80d15be690cb9dcd90546481f4
---
M wikipedia/src/main/java/org/wikipedia/page/PageViewFragmentInternal.java
M wikipedia/src/main/java/org/wikipedia/page/ToCHandler.java
2 files changed, 15 insertions(+), 3 deletions(-)


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

diff --git 
a/wikipedia/src/main/java/org/wikipedia/page/PageViewFragmentInternal.java 
b/wikipedia/src/main/java/org/wikipedia/page/PageViewFragmentInternal.java
index 4c37581..eb3efc8 100644
--- a/wikipedia/src/main/java/org/wikipedia/page/PageViewFragmentInternal.java
+++ b/wikipedia/src/main/java/org/wikipedia/page/PageViewFragmentInternal.java
@@ -435,13 +435,19 @@
             tocHandler = new ToCHandler(getActivity(),
                     tocDrawer,
                     bridge,
-                    title.getSite());
+                    title.getSite(),
+                    isFirstPage());
         }
 
         setState(state);
         performActionForState(state);
     }
 
+    private boolean isFirstPage() {
+        return parentFragment.getFragmentManager().getBackStackEntryCount() == 0
+                && !webView.canGoBack();
+    }
+
     /**
      * Update the WebView's base font size, based on the specified font size 
from the app preferences.
      */
diff --git a/wikipedia/src/main/java/org/wikipedia/page/ToCHandler.java 
b/wikipedia/src/main/java/org/wikipedia/page/ToCHandler.java
index be09ea0..e14f6ef 100644
--- a/wikipedia/src/main/java/org/wikipedia/page/ToCHandler.java
+++ b/wikipedia/src/main/java/org/wikipedia/page/ToCHandler.java
@@ -42,6 +42,11 @@
     private final ActionBarActivity parentActivity;
 
     /**
+     * We don't want to open the ToC drawer on the first page loaded 
automatically
+     * so the back button sends users back to the previous activity.
+     */
+    private final boolean firstPage;
+    /**
      * Flag to track if the drawer is closing because a link was clicked.
      * Used to make sure that we don't track closes that are caused by
      * the user clicking on a section.
@@ -50,10 +55,11 @@
     private boolean openedViaSwipe = true;
 
     public ToCHandler(final ActionBarActivity activity, final 
DisableableDrawerLayout slidingPane,
-                      final CommunicationBridge bridge, final Site site) {
+                      final CommunicationBridge bridge, final Site site, 
boolean firstPage) {
         this.parentActivity = activity;
         this.bridge = bridge;
         this.slidingPane = slidingPane;
+        this.firstPage = firstPage;
 
         funnel = new 
ToCInteractionFunnel((WikipediaApp)slidingPane.getContext().getApplicationContext(),
 site);
 
@@ -190,7 +196,7 @@
             }
         });
 
-        if (!page.getPageProperties().isMainPage()) {
+        if (!page.getPageProperties().isMainPage() && !firstPage) {
             final SharedPreferences prefs = 
PreferenceManager.getDefaultSharedPreferences(parentActivity);
             final boolean knowsToC = 
prefs.getBoolean(PrefKeys.getKnowTocDrawer(), false);
             if (!knowsToC) {

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia822b3e7beb73a80d15be690cb9dcd90546481f4
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