Advertisement
bigrushdog

java_slop

Apr 27th, 2012
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.81 KB | None | 0 0
  1. package com.android.systemui.statusbar.preferences;
  2.  
  3. import android.content.*;
  4. import android.hardware.Camera;
  5. import android.hardware.Camera.CameraInfo;
  6. import android.hardware.Camera.Parameters;
  7. import android.view.*;
  8. import android.widget.*;
  9. import android.provider.*;
  10. import java.util.List;
  11. import java.util.ArrayList;
  12. import android.net.Uri;
  13. import java.io.*;
  14.  
  15. import com.android.systemui.R;
  16. import com.android.systemui.statusbar.preferences.*;
  17.  
  18. public class TorchController extends SettingsController {
  19.  
  20.     private ContentResolver mContentResolver;
  21.     SurfaceView preview = new SurfaceView(mContext);
  22.     SurfaceHolder mHolder = preview.getHolder();
  23.     Camera mCamera = Camera.open(CameraInfo.CAMERA_FACING_BACK);
  24.    
  25.  
  26.     public TorchController(Context context, View button) {
  27.         super(context, button);
  28.         mContentResolver = context.getContentResolver();
  29.         ((ImageView) button.findViewById(R.id.eos_settings_icon))
  30.                 .setImageResource(R.drawable.eos_torch);
  31.         updateController();
  32.     }
  33.    
  34.     protected boolean setPreview() {
  35.         try {
  36.             mCamera.setPreviewDisplay(mHolder);
  37.         } catch (IOException e) {
  38.             e.printStackTrace();
  39.             return false;
  40.         }
  41.         return true;
  42.     }
  43.  
  44.     protected int getPreferenceStatus() {
  45.         Parameters params = mCamera.getParameters();
  46.         return (params.getFlashMode() == Parameters.FLASH_MODE_TORCH) ? 1 : 0;
  47.     }
  48.  
  49.     protected void setPreferenceStatus(int status) {
  50.         if (status == 1) {
  51.             if(setPreview()) {
  52.                 Parameters params = mCamera.getParameters();
  53.                 params.setFlashMode(Parameters.FLASH_MODE_OFF);
  54.                 mCamera.setParameters(params);
  55.                 mCamera.stopPreview();
  56.                 mCamera.release();
  57.             } else {
  58.                 mPreferenceState = 0;
  59.             }
  60.         } else {
  61.             Parameters params = mCamera.getParameters();
  62.             params.setFlashMode(Parameters.FLASH_MODE_TORCH);
  63.             mCamera.setParameters(params);      
  64.             mCamera.startPreview();
  65.         }
  66.         new SurfaceHolder.Callback() {
  67.             @Override
  68.             public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {}
  69.  
  70.             @Override
  71.             public void surfaceCreated(SurfaceHolder holder) {
  72.                 mHolder = holder;
  73.                 try {
  74.                     mCamera.setPreviewDisplay(mHolder);
  75.                 } catch (IOException e) {
  76.                     e.printStackTrace();
  77.                 }
  78.             }
  79.  
  80.             @Override
  81.             public void surfaceDestroyed(SurfaceHolder holder) {
  82.                 mCamera.stopPreview();
  83.                 mHolder = null;                    
  84.             }
  85.         };
  86.     }
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement