package com.imagepicker.testing;
import com.facebook.react.bridge.Callback;
import com.facebook.react.bridge.JavaOnlyMap;
/**
* Created by rusfearuth on 10.04.17.
*/
public class SampleCallback implements Callback
{
private boolean hasError;
private boolean didCancel;
@Override
public void invoke(Object... args)
{
System.out.println(args.length);
System.out.println(String.valueOf(args[0]));
System.out.println(args[0].getClass());
for (int i = 0; i < args.length; i++) {
if (lookingForError(args[i])) {
break;
}
}
for (int i = 0; i < args.length; i++) {
if (lookingForCancelation(args[i])) {
break;
}
}
}
public boolean hasError()
{
return hasError;
}
public boolean didCancel()
{
return didCancel;
}
private boolean lookingForError(Object arg)
{
hasError = false;
if (arg == null)
{
return hasError;
}
if (arg instanceof String)
{
hasError = arg.equals("error") || ((String) arg).contains("error");
}
else if (arg instanceof JavaOnlyMap)
{
hasError = ((JavaOnlyMap) arg).hasKey("error");
}
return hasError;
}
private boolean lookingForCancelation(Object arg)
{
didCancel = false;
if (arg == null)
{
return didCancel;
}
if (arg instanceof String)
{
didCancel = arg.equals("didCancel") || ((String) arg).contains("didCancel");
}
else if (arg instanceof JavaOnlyMap)
{
didCancel = ((JavaOnlyMap) arg).hasKey("didCancel");
}
return didCancel;
}
}