From e334461a1c7c2110c6a38d92d3fc5331910e45b1 Mon Sep 17 00:00:00 2001 From: Caesar2011 Date: Wed, 4 Jul 2018 19:16:37 +0200 Subject: [PATCH] Renamed forceOverride to forceRefresh; refeshing added to public api --- .../moddetails/ModDetailOverviewFragment.java | 8 +-- .../de/sebse/fuplanner/services/KVV/KVV.java | 36 ++++++++++-- .../fuplanner/services/KVV/KVVModuleList.java | 58 +++++++------------ 3 files changed, 54 insertions(+), 48 deletions(-) diff --git a/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailOverviewFragment.java b/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailOverviewFragment.java index 5545e8d..871d36c 100644 --- a/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailOverviewFragment.java +++ b/app/src/main/java/de/sebse/fuplanner/fragments/moddetails/ModDetailOverviewFragment.java @@ -82,13 +82,13 @@ public class ModDetailOverviewFragment extends Fragment { // Getting SwipeContainerLayout swipeLayout = view.findViewById(R.id.swipe_container); // Adding Listener - swipeLayout.setOnRefreshListener(this::refresh); - refresh(); + swipeLayout.setOnRefreshListener(() -> refresh(true)); + refresh(false); return view; } - private void refresh() { + private void refresh(boolean forceRefresh) { if (getActivity() != null) { KVV kvv = ((MainActivity) getActivity()).getKVV(); kvv.getModuleList((Modules success) -> { @@ -99,7 +99,7 @@ public class ModDetailOverviewFragment extends Fragment { kvv.getModuleDetails(module, module1 -> { adapter.setModule(); }, error -> log.e(error)); - }, error -> log.e(error)); + }, error -> log.e(error), forceRefresh); } swipeLayout.setRefreshing(false); } diff --git a/app/src/main/java/de/sebse/fuplanner/services/KVV/KVV.java b/app/src/main/java/de/sebse/fuplanner/services/KVV/KVV.java index 6b4335a..addd2e3 100644 --- a/app/src/main/java/de/sebse/fuplanner/services/KVV/KVV.java +++ b/app/src/main/java/de/sebse/fuplanner/services/KVV/KVV.java @@ -46,68 +46,92 @@ public class KVV { } public void getModuleList(final NetworkCallback callback, final NetworkErrorCallback error) { + getModuleList(callback, error, false); + } + + public void getModuleList(final NetworkCallback callback, final NetworkErrorCallback error, boolean forceRefresh) { this.getLastToken(token -> { KVVModuleList modules = (KVVModuleList) addons.get("modules"); if (modules == null) { modules = new KVVModuleList(KVV.this.context, token); addons.put("modules", modules); } - modules.getModuleList(callback, error); + modules.getModuleList(callback, error, forceRefresh); }); } public void getModuleDetails(Modules.Module module, final NetworkCallback callback, final NetworkErrorCallback error) { + getModuleDetails(module, callback, error, false); + } + + public void getModuleDetails(Modules.Module module, final NetworkCallback callback, final NetworkErrorCallback error, boolean forceRefresh) { this.getLastToken(token -> { KVVModuleList modules = (KVVModuleList) addons.get("modules"); if (modules == null) { modules = new KVVModuleList(KVV.this.context, token); addons.put("modules", modules); } - modules.getModuleDetails(module, callback, error); + modules.getModuleDetails(module, callback, error, forceRefresh); }); } public void getModuleAnnouncements(Modules.Module module, final NetworkCallback callback, final NetworkErrorCallback error) { + getModuleAnnouncements(module, callback, error, false); + } + + public void getModuleAnnouncements(Modules.Module module, final NetworkCallback callback, final NetworkErrorCallback error, boolean forceRefresh) { this.getLastToken(token -> { KVVModuleList modules = (KVVModuleList) addons.get("modules"); if (modules == null) { modules = new KVVModuleList(KVV.this.context, token); addons.put("modules", modules); } - modules.getAnnouncements(module, callback, error); + modules.getAnnouncements(module, callback, error, forceRefresh); }); } public void getModuleAssignments(Modules.Module module, final NetworkCallback callback, final NetworkErrorCallback error) { + getModuleAssignments(module, callback, error, false); + } + + public void getModuleAssignments(Modules.Module module, final NetworkCallback callback, final NetworkErrorCallback error, boolean forceRefresh) { this.getLastToken(token -> { KVVModuleList modules = (KVVModuleList) addons.get("modules"); if (modules == null) { modules = new KVVModuleList(KVV.this.context, token); addons.put("modules", modules); } - modules.getAssignments(module, callback, error); + modules.getAssignments(module, callback, error, forceRefresh); }); } public void getModuleEvents(Modules.Module module, final NetworkCallback callback, final NetworkErrorCallback error) { + getModuleEvents(module, callback, error, false); + } + + public void getModuleEvents(Modules.Module module, final NetworkCallback callback, final NetworkErrorCallback error, boolean forceRefresh) { this.getLastToken(token -> { KVVModuleList modules = (KVVModuleList) addons.get("modules"); if (modules == null) { modules = new KVVModuleList(KVV.this.context, token); addons.put("modules", modules); } - modules.getEvents(module, callback, error); + modules.getEvents(module, callback, error, forceRefresh); }); } public void getModuleGradebook(Modules.Module module, final NetworkCallback callback, final NetworkErrorCallback error) { + getModuleGradebook(module, callback, error, false); + } + + public void getModuleGradebook(Modules.Module module, final NetworkCallback callback, final NetworkErrorCallback error, boolean forceRefresh) { this.getLastToken(token -> { KVVModuleList modules = (KVVModuleList) addons.get("modules"); if (modules == null) { modules = new KVVModuleList(KVV.this.context, token); addons.put("modules", modules); } - modules.getGradebook(module, callback, error); + modules.getGradebook(module, callback, error, forceRefresh); }); } diff --git a/app/src/main/java/de/sebse/fuplanner/services/KVV/KVVModuleList.java b/app/src/main/java/de/sebse/fuplanner/services/KVV/KVVModuleList.java index 741accc..fd8b920 100644 --- a/app/src/main/java/de/sebse/fuplanner/services/KVV/KVVModuleList.java +++ b/app/src/main/java/de/sebse/fuplanner/services/KVV/KVVModuleList.java @@ -52,13 +52,12 @@ public class KVVModuleList extends HTTPService { } } - public void getModuleList(final NetworkCallback callback, final NetworkErrorCallback errorCallback) { - getModuleList(callback, errorCallback, false); - } - public void getModuleList(final NetworkCallback callback, final NetworkErrorCallback errorCallback, boolean forceOverride) { + + + public void getModuleList(final NetworkCallback callback, final NetworkErrorCallback errorCallback, boolean forceRefresh) { queueModuleDetails.add("list", () -> { - if (this.moduleList != null && !forceOverride) { + if (this.moduleList != null && !forceRefresh) { callback.onResponse(this.moduleList); queueModuleDetails.next("list"); return; @@ -124,8 +123,8 @@ public class KVVModuleList extends HTTPService { this.moduleList.save(context); } - public void getModule(int index, final NetworkCallback callback, final NetworkErrorCallback errorCallback) { - this.getModuleList(success -> callback.onResponse(success.get(index)), errorCallback); + public void getModule(int index, final NetworkCallback callback, final NetworkErrorCallback errorCallback, boolean forceRefresh) { + this.getModuleList(success -> callback.onResponse(success.get(index)), errorCallback, forceRefresh); } @@ -133,11 +132,7 @@ public class KVVModuleList extends HTTPService { - public void getModuleDetails(Modules.Module module, final NetworkCallback callback, final NetworkErrorCallback errorCallback) { - this.getModuleDetails(module, callback, errorCallback, false); - } - - public void getModuleDetails(Modules.Module module, final NetworkCallback callback, final NetworkErrorCallback errorCallback, boolean forceOverride) { + public void getModuleDetails(Modules.Module module, final NetworkCallback callback, final NetworkErrorCallback errorCallback, boolean forceRefresh) { AtomicInteger returns = new AtomicInteger(0); AtomicReference lastError = new AtomicReference<>(null); final int items = 4; @@ -158,10 +153,10 @@ public class KVVModuleList extends HTTPService { } }; Runnable[] methods = { // UPDATE VARIABLE items ABOVE - () -> this.getAssignments(module, successCb, errorCb, forceOverride), - () -> this.getEvents(module, successCb, errorCb, forceOverride), - () -> this.getAnnouncements(module, successCb, errorCb, forceOverride), - () -> this.getGradebook(module, successCb, errorCb, forceOverride) + () -> this.getAssignments(module, successCb, errorCb, forceRefresh), + () -> this.getEvents(module, successCb, errorCb, forceRefresh), + () -> this.getAnnouncements(module, successCb, errorCb, forceRefresh), + () -> this.getGradebook(module, successCb, errorCb, forceRefresh) }; //noinspection ConstantConditions if (methods.length != items) throw new AssertionError(); @@ -173,13 +168,11 @@ public class KVVModuleList extends HTTPService { - public void getAnnouncements(Modules.Module module, final NetworkCallback callback, final NetworkErrorCallback errorCallback) { - getAnnouncements(module, callback, errorCallback, false); - } - public void getAnnouncements(Modules.Module module, final NetworkCallback callback, final NetworkErrorCallback errorCallback, boolean forceOverride) { + + public void getAnnouncements(Modules.Module module, final NetworkCallback callback, final NetworkErrorCallback errorCallback, boolean forceRefresh) { queueModuleDetails.add(module.getID(), () -> { - if (module.announcements != null && !forceOverride) { + if (module.announcements != null && !forceRefresh) { callback.onResponse(module); queueModuleDetails.next(module.getID()); return; @@ -227,13 +220,10 @@ public class KVVModuleList extends HTTPService { - public void getAssignments(Modules.Module module, final NetworkCallback callback, final NetworkErrorCallback errorCallback) { - getAssignments(module, callback, errorCallback, false); - } - public void getAssignments(Modules.Module module, final NetworkCallback callback, final NetworkErrorCallback errorCallback, boolean forceOverride) { + public void getAssignments(Modules.Module module, final NetworkCallback callback, final NetworkErrorCallback errorCallback, boolean forceRefresh) { queueModuleDetails.add(module.getID(), () -> { - if (module.assignments != null && !forceOverride) { + if (module.assignments != null && !forceRefresh) { callback.onResponse(module); queueModuleDetails.next(module.getID()); return; @@ -295,13 +285,9 @@ public class KVVModuleList extends HTTPService { - public void getEvents(Modules.Module module, final NetworkCallback callback, final NetworkErrorCallback errorCallback) { - getEvents(module, callback, errorCallback, false); - } - - public void getEvents(Modules.Module module, final NetworkCallback callback, final NetworkErrorCallback errorCallback, boolean forceOverride) { + public void getEvents(Modules.Module module, final NetworkCallback callback, final NetworkErrorCallback errorCallback, boolean forceRefresh) { queueModuleDetails.add(module.getID(), () -> { - if (module.events != null && !forceOverride) { + if (module.events != null && !forceRefresh) { callback.onResponse(module); queueModuleDetails.next(module.getID()); return; @@ -350,13 +336,9 @@ public class KVVModuleList extends HTTPService { - public void getGradebook(Modules.Module module, final NetworkCallback callback, final NetworkErrorCallback errorCallback) { - getGradebook(module, callback, errorCallback, false); - } - - public void getGradebook(Modules.Module module, final NetworkCallback callback, final NetworkErrorCallback errorCallback, boolean forceOverride) { + public void getGradebook(Modules.Module module, final NetworkCallback callback, final NetworkErrorCallback errorCallback, boolean forceRefresh) { queueModuleDetails.add(module.getID(), () -> { - if (module.gradebook != null && !forceOverride) { + if (module.gradebook != null && !forceRefresh) { callback.onResponse(module); queueModuleDetails.next(module.getID()); return;