Dbrant has uploaded a new change for review.

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

Change subject: Decouple a few more things from MainActivity.
......................................................................

Decouple a few more things from MainActivity.

- Move activity request constants to Constants class.
- Use the newIntent() pattern for launching MainActivity, so that it can
  be migrated easier to the new activity.

Change-Id: I81d2de0c96404549cf4cb37a803262f62a8304b5
---
M app/src/main/java/org/wikipedia/Constants.java
M app/src/main/java/org/wikipedia/MainActivity.java
M app/src/main/java/org/wikipedia/editing/EditHandler.java
M app/src/main/java/org/wikipedia/editing/EditPreviewFragment.java
M app/src/main/java/org/wikipedia/interlanguage/LangLinksActivity.java
M app/src/main/java/org/wikipedia/page/JsonPageLoadStrategy.java
M app/src/main/java/org/wikipedia/page/PageFragment.java
M app/src/main/java/org/wikipedia/page/gallery/GalleryActivity.java
8 files changed, 23 insertions(+), 37 deletions(-)


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

diff --git a/app/src/main/java/org/wikipedia/Constants.java 
b/app/src/main/java/org/wikipedia/Constants.java
index f1a2fdf..d0895c6 100644
--- a/app/src/main/java/org/wikipedia/Constants.java
+++ b/app/src/main/java/org/wikipedia/Constants.java
@@ -10,6 +10,12 @@
     public static final String WIKIPEDIA_URL = "https://wikipedia.org/";;
 
     public static final int ACTIVITY_REQUEST_WRITE_EXTERNAL_STORAGE_PERMISSION 
= 44;
+    public static final int ACTIVITY_REQUEST_LANGLINKS = 50;
+    public static final int ACTIVITY_REQUEST_EDIT_SECTION = 51;
+    public static final int ACTIVITY_REQUEST_GALLERY = 52;
+    public static final int ACTIVITY_REQUEST_VOICE_SEARCH = 53;
+
+    public static final int PROGRESS_BAR_MAX_VALUE = 10000;
 
     public static final int MAX_SUGGESTION_RESULTS = 3;
     public static final int SUGGESTION_REQUEST_ITEMS = 5;
diff --git a/app/src/main/java/org/wikipedia/MainActivity.java 
b/app/src/main/java/org/wikipedia/MainActivity.java
index 5bb5350..f9ea641 100644
--- a/app/src/main/java/org/wikipedia/MainActivity.java
+++ b/app/src/main/java/org/wikipedia/MainActivity.java
@@ -123,13 +123,6 @@
         FeedFragment.Callback, NearbyFragment.Callback, 
HistoryFragment.Callback,
         ReadingListsFragment.Callback, LinkPreviewDialog.Callback, 
SearchArticlesFragment.Callback,
         SearchResultsFragment.Callback, AddToReadingListDialog.Callback, 
WiktionaryDialog.Callback {
-    public static final int ACTIVITY_REQUEST_LANGLINKS = 0;
-    public static final int ACTIVITY_REQUEST_EDIT_SECTION = 1;
-    public static final int ACTIVITY_REQUEST_GALLERY = 2;
-    public static final int ACTIVITY_REQUEST_VOICE_SEARCH = 3;
-
-    public static final int PROGRESS_BAR_MAX_VALUE = 10000;
-
     public static final String ACTION_PAGE_FOR_TITLE = 
"org.wikipedia.page_for_title";
     public static final String EXTRA_PAGETITLE = "org.wikipedia.pagetitle";
     public static final String EXTRA_HISTORYENTRY  = 
"org.wikipedia.history.historyentry";
@@ -261,7 +254,7 @@
         fragmentContainerView = findViewById(R.id.content_fragment_container);
         tabsContainerView = findViewById(R.id.tabs_container);
         progressBar = (ProgressBar)findViewById(R.id.main_progressbar);
-        progressBar.setMax(PROGRESS_BAR_MAX_VALUE);
+        progressBar.setMax(Constants.PROGRESS_BAR_MAX_VALUE);
         updateProgressBar(false, true, 0);
 
         drawerLayout = (WikiDrawerLayout) findViewById(R.id.drawer_layout);
@@ -893,7 +886,7 @@
     public void onFeedVoiceSearchRequested() {
         Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
         try {
-            startActivityForResult(intent, ACTIVITY_REQUEST_VOICE_SEARCH);
+            startActivityForResult(intent, 
Constants.ACTIVITY_REQUEST_VOICE_SEARCH);
         } catch (ActivityNotFoundException a) {
             FeedbackUtil.showMessage(this, 
R.string.error_voice_search_not_available);
         }
@@ -1446,11 +1439,11 @@
     }
 
     private boolean newArticleLanguageSelected(int requestCode, int 
resultCode) {
-        return requestCode == ACTIVITY_REQUEST_LANGLINKS && resultCode == 
LangLinksActivity.ACTIVITY_RESULT_LANGLINK_SELECT;
+        return requestCode == Constants.ACTIVITY_REQUEST_LANGLINKS && 
resultCode == LangLinksActivity.ACTIVITY_RESULT_LANGLINK_SELECT;
     }
 
     private boolean galleryFilePageSelected(int requestCode, int resultCode) {
-        return requestCode == ACTIVITY_REQUEST_GALLERY && resultCode == 
GalleryActivity.ACTIVITY_RESULT_FILEPAGE_SELECT;
+        return requestCode == Constants.ACTIVITY_REQUEST_GALLERY && resultCode 
== GalleryActivity.ACTIVITY_RESULT_FILEPAGE_SELECT;
     }
 
     private boolean languageChanged(int resultCode) {
@@ -1458,7 +1451,7 @@
     }
 
     private boolean voiceSearchRequested(int requestCode) {
-        return requestCode == ACTIVITY_REQUEST_VOICE_SEARCH;
+        return requestCode == Constants.ACTIVITY_REQUEST_VOICE_SEARCH;
     }
 
     private void handleVoiceSearchResult(int resultCode, Intent data) {
diff --git a/app/src/main/java/org/wikipedia/editing/EditHandler.java 
b/app/src/main/java/org/wikipedia/editing/EditHandler.java
index de5fe0e..1e41f67 100644
--- a/app/src/main/java/org/wikipedia/editing/EditHandler.java
+++ b/app/src/main/java/org/wikipedia/editing/EditHandler.java
@@ -5,13 +5,13 @@
 import android.support.annotation.Nullable;
 import android.support.v7.app.AlertDialog;
 import org.json.JSONObject;
+import org.wikipedia.Constants;
 import org.wikipedia.R;
 import org.wikipedia.WikipediaApp;
 import org.wikipedia.analytics.ProtectedEditAttemptFunnel;
 import org.wikipedia.bridge.CommunicationBridge;
 import org.wikipedia.history.HistoryEntry;
 import org.wikipedia.page.Page;
-import org.wikipedia.MainActivity;
 import org.wikipedia.page.PageFragment;
 import org.wikipedia.page.Section;
 
@@ -41,7 +41,7 @@
         intent.putExtra(EditSectionActivity.EXTRA_TITLE, 
currentPage.getTitle());
         intent.putExtra(EditSectionActivity.EXTRA_PAGE_PROPS, 
currentPage.getPageProperties());
         intent.putExtra(EditSectionActivity.EXTRA_HIGHLIGHT_TEXT, 
highlightText);
-        fragment.startActivityForResult(intent, 
MainActivity.ACTIVITY_REQUEST_EDIT_SECTION);
+        fragment.startActivityForResult(intent, 
Constants.ACTIVITY_REQUEST_EDIT_SECTION);
     }
 
     private void showUneditableDialog() {
diff --git a/app/src/main/java/org/wikipedia/editing/EditPreviewFragment.java 
b/app/src/main/java/org/wikipedia/editing/EditPreviewFragment.java
index 9ea768a..fce80c8 100644
--- a/app/src/main/java/org/wikipedia/editing/EditPreviewFragment.java
+++ b/app/src/main/java/org/wikipedia/editing/EditPreviewFragment.java
@@ -2,7 +2,6 @@
 
 import android.app.ProgressDialog;
 import android.content.DialogInterface;
-import android.content.Intent;
 import android.content.res.AssetManager;
 import android.content.res.Configuration;
 import android.content.res.Resources;
@@ -213,11 +212,7 @@
                     showLeavingEditDialogue(new Runnable() {
                         @Override
                         public void run() {
-                            Intent intent = new Intent(getActivity(), 
MainActivity.class);
-                            
intent.setAction(MainActivity.ACTION_PAGE_FOR_TITLE);
-                            intent.putExtra(MainActivity.EXTRA_PAGETITLE, 
title);
-                            intent.putExtra(MainActivity.EXTRA_HISTORYENTRY, 
new HistoryEntry(title, HistoryEntry.SOURCE_INTERNAL_LINK));
-                            startActivity(intent);
+                            startActivity(MainActivity.newIntent(getContext(), 
new HistoryEntry(title, HistoryEntry.SOURCE_INTERNAL_LINK), title));
                         }
                     });
                 }
diff --git 
a/app/src/main/java/org/wikipedia/interlanguage/LangLinksActivity.java 
b/app/src/main/java/org/wikipedia/interlanguage/LangLinksActivity.java
index 6945e4e..8ba72ab 100644
--- a/app/src/main/java/org/wikipedia/interlanguage/LangLinksActivity.java
+++ b/app/src/main/java/org/wikipedia/interlanguage/LangLinksActivity.java
@@ -97,11 +97,7 @@
                 PageTitle langLink = (PageTitle) 
parent.getAdapter().getItem(position);
                 app.setMruLanguageCode(langLink.getSite().languageCode());
                 HistoryEntry historyEntry = new HistoryEntry(langLink, 
HistoryEntry.SOURCE_LANGUAGE_LINK);
-                Intent intent = new Intent()
-                        .setClass(LangLinksActivity.this, MainActivity.class)
-                        .setAction(MainActivity.ACTION_PAGE_FOR_TITLE)
-                        .putExtra(MainActivity.EXTRA_PAGETITLE, langLink)
-                        .putExtra(MainActivity.EXTRA_HISTORYENTRY, 
historyEntry);
+                Intent intent = MainActivity.newIntent(LangLinksActivity.this, 
historyEntry, langLink);
                 setResult(ACTIVITY_RESULT_LANGLINK_SELECT, intent);
                 hideSoftKeyboard(LangLinksActivity.this);
                 finish();
diff --git a/app/src/main/java/org/wikipedia/page/JsonPageLoadStrategy.java 
b/app/src/main/java/org/wikipedia/page/JsonPageLoadStrategy.java
index 0b9d069..837357a 100644
--- a/app/src/main/java/org/wikipedia/page/JsonPageLoadStrategy.java
+++ b/app/src/main/java/org/wikipedia/page/JsonPageLoadStrategy.java
@@ -16,7 +16,6 @@
 import org.json.JSONObject;
 import org.mediawiki.api.json.ApiException;
 import org.wikipedia.Constants;
-import org.wikipedia.MainActivity;
 import org.wikipedia.R;
 import org.wikipedia.WikipediaApp;
 import org.wikipedia.bridge.CommunicationBridge;
@@ -689,7 +688,7 @@
     private void displayNonLeadSection(int index, boolean savedPage) {
         if (fragment.callback() != null) {
             fragment.callback().onPageUpdateProgressBar(true, false,
-                    MainActivity.PROGRESS_BAR_MAX_VALUE / model.getPage()
+                    Constants.PROGRESS_BAR_MAX_VALUE / model.getPage()
                             .getSections().size() * index);
         }
         try {
diff --git a/app/src/main/java/org/wikipedia/page/PageFragment.java 
b/app/src/main/java/org/wikipedia/page/PageFragment.java
index 50ae7a4..c6fce73 100755
--- a/app/src/main/java/org/wikipedia/page/PageFragment.java
+++ b/app/src/main/java/org/wikipedia/page/PageFragment.java
@@ -33,12 +33,12 @@
 import org.json.JSONException;
 import org.json.JSONObject;
 import org.wikipedia.BackPressedHandler;
+import org.wikipedia.Constants;
 import org.wikipedia.LongPressHandler;
 import org.wikipedia.NightModeHandler;
 import org.wikipedia.R;
 import org.wikipedia.Site;
 import org.wikipedia.WikipediaApp;
-import org.wikipedia.MainActivity;
 import org.wikipedia.activity.FragmentUtil;
 import org.wikipedia.analytics.FindInPageFunnel;
 import org.wikipedia.analytics.GalleryFunnel;
@@ -666,7 +666,7 @@
     @Override
     public void onActivityResult(int requestCode, int resultCode, Intent data) 
{
         super.onActivityResult(requestCode, resultCode, data);
-        if (requestCode == MainActivity.ACTIVITY_REQUEST_EDIT_SECTION
+        if (requestCode == Constants.ACTIVITY_REQUEST_EDIT_SECTION
             && resultCode == EditHandler.RESULT_REFRESH_PAGE) {
             pageLoadStrategy.backFromEditing(data);
             FeedbackUtil.showMessage(getActivity(), 
R.string.edit_saved_successfully);
@@ -1355,7 +1355,7 @@
         langIntent.setClass(getActivity(), LangLinksActivity.class);
         langIntent.setAction(LangLinksActivity.ACTION_LANGLINKS_FOR_TITLE);
         langIntent.putExtra(LangLinksActivity.EXTRA_PAGETITLE, 
model.getTitle());
-        getActivity().startActivityForResult(langIntent, 
MainActivity.ACTIVITY_REQUEST_LANGLINKS);
+        getActivity().startActivityForResult(langIntent, 
Constants.ACTIVITY_REQUEST_LANGLINKS);
     }
 
     @Nullable
diff --git a/app/src/main/java/org/wikipedia/page/gallery/GalleryActivity.java 
b/app/src/main/java/org/wikipedia/page/gallery/GalleryActivity.java
index 01eef87..9164725 100644
--- a/app/src/main/java/org/wikipedia/page/gallery/GalleryActivity.java
+++ b/app/src/main/java/org/wikipedia/page/gallery/GalleryActivity.java
@@ -25,6 +25,7 @@
 import android.widget.ProgressBar;
 import android.widget.TextView;
 
+import org.wikipedia.Constants;
 import org.wikipedia.MainActivity;
 import org.wikipedia.R;
 import org.wikipedia.Site;
@@ -142,7 +143,7 @@
         galleryIntent.putExtra(EXTRA_PAGETITLE, new 
PageTitle(FEED_FEATURED_IMAGE_TITLE, site));
         galleryIntent.putExtra(EXTRA_SOURCE, source);
         galleryIntent.putExtra(EXTRA_FEATURED_IMAGE, 
GsonMarshaller.marshal(image));
-        activity.startActivityForResult(galleryIntent, 
MainActivity.ACTIVITY_REQUEST_GALLERY);
+        activity.startActivityForResult(galleryIntent, 
Constants.ACTIVITY_REQUEST_GALLERY);
     }
 
     public static void showGallery(@NonNull Activity activity, @NonNull 
PageTitle pageTitle,
@@ -153,7 +154,7 @@
         galleryIntent.putExtra(EXTRA_SITE, site);
         galleryIntent.putExtra(EXTRA_PAGETITLE, pageTitle);
         galleryIntent.putExtra(EXTRA_SOURCE, source);
-        activity.startActivityForResult(galleryIntent, 
MainActivity.ACTIVITY_REQUEST_GALLERY);
+        activity.startActivityForResult(galleryIntent, 
Constants.ACTIVITY_REQUEST_GALLERY);
     }
 
     @Override
@@ -400,11 +401,7 @@
     public void finishWithPageResult(PageTitle resultTitle) {
         HistoryEntry historyEntry = new HistoryEntry(resultTitle,
                                                      
HistoryEntry.SOURCE_INTERNAL_LINK);
-        Intent intent = new Intent();
-        intent.setClass(GalleryActivity.this, MainActivity.class);
-        intent.setAction(MainActivity.ACTION_PAGE_FOR_TITLE);
-        intent.putExtra(MainActivity.EXTRA_PAGETITLE, resultTitle);
-        intent.putExtra(MainActivity.EXTRA_HISTORYENTRY, historyEntry);
+        Intent intent = MainActivity.newIntent(GalleryActivity.this, 
historyEntry, resultTitle);
         setResult(ACTIVITY_RESULT_FILEPAGE_SELECT, intent);
         finish();
     }

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I81d2de0c96404549cf4cb37a803262f62a8304b5
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Dbrant <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to