aboutsummaryrefslogtreecommitdiffstats
path: root/src/net/miz_hi/smileessence/permission/PermissonChecker.java
blob: 596f76fb39f72afba38afad20dfc25131d95a9f0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
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();
    }
}