package at.wada811.android.library.demos.fragment;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentTransaction;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import at.wada811.android.library.demos.R;
import at.wada811.app.fragment.VideoFragment;
import at.wada811.app.fragment.VideoFragment.VideoCallback;
import at.wada811.app.fragment.VideoFragment.VideoCallbackProvider;
import at.wada811.utils.LogUtils;
public class VideoFragmentActivity extends FragmentActivity implements VideoCallbackProvider {
private VideoFragment mVideoFragment;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_video);
Button button = (Button)findViewById(R.id.button);
button.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v){
if(getSupportFragmentManager().findFragmentByTag(VideoFragment.TAG) == null){
LogUtils.d();
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.add(R.id.fragment, mVideoFragment, VideoFragment.TAG);
transaction.commit();
}else{
LogUtils.d();
}
}
});
mVideoFragment = VideoFragment.newInstance(R.raw.video);
Bundle args = new Bundle();
args.putInt(VideoFragment.KEY_RES_ID, R.raw.video);
// String filePath = "/storage/emulated/0/DevCamera/2013-09-20_21-25_01.mp4";
// args.putString(VideoFragment.KEY_FILE_PATH, filePath);
mVideoFragment.setArguments(args);
}
@Override
public VideoCallback getVideoCallback(){
return new VideoCallback(){
@Override
public void onActivityCreated(VideoFragment videoFragment){
LogUtils.d();
// String filePath = "/storage/emulated/0/DevCamera/2013-09-20_21-25_01.mp4";
try{
// mVideoFragment.setDateSource(filePath);
mVideoFragment.setVideoAutoPlay(true);
mVideoFragment.setDisplayWidth(640);
mVideoFragment.setDisplayHeight(480);
// mVideoFragment.prepare();
}catch(Exception e){
e.printStackTrace();
LogUtils.e(e);
}
}
@Override
public void onPrepared(VideoFragment videoFragment){
LogUtils.d();
}
@Override
public void onCompletion(VideoFragment videoFragment){
LogUtils.d();
if(getSupportFragmentManager().findFragmentByTag(VideoFragment.TAG) != null){
LogUtils.d();
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.remove(mVideoFragment);
transaction.commit();
}
}
@Override
public void surfaceDestroyed(VideoFragment videoFragment){
if(getSupportFragmentManager().findFragmentByTag(VideoFragment.TAG) != null){
LogUtils.d();
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.remove(mVideoFragment);
transaction.commit();
}
}
};
}
}