mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update sync processes
This commit is contained in:
parent
cad461b296
commit
c23547137d
19 changed files with 400 additions and 326 deletions
111
dashboard-ui/cordova/android/androidcredentials.js
vendored
111
dashboard-ui/cordova/android/androidcredentials.js
vendored
|
@ -26,109 +26,6 @@
|
|||
var capabilities = ConnectionManager.capabilities();
|
||||
|
||||
ApiClientBridge.init(AppInfo.appName, AppInfo.appVersion, AppInfo.deviceId, AppInfo.deviceName, JSON.stringify(capabilities));
|
||||
|
||||
initAjax();
|
||||
}
|
||||
|
||||
var baseAjaxMethod;
|
||||
var currentId = 0;
|
||||
function getNewRequestId() {
|
||||
var id = currentId++;
|
||||
return id.toString();
|
||||
}
|
||||
function initAjax() {
|
||||
baseAjaxMethod = HttpClient.send;
|
||||
HttpClient.send = sendRequest;
|
||||
}
|
||||
|
||||
function sendRequest(request) {
|
||||
|
||||
// For now, we can only handle json responses
|
||||
if (request.dataType) {
|
||||
if (request.dataType != 'json') {
|
||||
return baseAjaxMethod(request);
|
||||
}
|
||||
}
|
||||
|
||||
if (request.data) {
|
||||
// For now, we can only handle request bodies that are strings
|
||||
if (typeof (request.data) != 'string') {
|
||||
return baseAjaxMethod(request);
|
||||
}
|
||||
}
|
||||
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
|
||||
var id = getNewRequestId();
|
||||
|
||||
request.headers = request.headers || {};
|
||||
|
||||
if (request.dataType == 'json') {
|
||||
request.headers.accept = 'application/json';
|
||||
}
|
||||
|
||||
var method = request.type || "GET";
|
||||
|
||||
var javaRequest = {
|
||||
Method: method,
|
||||
Url: request.url,
|
||||
RequestHeaders: request.headers
|
||||
};
|
||||
|
||||
if (request.timeout) {
|
||||
javaRequest.Timeout = request.timeout;
|
||||
}
|
||||
|
||||
if (request.data) {
|
||||
javaRequest.RequestContent = request.data;
|
||||
}
|
||||
|
||||
if (request.contentType) {
|
||||
javaRequest.RequestContentType = request.contentType;
|
||||
}
|
||||
|
||||
Logger.log("Sending request: " + JSON.stringify(javaRequest));
|
||||
|
||||
ApiClientBridge.sendRequest(JSON.stringify(javaRequest), request.dataType, id);
|
||||
|
||||
Events.on(AndroidAjax, 'response' + id, function (e, isSuccess, response) {
|
||||
|
||||
Events.off(AndroidAjax, 'response' + id);
|
||||
|
||||
if (isSuccess) {
|
||||
|
||||
if (response) {
|
||||
deferred.resolveWith(null, [response]);
|
||||
} else {
|
||||
deferred.resolve();
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
||||
// Need to mimic the jquery ajax error response
|
||||
deferred.rejectWith(request, [getErrorResponse(response)]);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
return deferred.promise();
|
||||
}
|
||||
|
||||
function getErrorResponse(response) {
|
||||
|
||||
var error = {};
|
||||
|
||||
if (response.StatusCode) {
|
||||
error.status = response.StatusCode;
|
||||
}
|
||||
|
||||
error.ResponseHeaders = response.ResponseHeaders || {};
|
||||
|
||||
error.getResponseHeader = function (name) {
|
||||
return error.ResponseHeaders[name];
|
||||
};
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
function getDownloadSpeed(bytes, url) {
|
||||
|
@ -181,14 +78,6 @@
|
|||
|
||||
window.AndroidAjax = {
|
||||
|
||||
onResponse: function (id, response) {
|
||||
|
||||
Events.trigger(AndroidAjax, 'response' + id, [true, response]);
|
||||
},
|
||||
onError: function (id, response) {
|
||||
|
||||
Events.trigger(AndroidAjax, 'response' + id, [false, response]);
|
||||
},
|
||||
onDownloadSpeedResponse: function (response) {
|
||||
|
||||
Events.trigger(AndroidAjax, 'downloadspeedresponse', [response]);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue