Renamed forceOverride to forceRefresh; refeshing added to public api

This commit is contained in:
Caesar2011
2018-07-04 19:16:37 +02:00
parent 0647048486
commit b8cf3f736f
3 changed files with 54 additions and 48 deletions

View File

@@ -82,13 +82,13 @@ public class ModDetailOverviewFragment extends Fragment {
// Getting SwipeContainerLayout // Getting SwipeContainerLayout
swipeLayout = view.findViewById(R.id.swipe_container); swipeLayout = view.findViewById(R.id.swipe_container);
// Adding Listener // Adding Listener
swipeLayout.setOnRefreshListener(this::refresh); swipeLayout.setOnRefreshListener(() -> refresh(true));
refresh(); refresh(false);
return view; return view;
} }
private void refresh() { private void refresh(boolean forceRefresh) {
if (getActivity() != null) { if (getActivity() != null) {
KVV kvv = ((MainActivity) getActivity()).getKVV(); KVV kvv = ((MainActivity) getActivity()).getKVV();
kvv.getModuleList((Modules success) -> { kvv.getModuleList((Modules success) -> {
@@ -99,7 +99,7 @@ public class ModDetailOverviewFragment extends Fragment {
kvv.getModuleDetails(module, module1 -> { kvv.getModuleDetails(module, module1 -> {
adapter.setModule(); adapter.setModule();
}, error -> log.e(error)); }, error -> log.e(error));
}, error -> log.e(error)); }, error -> log.e(error), forceRefresh);
} }
swipeLayout.setRefreshing(false); swipeLayout.setRefreshing(false);
} }

View File

@@ -46,68 +46,92 @@ public class KVV {
} }
public void getModuleList(final NetworkCallback<Modules> callback, final NetworkErrorCallback error) { public void getModuleList(final NetworkCallback<Modules> callback, final NetworkErrorCallback error) {
getModuleList(callback, error, false);
}
public void getModuleList(final NetworkCallback<Modules> callback, final NetworkErrorCallback error, boolean forceRefresh) {
this.getLastToken(token -> { this.getLastToken(token -> {
KVVModuleList modules = (KVVModuleList) addons.get("modules"); KVVModuleList modules = (KVVModuleList) addons.get("modules");
if (modules == null) { if (modules == null) {
modules = new KVVModuleList(KVV.this.context, token); modules = new KVVModuleList(KVV.this.context, token);
addons.put("modules", modules); addons.put("modules", modules);
} }
modules.getModuleList(callback, error); modules.getModuleList(callback, error, forceRefresh);
}); });
} }
public void getModuleDetails(Modules.Module module, final NetworkCallback<Modules.Module> callback, final NetworkErrorCallback error) { public void getModuleDetails(Modules.Module module, final NetworkCallback<Modules.Module> callback, final NetworkErrorCallback error) {
getModuleDetails(module, callback, error, false);
}
public void getModuleDetails(Modules.Module module, final NetworkCallback<Modules.Module> callback, final NetworkErrorCallback error, boolean forceRefresh) {
this.getLastToken(token -> { this.getLastToken(token -> {
KVVModuleList modules = (KVVModuleList) addons.get("modules"); KVVModuleList modules = (KVVModuleList) addons.get("modules");
if (modules == null) { if (modules == null) {
modules = new KVVModuleList(KVV.this.context, token); modules = new KVVModuleList(KVV.this.context, token);
addons.put("modules", modules); addons.put("modules", modules);
} }
modules.getModuleDetails(module, callback, error); modules.getModuleDetails(module, callback, error, forceRefresh);
}); });
} }
public void getModuleAnnouncements(Modules.Module module, final NetworkCallback<Modules.Module> callback, final NetworkErrorCallback error) { public void getModuleAnnouncements(Modules.Module module, final NetworkCallback<Modules.Module> callback, final NetworkErrorCallback error) {
getModuleAnnouncements(module, callback, error, false);
}
public void getModuleAnnouncements(Modules.Module module, final NetworkCallback<Modules.Module> callback, final NetworkErrorCallback error, boolean forceRefresh) {
this.getLastToken(token -> { this.getLastToken(token -> {
KVVModuleList modules = (KVVModuleList) addons.get("modules"); KVVModuleList modules = (KVVModuleList) addons.get("modules");
if (modules == null) { if (modules == null) {
modules = new KVVModuleList(KVV.this.context, token); modules = new KVVModuleList(KVV.this.context, token);
addons.put("modules", modules); addons.put("modules", modules);
} }
modules.getAnnouncements(module, callback, error); modules.getAnnouncements(module, callback, error, forceRefresh);
}); });
} }
public void getModuleAssignments(Modules.Module module, final NetworkCallback<Modules.Module> callback, final NetworkErrorCallback error) { public void getModuleAssignments(Modules.Module module, final NetworkCallback<Modules.Module> callback, final NetworkErrorCallback error) {
getModuleAssignments(module, callback, error, false);
}
public void getModuleAssignments(Modules.Module module, final NetworkCallback<Modules.Module> callback, final NetworkErrorCallback error, boolean forceRefresh) {
this.getLastToken(token -> { this.getLastToken(token -> {
KVVModuleList modules = (KVVModuleList) addons.get("modules"); KVVModuleList modules = (KVVModuleList) addons.get("modules");
if (modules == null) { if (modules == null) {
modules = new KVVModuleList(KVV.this.context, token); modules = new KVVModuleList(KVV.this.context, token);
addons.put("modules", modules); addons.put("modules", modules);
} }
modules.getAssignments(module, callback, error); modules.getAssignments(module, callback, error, forceRefresh);
}); });
} }
public void getModuleEvents(Modules.Module module, final NetworkCallback<Modules.Module> callback, final NetworkErrorCallback error) { public void getModuleEvents(Modules.Module module, final NetworkCallback<Modules.Module> callback, final NetworkErrorCallback error) {
getModuleEvents(module, callback, error, false);
}
public void getModuleEvents(Modules.Module module, final NetworkCallback<Modules.Module> callback, final NetworkErrorCallback error, boolean forceRefresh) {
this.getLastToken(token -> { this.getLastToken(token -> {
KVVModuleList modules = (KVVModuleList) addons.get("modules"); KVVModuleList modules = (KVVModuleList) addons.get("modules");
if (modules == null) { if (modules == null) {
modules = new KVVModuleList(KVV.this.context, token); modules = new KVVModuleList(KVV.this.context, token);
addons.put("modules", modules); addons.put("modules", modules);
} }
modules.getEvents(module, callback, error); modules.getEvents(module, callback, error, forceRefresh);
}); });
} }
public void getModuleGradebook(Modules.Module module, final NetworkCallback<Modules.Module> callback, final NetworkErrorCallback error) { public void getModuleGradebook(Modules.Module module, final NetworkCallback<Modules.Module> callback, final NetworkErrorCallback error) {
getModuleGradebook(module, callback, error, false);
}
public void getModuleGradebook(Modules.Module module, final NetworkCallback<Modules.Module> callback, final NetworkErrorCallback error, boolean forceRefresh) {
this.getLastToken(token -> { this.getLastToken(token -> {
KVVModuleList modules = (KVVModuleList) addons.get("modules"); KVVModuleList modules = (KVVModuleList) addons.get("modules");
if (modules == null) { if (modules == null) {
modules = new KVVModuleList(KVV.this.context, token); modules = new KVVModuleList(KVV.this.context, token);
addons.put("modules", modules); addons.put("modules", modules);
} }
modules.getGradebook(module, callback, error); modules.getGradebook(module, callback, error, forceRefresh);
}); });
} }

View File

@@ -52,13 +52,12 @@ public class KVVModuleList extends HTTPService {
} }
} }
public void getModuleList(final NetworkCallback<Modules> callback, final NetworkErrorCallback errorCallback) {
getModuleList(callback, errorCallback, false);
}
public void getModuleList(final NetworkCallback<Modules> callback, final NetworkErrorCallback errorCallback, boolean forceOverride) {
public void getModuleList(final NetworkCallback<Modules> callback, final NetworkErrorCallback errorCallback, boolean forceRefresh) {
queueModuleDetails.add("list", () -> { queueModuleDetails.add("list", () -> {
if (this.moduleList != null && !forceOverride) { if (this.moduleList != null && !forceRefresh) {
callback.onResponse(this.moduleList); callback.onResponse(this.moduleList);
queueModuleDetails.next("list"); queueModuleDetails.next("list");
return; return;
@@ -124,8 +123,8 @@ public class KVVModuleList extends HTTPService {
this.moduleList.save(context); this.moduleList.save(context);
} }
public void getModule(int index, final NetworkCallback<Modules.Module> callback, final NetworkErrorCallback errorCallback) { public void getModule(int index, final NetworkCallback<Modules.Module> callback, final NetworkErrorCallback errorCallback, boolean forceRefresh) {
this.getModuleList(success -> callback.onResponse(success.get(index)), errorCallback); 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<Modules.Module> callback, final NetworkErrorCallback errorCallback) { public void getModuleDetails(Modules.Module module, final NetworkCallback<Modules.Module> callback, final NetworkErrorCallback errorCallback, boolean forceRefresh) {
this.getModuleDetails(module, callback, errorCallback, false);
}
public void getModuleDetails(Modules.Module module, final NetworkCallback<Modules.Module> callback, final NetworkErrorCallback errorCallback, boolean forceOverride) {
AtomicInteger returns = new AtomicInteger(0); AtomicInteger returns = new AtomicInteger(0);
AtomicReference<NetworkError> lastError = new AtomicReference<>(null); AtomicReference<NetworkError> lastError = new AtomicReference<>(null);
final int items = 4; final int items = 4;
@@ -158,10 +153,10 @@ public class KVVModuleList extends HTTPService {
} }
}; };
Runnable[] methods = { // UPDATE VARIABLE items ABOVE Runnable[] methods = { // UPDATE VARIABLE items ABOVE
() -> this.getAssignments(module, successCb, errorCb, forceOverride), () -> this.getAssignments(module, successCb, errorCb, forceRefresh),
() -> this.getEvents(module, successCb, errorCb, forceOverride), () -> this.getEvents(module, successCb, errorCb, forceRefresh),
() -> this.getAnnouncements(module, successCb, errorCb, forceOverride), () -> this.getAnnouncements(module, successCb, errorCb, forceRefresh),
() -> this.getGradebook(module, successCb, errorCb, forceOverride) () -> this.getGradebook(module, successCb, errorCb, forceRefresh)
}; };
//noinspection ConstantConditions //noinspection ConstantConditions
if (methods.length != items) throw new AssertionError(); if (methods.length != items) throw new AssertionError();
@@ -173,13 +168,11 @@ public class KVVModuleList extends HTTPService {
public void getAnnouncements(Modules.Module module, final NetworkCallback<Modules.Module> callback, final NetworkErrorCallback errorCallback) {
getAnnouncements(module, callback, errorCallback, false);
}
public void getAnnouncements(Modules.Module module, final NetworkCallback<Modules.Module> callback, final NetworkErrorCallback errorCallback, boolean forceOverride) {
public void getAnnouncements(Modules.Module module, final NetworkCallback<Modules.Module> callback, final NetworkErrorCallback errorCallback, boolean forceRefresh) {
queueModuleDetails.add(module.getID(), () -> { queueModuleDetails.add(module.getID(), () -> {
if (module.announcements != null && !forceOverride) { if (module.announcements != null && !forceRefresh) {
callback.onResponse(module); callback.onResponse(module);
queueModuleDetails.next(module.getID()); queueModuleDetails.next(module.getID());
return; return;
@@ -227,13 +220,10 @@ public class KVVModuleList extends HTTPService {
public void getAssignments(Modules.Module module, final NetworkCallback<Modules.Module> callback, final NetworkErrorCallback errorCallback) {
getAssignments(module, callback, errorCallback, false);
}
public void getAssignments(Modules.Module module, final NetworkCallback<Modules.Module> callback, final NetworkErrorCallback errorCallback, boolean forceOverride) { public void getAssignments(Modules.Module module, final NetworkCallback<Modules.Module> callback, final NetworkErrorCallback errorCallback, boolean forceRefresh) {
queueModuleDetails.add(module.getID(), () -> { queueModuleDetails.add(module.getID(), () -> {
if (module.assignments != null && !forceOverride) { if (module.assignments != null && !forceRefresh) {
callback.onResponse(module); callback.onResponse(module);
queueModuleDetails.next(module.getID()); queueModuleDetails.next(module.getID());
return; return;
@@ -295,13 +285,9 @@ public class KVVModuleList extends HTTPService {
public void getEvents(Modules.Module module, final NetworkCallback<Modules.Module> callback, final NetworkErrorCallback errorCallback) { public void getEvents(Modules.Module module, final NetworkCallback<Modules.Module> callback, final NetworkErrorCallback errorCallback, boolean forceRefresh) {
getEvents(module, callback, errorCallback, false);
}
public void getEvents(Modules.Module module, final NetworkCallback<Modules.Module> callback, final NetworkErrorCallback errorCallback, boolean forceOverride) {
queueModuleDetails.add(module.getID(), () -> { queueModuleDetails.add(module.getID(), () -> {
if (module.events != null && !forceOverride) { if (module.events != null && !forceRefresh) {
callback.onResponse(module); callback.onResponse(module);
queueModuleDetails.next(module.getID()); queueModuleDetails.next(module.getID());
return; return;
@@ -350,13 +336,9 @@ public class KVVModuleList extends HTTPService {
public void getGradebook(Modules.Module module, final NetworkCallback<Modules.Module> callback, final NetworkErrorCallback errorCallback) { public void getGradebook(Modules.Module module, final NetworkCallback<Modules.Module> callback, final NetworkErrorCallback errorCallback, boolean forceRefresh) {
getGradebook(module, callback, errorCallback, false);
}
public void getGradebook(Modules.Module module, final NetworkCallback<Modules.Module> callback, final NetworkErrorCallback errorCallback, boolean forceOverride) {
queueModuleDetails.add(module.getID(), () -> { queueModuleDetails.add(module.getID(), () -> {
if (module.gradebook != null && !forceOverride) { if (module.gradebook != null && !forceRefresh) {
callback.onResponse(module); callback.onResponse(module);
queueModuleDetails.next(module.getID()); queueModuleDetails.next(module.getID());
return; return;