Android Open Source - Operation-Valkyrie Filter Manager






From Project

Back to project page Operation-Valkyrie.

License

The source code is released under:

Terms and conditions Preamble: This Agreement, signed on Jun 10, 2012 [hereinafter: Effective Date] governs the relationship between the Enduser, a private person, (hereinafter: Licensee) and Paul N...

If you think the Android project Operation-Valkyrie listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package valkyrie.filter;
/*w w  w .j av a 2s .c  o m*/
import java.util.ArrayList;

import valkyrie.filter.nofilter.NoFilter;
import valkyrie.ui.LayoutManager;
import valkyrie.ui.preview.CameraPreviewViewCV;

import android.content.Context;
import android.util.Log;

/**
 * 
 * COPYRIGHT: Paul Neuhold, Laurenz Theuerkauf, Alexander Ritz, Jakob Schweighofer, Milo Tischler
 * ? Milo Tischler, Jakob Schweighofer, Alexander Ritz, Paul Neuhold, Laurenz Theuerkauf
 * 
 */

/**
 * Manages the various filters and initializes the filters
 */
public class FilterManager {
  private static final String TAG = "FilterManager";

  private Context context = null;
  private CameraPreviewViewCV cameraPreview = null;
  private IFilter activeFilter = new NoFilter();
  private ArrayList<IFilter> filters = new ArrayList<IFilter>();

  /**
   * Setup the filters by their names from the filterArray
   * 
   * @param Context context
   * @param Integer filterArray
   * @param CameraPreviewViewCV cameraPreview
   */
  public FilterManager(Context context, Integer filterArray, CameraPreviewViewCV cameraPreview) {
    Log.i(TAG, "Initialized opencv camera");

    this.context = context;
    this.cameraPreview = cameraPreview;

    this.filters.clear();

    String[] filterNames = this.context.getResources().getStringArray(filterArray);

    for (String filterName : filterNames) {
      IFilter filter = null;

      try {
        filter = (IFilter) Class.forName(filterName).newInstance();
      } catch (IllegalAccessException e) {
        Log.e(TAG, e.getMessage());
      } catch (InstantiationException e) {
        Log.e(TAG, e.getMessage());
      } catch (ClassNotFoundException e) {
        Log.e(TAG, e.getMessage());
      } finally {
        if (filter != null) {
          filter.setup(new FilterInternalStorage(filter, context), new FilterAssets(filter, context),
              this.isFirstRun());

          Log.i(TAG, "Load and setup filter: " + filter.getClass().getName());

          this.filters.add(filter);
        }
      }
    }
  }

  /**
   * Sets the active filter to the given one. Also informs the cameraPreview and the LayoutManager
   * 
   * @param IFilter filter
   */
  public void setActiveFilter(IFilter filter) {
    for (IFilter storedFilter : this.filters) {
      if (filter.getClass().getName().equals(storedFilter.getClass().getName()))  {
        Log.i(TAG, "Successfully changed active filter to: " + storedFilter.getClass().getName());
        this.activeFilter = storedFilter;

        this.cameraPreview.setFilter(this.activeFilter);
        
        // notify UI about filter change
        LayoutManager.getInstance().notifyUI(this.activeFilter);
      }
    }
  }

  /**
   * Returns the active filter
   * 
   * @return IFilter
   */
  public IFilter getActiveFilter() {  
    return this.activeFilter;
  }

  /**
   * Returns the list of all filters
   * 
   * @return ArrayList<IFilter>
   */
  public ArrayList<IFilter> getFilterList() {
    return this.filters;
  }

  private Boolean isFirstRun() {
    // TODO: implement via shared preferences for filter setup methode
    return true;
  }
}




Java Source Code List

org.opencv.android.Utils.java
org.opencv.calib3d.Calib3d.java
org.opencv.calib3d.StereoBM.java
org.opencv.calib3d.StereoSGBM.java
org.opencv.core.Algorithm.java
org.opencv.core.Core.java
org.opencv.core.CvException.java
org.opencv.core.CvType.java
org.opencv.core.MatOfByte.java
org.opencv.core.MatOfDMatch.java
org.opencv.core.MatOfDouble.java
org.opencv.core.MatOfFloat4.java
org.opencv.core.MatOfFloat6.java
org.opencv.core.MatOfFloat.java
org.opencv.core.MatOfInt4.java
org.opencv.core.MatOfInt.java
org.opencv.core.MatOfKeyPoint.java
org.opencv.core.MatOfPoint2f.java
org.opencv.core.MatOfPoint3.java
org.opencv.core.MatOfPoint3f.java
org.opencv.core.MatOfPoint.java
org.opencv.core.MatOfRect.java
org.opencv.core.Mat.java
org.opencv.core.Point3.java
org.opencv.core.Point.java
org.opencv.core.Range.java
org.opencv.core.Rect.java
org.opencv.core.RotatedRect.java
org.opencv.core.Scalar.java
org.opencv.core.Size.java
org.opencv.core.TermCriteria.java
org.opencv.features2d.DMatch.java
org.opencv.features2d.DescriptorExtractor.java
org.opencv.features2d.DescriptorMatcher.java
org.opencv.features2d.FeatureDetector.java
org.opencv.features2d.Features2d.java
org.opencv.features2d.GenericDescriptorMatcher.java
org.opencv.features2d.KeyPoint.java
org.opencv.highgui.Highgui.java
org.opencv.highgui.VideoCapture.java
org.opencv.imgproc.Imgproc.java
org.opencv.imgproc.Moments.java
org.opencv.imgproc.Subdiv2D.java
org.opencv.ml.CvANN_MLP_TrainParams.java
org.opencv.ml.CvANN_MLP.java
org.opencv.ml.CvBoostParams.java
org.opencv.ml.CvBoost.java
org.opencv.ml.CvDTreeParams.java
org.opencv.ml.CvDTree.java
org.opencv.ml.CvERTrees.java
org.opencv.ml.CvGBTreesParams.java
org.opencv.ml.CvGBTrees.java
org.opencv.ml.CvKNearest.java
org.opencv.ml.CvNormalBayesClassifier.java
org.opencv.ml.CvParamGrid.java
org.opencv.ml.CvRTParams.java
org.opencv.ml.CvRTrees.java
org.opencv.ml.CvSVMParams.java
org.opencv.ml.CvSVM.java
org.opencv.ml.CvStatModel.java
org.opencv.ml.EM.java
org.opencv.ml.Ml.java
org.opencv.objdetect.CascadeClassifier.java
org.opencv.objdetect.HOGDescriptor.java
org.opencv.objdetect.Objdetect.java
org.opencv.photo.Photo.java
org.opencv.utils.Converters.java
org.opencv.video.BackgroundSubtractorMOG.java
org.opencv.video.BackgroundSubtractor.java
org.opencv.video.KalmanFilter.java
org.opencv.video.Video.java
valkyrie.colorpicker.ColorPickerDialog.java
valkyrie.colorpicker.ColorPicker.java
valkyrie.file.DecodeBitmaps.java
valkyrie.file.FileManager.java
valkyrie.filter.FilterAssets.java
valkyrie.filter.FilterInternalStorage.java
valkyrie.filter.FilterManager.java
valkyrie.filter.FilterUIPosition.java
valkyrie.filter.IFilter.java
valkyrie.filter.ascii.Ascii.java
valkyrie.filter.ascii.Converter.java
valkyrie.filter.ascii.Font.java
valkyrie.filter.ascii.Options.java
valkyrie.filter.canny.Canny.java
valkyrie.filter.grayscale.Grayscale.java
valkyrie.filter.nofilter.NoFilter.java
valkyrie.ui.IUpdateableUI.java
valkyrie.ui.LayoutManager.java
valkyrie.ui.MainActivity.java
valkyrie.ui.UpdateableRelativeLayout.java
valkyrie.ui.gallery.AboutActivity.java
valkyrie.ui.gallery.GalleryActivity.java
valkyrie.ui.gallery.ImageAdapter.java
valkyrie.ui.gallery.ShowPicActivity.java
valkyrie.ui.preview.CameraPreviewViewCV.java
valkyrie.widget.MultiDirectionSlidingDrawer.java
valkyrie.widget.TouchImageView.java