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