/** * */ package com.photoshare.service.users.views; import java.util.ArrayList; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.photoshare.fragments.BaseFragment; import com.photoshare.fragments.stacktrace.TraceConfig; import com.photoshare.fragments.stacktrace.TracePhase; import com.photoshare.fragments.stacktrace.TraceStack; import com.photoshare.service.photos.PhotoBean; import com.photoshare.service.photos.PhotoType; import com.photoshare.service.users.UserInfo; import com.photoshare.tabHost.R; import com.renren.api.connect.android.Util; /** * @author Aron * * 查看用户的详细信息 * */ public class UserHomeFragment extends BaseFragment { private UserInfo info; private String leftBtnText = ""; private String rightBtnText = ""; private String titlebarText = ""; private int leftBtnVisibility = View.VISIBLE; private int rightBtnVisibility = View.VISIBLE; public static UserHomeFragment newInstance(int fragmentViewId) { UserHomeFragment uh = new UserHomeFragment(); uh.setFragmentViewId(fragmentViewId); return uh; } @Override public void onActivityCreated(Bundle savedInstanceState) { if (savedInstanceState != null) { if (savedInstanceState.containsKey(UserInfo.KEY_USER_INFO)) { info = savedInstanceState.getParcelable(UserInfo.KEY_USER_INFO); } } super.onActivityCreated(savedInstanceState); initViews(); } private void initUserHomeTitleBar() { rightBtnText = getSettingsText(); titlebarText = getHomeText(); leftBtnVisibility = View.GONE; rightBtnVisibility = View.VISIBLE; initTitleBar(leftBtnText, rightBtnText, titlebarText, leftBtnVisibility, rightBtnVisibility); Util.logger("ShowUserHomeTitleBarFragment"); Bundle args = new Bundle(); args.putInt(KEY_WRAPPED_ID, R.id.userHomeWrapperId); args.putIntArray(KEY_WRAPPED_ID, new int[] { R.id.userHomeTitleBarId, R.id.userHomeShowPhotoBarId }); System.out .println("-------------------------------------------info != null"); ShowUserHomeTitleBarFragment(R.id.userHomeTitleBarId, args); } private void initOtherHomeTitleBar() { leftBtnText = getBackText(); titlebarText = getHomeText(); leftBtnVisibility = View.VISIBLE; rightBtnVisibility = View.GONE; initTitleBar(leftBtnText, rightBtnText, titlebarText, leftBtnVisibility, rightBtnVisibility); Util.logger("ShowUserHomeTitleBarFragment"); Bundle args = new Bundle(); args.putInt(KEY_WRAPPED_ID, R.id.userHomeWrapperId); args.putIntArray(KEY_WRAPPED_ID, new int[] { R.id.userHomeTitleBarId, R.id.userHomeShowPhotoBarId }); args.putParcelable(UserInfo.KEY_USER_INFO, info); System.out .println("-------------------------------------------info == null"); ShowOtherHomeTitleBarFragment(R.id.userHomeTitleBarId, args); } private void initViews() { ArrayList<PhotoBean> photos = null; Bundle bundle = getArguments(); if (bundle != null) { if (bundle.containsKey(UserInfo.KEY_USER_INFO)) { info = bundle.getParcelable(UserInfo.KEY_USER_INFO); } if (bundle.containsKey(PhotoBean.KEY_PHOTOS)) { photos = bundle.getParcelableArrayList(PhotoBean.KEY_PHOTOS); } } PhotoType type = PhotoType.MyPhotos; if (user.isCurrentUser(info)) { initUserHomeTitleBar(); } else { initOtherHomeTitleBar(); } Bundle args = new Bundle(); args.putParcelable(UserInfo.KEY_USER_INFO, info); args.putParcelableArrayList(PhotoBean.KEY_PHOTOS, photos); args.putString(PhotoBean.KEY_PHOTO_TYPE, PhotoType.MyPhotos.toString()); args.putBoolean(TraceConfig.getTrackBackward(), true); args.putInt(KEY_WRAPPED_ID, R.id.userHomeWrapperId); args.putIntArray(KEY_WRAPPED_ID, new int[] { R.id.userHomeTitleBarId, R.id.userHomeShowPhotoBarId }); ShowPopularFragment(R.id.userHomeShowPhotoBarId, args); // ShowPhotoBarFragment(R.id.userHomeShowPhotoBarId, PhotoType.MyPhotos, // info, photos); } @Override public void onSaveInstanceState(Bundle outState) { if (outState != null) { outState.putParcelable(UserInfo.KEY_USER_INFO, info); } super.onSaveInstanceState(outState); } private String getSettingsText() { return getString(R.string.settings); } private String getHomeText() { return getString(R.string.home); } private String getBackText() { return getString(R.string.back); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { Log.i("UserHomeFragment", "titleBarCreated"); Bundle bundle = getArguments(); if (bundle != null) { if (bundle.containsKey(UserInfo.KEY_USER_INFO)) { info = bundle.getParcelable(UserInfo.KEY_USER_INFO); } } // 不是返回Action, 是当前用户,并且是在最后一个phase时加入导航栏 if (!processArguments() && user.isCurrentUser(info) && TraceStack.getInstance().getCurrentPhase() .equals(TracePhase.HOME_PAGE)) { container.addView(super.onCreateView(inflater, container, savedInstanceState)); } return inflater.inflate(R.layout.user_home_layout, container, false); } /* * (non-Javadoc) * * @see com.photoshare.fragments.BaseFragment#OnRightBtnClicked() */ @Override protected void onRightBtnClicked() { Bundle args = new Bundle(); args.putParcelable(UserInfo.KEY_USER_INFO, info); forward(getPreferenceSettingsFragment(), args); } private String getPreferenceSettingsFragment() { return getString(R.string.fpreferenceSettingsFragment); } /* * (non-Javadoc) * * @see com.photoshare.fragments.BaseFragment#OnLeftBtnClicked() */ @Override protected void onLeftBtnClicked() { // do nothing backward(getArguments()); } @Override protected void onLoginSuccess() { // TODO Auto-generated method stub } }