Brion VIBBER has submitted this change and it was merged. Change subject: Do not reload first page everytime onStart is called ......................................................................
Do not reload first page everytime onStart is called Intent actions should always be on onCreate. This also modifies the bus behavior to have it init on onCreate, then on onStop but only if it is null - which is set if onStop has run. This ensures that we do not double register. Change-Id: I2e5c1385ff01a1514ec4772203f297f43295c727 --- M wikipedia/src/main/java/org/wikimedia/wikipedia/PageActivity.java 1 file changed, 19 insertions(+), 13 deletions(-) Approvals: Brion VIBBER: Verified; Looks good to me, approved diff --git a/wikipedia/src/main/java/org/wikimedia/wikipedia/PageActivity.java b/wikipedia/src/main/java/org/wikimedia/wikipedia/PageActivity.java index 8e451b0..be04228 100644 --- a/wikipedia/src/main/java/org/wikimedia/wikipedia/PageActivity.java +++ b/wikipedia/src/main/java/org/wikimedia/wikipedia/PageActivity.java @@ -28,6 +28,21 @@ app = ((WikipediaApp)getApplicationContext()); searchAriclesFragment = (SearchArticlesFragment) getSupportFragmentManager().findFragmentById(R.id.search_fragment); + + bus = app.getBus(); + bus.register(this); + + Intent intent = getIntent(); + if (Intent.ACTION_VIEW.equals(intent.getAction())) { + Site site = new Site(intent.getData().getAuthority()); + PageTitle title = site.titleForInternalLink(intent.getData().getPath()); + HistoryEntry historyEntry = new HistoryEntry(title, HistoryEntry.SOURCE_EXTERNAL_LINK); + bus.post(new NewWikiPageNavigationEvent(title, historyEntry)); + } else if (ACTION_PAGE_FOR_TITLE.equals(intent.getAction())) { + PageTitle title = intent.getParcelableExtra(EXTRA_PAGETITLE); + HistoryEntry historyEntry = intent.getParcelableExtra(EXTRA_HISTORYENTRY); + bus.post(new NewWikiPageNavigationEvent(title, historyEntry)); + } } private void displayNewPage(PageTitle title) { @@ -64,19 +79,9 @@ @Override protected void onStart() { super.onStart(); - bus = app.getBus(); - bus.register(this); - - Intent intent = getIntent(); - if (Intent.ACTION_VIEW.equals(intent.getAction())) { - Site site = new Site(intent.getData().getAuthority()); - PageTitle title = site.titleForInternalLink(intent.getData().getPath()); - HistoryEntry historyEntry = new HistoryEntry(title, HistoryEntry.SOURCE_EXTERNAL_LINK); - bus.post(new NewWikiPageNavigationEvent(title, historyEntry)); - } else if (ACTION_PAGE_FOR_TITLE.equals(intent.getAction())) { - PageTitle title = intent.getParcelableExtra(EXTRA_PAGETITLE); - HistoryEntry historyEntry = intent.getParcelableExtra(EXTRA_HISTORYENTRY); - bus.post(new NewWikiPageNavigationEvent(title, historyEntry)); + if (bus == null) { + bus = app.getBus(); + bus.register(this); } } @@ -84,6 +89,7 @@ protected void onStop() { super.onStop(); bus.unregister(this); + bus = null; if (historyEntryPersister != null) { historyEntryPersister.cleanup(); historyEntryPersister = null; -- To view, visit https://gerrit.wikimedia.org/r/98997 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I2e5c1385ff01a1514ec4772203f297f43295c727 Gerrit-PatchSet: 1 Gerrit-Project: apps/android/wikipedia Gerrit-Branch: master Gerrit-Owner: Yuvipanda <yuvipa...@gmail.com> Gerrit-Reviewer: Brion VIBBER <br...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits