tdlib-session-container/src/main/java/it/tdlight/utils/TdLightUtils.java

41 lines
1008 B
Java

package it.tdlight.utils;
import it.tdlight.jni.TdApi;
import it.tdlight.jni.TdApi.Error;
import it.tdlight.tdlibsession.td.ResponseError;
import it.tdlight.tdlibsession.td.TdError;
import org.jetbrains.annotations.Nullable;
public class TdLightUtils {
@SuppressWarnings("RedundantIfStatement")
public static boolean errorEquals(Throwable ex, @Nullable Integer errorCode, @Nullable String errorText) {
while (ex != null) {
TdApi.Error error = null;
if (ex instanceof TdError) {
error = ((TdError) ex).getTdError();
}
if (ex instanceof ResponseError) {
error = new Error(((ResponseError) ex).getErrorCode(), ((ResponseError) ex).getErrorMessage());
}
if (error != null) {
if (errorCode != null) {
if (error.code != errorCode) {
return false;
}
}
if (errorText != null) {
if (error.message == null || !error.message.contains(errorText)) {
return false;
}
}
return true;
}
ex = ex.getCause();
}
return false;
}
}