From 1cd8ef1b475893ae6e7f2e468efd5e527d6aaec1 Mon Sep 17 00:00:00 2001 From: seven332 Date: Fri, 14 Sep 2018 19:35:02 +0800 Subject: [PATCH] Back up gallery list moved from local favourites to cloud favourites --- .../com/hippo/ehviewer/ui/scene/FavoritesScene.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/FavoritesScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/FavoritesScene.java index fe01d70e6..e4b353a4b 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/FavoritesScene.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/FavoritesScene.java @@ -1023,13 +1023,14 @@ public class FavoritesScene extends BaseScene implements gidArray[i] = gi.gid; tokenArray[i] = gi.token; } + List modifyGiListBackup = new ArrayList<>(mModifyGiList); mModifyGiList.clear(); EhRequest request = new EhRequest(); request.setMethod(EhClient.METHOD_ADD_FAVORITES_RANGE); request.setCallback(new AddFavoritesListener(getContext(), activity.getStageId(), getTag(), - taskId, mUrlBuilder.getKeyword())); + taskId, mUrlBuilder.getKeyword(), modifyGiListBackup)); request.setArgs(gidArray, tokenArray, mModifyFavCat); mClient.execute(request); } else { @@ -1129,12 +1130,14 @@ public class FavoritesScene extends BaseScene implements private final int mTaskId; private final String mKeyword; + private final List mBackup; private AddFavoritesListener(Context context, int stageId, - String sceneTag, int taskId, String keyword) { + String sceneTag, int taskId, String keyword, List backup) { super(context, stageId, sceneTag); mTaskId = taskId; mKeyword = keyword; + mBackup = backup; } @Override @@ -1147,6 +1150,10 @@ public class FavoritesScene extends BaseScene implements @Override public void onFailure(Exception e) { + // TODO It's a failure, add all of backup back to db. + // But how to known which one is failed? + EhDB.putLocalFavorites(mBackup); + FavoritesScene scene = getScene(); if (scene != null) { scene.onGetFavoritesLocal(mKeyword, mTaskId);