jenkins-bot has submitted this change and it was merged.
Change subject: Activate progress bar while fetching random article
......................................................................
Activate progress bar while fetching random article
-Added updateProgressBar() method to RandomHandler
-Refactored RandomHandler.setState() (which sets menu item enabled state)
to more descriptive and straightforward setMenuItemEnabled()
-Removed unused items from RandomHandler
Bug: T107791
Change-Id: Ia87b40cf9f07f3d9e605ce28aa18337accb221a1
---
M app/src/main/java/org/wikipedia/page/NavDrawerHelper.java
M app/src/main/java/org/wikipedia/page/PageActivity.java
M app/src/main/java/org/wikipedia/random/RandomHandler.java
3 files changed, 26 insertions(+), 26 deletions(-)
Approvals:
Dbrant: Looks good to me, approved
Niedzielski: Looks good to me, but someone else must approve
jenkins-bot: Verified
diff --git a/app/src/main/java/org/wikipedia/page/NavDrawerHelper.java
b/app/src/main/java/org/wikipedia/page/NavDrawerHelper.java
index 6aca177..0c7ea76 100644
--- a/app/src/main/java/org/wikipedia/page/NavDrawerHelper.java
+++ b/app/src/main/java/org/wikipedia/page/NavDrawerHelper.java
@@ -106,8 +106,7 @@
}
public RandomHandler getNewRandomHandler() {
- return new
RandomHandler(activity.getNavMenu().findItem(R.id.nav_item_random),
- new RandomHandler.RandomListener() {
+ return new RandomHandler(activity, new RandomHandler.RandomListener() {
@Override
public void onRandomPageReceived(@Nullable PageTitle
title) {
HistoryEntry historyEntry = new HistoryEntry(title,
HistoryEntry.SOURCE_RANDOM);
diff --git a/app/src/main/java/org/wikipedia/page/PageActivity.java
b/app/src/main/java/org/wikipedia/page/PageActivity.java
index 41f5cbe..f10892c 100644
--- a/app/src/main/java/org/wikipedia/page/PageActivity.java
+++ b/app/src/main/java/org/wikipedia/page/PageActivity.java
@@ -380,6 +380,10 @@
ViewAnimations.ensureTranslationY(toolbarContainer, 0);
}
+ public void setNavMenuItemRandomEnabled(boolean enabled) {
+ navMenu.findItem(R.id.nav_item_random).setEnabled(enabled);
+ }
+
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
diff --git a/app/src/main/java/org/wikipedia/random/RandomHandler.java
b/app/src/main/java/org/wikipedia/random/RandomHandler.java
index 65eb3e2..998e91b 100644
--- a/app/src/main/java/org/wikipedia/random/RandomHandler.java
+++ b/app/src/main/java/org/wikipedia/random/RandomHandler.java
@@ -3,7 +3,8 @@
import android.os.Handler;
import android.os.Message;
import android.util.Log;
-import android.view.MenuItem;
+
+import org.wikipedia.page.PageActivity;
import org.wikipedia.page.PageTitle;
import org.wikipedia.WikipediaApp;
@@ -12,31 +13,30 @@
private RandomArticleIdTask curRandomArticleIdTask;
private static final int MESSAGE_RND = 1;
- private MenuItem randomMenuItem;
- private boolean isClosed;
- private RandomListener randomListener;
+ private PageActivity activity;
+ private RandomListener listener;
public interface RandomListener {
void onRandomPageReceived(PageTitle title);
void onRandomPageFailed(Throwable caught);
}
- public RandomHandler(MenuItem menuItem, RandomListener listener) {
- randomMenuItem = menuItem;
- randomListener = listener;
+ public RandomHandler(PageActivity activity, RandomListener listener) {
+ this.activity = activity;
+ this.listener = listener;
this.app = WikipediaApp.getInstance();
- isClosed = false;
//set initial state...
- setState(false);
+ setProgressBarLoading(false);
+ setNavMenuItemEnabled(true);
}
- private void setState(boolean busy) {
- randomMenuItem.setEnabled(!busy);
+ private void setNavMenuItemEnabled(boolean enabled) {
+ activity.setNavMenuItemRandomEnabled(enabled);
}
- public void onStop() {
- isClosed = true;
+ private void setProgressBarLoading(boolean loading) {
+ activity.updateProgressBar(loading, true, 0);
}
public void doVisitRandomArticle() {
@@ -47,28 +47,25 @@
@Override
public void onBeforeExecute() {
- setState(true);
+ setProgressBarLoading(true);
+ setNavMenuItemEnabled(false);
}
@Override
public void onFinish(PageTitle title) {
- if (isClosed) {
- return;
- }
- setState(false);
+ setProgressBarLoading(false);
+ setNavMenuItemEnabled(true);
Log.d("Wikipedia", "Random article title pulled: " +
title);
- randomListener.onRandomPageReceived(title);
+ listener.onRandomPageReceived(title);
}
@Override
public void onCatch(Throwable caught) {
- if (isClosed) {
- return;
- }
- setState(false);
+ setProgressBarLoading(false);
+ setNavMenuItemEnabled(true);
Log.d("Wikipedia", "Random article ID retrieval
failed");
curRandomArticleIdTask = null;
- randomListener.onRandomPageFailed(caught);
+ listener.onRandomPageFailed(caught);
}
};
if (curRandomArticleIdTask != null) {
--
To view, visit https://gerrit.wikimedia.org/r/246288
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ia87b40cf9f07f3d9e605ce28aa18337accb221a1
Gerrit-PatchSet: 4
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Mholloway <[email protected]>
Gerrit-Reviewer: BearND <[email protected]>
Gerrit-Reviewer: Brion VIBBER <[email protected]>
Gerrit-Reviewer: Dbrant <[email protected]>
Gerrit-Reviewer: Mholloway <[email protected]>
Gerrit-Reviewer: Niedzielski <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits