/**
*
*/
package com.photoshare.service.users.views;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import com.photoshare.fragments.BaseFragment;
import com.photoshare.service.follow.FollowType;
import com.photoshare.service.users.UserInfo;
import com.photoshare.tabHost.R;
import com.photoshare.view.UserHomeTitleBarView;
/**
* @author Aron
*
* UserHomeTitleBarFragment displays views contained in
* {@link UserHomeTitleBarView} and handle accompanied operations.
*
*/
public class UserHomeTitleBarFragment extends BaseFragment {
private UserHomeTitleBarView barView;
public static UserHomeTitleBarFragment newInstance(int fragmentViewId) {
UserHomeTitleBarFragment uhtbf = new UserHomeTitleBarFragment();
uhtbf.setFragmentViewId(fragmentViewId);
return uhtbf;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
initView();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.user_home_title_bar, container, false);
}
private void initView() {
barView = new UserHomeTitleBarView(((View) getActivity().findViewById(
R.id.userHomeTitlebarLayoutId)), user.getUserInfo(), async);
barView.registerCallback(mCallback);
barView.applyView();
}
private Bundle generate() {
Bundle args = new Bundle();
Bundle bundle = getArguments();
if (bundle.containsKey(KEY_WRAPPER_ID)) {
args.putInt(KEY_WRAPPER_ID, bundle.getInt(KEY_WRAPPER_ID));
}
if (bundle.containsKey(KEY_WRAPPED_ID)) {
args.putIntArray(KEY_WRAPPED_ID, bundle.getIntArray(KEY_WRAPPED_ID));
}
return args;
}
private UserHomeTitleBarView.ICallback mCallback = new UserHomeTitleBarView.ICallback() {
public void OnPhotosCntClick() {
// do nothing
}
public void OnFollowingCntClick() {
Bundle param = generate();
param.putParcelable(UserInfo.KEY_USER_INFO, user.getUserInfo());
param.putString(UserInfo.KEY_FOLLOW_TYPE,
FollowType.FOLLOWING.toString());
forward(getFollowingFragment(), param);
}
public void OnFollowerCntClick() {
Bundle param = generate();
param.putParcelable(UserInfo.KEY_USER_INFO, user.getUserInfo());
param.putString(UserInfo.KEY_FOLLOW_TYPE,
FollowType.FOLLOWER.toString());
forward(getFollowingFragment(), param);
}
public void OnEditInfoClick() {
forward(getProfileFragment(), generate());
}
public void OnUserHeadLoaded(final ImageView imageView,
final Drawable photo, String url) {
getActivity().runOnUiThread(new Runnable() {
public void run() {
imageView.setImageDrawable(photo);
}
});
}
public void OnDefault(final ImageView imageView) {
getActivity().runOnUiThread(new Runnable() {
public void run() {
imageView.setImageResource(R.drawable.icon);
}
});
}
};
private String getFollowingFragment() {
return getString(R.string.ffollowInfoFragment);
}
private String getProfileFragment() {
return getString(R.string.fpersonalProfileFragment);
}
private String getPreferencesSettingsFragment() {
return getString(R.string.fpreferenceSettingsFragment);
}
/*
* (non-Javadoc)
*
* @see com.photoshare.fragments.BaseFragment#OnRightBtnClicked()
*/
@Override
protected void onRightBtnClicked() {
forward(getPreferencesSettingsFragment(), null);
}
/*
* (non-Javadoc)
*
* @see com.photoshare.fragments.BaseFragment#OnLeftBtnClicked()
*/
@Override
protected void onLeftBtnClicked() {
// do nothing
}
@Override
protected void onLoginSuccess() {
// TODO Auto-generated method stub
}
}