Blackboard "Refresh failed" Fix
This commit is contained in:
@@ -2,6 +2,8 @@ package de.sebse.fuplanner.services.kvv;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.android.volley.NetworkResponse;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.HashMap;
|
||||
@@ -56,7 +58,13 @@ public class Modules {
|
||||
public ModulesList list() {
|
||||
if (mList == null) {
|
||||
mList = new ModulesList(mLogin, mListener, context);
|
||||
mList.addErrorListener("Modules", error -> mListener.onKVVNetworkResponse(error.networkResponse));
|
||||
mList.addErrorListener("Modules", error -> {
|
||||
NetworkResponse networkResponse = error.networkResponse;
|
||||
if ((networkResponse.statusCode == 400 || networkResponse.statusCode == 403) && networkResponse.headers.containsKey("X-Blackboard-product"))
|
||||
mListener.onKVVNetworkResponse(null);
|
||||
else
|
||||
mListener.onKVVNetworkResponse(networkResponse);
|
||||
});
|
||||
mList.addSuccessListener("Modules", success -> mListener.onKVVNetworkResponse(null));
|
||||
}
|
||||
return mList;
|
||||
@@ -68,7 +76,13 @@ public class Modules {
|
||||
Part o = mAddons.get(addon);
|
||||
if (o == null) {
|
||||
o = creatorInterface.create();
|
||||
o.addErrorListener("Modules", error -> mListener.onKVVNetworkResponse(error.networkResponse));
|
||||
o.addErrorListener("Modules", error -> {
|
||||
NetworkResponse networkResponse = error.networkResponse;
|
||||
if ((networkResponse.statusCode == 400 || networkResponse.statusCode == 403) && networkResponse.headers.containsKey("X-Blackboard-product"))
|
||||
mListener.onKVVNetworkResponse(null);
|
||||
else
|
||||
mListener.onKVVNetworkResponse(networkResponse);
|
||||
});
|
||||
o.addSuccessListener("Modules", success -> mListener.onKVVNetworkResponse(null));
|
||||
mAddons.put(addon, o);
|
||||
}
|
||||
|
||||
@@ -134,6 +134,11 @@ public class ModulesAnnouncements extends PartModules<ArrayList<Announcement>> {
|
||||
}
|
||||
|
||||
callback.onResponse(announcements);
|
||||
}, error -> errorCallback.onError(new NetworkError(101213, error.networkResponse.statusCode, "Cannot get announcements!")));
|
||||
}, error -> {
|
||||
if (error.networkResponse.statusCode == 400)
|
||||
callback.onResponse(new ArrayList<>());
|
||||
else
|
||||
errorCallback.onError(new NetworkError(101213, error.networkResponse.statusCode, "Cannot get announcements!"));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,10 +8,8 @@ import org.json.JSONObject;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import de.sebse.fuplanner.services.kvv.types.Announcement;
|
||||
import de.sebse.fuplanner.services.kvv.types.Grade;
|
||||
import de.sebse.fuplanner.services.kvv.types.Modules;
|
||||
import de.sebse.fuplanner.tools.UtilsDate;
|
||||
import de.sebse.fuplanner.tools.network.NetworkCallback;
|
||||
import de.sebse.fuplanner.tools.network.NetworkError;
|
||||
import de.sebse.fuplanner.tools.network.NetworkErrorCallback;
|
||||
@@ -147,6 +145,11 @@ public class ModulesGradebook extends PartModules<ArrayList<Grade>> {
|
||||
}
|
||||
callback.onResponse(result);
|
||||
}, error -> errorCallback.onError(new NetworkError(101516, error.networkResponse.statusCode, "Cannot get gradebook columns!")));
|
||||
}, error -> errorCallback.onError(new NetworkError(101517, error.networkResponse.statusCode, "Cannot get gradebook entries!")));
|
||||
}, error -> {
|
||||
if (error.networkResponse.statusCode == 403)
|
||||
callback.onResponse(new ArrayList<>());
|
||||
else
|
||||
errorCallback.onError(new NetworkError(101517, error.networkResponse.statusCode, "Cannot get gradebook entries!"));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -225,7 +225,7 @@ public class ModulesResources extends PartModules<ArrayList<Resource>> {
|
||||
}
|
||||
}
|
||||
}, error -> {
|
||||
if (!subRequest || error.networkResponse.statusCode != 403) {
|
||||
if (error.networkResponse.statusCode != 403) {
|
||||
errorCallback.onError(new NetworkError(101613, error.networkResponse.statusCode, "Cannot get resources!"));
|
||||
} else {
|
||||
callback.onResponse(new ArrayList<>());
|
||||
|
||||
Reference in New Issue
Block a user