Renamed forceOverride to forceRefresh; refeshing added to public api
This commit is contained in:
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user