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