From 3ee2a505f8d32a62045da13ae185bb04b823d2a2 Mon Sep 17 00:00:00 2001 From: Dmitriy Bogdanov Date: Tue, 29 Oct 2019 13:59:36 +0400 Subject: [PATCH] Use lighter deleteArticle API method --- .../Poche/network/WallabagServiceWrapper.java | 16 ++++++++++++---- .../apps/Poche/service/MainService.java | 2 +- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/fr/gaulupeau/apps/Poche/network/WallabagServiceWrapper.java b/app/src/main/java/fr/gaulupeau/apps/Poche/network/WallabagServiceWrapper.java index f6b6c9f10..804709f9e 100644 --- a/app/src/main/java/fr/gaulupeau/apps/Poche/network/WallabagServiceWrapper.java +++ b/app/src/main/java/fr/gaulupeau/apps/Poche/network/WallabagServiceWrapper.java @@ -100,15 +100,23 @@ public Article addArticle(String url) throws UnsuccessfulResponseException, IOEx return wallabagService.addArticle(url); } - public Article deleteArticle(int articleID) + public boolean deleteArticle(int articleID) throws UnsuccessfulResponseException, IOException { + boolean found = false; + try { - return wallabagService.deleteArticle(articleID); + if (CompatibilityHelper.isDeleteArticleWithIdSupported(wallabagService)) { + wallabagService.deleteArticleWithId(articleID); + found = true; + } else { + LOG.debug("deleteArticle() using older API method"); + found = wallabagService.deleteArticle(articleID) != null; + } } catch(NotFoundException e) { - LOG.info("Ignoring not found exception for article ID: " + articleID, e); + LOG.info("deleteArticle() Ignoring not found exception for article ID: " + articleID, e); } - return null; + return found; } public WallabagService getWallabagService() { diff --git a/app/src/main/java/fr/gaulupeau/apps/Poche/service/MainService.java b/app/src/main/java/fr/gaulupeau/apps/Poche/service/MainService.java index 13be3e0a7..6516d2d77 100644 --- a/app/src/main/java/fr/gaulupeau/apps/Poche/service/MainService.java +++ b/app/src/main/java/fr/gaulupeau/apps/Poche/service/MainService.java @@ -238,7 +238,7 @@ private Pair syncOfflineQueue(ActionRequest actionRequest) { case ARTICLE_DELETE: { canTolerateNotFound = true; - if(getWallabagServiceWrapper().deleteArticle(articleID) == null) { + if(!getWallabagServiceWrapper().deleteArticle(articleID)) { itemResult = new ActionResult(ActionResult.ErrorType.NOT_FOUND); } break;