Mholloway has uploaded a new change for review.
https://gerrit.wikimedia.org/r/246288
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 setEnabled()
-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, 27 insertions(+), 26 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia
refs/changes/88/246288/1
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..da5d9b6 100644
--- a/app/src/main/java/org/wikipedia/page/PageActivity.java
+++ b/app/src/main/java/org/wikipedia/page/PageActivity.java
@@ -125,6 +125,10 @@
return tabsContainerView;
}
+ public ProgressBar getProgressBar() {
+ return progressBar;
+ }
+
public ActionBarDrawerToggle getDrawerToggle() {
return mDrawerToggle;
}
diff --git a/app/src/main/java/org/wikipedia/random/RandomHandler.java
b/app/src/main/java/org/wikipedia/random/RandomHandler.java
index 65eb3e2..cce8bfe 100644
--- a/app/src/main/java/org/wikipedia/random/RandomHandler.java
+++ b/app/src/main/java/org/wikipedia/random/RandomHandler.java
@@ -3,7 +3,9 @@
import android.os.Handler;
import android.os.Message;
import android.util.Log;
-import android.view.MenuItem;
+
+import org.wikipedia.R;
+import org.wikipedia.page.PageActivity;
import org.wikipedia.page.PageTitle;
import org.wikipedia.WikipediaApp;
@@ -12,31 +14,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);
+ setMenuItemEnabled(true);
}
- private void setState(boolean busy) {
- randomMenuItem.setEnabled(!busy);
+ private void setMenuItemEnabled(boolean busy) {
+ activity.getNavMenu().findItem(R.id.nav_item_random).setEnabled(busy);
}
- public void onStop() {
- isClosed = true;
+ private void setProgressBarLoading(boolean loading) {
+ activity.updateProgressBar(loading, true, 0);
}
public void doVisitRandomArticle() {
@@ -47,28 +48,25 @@
@Override
public void onBeforeExecute() {
- setState(true);
+ setProgressBarLoading(true);
+ setMenuItemEnabled(false);
}
@Override
public void onFinish(PageTitle title) {
- if (isClosed) {
- return;
- }
- setState(false);
+ setProgressBarLoading(false);
+ setMenuItemEnabled(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);
+ setMenuItemEnabled(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: newchange
Gerrit-Change-Id: Ia87b40cf9f07f3d9e605ce28aa18337accb221a1
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Mholloway <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits