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

Reply via email to