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