package net.miz_hi.smileessence.permission;
import net.miz_hi.smileessence.auth.Account;
import net.miz_hi.smileessence.core.MyExecutor;
import net.miz_hi.smileessence.twitter.API;
import twitter4j.User;
import java.util.concurrent.Callable;
import java.util.concurrent.Future;
public class PermissonChecker
{
public static IPermission checkPermission(final Account account)
{
Future<User> future = MyExecutor.submit(new Callable<User>()
{
@Override
public User call() throws Exception
{
return API.getUser(account, account.getUserId());
}
});
try
{
User user = future.get();
float ratio = (float) user.getFriendsCount() / (float) user.getFollowersCount();
if (ratio > 2 && user.getFollowersCount() < 100)
{
return new PermissionBeginner();
}
else if (user.getFavouritesCount() < 10000)
{
return new PermissionIntermediate();
}
else
{
return new PermissionExpert();
}
}
catch (Exception e)
{
e.printStackTrace();
}
return new PermissionBeginner();
}
}