package net.trippedout.android.shadercamerasamples; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentTransaction; import net.trippedout.android.shadercamera.fragments.CameraFragment; import net.trippedout.android.shadercamera.gl.CameraRenderer; import net.trippedout.android.shadercamera.view.AutoFitTextureView; import net.trippedout.android.shadercamerasamples.gl.LipServiceRenderer; import butterknife.ButterKnife; import butterknife.InjectView; import butterknife.OnClick; public class LipServiceActivity extends FragmentActivity implements CameraFragment.CameraTextureListener.OnRendererCreatedListener { private static final String TAG = LipServiceActivity.class.getSimpleName(); private static final String TAG_CAMERA_FRAGMENT = "camera_fragment"; @InjectView(R.id.texture) AutoFitTextureView mAutoFitTextureView; private CameraFragment mCameraFragment; private CameraFragment.CameraTextureListener mCameraTextureListener; private LipServiceRenderer mRenderer; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_lip_service); ButterKnife.inject(this); setupCameraFragment(); } private void setupCameraFragment() { mCameraFragment = CameraFragment.newInstance(); mCameraFragment.setTextureView(mAutoFitTextureView); mCameraFragment.setCameraToUse(CameraFragment.CAMERA_FORWARD); //pass a reference to the renderer u want to use. we will use the observer pattern to get //a reference to that renderer once it is created mCameraTextureListener = new CameraFragment.CameraTextureListener(this, mCameraFragment, LipServiceRenderer.class); FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); transaction.add(mCameraFragment, TAG_CAMERA_FRAGMENT); transaction.commit(); } @Override public void onRendererCreated(CameraRenderer renderer) { mRenderer = (LipServiceRenderer)renderer; } @OnClick(R.id.btn_record) public void onRecordClicked() { mCameraFragment.toggleRecording(); } }