@Override
  public View onCreateView(
      LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.fragment_personal_info, container, false);
    mHeaderView = rootView.findViewById(R.id.header);
    mTopImageView = (ImageView) rootView.findViewById(R.id.theme_top_image);
    mTopImageView.setOnLongClickListener(this);
    displayThemeImages();
    mAvatarImage = (ImageView) rootView.findViewById(R.id.avatar_image);
    MiscUtils.showAvatarThumb(
        mAvatarManager,
        mSettingHelper.getAccountAvatarThumb(),
        mAvatarImage,
        R.drawable.contact_single);
    mAvatarImage.setOnClickListener(this);
    mListView = (ListView) rootView.findViewById(R.id.list);
    View listHeader = inflater.inflate(R.layout.personal_info_list_header, mListView, false);
    mListHeaderView = listHeader;
    mListView.addHeaderView(listHeader);
    mListView.setAdapter(mInfoAdapter);
    mListView.setOnItemClickListener(mInfoAdapter);
    mListView.setOnScrollListener(
        new AbsListView.OnScrollListener() {
          @Override
          public void onScrollStateChanged(AbsListView view, int scrollState) {}

          @Override
          public void onScroll(
              AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
            ViewHelper.setTranslationY(
                mHeaderView, Math.max(-getScrollY(), -mHeaderView.getMeasuredHeight()));
          }
        });
    return rootView;
  }
 @Override
 public void onActivityResult(int requestCode, int resultCode, Intent data) {
   super.onActivityResult(requestCode, resultCode, data);
   switch (requestCode) {
     case REQUEST_CODE_UPLOAD_AVATAR:
       if (resultCode == Activity.RESULT_OK) {
         MiscUtils.showAvatarThumb(
             mAvatarManager,
             mSettingHelper.getAccountAvatarThumb(),
             mAvatarImage,
             R.drawable.contact_single);
       }
       break;
     default:
       break;
   }
 }