package com.photoshare.tabHost.tab;
import android.app.Fragment;
import android.app.FragmentTransaction;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import com.photoshare.camera.CameraFragment;
import com.photoshare.common.TabActivityResultListener;
import com.photoshare.fragments.stacktrace.TraceElement;
import com.photoshare.fragments.stacktrace.TracePhase;
import com.photoshare.service.photos.PhotoBean;
import com.photoshare.service.share.views.DecoratedSharingPreferencesFragment;
import com.photoshare.tabHost.BaseActivity;
import com.photoshare.tabHost.R;
import com.renren.api.connect.android.Util;
public class TabCameraActivity extends BaseActivity implements
TabActivityResultListener {
private CameraFragment uhf;
private boolean onStop;
@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.tab_camera_layout_holder);
initFragments();
}
private void initFragments() {
uhf = (CameraFragment) getFragmentManager().findFragmentById(
R.id.TabCameraLayoutHolderId);
uhf = CameraFragment.newInstance(R.id.TabCameraLayoutHolderId);
uhf.setCanonicalTag(getCameraFragment());
TraceElement element = new TraceElement(getCameraFragment(), null);
stack.setCurrentPhase(TracePhase.CAMERA);
stack.forward(element);
// Execute a transaction, replacing any existing fragment
// with this one inside the frame.
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.TabCameraLayoutHolderId, uhf);
// ft.show(details);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
ft.commit();
}
private void initFragmentss() {
DecoratedSharingPreferencesFragment uhf = (DecoratedSharingPreferencesFragment) getFragmentManager()
.findFragmentById(R.id.TabCameraLayoutHolderId);
uhf = DecoratedSharingPreferencesFragment
.newInstance(R.id.TabCameraLayoutHolderId);
uhf.setCanonicalTag(getCameraFragment());
TraceElement element = new TraceElement(getCameraFragment(), null);
Drawable d = getResources()
.getDrawable(R.drawable.titlebar_left_button);
Bitmap b = ((BitmapDrawable) d).getBitmap();
Bundle args = new Bundle();
args.putParcelable(PhotoBean.KEY_PHOTO, b);
args.putString(PhotoBean.KEY_CAPTION, "test");
stack.setCurrentPhase(TracePhase.CAMERA);
stack.forward(element);
// Execute a transaction, replacing any existing fragment
// with this one inside the frame.
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.TabCameraLayoutHolderId, uhf);
// ft.show(details);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
ft.commit();
}
@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 onResume() {
// TODO Auto-generated method stub
super.onResume();
if (onStop) {
stack.setCurrentPhase(TracePhase.CAMERA);
// Command.forwardTab((BaseFragment) getFragmentManager()
// .findFragmentById(R.id.TabCameraLayoutHolderId),
// getCameraFragment(), null);
}
}
private String getCameraFragment() {
return getString(R.string.fcameraPhotoFragment);
}
public void onTabActivityResult(int requestCode, int resultCode, Intent data) {
Util.logger("onTabActivityResult");
if (uhf.isVisible()) {
uhf.onTakePhotoResult(requestCode, resultCode, data);
} else {
Fragment f = getFragmentManager().findFragmentById(
R.id.TabCameraLayoutHolderId);
if (f instanceof DecoratedSharingPreferencesFragment) {
Util.logger("decorated");
DecoratedSharingPreferencesFragment dspf = (DecoratedSharingPreferencesFragment) f;
dspf.onAuthorizeCallback(requestCode, resultCode, data);
}
}
}
}