Mholloway has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/352919 )

Change subject: Add failure branch to CallbackTask
......................................................................

Add failure branch to CallbackTask

Bug: T152403
Change-Id: I9f374938d821c73e79cd6e36442ab8da29237454
---
M app/src/main/java/org/wikipedia/concurrency/CallbackTask.java
M app/src/main/java/org/wikipedia/feed/featured/FeaturedArticleCardView.java
M app/src/main/java/org/wikipedia/feed/random/RandomCardView.java
M app/src/main/java/org/wikipedia/page/PageFragment.java
M app/src/main/java/org/wikipedia/readinglist/AddToReadingListDialog.java
M app/src/main/java/org/wikipedia/readinglist/ReadingListBookmarkMenu.java
M app/src/main/java/org/wikipedia/readinglist/ReadingListFragment.java
M app/src/main/java/org/wikipedia/readinglist/ReadingListsFragment.java
8 files changed, 51 insertions(+), 16 deletions(-)


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

diff --git a/app/src/main/java/org/wikipedia/concurrency/CallbackTask.java 
b/app/src/main/java/org/wikipedia/concurrency/CallbackTask.java
index d53b1f2..afa164d 100644
--- a/app/src/main/java/org/wikipedia/concurrency/CallbackTask.java
+++ b/app/src/main/java/org/wikipedia/concurrency/CallbackTask.java
@@ -5,11 +5,12 @@
 
 public class CallbackTask<T> extends SaneAsyncTask<T> {
     public interface Callback<T> {
-        void success(T row);
+        void success(T result);
+        void failure(Throwable caught);
     }
 
     public interface Task<T> {
-        T execute();
+        T execute() throws Throwable;
     }
 
     @NonNull private final Task<T> task;
@@ -39,4 +40,12 @@
             callback = null;
         }
     }
+
+    @Override public void onCatch(Throwable caught) {
+        super.onCatch(caught);
+        if (callback != null) {
+            callback.failure(caught);
+            callback = null;
+        }
+    }
 }
diff --git 
a/app/src/main/java/org/wikipedia/feed/featured/FeaturedArticleCardView.java 
b/app/src/main/java/org/wikipedia/feed/featured/FeaturedArticleCardView.java
index 5be172e..726dbde 100644
--- a/app/src/main/java/org/wikipedia/feed/featured/FeaturedArticleCardView.java
+++ b/app/src/main/java/org/wikipedia/feed/featured/FeaturedArticleCardView.java
@@ -108,8 +108,7 @@
         PageTitle title = new PageTitle(card.articleTitle(), card.wikiSite());
         
ReadingList.DAO.anyListContainsTitleAsync(ReadingListDaoProxy.key(title),
                 new CallbackTask.Callback<ReadingListPage>() {
-                    @Override
-                    public void success(@Nullable ReadingListPage page) {
+                    @Override public void success(@Nullable ReadingListPage 
page) {
                         boolean listContainsTitle = page != null;
 
                         int actionIcon = listContainsTitle
@@ -135,6 +134,10 @@
 
                         footer(footer);
                     }
+
+                    @Override public void failure(Throwable caught) {
+
+                    }
                 });
     }
 
diff --git a/app/src/main/java/org/wikipedia/feed/random/RandomCardView.java 
b/app/src/main/java/org/wikipedia/feed/random/RandomCardView.java
index 189bf24..3fdf518 100644
--- a/app/src/main/java/org/wikipedia/feed/random/RandomCardView.java
+++ b/app/src/main/java/org/wikipedia/feed/random/RandomCardView.java
@@ -74,6 +74,10 @@
                         }
                     }
                 }
+
+                @Override public void failure(Throwable caught) {
+
+                }
             });
         }
     }
diff --git a/app/src/main/java/org/wikipedia/page/PageFragment.java 
b/app/src/main/java/org/wikipedia/page/PageFragment.java
index ca4f7d6..b044e04 100755
--- a/app/src/main/java/org/wikipedia/page/PageFragment.java
+++ b/app/src/main/java/org/wikipedia/page/PageFragment.java
@@ -706,6 +706,10 @@
                             pageActionTabsCallback.updateBookmark(false);
                         }
                     }
+
+                    @Override public void failure(Throwable caught) {
+
+                    }
                 });
     }
 
diff --git 
a/app/src/main/java/org/wikipedia/readinglist/AddToReadingListDialog.java 
b/app/src/main/java/org/wikipedia/readinglist/AddToReadingListDialog.java
index 8e42240..0ce6a5c 100644
--- a/app/src/main/java/org/wikipedia/readinglist/AddToReadingListDialog.java
+++ b/app/src/main/java/org/wikipedia/readinglist/AddToReadingListDialog.java
@@ -156,11 +156,14 @@
 
     private void updateLists() {
         ReadingList.DAO.queryMruLists(null, new 
CallbackTask.Callback<List<ReadingList>>() {
-            @Override
-            public void success(List<ReadingList> rows) {
+            @Override public void success(List<ReadingList> rows) {
                 readingLists.set(rows);
                 
readingLists.sort(Prefs.getReadingListSortMode(ReadingLists.SORT_BY_NAME_ASC));
                 adapter.notifyDataSetChanged();
+            }
+
+            @Override public void failure(Throwable caught) {
+
             }
         });
     }
@@ -199,8 +202,7 @@
     private void addAndDismiss(final ReadingList readingList) {
         final ReadingListPage page = findOrCreatePage(readingList, pageTitle);
         ReadingList.DAO.listContainsTitleAsync(readingList, page, new 
CallbackTask.Callback<Boolean>() {
-            @Override
-            public void success(Boolean contains) {
+            @Override public void success(Boolean contains) {
                 if (isAdded()) {
                     String message;
                     if (contains) {
@@ -220,6 +222,10 @@
                     dismiss();
                 }
             }
+
+            @Override public void failure(Throwable caught) {
+
+            }
         });
     }
 
diff --git 
a/app/src/main/java/org/wikipedia/readinglist/ReadingListBookmarkMenu.java 
b/app/src/main/java/org/wikipedia/readinglist/ReadingListBookmarkMenu.java
index 3ee8d29..9afc90c 100644
--- a/app/src/main/java/org/wikipedia/readinglist/ReadingListBookmarkMenu.java
+++ b/app/src/main/java/org/wikipedia/readinglist/ReadingListBookmarkMenu.java
@@ -32,14 +32,17 @@
     public void show(@NonNull PageTitle title) {
         
ReadingList.DAO.anyListContainsTitleAsync(ReadingListDaoProxy.key(title),
                 new CallbackTask.Callback<ReadingListPage>() {
-                    @Override
-                    public void success(@Nullable ReadingListPage page) {
+                    @Override public void success(@Nullable ReadingListPage 
page) {
                         if (!ViewCompat.isAttachedToWindow(anchorView)) {
                             return;
                         }
                         ReadingListBookmarkMenu.this.page = page;
                         showMenu();
                     }
+
+                    @Override public void failure(Throwable caught) {
+
+                    }
                 });
     }
 
diff --git 
a/app/src/main/java/org/wikipedia/readinglist/ReadingListFragment.java 
b/app/src/main/java/org/wikipedia/readinglist/ReadingListFragment.java
index 3d90bb2..0edc9e6 100644
--- a/app/src/main/java/org/wikipedia/readinglist/ReadingListFragment.java
+++ b/app/src/main/java/org/wikipedia/readinglist/ReadingListFragment.java
@@ -211,8 +211,7 @@
 
     private void updateReadingListData() {
         ReadingList.DAO.queryMruLists(null, new 
CallbackTask.Callback<List<ReadingList>>() {
-            @Override
-            public void success(List<ReadingList> lists) {
+            @Override public void success(List<ReadingList> lists) {
                 if (getActivity() == null) {
                     return;
                 }
@@ -224,6 +223,10 @@
                 }
                 update();
             }
+
+            @Override public void failure(Throwable caught) {
+
+            }
         });
     }
 
diff --git 
a/app/src/main/java/org/wikipedia/readinglist/ReadingListsFragment.java 
b/app/src/main/java/org/wikipedia/readinglist/ReadingListsFragment.java
index de33741..595272b 100644
--- a/app/src/main/java/org/wikipedia/readinglist/ReadingListsFragment.java
+++ b/app/src/main/java/org/wikipedia/readinglist/ReadingListsFragment.java
@@ -159,10 +159,8 @@
     }
 
     private void updateLists(@Nullable final String searchQuery) {
-        ReadingList.DAO.queryMruLists(searchQuery,
-                new CallbackTask.Callback<List<ReadingList>>() {
-            @Override
-            public void success(List<ReadingList> rows) {
+        ReadingList.DAO.queryMruLists(searchQuery, new 
CallbackTask.Callback<List<ReadingList>>() {
+            @Override public void success(List<ReadingList> rows) {
                 if (getActivity() == null) {
                     return;
                 }
@@ -171,6 +169,11 @@
                 updateEmptyState(searchQuery);
                 maybeDeleteListFromIntent();
             }
+
+            @Override
+            public void failure(Throwable caught) {
+
+            }
         });
     }
 

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I9f374938d821c73e79cd6e36442ab8da29237454
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

Reply via email to