//package org.qii.weiciyuan.ui.userinfo;
//
//import android.content.Intent;
//import android.os.Bundle;
//import android.text.TextUtils;
//import android.view.*;
//import android.widget.ImageView;
//import android.widget.TextView;
//import android.widget.Toast;
//import org.qii.weiciyuan.R;
//import org.qii.weiciyuan.bean.AccountBean;
//import org.qii.weiciyuan.bean.UserBean;
//import org.qii.weiciyuan.dao.show.ShowUserDao;
//import org.qii.weiciyuan.dao.topic.UserTopicListDao;
//import org.qii.weiciyuan.support.asyncdrawable.ProfileAvatarReadWorker;
//import org.qii.weiciyuan.support.asyncdrawable.TimeLineBitmapDownloader;
//import org.qii.weiciyuan.support.database.AccountDBTask;
//import org.qii.weiciyuan.support.error.WeiboException;
//import org.qii.weiciyuan.support.file.FileLocationMethod;
//import org.qii.weiciyuan.support.file.FileManager;
//import org.qii.weiciyuan.support.lib.MyAsyncTask;
//import org.qii.weiciyuan.support.utils.GlobalContext;
//import org.qii.weiciyuan.support.utils.TimeLineUtility;
//import org.qii.weiciyuan.support.utils.Utility;
//import org.qii.weiciyuan.ui.interfaces.AbstractAppActivity;
//import org.qii.weiciyuan.ui.interfaces.AbstractAppFragment;
//import org.qii.weiciyuan.ui.topic.UserTopicListActivity;
//
//import java.io.File;
//import java.util.ArrayList;
//
///**
// * User: qii
// * Date: 12-7-30
// */
//public class MyInfoFragment extends AbstractAppFragment {
//
// private UserBean bean;
//
// private Layout layout;
//
// protected TimeLineBitmapDownloader commander;
//
// private MyAsyncTask<Object, UserBean, UserBean> refreshTask;
// private ProfileAvatarReadWorker avatarTask;
// private TopicListTask topicListTask;
//
// private ArrayList<String> topicList;
//
//
// public MyInfoFragment() {
// super();
// }
//
// @Override
// public void onSaveInstanceState(Bundle outState) {
// super.onSaveInstanceState(outState);
// outState.putStringArrayList("topicList", topicList);
// }
//
// @Override
// public void onCreate(Bundle savedInstanceState) {
// super.onCreate(savedInstanceState);
// setHasOptionsMenu(true);
// setRetainInstance(true);
// }
//
//
// @Override
// public void onActivityCreated(Bundle savedInstanceState) {
// super.onActivityCreated(savedInstanceState);
// AccountBean accountBean;
// switch (getCurrentState(savedInstanceState)) {
// case FIRST_TIME_START:
// accountBean = GlobalContext.getInstance().getAccountBean();
// bean = accountBean.getInfo();
// refresh();
// break;
// case SCREEN_ROTATE:
// //nothing
//
// break;
// case ACTIVITY_DESTROY_AND_CREATE:
// topicList = savedInstanceState.getStringArrayList("topicList");
// accountBean = GlobalContext.getInstance().getAccountBean();
// bean = accountBean.getInfo();
// break;
// }
//
// commander = ((AbstractAppActivity) getActivity()).getBitmapDownloader();
// setValue();
// }
//
// @Override
// public void onResume() {
// super.onResume();
// GlobalContext.getInstance().registerForAccountChangeListener(listener);
// }
//
//
// @Override
// public void onDestroy() {
// super.onDestroy();
// Utility.cancelTasks(refreshTask, avatarTask, topicListTask);
// GlobalContext.getInstance().unRegisterForAccountChangeListener(listener);
//
// }
//
//
// private GlobalContext.MyProfileInfoChangeListener listener = new GlobalContext.MyProfileInfoChangeListener() {
// @Override
// public void onChange(UserBean newUserBean) {
// bean = newUserBean;
// setValue();
// }
// };
//
// @Override
// public void onStart() {
// super.onStart();
// }
//
// private void setValue() {
// layout.username.setText(bean.getScreen_name());
//
// if (bean.isVerified()) {
// layout.isVerified.setVisibility(View.VISIBLE);
// layout.isVerified.setText(getString(R.string.verified_user));
// layout.verified_reason.setText(bean.getVerified_reason());
// layout.verified_layout.setVisibility(View.VISIBLE);
// } else {
// layout.verified_layout.setVisibility(View.GONE);
// }
//
// if (!TextUtils.isEmpty(bean.getDescription())) {
// layout.intro_layout.setVisibility(View.VISIBLE);
// layout.info.setText(bean.getDescription());
// } else {
// layout.intro_layout.setVisibility(View.GONE);
// }
//
// //sina weibo have a bug, after modify your profile, the return UserBean object don't have large avatar url
// String avatarUrl = bean.getAvatar_large();
// if (!TextUtils.isEmpty(avatarUrl)) {
// avatarTask = new ProfileAvatarReadWorker(layout.avatar, avatarUrl);
// avatarTask.executeOnExecutor(MyAsyncTask.THREAD_POOL_EXECUTOR);
// }
// if (!TextUtils.isEmpty(bean.getUrl())) {
// layout.blog_url_layout.setVisibility(View.VISIBLE);
// layout.blog_url.setVisibility(View.VISIBLE);
// layout.blog_url.setText(bean.getUrl());
// TimeLineUtility.addLinks(layout.blog_url);
// } else {
// layout.blog_url_layout.setVisibility(View.GONE);
// layout.blog_url.setVisibility(View.GONE);
// }
//
// if (!TextUtils.isEmpty(bean.getLocation())) {
// layout.location_layout.setVisibility(View.VISIBLE);
// layout.location.setText(bean.getLocation());
// } else {
// layout.location_layout.setVisibility(View.GONE);
// }
// String s = bean.getGender();
// if (!TextUtils.isEmpty(s)) {
// if (s.equals("m"))
// layout.sex.setText(getString(R.string.m));
// else if (s.equals("f"))
// layout.sex.setText(getString(R.string.f));
// else
// layout.sex.setVisibility(View.GONE);
// }
//
// setTextViewNum(layout.fans_number, bean.getFollowers_count());
// setTextViewNum(layout.following_number, bean.getFriends_count());
// setTextViewNum(layout.fav_number, bean.getFavourites_count());
// getActivity().getActionBar().getTabAt(1).setText(getString(R.string.weibo) + "(" + bean.getStatuses_count() + ")");
//
// }
//
// @Override
// public View onCreateView(LayoutInflater inflater,
// ViewGroup container, Bundle savedInstanceState) {
//
// View view = inflater.inflate(R.layout.myinfofragment_layout, container, false);
// layout = new Layout();
// layout.avatar = (ImageView) view.findViewById(R.id.avatar);
//
// layout.avatar.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// String path = FileManager.getFilePathFromUrl(bean.getAvatar_large(), FileLocationMethod.avatar_large);
// if (new File(path).exists()) {
// UserAvatarDialog dialog = new UserAvatarDialog(path);
// dialog.show(getFragmentManager(), "");
// }
// }
// });
//
// layout.username = (TextView) view.findViewById(R.id.username);
// layout.isVerified = (TextView) view.findViewById(R.id.isVerified);
// layout.verified_reason = (TextView) view.findViewById(R.id.verified_info);
// layout.info = (TextView) view.findViewById(R.id.textView_info);
// layout.blog_url = (TextView) view.findViewById(R.id.blog_url);
// layout.location = (TextView) view.findViewById(R.id.location);
// layout.sex = (TextView) view.findViewById(R.id.sex);
// layout.following_number = (TextView) view.findViewById(R.id.following_number);
// layout.fans_number = (TextView) view.findViewById(R.id.fans_number);
// layout.fav_number = (TextView) view.findViewById(R.id.fav_number);
// layout.topic_number = (TextView) view.findViewById(R.id.topic_number);
//
// layout.blog_url_layout = (ViewGroup) view.findViewById(R.id.blog_url_layout);
// layout.intro_layout = (ViewGroup) view.findViewById(R.id.intro_layout);
// layout.location_layout = (ViewGroup) view.findViewById(R.id.location_layout);
// layout.verified_layout = (ViewGroup) view.findViewById(R.id.verified_layout);
//
// View fan_layout = view.findViewById(R.id.fan_layout);
// View following_layout = view.findViewById(R.id.following_layout);
// View fav_layout = view.findViewById(R.id.fav_layout);
// View topic_layout = view.findViewById(R.id.topic_layout);
//
// following_layout.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// Intent intent = new Intent(getActivity(), FriendListActivity.class);
// intent.putExtra("token", GlobalContext.getInstance().getSpecialToken());
// intent.putExtra("user", bean);
// startActivity(intent);
// }
// });
// fan_layout.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// Intent intent = new Intent(getActivity(), FanListActivity.class);
// intent.putExtra("token", GlobalContext.getInstance().getSpecialToken());
// intent.putExtra("user", bean);
// startActivity(intent);
// }
// });
// fav_layout.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// Intent intent = new Intent(getActivity(), MyFavActivity.class);
// intent.putExtra("token", GlobalContext.getInstance().getSpecialToken());
// startActivity(intent);
// }
// });
// topic_layout.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// Intent intent = new Intent(getActivity(), UserTopicListActivity.class);
// intent.putExtra("userBean", bean);
// intent.putStringArrayListExtra("topicList", topicList);
// startActivity(intent);
//
// }
// });
// return view;
// }
//
//
// @Override
// public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
// super.onCreateOptionsMenu(menu, inflater);
// inflater.inflate(R.menu.actionbar_menu_myinfofragment, menu);
//
// }
//
//
// @Override
// public boolean onOptionsItemSelected(MenuItem item) {
// switch (item.getItemId()) {
// case R.id.menu_refresh:
// refresh();
// break;
//
//
// }
// return true;
// }
//
// private void refresh() {
// if (refreshTask == null || refreshTask.getStatus() == MyAsyncTask.Status.FINISHED) {
// refreshTask = new RefreshTask();
// refreshTask.execute();
// }
// }
//
// private class RefreshTask extends MyAsyncTask<Object, UserBean, UserBean> {
// WeiboException e;
//
// @Override
// protected UserBean doInBackground(Object... params) {
// UserBean user = null;
// try {
// ShowUserDao dao = new ShowUserDao(GlobalContext.getInstance().getSpecialToken());
// if (!TextUtils.isEmpty(bean.getId()))
// dao.setUid(bean.getId());
// else
// dao.setScreen_name(bean.getScreen_name());
//
// user = dao.getUserInfo();
// } catch (WeiboException e) {
// this.e = e;
// cancel(true);
// }
// if (user != null) {
// bean = user;
// AccountDBTask.updateMyProfile(GlobalContext.getInstance().getAccountBean(), bean);
// } else {
// cancel(true);
// }
// return user;
// }
//
// @Override
// protected void onCancelled(UserBean userBean) {
// super.onCancelled(userBean);
// if (Utility.isAllNotNull(getActivity(), this.e)) {
// Toast.makeText(getActivity(), e.getError(), Toast.LENGTH_SHORT).show();
// }
// }
//
// @Override
// protected void onPostExecute(UserBean userBean) {
// super.onPostExecute(userBean);
// setValue();
// GlobalContext.getInstance().updateUserInfo(userBean);
// topicListTask = new TopicListTask();
// topicListTask.executeOnExecutor(MyAsyncTask.THREAD_POOL_EXECUTOR);
// }
// }
//
//
// private class TopicListTask extends MyAsyncTask<Void, ArrayList<String>, ArrayList<String>> {
// WeiboException e;
//
// @Override
// protected ArrayList<String> doInBackground(Void... params) {
// UserTopicListDao dao = new UserTopicListDao(GlobalContext.getInstance().getSpecialToken(), bean.getId());
// try {
// return dao.getGSONMsgList();
// } catch (WeiboException e) {
// this.e = e;
// cancel(true);
// return null;
// }
// }
//
// @Override
// protected void onPostExecute(ArrayList<String> result) {
// super.onPostExecute(result);
// if (isCancelled())
// return;
// if (result == null || result.size() == 0) {
// return;
// }
// topicList = result;
// setTextViewNum(layout.topic_number, String.valueOf(result.size()));
//
//
// }
// }
//
// private void setTextViewNum(TextView tv, String num) {
//
// if (TextUtils.isEmpty(num)) {
// return;
// }
// int number = Integer.valueOf(num);
// String value = num;
// if (number > 10000) {
// value = String.valueOf((number / 10000) + getString(R.string.ten_thousand));
// }
// tv.setText(value);
//
// }
//
// private class Layout {
// ImageView avatar;
//
// TextView username;
// TextView verified_reason;
// TextView isVerified;
// TextView info;
// TextView blog_url;
// TextView location;
// TextView sex;
//
// TextView following_number;
// TextView fans_number;
// TextView fav_number;
// TextView topic_number;
//
// ViewGroup verified_layout;
// ViewGroup intro_layout;
// ViewGroup location_layout;
// ViewGroup blog_url_layout;
// }
//}