![JAR search and dependency download from the Maven repository](/logo.png)
com.avos.avoscloud.SignatureTask Maven / Gradle / Ivy
The newest version!
package com.avos.avoscloud;
import android.os.AsyncTask;
import android.os.Build;
/**
* Created by wli on 2017/7/26.
*/
class SignatureTask extends AsyncTask {
SignatureCallback callback;
AVException signatureException = null;
public SignatureTask(SignatureCallback callback) {
this.callback = callback;
}
@Override
protected Signature doInBackground(String... params) {
String clientId = params[0];
Signature signature;
if (callback.useSignatureCache()) {
signature = AVSessionCacheHelper.SignatureCache.getSessionSignature(clientId);
if (signature != null && !signature.isExpired()) {
if (AVOSCloud.isDebugLogEnabled()) {
LogUtil.avlog.d("get signature from cache");
}
return signature;
} else {
if (AVOSCloud.isDebugLogEnabled()) {
LogUtil.avlog.d("signature expired");
}
}
}
try {
signature = callback.computeSignature();
if (callback.cacheSignature()) {
AVSessionCacheHelper.SignatureCache.addSessionSignature(clientId, signature);
}
return signature;
} catch (Exception e) {
signatureException = new AVException(e);
return null;
}
}
@Override
protected void onPostExecute(Signature result) {
callback.onSignatureReady(result, signatureException);
}
public AsyncTask commit(String... params) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
return executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, params);
} else {
return execute(params);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy