Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.android.systemui.statusbar.preferences;
- import android.content.*;
- import android.hardware.Camera;
- import android.hardware.Camera.CameraInfo;
- import android.hardware.Camera.Parameters;
- import android.view.*;
- import android.widget.*;
- import android.provider.*;
- import java.util.List;
- import java.util.ArrayList;
- import android.net.Uri;
- import java.io.*;
- import com.android.systemui.R;
- import com.android.systemui.statusbar.preferences.*;
- public class TorchController extends SettingsController {
- private ContentResolver mContentResolver;
- SurfaceView preview = new SurfaceView(mContext);
- SurfaceHolder mHolder = preview.getHolder();
- Camera mCamera = Camera.open(CameraInfo.CAMERA_FACING_BACK);
- public TorchController(Context context, View button) {
- super(context, button);
- mContentResolver = context.getContentResolver();
- ((ImageView) button.findViewById(R.id.eos_settings_icon))
- .setImageResource(R.drawable.eos_torch);
- updateController();
- }
- protected boolean setPreview() {
- try {
- mCamera.setPreviewDisplay(mHolder);
- } catch (IOException e) {
- e.printStackTrace();
- return false;
- }
- return true;
- }
- protected int getPreferenceStatus() {
- Parameters params = mCamera.getParameters();
- return (params.getFlashMode() == Parameters.FLASH_MODE_TORCH) ? 1 : 0;
- }
- protected void setPreferenceStatus(int status) {
- if (status == 1) {
- if(setPreview()) {
- Parameters params = mCamera.getParameters();
- params.setFlashMode(Parameters.FLASH_MODE_OFF);
- mCamera.setParameters(params);
- mCamera.stopPreview();
- mCamera.release();
- } else {
- mPreferenceState = 0;
- }
- } else {
- Parameters params = mCamera.getParameters();
- params.setFlashMode(Parameters.FLASH_MODE_TORCH);
- mCamera.setParameters(params);
- mCamera.startPreview();
- }
- new SurfaceHolder.Callback() {
- @Override
- public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {}
- @Override
- public void surfaceCreated(SurfaceHolder holder) {
- mHolder = holder;
- try {
- mCamera.setPreviewDisplay(mHolder);
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- @Override
- public void surfaceDestroyed(SurfaceHolder holder) {
- mCamera.stopPreview();
- mHolder = null;
- }
- };
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement