package com.pinthecloud.athere.fragment;
import uk.co.senab.photoview.PhotoViewAttacher;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import com.pinthecloud.athere.AhGlobalVariable;
import com.pinthecloud.athere.R;
import com.pinthecloud.athere.helper.BlobStorageHelper;
import com.pinthecloud.athere.model.AhUser;
import com.pinthecloud.athere.util.AsyncChainer;
import com.pinthecloud.athere.util.AsyncChainer.Chainable;
import com.pinthecloud.athere.util.FileUtil;
public class ProfileImageFragment extends AhFragment{
private AhUser user;
private ImageView profileImage;
private PhotoViewAttacher mAttacher;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = activity.getIntent();
user = intent.getParcelableExtra(AhGlobalVariable.USER_KEY);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
View view = inflater.inflate(R.layout.fragment_profile_image, container, false);
profileImage = (ImageView) view.findViewById(R.id.profile_image_frag_view);
mAttacher = new PhotoViewAttacher(profileImage);
return view;
}
@Override
public void onStart() {
super.onStart();
final Bitmap placeHolder = FileUtil.getBitmapFromInternalStorage(context, user.getId()+AhGlobalVariable.SMALL);
AsyncChainer.asyncChain(thisFragment, new Chainable(){
@Override
public void doNext(AhFragment frag) {
blobStorageHelper.setImageViewAsync(thisFragment, BlobStorageHelper.USER_PROFILE,
user.getId(), placeHolder, profileImage, true);
}
}, new Chainable(){
@Override
public void doNext(AhFragment frag) {
mAttacher.update();
}
});
}
@Override
public void onStop() {
profileImage.setImageBitmap(null);
super.onStop();
}
}