package com.photoshare.tabHost.tab;
import java.util.ArrayList;
import android.app.FragmentTransaction;
import android.os.Bundle;
import com.photoshare.command.Command;
import com.photoshare.fragments.BaseFragment;
import com.photoshare.fragments.stacktrace.TraceElement;
import com.photoshare.fragments.stacktrace.TracePhase;
import com.photoshare.service.photos.PhotoBean;
import com.photoshare.service.photos.PhotoType;
import com.photoshare.service.photos.views.PopularPhotosFragment;
import com.photoshare.service.users.UserInfo;
import com.photoshare.tabHost.BaseActivity;
import com.photoshare.tabHost.R;
public class TabPopularActivity extends BaseActivity {
private ArrayList<PhotoBean> mPopularPhotos;
private PopularPhotosFragment ppf;
private boolean onStop = false;
@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.tab_popular_layout_holder);
initFragments();
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
onStop = true;
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onRestoreInstanceState(savedInstanceState);
if (savedInstanceState != null) {
mPopularPhotos = savedInstanceState
.getParcelableArrayList(PhotoBean.KEY_PHOTOS);
}
}
@Override
protected void onSaveInstanceState(Bundle outState) {
// TODO Auto-generated method stub
super.onSaveInstanceState(outState);
if (outState != null) {
outState.putParcelableArrayList(PhotoBean.KEY_PHOTOS,
mPopularPhotos);
}
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
if (onStop) {
stack.setCurrentPhase(TracePhase.POPULAR);
Bundle args = new Bundle();
args.putParcelableArrayList(PhotoBean.KEY_PHOTOS, mPopularPhotos);
args.putParcelable(UserInfo.KEY_USER_INFO, user.getUserInfo());
args.putString(PhotoBean.KEY_PHOTO_TYPE,
PhotoType.PopularPhotos.toString());
Command.forwardTab((BaseFragment) getFragmentManager()
.findFragmentById(R.id.TabPopularLayoutHolderId),
getPopularFragment(), args);
}
}
private String getPopularFragment() {
return getString(R.string.fpopularPhotosFragment);
}
private void initFragments() {
ppf = (PopularPhotosFragment) getFragmentManager().findFragmentById(
R.id.TabPopularLayoutHolderId);
ppf = PopularPhotosFragment.newInstance(R.id.TabPopularLayoutHolderId);
ppf.setUserInfo(user.getUserInfo());
ppf.setType(PhotoType.PopularPhotos);
ppf.setPhotos(mPopularPhotos);
TraceElement element = new TraceElement(getPopularFragment(), null);
stack.setCurrentPhase(TracePhase.POPULAR);
stack.forward(element);
// Execute a transaction, replacing any existing fragment
// with this one inside the frame.
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.TabPopularLayoutHolderId, ppf);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
ft.commit();
}
}