package com.quinn.githubknife.presenter;
import android.content.Context;
import android.util.Log;
import com.quinn.githubknife.listener.OnLoadUserInfoListener;
import com.quinn.githubknife.interactor.UserInfoInteractor;
import com.quinn.githubknife.interactor.UserInfoInteractorImpl;
import com.quinn.githubknife.view.UserInfoView;
import com.quinn.httpknife.github.User;
/**
* Created by Quinn on 7/25/15.
*/
public class UserInfoPresenterImpl implements UserInfoPresenter ,OnLoadUserInfoListener{
public static final String TAG = "UserInfoPresenterImpl";
private UserInfoView view;
private UserInfoInteractor interactor;
public UserInfoPresenterImpl(Context context, UserInfoView view){
this.view = view;
this.interactor = new UserInfoInteractorImpl(context,this);
}
@Override
public void user(String user) {
interactor.userInfo(user);
}
@Override
public void hasFollow(String targetUser) {
interactor.hasFollow(targetUser);
}
@Override
public void follow(String targetUser) {
interactor.follow(targetUser);
}
@Override
public void unFollow(String targetUser) {
interactor.unFollow(targetUser);
}
@Override
public void starredCount(String user) {
interactor.starredCount(user);
}
@Override
public void onFinish(User user) {
view.loadUser(user);
}
@Override
public void updateFollowState(boolean isFollow) {
view.setFollowState(isFollow);
}
@Override
public void loadStarredCount(int count) {
view.setStarredCount(count);
}
@Override
public void onError(String errorMsg) {
Log.i(TAG,"onError " + errorMsg);
view.onError(errorMsg);
}
}