[MediaWiki-commits] [Gerrit] Back button goes back to calling activity if on first page - change (apps...wikipedia)
Dbrant has submitted this change and it was merged. 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(-) Approvals: Dbrant: Looks good to me, approved jenkins-bot: Verified 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: merged Gerrit-Change-Id: Ia822b3e7beb73a80d15be690cb9dcd90546481f4 Gerrit-PatchSet: 1 Gerrit-Project: apps/android/wikipedia Gerrit-Branch: master Gerrit-Owner: BearND bsitzm...@wikimedia.org Gerrit-Reviewer: Brion VIBBER br...@wikimedia.org Gerrit-Reviewer: Dbrant dbr...@wikimedia.org Gerrit-Reviewer: jenkins-bot ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Back button goes back to calling activity if on first page - change (apps...wikipedia)
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