[
  {
    "path": ".gitmodules",
    "content": "[submodule \"library\"]\n\tpath = library\n\turl = https://github.com/Fotor/FotorSDK-android.git\n"
  },
  {
    "path": "FotorSDKDemo/.classpath",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<classpath>\n\t<classpathentry kind=\"src\" path=\"src\"/>\n\t<classpathentry kind=\"src\" path=\"gen\"/>\n\t<classpathentry kind=\"con\" path=\"com.android.ide.eclipse.adt.ANDROID_FRAMEWORK\"/>\n\t<classpathentry exported=\"true\" kind=\"con\" path=\"com.android.ide.eclipse.adt.LIBRARIES\"/>\n\t<classpathentry exported=\"true\" kind=\"con\" path=\"com.android.ide.eclipse.adt.DEPENDENCIES\"/>\n\t<classpathentry kind=\"output\" path=\"bin/classes\"/>\n</classpath>\n"
  },
  {
    "path": "FotorSDKDemo/.project",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<projectDescription>\n\t<name>FotorSDKDemo</name>\n\t<comment></comment>\n\t<projects>\n\t</projects>\n\t<buildSpec>\n\t\t<buildCommand>\n\t\t\t<name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>\n\t\t\t<arguments>\n\t\t\t</arguments>\n\t\t</buildCommand>\n\t\t<buildCommand>\n\t\t\t<name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>\n\t\t\t<arguments>\n\t\t\t</arguments>\n\t\t</buildCommand>\n\t\t<buildCommand>\n\t\t\t<name>org.eclipse.jdt.core.javabuilder</name>\n\t\t\t<arguments>\n\t\t\t</arguments>\n\t\t</buildCommand>\n\t\t<buildCommand>\n\t\t\t<name>com.android.ide.eclipse.adt.ApkBuilder</name>\n\t\t\t<arguments>\n\t\t\t</arguments>\n\t\t</buildCommand>\n\t</buildSpec>\n\t<natures>\n\t\t<nature>com.android.ide.eclipse.adt.AndroidNature</nature>\n\t\t<nature>org.eclipse.jdt.core.javanature</nature>\n\t</natures>\n</projectDescription>\n"
  },
  {
    "path": "FotorSDKDemo/.settings/org.eclipse.jdt.core.prefs",
    "content": "eclipse.preferences.version=1\norg.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6\norg.eclipse.jdt.core.compiler.compliance=1.6\norg.eclipse.jdt.core.compiler.source=1.6\n"
  },
  {
    "path": "FotorSDKDemo/.svn/entries",
    "content": "12"
  },
  {
    "path": "FotorSDKDemo/.svn/format",
    "content": "12"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/07/070b79fa25398f4fa224b4626dd75e6c67df2c2e.svn-base",
    "content": "<Effect name=\"Blue Sepia\" type=\"Lomo\" id=\"4\">\r\n\t<Allocation name=\"level\"/>\r\n\t<Allocation name=\"tableTexture\"/>\r\n\r\n\t<BaseFilter name=\"Level\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>level</dst>\r\n\t\t<params>\r\n\t\t\t<type>GetScale</type>\r\n\t\t\t<dark>0.1</dark>\r\n\t\t\t<light>0.1</light>\r\n\t\t\t<saturation>0.3</saturation>\r\n\t\t</params>\r\n\t</BaseFilter>\r\n\t\r\n\t<BaseFilter name=\"Vignette\">\r\n\t\t<src>level</src>\r\n\t\t<dst>TMP</dst>\r\n\t\t<params>\r\n\t\t    <mode>quadric</mode>\r\n\t\t\t<vignetteStart>0.0</vignetteStart>\r\n\t\t\t<vignetteRange>1.0</vignetteRange>\r\n\t\t</params>\r\n\t</BaseFilter>\r\n\t\r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(0, 14)(63, 66)(129, 151)(208, 255)</R>\r\n            <G>(0, 38)(63, 72)(127, 127)(196, 255)</G>\r\n            <B>(0, 49)(63, 75)(127, 121)(202, 233)(255, 255)</B>\r\n        </params>\r\n    </BaseFilter>\r\n\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>TMP</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/0c/0c4712419da14d194f0812257ba40bd32de21e40.svn-base",
    "content": "[\"118.xml\",\"16.xml\",\"8.xml\",\"9.xml\",\"104.xml\",\"17.xml\"]"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/0d/0d332441cbc270af2413544d854c84ccd4f39121.svn-base",
    "content": "<Effect name=\"BandW\" type=\"B/W\" id=\"112\">\r\n    <Allocation name=\"level\"/>\r\n    \r\n    <BaseFilter name=\"Level\">\r\n        <src>SRC</src>\r\n        <dst>level</dst>\r\n        <params>\r\n            <type>GetScale</type>\r\n            <dark>0.01</dark>\r\n            <light>0.2</light>\r\n            <saturation>0.0</saturation>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n     <BaseFilter name=\"Vignette\">\r\n        <src>level</src>\r\n        <dst>DST</dst>\r\n        <params>\r\n            <mode>quadric</mode>\r\n            <vignetteStart>0.0</vignetteStart>\r\n            <vignetteRange>1.0</vignetteRange>\r\n        </params>\r\n    </BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/0f/0fa23e0c9fe055fc7671e5d3a43a97ed7d2673e4.svn-base",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n\n    <color name=\"title_background\">#E5414850</color>\n    <color name=\"bottom_button_text_default_color\">#B3C2D6</color>\n    <color name=\"bottom_button_text_pressed_color\">#00C0FF</color>\n    <color name=\"bottom_button_text_disable_color\">#EEB3C2D6</color>\n    <color name=\"bottom_button_background_default_color\">#E5414850</color>\n    <color name=\"bottom_button_background_pressed_color\">#991C1F27</color>\n    <color name=\"bottom_button_background_disable_color\">#CC414850</color>\n\n</resources>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/10/108fa6b5bc6a26dee57333789683c3fd03e43f72.svn-base",
    "content": "[\"11.xml\",\"74.xml\",\"76.xml\",\"75.xml\",\"73.xml\",\"80.xml\",\"78.xml\",\"27.xml\"]"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/12/12244ee01c7eff76c02a29c1743c3f3fdad680f2.svn-base",
    "content": "[[\"stickers_decoration_1.png\",\n\"stickers_decoration_1_icon.png\"],\n[\"stickers_decoration_2.png\",\n\"stickers_decoration_2_icon.png\"],\n[\"stickers_decoration_3.png\",\n\"stickers_decoration_3_icon.png\"],\n[\"stickers_decoration_4.png\",\n\"stickers_decoration_4_icon.png\"],\n[\"stickers_decoration_5.png\",\n\"stickers_decoration_5_icon.png\"],\n[\"stickers_decoration_6.png\",\n\"stickers_decoration_6_icon.png\"],\n[\"stickers_decoration_7.png\",\n\"stickers_decoration_7_icon.png\"],\n[\"stickers_decoration_8.png\",\n\"stickers_decoration_8_icon.png\"],\n[\"stickers_decoration_9.png\",\n\"stickers_decoration_9_icon.png\"],\n[\"stickers_decoration_10.png\",\n\"stickers_decoration_10_icon.png\"],\n[\"stickers_decoration_11.png\",\n\"stickers_decoration_11_icon.png\"],\n[\"stickers_decoration_12.png\",\n\"stickers_decoration_12_icon.png\"],\n[\"stickers_decoration_13.png\",\n\"stickers_decoration_13_icon.png\"],\n[\"stickers_decoration_14.png\",\n\"stickers_decoration_14_icon.png\"],\n[\"stickers_decoration_15.png\",\n\"stickers_decoration_15_icon.png\"],\n[\"stickers_decoration_16.png\",\n\"stickers_decoration_16_icon.png\"]]"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/12/12a1458fb42c49366faaed8171ddae503fb5ab15.svn-base",
    "content": "<Effect name=\"Red Wash\"  type=\"Analog\" id=\"80\">\r\n\t<Allocation name=\"tableTexture1\"/>\r\n\t<Allocation name=\"tableTexture2\"/>\r\n\t<Allocation name=\"dst_a\"/>\r\n\t<Allocation name=\"dst_b\"/>\r\n\t<Allocation name=\"specialAlphaTexture\">\r\n\t\t<file>vtg.png</file>\r\n\t</Allocation>\r\n\t\r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture1</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(22, 0)(120, 78)(208, 138)(255, 170)</R>\r\n            <G>(77, 0)(143, 69)(255, 176)</G>\r\n            <B>(45, 0)(159, 97)(255, 173)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture2</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(7, 171)(92, 201)(255, 253)</R>\r\n            <G>(0, 3)(61, 79)(110, 142)(186, 201)(255, 255)</G>\r\n            <B>(0, 23)(53, 87)(103, 140)(186, 208)(239, 248)</B>\r\n        </params>\r\n    </BaseFilter>\r\n\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<tableTexture>tableTexture1</tableTexture>\r\n\t\t<dst>dst_a</dst>\r\n\t</BaseFilter>\r\n\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<tableTexture>tableTexture2</tableTexture>\r\n\t\t<dst>dst_b</dst>\r\n\t</BaseFilter>\r\n\r\n\t<BaseFilter name=\"SpecialTrans\">\r\n\t\t<src>dst_a</src>\r\n\t\t<dst>dst_b</dst>\r\n\t\t<tex>specialAlphaTexture</tex>\r\n\t</BaseFilter>\r\n\r\n\t<Out DST=\"dst_b\"/>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/16/1616494bc0c12ac0a9ec007b1a0a586526b97064.svn-base",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:baselineAligned=\"true\"\n    android:gravity=\"center_horizontal\"\n    android:orientation=\"vertical\" >\n\n    <RelativeLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"@dimen/title_background_height\"\n        android:background=\"@color/title_background\"\n         >\n\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"@string/photo_editor\"\n            android:layout_centerInParent=\"true\"\n            android:textColor=\"@android:color/white\"\n            android:textSize=\"@dimen/title_text_size\" />\n        \n        <TextView android:layout_height=\"wrap_content\"\n            \t  android:layout_width=\"wrap_content\"\n            \t  android:textColor=\"@android:color/white\"\n            \t  android:textSize=\"10sp\"\n            \t  android:padding=\"5dip\"\n            \t  android:id=\"@+id/fotor_sdk_version_label\"\n            />\n    </RelativeLayout>\n\n    <FrameLayout\n        android:id=\"@+id/image_container\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"0dip\"\n        android:layout_weight=\"1\"\n        android:background=\"@android:color/background_dark\"\n        android:gravity=\"center\"\n        android:padding=\"5dp\" >\n\n        <ImageView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center\"\n            android:src=\"@drawable/photo_editor_nophotos\" />\n\n        <ImageView\n            android:id=\"@+id/image\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"match_parent\"\n            android:scaleType=\"centerInside\" />\n    </FrameLayout>\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"@dimen/bottom_background_height\"\n        android:background=\"@color/title_background\"\n        android:gravity=\"center\"\n        android:orientation=\"horizontal\"\n        android:padding=\"0dip\" >\n\n        <Button\n            android:id=\"@+id/button_gallery\"\n            android:layout_width=\"0dip\"\n            android:layout_height=\"match_parent\"\n            android:layout_weight=\"1\"\n            android:background=\"@drawable/photo_editor_button_background\"\n            android:text=\"@string/photo_editor_select_image\"\n            android:textColor=\"@color/photo_editor_button_text_color\"\n            android:textSize=\"@dimen/bottom_button_text_size\" >\n        </Button>\n\n        <View\n            android:layout_width=\"1dip\"\n            android:layout_height=\"match_parent\"\n            android:background=\"#CC000000\" />\n\n        <Button\n            android:id=\"@+id/button2\"\n            android:layout_width=\"0dip\"\n            android:layout_height=\"match_parent\"\n            android:layout_weight=\"1\"\n            android:background=\"@drawable/photo_editor_button_background\"\n            android:enabled=\"false\"\n            android:text=\"@string/photo_editor_process\"\n            android:textColor=\"@color/photo_editor_button_text_color\"\n            android:textSize=\"@dimen/bottom_button_text_size\" >\n        </Button>\n    </LinearLayout>\n\n</LinearLayout>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/16/165822de404fab27a653765a13ce0e1bd68ea6d2.svn-base",
    "content": "package com.example.fotorsdkdemo;\n\nimport java.io.File;\n\nimport com.everimaging.fotorsdk.FotorConstants;\nimport com.everimaging.fotorsdk.FotorSDKActivity;\nimport com.everimaging.fotorsdk.FotorSDKVersion;\nimport com.everimaging.fotorsdk.FotorUtils;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns.Session;\nimport com.everimaging.fotorsdk.utils.BitmapDecodeUtils;\nimport com.everimaging.fotorsdk.utils.Utils;\nimport com.everimaging.fotorsdk.engine.FotorHDFilter;\nimport android.app.Activity;\nimport android.app.AlertDialog;\nimport android.app.ProgressDialog;\nimport android.content.Context;\nimport android.content.DialogInterface;\nimport android.content.DialogInterface.OnCancelListener;\nimport android.content.Intent;\nimport android.database.Cursor;\nimport android.graphics.Bitmap;\nimport android.graphics.drawable.BitmapDrawable;\nimport android.graphics.drawable.Drawable;\nimport android.media.MediaScannerConnection;\nimport android.net.Uri;\nimport android.os.AsyncTask;\nimport android.os.Bundle;\nimport android.os.Environment;\nimport android.provider.MediaStore.Images;\nimport android.provider.MediaStore.Images.ImageColumns;\nimport android.util.DisplayMetrics;\nimport android.util.Log;\nimport android.view.View;\nimport android.widget.Button;\nimport android.widget.ImageView;\nimport android.widget.TextView;\nimport android.widget.Toast;\n\n/**\n * Sample main activity\n * \n * @description\n * \n * @author <a href=\"mailto:zhangjiajun@everimaging.com\">John.Zhang</a>\n * @version 1.0\n * @create Apr 12, 2014 3:06:39 PM\n * @update Apr 12, 2014 3:06:39 PM\n */\npublic class MainActivity extends Activity {\n\n\tprivate static final int ACTION_REQUEST_FEATURE = 2;\n\n\tprivate static final int ACTION_REQUEST_GALLERY = 3;\n\n\tpublic static final String LOG_TAG = \"fotorsdk_demo\";\n\n\t/** Folder name on the sdcard where the images will be saved **/\n\n\tprivate static final String FOLDER_NAME = \"FotorSDK\";\n\n\t/** Edit sample button */\n\tButton mEditButton;\n\t/** Call gallery button */\n\tButton mGalleryButton;\n\t/** Display image view */\n\tImageView mImage;\n\t/** The path for output file */\n\tUri mOutputFilePath;\n\n\t/** Image uri for image editor */\n\tUri mImageUri;\n\t/** Display version label for DEBUG */\n\tprivate TextView mSDKVersionLabel;\n\n\t/** The sample image uri. */\n\tprivate Uri mSampleUri;\n\n\tprivate File mGalleryFolder;\n\n\t/** session id for the hi-res post processing */\n\tprivate String mSessionId;\n\n\t@Override\n\tprotected void onCreate(Bundle savedInstanceState) {\n\t\tLog.i(LOG_TAG, \"onCreate\");\n\t\tsuper.onCreate(savedInstanceState);\n\n\t\tsetContentView(R.layout.activity_main);\n\n\t\tmEditButton.setOnClickListener(new View.OnClickListener() {\n\n\t\t\t@Override\n\t\t\tpublic void onClick(View v) {\n\t\t\t\t// if (mImageUri != null) {\n\t\t\t\t// startFeature(mImageUri);\n\t\t\t\t// }\n\t\t\t\tif (mSampleUri != null) {\n\t\t\t\t\tstartFeature(mSampleUri);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tmGalleryButton.setOnClickListener(new View.OnClickListener() {\n\n\t\t\t@Override\n\t\t\tpublic void onClick(View v) {\n\t\t\t\tpickFromGallery();\n\t\t\t}\n\t\t});\n\n\t\tmGalleryFolder = createFolders();\n\n\t\t// add sample image\n\t\tmSampleUri = Uri.parse(\"file:///android_asset/sample.jpg\");\n\t\tloadAsync(mSampleUri);\n\n\t\tif (BuildConfig.DEBUG) {\n\t\t\tmSDKVersionLabel.setText(\"V\" + FotorSDKVersion.FOTOR_SDK_VERSION);\n\t\t}\n\n\t}\n\n\t/**\n\t * Start the activity to pick an image from the user gallery\n\t */\n\tprivate void pickFromGallery() {\n\t\tIntent intent = new Intent(Intent.ACTION_GET_CONTENT);\n\t\tintent.setType(\"image/*\");\n\n\t\tIntent chooser = Intent.createChooser(intent, \"Choose a Picture\");\n\t\tstartActivityForResult(chooser, ACTION_REQUEST_GALLERY);\n\n\t}\n\n\t@Override\n\tprotected void onResume() {\n\t\tLog.i(LOG_TAG, \"onResume\");\n\t\tsuper.onResume();\n\n\t\tif (getIntent() != null) {\n\t\t\thandleIntent(getIntent());\n\t\t\tsetIntent(new Intent());\n\t\t}\n\t}\n\n\t/**\n\t * Handle the incoming {@link Intent}\n\t */\n\tprivate void handleIntent(Intent intent) {\n\n\t\tString action = intent.getAction();\n\n\t\tif (null != action) {\n\n\t\t\tif (Intent.ACTION_SEND.equals(action)) {\n\n\t\t\t\tBundle extras = intent.getExtras();\n\t\t\t\tif (extras != null && extras.containsKey(Intent.EXTRA_STREAM)) {\n\t\t\t\t\tUri uri = (Uri) extras.get(Intent.EXTRA_STREAM);\n\t\t\t\t\tloadAsync(uri);\n\t\t\t\t}\n\t\t\t} else if (Intent.ACTION_VIEW.equals(action)) {\n\t\t\t\tUri data = intent.getData();\n\t\t\t\tLog.d(LOG_TAG, \"data: \" + data);\n\t\t\t\tloadAsync(data);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Load the incoming Image\n\t * \n\t * @param uri\n\t */\n\tprivate void loadAsync(final Uri uri) {\n\t\tLog.i(LOG_TAG, \"loadAsync: \" + uri);\n\n\t\tDrawable toRecycle = mImage.getDrawable();\n\t\tif (toRecycle != null && toRecycle instanceof BitmapDrawable) {\n\t\t\tif (((BitmapDrawable) mImage.getDrawable()).getBitmap() != null)\n\t\t\t\t((BitmapDrawable) mImage.getDrawable()).getBitmap().recycle();\n\t\t}\n\t\tmImage.setImageDrawable(null);\n\t\tmImageUri = null;\n\n\t\tDownloadAsync task = new DownloadAsync();\n\t\ttask.execute(uri);\n\t}\n\n\t@Override\n\tprotected void onDestroy() {\n\t\tLog.i(LOG_TAG, \"onDestroy\");\n\t\tsuper.onDestroy();\n\t\tmOutputFilePath = null;\n\t}\n\n\t@Override\n\tpublic void onContentChanged() {\n\t\tsuper.onContentChanged();\n\n\t\tSystem.out.println(\"context:\" + this.getPackageName());\n\n\t\tmEditButton = (Button) findViewById(R.id.button2);\n\n\t\tmGalleryButton = (Button) findViewById(R.id.button_gallery);\n\n\t\tmImage = (ImageView) findViewById(R.id.image);\n\n\t\tmSDKVersionLabel = (TextView) findViewById(R.id.fotor_sdk_version_label);\n\n\t}\n\n\t@Override\n\t/**\n\t * This method is called when feather has completed ( ie. user clicked on \"done\" or just exit the activity without saving ). <br />\n\t * If user clicked the \"done\" button you'll receive RESULT_OK as resultCode, RESULT_CANCELED otherwise.\n\t * \n\t * @param requestCode\n\t * \t- it is the code passed with startActivityForResult\n\t * @param resultCode\n\t * \t- result code of the activity launched ( it can be RESULT_OK or RESULT_CANCELED )\n\t * @param data\n\t * \t- the result data\n\t */\n\tpublic void onActivityResult(int requestCode, int resultCode, Intent data) {\n\t\tif (resultCode == RESULT_OK) {\n\t\t\tswitch (requestCode) {\n\t\t\tcase ACTION_REQUEST_FEATURE: {\n\n\t\t\t\tUri uri = data.getData();\n\t\t\t\tBitmap bitmap = BitmapDecodeUtils.decode(this, uri, 0, 0);\n\t\t\t\tsetImageURI(uri, bitmap);\n\t\t\t\tnew ProcessHDTask(this).execute();\n\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase ACTION_REQUEST_GALLERY: {\n\t\t\t\tUri uri = data.getData();\n\t\t\t\tloadAsync(uri);\n\t\t\t\tstartFeature(uri);\n\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t} else if (resultCode == RESULT_CANCELED) {\n\t\t\tswitch (requestCode) {\n\t\t\tcase ACTION_REQUEST_FEATURE:\n\t\t\t\tif (mSessionId != null)\n\t\t\t\t\tdeleteSession(mSessionId);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate String onSaveCompletion() {\n\n\t\tUri sessionUri = SessionColumns.getContentUri(this, mSessionId);\n\n\t\tCursor cursor = getContentResolver().query(sessionUri, null, null,\n\t\t\t\tnull, null);\n\n\t\tSession session = Session.create(cursor);\n\n\t\tif (session != null) {\n\t\t\tFotorHDFilter fotorHDFilter = new FotorHDFilter(this, session);\n\n\t\t\tfotorHDFilter.loadImage();\n\n\t\t\tfotorHDFilter.executeFilter();\n\n\t\t\tString dstPath = Utils.getSDPath() + \"/testOriginal.jpg\";\n\n\t\t\tfotorHDFilter.save(dstPath);\n\n\t\t\tfotorHDFilter.dispose();\n\t\t\tdeleteSession(mSessionId);\n\n\t\t\treturn dstPath;\n\t\t}\n\t\treturn null;\n\n\t}\n\n\tclass ProcessHDTask extends AsyncTask<Void, Void, String> {\n\t\tprivate ProgressDialog mDialog;\n\n\t\tprivate Context mContext;\n\n\t\tpublic ProcessHDTask(Context context) {\n\t\t\tthis.mContext = context;\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPreExecute() {\n\t\t\tmDialog = ProgressDialog.show(mContext, \"Process HD\",\n\t\t\t\t\t\"Please wait...\");\n\t\t}\n\n\t\t@Override\n\t\tprotected String doInBackground(Void... params) {\n\t\t\treturn onSaveCompletion();\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPostExecute(String result) {\n\t\t\tmDialog.dismiss();\n\n\t\t\tString msg = \"Process Error\";\n\t\t\tif (result != null) {\n\t\t\t\tmsg = result;\n\t\t\t}\n\n\t\t\tToast.makeText(mContext, msg, Toast.LENGTH_LONG).show();\n\t\t}\n\n\t}\n\n\t/**\n\t * Delete the session and all it's actions. We do not need it anymore.<br />\n\t * Note that this is optional. All old sessions are automatically removed in\n\t * Feather.\n\t * \n\t * @param session_id\n\t */\n\tprivate void deleteSession(final String session_id) {\n\t\tUri uri = FotorContentProvider.SessionColumns.getContentUri(this,\n\t\t\t\tsession_id);\n\t\tint count = getContentResolver().delete(uri, null, null);\n\t\tSystem.out.println(\"delete session count:\" + count);\n\t}\n\n\t/**\n\t * Given an Uri load the bitmap into the current ImageView and resize it to\n\t * fit the image container size\n\t * \n\t * @param uri\n\t */\n\t@SuppressWarnings(\"deprecation\")\n\tprivate boolean setImageURI(final Uri uri, final Bitmap bitmap) {\n\n\t\tLog.d(LOG_TAG,\n\t\t\t\t\"image size: \" + bitmap.getWidth() + \"x\" + bitmap.getHeight());\n\t\tmImage.setImageBitmap(bitmap);\n\t\tmImage.setBackgroundDrawable(null);\n\n\t\tmEditButton.setEnabled(true);\n\t\tmImageUri = uri;\n\t\treturn true;\n\t}\n\n\t/**\n\t * We need to notify the MediaScanner when a new file is created. In this\n\t * way all the gallery applications will be notified too.\n\t * \n\t * @param file\n\t */\n\tprivate void updateMedia(String filepath) {\n\t\tLog.i(LOG_TAG, \"updateMedia: \" + filepath);\n\t\tMediaScannerConnection.scanFile(getApplicationContext(),\n\t\t\t\tnew String[] { filepath }, null, null);\n\t}\n\n\t/**\n\t * Pick a random image from the user gallery\n\t * \n\t * @return\n\t */\n\t@SuppressWarnings(\"unused\")\n\tprivate Uri pickRandomImage() {\n\t\tCursor c = getContentResolver().query(\n\t\t\t\tImages.Media.EXTERNAL_CONTENT_URI,\n\t\t\t\tnew String[] { ImageColumns._ID, ImageColumns.DATA },\n\t\t\t\tImageColumns.SIZE + \">?\", new String[] { \"90000\" }, null);\n\t\tUri uri = null;\n\n\t\tif (c != null) {\n\t\t\tint total = c.getCount();\n\t\t\tint position = (int) (Math.random() * total);\n\t\t\tLog.d(LOG_TAG, \"pickRandomImage. total images: \" + total\n\t\t\t\t\t+ \", position: \" + position);\n\t\t\tif (total > 0) {\n\t\t\t\tif (c.moveToPosition(position)) {\n\t\t\t\t\tString data = c.getString(c\n\t\t\t\t\t\t\t.getColumnIndex(Images.ImageColumns.DATA));\n\t\t\t\t\tlong id = c.getLong(c\n\t\t\t\t\t\t\t.getColumnIndex(Images.ImageColumns._ID));\n\n\t\t\t\t\turi = Uri.parse(data);\n\n\t\t\t\t\tLog.d(LOG_TAG, uri.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t\tc.close();\n\t\t}\n\t\treturn uri;\n\t}\n\n\t/**\n\t * Return a new image file. Name is based on the current time. Parent folder\n\t * will be the one created with createFolders\n\t * \n\t * @return\n\t * @see #createFolders()\n\t */\n\tprivate File generateOutputFileName() {\n\t\tif (mGalleryFolder != null) {\n\t\t\tif (mGalleryFolder.exists()) {\n\t\t\t\tFile file = new File(mGalleryFolder, \"Fotor_\"\n\t\t\t\t\t\t+ System.currentTimeMillis() + \".jpg\");\n\t\t\t\treturn file;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\t/**\n\t * Once you've chosen an image you can start the feather activity\n\t * \n\t * @param uri\n\t */\n\tprivate void startFeature(Uri uri) {\n\n\t\tLog.d(LOG_TAG, \"uri: \" + uri);\n\n\t\t// first check the external storage availability\n\t\tif (!isExternalStorageAvilable()) {\n\t\t\tnew AlertDialog.Builder(this)\n\t\t\t\t\t.setTitle(android.R.string.dialog_alert_title)\n\t\t\t\t\t.setMessage(\"External Storage is not avilable\").show();\n\t\t\treturn;\n\t\t}\n\n\t\t// create a temporary file where to store the resulting image\n\t\tFile file = generateOutputFileName();\n\n\t\tif (null != file) {\n\t\t\tmOutputFilePath = Uri.fromFile(file);\n\t\t} else {\n\t\t\tnew AlertDialog.Builder(this)\n\t\t\t\t\t.setTitle(android.R.string.dialog_alert_title)\n\t\t\t\t\t.setMessage(\"Failed to create a new File\").show();\n\t\t\treturn;\n\t\t}\n\n\t\t// Create the intent needed to start feather\n\t\tIntent newIntent = new Intent(this, FotorSDKActivity.class);\n\n\t\t// === INPUT IMAGE URI ===\n\t\t// Set the source image uri\n\t\tnewIntent.setData(uri);\n\n\t\t// === OUTPUT ====\n\t\t// Optional\n\t\t// Pass the uri of the destination image file.\n\t\t// This will be the same uri you will receive in the onActivityResult\n\n\t\tSystem.out.println(\"mOutputFilePath->:\" + mOutputFilePath);\n\n\t\t// newIntent.putExtra(FotorConstants.EXTRA_OUTPUT_PATH,\n\t\t// mOutputFilePath);\n\n\t\t// === OUTPUT QUALITY ===\n\t\t// Optional\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_OUTPUT_QUALITY, 90);\n\n\t\t// === MAX SIZE ===\n\t\t// Optional\n\t\t// you can pass the maximum allowed image size (for the preview),\n\t\t// otherwise feather will determine\n\t\t// the max size based on the device informations.\n\t\t// This will not affect the hi-res image size.\n\t\t// Here we're passing the current display size as max image size because\n\t\t// after\n\t\t// the execution of Aviary we're saving the HI-RES image so we don't\n\t\t// need a big\n\t\t// image for the preview\n\t\tfinal DisplayMetrics metrics = new DisplayMetrics();\n\t\tgetWindowManager().getDefaultDisplay().getMetrics(metrics);\n\n\t\tint max_size = Math.max(metrics.widthPixels, metrics.heightPixels);\n\n\t\tmax_size = (int) ((float) max_size / 1.4f);\n\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_MAX_PREVIEW_SIZE, max_size);\n\n\t\tmSessionId = FotorUtils.generateSessionId(this);\n\n\t\tgetContentResolver().delete(\n\t\t\t\tSessionColumns.getContentUri(this, mSessionId), null, null);\n\n\t\tLog.d(LOG_TAG,\n\t\t\t\t\"session: \" + mSessionId + \", size: \" + mSessionId.length());\n\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_FOTOR_SESSION_ID, mSessionId);\n\n\t\t// // === FEATURE LIST ===\n\n\t\t// newIntent.putExtra(FotorConstants.EXTRA_FEATURE_LIST, new String[] {\n\t\t// FotorFeaturesFactory.FeatureType.FX_EFFECTS.name(),\n\t\t// FotorFeaturesFactory.FeatureType.BORDER.name() });\n\n\t\t// Whether hide confirm dialog when user not saved the was changed\n\t\t// bitmap\n\t\t// This default value will show\n\t\t// newIntent.putExtra(FotorConstants.EXTRA_HIDE_DISCARD_ALERT, false);\n\n\t\t// start feather\n\t\tstartActivityForResult(newIntent, ACTION_REQUEST_FEATURE);\n\t}\n\n\t/**\n\t * Check the external storage status\n\t * \n\t * @return\n\t */\n\tprivate boolean isExternalStorageAvilable() {\n\t\tString state = Environment.getExternalStorageState();\n\t\tif (Environment.MEDIA_MOUNTED.equals(state)) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Try to create the required folder on the sdcard where images will be\n\t * saved to.\n\t * \n\t * @return\n\t */\n\tprivate File createFolders() {\n\n\t\tFile baseDir;\n\n\t\tif (android.os.Build.VERSION.SDK_INT < 8) {\n\t\t\tbaseDir = Environment.getExternalStorageDirectory();\n\t\t} else {\n\t\t\tbaseDir = Environment\n\t\t\t\t\t.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);\n\t\t}\n\n\t\tif (baseDir == null)\n\t\t\treturn Environment.getExternalStorageDirectory();\n\n\t\tLog.d(LOG_TAG, \"Pictures folder: \" + baseDir.getAbsolutePath());\n\t\tFile fotorSDKFolder = new File(baseDir, FOLDER_NAME);\n\n\t\tif (fotorSDKFolder.exists())\n\t\t\treturn fotorSDKFolder;\n\t\tif (fotorSDKFolder.mkdirs())\n\t\t\treturn fotorSDKFolder;\n\n\t\treturn Environment.getExternalStorageDirectory();\n\t}\n\n\tclass DownloadAsync extends AsyncTask<Uri, Void, Bitmap> implements\n\t\t\tOnCancelListener {\n\n\t\tProgressDialog mProgress;\n\t\tprivate Uri mUri;\n\n\t\t@Override\n\t\tprotected void onPreExecute() {\n\t\t\tsuper.onPreExecute();\n\n\t\t\tmProgress = new ProgressDialog(MainActivity.this);\n\t\t\tmProgress.setIndeterminate(true);\n\t\t\tmProgress.setCancelable(true);\n\t\t\tmProgress.setMessage(\"Loading image...\");\n\t\t\tmProgress.setOnCancelListener(this);\n\t\t\tmProgress.show();\n\t\t}\n\n\t\t@Override\n\t\tprotected Bitmap doInBackground(Uri... params) {\n\t\t\tmUri = params[0];\n\n\t\t\tDisplayMetrics displayMetrics = getResources().getDisplayMetrics();\n\n\t\t\tint maxW = (int) displayMetrics.widthPixels;\n\t\t\tint maxH = (int) displayMetrics.heightPixels;\n\n\t\t\tBitmap bitmap = BitmapDecodeUtils.decode(getApplicationContext(),\n\t\t\t\t\tmUri, maxW, maxH);\n\t\t\treturn bitmap;\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPostExecute(Bitmap result) {\n\t\t\tsuper.onPostExecute(result);\n\n\t\t\tif (mProgress.getWindow() != null) {\n\t\t\t\tmProgress.dismiss();\n\t\t\t}\n\n\t\t\tif (result != null) {\n\t\t\t\tsetImageURI(mUri, result);\n\t\t\t} else {\n\t\t\t\tToast.makeText(MainActivity.this,\n\t\t\t\t\t\t\"Failed to load image \" + mUri, Toast.LENGTH_SHORT)\n\t\t\t\t\t\t.show();\n\t\t\t}\n\t\t}\n\n\t\t@Override\n\t\tpublic void onCancel(DialogInterface dialog) {\n\t\t\tLog.i(LOG_TAG, \"onProgressCancel\");\n\t\t\tthis.cancel(true);\n\t\t}\n\n\t\t@Override\n\t\tprotected void onCancelled() {\n\t\t\tsuper.onCancelled();\n\t\t\tLog.i(LOG_TAG, \"onCancelled\");\n\t\t}\n\n\t}\n}\n"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/16/16f1cbcb8a37822a0795b2dafdfc6c1ad5d798b1.svn-base",
    "content": "<Frame name=\"29M\" type=\"Simple\" id=\"29\">\r\n\t<LeftTop>29M_0.png</LeftTop>\r\n\t<Top>29M_10.png</Top>\r\n\t<RightTop>29M_2.png</RightTop>\r\n\t<Right>29M_3.png</Right>\r\n\t<RightBottom>29M_4.png</RightBottom>\r\n\t<Bottom>29M_5.png</Bottom>\r\n\t<LeftBottom>29M_6.png</LeftBottom>\r\n\t<Left>29M_7.png</Left>\r\n\r\n\t<Unity>29M.png</Unity>\r\n\t\r\n\t<params>\r\n\t\t<mode>M</mode>\r\n\t\t<thickness>0.12</thickness>\r\n\t\t<width>186</width>\r\n\t\t<height>186</height>\r\n\t\t<block type=\"leftTop\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>88</width>\r\n\t\t\t<height>88</height>\r\n\t\t</block>\r\n\t\t<block type=\"top\">\r\n\t\t\t<left>88</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>10</width>\r\n\t\t\t<height>88</height>\r\n\t\t</block>\r\n\t\t<block type=\"rightTop\">\r\n\t\t\t<left>98</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>88</width>\r\n\t\t\t<height>88</height>\r\n\t\t</block>\r\n\t\t<block type=\"right\">\r\n\t\t\t<left>98</left>\r\n\t\t\t<top>88</top>\r\n\t\t\t<width>88</width>\r\n\t\t\t<height>10</height>\r\n\t\t</block>\r\n\t\t<block type=\"rightBottom\">\r\n\t\t\t<left>98</left>\r\n\t\t\t<top>98</top>\r\n\t\t\t<width>88</width>\r\n\t\t\t<height>88</height>\r\n\t\t</block>\r\n\t\t<block type=\"bottom\">\r\n\t\t\t<left>88</left>\r\n\t\t\t<top>98</top>\r\n\t\t\t<width>10</width>\r\n\t\t\t<height>88</height>\r\n\t\t</block>\r\n\t\t<block type=\"leftBottom\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>98</top>\r\n\t\t\t<width>88</width>\r\n\t\t\t<height>88</height>\r\n\t\t</block>\r\n\t\t<block type=\"left\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>88</top>\r\n\t\t\t<width>88</width>\r\n\t\t\t<height>10</height>\r\n\t\t</block>\r\n\t</params>\r\n</Frame>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/17/173b4efba62c8e1113726445e7ca5aab8fbe51fb.svn-base",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<projectDescription>\n\t<name>FotorSDKDemo</name>\n\t<comment></comment>\n\t<projects>\n\t</projects>\n\t<buildSpec>\n\t\t<buildCommand>\n\t\t\t<name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>\n\t\t\t<arguments>\n\t\t\t</arguments>\n\t\t</buildCommand>\n\t\t<buildCommand>\n\t\t\t<name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>\n\t\t\t<arguments>\n\t\t\t</arguments>\n\t\t</buildCommand>\n\t\t<buildCommand>\n\t\t\t<name>org.eclipse.jdt.core.javabuilder</name>\n\t\t\t<arguments>\n\t\t\t</arguments>\n\t\t</buildCommand>\n\t\t<buildCommand>\n\t\t\t<name>com.android.ide.eclipse.adt.ApkBuilder</name>\n\t\t\t<arguments>\n\t\t\t</arguments>\n\t\t</buildCommand>\n\t</buildSpec>\n\t<natures>\n\t\t<nature>com.android.ide.eclipse.adt.AndroidNature</nature>\n\t\t<nature>org.eclipse.jdt.core.javanature</nature>\n\t</natures>\n</projectDescription>\n"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/17/179b81766b82ed39dc92cafa39d3140d117e9637.svn-base",
    "content": "<Effect name=\"Shade\" type=\"Scenes\" id=\"166\">\r\n    <Allocation name=\"tableTexture\"/>\r\n\t\r\n    <BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(5, 8)(36, 51)(115, 145)(201, 220)(255, 255)</R>\r\n            <G>(6, 9)(67, 83)(169, 190)(255, 255)</G>\r\n            <B>(3, 3)(55, 60)(177, 190)(255, 255)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/18/1869f22f6b2ae8d22c81f06af763a8f1c48f39bf.svn-base",
    "content": "<Effect name=\"Grayscale\" type=\"BorW\" id=\"111\">\r\n    <BaseFilter name=\"Level\">\r\n        <src>SRC</src>\r\n        <dst>DST</dst>\r\n        <params>\r\n            <type>GetScale</type>\r\n            <dark>0.01</dark>\r\n            <light>0.01</light>\r\n            <saturation>0.0</saturation>\r\n        </params>\r\n    </BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/1b/1bf19c2085868b9447cdf0163855885cc7994c89.svn-base",
    "content": "<Effect name=\"GreenGlow\" type=\"Vintage\" id=\"93\">\r\n    <Allocation name=\"tableTexture\"/>\r\n    \r\n    <BaseFilter name=\"Vignette\">\r\n        <src>SRC</src>\r\n        <dst>TMP</dst>\r\n        <params>\r\n            <mode>quadric</mode>\r\n            <vignetteStart>0.0</vignetteStart>\r\n            <vignetteRange>0.9</vignetteRange>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"Curve\">\r\n       <tableTexture>tableTexture</tableTexture>\r\n       <params>\r\n           <mode>texturing</mode>\r\n           <R>(0, 0)(89, 44)(179, 189)(222, 255)</R>\r\n           <G>(0, 0)(64, 64)(185, 212)(255, 255)</G>\r\n           <B>(0, 23)(255, 217)</B>\r\n       </params>\r\n   </BaseFilter>\r\n    \r\n    <BaseFilter name=\"TableTexture\">\r\n        <src>TMP</src>\r\n        <dst>DST</dst>\r\n        <tableTexture>tableTexture</tableTexture>\r\n    </BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/26/2669873f891113a8f45506e825d0215306e95405.svn-base",
    "content": "# To enable ProGuard in your project, edit project.properties\n# to define the proguard.config property as described in that file.\n#\n# Add project specific ProGuard rules here.\n# By default, the flags in this file are appended to flags specified\n# in ${sdk.dir}/tools/proguard/proguard-android.txt\n# You can edit the include path and order by changing the ProGuard\n# include property in project.properties.\n#\n# For more details, see\n#   http://developer.android.com/guide/developing/tools/proguard.html\n\n# Add any project specific keep options here:\n\n# If your project uses WebView with JS, uncomment the following\n# and specify the fully qualified class name to the JavaScript interface\n# class:\n#-keepclassmembers class fqcn.of.javascript.interface.for.webview {\n#   public *;\n#}\n"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/27/2709b25879bca9f06f1ad9a29b0dc3d38267c407.svn-base",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <item android:drawable=\"@color/bottom_button_background_pressed_color\" android:state_focused=\"true\" android:state_pressed=\"true\"/>\n    <item android:drawable=\"@color/bottom_button_background_pressed_color\" android:state_pressed=\"true\"/>\n    <item android:drawable=\"@color/bottom_button_background_disable_color\" android:state_enabled=\"false\"/>\n    <item android:drawable=\"@color/bottom_button_background_pressed_color\" android:state_selected=\"true\"/>\n    <item android:drawable=\"@color/bottom_button_background_default_color\"/>\n\n</selector>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/27/275269bd2e1ccac503cb43fc0c7f8efe6ae6f57a.svn-base",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:baselineAligned=\"true\"\n    android:gravity=\"center_horizontal\"\n    android:orientation=\"vertical\" >\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"@dimen/title_background_height\"\n        android:background=\"@color/title_background\"\n        android:gravity=\"center\" >\n\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"@string/photo_editor\"\n            android:textColor=\"@android:color/white\"\n            android:textSize=\"@dimen/title_text_size\" />\n    </LinearLayout>\n\n    <FrameLayout\n        android:id=\"@+id/image_container\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"0dip\"\n        android:layout_weight=\"1\"\n        android:background=\"@android:color/background_dark\"\n        android:gravity=\"center\"\n        android:padding=\"5dp\" >\n\n        <ImageView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center\"\n            android:src=\"@drawable/photo_editor_nophotos\" />\n\n        <ImageView\n            android:id=\"@+id/image\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"match_parent\"\n            android:scaleType=\"centerInside\" />\n    </FrameLayout>\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"@dimen/bottom_background_height\"\n        android:background=\"@color/title_background\"\n        android:gravity=\"center\"\n        android:orientation=\"horizontal\"\n        android:padding=\"0dip\" >\n\n        <Button\n            android:id=\"@+id/button_gallery\"\n            android:layout_width=\"0dip\"\n            android:layout_height=\"match_parent\"\n            android:layout_weight=\"1\"\n            android:background=\"@drawable/photo_editor_button_background\"\n            android:text=\"@string/photo_editor_select_image\"\n            android:textColor=\"@color/photo_editor_button_text_color\"\n            android:textSize=\"@dimen/bottom_button_text_size\" >\n        </Button>\n\n        <View\n            android:layout_width=\"1dip\"\n            android:layout_height=\"match_parent\"\n            android:background=\"#CC000000\" />\n\n        <Button\n            android:id=\"@+id/button2\"\n            android:layout_width=\"0dip\"\n            android:layout_height=\"match_parent\"\n            android:layout_weight=\"1\"\n            android:background=\"@drawable/photo_editor_button_background\"\n            android:enabled=\"false\"\n            android:text=\"@string/photo_editor_process\"\n            android:textColor=\"@color/photo_editor_button_text_color\"\n            android:textSize=\"@dimen/bottom_button_text_size\" >\n        </Button>\n    </LinearLayout>\n\n</LinearLayout>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/27/27e5804d4d2cb888b89e5cfabb6824fcb97950e0.svn-base",
    "content": "<Effect name=\"DeepBlue\" type=\"Vintage\" id=\"110\">\r\n    <Allocation name=\"level\"/>\r\n    <Allocation name=\"tableTexture\"/>\r\n    \r\n    <BaseFilter name=\"Level\">\r\n        <src>SRC</src>\r\n        <dst>level</dst>\r\n        <params>\r\n            <type>GetScale</type>\r\n            <dark>0.01</dark>\r\n            <light>0.01</light>\r\n            <saturation>1.3</saturation>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n   <BaseFilter name=\"Vignette\">\r\n        <src>level</src>\r\n        <dst>TMP</dst>\r\n        <params>\r\n            <mode>quadric</mode>\r\n            <vignetteStart>0.0</vignetteStart>\r\n            <vignetteRange>0.8</vignetteRange>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n   <BaseFilter name=\"Curve\">\r\n       <tableTexture>tableTexture</tableTexture>\r\n       <params>\r\n           <mode>texturing</mode>\r\n           <R>(20, 0)(150, 109)(255, 255)</R>\r\n           <G>(30, 0)(97, 92)(163, 172)(255, 255)</G>\r\n           <B>(0, 0)(240, 255)</B>\r\n       </params>\r\n   </BaseFilter>\r\n    \r\n    <BaseFilter name=\"TableTexture\">\r\n        <src>TMP</src>\r\n        <dst>DST</dst>\r\n        <tableTexture>tableTexture</tableTexture>\r\n    </BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/28/28cc16730e4f03f97e077efa04843148f7f0eb0b.svn-base",
    "content": "<Effect name=\"Food\" type=\"Scenes\" id=\"160\">\r\n    <Allocation name=\"tableTexture\"/>\r\n\t\r\n    <BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(3, 0)(23, 29)(83, 116)(167, 206)(255, 255)</R>\r\n            <G>(5, 0)(56, 64)(160, 189)(255, 255)</G>\r\n            <B>(3, 0)(48, 49)(142, 167)(248, 255)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/2b/2b9183863aa41af4a9ee6872efbec38dbe4ee4c0.svn-base",
    "content": "<resources>\n\n    <!--\n         Customize dimensions originally defined in res/values/dimens.xml (such as\n         screen margins) for sw720dp devices (e.g. 10\" tablets) in landscape here.\n    -->\n    <dimen name=\"activity_horizontal_margin\">128dp</dimen>\n\n</resources>\n"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/2f/2fc798884e09b229a782e7521f0514af17907663.svn-base",
    "content": "# This file is automatically generated by Android Tools.\n# Do not modify this file -- YOUR CHANGES WILL BE ERASED!\n#\n# This file must be checked in Version Control Systems.\n#\n# To customize properties used by the Ant build system edit\n# \"ant.properties\", and override values to adapt the script to your\n# project structure.\n#\n# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):\n#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt\n\n# Project target.\ntarget=android-19\nandroid.library.reference.1=../FotorSDK\n\n#------ RenderScript Configuration -------\nrenderscript.target=19\n\nrenderscript.support.mode=true\n\nsdk.buildtools=19.0.3\n#------ RenderScript Configuration -------\n"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/32/3228fb7bd14e329a33acb71d67f2161e4d641b3a.svn-base",
    "content": "<Effect name=\"Blue\" type=\"Vintage\" id=\"108\">\r\n    <Allocation name=\"level\"/>\r\n    <Allocation name=\"tableTexture\"/>\r\n    \r\n    <BaseFilter name=\"Level\">\r\n        <src>SRC</src>\r\n        <dst>level</dst>\r\n        <params>\r\n            <type>GetScale</type>\r\n            <dark>0.01</dark>\r\n            <light>0.01</light>\r\n            <saturation>1.3</saturation>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n   <BaseFilter name=\"Vignette\">\r\n        <src>level</src>\r\n        <dst>TMP</dst>\r\n        <params>\r\n            <mode>quadric</mode>\r\n            <vignetteStart>0.0</vignetteStart>\r\n            <vignetteRange>0.8</vignetteRange>\r\n        </params>\r\n    </BaseFilter>\r\n   \r\n   <BaseFilter name=\"Curve\">\r\n       <tableTexture>tableTexture</tableTexture>\r\n       <params>\r\n           <mode>texturing</mode>\r\n           <R>(33, 10)(255, 255)</R>\r\n           <G>(0, 15)(86, 94)(171, 194)(255, 255)</G>\r\n           <B>(0, 20)(255, 235)</B>\r\n       </params>\r\n   </BaseFilter>\r\n   \r\n    <BaseFilter name=\"TableTexture\">\r\n        <src>TMP</src>\r\n        <dst>DST</dst>\r\n        <tableTexture>tableTexture</tableTexture>\r\n    </BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/3b/3b76a63e440aecbb07f6d8cf6779ce7f11f02331.svn-base",
    "content": "package com.example.fotorsdkdemo;\n\nimport java.io.File;\n\nimport com.everimaging.fotorsdk.FotorConstants;\nimport com.everimaging.fotorsdk.FotorFeaturesFactory;\nimport com.everimaging.fotorsdk.FotorSDKActivity;\nimport com.everimaging.fotorsdk.FotorSDKVersion;\nimport com.everimaging.fotorsdk.FotorUtils;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns.Session;\nimport com.everimaging.fotorsdk.utils.BitmapDecodeUtils;\nimport com.everimaging.fotorsdk.utils.Utils;\nimport com.everimaging.fotorsdk.engine.FotorHDFilter;\nimport android.app.Activity;\nimport android.app.AlertDialog;\nimport android.app.ProgressDialog;\nimport android.content.Context;\nimport android.content.DialogInterface;\nimport android.content.DialogInterface.OnCancelListener;\nimport android.content.Intent;\nimport android.database.Cursor;\nimport android.graphics.Bitmap;\nimport android.graphics.drawable.BitmapDrawable;\nimport android.graphics.drawable.Drawable;\nimport android.media.MediaScannerConnection;\nimport android.net.Uri;\nimport android.os.AsyncTask;\nimport android.os.Bundle;\nimport android.os.Environment;\nimport android.provider.MediaStore.Images;\nimport android.provider.MediaStore.Images.ImageColumns;\nimport android.util.DisplayMetrics;\nimport android.util.Log;\nimport android.view.View;\nimport android.widget.Button;\nimport android.widget.ImageView;\nimport android.widget.TextView;\nimport android.widget.Toast;\n\n/**\n * Sample main activity\n * \n * @description\n * \n * @author <a href=\"mailto:zhangjiajun@everimaging.com\">John.Zhang</a>\n * @version 1.0\n * @create Apr 12, 2014 3:06:39 PM\n * @update Apr 12, 2014 3:06:39 PM\n */\npublic class MainActivity extends Activity {\n\n\tprivate static final int ACTION_REQUEST_FEATURE = 2;\n\n\tprivate static final int ACTION_REQUEST_GALLERY = 3;\n\n\tprivate static final int EXTERNAL_STORAGE_UNAVAILABLE = 1;\n\n\tpublic static final String LOG_TAG = \"fotorsdk_demo\";\n\n\t/** Folder name on the sdcard where the images will be saved **/\n\n\tprivate static final String FOLDER_NAME = \"FotorSDK\";\n\n\t/** Edit sample button */\n\tButton mEditButton;\n\t/** Call gallery button */\n\tButton mGalleryButton;\n\t/** Display image view */\n\tImageView mImage;\n\t/** The path for output file */\n\tString mOutputFilePath;\n\n\t/** Image uri for image editor */\n\tUri mImageUri;\n\t/** Display version label for DEBUG */\n\tprivate TextView mSDKVersionLabel;\n\n\t/** The sample image uri. */\n\tprivate Uri mSampleUri;\n\n\tprivate File mGalleryFolder;\n\n\t/** session id for the hi-res post processing */\n\tprivate String mSessionId;\n\n\t@Override\n\tprotected void onCreate(Bundle savedInstanceState) {\n\t\tLog.i(LOG_TAG, \"onCreate\");\n\t\tsuper.onCreate(savedInstanceState);\n\n\t\tsetContentView(R.layout.activity_main);\n\n\t\tmEditButton.setOnClickListener(new View.OnClickListener() {\n\n\t\t\t@Override\n\t\t\tpublic void onClick(View v) {\n\t\t\t\tif (mImageUri != null) {\n\t\t\t\t\tstartFeature(mImageUri);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tmGalleryButton.setOnClickListener(new View.OnClickListener() {\n\n\t\t\t@Override\n\t\t\tpublic void onClick(View v) {\n\t\t\t\tpickFromGallery();\n\t\t\t}\n\t\t});\n\n\t\tmGalleryFolder = createFolders();\n\n\t\t// add sample image\n\t\tmSampleUri = Uri.parse(\"file:///android_asset/sample.jpg\");\n\t\tloadAsync(mSampleUri);\n\n\t\tif (BuildConfig.DEBUG) {\n\t\t\tmSDKVersionLabel.setText(\"V\" + FotorSDKVersion.FOTOR_SDK_VERSION);\n\t\t}\n\n\t}\n\n\t/**\n\t * Start the activity to pick an image from the user gallery\n\t */\n\tprivate void pickFromGallery() {\n\t\tIntent intent = new Intent(Intent.ACTION_GET_CONTENT);\n\t\tintent.setType(\"image/*\");\n\n\t\tIntent chooser = Intent.createChooser(intent, \"Choose a Picture\");\n\t\tstartActivityForResult(chooser, ACTION_REQUEST_GALLERY);\n\n\t}\n\n\t@Override\n\tprotected void onResume() {\n\t\tLog.i(LOG_TAG, \"onResume\");\n\t\tsuper.onResume();\n\n\t\tif (getIntent() != null) {\n\t\t\thandleIntent(getIntent());\n\t\t\tsetIntent(new Intent());\n\t\t}\n\t}\n\n\t/**\n\t * Handle the incoming {@link Intent}\n\t */\n\tprivate void handleIntent(Intent intent) {\n\n\t\tString action = intent.getAction();\n\n\t\tif (null != action) {\n\n\t\t\tif (Intent.ACTION_SEND.equals(action)) {\n\n\t\t\t\tBundle extras = intent.getExtras();\n\t\t\t\tif (extras != null && extras.containsKey(Intent.EXTRA_STREAM)) {\n\t\t\t\t\tUri uri = (Uri) extras.get(Intent.EXTRA_STREAM);\n\t\t\t\t\tloadAsync(uri);\n\t\t\t\t}\n\t\t\t} else if (Intent.ACTION_VIEW.equals(action)) {\n\t\t\t\tUri data = intent.getData();\n\t\t\t\tLog.d(LOG_TAG, \"data: \" + data);\n\t\t\t\tloadAsync(data);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Load the incoming Image\n\t * \n\t * @param uri\n\t */\n\tprivate void loadAsync(final Uri uri) {\n\t\tLog.i(LOG_TAG, \"loadAsync: \" + uri);\n\n\t\tDrawable toRecycle = mImage.getDrawable();\n\t\tif (toRecycle != null && toRecycle instanceof BitmapDrawable) {\n\t\t\tif (((BitmapDrawable) mImage.getDrawable()).getBitmap() != null)\n\t\t\t\t((BitmapDrawable) mImage.getDrawable()).getBitmap().recycle();\n\t\t}\n\t\tmImage.setImageDrawable(null);\n\t\tmImageUri = null;\n\n\t\tDownloadAsync task = new DownloadAsync();\n\t\ttask.execute(uri);\n\t}\n\n\t@Override\n\tprotected void onDestroy() {\n\t\tLog.i(LOG_TAG, \"onDestroy\");\n\t\tsuper.onDestroy();\n\t\tmOutputFilePath = null;\n\t}\n\n\t@Override\n\tpublic void onContentChanged() {\n\t\tsuper.onContentChanged();\n\n\t\tSystem.out.println(\"context:\" + this.getPackageName());\n\n\t\tmEditButton = (Button) findViewById(R.id.button2);\n\n\t\tmGalleryButton = (Button) findViewById(R.id.button_gallery);\n\n\t\tmImage = (ImageView) findViewById(R.id.image);\n\n\t\tmSDKVersionLabel = (TextView) findViewById(R.id.fotor_sdk_version_label);\n\n\t}\n\n\t@Override\n\t/**\n\t * This method is called when feather has completed ( ie. user clicked on \"done\" or just exit the activity without saving ). <br />\n\t * If user clicked the \"done\" button you'll receive RESULT_OK as resultCode, RESULT_CANCELED otherwise.\n\t * \n\t * @param requestCode\n\t * \t- it is the code passed with startActivityForResult\n\t * @param resultCode\n\t * \t- result code of the activity launched ( it can be RESULT_OK or RESULT_CANCELED )\n\t * @param data\n\t * \t- the result data\n\t */\n\tpublic void onActivityResult(int requestCode, int resultCode, Intent data) {\n\t\tif (resultCode == RESULT_OK) {\n\t\t\tswitch (requestCode) {\n\t\t\tcase ACTION_REQUEST_FEATURE: {\n\n\t\t\t\tUri uri = Uri.parse(mOutputFilePath);\n\t\t\t\tBitmap bitmap = BitmapDecodeUtils.decodeFile(mOutputFilePath);\n\t\t\t\tsetImageURI(uri, bitmap);\n\t\t\t\tnew ProcessHDTask(this).execute();\n\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase ACTION_REQUEST_GALLERY: {\n\t\t\t\tUri uri = data.getData();\n\t\t\t\tloadAsync(uri);\n\t\t\t\tstartFeature(uri);\n\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t} else if (resultCode == RESULT_CANCELED) {\n\t\t\tswitch (requestCode) {\n\t\t\tcase ACTION_REQUEST_FEATURE:\n\t\t\t\tif (mSessionId != null)\n\t\t\t\t\tdeleteSession(mSessionId);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate String onSaveCompletion() {\n\n\t\tUri sessionUri = SessionColumns.getContentUri(this, mSessionId);\n\n\t\tCursor cursor = getContentResolver().query(sessionUri, null, null,\n\t\t\t\tnull, null);\n\n\t\tSession session = Session.create(cursor);\n\n\t\tif (session != null) {\n\t\t\tFotorHDFilter fotorHDFilter = new FotorHDFilter(this, session);\n\n\t\t\tfotorHDFilter.loadImage();\n\n\t\t\tfotorHDFilter.executeFilter();\n\n\t\t\tString dstPath = Utils.getSDPath() + \"/testOriginal.jpg\";\n\n\t\t\tfotorHDFilter.save(dstPath);\n\n\t\t\tfotorHDFilter.dispose();\n\t\t\tdeleteSession(mSessionId);\n\n\t\t\treturn dstPath;\n\t\t}\n\t\treturn null;\n\n\t}\n\n\tclass ProcessHDTask extends AsyncTask<Void, Void, String> {\n\t\tprivate ProgressDialog mDialog;\n\n\t\tprivate Context mContext;\n\n\t\tpublic ProcessHDTask(Context context) {\n\t\t\tthis.mContext = context;\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPreExecute() {\n\t\t\tmDialog = ProgressDialog.show(mContext, \"Process HD\",\n\t\t\t\t\t\"Please wait...\");\n\t\t}\n\n\t\t@Override\n\t\tprotected String doInBackground(Void... params) {\n\t\t\treturn onSaveCompletion();\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPostExecute(String result) {\n\t\t\tmDialog.dismiss();\n\n\t\t\tString msg = \"Process Error\";\n\t\t\tif (result != null) {\n\t\t\t\tmsg = result;\n\t\t\t}\n\n\t\t\tToast.makeText(mContext, msg, Toast.LENGTH_LONG).show();\n\t\t}\n\n\t}\n\n\t/**\n\t * Delete the session and all it's actions. We do not need it anymore.<br />\n\t * Note that this is optional. All old sessions are automatically removed in\n\t * Feather.\n\t * \n\t * @param session_id\n\t */\n\tprivate void deleteSession(final String session_id) {\n\t\tUri uri = FotorContentProvider.SessionColumns.getContentUri(this,\n\t\t\t\tsession_id);\n\t\tint count = getContentResolver().delete(uri, null, null);\n\t\tSystem.out.println(\"delete session count:\" + count);\n\t}\n\n\t/**\n\t * Given an Uri load the bitmap into the current ImageView and resize it to\n\t * fit the image container size\n\t * \n\t * @param uri\n\t */\n\t@SuppressWarnings(\"deprecation\")\n\tprivate boolean setImageURI(final Uri uri, final Bitmap bitmap) {\n\n\t\tLog.d(LOG_TAG,\n\t\t\t\t\"image size: \" + bitmap.getWidth() + \"x\" + bitmap.getHeight());\n\t\tmImage.setImageBitmap(bitmap);\n\t\tmImage.setBackgroundDrawable(null);\n\n\t\tmEditButton.setEnabled(true);\n\t\tmImageUri = uri;\n\t\treturn true;\n\t}\n\n\t/**\n\t * We need to notify the MediaScanner when a new file is created. In this\n\t * way all the gallery applications will be notified too.\n\t * \n\t * @param file\n\t */\n\tprivate void updateMedia(String filepath) {\n\t\tLog.i(LOG_TAG, \"updateMedia: \" + filepath);\n\t\tMediaScannerConnection.scanFile(getApplicationContext(),\n\t\t\t\tnew String[] { filepath }, null, null);\n\t}\n\n\t/**\n\t * Pick a random image from the user gallery\n\t * \n\t * @return\n\t */\n\t@SuppressWarnings(\"unused\")\n\tprivate Uri pickRandomImage() {\n\t\tCursor c = getContentResolver().query(\n\t\t\t\tImages.Media.EXTERNAL_CONTENT_URI,\n\t\t\t\tnew String[] { ImageColumns._ID, ImageColumns.DATA },\n\t\t\t\tImageColumns.SIZE + \">?\", new String[] { \"90000\" }, null);\n\t\tUri uri = null;\n\n\t\tif (c != null) {\n\t\t\tint total = c.getCount();\n\t\t\tint position = (int) (Math.random() * total);\n\t\t\tLog.d(LOG_TAG, \"pickRandomImage. total images: \" + total\n\t\t\t\t\t+ \", position: \" + position);\n\t\t\tif (total > 0) {\n\t\t\t\tif (c.moveToPosition(position)) {\n\t\t\t\t\tString data = c.getString(c\n\t\t\t\t\t\t\t.getColumnIndex(Images.ImageColumns.DATA));\n\t\t\t\t\tlong id = c.getLong(c\n\t\t\t\t\t\t\t.getColumnIndex(Images.ImageColumns._ID));\n\n\t\t\t\t\turi = Uri.parse(data);\n\n\t\t\t\t\tLog.d(LOG_TAG, uri.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t\tc.close();\n\t\t}\n\t\treturn uri;\n\t}\n\n\t/**\n\t * Return a new image file. Name is based on the current time. Parent folder\n\t * will be the one created with createFolders\n\t * \n\t * @return\n\t * @see #createFolders()\n\t */\n\tprivate File generateOutputFileName() {\n\t\tif (mGalleryFolder != null) {\n\t\t\tif (mGalleryFolder.exists()) {\n\t\t\t\tFile file = new File(mGalleryFolder, \"Fotor_\"\n\t\t\t\t\t\t+ System.currentTimeMillis() + \".jpg\");\n\t\t\t\treturn file;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\t/**\n\t * Once you've chosen an image you can start the feather activity\n\t * \n\t * @param uri\n\t */\n\t@SuppressWarnings(\"deprecation\")\n\tprivate void startFeature(Uri uri) {\n\n\t\tLog.d(LOG_TAG, \"uri: \" + uri);\n\n\t\t// first check the external storage availability\n\t\tif (!isExternalStorageAvilable()) {\n\t\t\tshowDialog(EXTERNAL_STORAGE_UNAVAILABLE);\n\t\t\treturn;\n\t\t}\n\n\t\t// create a temporary file where to store the resulting image\n\t\tFile file = generateOutputFileName();\n\n\t\tif (null != file) {\n\t\t\tmOutputFilePath = file.getAbsolutePath();\n\t\t} else {\n\t\t\tnew AlertDialog.Builder(this)\n\t\t\t\t\t.setTitle(android.R.string.dialog_alert_title)\n\t\t\t\t\t.setMessage(\"Failed to create a new File\").show();\n\t\t\treturn;\n\t\t}\n\n\t\t// Create the intent needed to start feather\n\t\tIntent newIntent = new Intent(this, FotorSDKActivity.class);\n\n\t\t// === INPUT IMAGE URI ===\n\t\t// Set the source image uri\n\t\tnewIntent.setData(uri);\n\n\t\t// === OUTPUT ====\n\t\t// Optional\n\t\t// Pass the uri of the destination image file.\n\t\t// This will be the same uri you will receive in the onActivityResult\n\n\t\tSystem.out.println(\"mOutputFilePath->:\" + mOutputFilePath);\n\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_OUTPUT_PATH, mOutputFilePath);\n\n\t\t// === OUTPUT QUALITY ===\n\t\t// Optional\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_OUTPUT_QUALITY, 90);\n\n\t\t// === MAX SIZE ===\n\t\t// Optional\n\t\t// you can pass the maximum allowed image size (for the preview),\n\t\t// otherwise feather will determine\n\t\t// the max size based on the device informations.\n\t\t// This will not affect the hi-res image size.\n\t\t// Here we're passing the current display size as max image size because\n\t\t// after\n\t\t// the execution of Aviary we're saving the HI-RES image so we don't\n\t\t// need a big\n\t\t// image for the preview\n\t\tfinal DisplayMetrics metrics = new DisplayMetrics();\n\t\tgetWindowManager().getDefaultDisplay().getMetrics(metrics);\n\n\t\tint max_size = Math.max(metrics.widthPixels, metrics.heightPixels);\n\n\t\tmax_size = (int) ((float) max_size / 1.4f);\n\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_MAX_PREVIEW_SIZE, max_size);\n\n\t\tmSessionId = FotorUtils.generateSessionId(this);\n\n\t\tgetContentResolver().delete(\n\t\t\t\tSessionColumns.getContentUri(this, mSessionId), null, null);\n\n\t\tLog.d(LOG_TAG,\n\t\t\t\t\"session: \" + mSessionId + \", size: \" + mSessionId.length());\n\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_FOTOR_SESSION_ID, mSessionId);\n\n\t\t// // === FEATURE LIST ===\n\n\t\t// newIntent.putExtra(FotorConstants.EXTRA_FEATURE_LIST, new String[] {\n\t\t// FotorFeaturesFactory.FeatureType.FX_EFFECTS.name(),\n\t\t// FotorFeaturesFactory.FeatureType.BORDER.name() });\n\n\t\t// start feather\n\t\tstartActivityForResult(newIntent, ACTION_REQUEST_FEATURE);\n\t}\n\n\t/**\n\t * Check the external storage status\n\t * \n\t * @return\n\t */\n\tprivate boolean isExternalStorageAvilable() {\n\t\tString state = Environment.getExternalStorageState();\n\t\tif (Environment.MEDIA_MOUNTED.equals(state)) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Try to create the required folder on the sdcard where images will be\n\t * saved to.\n\t * \n\t * @return\n\t */\n\tprivate File createFolders() {\n\n\t\tFile baseDir;\n\n\t\tif (android.os.Build.VERSION.SDK_INT < 8) {\n\t\t\tbaseDir = Environment.getExternalStorageDirectory();\n\t\t} else {\n\t\t\tbaseDir = Environment\n\t\t\t\t\t.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);\n\t\t}\n\n\t\tif (baseDir == null)\n\t\t\treturn Environment.getExternalStorageDirectory();\n\n\t\tLog.d(LOG_TAG, \"Pictures folder: \" + baseDir.getAbsolutePath());\n\t\tFile fotorSDKFolder = new File(baseDir, FOLDER_NAME);\n\n\t\tif (fotorSDKFolder.exists())\n\t\t\treturn fotorSDKFolder;\n\t\tif (fotorSDKFolder.mkdirs())\n\t\t\treturn fotorSDKFolder;\n\n\t\treturn Environment.getExternalStorageDirectory();\n\t}\n\n\tclass DownloadAsync extends AsyncTask<Uri, Void, Bitmap> implements\n\t\t\tOnCancelListener {\n\n\t\tProgressDialog mProgress;\n\t\tprivate Uri mUri;\n\n\t\t@Override\n\t\tprotected void onPreExecute() {\n\t\t\tsuper.onPreExecute();\n\n\t\t\tmProgress = new ProgressDialog(MainActivity.this);\n\t\t\tmProgress.setIndeterminate(true);\n\t\t\tmProgress.setCancelable(true);\n\t\t\tmProgress.setMessage(\"Loading image...\");\n\t\t\tmProgress.setOnCancelListener(this);\n\t\t\tmProgress.show();\n\t\t}\n\n\t\t@Override\n\t\tprotected Bitmap doInBackground(Uri... params) {\n\t\t\tmUri = params[0];\n\n\t\t\tDisplayMetrics displayMetrics = getResources().getDisplayMetrics();\n\n\t\t\tint maxW = (int) (displayMetrics.widthPixels / 1.5);\n\t\t\tint maxH = (int) (displayMetrics.heightPixels / 1.5);\n\n\t\t\tBitmap bitmap = BitmapDecodeUtils.decode(getApplicationContext(),\n\t\t\t\t\tmUri, maxW, maxH);\n\t\t\treturn bitmap;\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPostExecute(Bitmap result) {\n\t\t\tsuper.onPostExecute(result);\n\n\t\t\tif (mProgress.getWindow() != null) {\n\t\t\t\tmProgress.dismiss();\n\t\t\t}\n\n\t\t\tif (result != null) {\n\t\t\t\tsetImageURI(mUri, result);\n\t\t\t} else {\n\t\t\t\tToast.makeText(MainActivity.this,\n\t\t\t\t\t\t\"Failed to load image \" + mUri, Toast.LENGTH_SHORT)\n\t\t\t\t\t\t.show();\n\t\t\t}\n\t\t}\n\n\t\t@Override\n\t\tpublic void onCancel(DialogInterface dialog) {\n\t\t\tLog.i(LOG_TAG, \"onProgressCancel\");\n\t\t\tthis.cancel(true);\n\t\t}\n\n\t\t@Override\n\t\tprotected void onCancelled() {\n\t\t\tsuper.onCancelled();\n\t\t\tLog.i(LOG_TAG, \"onCancelled\");\n\t\t}\n\n\t}\n}\n"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/3b/3bb5415d1f04c900bd4f8c1e4e7073d6d969d8a5.svn-base",
    "content": "<Frame name=\"Cleopatra\" type=\"Gallery\" id=\"42\">\r\n\t<LeftTop>42M_0.png</LeftTop>\r\n\t<Top>42M_1.png</Top>\r\n\t<RightTop>42M_2.png</RightTop>\r\n\t<Right>42M_3.png</Right>\r\n\t<RightBottom>42M_4.png</RightBottom>\r\n\t<Bottom>42M_5.png</Bottom>\r\n\t<LeftBottom>42M_6.png</LeftBottom>\r\n\t<Left>42M_7.png</Left>\r\n\r\n\t<Unity>42M.png</Unity>\r\n\t\r\n\t<params>\r\n\t\t<mode>M</mode>\r\n\t\t<thickness>0.1</thickness>\r\n\t\t<width>362</width>\r\n\t\t<height>362</height>\r\n\t\t<block type=\"leftTop\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>166</width>\r\n\t\t\t<height>166</height>\r\n\t\t</block>\r\n\t\t<block type=\"top\">\r\n\t\t\t<left>166</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>30</width>\r\n\t\t\t<height>166</height>\r\n\t\t</block>\r\n\t\t<block type=\"rightTop\">\r\n\t\t\t<left>196</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>166</width>\r\n\t\t\t<height>166</height>\r\n\t\t</block>\r\n\t\t<block type=\"right\">\r\n\t\t\t<left>196</left>\r\n\t\t\t<top>166</top>\r\n\t\t\t<width>166</width>\r\n\t\t\t<height>30</height>\r\n\t\t</block>\r\n\t\t<block type=\"rightBottom\">\r\n\t\t\t<left>196</left>\r\n\t\t\t<top>196</top>\r\n\t\t\t<width>166</width>\r\n\t\t\t<height>166</height>\r\n\t\t</block>\r\n\t\t<block type=\"bottom\">\r\n\t\t\t<left>166</left>\r\n\t\t\t<top>196</top>\r\n\t\t\t<width>30</width>\r\n\t\t\t<height>166</height>\r\n\t\t</block>\r\n\t\t<block type=\"leftBottom\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>196</top>\r\n\t\t\t<width>166</width>\r\n\t\t\t<height>166</height>\r\n\t\t</block>\r\n\t\t<block type=\"left\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>166</top>\r\n\t\t\t<width>166</width>\r\n\t\t\t<height>30</height>\r\n\t\t</block>\r\n\t</params>\r\n</Frame>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/3c/3c755b5500ed67e7a115f31d4682bbdbedbb9973.svn-base",
    "content": "<Frame name=\"Blue Jeans\" type=\"Gallery\" id=\"10\">\r\n\t<LeftTop>10M_0.png</LeftTop>\r\n\t<Top>10M_1.png</Top>\r\n\t<RightTop>10M_2.png</RightTop>\r\n\t<Right>10M_3.png</Right>\r\n\t<RightBottom>10M_4.png</RightBottom>\r\n\t<Bottom>10M_5.png</Bottom>\r\n\t<LeftBottom>10M_6.png</LeftBottom>\r\n\t<Left>10M_7.png</Left>\r\n\r\n\t<Unity>10M.png</Unity>\r\n\t\r\n\t<params>\r\n\t\t<mode>M</mode>\r\n\t\t<thickness>0.08</thickness>\r\n\t\t<width>174</width>\r\n\t\t<height>174</height>\r\n\t\t<block type=\"leftTop\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>72</width>\r\n\t\t\t<height>72</height>\r\n\t\t</block>\r\n\t\t<block type=\"top\">\r\n\t\t\t<left>72</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>30</width>\r\n\t\t\t<height>72</height>\r\n\t\t</block>\r\n\t\t<block type=\"rightTop\">\r\n\t\t\t<left>102</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>72</width>\r\n\t\t\t<height>72</height>\r\n\t\t</block>\r\n\t\t<block type=\"right\">\r\n\t\t\t<left>102</left>\r\n\t\t\t<top>72</top>\r\n\t\t\t<width>72</width>\r\n\t\t\t<height>30</height>\r\n\t\t</block>\r\n\t\t<block type=\"rightBottom\">\r\n\t\t\t<left>102</left>\r\n\t\t\t<top>102</top>\r\n\t\t\t<width>72</width>\r\n\t\t\t<height>72</height>\r\n\t\t</block>\r\n\t\t<block type=\"bottom\">\r\n\t\t\t<left>72</left>\r\n\t\t\t<top>102</top>\r\n\t\t\t<width>30</width>\r\n\t\t\t<height>72</height>\r\n\t\t</block>\r\n\t\t<block type=\"leftBottom\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>102</top>\r\n\t\t\t<width>72</width>\r\n\t\t\t<height>72</height>\r\n\t\t</block>\r\n\t\t<block type=\"left\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>72</top>\r\n\t\t\t<width>72</width>\r\n\t\t\t<height>30</height>\r\n\t\t</block>\r\n\t</params>\r\n</Frame>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/3e/3e3d52eea62bb45233f43a2939d14cd6a04db981.svn-base",
    "content": "<Effect name=\"Toy\" type=\"Old Picture\" id=\"10\">\r\n    <Allocation name=\"tableTexture\"/>\r\n    \r\n    <BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <curveR>\r\n                <point>0, 4</point>\r\n                <point>255, 244</point>\r\n            </curveR>\r\n            <curveG>\r\n                <point>0, 0</point>\r\n                <point>255, 255</point>\r\n            </curveG>\r\n            <curveB>\r\n                <point>0, 84</point>\r\n                <point>255, 194</point>\r\n            </curveB>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/3e/3e57edbe2aee66098186d9259aaf0d9847723cdf.svn-base",
    "content": "<Frame name=\"49S\" type=\"Styled\" id=\"49\">\r\n    <Unity>49S.png</Unity>\r\n    \r\n    <params>\r\n        <mode>S</mode>\r\n    </params>\r\n</Frame>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/42/42d8c3015ce203c165397e1607e6f5d1d90ee430.svn-base",
    "content": "[\"108.xml\",\"109.xml\",\"110.xml\",\"91.xml\",\"93.xml\",\"6.xml\"]"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/47/47444bc050df100e3ecf6da3b32fc3e72cedd3d7.svn-base",
    "content": "<Effect name=\"Sepia\" type=\"Retro\" id=\"118\">\r\n    <Allocation name=\"vignette\"/>\r\n    <Allocation name=\"level\"/>\r\n    \r\n    <BaseFilter name=\"Level\">\r\n        <src>SRC</src>\r\n        <dst>level</dst>\r\n        <params>\r\n            <type>GetScale</type>\r\n            <dark>0.01</dark>\r\n            <light>0.2</light>\r\n            <saturation>0.0</saturation>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"Vignette\">\r\n        <src>level</src>\r\n        <dst>TMP</dst>\r\n        <params>\r\n            <mode>linear</mode>\r\n            <vignetteStart>0.0</vignetteStart>\r\n            <vignetteRange>0.8</vignetteRange>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"MultiplyMatrixPlusBias\">\r\n        <src>TMP</src>\r\n        <dst>DST</dst>\r\n        <params>\r\n            <vectorR>0.393, 0.769, 0.189</vectorR>\r\n            <vectorG>0.349, 0.686, 0.168</vectorG>\r\n            <vectorB>0.272, 0.534, 0.131</vectorB>\r\n        </params>\r\n    </BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/4c/4c0d320756d2018b3f2c3544923a939b87533800.svn-base",
    "content": "{\r\n\t\"version\": 1,\r\n\t\"category_name\": \"Classic\",\r\n\t\"fonts_array\": [{\r\n\t\t\"font_id\": 1,\r\n\t\t\"font_name\": \"Droid Sans\",\r\n\t\t\"font_normal\": \"DroidSans\",\r\n\t\t\"font_bold\": \"DroidSans-Bold\",\r\n\t\t\"font_italic\": \"\",\r\n\t\t\"font_bolditalic\": \"\"\r\n\t},\r\n\t{\r\n\t\t\"font_id\": 2,\r\n\t\t\"font_name\": \"Droid Serif\",\r\n\t\t\"font_normal\": \"DroidSerif\",\r\n\t\t\"font_bold\": \"DroidSerif-Bold\",\r\n\t\t\"font_italic\": \"DroidSerif-Italic\",\r\n\t\t\"font_bolditalic\": \"DroidSerif-BoldItalic\"\r\n\t},\r\n\t{\r\n\t\t\"font_id\": 3,\r\n\t\t\"font_name\": \"Droid Sans Mono\",\r\n\t\t\"font_normal\": \"DroidSansMono\",\r\n\t\t\"font_bold\": \"\",\r\n\t\t\"font_italic\": \"\",\r\n\t\t\"font_bolditalic\": \"\"\r\n\t},\r\n\t{\r\n\t\t\"font_id\": 4,\r\n\t\t\"font_name\": \"Roboto Regular\",\r\n\t\t\"font_normal\": \"Roboto-Regular\",\r\n\t\t\"font_bold\": \"Roboto-Bold\",\r\n\t\t\"font_italic\": \"Roboto-Italic\",\r\n\t\t\"font_bolditalic\": \"Roboto-BoldItalic\"\r\n\t},\r\n\t{\r\n\t\t\"font_id\": 5,\r\n\t\t\"font_name\": \"Roboto Thin\",\r\n\t\t\"font_normal\": \"Roboto-Thin\",\r\n\t\t\"font_bold\": \"\",\r\n\t\t\"font_italic\": \"Roboto-ThinItalic\",\r\n\t\t\"font_bolditalic\": \"\"\r\n\t},\r\n\t{\r\n\t\t\"font_id\": 6,\r\n\t\t\"font_name\": \"Roboto Condensed\",\r\n\t\t\"font_normal\": \"RobotoCondensed-Regular\",\r\n\t\t\"font_bold\": \"RobotoCondensed-Bold\",\r\n\t\t\"font_italic\": \"RobotoCondensed-Italic\",\r\n\t\t\"font_bolditalic\": \"RobotoCondensed-BoldItalic\"\r\n\t}\r\n\t]\r\n}"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/4c/4c32cb13f7e191b3241c44246970ac9d7e713b92.svn-base",
    "content": "<resources>\n\n    <!-- Default screen margins, per the Android Design guidelines. -->\n    <dimen name=\"activity_horizontal_margin\">16dp</dimen>\n    <dimen name=\"activity_vertical_margin\">16dp</dimen>\n    <dimen name=\"title_background_height\">44dip</dimen>\n    <dimen name=\"title_text_size\">20sp</dimen>\n    <dimen name=\"bottom_background_height\">60dip</dimen>\n    <dimen name=\"bottom_button_text_size\">16sp</dimen>\n\n</resources>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/4d/4d34f6dcb70ac598c17e6a49c25a45c02ce62a69.svn-base",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n\n    <string name=\"app_name\">FotorSDKDemo</string>\n    <string name=\"action_settings\">Settings</string>\n    <string name=\"hello_world\">Hello world!</string>\n\n</resources>\n"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/4f/4f80723c94375d498af0db25808f75960a2c2473.svn-base",
    "content": "<Frame name=\"Nile River\" type=\"Gallery\" id=\"41\">\r\n\t<LeftTop>41M_0.png</LeftTop>\r\n\t<Top>41M_1.png</Top>\r\n\t<RightTop>41M_2.png</RightTop>\r\n\t<Right>41M_3.png</Right>\r\n\t<RightBottom>41M_4.png</RightBottom>\r\n\t<Bottom>41M_5.png</Bottom>\r\n\t<LeftBottom>41M_6.png</LeftBottom>\r\n\t<Left>41M_7.png</Left>\r\n\r\n\t<Unity>41M.png</Unity>\r\n\t\r\n\t<params>\r\n\t\t<mode>M</mode>\r\n\t\t<thickness>0.05</thickness>\r\n\t\t<width>170</width>\r\n\t\t<height>170</height>\r\n\t\t<block type=\"leftTop\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>70</width>\r\n\t\t\t<height>70</height>\r\n\t\t</block>\r\n\t\t<block type=\"top\">\r\n\t\t\t<left>70</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>30</width>\r\n\t\t\t<height>70</height>\r\n\t\t</block>\r\n\t\t<block type=\"rightTop\">\r\n\t\t\t<left>100</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>70</width>\r\n\t\t\t<height>70</height>\r\n\t\t</block>\r\n\t\t<block type=\"right\">\r\n\t\t\t<left>100</left>\r\n\t\t\t<top>70</top>\r\n\t\t\t<width>70</width>\r\n\t\t\t<height>30</height>\r\n\t\t</block>\r\n\t\t<block type=\"rightBottom\">\r\n\t\t\t<left>100</left>\r\n\t\t\t<top>100</top>\r\n\t\t\t<width>70</width>\r\n\t\t\t<height>70</height>\r\n\t\t</block>\r\n\t\t<block type=\"bottom\">\r\n\t\t\t<left>70</left>\r\n\t\t\t<top>100</top>\r\n\t\t\t<width>30</width>\r\n\t\t\t<height>70</height>\r\n\t\t</block>\r\n\t\t<block type=\"leftBottom\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>100</top>\r\n\t\t\t<width>70</width>\r\n\t\t\t<height>70</height>\r\n\t\t</block>\r\n\t\t<block type=\"left\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>70</top>\r\n\t\t\t<width>70</width>\r\n\t\t\t<height>30</height>\r\n\t\t</block>\r\n\t</params>\r\n</Frame>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/50/503d1f813c4b3f792fefcfe3693e3482ea2dfd77.svn-base",
    "content": "<Effect name=\"Night\" type=\"Scenes\" id=\"162\">\r\n    <Allocation name=\"tableTexture\"/>\r\n\t\r\n    <BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(0, 4)(39, 103)(134, 223)(242, 255)</R>\r\n            <G>(0, 3)(31, 85)(68, 155)(131, 255)(219, 255)</G>\r\n            <B>(0, 3)(42, 110)(114, 207)(255, 255)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/51/51bbccc63169d80f42b31b3562188756e7faf856.svn-base",
    "content": "<Effect name=\"Portrait\" type=\"Scenes\" id=\"173\">\r\n    <Allocation name=\"tableTexture\"/>\r\n\t\r\n    <BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(9, 0)(49, 62)(124, 155)(218, 255)</R>\r\n            <G>(10, 0)(30, 33)(137, 169)(223, 255)</G>\r\n            <B>(10, 0)(37, 45)(96, 122)(150, 182)(221, 255)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/59/593c2912e1d6e6037ba4ece31b487feb1df3f601.svn-base",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n\n    <string name=\"app_name\">FotorSDKDemo</string>\n    <string name=\"action_settings\">Settings</string>\n    <string name=\"hello_world\">Hello world!</string>\n    <string name=\"photo_editor\">Photo Editor</string>\n    <string name=\"photo_editor_select_image\">Select an image</string>\n    <string name=\"photo_editor_process\">Edit sample image</string>\n\n</resources>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/60/60179bf9db929e9c2394ab9becc01b3dd3e9bed7.svn-base",
    "content": "<Effect name=\"Pittsburgh\" type=\"Analog\" id=\"11\">\r\n\t<Allocation name=\"tableTexture\"/>\r\n\t\r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(48, 56)(82, 129)(130, 206)(214, 255)</R>\r\n            <G>(7, 37)(64, 111)(140, 190)(232, 220)</G>\r\n            <B>(2, 97)(114, 153)(229, 172)</B>\r\n        </params>\r\n    </BaseFilter>\r\n\t\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/60/601d0f18449ea3e367c25c0633849c1a5cf4a39c.svn-base",
    "content": "<Effect name=\"Sunset\" type=\"Scenes\" id=\"164\">\r\n    <Allocation name=\"tableTexture\" />\r\n\t\r\n    <BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(33, 0)(70, 32)(146, 143)(185, 204)(255, 255)</R>\r\n            <G>(22, 0)(103, 71)(189, 219)(255, 252)</G>\r\n            <B>(10, 0)(54, 29)(93, 66)(205, 220)(255, 255)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/61/612b00017064ed21957aa415e9840fb677afae93.svn-base",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:baselineAligned=\"true\"\n    android:gravity=\"center_horizontal\"\n    android:orientation=\"vertical\" >\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"@dimen/title_background_height\"\n        android:background=\"@color/title_background\"\n        android:gravity=\"center\" >\n\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"@string/photo_editor\"\n            android:textSize=\"@dimen/title_text_size\" />\n    </LinearLayout>\n\n    <FrameLayout\n        android:id=\"@+id/image_container\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"0dip\"\n        android:layout_weight=\"1\"\n        android:background=\"@android:color/background_dark\"\n        android:gravity=\"center\"\n        android:padding=\"5dp\" >\n\n        <ImageView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center\"\n            android:src=\"@drawable/photo_editor_nophotos\" />\n\n        <ImageView\n            android:id=\"@+id/image\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"match_parent\"\n            android:scaleType=\"centerInside\" />\n    </FrameLayout>\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"@dimen/bottom_background_height\"\n        android:background=\"@color/title_background\"\n        android:gravity=\"center\"\n        android:orientation=\"horizontal\"\n        android:padding=\"0dip\" >\n\n        <Button\n            android:id=\"@+id/button_gallery\"\n            android:layout_width=\"0dip\"\n            android:layout_height=\"match_parent\"\n            android:layout_weight=\"1\"\n            android:background=\"@drawable/photo_editor_button_background\"\n            android:text=\"@string/photo_editor_select_image\"\n            android:textColor=\"@color/photo_editor_button_text_color\"\n            android:textSize=\"@dimen/bottom_button_text_size\" >\n        </Button>\n\n        <View\n            android:layout_width=\"1dip\"\n            android:layout_height=\"match_parent\"\n            android:background=\"#CC000000\" />\n\n        <Button\n            android:id=\"@+id/button2\"\n            android:layout_width=\"0dip\"\n            android:layout_height=\"match_parent\"\n            android:layout_weight=\"1\"\n            android:background=\"@drawable/photo_editor_button_background\"\n            android:enabled=\"false\"\n            android:text=\"@string/photo_editor_process\"\n            android:textColor=\"@color/photo_editor_button_text_color\"\n            android:textSize=\"@dimen/bottom_button_text_size\" >\n        </Button>\n    </LinearLayout>\n\n</LinearLayout>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/62/62791a9f1067cdb03c5d1028ae0891b663242ef6.svn-base",
    "content": "<Effect name=\"GlowGrayscale\" type=\"B/W\" id=\"28\">\r\n    <BaseFilter name=\"Level\">\r\n        <src>SRC</src>\r\n        <dst>TMP</dst>\r\n        <params>\r\n            <type>GetScale</type>\r\n            <dark>0.01</dark>\r\n            <light>0.15</light>\r\n            <saturation>0.0</saturation>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"Vignette\">\r\n        <src>TMP</src>\r\n        <dst>DST</dst>\r\n      \t<params>\r\n      \t    <mode>quadric</mode>\r\n      \t    <vignetteStart>0.0</vignetteStart>\r\n      \t    <vignetteRange>0.8</vignetteRange>\r\n      \t</params>\r\n    </BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/63/6367919ce43bfe92d5479523fec0a5680822c1ca.svn-base",
    "content": "package com.example.fotorsdkdemo;\n\nimport java.io.File;\n\nimport com.everimaging.fotorsdk.FotorConstants;\nimport com.everimaging.fotorsdk.FotorSDKActivity;\nimport com.everimaging.fotorsdk.FotorSDKVersion;\nimport com.everimaging.fotorsdk.FotorUtils;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns.Session;\nimport com.everimaging.fotorsdk.utils.BitmapDecodeUtils;\nimport com.everimaging.fotorsdk.utils.Utils;\nimport com.everimaging.fotorsdk.engine.FotorHDFilter;\nimport android.app.Activity;\nimport android.app.AlertDialog;\nimport android.app.ProgressDialog;\nimport android.content.Context;\nimport android.content.DialogInterface;\nimport android.content.DialogInterface.OnCancelListener;\nimport android.content.Intent;\nimport android.database.Cursor;\nimport android.graphics.Bitmap;\nimport android.graphics.drawable.BitmapDrawable;\nimport android.graphics.drawable.Drawable;\nimport android.media.MediaScannerConnection;\nimport android.net.Uri;\nimport android.os.AsyncTask;\nimport android.os.Bundle;\nimport android.os.Environment;\nimport android.provider.MediaStore.Images;\nimport android.provider.MediaStore.Images.ImageColumns;\nimport android.util.DisplayMetrics;\nimport android.util.Log;\nimport android.view.View;\nimport android.widget.Button;\nimport android.widget.ImageView;\nimport android.widget.TextView;\nimport android.widget.Toast;\n\n/**\n * Sample main activity\n * \n * @description\n * \n * @author <a href=\"mailto:zhangjiajun@everimaging.com\">John.Zhang</a>\n * @version 1.0\n * @create Apr 12, 2014 3:06:39 PM\n * @update Apr 12, 2014 3:06:39 PM\n */\npublic class MainActivity extends Activity {\n\n\tprivate static final int ACTION_REQUEST_FEATURE = 2;\n\n\tprivate static final int ACTION_REQUEST_GALLERY = 3;\n\n\tpublic static final String LOG_TAG = \"fotorsdk_demo\";\n\n\t/** Folder name on the sdcard where the images will be saved **/\n\n\tprivate static final String FOLDER_NAME = \"FotorSDK\";\n\n\t/** Edit sample button */\n\tButton mEditButton;\n\t/** Call gallery button */\n\tButton mGalleryButton;\n\t/** Display image view */\n\tImageView mImage;\n\t/** The path for output file */\n\tUri mOutputFilePath;\n\n\t/** Image uri for image editor */\n\tUri mImageUri;\n\t/** Display version label for DEBUG */\n\tprivate TextView mSDKVersionLabel;\n\n\t/** The sample image uri. */\n\tprivate Uri mSampleUri;\n\n\tprivate File mGalleryFolder;\n\n\t/** session id for the hi-res post processing */\n\tprivate String mSessionId;\n\n\t@Override\n\tprotected void onCreate(Bundle savedInstanceState) {\n\t\tLog.i(LOG_TAG, \"onCreate\");\n\t\tsuper.onCreate(savedInstanceState);\n\n\t\tsetContentView(R.layout.activity_main);\n\n\t\tmEditButton.setOnClickListener(new View.OnClickListener() {\n\n\t\t\t@Override\n\t\t\tpublic void onClick(View v) {\n\t\t\t\t// if (mImageUri != null) {\n\t\t\t\t// startFeature(mImageUri);\n\t\t\t\t// }\n\t\t\t\tif (mSampleUri != null) {\n\t\t\t\t\tstartFeature(mSampleUri);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tmGalleryButton.setOnClickListener(new View.OnClickListener() {\n\n\t\t\t@Override\n\t\t\tpublic void onClick(View v) {\n\t\t\t\tpickFromGallery();\n\t\t\t}\n\t\t});\n\n\t\tmGalleryFolder = createFolders();\n\n\t\t// add sample image\n\t\tmSampleUri = Uri.parse(\"file:///android_asset/sample.jpg\");\n\t\tloadAsync(mSampleUri);\n\n\t\tif (BuildConfig.DEBUG) {\n\t\t\tmSDKVersionLabel.setText(\"V\" + FotorSDKVersion.FOTOR_SDK_VERSION);\n\t\t}\n\n\t}\n\n\t/**\n\t * Start the activity to pick an image from the user gallery\n\t */\n\tprivate void pickFromGallery() {\n\t\tIntent intent = new Intent(Intent.ACTION_GET_CONTENT);\n\t\tintent.setType(\"image/*\");\n\n\t\tIntent chooser = Intent.createChooser(intent, \"Choose a Picture\");\n\t\tstartActivityForResult(chooser, ACTION_REQUEST_GALLERY);\n\n\t}\n\n\t@Override\n\tprotected void onResume() {\n\t\tLog.i(LOG_TAG, \"onResume\");\n\t\tsuper.onResume();\n\n\t\tif (getIntent() != null) {\n\t\t\thandleIntent(getIntent());\n\t\t\tsetIntent(new Intent());\n\t\t}\n\t}\n\n\t/**\n\t * Handle the incoming {@link Intent}\n\t */\n\tprivate void handleIntent(Intent intent) {\n\n\t\tString action = intent.getAction();\n\n\t\tif (null != action) {\n\n\t\t\tif (Intent.ACTION_SEND.equals(action)) {\n\n\t\t\t\tBundle extras = intent.getExtras();\n\t\t\t\tif (extras != null && extras.containsKey(Intent.EXTRA_STREAM)) {\n\t\t\t\t\tUri uri = (Uri) extras.get(Intent.EXTRA_STREAM);\n\t\t\t\t\tloadAsync(uri);\n\t\t\t\t}\n\t\t\t} else if (Intent.ACTION_VIEW.equals(action)) {\n\t\t\t\tUri data = intent.getData();\n\t\t\t\tLog.d(LOG_TAG, \"data: \" + data);\n\t\t\t\tloadAsync(data);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Load the incoming Image\n\t * \n\t * @param uri\n\t */\n\tprivate void loadAsync(final Uri uri) {\n\t\tLog.i(LOG_TAG, \"loadAsync: \" + uri);\n\n\t\tDrawable toRecycle = mImage.getDrawable();\n\t\tif (toRecycle != null && toRecycle instanceof BitmapDrawable) {\n\t\t\tif (((BitmapDrawable) mImage.getDrawable()).getBitmap() != null)\n\t\t\t\t((BitmapDrawable) mImage.getDrawable()).getBitmap().recycle();\n\t\t}\n\t\tmImage.setImageDrawable(null);\n\t\tmImageUri = null;\n\n\t\tDownloadAsync task = new DownloadAsync();\n\t\ttask.execute(uri);\n\t}\n\n\t@Override\n\tprotected void onDestroy() {\n\t\tLog.i(LOG_TAG, \"onDestroy\");\n\t\tsuper.onDestroy();\n\t\tmOutputFilePath = null;\n\t}\n\n\t@Override\n\tpublic void onContentChanged() {\n\t\tsuper.onContentChanged();\n\n\t\tSystem.out.println(\"context:\" + this.getPackageName());\n\n\t\tmEditButton = (Button) findViewById(R.id.button2);\n\n\t\tmGalleryButton = (Button) findViewById(R.id.button_gallery);\n\n\t\tmImage = (ImageView) findViewById(R.id.image);\n\n\t\tmSDKVersionLabel = (TextView) findViewById(R.id.fotor_sdk_version_label);\n\n\t}\n\n\t@Override\n\t/**\n\t * This method is called when feather has completed ( ie. user clicked on \"done\" or just exit the activity without saving ). <br />\n\t * If user clicked the \"done\" button you'll receive RESULT_OK as resultCode, RESULT_CANCELED otherwise.\n\t * \n\t * @param requestCode\n\t * \t- it is the code passed with startActivityForResult\n\t * @param resultCode\n\t * \t- result code of the activity launched ( it can be RESULT_OK or RESULT_CANCELED )\n\t * @param data\n\t * \t- the result data\n\t */\n\tpublic void onActivityResult(int requestCode, int resultCode, Intent data) {\n\t\tif (resultCode == RESULT_OK) {\n\t\t\tswitch (requestCode) {\n\t\t\tcase ACTION_REQUEST_FEATURE: {\n\n\t\t\t\tUri uri = data.getData();\n\t\t\t\tBitmap bitmap = BitmapDecodeUtils.decode(this, uri, 0, 0);\n\t\t\t\tsetImageURI(uri, bitmap);\n\t\t\t\tnew ProcessHDTask(this).execute();\n\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase ACTION_REQUEST_GALLERY: {\n\t\t\t\tUri uri = data.getData();\n\t\t\t\tloadAsync(uri);\n\t\t\t\tstartFeature(uri);\n\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t} else if (resultCode == RESULT_CANCELED) {\n\t\t\tswitch (requestCode) {\n\t\t\tcase ACTION_REQUEST_FEATURE:\n\t\t\t\tif (mSessionId != null)\n\t\t\t\t\tdeleteSession(mSessionId);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate String onSaveCompletion() {\n\n\t\tUri sessionUri = SessionColumns.getContentUri(this, mSessionId);\n\n\t\tCursor cursor = getContentResolver().query(sessionUri, null, null,\n\t\t\t\tnull, null);\n\n\t\tSession session = Session.create(cursor);\n\n\t\tif (session != null) {\n\t\t\tFotorHDFilter fotorHDFilter = new FotorHDFilter(this, session);\n\n\t\t\tfotorHDFilter.loadImage();\n\n\t\t\tfotorHDFilter.executeFilter();\n\n\t\t\tString dstPath = Utils.getSDPath() + \"/testOriginal.jpg\";\n\n\t\t\tfotorHDFilter.save(dstPath);\n\n\t\t\tfotorHDFilter.dispose();\n\t\t\tdeleteSession(mSessionId);\n\n\t\t\treturn dstPath;\n\t\t}\n\t\treturn null;\n\n\t}\n\n\tclass ProcessHDTask extends AsyncTask<Void, Void, String> {\n\t\tprivate ProgressDialog mDialog;\n\n\t\tprivate Context mContext;\n\n\t\tpublic ProcessHDTask(Context context) {\n\t\t\tthis.mContext = context;\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPreExecute() {\n\t\t\tmDialog = ProgressDialog.show(mContext, \"Process HD\",\n\t\t\t\t\t\"Please wait...\");\n\t\t}\n\n\t\t@Override\n\t\tprotected String doInBackground(Void... params) {\n\t\t\treturn onSaveCompletion();\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPostExecute(String result) {\n\t\t\tmDialog.dismiss();\n\n\t\t\tString msg = \"Process Error\";\n\t\t\tif (result != null) {\n\t\t\t\tmsg = result;\n\t\t\t}\n\n\t\t\tToast.makeText(mContext, msg, Toast.LENGTH_LONG).show();\n\t\t}\n\n\t}\n\n\t/**\n\t * Delete the session and all it's actions. We do not need it anymore.<br />\n\t * Note that this is optional. All old sessions are automatically removed in\n\t * Feather.\n\t * \n\t * @param session_id\n\t */\n\tprivate void deleteSession(final String session_id) {\n\t\tUri uri = FotorContentProvider.SessionColumns.getContentUri(this,\n\t\t\t\tsession_id);\n\t\tint count = getContentResolver().delete(uri, null, null);\n\t\tSystem.out.println(\"delete session count:\" + count);\n\t}\n\n\t/**\n\t * Given an Uri load the bitmap into the current ImageView and resize it to\n\t * fit the image container size\n\t * \n\t * @param uri\n\t */\n\t@SuppressWarnings(\"deprecation\")\n\tprivate boolean setImageURI(final Uri uri, final Bitmap bitmap) {\n\n\t\tLog.d(LOG_TAG,\n\t\t\t\t\"image size: \" + bitmap.getWidth() + \"x\" + bitmap.getHeight());\n\t\tmImage.setImageBitmap(bitmap);\n\t\tmImage.setBackgroundDrawable(null);\n\n\t\tmEditButton.setEnabled(true);\n\t\tmImageUri = uri;\n\t\treturn true;\n\t}\n\n\t/**\n\t * We need to notify the MediaScanner when a new file is created. In this\n\t * way all the gallery applications will be notified too.\n\t * \n\t * @param file\n\t */\n\tprivate void updateMedia(String filepath) {\n\t\tLog.i(LOG_TAG, \"updateMedia: \" + filepath);\n\t\tMediaScannerConnection.scanFile(getApplicationContext(),\n\t\t\t\tnew String[] { filepath }, null, null);\n\t}\n\n\t/**\n\t * Pick a random image from the user gallery\n\t * \n\t * @return\n\t */\n\t@SuppressWarnings(\"unused\")\n\tprivate Uri pickRandomImage() {\n\t\tCursor c = getContentResolver().query(\n\t\t\t\tImages.Media.EXTERNAL_CONTENT_URI,\n\t\t\t\tnew String[] { ImageColumns._ID, ImageColumns.DATA },\n\t\t\t\tImageColumns.SIZE + \">?\", new String[] { \"90000\" }, null);\n\t\tUri uri = null;\n\n\t\tif (c != null) {\n\t\t\tint total = c.getCount();\n\t\t\tint position = (int) (Math.random() * total);\n\t\t\tLog.d(LOG_TAG, \"pickRandomImage. total images: \" + total\n\t\t\t\t\t+ \", position: \" + position);\n\t\t\tif (total > 0) {\n\t\t\t\tif (c.moveToPosition(position)) {\n\t\t\t\t\tString data = c.getString(c\n\t\t\t\t\t\t\t.getColumnIndex(Images.ImageColumns.DATA));\n\t\t\t\t\tlong id = c.getLong(c\n\t\t\t\t\t\t\t.getColumnIndex(Images.ImageColumns._ID));\n\n\t\t\t\t\turi = Uri.parse(data);\n\n\t\t\t\t\tLog.d(LOG_TAG, uri.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t\tc.close();\n\t\t}\n\t\treturn uri;\n\t}\n\n\t/**\n\t * Return a new image file. Name is based on the current time. Parent folder\n\t * will be the one created with createFolders\n\t * \n\t * @return\n\t * @see #createFolders()\n\t */\n\tprivate File generateOutputFileName() {\n\t\tif (mGalleryFolder != null) {\n\t\t\tif (mGalleryFolder.exists()) {\n\t\t\t\tFile file = new File(mGalleryFolder, \"Fotor_\"\n\t\t\t\t\t\t+ System.currentTimeMillis() + \".jpg\");\n\t\t\t\treturn file;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\t/**\n\t * Once you've chosen an image you can start the feather activity\n\t * \n\t * @param uri\n\t */\n\tprivate void startFeature(Uri uri) {\n\n\t\tLog.d(LOG_TAG, \"uri: \" + uri);\n\n\t\t// first check the external storage availability\n\t\tif (!isExternalStorageAvilable()) {\n\t\t\tnew AlertDialog.Builder(this)\n\t\t\t\t\t.setTitle(android.R.string.dialog_alert_title)\n\t\t\t\t\t.setMessage(\"External Storage is not avilable\").show();\n\t\t\treturn;\n\t\t}\n\n\t\t// create a temporary file where to store the resulting image\n\t\tFile file = generateOutputFileName();\n\n\t\tif (null != file) {\n\t\t\tmOutputFilePath = Uri.fromFile(file);\n\t\t} else {\n\t\t\tnew AlertDialog.Builder(this)\n\t\t\t\t\t.setTitle(android.R.string.dialog_alert_title)\n\t\t\t\t\t.setMessage(\"Failed to create a new File\").show();\n\t\t\treturn;\n\t\t}\n\n\t\t// Create the intent needed to start feather\n\t\tIntent newIntent = new Intent(this, FotorSDKActivity.class);\n\n\t\t// === INPUT IMAGE URI ===\n\t\t// Set the source image uri\n\t\tnewIntent.setData(uri);\n\n\t\t// === OUTPUT ====\n\t\t// Optional\n\t\t// Pass the uri of the destination image file.\n\t\t// This will be the same uri you will receive in the onActivityResult\n\n\t\tSystem.out.println(\"mOutputFilePath->:\" + mOutputFilePath);\n\n\t\t// newIntent.putExtra(FotorConstants.EXTRA_OUTPUT_PATH,\n\t\t// mOutputFilePath);\n\n\t\t// === OUTPUT QUALITY ===\n\t\t// Optional\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_OUTPUT_QUALITY, 90);\n\n\t\t// === MAX SIZE ===\n\t\t// Optional\n\t\t// you can pass the maximum allowed image size (for the preview),\n\t\t// otherwise feather will determine\n\t\t// the max size based on the device informations.\n\t\t// This will not affect the hi-res image size.\n\t\t// Here we're passing the current display size as max image size because\n\t\t// after\n\t\t// the execution of Aviary we're saving the HI-RES image so we don't\n\t\t// need a big\n\t\t// image for the preview\n\t\tfinal DisplayMetrics metrics = new DisplayMetrics();\n\t\tgetWindowManager().getDefaultDisplay().getMetrics(metrics);\n\n\t\tint max_size = Math.max(metrics.widthPixels, metrics.heightPixels);\n\n\t\tmax_size = (int) ((float) max_size / 1.4f);\n\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_MAX_PREVIEW_SIZE, max_size);\n\n\t\tmSessionId = FotorUtils.generateSessionId(this);\n\n\t\tgetContentResolver().delete(\n\t\t\t\tSessionColumns.getContentUri(this, mSessionId), null, null);\n\n\t\tLog.d(LOG_TAG,\n\t\t\t\t\"session: \" + mSessionId + \", size: \" + mSessionId.length());\n\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_FOTOR_SESSION_ID, mSessionId);\n\n\t\t// // === FEATURE LIST ===\n\n\t\t// newIntent.putExtra(FotorConstants.EXTRA_FEATURE_LIST, new String[] {\n\t\t// FotorFeaturesFactory.FeatureType.FX_EFFECTS.name(),\n\t\t// FotorFeaturesFactory.FeatureType.BORDER.name() });\n\n\t\t// Whether hide confirm dialog when user not saved the was changed\n\t\t// bitmap\n\t\t// This default value will show\n\t\t// newIntent.putExtra(FotorConstants.EXTRA_HIDE_DISCARD_ALERT, false);\n\n\t\t// Whether input image no changes,were made to the image.\n\t\t// newIntent.putExtra(FotorConstants.EXTRA_SAVE_ON_NO_CHANGES, true);\n\n\t\t// start feather\n\t\tstartActivityForResult(newIntent, ACTION_REQUEST_FEATURE);\n\t}\n\n\t/**\n\t * Check the external storage status\n\t * \n\t * @return\n\t */\n\tprivate boolean isExternalStorageAvilable() {\n\t\tString state = Environment.getExternalStorageState();\n\t\tif (Environment.MEDIA_MOUNTED.equals(state)) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Try to create the required folder on the sdcard where images will be\n\t * saved to.\n\t * \n\t * @return\n\t */\n\tprivate File createFolders() {\n\n\t\tFile baseDir;\n\n\t\tif (android.os.Build.VERSION.SDK_INT < 8) {\n\t\t\tbaseDir = Environment.getExternalStorageDirectory();\n\t\t} else {\n\t\t\tbaseDir = Environment\n\t\t\t\t\t.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);\n\t\t}\n\n\t\tif (baseDir == null)\n\t\t\treturn Environment.getExternalStorageDirectory();\n\n\t\tLog.d(LOG_TAG, \"Pictures folder: \" + baseDir.getAbsolutePath());\n\t\tFile fotorSDKFolder = new File(baseDir, FOLDER_NAME);\n\n\t\tif (fotorSDKFolder.exists())\n\t\t\treturn fotorSDKFolder;\n\t\tif (fotorSDKFolder.mkdirs())\n\t\t\treturn fotorSDKFolder;\n\n\t\treturn Environment.getExternalStorageDirectory();\n\t}\n\n\tclass DownloadAsync extends AsyncTask<Uri, Void, Bitmap> implements\n\t\t\tOnCancelListener {\n\n\t\tProgressDialog mProgress;\n\t\tprivate Uri mUri;\n\n\t\t@Override\n\t\tprotected void onPreExecute() {\n\t\t\tsuper.onPreExecute();\n\n\t\t\tmProgress = new ProgressDialog(MainActivity.this);\n\t\t\tmProgress.setIndeterminate(true);\n\t\t\tmProgress.setCancelable(true);\n\t\t\tmProgress.setMessage(\"Loading image...\");\n\t\t\tmProgress.setOnCancelListener(this);\n\t\t\tmProgress.show();\n\t\t}\n\n\t\t@Override\n\t\tprotected Bitmap doInBackground(Uri... params) {\n\t\t\tmUri = params[0];\n\n\t\t\tDisplayMetrics displayMetrics = getResources().getDisplayMetrics();\n\n\t\t\tint maxW = (int) displayMetrics.widthPixels;\n\t\t\tint maxH = (int) displayMetrics.heightPixels;\n\n\t\t\tBitmap bitmap = BitmapDecodeUtils.decode(getApplicationContext(),\n\t\t\t\t\tmUri, maxW, maxH);\n\t\t\treturn bitmap;\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPostExecute(Bitmap result) {\n\t\t\tsuper.onPostExecute(result);\n\n\t\t\tif (mProgress.getWindow() != null) {\n\t\t\t\tmProgress.dismiss();\n\t\t\t}\n\n\t\t\tif (result != null) {\n\t\t\t\tsetImageURI(mUri, result);\n\t\t\t} else {\n\t\t\t\tToast.makeText(MainActivity.this,\n\t\t\t\t\t\t\"Failed to load image \" + mUri, Toast.LENGTH_SHORT)\n\t\t\t\t\t\t.show();\n\t\t\t}\n\t\t}\n\n\t\t@Override\n\t\tpublic void onCancel(DialogInterface dialog) {\n\t\t\tLog.i(LOG_TAG, \"onProgressCancel\");\n\t\t\tthis.cancel(true);\n\t\t}\n\n\t\t@Override\n\t\tprotected void onCancelled() {\n\t\t\tsuper.onCancelled();\n\t\t\tLog.i(LOG_TAG, \"onCancelled\");\n\t\t}\n\n\t}\n}\n"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/66/6697aafe3ac76941b99f9c07c26a770eb1b266df.svn-base",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <item android:state_focused=\"true\" android:state_pressed=\"true\" android:color=\"@color/bottom_button_background_pressed_color\"/>\n    <item android:state_pressed=\"true\" android:color=\"@color/bottom_button_background_pressed_color\"/>\n    <item android:state_enabled=\"false\" android:color=\"@color/bottom_button_background_disable_color\"/>\n    <item android:state_selected=\"true\" android:color=\"@color/bottom_button_background_pressed_color\"/>\n    <item android:color=\"@color/bottom_button_background_default_color\"/>\n\n</selector>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/68/68431f32b8d9d7f351e3590a2e8101e9b8d4c84f.svn-base",
    "content": "<Effect name=\"Fluorescent\" type=\"Scenes\" id=\"165\">\r\n    <Allocation name=\"tableTexture\"/>\r\n\t\r\n    <BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(4, 4)(38, 38)(146, 146)(201, 202)(255, 255)</R>\r\n            <G>(0, 0)(80, 74)(192, 187)(255, 255)</G>\r\n            <B>(0, 0)(58, 58)(183, 184)(255, 255)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/68/68bcd275b049a2bb1d5cd85ca80e93beee19f2f1.svn-base",
    "content": "<Effect name=\"Hot Fudge\" type=\"Analog\" id=\"78\">\r\n\t<Allocation name=\"tableTexture1\"/>\r\n\t<Allocation name=\"tableTexture2\"/>\r\n\t<Allocation name=\"dst_a\"/>\r\n\t<Allocation name=\"dst_b\"/>\r\n\t<Allocation name=\"specialAlphaTexture\">\r\n\t\t<file>vtg.png</file>\r\n\t</Allocation>\r\n\t\r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture1</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(16, 25)(59, 77)(101, 143)(173, 211)(255, 237)</R>\r\n            <G>(24, 7)(85, 73)(124, 149)(185, 207)(249, 229)</G>\r\n            <B>(30, 7)(105, 78)(150, 148)(200, 193)(255, 204)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture2</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(16, 40)(52, 111)(124, 194)(172, 224)(231, 252)</R>\r\n            <G>(19, 5)(71, 84)(110, 145)(167, 212)(222, 250)</G>\r\n            <B>(21, 4)(67, 50)(143, 167)(237, 228)</B>\r\n        </params>\r\n    </BaseFilter>\r\n\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<tableTexture>tableTexture1</tableTexture>\r\n\t\t<dst>dst_a</dst>\r\n\t</BaseFilter>\r\n\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<tableTexture>tableTexture2</tableTexture>\r\n\t\t<dst>dst_b</dst>\r\n\t</BaseFilter>\r\n\r\n\t<BaseFilter name=\"SpecialTrans\">\r\n\t\t<src>dst_a</src>\r\n\t\t<dst>dst_b</dst>\r\n\t\t<tex>specialAlphaTexture</tex>\r\n\t</BaseFilter>\r\n\r\n\t<Out DST=\"dst_b\"/>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/70/7068771eeeda8df42bcb7520bc3f53472f83f0bb.svn-base",
    "content": "package com.example.fotorsdkdemo;\n\nimport java.io.File;\n\nimport com.everimaging.fotorsdk.FotorConstants;\nimport com.everimaging.fotorsdk.FotorSDKActivity;\nimport com.everimaging.fotorsdk.FotorUtils;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider.ActionsColumns.Action;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider.ActionsColumns;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns.Session;\nimport com.everimaging.fotorsdk.utils.BitmapDecodeUtils;\nimport com.everimaging.fotorsdk.utils.Utils;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\nimport com.everimaging.fotorsdk.engine.FotorHDFilter;\n\nimport android.app.Activity;\nimport android.app.AlertDialog;\nimport android.app.ProgressDialog;\nimport android.content.Context;\nimport android.content.DialogInterface;\nimport android.content.DialogInterface.OnCancelListener;\nimport android.content.Intent;\nimport android.database.Cursor;\nimport android.graphics.Bitmap;\nimport android.graphics.drawable.BitmapDrawable;\nimport android.graphics.drawable.Drawable;\nimport android.media.MediaScannerConnection;\nimport android.net.Uri;\nimport android.os.AsyncTask;\nimport android.os.Bundle;\nimport android.os.Environment;\nimport android.provider.MediaStore.Images;\nimport android.provider.MediaStore.Images.ImageColumns;\nimport android.util.DisplayMetrics;\nimport android.util.Log;\nimport android.view.View;\nimport android.view.View.OnLongClickListener;\nimport android.widget.Button;\nimport android.widget.ImageView;\nimport android.widget.Toast;\n\npublic class MainActivity extends Activity {\n\n\tprivate static final int ACTION_REQUEST_FEATURE = 2;\n\n\tprivate static final int ACTION_REQUEST_GALLERY = 3;\n\n\tprivate static final int EXTERNAL_STORAGE_UNAVAILABLE = 1;\n\n\tpublic static final String LOG_TAG = \"fotorsdk_demo\";\n\n\t/** Folder name on the sdcard where the images will be saved **/\n\n\tprivate static final String FOLDER_NAME = \"FotorSDK\";\n\n\tButton mEditButton;\n\tButton mGalleryButton;\n\tImageView mImage;\n\tString mOutputFilePath;\n\tUri mImageUri;\n\n\tprivate Uri mSampleUri;\n\n\tprivate File mGalleryFolder;\n\n\t/** session id for the hi-res post processing */\n\tprivate String mSessionId;\n\n\t@Override\n\tprotected void onCreate(Bundle savedInstanceState) {\n\t\tLog.i(LOG_TAG, \"onCreate\");\n\t\tsuper.onCreate(savedInstanceState);\n\n\t\tsetContentView(R.layout.activity_main);\n\n\t\tmEditButton.setOnClickListener(new View.OnClickListener() {\n\n\t\t\t@Override\n\t\t\tpublic void onClick(View v) {\n\t\t\t\tif (mImageUri != null) {\n\t\t\t\t\tstartFeature(mImageUri);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tmGalleryButton.setOnClickListener(new View.OnClickListener() {\n\n\t\t\t@Override\n\t\t\tpublic void onClick(View v) {\n\t\t\t\tpickFromGallery();\n\t\t\t}\n\t\t});\n\n\t\tmGalleryFolder = createFolders();\n\n\t\t// add sample image\n\t\tmSampleUri = Uri.parse(\"file:///android_asset/sample.jpg\");\n\t\tloadAsync(mSampleUri);\n\t}\n\n\t/**\n\t * Start the activity to pick an image from the user gallery\n\t */\n\tprivate void pickFromGallery() {\n\t\tIntent intent = new Intent(Intent.ACTION_GET_CONTENT);\n\t\tintent.setType(\"image/*\");\n\n\t\tIntent chooser = Intent.createChooser(intent, \"Choose a Picture\");\n\t\tstartActivityForResult(chooser, ACTION_REQUEST_GALLERY);\n\t}\n\n\t@Override\n\tprotected void onResume() {\n\t\tLog.i(LOG_TAG, \"onResume\");\n\t\tsuper.onResume();\n\n\t\tif (getIntent() != null) {\n\t\t\thandleIntent(getIntent());\n\t\t\tsetIntent(new Intent());\n\t\t}\n\t}\n\n\t/**\n\t * Handle the incoming {@link Intent}\n\t */\n\tprivate void handleIntent(Intent intent) {\n\n\t\tString action = intent.getAction();\n\n\t\tif (null != action) {\n\n\t\t\tif (Intent.ACTION_SEND.equals(action)) {\n\n\t\t\t\tBundle extras = intent.getExtras();\n\t\t\t\tif (extras != null && extras.containsKey(Intent.EXTRA_STREAM)) {\n\t\t\t\t\tUri uri = (Uri) extras.get(Intent.EXTRA_STREAM);\n\t\t\t\t\tloadAsync(uri);\n\t\t\t\t}\n\t\t\t} else if (Intent.ACTION_VIEW.equals(action)) {\n\t\t\t\tUri data = intent.getData();\n\t\t\t\tLog.d(LOG_TAG, \"data: \" + data);\n\t\t\t\tloadAsync(data);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Load the incoming Image\n\t * \n\t * @param uri\n\t */\n\tprivate void loadAsync(final Uri uri) {\n\t\tLog.i(LOG_TAG, \"loadAsync: \" + uri);\n\n\t\tDrawable toRecycle = mImage.getDrawable();\n\t\tif (toRecycle != null && toRecycle instanceof BitmapDrawable) {\n\t\t\tif (((BitmapDrawable) mImage.getDrawable()).getBitmap() != null)\n\t\t\t\t((BitmapDrawable) mImage.getDrawable()).getBitmap().recycle();\n\t\t}\n\t\tmImage.setImageDrawable(null);\n\t\tmImageUri = null;\n\n\t\tDownloadAsync task = new DownloadAsync();\n\t\ttask.execute(uri);\n\t}\n\n\t@Override\n\tprotected void onDestroy() {\n\t\tLog.i(LOG_TAG, \"onDestroy\");\n\t\tsuper.onDestroy();\n\t\tmOutputFilePath = null;\n\t}\n\n\t@Override\n\tpublic void onContentChanged() {\n\t\tsuper.onContentChanged();\n\n\t\tSystem.out.println(\"context:\" + this.getPackageName());\n\n\t\tmEditButton = (Button) findViewById(R.id.button2);\n\n\t\tmGalleryButton = (Button) findViewById(R.id.button_gallery);\n\n\t\tmImage = (ImageView) findViewById(R.id.image);\n\n\t}\n\n\t@Override\n\t/**\n\t * This method is called when feather has completed ( ie. user clicked on \"done\" or just exit the activity without saving ). <br />\n\t * If user clicked the \"done\" button you'll receive RESULT_OK as resultCode, RESULT_CANCELED otherwise.\n\t * \n\t * @param requestCode\n\t * \t- it is the code passed with startActivityForResult\n\t * @param resultCode\n\t * \t- result code of the activity launched ( it can be RESULT_OK or RESULT_CANCELED )\n\t * @param data\n\t * \t- the result data\n\t */\n\tpublic void onActivityResult(int requestCode, int resultCode, Intent data) {\n\t\tif (resultCode == RESULT_OK) {\n\t\t\tswitch (requestCode) {\n\t\t\tcase ACTION_REQUEST_FEATURE: {\n\n\t\t\t\tUri uri = Uri.parse(mOutputFilePath);\n\t\t\t\tBitmap bitmap = BitmapDecodeUtils.decodeFile(mOutputFilePath);\n\t\t\t\tsetImageURI(uri, bitmap);\n\t\t\t\tnew ProcessHDTask(this).execute();\n\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase ACTION_REQUEST_GALLERY: {\n\t\t\t\tUri uri = data.getData();\n\t\t\t\tloadAsync(uri);\n\t\t\t\tstartFeature(uri);\n\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t} else if (resultCode == RESULT_CANCELED) {\n\t\t\tswitch (requestCode) {\n\t\t\tcase ACTION_REQUEST_FEATURE:\n\t\t\t\tif (mSessionId != null)\n\t\t\t\t\tdeleteSession(mSessionId);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate String onSaveCompletion() {\n\n\t\tCursor cursor = getContentResolver().query(\n\t\t\t\tActionsColumns.getContentUri(this, mSessionId), null, null,\n\t\t\t\tnull, null);\n\t\tif (cursor != null && cursor.getCount() > 0) {\n\t\t\tList<Action> actions = new ArrayList<FotorContentProvider.ActionsColumns.Action>();\n\t\t\twhile (cursor.moveToNext()) {\n\t\t\t\tAction action = Action.create(cursor);\n\t\t\t\tSystem.out.println(\"action:\" + action);\n\t\t\t\tactions.add(action);\n\t\t\t}\n\t\t\tcursor.close();\n\t\t} else {\n\t\t\tSystem.out.println(\"cursor doesn't have datas.\");\n\t\t}\n\n\t\tCursor cursor2 = getContentResolver().query(\n\t\t\t\tSessionColumns.getContentUri(this, mSessionId), null, null,\n\t\t\t\tnull, null);\n\n\t\tSession session = Session.create(cursor2);\n\n\t\tif (session != null) {\n\t\t\tFotorHDFilter fotorHDFilter = new FotorHDFilter(this, mSessionId);\n\n\t\t\tfotorHDFilter.loadImage(session.file_name);\n\n\t\t\tfotorHDFilter.executeFilter();\n\n\t\t\tString dstPath = Utils.getSDPath() + \"/testOriginal.jpg\";\n\n\t\t\tfotorHDFilter.save(dstPath);\n\n\t\t\tfotorHDFilter.dispose();\n\t\t\tdeleteSession(mSessionId);\n\n\t\t\treturn dstPath;\n\t\t}\n\t\treturn null;\n\n\t}\n\n\tclass ProcessHDTask extends AsyncTask<Void, Void, String> {\n\t\tprivate ProgressDialog mDialog;\n\n\t\tprivate Context mContext;\n\n\t\tpublic ProcessHDTask(Context context) {\n\t\t\tthis.mContext = context;\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPreExecute() {\n\t\t\tmDialog = ProgressDialog.show(mContext, \"Process HD\",\n\t\t\t\t\t\"Please wait...\");\n\t\t}\n\n\t\t@Override\n\t\tprotected String doInBackground(Void... params) {\n\t\t\treturn onSaveCompletion();\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPostExecute(String result) {\n\t\t\tmDialog.dismiss();\n\n\t\t\tString msg = \"Process Error\";\n\t\t\tif (result != null) {\n\t\t\t\tmsg = result;\n\t\t\t}\n\n\t\t\tToast.makeText(mContext, msg, Toast.LENGTH_LONG).show();\n\t\t}\n\n\t}\n\n\t/**\n\t * Delete the session and all it's actions. We do not need it anymore.<br />\n\t * Note that this is optional. All old sessions are automatically removed in\n\t * Feather.\n\t * \n\t * @param session_id\n\t */\n\tprivate void deleteSession(final String session_id) {\n\t\tUri uri = FotorContentProvider.SessionColumns.getContentUri(this,\n\t\t\t\tsession_id);\n\t\tint count = getContentResolver().delete(uri, null, null);\n\t\tSystem.out.println(\"delete session count:\" + count);\n\t}\n\n\t/**\n\t * Given an Uri load the bitmap into the current ImageView and resize it to\n\t * fit the image container size\n\t * \n\t * @param uri\n\t */\n\t@SuppressWarnings(\"deprecation\")\n\tprivate boolean setImageURI(final Uri uri, final Bitmap bitmap) {\n\n\t\tLog.d(LOG_TAG,\n\t\t\t\t\"image size: \" + bitmap.getWidth() + \"x\" + bitmap.getHeight());\n\t\tmImage.setImageBitmap(bitmap);\n\t\tmImage.setBackgroundDrawable(null);\n\n\t\tmEditButton.setEnabled(true);\n\t\tmImageUri = uri;\n\t\treturn true;\n\t}\n\n\t/**\n\t * We need to notify the MediaScanner when a new file is created. In this\n\t * way all the gallery applications will be notified too.\n\t * \n\t * @param file\n\t */\n\tprivate void updateMedia(String filepath) {\n\t\tLog.i(LOG_TAG, \"updateMedia: \" + filepath);\n\t\tMediaScannerConnection.scanFile(getApplicationContext(),\n\t\t\t\tnew String[] { filepath }, null, null);\n\t}\n\n\t/**\n\t * Pick a random image from the user gallery\n\t * \n\t * @return\n\t */\n\t@SuppressWarnings(\"unused\")\n\tprivate Uri pickRandomImage() {\n\t\tCursor c = getContentResolver().query(\n\t\t\t\tImages.Media.EXTERNAL_CONTENT_URI,\n\t\t\t\tnew String[] { ImageColumns._ID, ImageColumns.DATA },\n\t\t\t\tImageColumns.SIZE + \">?\", new String[] { \"90000\" }, null);\n\t\tUri uri = null;\n\n\t\tif (c != null) {\n\t\t\tint total = c.getCount();\n\t\t\tint position = (int) (Math.random() * total);\n\t\t\tLog.d(LOG_TAG, \"pickRandomImage. total images: \" + total\n\t\t\t\t\t+ \", position: \" + position);\n\t\t\tif (total > 0) {\n\t\t\t\tif (c.moveToPosition(position)) {\n\t\t\t\t\tString data = c.getString(c\n\t\t\t\t\t\t\t.getColumnIndex(Images.ImageColumns.DATA));\n\t\t\t\t\tlong id = c.getLong(c\n\t\t\t\t\t\t\t.getColumnIndex(Images.ImageColumns._ID));\n\n\t\t\t\t\turi = Uri.parse(data);\n\n\t\t\t\t\tLog.d(LOG_TAG, uri.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t\tc.close();\n\t\t}\n\t\treturn uri;\n\t}\n\n\t/**\n\t * Return a new image file. Name is based on the current time. Parent folder\n\t * will be the one created with createFolders\n\t * \n\t * @return\n\t * @see #createFolders()\n\t */\n\tprivate File generateOutputFileName() {\n\t\tif (mGalleryFolder != null) {\n\t\t\tif (mGalleryFolder.exists()) {\n\t\t\t\tFile file = new File(mGalleryFolder, \"Fotor_\"\n\t\t\t\t\t\t+ System.currentTimeMillis() + \".jpg\");\n\t\t\t\treturn file;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\t/**\n\t * Once you've chosen an image you can start the feather activity\n\t * \n\t * @param uri\n\t */\n\t@SuppressWarnings(\"deprecation\")\n\tprivate void startFeature(Uri uri) {\n\n\t\tLog.d(LOG_TAG, \"uri: \" + uri);\n\n\t\t// first check the external storage availability\n\t\tif (!isExternalStorageAvilable()) {\n\t\t\tshowDialog(EXTERNAL_STORAGE_UNAVAILABLE);\n\t\t\treturn;\n\t\t}\n\n\t\t// create a temporary file where to store the resulting image\n\t\tFile file = generateOutputFileName();\n\n\t\tif (null != file) {\n\t\t\tmOutputFilePath = file.getAbsolutePath();\n\t\t} else {\n\t\t\tnew AlertDialog.Builder(this)\n\t\t\t\t\t.setTitle(android.R.string.dialog_alert_title)\n\t\t\t\t\t.setMessage(\"Failed to create a new File\").show();\n\t\t\treturn;\n\t\t}\n\n\t\t// Create the intent needed to start feather\n\t\tIntent newIntent = new Intent(this, FotorSDKActivity.class);\n\n\t\t// === INPUT IMAGE URI ===\n\t\t// Set the source image uri\n\t\tnewIntent.setData(uri);\n\n\t\t// === OUTPUT ====\n\t\t// Optional\n\t\t// Pass the uri of the destination image file.\n\t\t// This will be the same uri you will receive in the onActivityResult\n\n\t\tSystem.out.println(\"mOutputFilePath->:\" + mOutputFilePath);\n\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_OUTPUT_PATH, mOutputFilePath);\n\n\t\t// === OUTPUT QUALITY ===\n\t\t// Optional\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_OUTPUT_QUALITY, 90);\n\n\t\t// === MAX SIZE ===\n\t\t// Optional\n\t\t// you can pass the maximum allowed image size (for the preview),\n\t\t// otherwise feather will determine\n\t\t// the max size based on the device informations.\n\t\t// This will not affect the hi-res image size.\n\t\t// Here we're passing the current display size as max image size because\n\t\t// after\n\t\t// the execution of Aviary we're saving the HI-RES image so we don't\n\t\t// need a big\n\t\t// image for the preview\n\t\tfinal DisplayMetrics metrics = new DisplayMetrics();\n\t\tgetWindowManager().getDefaultDisplay().getMetrics(metrics);\n\n\t\tint max_size = Math.max(metrics.widthPixels, metrics.heightPixels);\n\n\t\tmax_size = (int) ((float) max_size / 1.4f);\n\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_MAX_PREVIEW_SIZE, max_size);\n\n\t\tmSessionId = FotorUtils.generateSessionId(this);\n\n\t\tgetContentResolver().delete(\n\t\t\t\tSessionColumns.getContentUri(this, mSessionId), null, null);\n\n\t\tLog.d(LOG_TAG,\n\t\t\t\t\"session: \" + mSessionId + \", size: \" + mSessionId.length());\n\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_FOTOR_SESSION_ID, mSessionId);\n\n\t\t// === FEATURE LIST ===\n\n\t\t// newIntent.putExtra(FotorConstants.EXTRA_FEATURE_LIST, new String[] {\n\t\t// FotorFeaturesFactory.FeatureType.FX_EFFECTS.name(),\n\t\t// FotorFeaturesFactory.FeatureType.BORDER.name() });\n\n\t\t// start feather\n\t\tstartActivityForResult(newIntent, ACTION_REQUEST_FEATURE);\n\t}\n\n\t/**\n\t * Check the external storage status\n\t * \n\t * @return\n\t */\n\tprivate boolean isExternalStorageAvilable() {\n\t\tString state = Environment.getExternalStorageState();\n\t\tif (Environment.MEDIA_MOUNTED.equals(state)) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Try to create the required folder on the sdcard where images will be\n\t * saved to.\n\t * \n\t * @return\n\t */\n\tprivate File createFolders() {\n\n\t\tFile baseDir;\n\n\t\tif (android.os.Build.VERSION.SDK_INT < 8) {\n\t\t\tbaseDir = Environment.getExternalStorageDirectory();\n\t\t} else {\n\t\t\tbaseDir = Environment\n\t\t\t\t\t.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);\n\t\t}\n\n\t\tif (baseDir == null)\n\t\t\treturn Environment.getExternalStorageDirectory();\n\n\t\tLog.d(LOG_TAG, \"Pictures folder: \" + baseDir.getAbsolutePath());\n\t\tFile fotorSDKFolder = new File(baseDir, FOLDER_NAME);\n\n\t\tif (fotorSDKFolder.exists())\n\t\t\treturn fotorSDKFolder;\n\t\tif (fotorSDKFolder.mkdirs())\n\t\t\treturn fotorSDKFolder;\n\n\t\treturn Environment.getExternalStorageDirectory();\n\t}\n\n\tclass DownloadAsync extends AsyncTask<Uri, Void, Bitmap> implements\n\t\t\tOnCancelListener {\n\n\t\tProgressDialog mProgress;\n\t\tprivate Uri mUri;\n\n\t\t@Override\n\t\tprotected void onPreExecute() {\n\t\t\tsuper.onPreExecute();\n\n\t\t\tmProgress = new ProgressDialog(MainActivity.this);\n\t\t\tmProgress.setIndeterminate(true);\n\t\t\tmProgress.setCancelable(true);\n\t\t\tmProgress.setMessage(\"Loading image...\");\n\t\t\tmProgress.setOnCancelListener(this);\n\t\t\tmProgress.show();\n\t\t}\n\n\t\t@Override\n\t\tprotected Bitmap doInBackground(Uri... params) {\n\t\t\tmUri = params[0];\n\n\t\t\tDisplayMetrics displayMetrics = getResources().getDisplayMetrics();\n\n\t\t\tint maxW = (int) (displayMetrics.widthPixels / 1.5);\n\t\t\tint maxH = (int) (displayMetrics.heightPixels / 1.5);\n\n\t\t\tBitmap bitmap = BitmapDecodeUtils.decode(getApplicationContext(),\n\t\t\t\t\tmUri, maxW, maxH);\n\t\t\treturn bitmap;\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPostExecute(Bitmap result) {\n\t\t\tsuper.onPostExecute(result);\n\n\t\t\tif (mProgress.getWindow() != null) {\n\t\t\t\tmProgress.dismiss();\n\t\t\t}\n\n\t\t\tif (result != null) {\n\t\t\t\tsetImageURI(mUri, result);\n\t\t\t} else {\n\t\t\t\tToast.makeText(MainActivity.this,\n\t\t\t\t\t\t\"Failed to load image \" + mUri, Toast.LENGTH_SHORT)\n\t\t\t\t\t\t.show();\n\t\t\t}\n\t\t}\n\n\t\t@Override\n\t\tpublic void onCancel(DialogInterface dialog) {\n\t\t\tLog.i(LOG_TAG, \"onProgressCancel\");\n\t\t\tthis.cancel(true);\n\t\t}\n\n\t\t@Override\n\t\tprotected void onCancelled() {\n\t\t\tsuper.onCancelled();\n\t\t\tLog.i(LOG_TAG, \"onCancelled\");\n\t\t}\n\n\t}\n}\n"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/73/73aeadd07a4bf19a75548d38c69e16ad772cc336.svn-base",
    "content": "<Effect name=\"Sunset\" type=\"Vintage\" id=\"6\">\r\n    <Allocation name=\"tableTexture\"/>\r\n    \r\n    <BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(0, 0)(69, 63)(105, 138)(151, 222)(255, 255)</R>\r\n            <G>(0, 0)(67, 51)(135, 191)(255, 255)</G>\r\n            <B>(0, 0)(86, 76)(150, 212)(255, 255)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"TableTexture\">\r\n        <src>SRC</src>\r\n        <dst>DST</dst>\r\n        <tableTexture>tableTexture</tableTexture>\r\n    </BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/73/73b168548249c4b9413f7457a66ba5b03df649bd.svn-base",
    "content": "<Effect name=\"Virginia\" type=\"Vintage\" id=\"109\">\r\n    <Allocation name=\"level\"/>\r\n    <Allocation name=\"tableTexture\"/>\r\n    \r\n    <BaseFilter name=\"Level\">\r\n        <src>SRC</src>\r\n        <dst>level</dst>\r\n        <params>\r\n            <type>GetScale</type>\r\n            <dark>0.01</dark>\r\n            <light>0.01</light>\r\n            <saturation>1.3</saturation>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"Vignette\">\r\n        <src>level</src>\r\n        <dst>TMP</dst>\r\n        <params>\r\n            <mode>quadric</mode>\r\n            <vignetteStart>0.0</vignetteStart>\r\n            <vignetteRange>1.0</vignetteRange>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"Curve\">\r\n       <tableTexture>tableTexture</tableTexture>\r\n       <params>\r\n           <mode>texturing</mode>\r\n           <R>(0, 31)(106, 121)(255, 196)</R>\r\n           <G>(0, 11)(64, 95)(132, 140)(255, 229)</G>\r\n           <B>(0, 0)(157, 156)(255, 210)</B>\r\n       </params>\r\n   </BaseFilter>\r\n    \r\n    <BaseFilter name=\"TableTexture\">\r\n        <src>TMP</src>\r\n        <dst>DST</dst>\r\n        <tableTexture>tableTexture</tableTexture>\r\n    </BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/73/73d74fd28b870be544e505b67990814bf8cfeeeb.svn-base",
    "content": "package com.example.fotorsdkdemo;\n\nimport java.io.File;\n\nimport com.everimaging.fotorsdk.FotorConstants;\nimport com.everimaging.fotorsdk.FotorSDKActivity;\nimport com.everimaging.fotorsdk.FotorSDKVersion;\nimport com.everimaging.fotorsdk.FotorUtils;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns.Session;\nimport com.everimaging.fotorsdk.utils.BitmapDecodeUtils;\nimport com.everimaging.fotorsdk.utils.Utils;\nimport com.everimaging.fotorsdk.engine.FotorHDFilter;\nimport android.app.Activity;\nimport android.app.AlertDialog;\nimport android.app.ProgressDialog;\nimport android.content.Context;\nimport android.content.DialogInterface;\nimport android.content.DialogInterface.OnCancelListener;\nimport android.content.Intent;\nimport android.database.Cursor;\nimport android.graphics.Bitmap;\nimport android.graphics.drawable.BitmapDrawable;\nimport android.graphics.drawable.Drawable;\nimport android.media.MediaScannerConnection;\nimport android.net.Uri;\nimport android.os.AsyncTask;\nimport android.os.Bundle;\nimport android.os.Environment;\nimport android.provider.MediaStore.Images;\nimport android.provider.MediaStore.Images.ImageColumns;\nimport android.util.DisplayMetrics;\nimport android.util.Log;\nimport android.view.View;\nimport android.widget.Button;\nimport android.widget.ImageView;\nimport android.widget.TextView;\nimport android.widget.Toast;\n\n/**\n * Sample main activity\n * \n * @description\n * \n * @author <a href=\"mailto:zhangjiajun@everimaging.com\">John.Zhang</a>\n * @version 1.0\n * @create Apr 12, 2014 3:06:39 PM\n * @update Apr 12, 2014 3:06:39 PM\n */\npublic class MainActivity extends Activity {\n\n\tprivate static final int ACTION_REQUEST_FEATURE = 2;\n\n\tprivate static final int ACTION_REQUEST_GALLERY = 3;\n\n\tpublic static final String LOG_TAG = \"fotorsdk_demo\";\n\n\t/** Folder name on the sdcard where the images will be saved **/\n\n\tprivate static final String FOLDER_NAME = \"FotorSDK\";\n\n\t/** Edit sample button */\n\tButton mEditButton;\n\t/** Call gallery button */\n\tButton mGalleryButton;\n\t/** Display image view */\n\tImageView mImage;\n\t/** The path for output file */\n\tUri mOutputFilePath;\n\n\t/** Image uri for image editor */\n\tUri mImageUri;\n\t/** Display version label for DEBUG */\n\tprivate TextView mSDKVersionLabel;\n\n\t/** The sample image uri. */\n\tprivate Uri mSampleUri;\n\n\tprivate File mGalleryFolder;\n\n\t/** session id for the hi-res post processing */\n\tprivate String mSessionId;\n\n\t@Override\n\tprotected void onCreate(Bundle savedInstanceState) {\n\t\tLog.i(LOG_TAG, \"onCreate\");\n\t\tsuper.onCreate(savedInstanceState);\n\n\t\tsetContentView(R.layout.activity_main);\n\n\t\tmEditButton.setOnClickListener(new View.OnClickListener() {\n\n\t\t\t@Override\n\t\t\tpublic void onClick(View v) {\n//\t\t\t\tif (mImageUri != null) {\n//\t\t\t\t\tstartFeature(mImageUri);\n//\t\t\t\t}\n\t\t\t\tif (mSampleUri != null) {\n\t\t\t\t\tstartFeature(mSampleUri);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tmGalleryButton.setOnClickListener(new View.OnClickListener() {\n\n\t\t\t@Override\n\t\t\tpublic void onClick(View v) {\n\t\t\t\tpickFromGallery();\n\t\t\t}\n\t\t});\n\n\t\tmGalleryFolder = createFolders();\n\n\t\t// add sample image\n\t\tmSampleUri = Uri.parse(\"file:///android_asset/sample.jpg\");\n\t\tloadAsync(mSampleUri);\n\n\t\tif (BuildConfig.DEBUG) {\n\t\t\tmSDKVersionLabel.setText(\"V\" + FotorSDKVersion.FOTOR_SDK_VERSION);\n\t\t}\n\n\t}\n\n\t/**\n\t * Start the activity to pick an image from the user gallery\n\t */\n\tprivate void pickFromGallery() {\n\t\tIntent intent = new Intent(Intent.ACTION_GET_CONTENT);\n\t\tintent.setType(\"image/*\");\n\n\t\tIntent chooser = Intent.createChooser(intent, \"Choose a Picture\");\n\t\tstartActivityForResult(chooser, ACTION_REQUEST_GALLERY);\n\n\t}\n\n\t@Override\n\tprotected void onResume() {\n\t\tLog.i(LOG_TAG, \"onResume\");\n\t\tsuper.onResume();\n\n\t\tif (getIntent() != null) {\n\t\t\thandleIntent(getIntent());\n\t\t\tsetIntent(new Intent());\n\t\t}\n\t}\n\n\t/**\n\t * Handle the incoming {@link Intent}\n\t */\n\tprivate void handleIntent(Intent intent) {\n\n\t\tString action = intent.getAction();\n\n\t\tif (null != action) {\n\n\t\t\tif (Intent.ACTION_SEND.equals(action)) {\n\n\t\t\t\tBundle extras = intent.getExtras();\n\t\t\t\tif (extras != null && extras.containsKey(Intent.EXTRA_STREAM)) {\n\t\t\t\t\tUri uri = (Uri) extras.get(Intent.EXTRA_STREAM);\n\t\t\t\t\tloadAsync(uri);\n\t\t\t\t}\n\t\t\t} else if (Intent.ACTION_VIEW.equals(action)) {\n\t\t\t\tUri data = intent.getData();\n\t\t\t\tLog.d(LOG_TAG, \"data: \" + data);\n\t\t\t\tloadAsync(data);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Load the incoming Image\n\t * \n\t * @param uri\n\t */\n\tprivate void loadAsync(final Uri uri) {\n\t\tLog.i(LOG_TAG, \"loadAsync: \" + uri);\n\n\t\tDrawable toRecycle = mImage.getDrawable();\n\t\tif (toRecycle != null && toRecycle instanceof BitmapDrawable) {\n\t\t\tif (((BitmapDrawable) mImage.getDrawable()).getBitmap() != null)\n\t\t\t\t((BitmapDrawable) mImage.getDrawable()).getBitmap().recycle();\n\t\t}\n\t\tmImage.setImageDrawable(null);\n\t\tmImageUri = null;\n\n\t\tDownloadAsync task = new DownloadAsync();\n\t\ttask.execute(uri);\n\t}\n\n\t@Override\n\tprotected void onDestroy() {\n\t\tLog.i(LOG_TAG, \"onDestroy\");\n\t\tsuper.onDestroy();\n\t\tmOutputFilePath = null;\n\t}\n\n\t@Override\n\tpublic void onContentChanged() {\n\t\tsuper.onContentChanged();\n\n\t\tSystem.out.println(\"context:\" + this.getPackageName());\n\n\t\tmEditButton = (Button) findViewById(R.id.button2);\n\n\t\tmGalleryButton = (Button) findViewById(R.id.button_gallery);\n\n\t\tmImage = (ImageView) findViewById(R.id.image);\n\n\t\tmSDKVersionLabel = (TextView) findViewById(R.id.fotor_sdk_version_label);\n\n\t}\n\n\t@Override\n\t/**\n\t * This method is called when feather has completed ( ie. user clicked on \"done\" or just exit the activity without saving ). <br />\n\t * If user clicked the \"done\" button you'll receive RESULT_OK as resultCode, RESULT_CANCELED otherwise.\n\t * \n\t * @param requestCode\n\t * \t- it is the code passed with startActivityForResult\n\t * @param resultCode\n\t * \t- result code of the activity launched ( it can be RESULT_OK or RESULT_CANCELED )\n\t * @param data\n\t * \t- the result data\n\t */\n\tpublic void onActivityResult(int requestCode, int resultCode, Intent data) {\n\t\tif (resultCode == RESULT_OK) {\n\t\t\tswitch (requestCode) {\n\t\t\tcase ACTION_REQUEST_FEATURE: {\n\n\t\t\t\tUri uri = data.getData();\n\t\t\t\tBitmap bitmap = BitmapDecodeUtils.decode(this, uri, 0, 0);\n\t\t\t\tsetImageURI(uri, bitmap);\n\t\t\t\tnew ProcessHDTask(this).execute();\n\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase ACTION_REQUEST_GALLERY: {\n\t\t\t\tUri uri = data.getData();\n\t\t\t\tloadAsync(uri);\n\t\t\t\tstartFeature(uri);\n\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t} else if (resultCode == RESULT_CANCELED) {\n\t\t\tswitch (requestCode) {\n\t\t\tcase ACTION_REQUEST_FEATURE:\n\t\t\t\tif (mSessionId != null)\n\t\t\t\t\tdeleteSession(mSessionId);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate String onSaveCompletion() {\n\n\t\tUri sessionUri = SessionColumns.getContentUri(this, mSessionId);\n\n\t\tCursor cursor = getContentResolver().query(sessionUri, null, null,\n\t\t\t\tnull, null);\n\n\t\tSession session = Session.create(cursor);\n\n\t\tif (session != null) {\n\t\t\tFotorHDFilter fotorHDFilter = new FotorHDFilter(this, session);\n\n\t\t\tfotorHDFilter.loadImage();\n\n\t\t\tfotorHDFilter.executeFilter();\n\n\t\t\tString dstPath = Utils.getSDPath() + \"/testOriginal.jpg\";\n\n\t\t\tfotorHDFilter.save(dstPath);\n\n\t\t\tfotorHDFilter.dispose();\n\t\t\tdeleteSession(mSessionId);\n\n\t\t\treturn dstPath;\n\t\t}\n\t\treturn null;\n\n\t}\n\n\tclass ProcessHDTask extends AsyncTask<Void, Void, String> {\n\t\tprivate ProgressDialog mDialog;\n\n\t\tprivate Context mContext;\n\n\t\tpublic ProcessHDTask(Context context) {\n\t\t\tthis.mContext = context;\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPreExecute() {\n\t\t\tmDialog = ProgressDialog.show(mContext, \"Process HD\",\n\t\t\t\t\t\"Please wait...\");\n\t\t}\n\n\t\t@Override\n\t\tprotected String doInBackground(Void... params) {\n\t\t\treturn onSaveCompletion();\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPostExecute(String result) {\n\t\t\tmDialog.dismiss();\n\n\t\t\tString msg = \"Process Error\";\n\t\t\tif (result != null) {\n\t\t\t\tmsg = result;\n\t\t\t}\n\n\t\t\tToast.makeText(mContext, msg, Toast.LENGTH_LONG).show();\n\t\t}\n\n\t}\n\n\t/**\n\t * Delete the session and all it's actions. We do not need it anymore.<br />\n\t * Note that this is optional. All old sessions are automatically removed in\n\t * Feather.\n\t * \n\t * @param session_id\n\t */\n\tprivate void deleteSession(final String session_id) {\n\t\tUri uri = FotorContentProvider.SessionColumns.getContentUri(this,\n\t\t\t\tsession_id);\n\t\tint count = getContentResolver().delete(uri, null, null);\n\t\tSystem.out.println(\"delete session count:\" + count);\n\t}\n\n\t/**\n\t * Given an Uri load the bitmap into the current ImageView and resize it to\n\t * fit the image container size\n\t * \n\t * @param uri\n\t */\n\t@SuppressWarnings(\"deprecation\")\n\tprivate boolean setImageURI(final Uri uri, final Bitmap bitmap) {\n\n\t\tLog.d(LOG_TAG,\n\t\t\t\t\"image size: \" + bitmap.getWidth() + \"x\" + bitmap.getHeight());\n\t\tmImage.setImageBitmap(bitmap);\n\t\tmImage.setBackgroundDrawable(null);\n\n\t\tmEditButton.setEnabled(true);\n\t\tmImageUri = uri;\n\t\treturn true;\n\t}\n\n\t/**\n\t * We need to notify the MediaScanner when a new file is created. In this\n\t * way all the gallery applications will be notified too.\n\t * \n\t * @param file\n\t */\n\tprivate void updateMedia(String filepath) {\n\t\tLog.i(LOG_TAG, \"updateMedia: \" + filepath);\n\t\tMediaScannerConnection.scanFile(getApplicationContext(),\n\t\t\t\tnew String[] { filepath }, null, null);\n\t}\n\n\t/**\n\t * Pick a random image from the user gallery\n\t * \n\t * @return\n\t */\n\t@SuppressWarnings(\"unused\")\n\tprivate Uri pickRandomImage() {\n\t\tCursor c = getContentResolver().query(\n\t\t\t\tImages.Media.EXTERNAL_CONTENT_URI,\n\t\t\t\tnew String[] { ImageColumns._ID, ImageColumns.DATA },\n\t\t\t\tImageColumns.SIZE + \">?\", new String[] { \"90000\" }, null);\n\t\tUri uri = null;\n\n\t\tif (c != null) {\n\t\t\tint total = c.getCount();\n\t\t\tint position = (int) (Math.random() * total);\n\t\t\tLog.d(LOG_TAG, \"pickRandomImage. total images: \" + total\n\t\t\t\t\t+ \", position: \" + position);\n\t\t\tif (total > 0) {\n\t\t\t\tif (c.moveToPosition(position)) {\n\t\t\t\t\tString data = c.getString(c\n\t\t\t\t\t\t\t.getColumnIndex(Images.ImageColumns.DATA));\n\t\t\t\t\tlong id = c.getLong(c\n\t\t\t\t\t\t\t.getColumnIndex(Images.ImageColumns._ID));\n\n\t\t\t\t\turi = Uri.parse(data);\n\n\t\t\t\t\tLog.d(LOG_TAG, uri.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t\tc.close();\n\t\t}\n\t\treturn uri;\n\t}\n\n\t/**\n\t * Return a new image file. Name is based on the current time. Parent folder\n\t * will be the one created with createFolders\n\t * \n\t * @return\n\t * @see #createFolders()\n\t */\n\tprivate File generateOutputFileName() {\n\t\tif (mGalleryFolder != null) {\n\t\t\tif (mGalleryFolder.exists()) {\n\t\t\t\tFile file = new File(mGalleryFolder, \"Fotor_\"\n\t\t\t\t\t\t+ System.currentTimeMillis() + \".jpg\");\n\t\t\t\treturn file;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\t/**\n\t * Once you've chosen an image you can start the feather activity\n\t * \n\t * @param uri\n\t */\n\tprivate void startFeature(Uri uri) {\n\n\t\tLog.d(LOG_TAG, \"uri: \" + uri);\n\n\t\t// first check the external storage availability\n\t\tif (!isExternalStorageAvilable()) {\n\t\t\tnew AlertDialog.Builder(this)\n\t\t\t.setTitle(android.R.string.dialog_alert_title)\n\t\t\t.setMessage(\"External Storage is not avilable\").show();\n\t\t\treturn;\n\t\t}\n\n\t\t// create a temporary file where to store the resulting image\n\t\tFile file = generateOutputFileName();\n\n\t\tif (null != file) {\n\t\t\tmOutputFilePath = Uri.fromFile(file);\n\t\t} else {\n\t\t\tnew AlertDialog.Builder(this)\n\t\t\t\t\t.setTitle(android.R.string.dialog_alert_title)\n\t\t\t\t\t.setMessage(\"Failed to create a new File\").show();\n\t\t\treturn;\n\t\t}\n\n\t\t// Create the intent needed to start feather\n\t\tIntent newIntent = new Intent(this, FotorSDKActivity.class);\n\n\t\t// === INPUT IMAGE URI ===\n\t\t// Set the source image uri\n\t\tnewIntent.setData(uri);\n\n\t\t// === OUTPUT ====\n\t\t// Optional\n\t\t// Pass the uri of the destination image file.\n\t\t// This will be the same uri you will receive in the onActivityResult\n\n\t\tSystem.out.println(\"mOutputFilePath->:\" + mOutputFilePath);\n\n//\t\tnewIntent.putExtra(FotorConstants.EXTRA_OUTPUT_PATH, mOutputFilePath);\n\n\t\t// === OUTPUT QUALITY ===\n\t\t// Optional\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_OUTPUT_QUALITY, 90);\n\n\t\t// === MAX SIZE ===\n\t\t// Optional\n\t\t// you can pass the maximum allowed image size (for the preview),\n\t\t// otherwise feather will determine\n\t\t// the max size based on the device informations.\n\t\t// This will not affect the hi-res image size.\n\t\t// Here we're passing the current display size as max image size because\n\t\t// after\n\t\t// the execution of Aviary we're saving the HI-RES image so we don't\n\t\t// need a big\n\t\t// image for the preview\n\t\tfinal DisplayMetrics metrics = new DisplayMetrics();\n\t\tgetWindowManager().getDefaultDisplay().getMetrics(metrics);\n\n\t\tint max_size = Math.max(metrics.widthPixels, metrics.heightPixels);\n\n\t\tmax_size = (int) ((float) max_size / 1.4f);\n\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_MAX_PREVIEW_SIZE, max_size);\n\n\t\tmSessionId = FotorUtils.generateSessionId(this);\n\n\t\tgetContentResolver().delete(\n\t\t\t\tSessionColumns.getContentUri(this, mSessionId), null, null);\n\n\t\tLog.d(LOG_TAG,\n\t\t\t\t\"session: \" + mSessionId + \", size: \" + mSessionId.length());\n\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_FOTOR_SESSION_ID, mSessionId);\n\n\t\t// // === FEATURE LIST ===\n\n\t\t// newIntent.putExtra(FotorConstants.EXTRA_FEATURE_LIST, new String[] {\n\t\t// FotorFeaturesFactory.FeatureType.FX_EFFECTS.name(),\n\t\t// FotorFeaturesFactory.FeatureType.BORDER.name() });\n\n\t\t// Whether hide confirm dialog when user not saved the was changed bitmap\n\t\t// This default value will show\n//\t\tnewIntent.putExtra(FotorConstants.EXTRA_HIDE_DISCARD_ALERT, false);\n\t\t\n\t\t// start feather\n\t\tstartActivityForResult(newIntent, ACTION_REQUEST_FEATURE);\n\t}\n\n\t/**\n\t * Check the external storage status\n\t * \n\t * @return\n\t */\n\tprivate boolean isExternalStorageAvilable() {\n\t\tString state = Environment.getExternalStorageState();\n\t\tif (Environment.MEDIA_MOUNTED.equals(state)) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Try to create the required folder on the sdcard where images will be\n\t * saved to.\n\t * \n\t * @return\n\t */\n\tprivate File createFolders() {\n\n\t\tFile baseDir;\n\n\t\tif (android.os.Build.VERSION.SDK_INT < 8) {\n\t\t\tbaseDir = Environment.getExternalStorageDirectory();\n\t\t} else {\n\t\t\tbaseDir = Environment\n\t\t\t\t\t.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);\n\t\t}\n\n\t\tif (baseDir == null)\n\t\t\treturn Environment.getExternalStorageDirectory();\n\n\t\tLog.d(LOG_TAG, \"Pictures folder: \" + baseDir.getAbsolutePath());\n\t\tFile fotorSDKFolder = new File(baseDir, FOLDER_NAME);\n\n\t\tif (fotorSDKFolder.exists())\n\t\t\treturn fotorSDKFolder;\n\t\tif (fotorSDKFolder.mkdirs())\n\t\t\treturn fotorSDKFolder;\n\n\t\treturn Environment.getExternalStorageDirectory();\n\t}\n\n\tclass DownloadAsync extends AsyncTask<Uri, Void, Bitmap> implements\n\t\t\tOnCancelListener {\n\n\t\tProgressDialog mProgress;\n\t\tprivate Uri mUri;\n\n\t\t@Override\n\t\tprotected void onPreExecute() {\n\t\t\tsuper.onPreExecute();\n\n\t\t\tmProgress = new ProgressDialog(MainActivity.this);\n\t\t\tmProgress.setIndeterminate(true);\n\t\t\tmProgress.setCancelable(true);\n\t\t\tmProgress.setMessage(\"Loading image...\");\n\t\t\tmProgress.setOnCancelListener(this);\n\t\t\tmProgress.show();\n\t\t}\n\n\t\t@Override\n\t\tprotected Bitmap doInBackground(Uri... params) {\n\t\t\tmUri = params[0];\n\n\t\t\tDisplayMetrics displayMetrics = getResources().getDisplayMetrics();\n\n\t\t\tint maxW = (int) (displayMetrics.widthPixels / 1.5);\n\t\t\tint maxH = (int) (displayMetrics.heightPixels / 1.5);\n\n\t\t\tBitmap bitmap = BitmapDecodeUtils.decode(getApplicationContext(),\n\t\t\t\t\tmUri, maxW, maxH);\n\t\t\treturn bitmap;\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPostExecute(Bitmap result) {\n\t\t\tsuper.onPostExecute(result);\n\n\t\t\tif (mProgress.getWindow() != null) {\n\t\t\t\tmProgress.dismiss();\n\t\t\t}\n\n\t\t\tif (result != null) {\n\t\t\t\tsetImageURI(mUri, result);\n\t\t\t} else {\n\t\t\t\tToast.makeText(MainActivity.this,\n\t\t\t\t\t\t\"Failed to load image \" + mUri, Toast.LENGTH_SHORT)\n\t\t\t\t\t\t.show();\n\t\t\t}\n\t\t}\n\n\t\t@Override\n\t\tpublic void onCancel(DialogInterface dialog) {\n\t\t\tLog.i(LOG_TAG, \"onProgressCancel\");\n\t\t\tthis.cancel(true);\n\t\t}\n\n\t\t@Override\n\t\tprotected void onCancelled() {\n\t\t\tsuper.onCancelled();\n\t\t\tLog.i(LOG_TAG, \"onCancelled\");\n\t\t}\n\n\t}\n}\n"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/75/7531f57ac71678e8bdde440906a3023f46284b44.svn-base",
    "content": "{\n\"borderItems\":[\n{\"filename\":\"118S.xml\",\"thumbThickness\":0.14},\n{\"filename\":\"42M.xml\",\"thumbThickness\":0.19},\n{\"filename\":\"10M.xml\",\"thumbThickness\":0.139},\n{\"filename\":\"3M.xml\",\"thumbThickness\":0.105},\n{\"filename\":\"41M.xml\",\"thumbThickness\":0.11}]\n,\"packName\":\"Gallery\"}\n"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/76/768764aaceba888bd473a3474c94fb987e6b6ab0.svn-base",
    "content": "<Effect name=\"Real-illusion\" type=\"Analog\" id=\"75\">\r\n\t<Allocation name=\"tableTexture1\"/>\r\n\t<Allocation name=\"tableTexture2\"/>\r\n\t<Allocation name=\"dst_a\"/>\r\n\t<Allocation name=\"dst_b\"/>\r\n\t<Allocation name=\"specialAlphaTexture\">\r\n\t\t<file>vtg.png</file>\r\n\t</Allocation>\r\n\t\r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture1</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(71, 0)(112, 62)(157, 148)(255, 232)</R>\r\n            <G>(83, 0)(138, 113)(172, 173)(255, 223)</G>\r\n            <B>(16, 0)(255, 194)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture2</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(43, 0)(109, 88)(147, 167)(215, 255)</R>\r\n            <G>(48, 1)(125, 117)(173, 211)(239, 255)</G>\r\n            <B>(0, 25)(100, 105)(189, 176)(255, 228)</B>\r\n        </params>\r\n    </BaseFilter>\r\n\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<tableTexture>tableTexture1</tableTexture>\r\n\t\t<dst>dst_a</dst>\r\n\t</BaseFilter>\r\n\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<tableTexture>tableTexture2</tableTexture>\r\n\t\t<dst>dst_b</dst>\r\n\t</BaseFilter>\r\n\r\n\t<BaseFilter name=\"SpecialTrans\">\r\n\t\t<src>dst_a</src>\r\n\t\t<dst>dst_b</dst>\r\n\t\t<tex>specialAlphaTexture</tex>\r\n\t</BaseFilter>\r\n\r\n\t<Out DST=\"dst_b\"/>\r\n</Effect>\r\n"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/79/79ecb6f98bbfd04362cf6c5dbeb1fb60283349f7.svn-base",
    "content": "<Effect name=\"Inkwell\" type=\"Retro\" id=\"104\">\r\n    <BaseFilter name=\"Level\">\r\n        <src>SRC</src>\r\n        <dst>TMP</dst>\r\n        <params>\r\n            <type>GetScale</type>\r\n            <dark>0.01</dark>\r\n            <light>0.01</light>\r\n            <saturation>0.0</saturation>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"Vignette\">\r\n        <src>TMP</src>\r\n        <dst>DST</dst>\r\n      \t<params>\r\n      \t    <mode>quadric</mode>\r\n      \t    <vignetteStart>0.0</vignetteStart>\r\n      \t    <vignetteRange>1.0</vignetteRange>\r\n      \t</params>\r\n    </BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/7b/7bc56bf8abce95597491da4f75b6e04101d1c1d8.svn-base",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"#ff0099cc\"\n    android:baselineAligned=\"true\"\n    android:gravity=\"center_horizontal\"\n    android:orientation=\"vertical\" >\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_weight=\"1\"\n        android:gravity=\"center\" >\n\n        <LinearLayout\n            android:id=\"@+id/image_container\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:background=\"@drawable/album_item_frame\"\n            android:gravity=\"center\"\n            android:padding=\"5dp\" >\n\n            <ImageView\n                android:id=\"@+id/image\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:scaleType=\"centerInside\" />\n        </LinearLayout>\n    </LinearLayout>\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_weight=\"0\"\n        android:gravity=\"center_horizontal\"\n        android:orientation=\"horizontal\"\n        android:padding=\"10dp\" >\n\n        <Button\n            android:id=\"@+id/button2\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_weight=\"1\"\n            android:enabled=\"false\"\n            android:padding=\"10.0dip\"\n            android:text=\"Launche\" >\n        </Button>\n\n        <Button\n            android:id=\"@+id/button_gallery\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_weight=\"1\"\n            android:padding=\"10.0dip\"\n            android:text=\"Gallery\" >\n        </Button>\n\n        <Button\n            android:id=\"@+id/button_camera\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_weight=\"1\"\n            android:padding=\"10.0dip\"\n            android:text=\"OpenCamera\" >\n        </Button>\n    </LinearLayout>\n\n</LinearLayout>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/7b/7bd52fef0b72d500aef22545fc4ae5c742d9180e.svn-base",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    package=\"com.example.fotorsdkdemo\"\n    android:versionCode=\"1\"\n    android:versionName=\"1.0\" >\n\n    <!-- FotorSDK Required : Minimum sdk version -->\n    <uses-sdk\n        android:minSdkVersion=\"10\"\n        android:targetSdkVersion=\"19\" />\n    <!-- FotorSDK Required : Permissions -->\n    <uses-permission android:name=\"android.permission.INTERNET\" />\n    <uses-permission android:name=\"android.permission.CAMERA\" />\n    <uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\" />\n    <uses-permission android:name=\"android.permission.FLASHLIGHT\" />\n\n    <application\n        android:allowBackup=\"true\"\n        android:icon=\"@drawable/ic_launcher\"\n        android:label=\"@string/app_name\"\n        android:theme=\"@style/AppTheme\" >\n        <activity\n            android:name=\"com.example.fotorsdkdemo.MainActivity\"\n            android:label=\"@string/app_name\" >\n            <intent-filter>\n                <action android:name=\"android.intent.action.MAIN\" />\n\n                <category android:name=\"android.intent.category.LAUNCHER\" />\n            </intent-filter>\n        </activity>\n\n        <!-- FotorSDK Required : proccess main activity -->\n        <activity\n            android:name=\"com.everimaging.fotorsdk.FotorSDKActivity\"\n            android:configChanges=\"orientation|keyboardHidden|screenSize\"\n            android:hardwareAccelerated=\"true\"\n            android:largeHeap=\"true\"\n            android:screenOrientation=\"unspecified\"\n            android:theme=\"@style/FotorTheme\" />\n        <!-- FotorSDK Required : camera main activity -->\n        <activity android:name=\"com.everimaging.fotorsdk.camera.CameraActivity\" >\n        </activity>\n        <!-- FotorSDK Required : content provider for process high resolution  #NOTE# authorities you must change -->\n        <provider\n            android:name=\"com.everimaging.fotorsdk.provider.FotorContentProvider\"\n            android:authorities=\"com.example.fotorsdkdemo.FotorContentProvider\"\n            android:exported=\"false\" />\n\n        <!-- FotorSDK Required : receiver to listener newly feature package change -->\n        <receiver\n            android:name=\"com.everimaging.fotorsdk.receivers.FotorSystemReceiver\"\n            android:exported=\"true\"\n            android:process=\":fotor_receiver\" >\n            <intent-filter>\n                <action android:name=\"android.intent.action.PACKAGE_ADDED\" />\n                <action android:name=\"android.intent.action.PACKAGE_REMOVED\" />\n                <action android:name=\"android.intent.action.PACKAGE_REPLACED\" />\n\n                <data android:scheme=\"package\" />\n            </intent-filter>\n        </receiver>\n        <!-- FotorSDK Required : You Fotor API_KEY -->\n        <meta-data\n            android:name=\"FOTOR_API_KEY\"\n            android:value=\"fotor_api_key\" />\n    </application>\n\n</manifest>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/7b/7bf0670c68c92c203241c3e75f43bc714560f069.svn-base",
    "content": "<Frame name=\"2M\" type=\"Simple\" id=\"2\">\r\n\t<LeftTop>2M_0.png</LeftTop>\r\n\t<Top>2M_1.png</Top>\r\n\t<RightTop>2M_2.png</RightTop>\r\n\t<Right>2M_3.png</Right>\r\n\t<RightBottom>2M_4.png</RightBottom>\r\n\t<Bottom>2M_5.png</Bottom>\r\n\t<LeftBottom>2M_6.png</LeftBottom>\r\n\t<Left>2M_7.png</Left>\r\n\r\n\t<Unity>2M.png</Unity>\r\n\t\r\n\t<params>\r\n\t\t<mode>M</mode>\r\n\t\t<thickness>0.05</thickness>\r\n\t\t<width>133</width>\r\n\t\t<height>133</height>\r\n\t\t<block type=\"leftTop\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>66</width>\r\n\t\t\t<height>66</height>\r\n\t\t</block>\r\n\t\t<block type=\"top\">\r\n\t\t\t<left>66</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>1</width>\r\n\t\t\t<height>66</height>\r\n\t\t</block>\r\n\t\t<block type=\"rightTop\">\r\n\t\t\t<left>67</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>66</width>\r\n\t\t\t<height>66</height>\r\n\t\t</block>\r\n\t\t<block type=\"right\">\r\n\t\t\t<left>67</left>\r\n\t\t\t<top>66</top>\r\n\t\t\t<width>66</width>\r\n\t\t\t<height>1</height>\r\n\t\t</block>\r\n\t\t<block type=\"rightBottom\">\r\n\t\t\t<left>67</left>\r\n\t\t\t<top>67</top>\r\n\t\t\t<width>66</width>\r\n\t\t\t<height>66</height>\r\n\t\t</block>\r\n\t\t<block type=\"bottom\">\r\n\t\t\t<left>66</left>\r\n\t\t\t<top>67</top>\r\n\t\t\t<width>1</width>\r\n\t\t\t<height>66</height>\r\n\t\t</block>\r\n\t\t<block type=\"leftBottom\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>67</top>\r\n\t\t\t<width>66</width>\r\n\t\t\t<height>66</height>\r\n\t\t</block>\r\n\t\t<block type=\"left\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>66</top>\r\n\t\t\t<width>66</width>\r\n\t\t\t<height>1</height>\r\n\t\t</block>\r\n\t</params>\r\n</Frame>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/7c/7c97e2760e11fafed4bfa319faf395e0fc044b96.svn-base",
    "content": "[[\"stickers_party_1.png\",\n\"stickers_party_1_icon.png\"],\n[\"stickers_party_2.png\",\n\"stickers_party_2_icon.png\"],\n[\"stickers_party_3.png\",\n\"stickers_party_3_icon.png\"],\n[\"stickers_party_4.png\",\n\"stickers_party_4_icon.png\"],\n[\"stickers_party_5.png\",\n\"stickers_party_5_icon.png\"],\n[\"stickers_party_6.png\",\n\"stickers_party_6_icon.png\"],\n[\"stickers_party_7.png\",\n\"stickers_party_7_icon.png\"],\n[\"stickers_party_8.png\",\n\"stickers_party_8_icon.png\"],\n[\"stickers_party_9.png\",\n\"stickers_party_9_icon.png\"],\n[\"stickers_party_10.png\",\n\"stickers_party_10_icon.png\"],\n[\"stickers_party_11.png\",\n\"stickers_party_11_icon.png\"],\n[\"stickers_party_12.png\",\n\"stickers_party_12_icon.png\"],\n[\"stickers_party_13.png\",\n\"stickers_party_13_icon.png\"],\n[\"stickers_party_14.png\",\n\"stickers_party_14_icon.png\"],\n[\"stickers_party_15.png\",\n\"stickers_party_15_icon.png\"],\n[\"stickers_party_16.png\",\n\"stickers_party_16_icon.png\"]]"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/7e/7eac42e387e1a7ab2099e86c2917dc0c4902258d.svn-base",
    "content": "[[\"stickers_boom_1.png\",\n\"stickers_boom_1_icon.png\"],\n[\"stickers_boom_2.png\",\n\"stickers_boom_2_icon.png\"],\n[\"stickers_boom_3.png\",\n\"stickers_boom_3_icon.png\"],\n[\"stickers_boom_4.png\",\n\"stickers_boom_4_icon.png\"],\n[\"stickers_boom_5.png\",\n\"stickers_boom_5_icon.png\"],\n[\"stickers_boom_6.png\",\n\"stickers_boom_6_icon.png\"],\n[\"stickers_boom_7.png\",\n\"stickers_boom_7_icon.png\"],\n[\"stickers_boom_8.png\",\n\"stickers_boom_8_icon.png\"],\n[\"stickers_boom_9.png\",\n\"stickers_boom_9_icon.png\"],\n[\"stickers_boom_10.png\",\n\"stickers_boom_10_icon.png\"],\n[\"stickers_boom_11.png\",\n\"stickers_boom_11_icon.png\"],\n[\"stickers_boom_12.png\",\n\"stickers_boom_12_icon.png\"],\n[\"stickers_boom_13.png\",\n\"stickers_boom_13_icon.png\"],\n[\"stickers_boom_14.png\",\n\"stickers_boom_14_icon.png\"],\n[\"stickers_boom_15.png\",\n\"stickers_boom_15_icon.png\"],\n[\"stickers_boom_16.png\",\n\"stickers_boom_16_icon.png\"]]"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/7f/7fc76dd4b7d2df42241b9e3b32fd541eb1a71229.svn-base",
    "content": "<resources>\n\n    <!-- Default screen margins, per the Android Design guidelines. -->\n    <dimen name=\"activity_horizontal_margin\">16dp</dimen>\n    <dimen name=\"activity_vertical_margin\">16dp</dimen>\n\n</resources>\n"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/82/8236e7e4c47bc975b8c27269dd01ae5f5cb62623.svn-base",
    "content": "<resources>\n\n    <!--\n         Customize dimensions originally defined in res/values/dimens.xml (such as\n         screen margins) for sw600dp devices (e.g. 7\" tablets) here.\n    -->\n\n</resources>\n"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/88/88086200176fa4174716c1498413d31868152bbf.svn-base",
    "content": "[\"1.xml\",\"4.xml\",\"23.xml\",\"5.xml\",\"102.xml\",\"103.xml\",\"2.xml\",\"7.xml\",\"10.xml\"]"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/8a/8a10f97888d40f0e95f38492c4a52b78328605f3.svn-base",
    "content": "<resources>\n\n    <!--\n        Base application theme, dependent on API level. This theme is replaced\n        by AppBaseTheme from res/values-vXX/styles.xml on newer devices.\n    -->\n    <style name=\"AppBaseTheme\" parent=\"android:Theme.NoTitleBar.Fullscreen\">\n        <!--\n            Theme customizations available in newer API levels can go in\n            res/values-vXX/styles.xml, while customizations related to\n            backward-compatibility can go here.\n        -->\n    </style>\n\n    <!-- Application theme. -->\n    <style name=\"AppTheme\" parent=\"AppBaseTheme\">\n        <!-- All customizations that are NOT specific to a particular API-level can go here. -->\n    </style>\n\n</resources>\n"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/8a/8a55f6711de24bf36b97d208f5637250973bfb3a.svn-base",
    "content": "<Frame name=\"30S\" type=\"Styled\" id=\"30\">\r\n    <Unity>30S.png</Unity>\r\n    \r\n    <params>\r\n        <mode>S</mode>\r\n    </params>\r\n</Frame>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/8c/8cb1a48fc88581b7e2e5855e1238c7da80cd3938.svn-base",
    "content": "<Frame name=\"37S\" type=\"Styled\" id=\"37\">\r\n    <Unity>37S.png</Unity>\r\n    \r\n    <params>\r\n        <mode>S</mode>\r\n    </params>\r\n</Frame>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/91/918df1128aa29e930b499ddb9717293a7c7edd6d.svn-base",
    "content": "<Frame name=\"23M\" type=\"Simple\" id=\"23\">\r\n\t<LeftTop>23M_0.png</LeftTop>\r\n\t<Top>23M_1.png</Top>\r\n\t<RightTop>23M_2.png</RightTop>\r\n\t<Right>23M_3.png</Right>\r\n\t<RightBottom>23M_4.png</RightBottom>\r\n\t<Bottom>23M_5.png</Bottom>\r\n\t<LeftBottom>23M_6.png</LeftBottom>\r\n\t<Left>23M_7.png</Left>\r\n\r\n\t<Unity>23M.png</Unity>\r\n\t\r\n\t<params>\r\n\t\t<mode>M</mode>\r\n\t\t<thickness>0.1</thickness>\r\n\t\t<width>264</width>\r\n\t\t<height>264</height>\r\n\t\t<block type=\"leftTop\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>112</width>\r\n\t\t\t<height>112</height>\r\n\t\t</block>\r\n\t\t<block type=\"top\">\r\n\t\t\t<left>112</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>40</width>\r\n\t\t\t<height>112</height>\r\n\t\t</block>\r\n\t\t<block type=\"rightTop\">\r\n\t\t\t<left>152</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>112</width>\r\n\t\t\t<height>112</height>\r\n\t\t</block>\r\n\t\t<block type=\"right\">\r\n\t\t\t<left>152</left>\r\n\t\t\t<top>112</top>\r\n\t\t\t<width>112</width>\r\n\t\t\t<height>40</height>\r\n\t\t</block>\r\n\t\t<block type=\"rightBottom\">\r\n\t\t\t<left>152</left>\r\n\t\t\t<top>152</top>\r\n\t\t\t<width>112</width>\r\n\t\t\t<height>112</height>\r\n\t\t</block>\r\n\t\t<block type=\"bottom\">\r\n\t\t\t<left>112</left>\r\n\t\t\t<top>152</top>\r\n\t\t\t<width>40</width>\r\n\t\t\t<height>112</height>\r\n\t\t</block>\r\n\t\t<block type=\"leftBottom\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>152</top>\r\n\t\t\t<width>112</width>\r\n\t\t\t<height>112</height>\r\n\t\t</block>\r\n\t\t<block type=\"left\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>112</top>\r\n\t\t\t<width>112</width>\r\n\t\t\t<height>40</height>\r\n\t\t</block>\r\n\t</params>\r\n</Frame>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/93/9378ea4758918618f3ca68b1b623f88a4bc9eead.svn-base",
    "content": "<Effect name=\"X-ProII\" type=\"Lomo\" id=\"10\">\r\n\t<Allocation name=\"tableTexture\"/>\r\n\t\r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(0, 4)(255, 244)</R>\r\n            <G>(0, 0)(255, 255)</G>\r\n            <B>(0, 84)(255, 194)</B>\r\n        </params>\r\n    </BaseFilter>\r\n\t\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/95/95a4eb3af29a3beeabbde817bc588a78ddf10e0d.svn-base",
    "content": "<Effect name=\"Purple\" type=\"Retro\" id=\"17\">\r\n    <Allocation name=\"level\"/>\r\n    <Allocation name=\"saturation\"/>\r\n    \r\n    <BaseFilter name=\"Level\">\r\n        <src>SRC</src>\r\n        <dst>level</dst>\r\n        <params>\r\n            <type>GetScale</type>\r\n            <dark>0.01</dark>\r\n            <light>0.01</light>\r\n            <saturation>1.0</saturation>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"HSVSaturation\">\r\n        <src>level</src>\r\n        <dst>saturation</dst>\r\n        <params>\r\n         \t<red>-0.7</red>\r\n\t\t\t<yellow>-0.7</yellow>\r\n\t\t\t<green>-0.7</green>\r\n\t\t\t<cyan>0.5</cyan>\r\n\t\t\t<blue>0.5</blue>\r\n\t\t\t<magenta>-0.7</magenta>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"ConstColor\">\r\n        <src>SRC</src>\r\n        <dst>TMP</dst>\r\n        <params>\r\n            <red>0.24314</red>\r\n            <green>0.07059</green>\r\n            <blue>0.59215</blue>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"LayerBlend\">\r\n        <src>saturation</src>\r\n        <tex>TMP</tex>\r\n        <dst>DST</dst>\r\n        <params>\r\n            <mode>overlay</mode>\r\n            <opacity>0.25</opacity>\r\n        </params>\r\n    </BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/95/95abf644e02a344ce785c4da92c0dd5c26415b7a.svn-base",
    "content": "{\n\"borderItems\":[\n{\"filename\":\"23M.xml\",\"thumbThickness\":0.27},\n{\"filename\":\"29M.xml\",\"thumbThickness\":0.23},\n{\"filename\":\"2M.xml\",\"thumbThickness\":0.1},\n{\"filename\":\"36M.xml\",\"thumbThickness\":0.8},\n{\"filename\":\"38M.xml\",\"thumbThickness\":0.8}]\n,\"packName\":\"Simple\"}\n"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/97/975756f4219c90758891f1964f8028cecfb2c675.svn-base",
    "content": "<Frame name=\"36M\" type=\"Simple\" id=\"36\">\r\n\t<LeftTop>36M_0.png</LeftTop>\r\n\t<Top>36M_1.png</Top>\r\n\t<RightTop>36M_2.png</RightTop>\r\n\t<Right>36M_3.png</Right>\r\n\t<RightBottom>36M_4.png</RightBottom>\r\n\t<Bottom>36M_5.png</Bottom>\r\n\t<LeftBottom>36M_6.png</LeftBottom>\r\n\t<Left>36M_7.png</Left>\r\n\r\n\t<Unity>36M.png</Unity>\r\n\t\r\n\t<params>\r\n\t\t<mode>M</mode>\r\n\t\t<thickness>0.6</thickness>\r\n\t\t<width>728</width>\r\n\t\t<height>728</height>\r\n\t\t<block type=\"leftTop\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>360</width>\r\n\t\t\t<height>360</height>\r\n\t\t</block>\r\n\t\t<block type=\"top\">\r\n\t\t\t<left>360</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>8</width>\r\n\t\t\t<height>360</height>\r\n\t\t</block>\r\n\t\t<block type=\"rightTop\">\r\n\t\t\t<left>368</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>360</width>\r\n\t\t\t<height>360</height>\r\n\t\t</block>\r\n\t\t<block type=\"right\">\r\n\t\t\t<left>368</left>\r\n\t\t\t<top>360</top>\r\n\t\t\t<width>360</width>\r\n\t\t\t<height>8</height>\r\n\t\t</block>\r\n\t\t<block type=\"rightBottom\">\r\n\t\t\t<left>368</left>\r\n\t\t\t<top>368</top>\r\n\t\t\t<width>360</width>\r\n\t\t\t<height>360</height>\r\n\t\t</block>\r\n\t\t<block type=\"bottom\">\r\n\t\t\t<left>360</left>\r\n\t\t\t<top>368</top>\r\n\t\t\t<width>8</width>\r\n\t\t\t<height>360</height>\r\n\t\t</block>\r\n\t\t<block type=\"leftBottom\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>368</top>\r\n\t\t\t<width>360</width>\r\n\t\t\t<height>360</height>\r\n\t\t</block>\r\n\t\t<block type=\"left\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>360</top>\r\n\t\t\t<width>360</width>\r\n\t\t\t<height>8</height>\r\n\t\t</block>\r\n\t</params>\r\n</Frame>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/99/9955f7f1e3c0db05fb428b4fd3e16eacc7402ae9.svn-base",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    package=\"com.example.fotorsdkdemo\"\n    android:versionCode=\"1\"\n    android:versionName=\"1.0.4\" >\n\n    <!-- FotorSDK Required : Minimum sdk version -->\n    <uses-sdk\n        android:minSdkVersion=\"10\"\n        android:targetSdkVersion=\"19\" />\n    <!-- FotorSDK Required : Permissions -->\n    <uses-permission android:name=\"android.permission.INTERNET\" />\n    <uses-permission android:name=\"android.permission.CAMERA\" />\n    <uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\" />\n    <uses-permission android:name=\"android.permission.FLASHLIGHT\" />\n\n    <application\n        android:allowBackup=\"true\"\n        android:icon=\"@drawable/icon\"\n        android:label=\"@string/app_name\"\n        android:theme=\"@style/AppTheme\" >\n        <activity\n            android:name=\"com.example.fotorsdkdemo.MainActivity\"\n            android:label=\"@string/app_name\" >\n            <intent-filter>\n                <action android:name=\"android.intent.action.MAIN\" />\n\n                <category android:name=\"android.intent.category.LAUNCHER\" />\n            </intent-filter>\n        </activity>\n\n        <!-- FotorSDK Required : proccess main activity -->\n        <activity\n            android:name=\"com.everimaging.fotorsdk.FotorSDKActivity\"\n            android:configChanges=\"orientation|keyboardHidden|screenSize\"\n            android:hardwareAccelerated=\"true\"\n            android:largeHeap=\"true\"\n            android:screenOrientation=\"unspecified\"\n            android:theme=\"@style/FotorTheme\" />\n        <!-- FotorSDK Required : camera main activity -->\n        <activity android:name=\"com.everimaging.fotorsdk.camera.CameraActivity\" >\n        </activity>\n        <!-- FotorSDK Required : content provider for process high resolution  #NOTE# authorities value you must change to like this:\n        \t android:authorities=\"{your.packagename}.FotorContentProvider -->\n        <provider\n            android:name=\"com.everimaging.fotorsdk.provider.FotorContentProvider\"\n            android:authorities=\"com.example.fotorsdkdemo.FotorContentProvider\"\n            android:exported=\"false\" />\n\n        <!-- FotorSDK Required : receiver to listener newly feature package change -->\n        <receiver\n            android:name=\"com.everimaging.fotorsdk.receivers.FotorSystemReceiver\"\n            android:exported=\"true\"\n            android:process=\":fotor_receiver\" >\n            <intent-filter>\n                <action android:name=\"android.intent.action.PACKAGE_ADDED\" />\n                <action android:name=\"android.intent.action.PACKAGE_REMOVED\" />\n                <action android:name=\"android.intent.action.PACKAGE_REPLACED\" />\n\n                <data android:scheme=\"package\" />\n            </intent-filter>\n        </receiver>\n        <!-- FotorSDK Required : You Fotor API_KEY -->\n        <meta-data\n            android:name=\"FOTOR_API_KEY\"\n            android:value=\"fotor_api_key\" />\n    </application>\n\n</manifest>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/99/9969bc387bfdd8297a5fa77945b20785b603fd97.svn-base",
    "content": "{\n\"borderItems\":[\n{\"filename\":\"30S.xml\",\"thumbThickness\":0.05},\n{\"filename\":\"37S.xml\",\"thumbThickness\":0.05},\n{\"filename\":\"43S.xml\",\"thumbThickness\":0.05},\n{\"filename\":\"49S.xml\",\"thumbThickness\":0.05},\n{\"filename\":\"51S.xml\",\"thumbThickness\":0.05}]\n,\"packName\":\"Styled\"}\n"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/9a/9a475952207ff615974d1a3613e391d02b0f0dea.svn-base",
    "content": "<Effect name=\"Earlybird\" type=\"Lomo\" id=\"23\">\r\n\t<Allocation name=\"tableTexture\"/>\r\n\t<Allocation name=\"dst\"/>\r\n\r\n\t<BaseFilter name=\"HSVSaturation\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>dst</dst>\r\n\t\t<params>\r\n\t\t\t<red>-0.5</red>\r\n\t\t\t<yellow>-0.5</yellow>\r\n\t\t\t<green>-0.5</green>\r\n\t\t\t<cyan>-0.5</cyan>\r\n\t\t\t<blue>-0.5</blue>\r\n\t\t\t<magenta>-0.5</magenta>\r\n\t\t</params>\r\n\t</BaseFilter>\r\n\t\r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(0, 0)(129, 148)(255, 255)</R>\r\n            <G>(0, 0)(92, 77)(175, 189)(255, 255)</G>\r\n            <B>(0, 0)(163, 144)(255, 255)</B>\r\n        </params>\r\n    </BaseFilter>\r\n\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>dst</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/9a/9ada2c0e806321f9bb3c7a6ce49707c4fdf664e1.svn-base",
    "content": "<Effect name=\"Dawn Light\" type=\"Analog\" id=\"74\">\r\n\t<Allocation name=\"tmp\"/>\r\n\t<Allocation name=\"tableTexture1\"/>\r\n\t<Allocation name=\"tableTexture2\"/>\r\n\t<Allocation name=\"dst_a\"/>\r\n\t<Allocation name=\"dst_b\"/>\r\n\t<Allocation name=\"specialAlphaTexture\">\r\n\t\t<file>vtg.png</file>\r\n\t</Allocation>\r\n\r\n\t<BaseFilter name=\"HSVSaturation\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>tmp</dst>\r\n\t\t<params>\r\n\t\t\t<red>-0.45</red>\r\n\t\t\t<yellow>-0.45</yellow>\r\n\t\t\t<green>-0.45</green>\r\n\t\t\t<cyan>-0.45</cyan>\r\n\t\t\t<blue>-0.45</blue>\r\n\t\t\t<magenta>-0.45</magenta>\r\n\t\t</params>\r\n\t</BaseFilter>\r\n\t\r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture1</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(63, 35)(148, 116)(255, 208)</R>\r\n            <G>(71, 0)(149, 84)(255, 187)</G>\r\n            <B>(85, 22)(177, 87)(255, 148)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture2</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(5, 42)(78, 129)(117, 178)(182, 219)(252, 253)</R>\r\n            <G>(0, 0)(63, 84)(117, 157)(173, 204)(255, 241)</G>\r\n            <B>(8, 26)(130, 147)(190, 197)(255, 217)</B>\r\n        </params>\r\n    </BaseFilter>\r\n\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>tmp</src>\r\n\t\t<dst>dst_a</dst>\r\n\t\t<tableTexture>tableTexture1</tableTexture>\r\n\t</BaseFilter>\r\n\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>tmp</src>\r\n\t\t<dst>dst_b</dst>\r\n\t\t<tableTexture>tableTexture2</tableTexture>\r\n\t</BaseFilter>\r\n\r\n\t<BaseFilter name=\"SpecialTrans\">\r\n\t\t<src>dst_a</src>\r\n\t\t<dst>dst_b</dst>\r\n\t\t<tex>specialAlphaTexture</tex>\r\n\t</BaseFilter>\r\n\r\n\t<Out DST=\"dst_b\"/>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/9d/9da5972490b164e1b1bbaede6cbd9a8dac321e16.svn-base",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<lint>\n</lint>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/9e/9efa9da8094116c00abbe5caf55d4f981d21cf26.svn-base",
    "content": "<Effect name=\"Pale-Ocre\" type=\"Retro\" id=\"16\">\r\n    <Allocation name=\"level\"/>\r\n    <Allocation name=\"saturation\"/>\r\n    <Allocation name=\"hue\"/>\r\n    \r\n    <BaseFilter name=\"Level\">\r\n        <src>SRC</src>\r\n        <dst>level</dst>\r\n        <params>\r\n            <type>GetScale</type>\r\n            <dark>0.01</dark>\r\n            <light>0.01</light>\r\n            <saturation>1.0</saturation>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"HSVSaturation\">\r\n        <src>level</src>\r\n        <dst>saturation</dst>\r\n        <params>\r\n         \t<red>0.1</red>\r\n\t\t\t<yellow>-0.7</yellow>\r\n\t\t\t<green>-0.7</green>\r\n\t\t\t<cyan>-0.7</cyan>\r\n\t\t\t<blue>-0.7</blue>\r\n\t\t\t<magenta>0.1</magenta>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"HSLAdjustment\">\r\n       \t<src>level</src>\r\n        <dst>hue</dst>\r\n        <params>\r\n            <mode>hue</mode>\r\n            <hue>0.829</hue>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"LayerBlend\">\r\n        <src>saturation</src>\r\n        <tex>hue</tex>\r\n        <dst>DST</dst>\r\n        <params>\r\n            <mode>normal</mode>\r\n            <opacity>0.31</opacity>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/9f/9f6bfa62aa76b00c6effa5bdd5ddc809c7eb25d2.svn-base",
    "content": "<Frame name=\"43S\" type=\"Styled\" id=\"43\">\r\n    <Unity>43S.png</Unity>\r\n    \r\n    <params>\r\n        <mode>S</mode>\r\n    </params>\r\n</Frame>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/9f/9ff96ba0dbe9a1dc3994a9ac334ae84253988a32.svn-base",
    "content": "package com.example.fotorsdkdemo;\n\nimport java.io.File;\n\nimport com.everimaging.fotorsdk.FotorConstants;\nimport com.everimaging.fotorsdk.FotorSDKActivity;\nimport com.everimaging.fotorsdk.FotorUtils;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider.ActionsColumns.Action;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider.ActionsColumns;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns.Session;\nimport com.everimaging.fotorsdk.utils.BitmapDecodeUtils;\nimport com.everimaging.fotorsdk.utils.FotorResUtils;\nimport com.everimaging.fotorsdk.utils.Utils;\n\nimport java.io.IOException;\nimport java.util.ArrayList;\nimport java.util.List;\n\nimport com.everimaging.fotorsdk.camera.CameraActivity;\nimport com.everimaging.fotorsdk.engine.FotorHDFilter;\n\nimport android.app.Activity;\nimport android.app.AlertDialog;\nimport android.app.ProgressDialog;\nimport android.content.Context;\nimport android.content.DialogInterface;\nimport android.content.DialogInterface.OnCancelListener;\nimport android.content.Intent;\nimport android.database.Cursor;\nimport android.graphics.Bitmap;\nimport android.graphics.BitmapFactory;\nimport android.graphics.BitmapFactory.Options;\nimport android.graphics.Matrix;\nimport android.graphics.drawable.BitmapDrawable;\nimport android.graphics.drawable.Drawable;\nimport android.media.ExifInterface;\nimport android.media.MediaScannerConnection;\nimport android.net.Uri;\nimport android.os.AsyncTask;\nimport android.os.Bundle;\nimport android.os.Environment;\nimport android.provider.MediaStore.Images;\nimport android.provider.MediaStore.Images.ImageColumns;\nimport android.util.DisplayMetrics;\nimport android.util.Log;\nimport android.view.View;\nimport android.view.View.OnLongClickListener;\nimport android.widget.Button;\nimport android.widget.ImageView;\nimport android.widget.Toast;\n\npublic class MainActivity extends Activity {\n\n\tprivate static final int ACTION_REQUEST_FEATURE = 2;\n\n\tprivate static final int ACTION_REQUEST_GALLERY = 3;\n\n\tprivate static final int EXTERNAL_STORAGE_UNAVAILABLE = 1;\n\n\tpublic static final String LOG_TAG = \"fotorsdk_demo\";\n\n\t/** Folder name on the sdcard where the images will be saved **/\n\n\tprivate static final String FOLDER_NAME = \"FotorSDK\";\n\n\tButton mEditButton;\n\tButton mCameraButton;\n\tButton mGalleryButton;\n\tImageView mImage;\n\tView mImageContainer;\n\tString mOutputFilePath;\n\tUri mImageUri;\n\n\tprivate File mGalleryFolder;\n\n\t/** session id for the hi-res post processing */\n\tprivate String mSessionId;\n\n\t@Override\n\tprotected void onCreate(Bundle savedInstanceState) {\n\t\tLog.i(LOG_TAG, \"onCreate\");\n\t\tsuper.onCreate(savedInstanceState);\n\n\t\tsetContentView(R.layout.activity_main);\n\n\t\tmEditButton.setOnClickListener(new View.OnClickListener() {\n\n\t\t\t@Override\n\t\t\tpublic void onClick(View v) {\n\t\t\t\tif (mImageUri != null) {\n\t\t\t\t\tstartFeature(mImageUri);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tmGalleryButton.setOnClickListener(new View.OnClickListener() {\n\n\t\t\t@Override\n\t\t\tpublic void onClick(View v) {\n\t\t\t\tpickFromGallery();\n\t\t\t}\n\t\t});\n\n\t\tmCameraButton.setOnClickListener(new View.OnClickListener() {\n\n\t\t\t@Override\n\t\t\tpublic void onClick(View arg0) {\n\t\t\t\t// TODO Auto-generated method stub\n\t\t\t\tString saveDir = \"FotorSDK\";\n\t\t\t\tIntent intent = new Intent(MainActivity.this,\n\t\t\t\t\t\tCameraActivity.class);\n\t\t\t\tintent.putExtra(CameraActivity.FOTOR_KEY_SAVEDIR, saveDir);\n\t\t\t\tstartActivityForResult(intent,\n\t\t\t\t\t\tCameraActivity.FOTOR_ACTION_REQUEST_CAMERA);\n\t\t\t}\n\t\t});\n\n\t\tmImageContainer.setOnClickListener(new View.OnClickListener() {\n\n\t\t\t@Override\n\t\t\tpublic void onClick(View v) {\n\t\t\t\tUri uri = pickRandomImage();\n\t\t\t\tif (uri != null) {\n\t\t\t\t\tLog.d(LOG_TAG, \"image uri: \" + uri);\n\t\t\t\t\tloadAsync(uri);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tmImageContainer.setLongClickable(true);\n\t\tmImageContainer.setOnLongClickListener(new OnLongClickListener() {\n\n\t\t\t@Override\n\t\t\tpublic boolean onLongClick(View v) {\n\t\t\t\tif (mImageUri != null) {\n\t\t\t\t\tLog.d(LOG_TAG, \"onLongClick: \" + v);\n\t\t\t\t\topenContextMenu(v);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\n\t\tmGalleryFolder = createFolders();\n\n\t\tmImageContainer.performClick();\n\t}\n\n\t/**\n\t * Start the activity to pick an image from the user gallery\n\t */\n\tprivate void pickFromGallery() {\n\t\tIntent intent = new Intent(Intent.ACTION_GET_CONTENT);\n\t\tintent.setType(\"image/*\");\n\n\t\tIntent chooser = Intent.createChooser(intent, \"Choose a Picture\");\n\t\tstartActivityForResult(chooser, ACTION_REQUEST_GALLERY);\n\t}\n\n\t@Override\n\tprotected void onResume() {\n\t\tLog.i(LOG_TAG, \"onResume\");\n\t\tsuper.onResume();\n\n\t\tif (getIntent() != null) {\n\t\t\thandleIntent(getIntent());\n\t\t\tsetIntent(new Intent());\n\t\t}\n\t}\n\n\t/**\n\t * Handle the incoming {@link Intent}\n\t */\n\tprivate void handleIntent(Intent intent) {\n\n\t\tString action = intent.getAction();\n\n\t\tif (null != action) {\n\n\t\t\tif (Intent.ACTION_SEND.equals(action)) {\n\n\t\t\t\tBundle extras = intent.getExtras();\n\t\t\t\tif (extras != null && extras.containsKey(Intent.EXTRA_STREAM)) {\n\t\t\t\t\tUri uri = (Uri) extras.get(Intent.EXTRA_STREAM);\n\t\t\t\t\tloadAsync(uri);\n\t\t\t\t}\n\t\t\t} else if (Intent.ACTION_VIEW.equals(action)) {\n\t\t\t\tUri data = intent.getData();\n\t\t\t\tLog.d(LOG_TAG, \"data: \" + data);\n\t\t\t\tloadAsync(data);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Load the incoming Image\n\t * \n\t * @param uri\n\t */\n\tprivate void loadAsync(final Uri uri) {\n\t\tLog.i(LOG_TAG, \"loadAsync: \" + uri);\n\n\t\tDrawable toRecycle = mImage.getDrawable();\n\t\tif (toRecycle != null && toRecycle instanceof BitmapDrawable) {\n\t\t\tif (((BitmapDrawable) mImage.getDrawable()).getBitmap() != null)\n\t\t\t\t((BitmapDrawable) mImage.getDrawable()).getBitmap().recycle();\n\t\t}\n\t\tmImage.setImageDrawable(null);\n\t\tmImageUri = null;\n\n\t\tDownloadAsync task = new DownloadAsync();\n\t\ttask.execute(uri);\n\t}\n\n\t@Override\n\tprotected void onDestroy() {\n\t\tLog.i(LOG_TAG, \"onDestroy\");\n\t\tsuper.onDestroy();\n\t\tmOutputFilePath = null;\n\t}\n\n\t@Override\n\tpublic void onContentChanged() {\n\t\tsuper.onContentChanged();\n\n\t\tSystem.out.println(\"context:\" + this.getPackageName());\n\n\t\tmEditButton = (Button) findViewById(FotorResUtils\n\t\t\t\t.getId(this, \"button2\"));\n\n\t\tmGalleryButton = (Button) findViewById(R.id.button_gallery);\n\n\t\tmCameraButton = (Button) findViewById(FotorResUtils.getId(this,\n\t\t\t\t\"button_camera\"));\n\n\t\tmImage = (ImageView) findViewById(FotorResUtils.getId(this, \"image\"));\n\n\t\tmImageContainer = findViewById(FotorResUtils.getId(this,\n\t\t\t\t\"image_container\"));\n\t}\n\n\t@Override\n\t/**\n\t * This method is called when feather has completed ( ie. user clicked on \"done\" or just exit the activity without saving ). <br />\n\t * If user clicked the \"done\" button you'll receive RESULT_OK as resultCode, RESULT_CANCELED otherwise.\n\t * \n\t * @param requestCode\n\t * \t- it is the code passed with startActivityForResult\n\t * @param resultCode\n\t * \t- result code of the activity launched ( it can be RESULT_OK or RESULT_CANCELED )\n\t * @param data\n\t * \t- the result data\n\t */\n\tpublic void onActivityResult(int requestCode, int resultCode, Intent data) {\n\t\tif (resultCode == RESULT_OK) {\n\t\t\tswitch (requestCode) {\n\t\t\tcase ACTION_REQUEST_FEATURE: {\n\n\t\t\t\tUri uri = Uri.parse(mOutputFilePath);\n\t\t\t\tloadAsync(uri);\n\n\t\t\t\tnew ProcessHDTask(this).execute();\n\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase CameraActivity.FOTOR_ACTION_REQUEST_CAMERA:\n\t\t\t\tString resultPath = data\n\t\t\t\t\t\t.getStringExtra(CameraActivity.FOTOR_KEY_CAPTURE_RESULTPATH);\n\t\t\t\tif (resultPath != null) {\n\t\t\t\t\tUri uri = Uri.parse(resultPath);\n\t\t\t\t\tloadAsync(uri);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase ACTION_REQUEST_GALLERY: {\n\t\t\t\tUri uri = data.getData();\n\t\t\t\tloadAsync(uri);\n\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t} else if (resultCode == RESULT_CANCELED) {\n\t\t\tswitch (requestCode) {\n\t\t\tcase ACTION_REQUEST_FEATURE:\n\t\t\t\tif (mSessionId != null)\n\t\t\t\t\tdeleteSession(mSessionId);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate String onSaveCompletion() {\n\n\t\tCursor cursor = getContentResolver().query(\n\t\t\t\tActionsColumns.getContentUri(this, mSessionId), null, null,\n\t\t\t\tnull, null);\n\t\tif (cursor != null && cursor.getCount() > 0) {\n\t\t\tList<Action> actions = new ArrayList<FotorContentProvider.ActionsColumns.Action>();\n\t\t\twhile (cursor.moveToNext()) {\n\t\t\t\tAction action = Action.create(cursor);\n\t\t\t\tSystem.out.println(\"action:\" + action);\n\t\t\t\tactions.add(action);\n\t\t\t}\n\t\t\tcursor.close();\n\t\t} else {\n\t\t\tSystem.out.println(\"cursor doesn't have datas.\");\n\t\t}\n\n\t\tCursor cursor2 = getContentResolver().query(\n\t\t\t\tSessionColumns.getContentUri(this, mSessionId), null, null,\n\t\t\t\tnull, null);\n\n\t\tSession session = Session.create(cursor2);\n\n\t\tif (session != null) {\n\t\t\tFotorHDFilter fotorHDFilter = new FotorHDFilter(this, mSessionId);\n\n\t\t\tfotorHDFilter.loadImage(session.file_name);\n\n\t\t\tfotorHDFilter.executeFilter();\n\n\t\t\tString dstPath = Utils.getSDPath() + \"/testOriginal.jpg\";\n\n\t\t\tfotorHDFilter.save(dstPath);\n\n\t\t\tfotorHDFilter.dispose();\n\t\t\tdeleteSession(mSessionId);\n\n\t\t\treturn dstPath;\n\t\t}\n\t\treturn null;\n\n\t}\n\n\tclass ProcessHDTask extends AsyncTask<Void, Void, String> {\n\t\tprivate ProgressDialog mDialog;\n\n\t\tprivate Context mContext;\n\n\t\tpublic ProcessHDTask(Context context) {\n\t\t\tthis.mContext = context;\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPreExecute() {\n\t\t\tmDialog = ProgressDialog.show(mContext, \"Process HD\",\n\t\t\t\t\t\"Please wait...\");\n\t\t}\n\n\t\t@Override\n\t\tprotected String doInBackground(Void... params) {\n\t\t\treturn onSaveCompletion();\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPostExecute(String result) {\n\t\t\tmDialog.dismiss();\n\n\t\t\tString msg = \"Process Error\";\n\t\t\tif (result != null) {\n\t\t\t\tmsg = result;\n\t\t\t}\n\n\t\t\tToast.makeText(mContext, msg, Toast.LENGTH_LONG).show();\n\t\t}\n\n\t}\n\n\t/**\n\t * Delete the session and all it's actions. We do not need it anymore.<br />\n\t * Note that this is optional. All old sessions are automatically removed in\n\t * Feather.\n\t * \n\t * @param session_id\n\t */\n\tprivate void deleteSession(final String session_id) {\n\t\tUri uri = FotorContentProvider.SessionColumns.getContentUri(this,\n\t\t\t\tsession_id);\n\t\tint count = getContentResolver().delete(uri, null, null);\n\t\tSystem.out.println(\"delete session count:\" + count);\n\t}\n\n\t/**\n\t * Given an Uri load the bitmap into the current ImageView and resize it to\n\t * fit the image container size\n\t * \n\t * @param uri\n\t */\n\t@SuppressWarnings(\"deprecation\")\n\tprivate boolean setImageURI(final Uri uri, final Bitmap bitmap) {\n\n\t\tLog.d(LOG_TAG,\n\t\t\t\t\"image size: \" + bitmap.getWidth() + \"x\" + bitmap.getHeight());\n\t\tmImage.setImageBitmap(bitmap);\n\t\tmImage.setBackgroundDrawable(null);\n\n\t\tmEditButton.setEnabled(true);\n\t\tmImageUri = uri;\n\t\treturn true;\n\t}\n\n\t/**\n\t * We need to notify the MediaScanner when a new file is created. In this\n\t * way all the gallery applications will be notified too.\n\t * \n\t * @param file\n\t */\n\tprivate void updateMedia(String filepath) {\n\t\tLog.i(LOG_TAG, \"updateMedia: \" + filepath);\n\t\tMediaScannerConnection.scanFile(getApplicationContext(),\n\t\t\t\tnew String[] { filepath }, null, null);\n\t}\n\n\t/**\n\t * Pick a random image from the user gallery\n\t * \n\t * @return\n\t */\n\t@SuppressWarnings(\"unused\")\n\tprivate Uri pickRandomImage() {\n\t\tCursor c = getContentResolver().query(\n\t\t\t\tImages.Media.EXTERNAL_CONTENT_URI,\n\t\t\t\tnew String[] { ImageColumns._ID, ImageColumns.DATA },\n\t\t\t\tImageColumns.SIZE + \">?\", new String[] { \"90000\" }, null);\n\t\tUri uri = null;\n\n\t\tif (c != null) {\n\t\t\tint total = c.getCount();\n\t\t\tint position = (int) (Math.random() * total);\n\t\t\tLog.d(LOG_TAG, \"pickRandomImage. total images: \" + total\n\t\t\t\t\t+ \", position: \" + position);\n\t\t\tif (total > 0) {\n\t\t\t\tif (c.moveToPosition(position)) {\n\t\t\t\t\tString data = c.getString(c\n\t\t\t\t\t\t\t.getColumnIndex(Images.ImageColumns.DATA));\n\t\t\t\t\tlong id = c.getLong(c\n\t\t\t\t\t\t\t.getColumnIndex(Images.ImageColumns._ID));\n\n\t\t\t\t\turi = Uri.parse(data);\n\n\t\t\t\t\tLog.d(LOG_TAG, uri.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t\tc.close();\n\t\t}\n\t\treturn uri;\n\t}\n\n\t/**\n\t * Return a new image file. Name is based on the current time. Parent folder\n\t * will be the one created with createFolders\n\t * \n\t * @return\n\t * @see #createFolders()\n\t */\n\tprivate File generateOutputFileName() {\n\t\tif (mGalleryFolder != null) {\n\t\t\tif (mGalleryFolder.exists()) {\n\t\t\t\tFile file = new File(mGalleryFolder, \"Fotor_\"\n\t\t\t\t\t\t+ System.currentTimeMillis() + \".jpg\");\n\t\t\t\treturn file;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\t/**\n\t * Once you've chosen an image you can start the feather activity\n\t * \n\t * @param uri\n\t */\n\t@SuppressWarnings(\"deprecation\")\n\tprivate void startFeature(Uri uri) {\n\n\t\tLog.d(LOG_TAG, \"uri: \" + uri);\n\n\t\t// first check the external storage availability\n\t\tif (!isExternalStorageAvilable()) {\n\t\t\tshowDialog(EXTERNAL_STORAGE_UNAVAILABLE);\n\t\t\treturn;\n\t\t}\n\n\t\t// create a temporary file where to store the resulting image\n\t\tFile file = generateOutputFileName();\n\n\t\tif (null != file) {\n\t\t\tmOutputFilePath = file.getAbsolutePath();\n\t\t} else {\n\t\t\tnew AlertDialog.Builder(this)\n\t\t\t\t\t.setTitle(android.R.string.dialog_alert_title)\n\t\t\t\t\t.setMessage(\"Failed to create a new File\").show();\n\t\t\treturn;\n\t\t}\n\n\t\t// Create the intent needed to start feather\n\t\tIntent newIntent = new Intent(this, FotorSDKActivity.class);\n\n\t\t// === INPUT IMAGE URI ===\n\t\t// Set the source image uri\n\t\tnewIntent.setData(uri);\n\n\t\t// === OUTPUT ====\n\t\t// Optional\n\t\t// Pass the uri of the destination image file.\n\t\t// This will be the same uri you will receive in the onActivityResult\n\n\t\tSystem.out.println(\"mOutputFilePath->:\" + mOutputFilePath);\n\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_OUTPUT_PATH, mOutputFilePath);\n\n\t\t// === OUTPUT QUALITY ===\n\t\t// Optional\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_OUTPUT_QUALITY, 90);\n\n\t\t// === MAX SIZE ===\n\t\t// Optional\n\t\t// you can pass the maximum allowed image size (for the preview),\n\t\t// otherwise feather will determine\n\t\t// the max size based on the device informations.\n\t\t// This will not affect the hi-res image size.\n\t\t// Here we're passing the current display size as max image size because\n\t\t// after\n\t\t// the execution of Aviary we're saving the HI-RES image so we don't\n\t\t// need a big\n\t\t// image for the preview\n\t\tfinal DisplayMetrics metrics = new DisplayMetrics();\n\t\tgetWindowManager().getDefaultDisplay().getMetrics(metrics);\n\n\t\tint max_size = Math.max(metrics.widthPixels, metrics.heightPixels);\n\n\t\tmax_size = (int) ((float) max_size / 1.4f);\n\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_MAX_PREVIEW_SIZE, max_size);\n\n\t\tmSessionId = FotorUtils.generateSessionId(this);\n\n\t\tgetContentResolver().delete(\n\t\t\t\tSessionColumns.getContentUri(this, mSessionId), null, null);\n\n\t\tLog.d(LOG_TAG,\n\t\t\t\t\"session: \" + mSessionId + \", size: \" + mSessionId.length());\n\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_FOTOR_SESSION_ID, mSessionId);\n\n\t\t// === FEATURE LIST ===\n\n\t\t// newIntent.putExtra(FotorConstants.EXTRA_FEATURE_LIST, new String[] {\n\t\t// FotorFeaturesFactory.FeatureType.FX_EFFECTS.name(),\n\t\t// FotorFeaturesFactory.FeatureType.BORDER.name() });\n\n\t\t// start feather\n\t\tstartActivityForResult(newIntent, ACTION_REQUEST_FEATURE);\n\t}\n\n\t/**\n\t * Check the external storage status\n\t * \n\t * @return\n\t */\n\tprivate boolean isExternalStorageAvilable() {\n\t\tString state = Environment.getExternalStorageState();\n\t\tif (Environment.MEDIA_MOUNTED.equals(state)) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Try to create the required folder on the sdcard where images will be\n\t * saved to.\n\t * \n\t * @return\n\t */\n\tprivate File createFolders() {\n\n\t\tFile baseDir;\n\n\t\tif (android.os.Build.VERSION.SDK_INT < 8) {\n\t\t\tbaseDir = Environment.getExternalStorageDirectory();\n\t\t} else {\n\t\t\tbaseDir = Environment\n\t\t\t\t\t.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);\n\t\t}\n\n\t\tif (baseDir == null)\n\t\t\treturn Environment.getExternalStorageDirectory();\n\n\t\tLog.d(LOG_TAG, \"Pictures folder: \" + baseDir.getAbsolutePath());\n\t\tFile fotorSDKFolder = new File(baseDir, FOLDER_NAME);\n\n\t\tif (fotorSDKFolder.exists())\n\t\t\treturn fotorSDKFolder;\n\t\tif (fotorSDKFolder.mkdirs())\n\t\t\treturn fotorSDKFolder;\n\n\t\treturn Environment.getExternalStorageDirectory();\n\t}\n\n\tclass DownloadAsync extends AsyncTask<Uri, Void, Bitmap> implements\n\t\t\tOnCancelListener {\n\n\t\tProgressDialog mProgress;\n\t\tprivate Uri mUri;\n\n\t\t@Override\n\t\tprotected void onPreExecute() {\n\t\t\tsuper.onPreExecute();\n\n\t\t\tmProgress = new ProgressDialog(MainActivity.this);\n\t\t\tmProgress.setIndeterminate(true);\n\t\t\tmProgress.setCancelable(true);\n\t\t\tmProgress.setMessage(\"Loading image...\");\n\t\t\tmProgress.setOnCancelListener(this);\n\t\t\tmProgress.show();\n\t\t}\n\n\t\t@Override\n\t\tprotected Bitmap doInBackground(Uri... params) {\n\t\t\tmUri = params[0];\n\n\t\t\tDisplayMetrics displayMetrics = getResources().getDisplayMetrics();\n\n\t\t\tint maxW = (int) (displayMetrics.widthPixels / 1.5);\n\t\t\tint maxH = (int) (displayMetrics.heightPixels / 1.5);\n\n\t\t\tBitmap bitmap = BitmapDecodeUtils.decode(getApplicationContext(),\n\t\t\t\t\tmUri, maxW, maxH);\n\n\t\t\t// bitmap = BitmapFactory.decodeFile(mUri.toString(), options);\n\n\t\t\t// int angel = 0;\n\t\t\t// try {\n\t\t\t// ExifInterface exif = new ExifInterface(mUri.toString());\n\t\t\t// int orientation = exif.getAttributeInt(\n\t\t\t// ExifInterface.TAG_ORIENTATION, -1);\n\t\t\t// if (orientation != -1) {\n\t\t\t// switch (orientation) {\n\t\t\t// case ExifInterface.ORIENTATION_ROTATE_90:\n\t\t\t// angel = 90;\n\t\t\t// break;\n\t\t\t// case ExifInterface.ORIENTATION_ROTATE_180:\n\t\t\t// angel = 180;\n\t\t\t// break;\n\t\t\t// case ExifInterface.ORIENTATION_ROTATE_270:\n\t\t\t// angel = 270;\n\t\t\t// break;\n\t\t\t// default:\n\t\t\t// break;\n\t\t\t// }\n\t\t\t// }\n\t\t\t// } catch (IOException e) {\n\t\t\t// // TODO Auto-generated catch block\n\t\t\t// e.printStackTrace();\n\t\t\t// }\n\t\t\t// if (angel != 0) {\n\t\t\t// Matrix matrix = new Matrix();\n\t\t\t// matrix.setRotate(angel);\n\t\t\t// bitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(),\n\t\t\t// bitmap.getHeight(), matrix, true);\n\t\t\t// }\n\t\t\treturn bitmap;\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPostExecute(Bitmap result) {\n\t\t\tsuper.onPostExecute(result);\n\n\t\t\tif (mProgress.getWindow() != null) {\n\t\t\t\tmProgress.dismiss();\n\t\t\t}\n\n\t\t\tif (result != null) {\n\t\t\t\tsetImageURI(mUri, result);\n\t\t\t} else {\n\t\t\t\tToast.makeText(MainActivity.this,\n\t\t\t\t\t\t\"Failed to load image \" + mUri, Toast.LENGTH_SHORT)\n\t\t\t\t\t\t.show();\n\t\t\t}\n\t\t}\n\n\t\t@Override\n\t\tpublic void onCancel(DialogInterface dialog) {\n\t\t\tLog.i(LOG_TAG, \"onProgressCancel\");\n\t\t\tthis.cancel(true);\n\t\t}\n\n\t\t@Override\n\t\tprotected void onCancelled() {\n\t\t\tsuper.onCancelled();\n\t\t\tLog.i(LOG_TAG, \"onCancelled\");\n\t\t}\n\n\t}\n}\n"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/a0/a058978066e296310b0224baa3e95484f15c8f3d.svn-base",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    package=\"com.example.fotorsdkdemo\"\n    android:versionCode=\"1\"\n    android:versionName=\"1.0.3\" >\n\n    <!-- FotorSDK Required : Minimum sdk version -->\n    <uses-sdk\n        android:minSdkVersion=\"10\"\n        android:targetSdkVersion=\"19\" />\n    <!-- FotorSDK Required : Permissions -->\n    <uses-permission android:name=\"android.permission.INTERNET\" />\n    <uses-permission android:name=\"android.permission.CAMERA\" />\n    <uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\" />\n    <uses-permission android:name=\"android.permission.FLASHLIGHT\" />\n\n    <application\n        android:allowBackup=\"true\"\n        android:icon=\"@drawable/icon\"\n        android:label=\"@string/app_name\"\n        android:theme=\"@style/AppTheme\" >\n        <activity\n            android:name=\"com.example.fotorsdkdemo.MainActivity\"\n            android:label=\"@string/app_name\" >\n            <intent-filter>\n                <action android:name=\"android.intent.action.MAIN\" />\n\n                <category android:name=\"android.intent.category.LAUNCHER\" />\n            </intent-filter>\n        </activity>\n\n        <!-- FotorSDK Required : proccess main activity -->\n        <activity\n            android:name=\"com.everimaging.fotorsdk.FotorSDKActivity\"\n            android:configChanges=\"orientation|keyboardHidden|screenSize\"\n            android:hardwareAccelerated=\"true\"\n            android:largeHeap=\"true\"\n            android:screenOrientation=\"unspecified\"\n            android:theme=\"@style/FotorTheme\" />\n        <!-- FotorSDK Required : camera main activity -->\n        <activity android:name=\"com.everimaging.fotorsdk.camera.CameraActivity\" >\n        </activity>\n        <!-- FotorSDK Required : content provider for process high resolution  #NOTE# authorities you must change -->\n        <provider\n            android:name=\"com.everimaging.fotorsdk.provider.FotorContentProvider\"\n            android:authorities=\"com.example.fotorsdkdemo.FotorContentProvider\"\n            android:exported=\"false\" />\n\n        <!-- FotorSDK Required : receiver to listener newly feature package change -->\n        <receiver\n            android:name=\"com.everimaging.fotorsdk.receivers.FotorSystemReceiver\"\n            android:exported=\"true\"\n            android:process=\":fotor_receiver\" >\n            <intent-filter>\n                <action android:name=\"android.intent.action.PACKAGE_ADDED\" />\n                <action android:name=\"android.intent.action.PACKAGE_REMOVED\" />\n                <action android:name=\"android.intent.action.PACKAGE_REPLACED\" />\n\n                <data android:scheme=\"package\" />\n            </intent-filter>\n        </receiver>\n        <!-- FotorSDK Required : You Fotor API_KEY -->\n        <meta-data\n            android:name=\"FOTOR_API_KEY\"\n            android:value=\"fotor_api_key\" />\n    </application>\n\n</manifest>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/a1/a1e3bda0c91a5191ca1dea31f45dcfe834accc4a.svn-base",
    "content": "<Effect name=\"Lomo Life\" type=\"Lomo\" id=\"5\">\r\n\t<Allocation name=\"tableTexture\"/>\r\n\t\r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(0, 0)(117, 95)(155, 171)(179, 225)(255, 255)</R>\r\n            <G>(0, 0)(94, 66)(155, 176)(255, 255)</G>\r\n            <B>(0, 0)(48, 59)(141, 130)(255, 224)</B>\r\n        </params>\r\n    </BaseFilter>\r\n\t\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/a3/a33eeaaaff41f46520323424ca79e399e2d53af2.svn-base",
    "content": "<Effect name=\"Walden\" type=\"Lomo\" id=\"2\">\r\n\t<Allocation name=\"level\"/>\r\n\t<Allocation name=\"tableTexture\"/>\r\n\r\n\t<BaseFilter name=\"Level\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>level</dst>\r\n\t\t<params>\r\n\t\t\t<type>GetScale</type>\r\n\t\t\t<dark>0.1</dark>\r\n\t\t\t<light>0.2</light>\r\n\t\t\t<saturation>1.0</saturation>\r\n\t\t</params>\r\n\t</BaseFilter>\r\n\t\r\n\t<BaseFilter name=\"Vignette\">\r\n\t\t<src>level</src>\r\n\t\t<dst>TMP</dst>\r\n\t\t<params>\r\n\t\t    <mode>quadric</mode>\r\n\t\t\t<vignetteStart>0.0</vignetteStart>\r\n\t\t\t<vignetteRange>1.0</vignetteRange>\r\n\t\t</params>\r\n\t</BaseFilter>\r\n\t\r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(0, 0)(127, 91)(255, 214)</R>\r\n            <G>(0, 0)(127, 102)(255, 255)</G>\r\n            <B>(0, 0)(127, 108)(255, 255)</B>\r\n        </params>\r\n    </BaseFilter>\r\n\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>TMP</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/a3/a396b072ee70577a67f05e9a3e191e6b53027175.svn-base",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<classpath>\n\t<classpathentry kind=\"src\" path=\"src\"/>\n\t<classpathentry kind=\"src\" path=\"gen\"/>\n\t<classpathentry kind=\"con\" path=\"com.android.ide.eclipse.adt.ANDROID_FRAMEWORK\"/>\n\t<classpathentry exported=\"true\" kind=\"con\" path=\"com.android.ide.eclipse.adt.LIBRARIES\"/>\n\t<classpathentry exported=\"true\" kind=\"con\" path=\"com.android.ide.eclipse.adt.DEPENDENCIES\"/>\n\t<classpathentry kind=\"output\" path=\"bin/classes\"/>\n</classpath>\n"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/a5/a556148b66359e94f7ccde75022d7b2b489d8164.svn-base",
    "content": "<resources>\n\n    <!--\n        Base application theme for API 14+. This theme completely replaces\n        AppBaseTheme from BOTH res/values/styles.xml and\n        res/values-v11/styles.xml on API 14+ devices.\n    -->\n    <style name=\"AppBaseTheme\" parent=\"android:Theme.Holo.Light.NoActionBar.Fullscreen\">\n        <!-- API 14 theme customizations can go here. -->\n    </style>\n\n</resources>\n"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/a5/a5b5ca45da347e01b26e995a77d7ef21006ad211.svn-base",
    "content": "<Effect name=\"Landscape\" type=\"Scenes\" id=\"163\">\r\n    <Allocation name=\"tableTexture\"/>\r\n\t\r\n    <BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(17, 0)(37, 18)(75, 52)(238, 255)</R>\r\n            <G>(16, 0)(53, 32)(113, 92)(236, 255)</G>\r\n            <B>(16, 0)(80, 57)(171, 164)(235, 255)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/a9/a98cecac96dab90bff5a7d390e2b08b5297a8e48.svn-base",
    "content": "{\n\t\"version\": 1,\n\t\"category_name\": \"Charm\",\n\t\"fonts_array\": [{\n\t\t\"font_id\": 1,\n\t\t\"font_name\": \"Sofia\",\n\t\t\"font_normal\": \"Sofia\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"Sofia\"\n\t},\n\t{\n\t\t\"font_id\": 2,\n\t\t\"font_name\": \"Ostrich Sans\",\n\t\t\"font_normal\": \"Ostrich Sans\",\n\t\t\"font_bold\": \"OstrichSans-Bold\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"OstrichSans-Bold\"\n\t},\n\t{\n\t\t\"font_id\": 3,\n\t\t\"font_name\": \"Bearpaw\",\n\t\t\"font_normal\": \"Bearpaw\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"Bearpaw\"\n\t},\n\t{\n\t\t\"font_id\": 4,\n\t\t\"font_name\": \"American Typewriter\",\n\t\t\"font_normal\": \"AmericanTypewriter\",\n\t\t\"font_bold\": \"AmericanTypewriter-Bold\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"AmericanTypewriter-Bold\"\n\t},\n\t{\n\t\t\"font_id\": 5,\n\t\t\"font_name\": \"Stencil Std\",\n\t\t\"font_normal\": \"Stencil Std\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"Stencil Std\"\n\t},\n\t{\n\t\t\"font_id\": 6,\n\t\t\"font_name\": \"Brush Script MT\",\n\t\t\"font_normal\": \"Brush Script\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"Brush Script\"\n\t},\n\t{\n\t\t\"font_id\": 7,\n\t\t\"font_name\": \"Noteworthy\",\n\t\t\"font_normal\": \"Noteworthy\",\n\t\t\"font_bold\": \"Noteworthy-Bold\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"Noteworthy-Bold\"\n\t},\n\t{\n\t\t\"font_id\": 8,\n\t\t\"font_name\": \"Miama\",\n\t\t\"font_normal\": \"Miama\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"Miama\"\n\t},\n\t{\n\t\t\"font_id\": 9,\n\t\t\"font_name\": \"Blackout\",\n\t\t\"font_normal\": \"Blackout\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"Blackout\"\n\t},\n\t{\n\t\t\"font_id\": 10,\n\t\t\"font_name\": \"Muli\",\n\t\t\"font_normal\": \"Muli\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"Muli-Italic\",\n\t\t\"font_bolditalic\": \"Muli-Italic\"\n\t},\n\t{\n\t\t\"font_id\": 11,\n\t\t\"font_name\": \"padaloma italic\",\n\t\t\"font_normal\": \"padaloma\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"padaloma\"\n\t},\n\t{\n\t\t\"font_id\": 12,\n\t\t\"font_name\": \"Josefin Sans\",\n\t\t\"font_normal\": \"Josefin Sans\",\n\t\t\"font_bold\": \"JosefinSans-Bold\",\n\t\t\"font_italic\": \"JosefinSans-Italic\",\n\t\t\"font_bolditalic\": \"JosefinSans-BoldItalic\"\n\t},\n\t{\n\t\t\"font_id\": 13,\n\t\t\"font_name\": \"Garogier\",\n\t\t\"font_normal\": \"Garogier\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"Garogier\"\n\t}\n\t]\n}"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/aa/aa1f5f1723de9aee2669dc44a26fbc0ce776d35f.svn-base",
    "content": "<resources>\n\n    <!--\n        Base application theme for API 11+. This theme completely replaces\n        AppBaseTheme from res/values/styles.xml on API 11+ devices.\n    -->\n    <style name=\"AppBaseTheme\" parent=\"android:Theme.Holo.Light\">\n        <!-- API 11 theme customizations can go here. -->\n    </style>\n\n</resources>\n"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/aa/aa91bd20a01c02603ac8f4df60bef48758548c2d.svn-base",
    "content": "<Frame name=\"Snowflake\" type=\"Gallery\" id=\"3\">\r\n\t<LeftTop>3M_0.png</LeftTop>\r\n\t<Top>3M_1.png</Top>\r\n\t<RightTop>3M_2.png</RightTop>\r\n\t<Right>3M_3.png</Right>\r\n\t<RightBottom>3M_4.png</RightBottom>\r\n\t<Bottom>3M_5.png</Bottom>\r\n\t<LeftBottom>3M_6.png</LeftBottom>\r\n\t<Left>3M_7.png</Left>\r\n\r\n\t<Unity>3M.png</Unity>\r\n\t\r\n\t<params>\r\n\t\t<mode>M</mode>\r\n\t\t<thickness>0.05</thickness>\r\n\t\t<width>161</width>\r\n\t\t<height>161</height>\r\n\t\t<block type=\"leftTop\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>80</width>\r\n\t\t\t<height>80</height>\r\n\t\t</block>\r\n\t\t<block type=\"top\">\r\n\t\t\t<left>80</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>1</width>\r\n\t\t\t<height>80</height>\r\n\t\t</block>\r\n\t\t<block type=\"rightTop\">\r\n\t\t\t<left>81</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>80</width>\r\n\t\t\t<height>80</height>\r\n\t\t</block>\r\n\t\t<block type=\"right\">\r\n\t\t\t<left>81</left>\r\n\t\t\t<top>80</top>\r\n\t\t\t<width>80</width>\r\n\t\t\t<height>1</height>\r\n\t\t</block>\r\n\t\t<block type=\"rightBottom\">\r\n\t\t\t<left>81</left>\r\n\t\t\t<top>81</top>\r\n\t\t\t<width>80</width>\r\n\t\t\t<height>80</height>\r\n\t\t</block>\r\n\t\t<block type=\"bottom\">\r\n\t\t\t<left>80</left>\r\n\t\t\t<top>81</top>\r\n\t\t\t<width>1</width>\r\n\t\t\t<height>80</height>\r\n\t\t</block>\r\n\t\t<block type=\"leftBottom\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>81</top>\r\n\t\t\t<width>80</width>\r\n\t\t\t<height>80</height>\r\n\t\t</block>\r\n\t\t<block type=\"left\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>80</top>\r\n\t\t\t<width>80</width>\r\n\t\t\t<height>1</height>\r\n\t\t</block>\r\n\t</params>\r\n</Frame>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/ad/ad9e9267bc0cf1e8dd2be128bc64261b575b012a.svn-base",
    "content": "[[\"stickers_love_1.png\",\n\"stickers_love_1_icon.png\"],\n[\"stickers_love_2.png\",\n\"stickers_love_2_icon.png\"],\n[\"stickers_love_3.png\",\n\"stickers_love_3_icon.png\"],\n[\"stickers_love_4.png\",\n\"stickers_love_4_icon.png\"],\n[\"stickers_love_5.png\",\n\"stickers_love_5_icon.png\"],\n[\"stickers_love_6.png\",\n\"stickers_love_6_icon.png\"],\n[\"stickers_love_7.png\",\n\"stickers_love_7_icon.png\"],\n[\"stickers_love_8.png\",\n\"stickers_love_8_icon.png\"],\n[\"stickers_love_9.png\",\n\"stickers_love_9_icon.png\"],\n[\"stickers_love_10.png\",\n\"stickers_love_10_icon.png\"],\n[\"stickers_love_11.png\",\n\"stickers_love_11_icon.png\"],\n[\"stickers_love_12.png\",\n\"stickers_love_12_icon.png\"],\n[\"stickers_love_13.png\",\n\"stickers_love_13_icon.png\"],\n[\"stickers_love_14.png\",\n\"stickers_love_14_icon.png\"],\n[\"stickers_love_15.png\",\n\"stickers_love_15_icon.png\"],\n[\"stickers_love_16.png\",\n\"stickers_love_16_icon.png\"]]"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/af/afaa4cc1820f9992969da150808bc0b865975646.svn-base",
    "content": "<Effect name=\"Mini-Oven\" type=\"Analog\" id=\"73\">\r\n\t<Allocation name=\"tableTexture1\"/>\r\n\t<Allocation name=\"tableTexture2\"/>\r\n\t<Allocation name=\"dst_a\"/>\r\n\t<Allocation name=\"dst_b\"/>\r\n\t<Allocation name=\"specialAlphaTexture\">\r\n\t\t<file>vtg.png</file>\r\n\t</Allocation>\r\n\t\r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture1</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(16, 0)(138, 133)(202, 185)(255, 213)</R>\r\n            <G>(82, 0)(128, 85)(173, 145)(255, 207)</G>\r\n            <B>(108, 62)(176, 137)(255, 184)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture2</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(0, 105)(61, 167)(128, 221)(190, 236)(255, 255)</R>\r\n            <G>(3, 0)(64, 98)(130, 191)(191, 228)(255, 255)</G>\r\n            <B>(54, 62)(86, 101)(129, 155)(191, 192)(255, 222)</B>\r\n        </params>\r\n    </BaseFilter>\r\n\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<tableTexture>tableTexture1</tableTexture>\r\n\t\t<dst>dst_a</dst>\r\n\t</BaseFilter>\r\n\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<tableTexture>tableTexture2</tableTexture>\r\n\t\t<dst>dst_b</dst>\r\n\t</BaseFilter>\r\n\r\n\t<BaseFilter name=\"SpecialTrans\">\r\n\t\t<src>dst_a</src>\r\n\t\t<dst>dst_b</dst>\r\n\t\t<tex>specialAlphaTexture</tex>\r\n\t</BaseFilter>\r\n\r\n\t<Out DST=\"dst_b\"/>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/af/afc1bf1787c384436565994646909db35fe7e06f.svn-base",
    "content": "package com.example.fotorsdkdemo;\n\nimport java.io.File;\n\nimport com.everimaging.fotorsdk.FotorConstants;\nimport com.everimaging.fotorsdk.FotorFeaturesFactory;\nimport com.everimaging.fotorsdk.FotorSDKActivity;\nimport com.everimaging.fotorsdk.FotorSDKVersion;\nimport com.everimaging.fotorsdk.FotorUtils;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider.ActionsColumns.Action;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns.Session;\nimport com.everimaging.fotorsdk.utils.BitmapDecodeUtils;\nimport com.everimaging.fotorsdk.utils.Utils;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\nimport com.everimaging.fotorsdk.engine.FotorHDFilter;\n\nimport android.app.Activity;\nimport android.app.AlertDialog;\nimport android.app.ProgressDialog;\nimport android.content.Context;\nimport android.content.DialogInterface;\nimport android.content.DialogInterface.OnCancelListener;\nimport android.content.Intent;\nimport android.database.Cursor;\nimport android.graphics.Bitmap;\nimport android.graphics.drawable.BitmapDrawable;\nimport android.graphics.drawable.Drawable;\nimport android.media.MediaScannerConnection;\nimport android.net.Uri;\nimport android.os.AsyncTask;\nimport android.os.Bundle;\nimport android.os.Environment;\nimport android.provider.MediaStore.Images;\nimport android.provider.MediaStore.Images.ImageColumns;\nimport android.util.DisplayMetrics;\nimport android.util.Log;\nimport android.view.View;\nimport android.widget.Button;\nimport android.widget.ImageView;\nimport android.widget.TextView;\nimport android.widget.Toast;\n\npublic class MainActivity extends Activity {\n\n\tprivate static final int ACTION_REQUEST_FEATURE = 2;\n\n\tprivate static final int ACTION_REQUEST_GALLERY = 3;\n\n\tprivate static final int EXTERNAL_STORAGE_UNAVAILABLE = 1;\n\n\tpublic static final String LOG_TAG = \"fotorsdk_demo\";\n\n\t/** Folder name on the sdcard where the images will be saved **/\n\n\tprivate static final String FOLDER_NAME = \"FotorSDK\";\n\n\tButton mEditButton;\n\tButton mGalleryButton;\n\tImageView mImage;\n\tString mOutputFilePath;\n\tUri mImageUri;\n\n\tprivate TextView mSDKVersionLabel;\n\n\tprivate Uri mSampleUri;\n\n\tprivate File mGalleryFolder;\n\n\t/** session id for the hi-res post processing */\n\tprivate String mSessionId;\n\n\t@Override\n\tprotected void onCreate(Bundle savedInstanceState) {\n\t\tLog.i(LOG_TAG, \"onCreate\");\n\t\tsuper.onCreate(savedInstanceState);\n\n\t\tsetContentView(R.layout.activity_main);\n\n\t\tmEditButton.setOnClickListener(new View.OnClickListener() {\n\n\t\t\t@Override\n\t\t\tpublic void onClick(View v) {\n\t\t\t\tif (mImageUri != null) {\n\t\t\t\t\tstartFeature(mImageUri);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tmGalleryButton.setOnClickListener(new View.OnClickListener() {\n\n\t\t\t@Override\n\t\t\tpublic void onClick(View v) {\n\t\t\t\tpickFromGallery();\n\t\t\t}\n\t\t});\n\n\t\tmGalleryFolder = createFolders();\n\n\t\t// add sample image\n\t\tmSampleUri = Uri.parse(\"file:///android_asset/sample.jpg\");\n\t\tloadAsync(mSampleUri);\n\n\t\tif (BuildConfig.DEBUG) {\n\t\t\tmSDKVersionLabel.setText(\"V\" + FotorSDKVersion.FOTOR_SDK_VERSION);\n\t\t}\n\n\t}\n\n\t/**\n\t * Start the activity to pick an image from the user gallery\n\t */\n\tprivate void pickFromGallery() {\n\t\tIntent intent = new Intent(Intent.ACTION_GET_CONTENT);\n\t\tintent.setType(\"image/*\");\n\n\t\tIntent chooser = Intent.createChooser(intent, \"Choose a Picture\");\n\t\tstartActivityForResult(chooser, ACTION_REQUEST_GALLERY);\n\n\t}\n\n\t@Override\n\tprotected void onResume() {\n\t\tLog.i(LOG_TAG, \"onResume\");\n\t\tsuper.onResume();\n\n\t\tif (getIntent() != null) {\n\t\t\thandleIntent(getIntent());\n\t\t\tsetIntent(new Intent());\n\t\t}\n\t}\n\n\t/**\n\t * Handle the incoming {@link Intent}\n\t */\n\tprivate void handleIntent(Intent intent) {\n\n\t\tString action = intent.getAction();\n\n\t\tif (null != action) {\n\n\t\t\tif (Intent.ACTION_SEND.equals(action)) {\n\n\t\t\t\tBundle extras = intent.getExtras();\n\t\t\t\tif (extras != null && extras.containsKey(Intent.EXTRA_STREAM)) {\n\t\t\t\t\tUri uri = (Uri) extras.get(Intent.EXTRA_STREAM);\n\t\t\t\t\tloadAsync(uri);\n\t\t\t\t}\n\t\t\t} else if (Intent.ACTION_VIEW.equals(action)) {\n\t\t\t\tUri data = intent.getData();\n\t\t\t\tLog.d(LOG_TAG, \"data: \" + data);\n\t\t\t\tloadAsync(data);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Load the incoming Image\n\t * \n\t * @param uri\n\t */\n\tprivate void loadAsync(final Uri uri) {\n\t\tLog.i(LOG_TAG, \"loadAsync: \" + uri);\n\n\t\tDrawable toRecycle = mImage.getDrawable();\n\t\tif (toRecycle != null && toRecycle instanceof BitmapDrawable) {\n\t\t\tif (((BitmapDrawable) mImage.getDrawable()).getBitmap() != null)\n\t\t\t\t((BitmapDrawable) mImage.getDrawable()).getBitmap().recycle();\n\t\t}\n\t\tmImage.setImageDrawable(null);\n\t\tmImageUri = null;\n\n\t\tDownloadAsync task = new DownloadAsync();\n\t\ttask.execute(uri);\n\t}\n\n\t@Override\n\tprotected void onDestroy() {\n\t\tLog.i(LOG_TAG, \"onDestroy\");\n\t\tsuper.onDestroy();\n\t\tmOutputFilePath = null;\n\t}\n\n\t@Override\n\tpublic void onContentChanged() {\n\t\tsuper.onContentChanged();\n\n\t\tSystem.out.println(\"context:\" + this.getPackageName());\n\n\t\tmEditButton = (Button) findViewById(R.id.button2);\n\n\t\tmGalleryButton = (Button) findViewById(R.id.button_gallery);\n\n\t\tmImage = (ImageView) findViewById(R.id.image);\n\n\t\tmSDKVersionLabel = (TextView) findViewById(R.id.fotor_sdk_version_label);\n\n\t}\n\n\t@Override\n\t/**\n\t * This method is called when feather has completed ( ie. user clicked on \"done\" or just exit the activity without saving ). <br />\n\t * If user clicked the \"done\" button you'll receive RESULT_OK as resultCode, RESULT_CANCELED otherwise.\n\t * \n\t * @param requestCode\n\t * \t- it is the code passed with startActivityForResult\n\t * @param resultCode\n\t * \t- result code of the activity launched ( it can be RESULT_OK or RESULT_CANCELED )\n\t * @param data\n\t * \t- the result data\n\t */\n\tpublic void onActivityResult(int requestCode, int resultCode, Intent data) {\n\t\tif (resultCode == RESULT_OK) {\n\t\t\tswitch (requestCode) {\n\t\t\tcase ACTION_REQUEST_FEATURE: {\n\n\t\t\t\tUri uri = Uri.parse(mOutputFilePath);\n\t\t\t\tBitmap bitmap = BitmapDecodeUtils.decodeFile(mOutputFilePath);\n\t\t\t\tsetImageURI(uri, bitmap);\n\t\t\t\tnew ProcessHDTask(this).execute();\n\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase ACTION_REQUEST_GALLERY: {\n\t\t\t\tUri uri = data.getData();\n\t\t\t\tloadAsync(uri);\n\t\t\t\tstartFeature(uri);\n\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t} else if (resultCode == RESULT_CANCELED) {\n\t\t\tswitch (requestCode) {\n\t\t\tcase ACTION_REQUEST_FEATURE:\n\t\t\t\tif (mSessionId != null)\n\t\t\t\t\tdeleteSession(mSessionId);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate String onSaveCompletion() {\n\n\t\tUri sessionUri = SessionColumns.getContentUri(this, mSessionId);\n\n\t\tCursor cursor = getContentResolver().query(sessionUri, null, null,\n\t\t\t\tnull, null);\n\t\t\n\t\tSession session = Session.create(cursor);\n\n\t\tif (session != null) {\n\t\t\tFotorHDFilter fotorHDFilter = new FotorHDFilter(this, session);\n\n\t\t\tfotorHDFilter.loadImage();\n\n\t\t\tfotorHDFilter.executeFilter();\n\n\t\t\tString dstPath = Utils.getSDPath() + \"/testOriginal.jpg\";\n\n\t\t\tfotorHDFilter.save(dstPath);\n\n\t\t\tfotorHDFilter.dispose();\n\t\t\tdeleteSession(mSessionId);\n\n\t\t\treturn dstPath;\n\t\t}\n\t\treturn null;\n\n\t}\n\n\tclass ProcessHDTask extends AsyncTask<Void, Void, String> {\n\t\tprivate ProgressDialog mDialog;\n\n\t\tprivate Context mContext;\n\n\t\tpublic ProcessHDTask(Context context) {\n\t\t\tthis.mContext = context;\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPreExecute() {\n\t\t\tmDialog = ProgressDialog.show(mContext, \"Process HD\",\n\t\t\t\t\t\"Please wait...\");\n\t\t}\n\n\t\t@Override\n\t\tprotected String doInBackground(Void... params) {\n\t\t\treturn onSaveCompletion();\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPostExecute(String result) {\n\t\t\tmDialog.dismiss();\n\n\t\t\tString msg = \"Process Error\";\n\t\t\tif (result != null) {\n\t\t\t\tmsg = result;\n\t\t\t}\n\n\t\t\tToast.makeText(mContext, msg, Toast.LENGTH_LONG).show();\n\t\t}\n\n\t}\n\n\t/**\n\t * Delete the session and all it's actions. We do not need it anymore.<br />\n\t * Note that this is optional. All old sessions are automatically removed in\n\t * Feather.\n\t * \n\t * @param session_id\n\t */\n\tprivate void deleteSession(final String session_id) {\n\t\tUri uri = FotorContentProvider.SessionColumns.getContentUri(this,\n\t\t\t\tsession_id);\n\t\tint count = getContentResolver().delete(uri, null, null);\n\t\tSystem.out.println(\"delete session count:\" + count);\n\t}\n\n\t/**\n\t * Given an Uri load the bitmap into the current ImageView and resize it to\n\t * fit the image container size\n\t * \n\t * @param uri\n\t */\n\t@SuppressWarnings(\"deprecation\")\n\tprivate boolean setImageURI(final Uri uri, final Bitmap bitmap) {\n\n\t\tLog.d(LOG_TAG,\n\t\t\t\t\"image size: \" + bitmap.getWidth() + \"x\" + bitmap.getHeight());\n\t\tmImage.setImageBitmap(bitmap);\n\t\tmImage.setBackgroundDrawable(null);\n\n\t\tmEditButton.setEnabled(true);\n\t\tmImageUri = uri;\n\t\treturn true;\n\t}\n\n\t/**\n\t * We need to notify the MediaScanner when a new file is created. In this\n\t * way all the gallery applications will be notified too.\n\t * \n\t * @param file\n\t */\n\tprivate void updateMedia(String filepath) {\n\t\tLog.i(LOG_TAG, \"updateMedia: \" + filepath);\n\t\tMediaScannerConnection.scanFile(getApplicationContext(),\n\t\t\t\tnew String[] { filepath }, null, null);\n\t}\n\n\t/**\n\t * Pick a random image from the user gallery\n\t * \n\t * @return\n\t */\n\t@SuppressWarnings(\"unused\")\n\tprivate Uri pickRandomImage() {\n\t\tCursor c = getContentResolver().query(\n\t\t\t\tImages.Media.EXTERNAL_CONTENT_URI,\n\t\t\t\tnew String[] { ImageColumns._ID, ImageColumns.DATA },\n\t\t\t\tImageColumns.SIZE + \">?\", new String[] { \"90000\" }, null);\n\t\tUri uri = null;\n\n\t\tif (c != null) {\n\t\t\tint total = c.getCount();\n\t\t\tint position = (int) (Math.random() * total);\n\t\t\tLog.d(LOG_TAG, \"pickRandomImage. total images: \" + total\n\t\t\t\t\t+ \", position: \" + position);\n\t\t\tif (total > 0) {\n\t\t\t\tif (c.moveToPosition(position)) {\n\t\t\t\t\tString data = c.getString(c\n\t\t\t\t\t\t\t.getColumnIndex(Images.ImageColumns.DATA));\n\t\t\t\t\tlong id = c.getLong(c\n\t\t\t\t\t\t\t.getColumnIndex(Images.ImageColumns._ID));\n\n\t\t\t\t\turi = Uri.parse(data);\n\n\t\t\t\t\tLog.d(LOG_TAG, uri.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t\tc.close();\n\t\t}\n\t\treturn uri;\n\t}\n\n\t/**\n\t * Return a new image file. Name is based on the current time. Parent folder\n\t * will be the one created with createFolders\n\t * \n\t * @return\n\t * @see #createFolders()\n\t */\n\tprivate File generateOutputFileName() {\n\t\tif (mGalleryFolder != null) {\n\t\t\tif (mGalleryFolder.exists()) {\n\t\t\t\tFile file = new File(mGalleryFolder, \"Fotor_\"\n\t\t\t\t\t\t+ System.currentTimeMillis() + \".jpg\");\n\t\t\t\treturn file;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\t/**\n\t * Once you've chosen an image you can start the feather activity\n\t * \n\t * @param uri\n\t */\n\t@SuppressWarnings(\"deprecation\")\n\tprivate void startFeature(Uri uri) {\n\n\t\tLog.d(LOG_TAG, \"uri: \" + uri);\n\n\t\t// first check the external storage availability\n\t\tif (!isExternalStorageAvilable()) {\n\t\t\tshowDialog(EXTERNAL_STORAGE_UNAVAILABLE);\n\t\t\treturn;\n\t\t}\n\n\t\t// create a temporary file where to store the resulting image\n\t\tFile file = generateOutputFileName();\n\n\t\tif (null != file) {\n\t\t\tmOutputFilePath = file.getAbsolutePath();\n\t\t} else {\n\t\t\tnew AlertDialog.Builder(this)\n\t\t\t\t\t.setTitle(android.R.string.dialog_alert_title)\n\t\t\t\t\t.setMessage(\"Failed to create a new File\").show();\n\t\t\treturn;\n\t\t}\n\n\t\t// Create the intent needed to start feather\n\t\tIntent newIntent = new Intent(this, FotorSDKActivity.class);\n\n\t\t// === INPUT IMAGE URI ===\n\t\t// Set the source image uri\n\t\tnewIntent.setData(uri);\n\n\t\t// === OUTPUT ====\n\t\t// Optional\n\t\t// Pass the uri of the destination image file.\n\t\t// This will be the same uri you will receive in the onActivityResult\n\n\t\tSystem.out.println(\"mOutputFilePath->:\" + mOutputFilePath);\n\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_OUTPUT_PATH, mOutputFilePath);\n\n\t\t// === OUTPUT QUALITY ===\n\t\t// Optional\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_OUTPUT_QUALITY, 90);\n\n\t\t// === MAX SIZE ===\n\t\t// Optional\n\t\t// you can pass the maximum allowed image size (for the preview),\n\t\t// otherwise feather will determine\n\t\t// the max size based on the device informations.\n\t\t// This will not affect the hi-res image size.\n\t\t// Here we're passing the current display size as max image size because\n\t\t// after\n\t\t// the execution of Aviary we're saving the HI-RES image so we don't\n\t\t// need a big\n\t\t// image for the preview\n\t\tfinal DisplayMetrics metrics = new DisplayMetrics();\n\t\tgetWindowManager().getDefaultDisplay().getMetrics(metrics);\n\n\t\tint max_size = Math.max(metrics.widthPixels, metrics.heightPixels);\n\n\t\tmax_size = (int) ((float) max_size / 1.4f);\n\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_MAX_PREVIEW_SIZE, max_size);\n\n\t\tmSessionId = FotorUtils.generateSessionId(this);\n\n\t\tgetContentResolver().delete(\n\t\t\t\tSessionColumns.getContentUri(this, mSessionId), null, null);\n\n\t\tLog.d(LOG_TAG,\n\t\t\t\t\"session: \" + mSessionId + \", size: \" + mSessionId.length());\n\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_FOTOR_SESSION_ID, mSessionId);\n\n//\t\t// === FEATURE LIST ===\n\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_FEATURE_LIST, new String[] {\n\t\t\t\tFotorFeaturesFactory.FeatureType.FX_EFFECTS.name(),\n\t\t\t\tFotorFeaturesFactory.FeatureType.BORDER.name() });\n\n\t\t// start feather\n\t\tstartActivityForResult(newIntent, ACTION_REQUEST_FEATURE);\n\t}\n\n\t/**\n\t * Check the external storage status\n\t * \n\t * @return\n\t */\n\tprivate boolean isExternalStorageAvilable() {\n\t\tString state = Environment.getExternalStorageState();\n\t\tif (Environment.MEDIA_MOUNTED.equals(state)) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Try to create the required folder on the sdcard where images will be\n\t * saved to.\n\t * \n\t * @return\n\t */\n\tprivate File createFolders() {\n\n\t\tFile baseDir;\n\n\t\tif (android.os.Build.VERSION.SDK_INT < 8) {\n\t\t\tbaseDir = Environment.getExternalStorageDirectory();\n\t\t} else {\n\t\t\tbaseDir = Environment\n\t\t\t\t\t.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);\n\t\t}\n\n\t\tif (baseDir == null)\n\t\t\treturn Environment.getExternalStorageDirectory();\n\n\t\tLog.d(LOG_TAG, \"Pictures folder: \" + baseDir.getAbsolutePath());\n\t\tFile fotorSDKFolder = new File(baseDir, FOLDER_NAME);\n\n\t\tif (fotorSDKFolder.exists())\n\t\t\treturn fotorSDKFolder;\n\t\tif (fotorSDKFolder.mkdirs())\n\t\t\treturn fotorSDKFolder;\n\n\t\treturn Environment.getExternalStorageDirectory();\n\t}\n\n\tclass DownloadAsync extends AsyncTask<Uri, Void, Bitmap> implements\n\t\t\tOnCancelListener {\n\n\t\tProgressDialog mProgress;\n\t\tprivate Uri mUri;\n\n\t\t@Override\n\t\tprotected void onPreExecute() {\n\t\t\tsuper.onPreExecute();\n\n\t\t\tmProgress = new ProgressDialog(MainActivity.this);\n\t\t\tmProgress.setIndeterminate(true);\n\t\t\tmProgress.setCancelable(true);\n\t\t\tmProgress.setMessage(\"Loading image...\");\n\t\t\tmProgress.setOnCancelListener(this);\n\t\t\tmProgress.show();\n\t\t}\n\n\t\t@Override\n\t\tprotected Bitmap doInBackground(Uri... params) {\n\t\t\tmUri = params[0];\n\n\t\t\tDisplayMetrics displayMetrics = getResources().getDisplayMetrics();\n\n\t\t\tint maxW = (int) (displayMetrics.widthPixels / 1.5);\n\t\t\tint maxH = (int) (displayMetrics.heightPixels / 1.5);\n\n\t\t\tBitmap bitmap = BitmapDecodeUtils.decode(getApplicationContext(),\n\t\t\t\t\tmUri, maxW, maxH);\n\t\t\treturn bitmap;\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPostExecute(Bitmap result) {\n\t\t\tsuper.onPostExecute(result);\n\n\t\t\tif (mProgress.getWindow() != null) {\n\t\t\t\tmProgress.dismiss();\n\t\t\t}\n\n\t\t\tif (result != null) {\n\t\t\t\tsetImageURI(mUri, result);\n\t\t\t} else {\n\t\t\t\tToast.makeText(MainActivity.this,\n\t\t\t\t\t\t\"Failed to load image \" + mUri, Toast.LENGTH_SHORT)\n\t\t\t\t\t\t.show();\n\t\t\t}\n\t\t}\n\n\t\t@Override\n\t\tpublic void onCancel(DialogInterface dialog) {\n\t\t\tLog.i(LOG_TAG, \"onProgressCancel\");\n\t\t\tthis.cancel(true);\n\t\t}\n\n\t\t@Override\n\t\tprotected void onCancelled() {\n\t\t\tsuper.onCancelled();\n\t\t\tLog.i(LOG_TAG, \"onCancelled\");\n\t\t}\n\n\t}\n}\n"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/b1/b129b276e01126de5b3b753572ac67cbfc19454c.svn-base",
    "content": "<resources>\n\n    <!--\n        Base application theme for API 14+. This theme completely replaces\n        AppBaseTheme from BOTH res/values/styles.xml and\n        res/values-v11/styles.xml on API 14+ devices.\n    -->\n    <style name=\"AppBaseTheme\" parent=\"android:Theme.Holo.Light.DarkActionBar\">\n        <!-- API 14 theme customizations can go here. -->\n    </style>\n\n</resources>\n"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/b6/b63a097de0cd21e7c8acb72e4604812de94ee27a.svn-base",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <item android:state_focused=\"true\" android:state_pressed=\"true\" android:color=\"@color/bottom_button_text_pressed_color\"/>\n    <item android:state_pressed=\"true\" android:color=\"@color/bottom_button_text_pressed_color\"/>\n    <item android:state_enabled=\"false\" android:color=\"@color/bottom_button_text_disable_color\"/>\n    <item android:state_selected=\"true\" android:color=\"@color/bottom_button_text_pressed_color\"/>\n    <item android:color=\"@color/bottom_button_text_default_color\"/>\n\n</selector>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/b7/b786870b4a198837c81a932a5573ed97c1f9b330.svn-base",
    "content": "package com.example.fotorsdkdemo;\n\nimport java.io.File;\n\nimport com.everimaging.fotorsdk.FotorConstants;\nimport com.everimaging.fotorsdk.FotorSDKActivity;\nimport com.everimaging.fotorsdk.FotorSDKVersion;\nimport com.everimaging.fotorsdk.FotorUtils;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns.Session;\nimport com.everimaging.fotorsdk.utils.BitmapDecodeUtils;\nimport com.everimaging.fotorsdk.utils.Utils;\nimport com.everimaging.fotorsdk.engine.FotorHDFilter;\nimport android.app.Activity;\nimport android.app.AlertDialog;\nimport android.app.ProgressDialog;\nimport android.content.Context;\nimport android.content.DialogInterface;\nimport android.content.DialogInterface.OnCancelListener;\nimport android.content.Intent;\nimport android.database.Cursor;\nimport android.graphics.Bitmap;\nimport android.graphics.drawable.BitmapDrawable;\nimport android.graphics.drawable.Drawable;\nimport android.media.MediaScannerConnection;\nimport android.net.Uri;\nimport android.os.AsyncTask;\nimport android.os.Bundle;\nimport android.os.Environment;\nimport android.provider.MediaStore.Images;\nimport android.provider.MediaStore.Images.ImageColumns;\nimport android.util.DisplayMetrics;\nimport android.util.Log;\nimport android.view.View;\nimport android.widget.Button;\nimport android.widget.ImageView;\nimport android.widget.TextView;\nimport android.widget.Toast;\n\n/**\n * Sample main activity\n * \n * @description\n * \n * @author <a href=\"mailto:zhangjiajun@everimaging.com\">John.Zhang</a>\n * @version 1.0\n * @create Apr 12, 2014 3:06:39 PM\n * @update Apr 12, 2014 3:06:39 PM\n */\npublic class MainActivity extends Activity {\n\n\tprivate static final int ACTION_REQUEST_FEATURE = 2;\n\n\tprivate static final int ACTION_REQUEST_GALLERY = 3;\n\n\tpublic static final String LOG_TAG = \"fotorsdk_demo\";\n\n\t/** Folder name on the sdcard where the images will be saved **/\n\n\tprivate static final String FOLDER_NAME = \"FotorSDK\";\n\n\t/** Edit sample button */\n\tButton mEditButton;\n\t/** Call gallery button */\n\tButton mGalleryButton;\n\t/** Display image view */\n\tImageView mImage;\n\t/** The path for output file */\n\tUri mOutputFilePath;\n\n\t/** Image uri for image editor */\n\tUri mImageUri;\n\t/** Display version label for DEBUG */\n\tprivate TextView mSDKVersionLabel;\n\n\t/** The sample image uri. */\n\tprivate Uri mSampleUri;\n\n\tprivate File mGalleryFolder;\n\n\t/** session id for the hi-res post processing */\n\tprivate String mSessionId;\n\n\t@Override\n\tprotected void onCreate(Bundle savedInstanceState) {\n\t\tLog.i(LOG_TAG, \"onCreate\");\n\t\tsuper.onCreate(savedInstanceState);\n\n\t\tsetContentView(R.layout.activity_main);\n\n\t\tmEditButton.setOnClickListener(new View.OnClickListener() {\n\n\t\t\t@Override\n\t\t\tpublic void onClick(View v) {\n\t\t\t\tif (mImageUri != null) {\n\t\t\t\t\tstartFeature(mImageUri);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tmGalleryButton.setOnClickListener(new View.OnClickListener() {\n\n\t\t\t@Override\n\t\t\tpublic void onClick(View v) {\n\t\t\t\tpickFromGallery();\n\t\t\t}\n\t\t});\n\n\t\tmGalleryFolder = createFolders();\n\n\t\t// add sample image\n\t\tmSampleUri = Uri.parse(\"file:///android_asset/sample.jpg\");\n\t\tloadAsync(mSampleUri);\n\n\t\tif (BuildConfig.DEBUG) {\n\t\t\tmSDKVersionLabel.setText(\"V\" + FotorSDKVersion.FOTOR_SDK_VERSION);\n\t\t}\n\n\t}\n\n\t/**\n\t * Start the activity to pick an image from the user gallery\n\t */\n\tprivate void pickFromGallery() {\n\t\tIntent intent = new Intent(Intent.ACTION_GET_CONTENT);\n\t\tintent.setType(\"image/*\");\n\n\t\tIntent chooser = Intent.createChooser(intent, \"Choose a Picture\");\n\t\tstartActivityForResult(chooser, ACTION_REQUEST_GALLERY);\n\n\t}\n\n\t@Override\n\tprotected void onResume() {\n\t\tLog.i(LOG_TAG, \"onResume\");\n\t\tsuper.onResume();\n\n\t\tif (getIntent() != null) {\n\t\t\thandleIntent(getIntent());\n\t\t\tsetIntent(new Intent());\n\t\t}\n\t}\n\n\t/**\n\t * Handle the incoming {@link Intent}\n\t */\n\tprivate void handleIntent(Intent intent) {\n\n\t\tString action = intent.getAction();\n\n\t\tif (null != action) {\n\n\t\t\tif (Intent.ACTION_SEND.equals(action)) {\n\n\t\t\t\tBundle extras = intent.getExtras();\n\t\t\t\tif (extras != null && extras.containsKey(Intent.EXTRA_STREAM)) {\n\t\t\t\t\tUri uri = (Uri) extras.get(Intent.EXTRA_STREAM);\n\t\t\t\t\tloadAsync(uri);\n\t\t\t\t}\n\t\t\t} else if (Intent.ACTION_VIEW.equals(action)) {\n\t\t\t\tUri data = intent.getData();\n\t\t\t\tLog.d(LOG_TAG, \"data: \" + data);\n\t\t\t\tloadAsync(data);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Load the incoming Image\n\t * \n\t * @param uri\n\t */\n\tprivate void loadAsync(final Uri uri) {\n\t\tLog.i(LOG_TAG, \"loadAsync: \" + uri);\n\n\t\tDrawable toRecycle = mImage.getDrawable();\n\t\tif (toRecycle != null && toRecycle instanceof BitmapDrawable) {\n\t\t\tif (((BitmapDrawable) mImage.getDrawable()).getBitmap() != null)\n\t\t\t\t((BitmapDrawable) mImage.getDrawable()).getBitmap().recycle();\n\t\t}\n\t\tmImage.setImageDrawable(null);\n\t\tmImageUri = null;\n\n\t\tDownloadAsync task = new DownloadAsync();\n\t\ttask.execute(uri);\n\t}\n\n\t@Override\n\tprotected void onDestroy() {\n\t\tLog.i(LOG_TAG, \"onDestroy\");\n\t\tsuper.onDestroy();\n\t\tmOutputFilePath = null;\n\t}\n\n\t@Override\n\tpublic void onContentChanged() {\n\t\tsuper.onContentChanged();\n\n\t\tSystem.out.println(\"context:\" + this.getPackageName());\n\n\t\tmEditButton = (Button) findViewById(R.id.button2);\n\n\t\tmGalleryButton = (Button) findViewById(R.id.button_gallery);\n\n\t\tmImage = (ImageView) findViewById(R.id.image);\n\n\t\tmSDKVersionLabel = (TextView) findViewById(R.id.fotor_sdk_version_label);\n\n\t}\n\n\t@Override\n\t/**\n\t * This method is called when feather has completed ( ie. user clicked on \"done\" or just exit the activity without saving ). <br />\n\t * If user clicked the \"done\" button you'll receive RESULT_OK as resultCode, RESULT_CANCELED otherwise.\n\t * \n\t * @param requestCode\n\t * \t- it is the code passed with startActivityForResult\n\t * @param resultCode\n\t * \t- result code of the activity launched ( it can be RESULT_OK or RESULT_CANCELED )\n\t * @param data\n\t * \t- the result data\n\t */\n\tpublic void onActivityResult(int requestCode, int resultCode, Intent data) {\n\t\tif (resultCode == RESULT_OK) {\n\t\t\tswitch (requestCode) {\n\t\t\tcase ACTION_REQUEST_FEATURE: {\n\n\t\t\t\tUri uri = data.getData();\n\t\t\t\tBitmap bitmap = BitmapDecodeUtils.decode(this, uri, 0, 0);\n\t\t\t\tsetImageURI(uri, bitmap);\n\t\t\t\tnew ProcessHDTask(this).execute();\n\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase ACTION_REQUEST_GALLERY: {\n\t\t\t\tUri uri = data.getData();\n\t\t\t\tloadAsync(uri);\n\t\t\t\tstartFeature(uri);\n\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t} else if (resultCode == RESULT_CANCELED) {\n\t\t\tswitch (requestCode) {\n\t\t\tcase ACTION_REQUEST_FEATURE:\n\t\t\t\tif (mSessionId != null)\n\t\t\t\t\tdeleteSession(mSessionId);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate String onSaveCompletion() {\n\n\t\tUri sessionUri = SessionColumns.getContentUri(this, mSessionId);\n\n\t\tCursor cursor = getContentResolver().query(sessionUri, null, null,\n\t\t\t\tnull, null);\n\n\t\tSession session = Session.create(cursor);\n\n\t\tif (session != null) {\n\t\t\tFotorHDFilter fotorHDFilter = new FotorHDFilter(this, session);\n\n\t\t\tfotorHDFilter.loadImage();\n\n\t\t\tfotorHDFilter.executeFilter();\n\n\t\t\tString dstPath = Utils.getSDPath() + \"/testOriginal.jpg\";\n\n\t\t\tfotorHDFilter.save(dstPath);\n\n\t\t\tfotorHDFilter.dispose();\n\t\t\tdeleteSession(mSessionId);\n\n\t\t\treturn dstPath;\n\t\t}\n\t\treturn null;\n\n\t}\n\n\tclass ProcessHDTask extends AsyncTask<Void, Void, String> {\n\t\tprivate ProgressDialog mDialog;\n\n\t\tprivate Context mContext;\n\n\t\tpublic ProcessHDTask(Context context) {\n\t\t\tthis.mContext = context;\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPreExecute() {\n\t\t\tmDialog = ProgressDialog.show(mContext, \"Process HD\",\n\t\t\t\t\t\"Please wait...\");\n\t\t}\n\n\t\t@Override\n\t\tprotected String doInBackground(Void... params) {\n\t\t\treturn onSaveCompletion();\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPostExecute(String result) {\n\t\t\tmDialog.dismiss();\n\n\t\t\tString msg = \"Process Error\";\n\t\t\tif (result != null) {\n\t\t\t\tmsg = result;\n\t\t\t}\n\n\t\t\tToast.makeText(mContext, msg, Toast.LENGTH_LONG).show();\n\t\t}\n\n\t}\n\n\t/**\n\t * Delete the session and all it's actions. We do not need it anymore.<br />\n\t * Note that this is optional. All old sessions are automatically removed in\n\t * Feather.\n\t * \n\t * @param session_id\n\t */\n\tprivate void deleteSession(final String session_id) {\n\t\tUri uri = FotorContentProvider.SessionColumns.getContentUri(this,\n\t\t\t\tsession_id);\n\t\tint count = getContentResolver().delete(uri, null, null);\n\t\tSystem.out.println(\"delete session count:\" + count);\n\t}\n\n\t/**\n\t * Given an Uri load the bitmap into the current ImageView and resize it to\n\t * fit the image container size\n\t * \n\t * @param uri\n\t */\n\t@SuppressWarnings(\"deprecation\")\n\tprivate boolean setImageURI(final Uri uri, final Bitmap bitmap) {\n\n\t\tLog.d(LOG_TAG,\n\t\t\t\t\"image size: \" + bitmap.getWidth() + \"x\" + bitmap.getHeight());\n\t\tmImage.setImageBitmap(bitmap);\n\t\tmImage.setBackgroundDrawable(null);\n\n\t\tmEditButton.setEnabled(true);\n\t\tmImageUri = uri;\n\t\treturn true;\n\t}\n\n\t/**\n\t * We need to notify the MediaScanner when a new file is created. In this\n\t * way all the gallery applications will be notified too.\n\t * \n\t * @param file\n\t */\n\tprivate void updateMedia(String filepath) {\n\t\tLog.i(LOG_TAG, \"updateMedia: \" + filepath);\n\t\tMediaScannerConnection.scanFile(getApplicationContext(),\n\t\t\t\tnew String[] { filepath }, null, null);\n\t}\n\n\t/**\n\t * Pick a random image from the user gallery\n\t * \n\t * @return\n\t */\n\t@SuppressWarnings(\"unused\")\n\tprivate Uri pickRandomImage() {\n\t\tCursor c = getContentResolver().query(\n\t\t\t\tImages.Media.EXTERNAL_CONTENT_URI,\n\t\t\t\tnew String[] { ImageColumns._ID, ImageColumns.DATA },\n\t\t\t\tImageColumns.SIZE + \">?\", new String[] { \"90000\" }, null);\n\t\tUri uri = null;\n\n\t\tif (c != null) {\n\t\t\tint total = c.getCount();\n\t\t\tint position = (int) (Math.random() * total);\n\t\t\tLog.d(LOG_TAG, \"pickRandomImage. total images: \" + total\n\t\t\t\t\t+ \", position: \" + position);\n\t\t\tif (total > 0) {\n\t\t\t\tif (c.moveToPosition(position)) {\n\t\t\t\t\tString data = c.getString(c\n\t\t\t\t\t\t\t.getColumnIndex(Images.ImageColumns.DATA));\n\t\t\t\t\tlong id = c.getLong(c\n\t\t\t\t\t\t\t.getColumnIndex(Images.ImageColumns._ID));\n\n\t\t\t\t\turi = Uri.parse(data);\n\n\t\t\t\t\tLog.d(LOG_TAG, uri.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t\tc.close();\n\t\t}\n\t\treturn uri;\n\t}\n\n\t/**\n\t * Return a new image file. Name is based on the current time. Parent folder\n\t * will be the one created with createFolders\n\t * \n\t * @return\n\t * @see #createFolders()\n\t */\n\tprivate File generateOutputFileName() {\n\t\tif (mGalleryFolder != null) {\n\t\t\tif (mGalleryFolder.exists()) {\n\t\t\t\tFile file = new File(mGalleryFolder, \"Fotor_\"\n\t\t\t\t\t\t+ System.currentTimeMillis() + \".jpg\");\n\t\t\t\treturn file;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\t/**\n\t * Once you've chosen an image you can start the feather activity\n\t * \n\t * @param uri\n\t */\n\tprivate void startFeature(Uri uri) {\n\n\t\tLog.d(LOG_TAG, \"uri: \" + uri);\n\n\t\t// first check the external storage availability\n\t\tif (!isExternalStorageAvilable()) {\n\t\t\tnew AlertDialog.Builder(this)\n\t\t\t.setTitle(android.R.string.dialog_alert_title)\n\t\t\t.setMessage(\"External Storage is not avilable\").show();\n\t\t\treturn;\n\t\t}\n\n\t\t// create a temporary file where to store the resulting image\n\t\tFile file = generateOutputFileName();\n\n\t\tif (null != file) {\n\t\t\tmOutputFilePath = Uri.fromFile(file);\n\t\t} else {\n\t\t\tnew AlertDialog.Builder(this)\n\t\t\t\t\t.setTitle(android.R.string.dialog_alert_title)\n\t\t\t\t\t.setMessage(\"Failed to create a new File\").show();\n\t\t\treturn;\n\t\t}\n\n\t\t// Create the intent needed to start feather\n\t\tIntent newIntent = new Intent(this, FotorSDKActivity.class);\n\n\t\t// === INPUT IMAGE URI ===\n\t\t// Set the source image uri\n\t\tnewIntent.setData(uri);\n\n\t\t// === OUTPUT ====\n\t\t// Optional\n\t\t// Pass the uri of the destination image file.\n\t\t// This will be the same uri you will receive in the onActivityResult\n\n\t\tSystem.out.println(\"mOutputFilePath->:\" + mOutputFilePath);\n\n//\t\tnewIntent.putExtra(FotorConstants.EXTRA_OUTPUT_PATH, mOutputFilePath);\n\n\t\t// === OUTPUT QUALITY ===\n\t\t// Optional\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_OUTPUT_QUALITY, 90);\n\n\t\t// === MAX SIZE ===\n\t\t// Optional\n\t\t// you can pass the maximum allowed image size (for the preview),\n\t\t// otherwise feather will determine\n\t\t// the max size based on the device informations.\n\t\t// This will not affect the hi-res image size.\n\t\t// Here we're passing the current display size as max image size because\n\t\t// after\n\t\t// the execution of Aviary we're saving the HI-RES image so we don't\n\t\t// need a big\n\t\t// image for the preview\n\t\tfinal DisplayMetrics metrics = new DisplayMetrics();\n\t\tgetWindowManager().getDefaultDisplay().getMetrics(metrics);\n\n\t\tint max_size = Math.max(metrics.widthPixels, metrics.heightPixels);\n\n\t\tmax_size = (int) ((float) max_size / 1.4f);\n\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_MAX_PREVIEW_SIZE, max_size);\n\n\t\tmSessionId = FotorUtils.generateSessionId(this);\n\n\t\tgetContentResolver().delete(\n\t\t\t\tSessionColumns.getContentUri(this, mSessionId), null, null);\n\n\t\tLog.d(LOG_TAG,\n\t\t\t\t\"session: \" + mSessionId + \", size: \" + mSessionId.length());\n\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_FOTOR_SESSION_ID, mSessionId);\n\n\t\t// // === FEATURE LIST ===\n\n\t\t// newIntent.putExtra(FotorConstants.EXTRA_FEATURE_LIST, new String[] {\n\t\t// FotorFeaturesFactory.FeatureType.FX_EFFECTS.name(),\n\t\t// FotorFeaturesFactory.FeatureType.BORDER.name() });\n\n\t\t// Whether hide confirm dialog when user not saved the was changed bitmap\n\t\t// This default value will show\n//\t\tnewIntent.putExtra(FotorConstants.EXTRA_HIDE_DISCARD_ALERT, false);\n\t\t\n\t\t// start feather\n\t\tstartActivityForResult(newIntent, ACTION_REQUEST_FEATURE);\n\t}\n\n\t/**\n\t * Check the external storage status\n\t * \n\t * @return\n\t */\n\tprivate boolean isExternalStorageAvilable() {\n\t\tString state = Environment.getExternalStorageState();\n\t\tif (Environment.MEDIA_MOUNTED.equals(state)) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Try to create the required folder on the sdcard where images will be\n\t * saved to.\n\t * \n\t * @return\n\t */\n\tprivate File createFolders() {\n\n\t\tFile baseDir;\n\n\t\tif (android.os.Build.VERSION.SDK_INT < 8) {\n\t\t\tbaseDir = Environment.getExternalStorageDirectory();\n\t\t} else {\n\t\t\tbaseDir = Environment\n\t\t\t\t\t.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);\n\t\t}\n\n\t\tif (baseDir == null)\n\t\t\treturn Environment.getExternalStorageDirectory();\n\n\t\tLog.d(LOG_TAG, \"Pictures folder: \" + baseDir.getAbsolutePath());\n\t\tFile fotorSDKFolder = new File(baseDir, FOLDER_NAME);\n\n\t\tif (fotorSDKFolder.exists())\n\t\t\treturn fotorSDKFolder;\n\t\tif (fotorSDKFolder.mkdirs())\n\t\t\treturn fotorSDKFolder;\n\n\t\treturn Environment.getExternalStorageDirectory();\n\t}\n\n\tclass DownloadAsync extends AsyncTask<Uri, Void, Bitmap> implements\n\t\t\tOnCancelListener {\n\n\t\tProgressDialog mProgress;\n\t\tprivate Uri mUri;\n\n\t\t@Override\n\t\tprotected void onPreExecute() {\n\t\t\tsuper.onPreExecute();\n\n\t\t\tmProgress = new ProgressDialog(MainActivity.this);\n\t\t\tmProgress.setIndeterminate(true);\n\t\t\tmProgress.setCancelable(true);\n\t\t\tmProgress.setMessage(\"Loading image...\");\n\t\t\tmProgress.setOnCancelListener(this);\n\t\t\tmProgress.show();\n\t\t}\n\n\t\t@Override\n\t\tprotected Bitmap doInBackground(Uri... params) {\n\t\t\tmUri = params[0];\n\n\t\t\tDisplayMetrics displayMetrics = getResources().getDisplayMetrics();\n\n\t\t\tint maxW = (int) (displayMetrics.widthPixels / 1.5);\n\t\t\tint maxH = (int) (displayMetrics.heightPixels / 1.5);\n\n\t\t\tBitmap bitmap = BitmapDecodeUtils.decode(getApplicationContext(),\n\t\t\t\t\tmUri, maxW, maxH);\n\t\t\treturn bitmap;\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPostExecute(Bitmap result) {\n\t\t\tsuper.onPostExecute(result);\n\n\t\t\tif (mProgress.getWindow() != null) {\n\t\t\t\tmProgress.dismiss();\n\t\t\t}\n\n\t\t\tif (result != null) {\n\t\t\t\tsetImageURI(mUri, result);\n\t\t\t} else {\n\t\t\t\tToast.makeText(MainActivity.this,\n\t\t\t\t\t\t\"Failed to load image \" + mUri, Toast.LENGTH_SHORT)\n\t\t\t\t\t\t.show();\n\t\t\t}\n\t\t}\n\n\t\t@Override\n\t\tpublic void onCancel(DialogInterface dialog) {\n\t\t\tLog.i(LOG_TAG, \"onProgressCancel\");\n\t\t\tthis.cancel(true);\n\t\t}\n\n\t\t@Override\n\t\tprotected void onCancelled() {\n\t\t\tsuper.onCancelled();\n\t\t\tLog.i(LOG_TAG, \"onCancelled\");\n\t\t}\n\n\t}\n}\n"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/b9/b9f3ebab942f1fcc978988f97adaba308bbc3856.svn-base",
    "content": "<Effect name=\"Lomo-Fx\" type=\"Lomo\" id=\"102\">\r\n\t<Allocation name=\"tableTexture\"/>\r\n\t\r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(33, 0)(104, 76)(167, 168)(218, 255)</R>\r\n            <G>(30, 0)(112, 71)(174, 189)(234, 255)</G>\r\n            <B>(8, 30)(160, 122)(233, 255)</B>\r\n        </params>\r\n    </BaseFilter>\r\n\t\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/be/be343c7a300518d0b06505feb2c6bf524ef6998a.svn-base",
    "content": "<Effect name=\"Darken\" type=\"Scenes\" id=\"168\">\r\n    <Allocation name=\"tableTexture\"/>\r\n\t\r\n    <BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(9, 0)(26, 7)(155, 108)(194, 159)(255, 253)</R>\r\n            <G>(9, 0)(50, 19)(218, 194)(255, 255)</G>\r\n            <B>(0, 0)(29, 9)(162, 116)(218, 194)(255, 255)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/bf/bf44fee7478e97bd8be7ec343d88043770203c01.svn-base",
    "content": "<resources>\n\n    <!--\n        Base application theme for API 11+. This theme completely replaces\n        AppBaseTheme from res/values/styles.xml on API 11+ devices.\n    -->\n    <style name=\"AppBaseTheme\" parent=\"android:Theme.Holo.Light.NoActionBar.Fullscreen\">\n        <!-- API 11 theme customizations can go here. -->\n    </style>\n\n</resources>\n"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/bf/bf9edbaaf9211827d72bbbea4ac10d79b4be0342.svn-base",
    "content": "{\n\t\"version\": 1,\n\t\"category_name\": \"Charm\",\n\t\"fonts_array\": [{\n\t\t\"font_id\": 1,\n\t\t\"font_name\": \"Sofia\",\n\t\t\"font_normal\": \"Sofia\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"Sofia\"\n\t},\n\t{\n\t\t\"font_id\": 2,\n\t\t\"font_name\": \"Ostrich Sans\",\n\t\t\"font_normal\": \"Ostrich Sans\",\n\t\t\"font_bold\": \"OstrichSans-Bold\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"OstrichSans-Bold\"\n\t},\n\t{\n\t\t\"font_id\": 3,\n\t\t\"font_name\": \"Bearpaw\",\n\t\t\"font_normal\": \"Bearpaw\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"Bearpaw\"\n\t},\n\t{\n\t\t\"font_id\": 4,\n\t\t\"font_name\": \"American Typewriter\",\n\t\t\"font_normal\": \"AmericanTypewriter\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"AmericanTypewriter-Bold\"\n\t},\n\t{\n\t\t\"font_id\": 5,\n\t\t\"font_name\": \"Stencil Std\",\n\t\t\"font_normal\": \"Stencil Std\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"Stencil Std\"\n\t},\n\t{\n\t\t\"font_id\": 6,\n\t\t\"font_name\": \"Brush Script MT\",\n\t\t\"font_normal\": \"Brush Script\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"Brush Script\"\n\t},\n\t{\n\t\t\"font_id\": 7,\n\t\t\"font_name\": \"Noteworthy\",\n\t\t\"font_normal\": \"Noteworthy\",\n\t\t\"font_bold\": \"Noteworthy-Bold\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"Noteworthy-Bold\"\n\t},\n\t{\n\t\t\"font_id\": 8,\n\t\t\"font_name\": \"Miama\",\n\t\t\"font_normal\": \"Miama\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"Miama\"\n\t},\n\t{\n\t\t\"font_id\": 9,\n\t\t\"font_name\": \"Blackout\",\n\t\t\"font_normal\": \"Blackout\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"Blackout\"\n\t},\n\t{\n\t\t\"font_id\": 10,\n\t\t\"font_name\": \"Muli\",\n\t\t\"font_normal\": \"Muli\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"Muli-Italic\",\n\t\t\"font_bolditalic\": \"Muli-Italic\"\n\t},\n\t{\n\t\t\"font_id\": 11,\n\t\t\"font_name\": \"padaloma italic\",\n\t\t\"font_normal\": \"padaloma\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"padaloma\"\n\t},\n\t{\n\t\t\"font_id\": 12,\n\t\t\"font_name\": \"Josefin Sans\",\n\t\t\"font_normal\": \"Josefin Sans\",\n\t\t\"font_bold\": \"JosefinSans-Bold\",\n\t\t\"font_italic\": \"JosefinSans-Italic\",\n\t\t\"font_bolditalic\": \"JosefinSans-BoldItalic\"\n\t},\n\t{\n\t\t\"font_id\": 13,\n\t\t\"font_name\": \"Garogier\",\n\t\t\"font_normal\": \"Garogier\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"Garogier\"\n\t}\n\t]\n}"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/c2/c23441412ad977e31ea47c1c9a36b40e7ccfd9ed.svn-base",
    "content": "<Effect name=\"Straight Ink\" type=\"Analog\" id=\"27\">\r\n\t<BaseFilter name=\"HSVSaturation\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<params>\r\n\t\t\t<red>-1.0</red>\r\n\t\t\t<yellow>-1.0</yellow>\r\n\t\t\t<green>-1.0</green>\r\n\t\t\t<cyan>-1.0</cyan>\r\n\t\t\t<blue>-1.0</blue>\r\n\t\t\t<magenta>-1.0</magenta>\r\n\t\t</params>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/c2/c2c73d6a2e7bbbb96d7bc4ea437dc3f1fa91def2.svn-base",
    "content": "<Effect name=\"Backlit\" type=\"Scenes\" id=\"169\">\r\n    <Allocation name=\"tableTexture\"/>\r\n\t\r\n    <BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(0, 0)(69, 93)(126, 160)(210, 232)(255, 255)</R>\r\n            <G>(0, 0)(36, 47)(135, 169)(250, 254)</G>\r\n            <B>(0, 0)(28, 30)(107, 137)(147, 206)(255, 255)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/c3/c3a026561fa183457b2a6d76c8ff1c41571de3e5.svn-base",
    "content": "<Effect name=\"Angel's Kiss\" type=\"Lomo\" id=\"1\">\r\n\t<Allocation name=\"level\"/>\r\n\t<Allocation name=\"tableTexture\"/>\r\n\r\n\t<BaseFilter name=\"Level\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>level</dst>\r\n\t\t<params>\r\n\t\t\t<type>GetScale</type>\r\n\t\t\t<dark>0.1</dark>\r\n\t\t\t<light>0.1</light>\r\n\t\t\t<saturation>1.0</saturation>\r\n\t\t</params>\r\n\t</BaseFilter>\r\n\r\n\t<BaseFilter name=\"Vignette\">\r\n\t\t<src>level</src>\r\n\t\t<dst>TMP</dst>\r\n\t\t<params>\r\n\t\t    <mode>quadric</mode>\r\n\t\t\t<vignetteStart>0.0</vignetteStart>\r\n\t\t\t<vignetteRange>1.0</vignetteRange>\r\n\t\t</params>\r\n\t</BaseFilter>\r\n\t\r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(0, 0)(127, 145)(255, 229)</R>\r\n            <G>(0, 0)(63, 66)(127, 144)(255, 223)</G>\r\n            <B>(0, 0)(127, 117)(255, 195)</B>\r\n        </params>\r\n    </BaseFilter>\r\n\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>TMP</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/c4/c45b011a7116d9ca54d4a6016811dba3b50daa14.svn-base",
    "content": "<Effect\r\n    id=\"-2\"\r\n    name=\"Auto\"\r\n    type=\"Scenes\" >\r\n\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/c6/c638ea07b1de337b786d0e0abe47669d7c9a1428.svn-base",
    "content": "package com.example.fotorsdkdemo;\n\nimport java.io.File;\n\nimport com.everimaging.fotorsdk.FotorConstants;\nimport com.everimaging.fotorsdk.FotorSDKActivity;\nimport com.everimaging.fotorsdk.FotorUtils;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider.ActionsColumns.Action;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider.ActionsColumns;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns.Session;\nimport com.everimaging.fotorsdk.utils.BitmapDecodeUtils;\nimport com.everimaging.fotorsdk.utils.Utils;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\nimport com.everimaging.fotorsdk.engine.FotorHDFilter;\n\nimport android.app.Activity;\nimport android.app.AlertDialog;\nimport android.app.ProgressDialog;\nimport android.content.Context;\nimport android.content.DialogInterface;\nimport android.content.DialogInterface.OnCancelListener;\nimport android.content.Intent;\nimport android.database.Cursor;\nimport android.graphics.Bitmap;\nimport android.graphics.drawable.BitmapDrawable;\nimport android.graphics.drawable.Drawable;\nimport android.media.MediaScannerConnection;\nimport android.net.Uri;\nimport android.os.AsyncTask;\nimport android.os.Bundle;\nimport android.os.Environment;\nimport android.provider.MediaStore.Images;\nimport android.provider.MediaStore.Images.ImageColumns;\nimport android.util.DisplayMetrics;\nimport android.util.Log;\nimport android.view.View;\nimport android.view.View.OnLongClickListener;\nimport android.widget.Button;\nimport android.widget.ImageView;\nimport android.widget.Toast;\n\npublic class MainActivity extends Activity {\n\n\tprivate static final int ACTION_REQUEST_FEATURE = 2;\n\n\tprivate static final int ACTION_REQUEST_GALLERY = 3;\n\n\tprivate static final int EXTERNAL_STORAGE_UNAVAILABLE = 1;\n\n\tpublic static final String LOG_TAG = \"fotorsdk_demo\";\n\n\t/** Folder name on the sdcard where the images will be saved **/\n\n\tprivate static final String FOLDER_NAME = \"FotorSDK\";\n\n\tButton mEditButton;\n\tButton mGalleryButton;\n\tImageView mImage;\n\tView mImageContainer;\n\tString mOutputFilePath;\n\tUri mImageUri;\n\n\tprivate File mGalleryFolder;\n\n\t/** session id for the hi-res post processing */\n\tprivate String mSessionId;\n\n\t@Override\n\tprotected void onCreate(Bundle savedInstanceState) {\n\t\tLog.i(LOG_TAG, \"onCreate\");\n\t\tsuper.onCreate(savedInstanceState);\n\n\t\tsetContentView(R.layout.activity_main);\n\n\t\tmEditButton.setOnClickListener(new View.OnClickListener() {\n\n\t\t\t@Override\n\t\t\tpublic void onClick(View v) {\n\t\t\t\tif (mImageUri != null) {\n\t\t\t\t\tstartFeature(mImageUri);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tmGalleryButton.setOnClickListener(new View.OnClickListener() {\n\n\t\t\t@Override\n\t\t\tpublic void onClick(View v) {\n\t\t\t\tpickFromGallery();\n\t\t\t}\n\t\t});\n\n\t\tmImageContainer.setOnClickListener(new View.OnClickListener() {\n\n\t\t\t@Override\n\t\t\tpublic void onClick(View v) {\n\t\t\t\tUri uri = pickRandomImage();\n\t\t\t\tif (uri != null) {\n\t\t\t\t\tLog.d(LOG_TAG, \"image uri: \" + uri);\n\t\t\t\t\tloadAsync(uri);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tmImageContainer.setLongClickable(true);\n\t\tmImageContainer.setOnLongClickListener(new OnLongClickListener() {\n\n\t\t\t@Override\n\t\t\tpublic boolean onLongClick(View v) {\n\t\t\t\tif (mImageUri != null) {\n\t\t\t\t\tLog.d(LOG_TAG, \"onLongClick: \" + v);\n\t\t\t\t\topenContextMenu(v);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\n\t\tmGalleryFolder = createFolders();\n\n\t\tmImageContainer.performClick();\n\t}\n\n\t/**\n\t * Start the activity to pick an image from the user gallery\n\t */\n\tprivate void pickFromGallery() {\n\t\tIntent intent = new Intent(Intent.ACTION_GET_CONTENT);\n\t\tintent.setType(\"image/*\");\n\n\t\tIntent chooser = Intent.createChooser(intent, \"Choose a Picture\");\n\t\tstartActivityForResult(chooser, ACTION_REQUEST_GALLERY);\n\t}\n\n\t@Override\n\tprotected void onResume() {\n\t\tLog.i(LOG_TAG, \"onResume\");\n\t\tsuper.onResume();\n\n\t\tif (getIntent() != null) {\n\t\t\thandleIntent(getIntent());\n\t\t\tsetIntent(new Intent());\n\t\t}\n\t}\n\n\t/**\n\t * Handle the incoming {@link Intent}\n\t */\n\tprivate void handleIntent(Intent intent) {\n\n\t\tString action = intent.getAction();\n\n\t\tif (null != action) {\n\n\t\t\tif (Intent.ACTION_SEND.equals(action)) {\n\n\t\t\t\tBundle extras = intent.getExtras();\n\t\t\t\tif (extras != null && extras.containsKey(Intent.EXTRA_STREAM)) {\n\t\t\t\t\tUri uri = (Uri) extras.get(Intent.EXTRA_STREAM);\n\t\t\t\t\tloadAsync(uri);\n\t\t\t\t}\n\t\t\t} else if (Intent.ACTION_VIEW.equals(action)) {\n\t\t\t\tUri data = intent.getData();\n\t\t\t\tLog.d(LOG_TAG, \"data: \" + data);\n\t\t\t\tloadAsync(data);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Load the incoming Image\n\t * \n\t * @param uri\n\t */\n\tprivate void loadAsync(final Uri uri) {\n\t\tLog.i(LOG_TAG, \"loadAsync: \" + uri);\n\n\t\tDrawable toRecycle = mImage.getDrawable();\n\t\tif (toRecycle != null && toRecycle instanceof BitmapDrawable) {\n\t\t\tif (((BitmapDrawable) mImage.getDrawable()).getBitmap() != null)\n\t\t\t\t((BitmapDrawable) mImage.getDrawable()).getBitmap().recycle();\n\t\t}\n\t\tmImage.setImageDrawable(null);\n\t\tmImageUri = null;\n\n\t\tDownloadAsync task = new DownloadAsync();\n\t\ttask.execute(uri);\n\t}\n\n\t@Override\n\tprotected void onDestroy() {\n\t\tLog.i(LOG_TAG, \"onDestroy\");\n\t\tsuper.onDestroy();\n\t\tmOutputFilePath = null;\n\t}\n\n\t@Override\n\tpublic void onContentChanged() {\n\t\tsuper.onContentChanged();\n\n\t\tSystem.out.println(\"context:\" + this.getPackageName());\n\n\t\tmEditButton = (Button) findViewById(R.id.button2);\n\n\t\tmGalleryButton = (Button) findViewById(R.id.button_gallery);\n\n\t\tmImage = (ImageView) findViewById(R.id.image);\n\n\t\tmImageContainer = findViewById(R.id.image_container);\n\t}\n\n\t@Override\n\t/**\n\t * This method is called when feather has completed ( ie. user clicked on \"done\" or just exit the activity without saving ). <br />\n\t * If user clicked the \"done\" button you'll receive RESULT_OK as resultCode, RESULT_CANCELED otherwise.\n\t * \n\t * @param requestCode\n\t * \t- it is the code passed with startActivityForResult\n\t * @param resultCode\n\t * \t- result code of the activity launched ( it can be RESULT_OK or RESULT_CANCELED )\n\t * @param data\n\t * \t- the result data\n\t */\n\tpublic void onActivityResult(int requestCode, int resultCode, Intent data) {\n\t\tif (resultCode == RESULT_OK) {\n\t\t\tswitch (requestCode) {\n\t\t\tcase ACTION_REQUEST_FEATURE: {\n\n\t\t\t\tUri uri = Uri.parse(mOutputFilePath);\n\t\t\t\tloadAsync(uri);\n\n\t\t\t\tnew ProcessHDTask(this).execute();\n\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase ACTION_REQUEST_GALLERY: {\n\t\t\t\tUri uri = data.getData();\n\t\t\t\tloadAsync(uri);\n\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t} else if (resultCode == RESULT_CANCELED) {\n\t\t\tswitch (requestCode) {\n\t\t\tcase ACTION_REQUEST_FEATURE:\n\t\t\t\tif (mSessionId != null)\n\t\t\t\t\tdeleteSession(mSessionId);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate String onSaveCompletion() {\n\n\t\tCursor cursor = getContentResolver().query(\n\t\t\t\tActionsColumns.getContentUri(this, mSessionId), null, null,\n\t\t\t\tnull, null);\n\t\tif (cursor != null && cursor.getCount() > 0) {\n\t\t\tList<Action> actions = new ArrayList<FotorContentProvider.ActionsColumns.Action>();\n\t\t\twhile (cursor.moveToNext()) {\n\t\t\t\tAction action = Action.create(cursor);\n\t\t\t\tSystem.out.println(\"action:\" + action);\n\t\t\t\tactions.add(action);\n\t\t\t}\n\t\t\tcursor.close();\n\t\t} else {\n\t\t\tSystem.out.println(\"cursor doesn't have datas.\");\n\t\t}\n\n\t\tCursor cursor2 = getContentResolver().query(\n\t\t\t\tSessionColumns.getContentUri(this, mSessionId), null, null,\n\t\t\t\tnull, null);\n\n\t\tSession session = Session.create(cursor2);\n\n\t\tif (session != null) {\n\t\t\tFotorHDFilter fotorHDFilter = new FotorHDFilter(this, mSessionId);\n\n\t\t\tfotorHDFilter.loadImage(session.file_name);\n\n\t\t\tfotorHDFilter.executeFilter();\n\n\t\t\tString dstPath = Utils.getSDPath() + \"/testOriginal.jpg\";\n\n\t\t\tfotorHDFilter.save(dstPath);\n\n\t\t\tfotorHDFilter.dispose();\n\t\t\tdeleteSession(mSessionId);\n\n\t\t\treturn dstPath;\n\t\t}\n\t\treturn null;\n\n\t}\n\n\tclass ProcessHDTask extends AsyncTask<Void, Void, String> {\n\t\tprivate ProgressDialog mDialog;\n\n\t\tprivate Context mContext;\n\n\t\tpublic ProcessHDTask(Context context) {\n\t\t\tthis.mContext = context;\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPreExecute() {\n\t\t\tmDialog = ProgressDialog.show(mContext, \"Process HD\",\n\t\t\t\t\t\"Please wait...\");\n\t\t}\n\n\t\t@Override\n\t\tprotected String doInBackground(Void... params) {\n\t\t\treturn onSaveCompletion();\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPostExecute(String result) {\n\t\t\tmDialog.dismiss();\n\n\t\t\tString msg = \"Process Error\";\n\t\t\tif (result != null) {\n\t\t\t\tmsg = result;\n\t\t\t}\n\n\t\t\tToast.makeText(mContext, msg, Toast.LENGTH_LONG).show();\n\t\t}\n\n\t}\n\n\t/**\n\t * Delete the session and all it's actions. We do not need it anymore.<br />\n\t * Note that this is optional. All old sessions are automatically removed in\n\t * Feather.\n\t * \n\t * @param session_id\n\t */\n\tprivate void deleteSession(final String session_id) {\n\t\tUri uri = FotorContentProvider.SessionColumns.getContentUri(this,\n\t\t\t\tsession_id);\n\t\tint count = getContentResolver().delete(uri, null, null);\n\t\tSystem.out.println(\"delete session count:\" + count);\n\t}\n\n\t/**\n\t * Given an Uri load the bitmap into the current ImageView and resize it to\n\t * fit the image container size\n\t * \n\t * @param uri\n\t */\n\t@SuppressWarnings(\"deprecation\")\n\tprivate boolean setImageURI(final Uri uri, final Bitmap bitmap) {\n\n\t\tLog.d(LOG_TAG,\n\t\t\t\t\"image size: \" + bitmap.getWidth() + \"x\" + bitmap.getHeight());\n\t\tmImage.setImageBitmap(bitmap);\n\t\tmImage.setBackgroundDrawable(null);\n\n\t\tmEditButton.setEnabled(true);\n\t\tmImageUri = uri;\n\t\treturn true;\n\t}\n\n\t/**\n\t * We need to notify the MediaScanner when a new file is created. In this\n\t * way all the gallery applications will be notified too.\n\t * \n\t * @param file\n\t */\n\tprivate void updateMedia(String filepath) {\n\t\tLog.i(LOG_TAG, \"updateMedia: \" + filepath);\n\t\tMediaScannerConnection.scanFile(getApplicationContext(),\n\t\t\t\tnew String[] { filepath }, null, null);\n\t}\n\n\t/**\n\t * Pick a random image from the user gallery\n\t * \n\t * @return\n\t */\n\t@SuppressWarnings(\"unused\")\n\tprivate Uri pickRandomImage() {\n\t\tCursor c = getContentResolver().query(\n\t\t\t\tImages.Media.EXTERNAL_CONTENT_URI,\n\t\t\t\tnew String[] { ImageColumns._ID, ImageColumns.DATA },\n\t\t\t\tImageColumns.SIZE + \">?\", new String[] { \"90000\" }, null);\n\t\tUri uri = null;\n\n\t\tif (c != null) {\n\t\t\tint total = c.getCount();\n\t\t\tint position = (int) (Math.random() * total);\n\t\t\tLog.d(LOG_TAG, \"pickRandomImage. total images: \" + total\n\t\t\t\t\t+ \", position: \" + position);\n\t\t\tif (total > 0) {\n\t\t\t\tif (c.moveToPosition(position)) {\n\t\t\t\t\tString data = c.getString(c\n\t\t\t\t\t\t\t.getColumnIndex(Images.ImageColumns.DATA));\n\t\t\t\t\tlong id = c.getLong(c\n\t\t\t\t\t\t\t.getColumnIndex(Images.ImageColumns._ID));\n\n\t\t\t\t\turi = Uri.parse(data);\n\n\t\t\t\t\tLog.d(LOG_TAG, uri.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t\tc.close();\n\t\t}\n\t\treturn uri;\n\t}\n\n\t/**\n\t * Return a new image file. Name is based on the current time. Parent folder\n\t * will be the one created with createFolders\n\t * \n\t * @return\n\t * @see #createFolders()\n\t */\n\tprivate File generateOutputFileName() {\n\t\tif (mGalleryFolder != null) {\n\t\t\tif (mGalleryFolder.exists()) {\n\t\t\t\tFile file = new File(mGalleryFolder, \"Fotor_\"\n\t\t\t\t\t\t+ System.currentTimeMillis() + \".jpg\");\n\t\t\t\treturn file;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\t/**\n\t * Once you've chosen an image you can start the feather activity\n\t * \n\t * @param uri\n\t */\n\t@SuppressWarnings(\"deprecation\")\n\tprivate void startFeature(Uri uri) {\n\n\t\tLog.d(LOG_TAG, \"uri: \" + uri);\n\n\t\t// first check the external storage availability\n\t\tif (!isExternalStorageAvilable()) {\n\t\t\tshowDialog(EXTERNAL_STORAGE_UNAVAILABLE);\n\t\t\treturn;\n\t\t}\n\n\t\t// create a temporary file where to store the resulting image\n\t\tFile file = generateOutputFileName();\n\n\t\tif (null != file) {\n\t\t\tmOutputFilePath = file.getAbsolutePath();\n\t\t} else {\n\t\t\tnew AlertDialog.Builder(this)\n\t\t\t\t\t.setTitle(android.R.string.dialog_alert_title)\n\t\t\t\t\t.setMessage(\"Failed to create a new File\").show();\n\t\t\treturn;\n\t\t}\n\n\t\t// Create the intent needed to start feather\n\t\tIntent newIntent = new Intent(this, FotorSDKActivity.class);\n\n\t\t// === INPUT IMAGE URI ===\n\t\t// Set the source image uri\n\t\tnewIntent.setData(uri);\n\n\t\t// === OUTPUT ====\n\t\t// Optional\n\t\t// Pass the uri of the destination image file.\n\t\t// This will be the same uri you will receive in the onActivityResult\n\n\t\tSystem.out.println(\"mOutputFilePath->:\" + mOutputFilePath);\n\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_OUTPUT_PATH, mOutputFilePath);\n\n\t\t// === OUTPUT QUALITY ===\n\t\t// Optional\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_OUTPUT_QUALITY, 90);\n\n\t\t// === MAX SIZE ===\n\t\t// Optional\n\t\t// you can pass the maximum allowed image size (for the preview),\n\t\t// otherwise feather will determine\n\t\t// the max size based on the device informations.\n\t\t// This will not affect the hi-res image size.\n\t\t// Here we're passing the current display size as max image size because\n\t\t// after\n\t\t// the execution of Aviary we're saving the HI-RES image so we don't\n\t\t// need a big\n\t\t// image for the preview\n\t\tfinal DisplayMetrics metrics = new DisplayMetrics();\n\t\tgetWindowManager().getDefaultDisplay().getMetrics(metrics);\n\n\t\tint max_size = Math.max(metrics.widthPixels, metrics.heightPixels);\n\n\t\tmax_size = (int) ((float) max_size / 1.4f);\n\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_MAX_PREVIEW_SIZE, max_size);\n\n\t\tmSessionId = FotorUtils.generateSessionId(this);\n\n\t\tgetContentResolver().delete(\n\t\t\t\tSessionColumns.getContentUri(this, mSessionId), null, null);\n\n\t\tLog.d(LOG_TAG,\n\t\t\t\t\"session: \" + mSessionId + \", size: \" + mSessionId.length());\n\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_FOTOR_SESSION_ID, mSessionId);\n\n\t\t// === FEATURE LIST ===\n\n\t\t// newIntent.putExtra(FotorConstants.EXTRA_FEATURE_LIST, new String[] {\n\t\t// FotorFeaturesFactory.FeatureType.FX_EFFECTS.name(),\n\t\t// FotorFeaturesFactory.FeatureType.BORDER.name() });\n\n\t\t// start feather\n\t\tstartActivityForResult(newIntent, ACTION_REQUEST_FEATURE);\n\t}\n\n\t/**\n\t * Check the external storage status\n\t * \n\t * @return\n\t */\n\tprivate boolean isExternalStorageAvilable() {\n\t\tString state = Environment.getExternalStorageState();\n\t\tif (Environment.MEDIA_MOUNTED.equals(state)) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Try to create the required folder on the sdcard where images will be\n\t * saved to.\n\t * \n\t * @return\n\t */\n\tprivate File createFolders() {\n\n\t\tFile baseDir;\n\n\t\tif (android.os.Build.VERSION.SDK_INT < 8) {\n\t\t\tbaseDir = Environment.getExternalStorageDirectory();\n\t\t} else {\n\t\t\tbaseDir = Environment\n\t\t\t\t\t.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);\n\t\t}\n\n\t\tif (baseDir == null)\n\t\t\treturn Environment.getExternalStorageDirectory();\n\n\t\tLog.d(LOG_TAG, \"Pictures folder: \" + baseDir.getAbsolutePath());\n\t\tFile fotorSDKFolder = new File(baseDir, FOLDER_NAME);\n\n\t\tif (fotorSDKFolder.exists())\n\t\t\treturn fotorSDKFolder;\n\t\tif (fotorSDKFolder.mkdirs())\n\t\t\treturn fotorSDKFolder;\n\n\t\treturn Environment.getExternalStorageDirectory();\n\t}\n\n\tclass DownloadAsync extends AsyncTask<Uri, Void, Bitmap> implements\n\t\t\tOnCancelListener {\n\n\t\tProgressDialog mProgress;\n\t\tprivate Uri mUri;\n\n\t\t@Override\n\t\tprotected void onPreExecute() {\n\t\t\tsuper.onPreExecute();\n\n\t\t\tmProgress = new ProgressDialog(MainActivity.this);\n\t\t\tmProgress.setIndeterminate(true);\n\t\t\tmProgress.setCancelable(true);\n\t\t\tmProgress.setMessage(\"Loading image...\");\n\t\t\tmProgress.setOnCancelListener(this);\n\t\t\tmProgress.show();\n\t\t}\n\n\t\t@Override\n\t\tprotected Bitmap doInBackground(Uri... params) {\n\t\t\tmUri = params[0];\n\n\t\t\tDisplayMetrics displayMetrics = getResources().getDisplayMetrics();\n\n\t\t\tint maxW = (int) (displayMetrics.widthPixels / 1.5);\n\t\t\tint maxH = (int) (displayMetrics.heightPixels / 1.5);\n\n\t\t\tBitmap bitmap = BitmapDecodeUtils.decode(getApplicationContext(),\n\t\t\t\t\tmUri, maxW, maxH);\n\n\t\t\t// bitmap = BitmapFactory.decodeFile(mUri.toString(), options);\n\n\t\t\t// int angel = 0;\n\t\t\t// try {\n\t\t\t// ExifInterface exif = new ExifInterface(mUri.toString());\n\t\t\t// int orientation = exif.getAttributeInt(\n\t\t\t// ExifInterface.TAG_ORIENTATION, -1);\n\t\t\t// if (orientation != -1) {\n\t\t\t// switch (orientation) {\n\t\t\t// case ExifInterface.ORIENTATION_ROTATE_90:\n\t\t\t// angel = 90;\n\t\t\t// break;\n\t\t\t// case ExifInterface.ORIENTATION_ROTATE_180:\n\t\t\t// angel = 180;\n\t\t\t// break;\n\t\t\t// case ExifInterface.ORIENTATION_ROTATE_270:\n\t\t\t// angel = 270;\n\t\t\t// break;\n\t\t\t// default:\n\t\t\t// break;\n\t\t\t// }\n\t\t\t// }\n\t\t\t// } catch (IOException e) {\n\t\t\t// // TODO Auto-generated catch block\n\t\t\t// e.printStackTrace();\n\t\t\t// }\n\t\t\t// if (angel != 0) {\n\t\t\t// Matrix matrix = new Matrix();\n\t\t\t// matrix.setRotate(angel);\n\t\t\t// bitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(),\n\t\t\t// bitmap.getHeight(), matrix, true);\n\t\t\t// }\n\t\t\treturn bitmap;\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPostExecute(Bitmap result) {\n\t\t\tsuper.onPostExecute(result);\n\n\t\t\tif (mProgress.getWindow() != null) {\n\t\t\t\tmProgress.dismiss();\n\t\t\t}\n\n\t\t\tif (result != null) {\n\t\t\t\tsetImageURI(mUri, result);\n\t\t\t} else {\n\t\t\t\tToast.makeText(MainActivity.this,\n\t\t\t\t\t\t\"Failed to load image \" + mUri, Toast.LENGTH_SHORT)\n\t\t\t\t\t\t.show();\n\t\t\t}\n\t\t}\n\n\t\t@Override\n\t\tpublic void onCancel(DialogInterface dialog) {\n\t\t\tLog.i(LOG_TAG, \"onProgressCancel\");\n\t\t\tthis.cancel(true);\n\t\t}\n\n\t\t@Override\n\t\tprotected void onCancelled() {\n\t\t\tsuper.onCancelled();\n\t\t\tLog.i(LOG_TAG, \"onCancelled\");\n\t\t}\n\n\t}\n}\n"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/c7/c76f4caaa7a8dfe9727fa93001b3aee3b22d6716.svn-base",
    "content": "<resources>\n\n    <!--\n        Base application theme, dependent on API level. This theme is replaced\n        by AppBaseTheme from res/values-vXX/styles.xml on newer devices.\n    -->\n    <style name=\"AppBaseTheme\" parent=\"android:Theme.Light\">\n        <!--\n            Theme customizations available in newer API levels can go in\n            res/values-vXX/styles.xml, while customizations related to\n            backward-compatibility can go here.\n        -->\n    </style>\n\n    <!-- Application theme. -->\n    <style name=\"AppTheme\" parent=\"AppBaseTheme\">\n        <!-- All customizations that are NOT specific to a particular API-level can go here. -->\n    </style>\n\n</resources>\n"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/c8/c8599aad41212c2740da5be7edf2e2c783ca6b3c.svn-base",
    "content": "package com.example.fotorsdkdemo;\n\nimport java.io.File;\n\nimport com.everimaging.fotorsdk.FotorConstants;\nimport com.everimaging.fotorsdk.FotorFeaturesFactory;\nimport com.everimaging.fotorsdk.FotorSDKActivity;\nimport com.everimaging.fotorsdk.FotorSDKVersion;\nimport com.everimaging.fotorsdk.FotorUtils;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns.Session;\nimport com.everimaging.fotorsdk.utils.BitmapDecodeUtils;\nimport com.everimaging.fotorsdk.utils.Utils;\nimport com.everimaging.fotorsdk.engine.FotorHDFilter;\nimport android.app.Activity;\nimport android.app.AlertDialog;\nimport android.app.ProgressDialog;\nimport android.content.Context;\nimport android.content.DialogInterface;\nimport android.content.DialogInterface.OnCancelListener;\nimport android.content.Intent;\nimport android.database.Cursor;\nimport android.graphics.Bitmap;\nimport android.graphics.drawable.BitmapDrawable;\nimport android.graphics.drawable.Drawable;\nimport android.media.MediaScannerConnection;\nimport android.net.Uri;\nimport android.os.AsyncTask;\nimport android.os.Bundle;\nimport android.os.Environment;\nimport android.provider.MediaStore.Images;\nimport android.provider.MediaStore.Images.ImageColumns;\nimport android.util.DisplayMetrics;\nimport android.util.Log;\nimport android.view.View;\nimport android.widget.Button;\nimport android.widget.ImageView;\nimport android.widget.TextView;\nimport android.widget.Toast;\n\n/**\n * Sample main activity\n * \n * @description\n * \n * @author <a href=\"mailto:zhangjiajun@everimaging.com\">John.Zhang</a>\n * @version 1.0\n * @create Apr 12, 2014 3:06:39 PM\n * @update Apr 12, 2014 3:06:39 PM\n */\npublic class MainActivity extends Activity {\n\n\tprivate static final int ACTION_REQUEST_FEATURE = 2;\n\n\tprivate static final int ACTION_REQUEST_GALLERY = 3;\n\n\tprivate static final int EXTERNAL_STORAGE_UNAVAILABLE = 1;\n\n\tpublic static final String LOG_TAG = \"fotorsdk_demo\";\n\n\t/** Folder name on the sdcard where the images will be saved **/\n\n\tprivate static final String FOLDER_NAME = \"FotorSDK\";\n\n\t/** Edit sample button */\n\tButton mEditButton;\n\t/** Call gallery button */\n\tButton mGalleryButton;\n\t/** Display image view */\n\tImageView mImage;\n\t/** The path for output file */\n\tUri mOutputFilePath;\n\n\t/** Image uri for image editor */\n\tUri mImageUri;\n\t/** Display version label for DEBUG */\n\tprivate TextView mSDKVersionLabel;\n\n\t/** The sample image uri. */\n\tprivate Uri mSampleUri;\n\n\tprivate File mGalleryFolder;\n\n\t/** session id for the hi-res post processing */\n\tprivate String mSessionId;\n\n\t@Override\n\tprotected void onCreate(Bundle savedInstanceState) {\n\t\tLog.i(LOG_TAG, \"onCreate\");\n\t\tsuper.onCreate(savedInstanceState);\n\n\t\tsetContentView(R.layout.activity_main);\n\n\t\tmEditButton.setOnClickListener(new View.OnClickListener() {\n\n\t\t\t@Override\n\t\t\tpublic void onClick(View v) {\n\t\t\t\tif (mImageUri != null) {\n\t\t\t\t\tstartFeature(mImageUri);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tmGalleryButton.setOnClickListener(new View.OnClickListener() {\n\n\t\t\t@Override\n\t\t\tpublic void onClick(View v) {\n\t\t\t\tpickFromGallery();\n\t\t\t}\n\t\t});\n\n\t\tmGalleryFolder = createFolders();\n\n\t\t// add sample image\n\t\tmSampleUri = Uri.parse(\"file:///android_asset/sample.jpg\");\n\t\tloadAsync(mSampleUri);\n\n\t\tif (BuildConfig.DEBUG) {\n\t\t\tmSDKVersionLabel.setText(\"V\" + FotorSDKVersion.FOTOR_SDK_VERSION);\n\t\t}\n\n\t}\n\n\t/**\n\t * Start the activity to pick an image from the user gallery\n\t */\n\tprivate void pickFromGallery() {\n\t\tIntent intent = new Intent(Intent.ACTION_GET_CONTENT);\n\t\tintent.setType(\"image/*\");\n\n\t\tIntent chooser = Intent.createChooser(intent, \"Choose a Picture\");\n\t\tstartActivityForResult(chooser, ACTION_REQUEST_GALLERY);\n\n\t}\n\n\t@Override\n\tprotected void onResume() {\n\t\tLog.i(LOG_TAG, \"onResume\");\n\t\tsuper.onResume();\n\n\t\tif (getIntent() != null) {\n\t\t\thandleIntent(getIntent());\n\t\t\tsetIntent(new Intent());\n\t\t}\n\t}\n\n\t/**\n\t * Handle the incoming {@link Intent}\n\t */\n\tprivate void handleIntent(Intent intent) {\n\n\t\tString action = intent.getAction();\n\n\t\tif (null != action) {\n\n\t\t\tif (Intent.ACTION_SEND.equals(action)) {\n\n\t\t\t\tBundle extras = intent.getExtras();\n\t\t\t\tif (extras != null && extras.containsKey(Intent.EXTRA_STREAM)) {\n\t\t\t\t\tUri uri = (Uri) extras.get(Intent.EXTRA_STREAM);\n\t\t\t\t\tloadAsync(uri);\n\t\t\t\t}\n\t\t\t} else if (Intent.ACTION_VIEW.equals(action)) {\n\t\t\t\tUri data = intent.getData();\n\t\t\t\tLog.d(LOG_TAG, \"data: \" + data);\n\t\t\t\tloadAsync(data);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Load the incoming Image\n\t * \n\t * @param uri\n\t */\n\tprivate void loadAsync(final Uri uri) {\n\t\tLog.i(LOG_TAG, \"loadAsync: \" + uri);\n\n\t\tDrawable toRecycle = mImage.getDrawable();\n\t\tif (toRecycle != null && toRecycle instanceof BitmapDrawable) {\n\t\t\tif (((BitmapDrawable) mImage.getDrawable()).getBitmap() != null)\n\t\t\t\t((BitmapDrawable) mImage.getDrawable()).getBitmap().recycle();\n\t\t}\n\t\tmImage.setImageDrawable(null);\n\t\tmImageUri = null;\n\n\t\tDownloadAsync task = new DownloadAsync();\n\t\ttask.execute(uri);\n\t}\n\n\t@Override\n\tprotected void onDestroy() {\n\t\tLog.i(LOG_TAG, \"onDestroy\");\n\t\tsuper.onDestroy();\n\t\tmOutputFilePath = null;\n\t}\n\n\t@Override\n\tpublic void onContentChanged() {\n\t\tsuper.onContentChanged();\n\n\t\tSystem.out.println(\"context:\" + this.getPackageName());\n\n\t\tmEditButton = (Button) findViewById(R.id.button2);\n\n\t\tmGalleryButton = (Button) findViewById(R.id.button_gallery);\n\n\t\tmImage = (ImageView) findViewById(R.id.image);\n\n\t\tmSDKVersionLabel = (TextView) findViewById(R.id.fotor_sdk_version_label);\n\n\t}\n\n\t@Override\n\t/**\n\t * This method is called when feather has completed ( ie. user clicked on \"done\" or just exit the activity without saving ). <br />\n\t * If user clicked the \"done\" button you'll receive RESULT_OK as resultCode, RESULT_CANCELED otherwise.\n\t * \n\t * @param requestCode\n\t * \t- it is the code passed with startActivityForResult\n\t * @param resultCode\n\t * \t- result code of the activity launched ( it can be RESULT_OK or RESULT_CANCELED )\n\t * @param data\n\t * \t- the result data\n\t */\n\tpublic void onActivityResult(int requestCode, int resultCode, Intent data) {\n\t\tif (resultCode == RESULT_OK) {\n\t\t\tswitch (requestCode) {\n\t\t\tcase ACTION_REQUEST_FEATURE: {\n\n\t\t\t\tUri uri = data.getData();\n\t\t\t\tBitmap bitmap = BitmapDecodeUtils.decode(this, uri, 0, 0);\n\t\t\t\tsetImageURI(uri, bitmap);\n\t\t\t\tnew ProcessHDTask(this).execute();\n\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase ACTION_REQUEST_GALLERY: {\n\t\t\t\tUri uri = data.getData();\n\t\t\t\tloadAsync(uri);\n\t\t\t\tstartFeature(uri);\n\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t} else if (resultCode == RESULT_CANCELED) {\n\t\t\tswitch (requestCode) {\n\t\t\tcase ACTION_REQUEST_FEATURE:\n\t\t\t\tif (mSessionId != null)\n\t\t\t\t\tdeleteSession(mSessionId);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate String onSaveCompletion() {\n\n\t\tUri sessionUri = SessionColumns.getContentUri(this, mSessionId);\n\n\t\tCursor cursor = getContentResolver().query(sessionUri, null, null,\n\t\t\t\tnull, null);\n\n\t\tSession session = Session.create(cursor);\n\n\t\tif (session != null) {\n\t\t\tFotorHDFilter fotorHDFilter = new FotorHDFilter(this, session);\n\n\t\t\tfotorHDFilter.loadImage();\n\n\t\t\tfotorHDFilter.executeFilter();\n\n\t\t\tString dstPath = Utils.getSDPath() + \"/testOriginal.jpg\";\n\n\t\t\tfotorHDFilter.save(dstPath);\n\n\t\t\tfotorHDFilter.dispose();\n\t\t\tdeleteSession(mSessionId);\n\n\t\t\treturn dstPath;\n\t\t}\n\t\treturn null;\n\n\t}\n\n\tclass ProcessHDTask extends AsyncTask<Void, Void, String> {\n\t\tprivate ProgressDialog mDialog;\n\n\t\tprivate Context mContext;\n\n\t\tpublic ProcessHDTask(Context context) {\n\t\t\tthis.mContext = context;\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPreExecute() {\n\t\t\tmDialog = ProgressDialog.show(mContext, \"Process HD\",\n\t\t\t\t\t\"Please wait...\");\n\t\t}\n\n\t\t@Override\n\t\tprotected String doInBackground(Void... params) {\n\t\t\treturn onSaveCompletion();\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPostExecute(String result) {\n\t\t\tmDialog.dismiss();\n\n\t\t\tString msg = \"Process Error\";\n\t\t\tif (result != null) {\n\t\t\t\tmsg = result;\n\t\t\t}\n\n\t\t\tToast.makeText(mContext, msg, Toast.LENGTH_LONG).show();\n\t\t}\n\n\t}\n\n\t/**\n\t * Delete the session and all it's actions. We do not need it anymore.<br />\n\t * Note that this is optional. All old sessions are automatically removed in\n\t * Feather.\n\t * \n\t * @param session_id\n\t */\n\tprivate void deleteSession(final String session_id) {\n\t\tUri uri = FotorContentProvider.SessionColumns.getContentUri(this,\n\t\t\t\tsession_id);\n\t\tint count = getContentResolver().delete(uri, null, null);\n\t\tSystem.out.println(\"delete session count:\" + count);\n\t}\n\n\t/**\n\t * Given an Uri load the bitmap into the current ImageView and resize it to\n\t * fit the image container size\n\t * \n\t * @param uri\n\t */\n\t@SuppressWarnings(\"deprecation\")\n\tprivate boolean setImageURI(final Uri uri, final Bitmap bitmap) {\n\n\t\tLog.d(LOG_TAG,\n\t\t\t\t\"image size: \" + bitmap.getWidth() + \"x\" + bitmap.getHeight());\n\t\tmImage.setImageBitmap(bitmap);\n\t\tmImage.setBackgroundDrawable(null);\n\n\t\tmEditButton.setEnabled(true);\n\t\tmImageUri = uri;\n\t\treturn true;\n\t}\n\n\t/**\n\t * We need to notify the MediaScanner when a new file is created. In this\n\t * way all the gallery applications will be notified too.\n\t * \n\t * @param file\n\t */\n\tprivate void updateMedia(String filepath) {\n\t\tLog.i(LOG_TAG, \"updateMedia: \" + filepath);\n\t\tMediaScannerConnection.scanFile(getApplicationContext(),\n\t\t\t\tnew String[] { filepath }, null, null);\n\t}\n\n\t/**\n\t * Pick a random image from the user gallery\n\t * \n\t * @return\n\t */\n\t@SuppressWarnings(\"unused\")\n\tprivate Uri pickRandomImage() {\n\t\tCursor c = getContentResolver().query(\n\t\t\t\tImages.Media.EXTERNAL_CONTENT_URI,\n\t\t\t\tnew String[] { ImageColumns._ID, ImageColumns.DATA },\n\t\t\t\tImageColumns.SIZE + \">?\", new String[] { \"90000\" }, null);\n\t\tUri uri = null;\n\n\t\tif (c != null) {\n\t\t\tint total = c.getCount();\n\t\t\tint position = (int) (Math.random() * total);\n\t\t\tLog.d(LOG_TAG, \"pickRandomImage. total images: \" + total\n\t\t\t\t\t+ \", position: \" + position);\n\t\t\tif (total > 0) {\n\t\t\t\tif (c.moveToPosition(position)) {\n\t\t\t\t\tString data = c.getString(c\n\t\t\t\t\t\t\t.getColumnIndex(Images.ImageColumns.DATA));\n\t\t\t\t\tlong id = c.getLong(c\n\t\t\t\t\t\t\t.getColumnIndex(Images.ImageColumns._ID));\n\n\t\t\t\t\turi = Uri.parse(data);\n\n\t\t\t\t\tLog.d(LOG_TAG, uri.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t\tc.close();\n\t\t}\n\t\treturn uri;\n\t}\n\n\t/**\n\t * Return a new image file. Name is based on the current time. Parent folder\n\t * will be the one created with createFolders\n\t * \n\t * @return\n\t * @see #createFolders()\n\t */\n\tprivate File generateOutputFileName() {\n\t\tif (mGalleryFolder != null) {\n\t\t\tif (mGalleryFolder.exists()) {\n\t\t\t\tFile file = new File(mGalleryFolder, \"Fotor_\"\n\t\t\t\t\t\t+ System.currentTimeMillis() + \".jpg\");\n\t\t\t\treturn file;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\t/**\n\t * Once you've chosen an image you can start the feather activity\n\t * \n\t * @param uri\n\t */\n\t@SuppressWarnings(\"deprecation\")\n\tprivate void startFeature(Uri uri) {\n\n\t\tLog.d(LOG_TAG, \"uri: \" + uri);\n\n\t\t// first check the external storage availability\n\t\tif (!isExternalStorageAvilable()) {\n\t\t\tshowDialog(EXTERNAL_STORAGE_UNAVAILABLE);\n\t\t\treturn;\n\t\t}\n\n\t\t// create a temporary file where to store the resulting image\n\t\tFile file = generateOutputFileName();\n\n\t\tif (null != file) {\n\t\t\tmOutputFilePath = Uri.fromFile(file);\n\t\t} else {\n\t\t\tnew AlertDialog.Builder(this)\n\t\t\t\t\t.setTitle(android.R.string.dialog_alert_title)\n\t\t\t\t\t.setMessage(\"Failed to create a new File\").show();\n\t\t\treturn;\n\t\t}\n\n\t\t// Create the intent needed to start feather\n\t\tIntent newIntent = new Intent(this, FotorSDKActivity.class);\n\n\t\t// === INPUT IMAGE URI ===\n\t\t// Set the source image uri\n\t\tnewIntent.setData(uri);\n\n\t\t// === OUTPUT ====\n\t\t// Optional\n\t\t// Pass the uri of the destination image file.\n\t\t// This will be the same uri you will receive in the onActivityResult\n\n\t\tSystem.out.println(\"mOutputFilePath->:\" + mOutputFilePath);\n\n//\t\tnewIntent.putExtra(FotorConstants.EXTRA_OUTPUT_PATH, mOutputFilePath);\n\n\t\t// === OUTPUT QUALITY ===\n\t\t// Optional\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_OUTPUT_QUALITY, 90);\n\n\t\t// === MAX SIZE ===\n\t\t// Optional\n\t\t// you can pass the maximum allowed image size (for the preview),\n\t\t// otherwise feather will determine\n\t\t// the max size based on the device informations.\n\t\t// This will not affect the hi-res image size.\n\t\t// Here we're passing the current display size as max image size because\n\t\t// after\n\t\t// the execution of Aviary we're saving the HI-RES image so we don't\n\t\t// need a big\n\t\t// image for the preview\n\t\tfinal DisplayMetrics metrics = new DisplayMetrics();\n\t\tgetWindowManager().getDefaultDisplay().getMetrics(metrics);\n\n\t\tint max_size = Math.max(metrics.widthPixels, metrics.heightPixels);\n\n\t\tmax_size = (int) ((float) max_size / 1.4f);\n\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_MAX_PREVIEW_SIZE, max_size);\n\n\t\tmSessionId = FotorUtils.generateSessionId(this);\n\n\t\tgetContentResolver().delete(\n\t\t\t\tSessionColumns.getContentUri(this, mSessionId), null, null);\n\n\t\tLog.d(LOG_TAG,\n\t\t\t\t\"session: \" + mSessionId + \", size: \" + mSessionId.length());\n\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_FOTOR_SESSION_ID, mSessionId);\n\n\t\t// // === FEATURE LIST ===\n\n\t\t// newIntent.putExtra(FotorConstants.EXTRA_FEATURE_LIST, new String[] {\n\t\t// FotorFeaturesFactory.FeatureType.FX_EFFECTS.name(),\n\t\t// FotorFeaturesFactory.FeatureType.BORDER.name() });\n\n\t\t// start feather\n\t\tstartActivityForResult(newIntent, ACTION_REQUEST_FEATURE);\n\t}\n\n\t/**\n\t * Check the external storage status\n\t * \n\t * @return\n\t */\n\tprivate boolean isExternalStorageAvilable() {\n\t\tString state = Environment.getExternalStorageState();\n\t\tif (Environment.MEDIA_MOUNTED.equals(state)) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Try to create the required folder on the sdcard where images will be\n\t * saved to.\n\t * \n\t * @return\n\t */\n\tprivate File createFolders() {\n\n\t\tFile baseDir;\n\n\t\tif (android.os.Build.VERSION.SDK_INT < 8) {\n\t\t\tbaseDir = Environment.getExternalStorageDirectory();\n\t\t} else {\n\t\t\tbaseDir = Environment\n\t\t\t\t\t.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);\n\t\t}\n\n\t\tif (baseDir == null)\n\t\t\treturn Environment.getExternalStorageDirectory();\n\n\t\tLog.d(LOG_TAG, \"Pictures folder: \" + baseDir.getAbsolutePath());\n\t\tFile fotorSDKFolder = new File(baseDir, FOLDER_NAME);\n\n\t\tif (fotorSDKFolder.exists())\n\t\t\treturn fotorSDKFolder;\n\t\tif (fotorSDKFolder.mkdirs())\n\t\t\treturn fotorSDKFolder;\n\n\t\treturn Environment.getExternalStorageDirectory();\n\t}\n\n\tclass DownloadAsync extends AsyncTask<Uri, Void, Bitmap> implements\n\t\t\tOnCancelListener {\n\n\t\tProgressDialog mProgress;\n\t\tprivate Uri mUri;\n\n\t\t@Override\n\t\tprotected void onPreExecute() {\n\t\t\tsuper.onPreExecute();\n\n\t\t\tmProgress = new ProgressDialog(MainActivity.this);\n\t\t\tmProgress.setIndeterminate(true);\n\t\t\tmProgress.setCancelable(true);\n\t\t\tmProgress.setMessage(\"Loading image...\");\n\t\t\tmProgress.setOnCancelListener(this);\n\t\t\tmProgress.show();\n\t\t}\n\n\t\t@Override\n\t\tprotected Bitmap doInBackground(Uri... params) {\n\t\t\tmUri = params[0];\n\n\t\t\tDisplayMetrics displayMetrics = getResources().getDisplayMetrics();\n\n\t\t\tint maxW = (int) (displayMetrics.widthPixels / 1.5);\n\t\t\tint maxH = (int) (displayMetrics.heightPixels / 1.5);\n\n\t\t\tBitmap bitmap = BitmapDecodeUtils.decode(getApplicationContext(),\n\t\t\t\t\tmUri, maxW, maxH);\n\t\t\treturn bitmap;\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPostExecute(Bitmap result) {\n\t\t\tsuper.onPostExecute(result);\n\n\t\t\tif (mProgress.getWindow() != null) {\n\t\t\t\tmProgress.dismiss();\n\t\t\t}\n\n\t\t\tif (result != null) {\n\t\t\t\tsetImageURI(mUri, result);\n\t\t\t} else {\n\t\t\t\tToast.makeText(MainActivity.this,\n\t\t\t\t\t\t\"Failed to load image \" + mUri, Toast.LENGTH_SHORT)\n\t\t\t\t\t\t.show();\n\t\t\t}\n\t\t}\n\n\t\t@Override\n\t\tpublic void onCancel(DialogInterface dialog) {\n\t\t\tLog.i(LOG_TAG, \"onProgressCancel\");\n\t\t\tthis.cancel(true);\n\t\t}\n\n\t\t@Override\n\t\tprotected void onCancelled() {\n\t\t\tsuper.onCancelled();\n\t\t\tLog.i(LOG_TAG, \"onCancelled\");\n\t\t}\n\n\t}\n}\n"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/ca/ca5b6be5c09bf337b98c9ae5f0003e71351cdc84.svn-base",
    "content": "<Effect name=\"Nostalgic\" type=\"Analog\" id=\"76\">\r\n\t<Allocation name=\"tableTexture1\"/>\r\n\t<Allocation name=\"tableTexture2\"/>\r\n\t<Allocation name=\"dst\"/>\r\n\t<Allocation name=\"dst_a\"/>\r\n\t<Allocation name=\"dst_b\"/>\r\n\t<Allocation name=\"specialAlphaTexture\">\r\n\t\t<file>vtg.png</file>\r\n\t</Allocation>\r\n\r\n\t<BaseFilter name=\"MultiplyMatrixPlusBias\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>dst</dst>\r\n\t\t<params>\r\n\t\t\t<vectorR>0.650, 0.2935, 0.057</vectorR>\r\n\t\t\t<vectorG>0.1495, 0.7935, 0.057</vectorG>\r\n\t\t\t<vectorB>0.1495, 0.2935, 0.557</vectorB>\r\n\t\t</params>\r\n\t</BaseFilter>\r\n\t\r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture1</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(4, 35)(71, 79)(140, 160)(178, 233)(209, 255)</R>\r\n            <G>(9, 0)(73, 61)(140, 162)(203, 224)(248, 248)</G>\r\n            <B>(0, 31)(110, 102)(145, 148)(195, 183)(233, 213)(253, 236)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture2</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(5, 37)(69, 85)(119, 151)(157, 213)(208, 255)</R>\r\n            <G>(13, 5)(74, 78)(109, 144)(156, 201)(250, 250)</G>\r\n            <B>(2, 36)(63, 73)(93, 112)(175, 190)(241, 227)(255, 235)</B>\r\n        </params>\r\n    </BaseFilter>\r\n\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>dst</src>\r\n\t\t<tableTexture>tableTexture1</tableTexture>\r\n\t\t<dst>dst_a</dst>\r\n\t</BaseFilter>\r\n\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>dst</src>\r\n\t\t<tableTexture>tableTexture2</tableTexture>\r\n\t\t<dst>dst_b</dst>\r\n\t</BaseFilter>\r\n\r\n\t<BaseFilter name=\"SpecialTrans\">\r\n\t\t<src>dst_a</src>\r\n\t\t<dst>dst_b</dst>\r\n\t\t<tex>specialAlphaTexture</tex>\r\n\t</BaseFilter>\r\n\r\n\t<Out DST=\"dst_b\"/>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/cc/cc20d32e79cef0c3a4289b3e8b3bfe689b8ffbc8.svn-base",
    "content": "{\n\t\"version\": 1,\n\t\"category_name\": \"Charm\",\n\t\"fonts_array\": [{\n\t\t\"font_id\": 1,\n\t\t\"font_name\": \"Sofia\",\n\t\t\"font_normal\": \"Sofia\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"Sofia\"\n\t},\n\t{\n\t\t\"font_id\": 2,\n\t\t\"font_name\": \"Ostrich Sans\",\n\t\t\"font_normal\": \"Ostrich Sans\",\n\t\t\"font_bold\": \"OstrichSans-Bold\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"OstrichSans-Bold\"\n\t},\n\t{\n\t\t\"font_id\": 3,\n\t\t\"font_name\": \"Bearpaw\",\n\t\t\"font_normal\": \"Bearpaw\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"Bearpaw\"\n\t},\n\t{\n\t\t\"font_id\": 4,\n\t\t\"font_name\": \"American Typewriter\",\n\t\t\"font_normal\": \"AmericanTypewriter\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"AmericanTypewriter-Bold\"\n\t},\n\t{\n\t\t\"font_id\": 5,\n\t\t\"font_name\": \"Stencil Std\",\n\t\t\"font_normal\": \"Stencil Std\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"Stencil Std\"\n\t},\n\t{\n\t\t\"font_id\": 6,\n\t\t\"font_name\": \"Brush Script MT\",\n\t\t\"font_normal\": \"Brush Script\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"Brush Script\"\n\t},\n\t{\n\t\t\"font_id\": 7,\n\t\t\"font_name\": \"Noteworthy\",\n\t\t\"font_normal\": \"Noteworthy\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"\"\n\t},\n\t{\n\t\t\"font_id\": 8,\n\t\t\"font_name\": \"Miama\",\n\t\t\"font_normal\": \"Miama\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"Miama\"\n\t},\n\t{\n\t\t\"font_id\": 9,\n\t\t\"font_name\": \"Blackout\",\n\t\t\"font_normal\": \"Blackout\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"Blackout\"\n\t},\n\t{\n\t\t\"font_id\": 10,\n\t\t\"font_name\": \"Muli\",\n\t\t\"font_normal\": \"Muli\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"Muli-Italic\",\n\t\t\"font_bolditalic\": \"Muli-Italic\"\n\t},\n\t{\n\t\t\"font_id\": 11,\n\t\t\"font_name\": \"padaloma italic\",\n\t\t\"font_normal\": \"padaloma\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"padaloma\"\n\t},\n\t{\n\t\t\"font_id\": 12,\n\t\t\"font_name\": \"Josefin Sans\",\n\t\t\"font_normal\": \"Josefin Sans\",\n\t\t\"font_bold\": \"JosefinSans-Bold\",\n\t\t\"font_italic\": \"JosefinSans-Italic\",\n\t\t\"font_bolditalic\": \"JosefinSans-BoldItalic\"\n\t},\n\t{\n\t\t\"font_id\": 13,\n\t\t\"font_name\": \"Garogier\",\n\t\t\"font_normal\": \"Garogier\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"Garogier\"\n\t}\n\t]\n}"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/cc/ccbfb0bce061fdc77c89d57b79abababbe498b25.svn-base",
    "content": "<Effect name=\"Relief\" type=\"Vintage\" id=\"91\">\r\n    <Allocation name=\"technicolor\"/>\r\n    \r\n    <BaseFilter name=\"Technicolor\">\r\n        <src>SRC</src>\r\n        <dst>technicolor</dst>\r\n        <params>\r\n            <technicolorRed>0.992, 0.137, 0.314</technicolorRed>\r\n            <technicolorGreen>0.204, 0.98, 0.725</technicolorGreen>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"Vignette\">\r\n        <src>technicolor</src>\r\n        <dst>DST</dst>\r\n        <params>\r\n            <mode>linear</mode>\r\n            <vignetteStart>0.0</vignetteStart>\r\n            <vignetteRange>0.7</vignetteRange>\r\n        </params>\r\n    </BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/d2/d2c70b5f789a420e8fb9aafe2f197a7d852acf47.svn-base",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    package=\"com.example.fotorsdkdemo\"\n    android:versionCode=\"1\"\n    android:versionName=\"1.0\" >\n\n    <!-- FotorSDK Required : Minimum sdk version -->\n    <uses-sdk\n        android:minSdkVersion=\"10\"\n        android:targetSdkVersion=\"19\" />\n    <!-- FotorSDK Required : Permissions -->\n    <uses-permission android:name=\"android.permission.INTERNET\" />\n    <uses-permission android:name=\"android.permission.CAMERA\" />\n    <uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\" />\n    <uses-permission android:name=\"android.permission.FLASHLIGHT\" />\n\n    <application\n        android:allowBackup=\"true\"\n        android:icon=\"@drawable/icon\"\n        android:label=\"@string/app_name\"\n        android:theme=\"@style/AppTheme\" >\n        <activity\n            android:name=\"com.example.fotorsdkdemo.MainActivity\"\n            android:label=\"@string/app_name\" >\n            <intent-filter>\n                <action android:name=\"android.intent.action.MAIN\" />\n\n                <category android:name=\"android.intent.category.LAUNCHER\" />\n            </intent-filter>\n        </activity>\n\n        <!-- FotorSDK Required : proccess main activity -->\n        <activity\n            android:name=\"com.everimaging.fotorsdk.FotorSDKActivity\"\n            android:configChanges=\"orientation|keyboardHidden|screenSize\"\n            android:hardwareAccelerated=\"true\"\n            android:largeHeap=\"true\"\n            android:screenOrientation=\"unspecified\"\n            android:theme=\"@style/FotorTheme\" />\n        <!-- FotorSDK Required : camera main activity -->\n        <activity android:name=\"com.everimaging.fotorsdk.camera.CameraActivity\" >\n        </activity>\n        <!-- FotorSDK Required : content provider for process high resolution  #NOTE# authorities you must change -->\n        <provider\n            android:name=\"com.everimaging.fotorsdk.provider.FotorContentProvider\"\n            android:authorities=\"com.example.fotorsdkdemo.FotorContentProvider\"\n            android:exported=\"false\" />\n\n        <!-- FotorSDK Required : receiver to listener newly feature package change -->\n        <receiver\n            android:name=\"com.everimaging.fotorsdk.receivers.FotorSystemReceiver\"\n            android:exported=\"true\"\n            android:process=\":fotor_receiver\" >\n            <intent-filter>\n                <action android:name=\"android.intent.action.PACKAGE_ADDED\" />\n                <action android:name=\"android.intent.action.PACKAGE_REMOVED\" />\n                <action android:name=\"android.intent.action.PACKAGE_REPLACED\" />\n\n                <data android:scheme=\"package\" />\n            </intent-filter>\n        </receiver>\n        <!-- FotorSDK Required : You Fotor API_KEY -->\n        <meta-data\n            android:name=\"FOTOR_API_KEY\"\n            android:value=\"fotor_api_key\" />\n    </application>\n\n</manifest>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/d2/d2cf8c1c7967e5c36aee75d35aa80376db1464aa.svn-base",
    "content": "<Effect name=\"Flash\" type=\"Scenes\" id=\"170\">\r\n    <Allocation name=\"tableTexture\" />\r\n\t\r\n    <BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(2, 2)(16, 30)(72, 112)(135, 185)(252, 255)</R>\r\n            <G>(2, 1)(30, 42)(55, 84)(157, 207)(238, 249)</G>\r\n            <B>(1, 0)(26, 17)(67, 106)(114, 165)(231, 250)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/d2/d2d1c889e08d06619782c4bad9c91d7a7e538d60.svn-base",
    "content": "[[\"stickers_text_1.png\",\n\"stickers_text_1_icon.png\"],\n[\"stickers_text_2.png\",\n\"stickers_text_2_icon.png\"],\n[\"stickers_text_3.png\",\n\"stickers_text_3_icon.png\"],\n[\"stickers_text_4.png\",\n\"stickers_text_4_icon.png\"],\n[\"stickers_text_5.png\",\n\"stickers_text_5_icon.png\"],\n[\"stickers_text_6.png\",\n\"stickers_text_6_icon.png\"],\n[\"stickers_text_7.png\",\n\"stickers_text_7_icon.png\"]]"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/d7/d746fd0f09198fe8afc04b64bddd20d9909584ed.svn-base",
    "content": "eclipse.preferences.version=1\norg.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6\norg.eclipse.jdt.core.compiler.compliance=1.6\norg.eclipse.jdt.core.compiler.source=1.6\n"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/da/da770fb0f41f62c3c00ea1980d072e9002bd7160.svn-base",
    "content": "<Effect name=\"Cloudy\" type=\"Scenes\" id=\"167\">\r\n    <Allocation name=\"tableTexture\"/>\r\n\t\r\n    <BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(14, 0)(51, 42)(135, 138)(191, 202)(234, 255)</R>\r\n            <G>(11, 6)(78, 77)(178, 185)(242, 250)</G>\r\n            <B>(11, 0)(22, 10)(72, 60)(171, 162)(217, 209)(255, 255)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/db/db7036fb113dd74422a670234ac70c592144a735.svn-base",
    "content": "package com.example.fotorsdkdemo;\n\nimport java.io.File;\n\nimport com.everimaging.fotorsdk.FotorConstants;\nimport com.everimaging.fotorsdk.FotorFeaturesFactory;\nimport com.everimaging.fotorsdk.FotorSDKActivity;\nimport com.everimaging.fotorsdk.FotorSDKVersion;\nimport com.everimaging.fotorsdk.FotorUtils;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider.ActionsColumns.Action;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns.Session;\nimport com.everimaging.fotorsdk.utils.BitmapDecodeUtils;\nimport com.everimaging.fotorsdk.utils.Utils;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\nimport com.everimaging.fotorsdk.engine.FotorHDFilter;\n\nimport android.app.Activity;\nimport android.app.AlertDialog;\nimport android.app.ProgressDialog;\nimport android.content.Context;\nimport android.content.DialogInterface;\nimport android.content.DialogInterface.OnCancelListener;\nimport android.content.Intent;\nimport android.database.Cursor;\nimport android.graphics.Bitmap;\nimport android.graphics.drawable.BitmapDrawable;\nimport android.graphics.drawable.Drawable;\nimport android.media.MediaScannerConnection;\nimport android.net.Uri;\nimport android.os.AsyncTask;\nimport android.os.Bundle;\nimport android.os.Environment;\nimport android.provider.MediaStore.Images;\nimport android.provider.MediaStore.Images.ImageColumns;\nimport android.util.DisplayMetrics;\nimport android.util.Log;\nimport android.view.View;\nimport android.widget.Button;\nimport android.widget.ImageView;\nimport android.widget.TextView;\nimport android.widget.Toast;\n\npublic class MainActivity extends Activity {\n\n\tprivate static final int ACTION_REQUEST_FEATURE = 2;\n\n\tprivate static final int ACTION_REQUEST_GALLERY = 3;\n\n\tprivate static final int EXTERNAL_STORAGE_UNAVAILABLE = 1;\n\n\tpublic static final String LOG_TAG = \"fotorsdk_demo\";\n\n\t/** Folder name on the sdcard where the images will be saved **/\n\n\tprivate static final String FOLDER_NAME = \"FotorSDK\";\n\n\tButton mEditButton;\n\tButton mGalleryButton;\n\tImageView mImage;\n\tString mOutputFilePath;\n\tUri mImageUri;\n\n\tprivate TextView mSDKVersionLabel;\n\n\tprivate Uri mSampleUri;\n\n\tprivate File mGalleryFolder;\n\n\t/** session id for the hi-res post processing */\n\tprivate String mSessionId;\n\n\t@Override\n\tprotected void onCreate(Bundle savedInstanceState) {\n\t\tLog.i(LOG_TAG, \"onCreate\");\n\t\tsuper.onCreate(savedInstanceState);\n\n\t\tsetContentView(R.layout.activity_main);\n\n\t\tmEditButton.setOnClickListener(new View.OnClickListener() {\n\n\t\t\t@Override\n\t\t\tpublic void onClick(View v) {\n\t\t\t\tif (mImageUri != null) {\n\t\t\t\t\tstartFeature(mImageUri);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tmGalleryButton.setOnClickListener(new View.OnClickListener() {\n\n\t\t\t@Override\n\t\t\tpublic void onClick(View v) {\n\t\t\t\tpickFromGallery();\n\t\t\t}\n\t\t});\n\n\t\tmGalleryFolder = createFolders();\n\n\t\t// add sample image\n\t\tmSampleUri = Uri.parse(\"file:///android_asset/sample.jpg\");\n\t\tloadAsync(mSampleUri);\n\n\t\tif (BuildConfig.DEBUG) {\n\t\t\tmSDKVersionLabel.setText(\"V\" + FotorSDKVersion.FOTOR_SDK_VERSION);\n\t\t}\n\n\t}\n\n\t/**\n\t * Start the activity to pick an image from the user gallery\n\t */\n\tprivate void pickFromGallery() {\n\t\tIntent intent = new Intent(Intent.ACTION_GET_CONTENT);\n\t\tintent.setType(\"image/*\");\n\n\t\tIntent chooser = Intent.createChooser(intent, \"Choose a Picture\");\n\t\tstartActivityForResult(chooser, ACTION_REQUEST_GALLERY);\n\n\t}\n\n\t@Override\n\tprotected void onResume() {\n\t\tLog.i(LOG_TAG, \"onResume\");\n\t\tsuper.onResume();\n\n\t\tif (getIntent() != null) {\n\t\t\thandleIntent(getIntent());\n\t\t\tsetIntent(new Intent());\n\t\t}\n\t}\n\n\t/**\n\t * Handle the incoming {@link Intent}\n\t */\n\tprivate void handleIntent(Intent intent) {\n\n\t\tString action = intent.getAction();\n\n\t\tif (null != action) {\n\n\t\t\tif (Intent.ACTION_SEND.equals(action)) {\n\n\t\t\t\tBundle extras = intent.getExtras();\n\t\t\t\tif (extras != null && extras.containsKey(Intent.EXTRA_STREAM)) {\n\t\t\t\t\tUri uri = (Uri) extras.get(Intent.EXTRA_STREAM);\n\t\t\t\t\tloadAsync(uri);\n\t\t\t\t}\n\t\t\t} else if (Intent.ACTION_VIEW.equals(action)) {\n\t\t\t\tUri data = intent.getData();\n\t\t\t\tLog.d(LOG_TAG, \"data: \" + data);\n\t\t\t\tloadAsync(data);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Load the incoming Image\n\t * \n\t * @param uri\n\t */\n\tprivate void loadAsync(final Uri uri) {\n\t\tLog.i(LOG_TAG, \"loadAsync: \" + uri);\n\n\t\tDrawable toRecycle = mImage.getDrawable();\n\t\tif (toRecycle != null && toRecycle instanceof BitmapDrawable) {\n\t\t\tif (((BitmapDrawable) mImage.getDrawable()).getBitmap() != null)\n\t\t\t\t((BitmapDrawable) mImage.getDrawable()).getBitmap().recycle();\n\t\t}\n\t\tmImage.setImageDrawable(null);\n\t\tmImageUri = null;\n\n\t\tDownloadAsync task = new DownloadAsync();\n\t\ttask.execute(uri);\n\t}\n\n\t@Override\n\tprotected void onDestroy() {\n\t\tLog.i(LOG_TAG, \"onDestroy\");\n\t\tsuper.onDestroy();\n\t\tmOutputFilePath = null;\n\t}\n\n\t@Override\n\tpublic void onContentChanged() {\n\t\tsuper.onContentChanged();\n\n\t\tSystem.out.println(\"context:\" + this.getPackageName());\n\n\t\tmEditButton = (Button) findViewById(R.id.button2);\n\n\t\tmGalleryButton = (Button) findViewById(R.id.button_gallery);\n\n\t\tmImage = (ImageView) findViewById(R.id.image);\n\n\t\tmSDKVersionLabel = (TextView) findViewById(R.id.fotor_sdk_version_label);\n\n\t}\n\n\t@Override\n\t/**\n\t * This method is called when feather has completed ( ie. user clicked on \"done\" or just exit the activity without saving ). <br />\n\t * If user clicked the \"done\" button you'll receive RESULT_OK as resultCode, RESULT_CANCELED otherwise.\n\t * \n\t * @param requestCode\n\t * \t- it is the code passed with startActivityForResult\n\t * @param resultCode\n\t * \t- result code of the activity launched ( it can be RESULT_OK or RESULT_CANCELED )\n\t * @param data\n\t * \t- the result data\n\t */\n\tpublic void onActivityResult(int requestCode, int resultCode, Intent data) {\n\t\tif (resultCode == RESULT_OK) {\n\t\t\tswitch (requestCode) {\n\t\t\tcase ACTION_REQUEST_FEATURE: {\n\n\t\t\t\tUri uri = Uri.parse(mOutputFilePath);\n\t\t\t\tBitmap bitmap = BitmapDecodeUtils.decodeFile(mOutputFilePath);\n\t\t\t\tsetImageURI(uri, bitmap);\n\t\t\t\tnew ProcessHDTask(this).execute();\n\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase ACTION_REQUEST_GALLERY: {\n\t\t\t\tUri uri = data.getData();\n\t\t\t\tloadAsync(uri);\n\t\t\t\tstartFeature(uri);\n\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t} else if (resultCode == RESULT_CANCELED) {\n\t\t\tswitch (requestCode) {\n\t\t\tcase ACTION_REQUEST_FEATURE:\n\t\t\t\tif (mSessionId != null)\n\t\t\t\t\tdeleteSession(mSessionId);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate String onSaveCompletion() {\n\n\t\tUri sessionUri = SessionColumns.getContentUri(this, mSessionId);\n\n\t\tCursor cursor = getContentResolver().query(sessionUri, null, null,\n\t\t\t\tnull, null);\n\t\tif (cursor != null && cursor.getCount() > 0) {\n\t\t\tList<Action> actions = new ArrayList<FotorContentProvider.ActionsColumns.Action>();\n\t\t\twhile (cursor.moveToNext()) {\n\t\t\t\tAction action = Action.create(cursor);\n\t\t\t\tSystem.out.println(\"action:\" + action);\n\t\t\t\tactions.add(action);\n\t\t\t}\n\t\t\tcursor.close();\n\t\t} else {\n\t\t\tSystem.out.println(\"cursor doesn't have datas.\");\n\t\t}\n\n\t\tCursor cursor2 = getContentResolver().query(\n\t\t\t\tSessionColumns.getContentUri(this, mSessionId), null, null,\n\t\t\t\tnull, null);\n\n\t\tSession session = Session.create(cursor2);\n\n\t\tif (session != null) {\n\t\t\tFotorHDFilter fotorHDFilter = new FotorHDFilter(this, session);\n\n\t\t\tfotorHDFilter.loadImage();\n\n\t\t\tfotorHDFilter.executeFilter();\n\n\t\t\tString dstPath = Utils.getSDPath() + \"/testOriginal.jpg\";\n\n\t\t\tfotorHDFilter.save(dstPath);\n\n\t\t\tfotorHDFilter.dispose();\n\t\t\tdeleteSession(mSessionId);\n\n\t\t\treturn dstPath;\n\t\t}\n\t\treturn null;\n\n\t}\n\n\tclass ProcessHDTask extends AsyncTask<Void, Void, String> {\n\t\tprivate ProgressDialog mDialog;\n\n\t\tprivate Context mContext;\n\n\t\tpublic ProcessHDTask(Context context) {\n\t\t\tthis.mContext = context;\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPreExecute() {\n\t\t\tmDialog = ProgressDialog.show(mContext, \"Process HD\",\n\t\t\t\t\t\"Please wait...\");\n\t\t}\n\n\t\t@Override\n\t\tprotected String doInBackground(Void... params) {\n\t\t\treturn onSaveCompletion();\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPostExecute(String result) {\n\t\t\tmDialog.dismiss();\n\n\t\t\tString msg = \"Process Error\";\n\t\t\tif (result != null) {\n\t\t\t\tmsg = result;\n\t\t\t}\n\n\t\t\tToast.makeText(mContext, msg, Toast.LENGTH_LONG).show();\n\t\t}\n\n\t}\n\n\t/**\n\t * Delete the session and all it's actions. We do not need it anymore.<br />\n\t * Note that this is optional. All old sessions are automatically removed in\n\t * Feather.\n\t * \n\t * @param session_id\n\t */\n\tprivate void deleteSession(final String session_id) {\n\t\tUri uri = FotorContentProvider.SessionColumns.getContentUri(this,\n\t\t\t\tsession_id);\n\t\tint count = getContentResolver().delete(uri, null, null);\n\t\tSystem.out.println(\"delete session count:\" + count);\n\t}\n\n\t/**\n\t * Given an Uri load the bitmap into the current ImageView and resize it to\n\t * fit the image container size\n\t * \n\t * @param uri\n\t */\n\t@SuppressWarnings(\"deprecation\")\n\tprivate boolean setImageURI(final Uri uri, final Bitmap bitmap) {\n\n\t\tLog.d(LOG_TAG,\n\t\t\t\t\"image size: \" + bitmap.getWidth() + \"x\" + bitmap.getHeight());\n\t\tmImage.setImageBitmap(bitmap);\n\t\tmImage.setBackgroundDrawable(null);\n\n\t\tmEditButton.setEnabled(true);\n\t\tmImageUri = uri;\n\t\treturn true;\n\t}\n\n\t/**\n\t * We need to notify the MediaScanner when a new file is created. In this\n\t * way all the gallery applications will be notified too.\n\t * \n\t * @param file\n\t */\n\tprivate void updateMedia(String filepath) {\n\t\tLog.i(LOG_TAG, \"updateMedia: \" + filepath);\n\t\tMediaScannerConnection.scanFile(getApplicationContext(),\n\t\t\t\tnew String[] { filepath }, null, null);\n\t}\n\n\t/**\n\t * Pick a random image from the user gallery\n\t * \n\t * @return\n\t */\n\t@SuppressWarnings(\"unused\")\n\tprivate Uri pickRandomImage() {\n\t\tCursor c = getContentResolver().query(\n\t\t\t\tImages.Media.EXTERNAL_CONTENT_URI,\n\t\t\t\tnew String[] { ImageColumns._ID, ImageColumns.DATA },\n\t\t\t\tImageColumns.SIZE + \">?\", new String[] { \"90000\" }, null);\n\t\tUri uri = null;\n\n\t\tif (c != null) {\n\t\t\tint total = c.getCount();\n\t\t\tint position = (int) (Math.random() * total);\n\t\t\tLog.d(LOG_TAG, \"pickRandomImage. total images: \" + total\n\t\t\t\t\t+ \", position: \" + position);\n\t\t\tif (total > 0) {\n\t\t\t\tif (c.moveToPosition(position)) {\n\t\t\t\t\tString data = c.getString(c\n\t\t\t\t\t\t\t.getColumnIndex(Images.ImageColumns.DATA));\n\t\t\t\t\tlong id = c.getLong(c\n\t\t\t\t\t\t\t.getColumnIndex(Images.ImageColumns._ID));\n\n\t\t\t\t\turi = Uri.parse(data);\n\n\t\t\t\t\tLog.d(LOG_TAG, uri.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t\tc.close();\n\t\t}\n\t\treturn uri;\n\t}\n\n\t/**\n\t * Return a new image file. Name is based on the current time. Parent folder\n\t * will be the one created with createFolders\n\t * \n\t * @return\n\t * @see #createFolders()\n\t */\n\tprivate File generateOutputFileName() {\n\t\tif (mGalleryFolder != null) {\n\t\t\tif (mGalleryFolder.exists()) {\n\t\t\t\tFile file = new File(mGalleryFolder, \"Fotor_\"\n\t\t\t\t\t\t+ System.currentTimeMillis() + \".jpg\");\n\t\t\t\treturn file;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\t/**\n\t * Once you've chosen an image you can start the feather activity\n\t * \n\t * @param uri\n\t */\n\t@SuppressWarnings(\"deprecation\")\n\tprivate void startFeature(Uri uri) {\n\n\t\tLog.d(LOG_TAG, \"uri: \" + uri);\n\n\t\t// first check the external storage availability\n\t\tif (!isExternalStorageAvilable()) {\n\t\t\tshowDialog(EXTERNAL_STORAGE_UNAVAILABLE);\n\t\t\treturn;\n\t\t}\n\n\t\t// create a temporary file where to store the resulting image\n\t\tFile file = generateOutputFileName();\n\n\t\tif (null != file) {\n\t\t\tmOutputFilePath = file.getAbsolutePath();\n\t\t} else {\n\t\t\tnew AlertDialog.Builder(this)\n\t\t\t\t\t.setTitle(android.R.string.dialog_alert_title)\n\t\t\t\t\t.setMessage(\"Failed to create a new File\").show();\n\t\t\treturn;\n\t\t}\n\n\t\t// Create the intent needed to start feather\n\t\tIntent newIntent = new Intent(this, FotorSDKActivity.class);\n\n\t\t// === INPUT IMAGE URI ===\n\t\t// Set the source image uri\n\t\tnewIntent.setData(uri);\n\n\t\t// === OUTPUT ====\n\t\t// Optional\n\t\t// Pass the uri of the destination image file.\n\t\t// This will be the same uri you will receive in the onActivityResult\n\n\t\tSystem.out.println(\"mOutputFilePath->:\" + mOutputFilePath);\n\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_OUTPUT_PATH, mOutputFilePath);\n\n\t\t// === OUTPUT QUALITY ===\n\t\t// Optional\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_OUTPUT_QUALITY, 90);\n\n\t\t// === MAX SIZE ===\n\t\t// Optional\n\t\t// you can pass the maximum allowed image size (for the preview),\n\t\t// otherwise feather will determine\n\t\t// the max size based on the device informations.\n\t\t// This will not affect the hi-res image size.\n\t\t// Here we're passing the current display size as max image size because\n\t\t// after\n\t\t// the execution of Aviary we're saving the HI-RES image so we don't\n\t\t// need a big\n\t\t// image for the preview\n\t\tfinal DisplayMetrics metrics = new DisplayMetrics();\n\t\tgetWindowManager().getDefaultDisplay().getMetrics(metrics);\n\n\t\tint max_size = Math.max(metrics.widthPixels, metrics.heightPixels);\n\n\t\tmax_size = (int) ((float) max_size / 1.4f);\n\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_MAX_PREVIEW_SIZE, max_size);\n\n\t\tmSessionId = FotorUtils.generateSessionId(this);\n\n\t\tgetContentResolver().delete(\n\t\t\t\tSessionColumns.getContentUri(this, mSessionId), null, null);\n\n\t\tLog.d(LOG_TAG,\n\t\t\t\t\"session: \" + mSessionId + \", size: \" + mSessionId.length());\n\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_FOTOR_SESSION_ID, mSessionId);\n\n\t\t// === FEATURE LIST ===\n\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_FEATURE_LIST, new String[] {\n\t\t\t\tFotorFeaturesFactory.FeatureType.FX_EFFECTS.name(),\n\t\t\t\tFotorFeaturesFactory.FeatureType.BORDER.name() });\n\n\t\t// start feather\n\t\tstartActivityForResult(newIntent, ACTION_REQUEST_FEATURE);\n\t}\n\n\t/**\n\t * Check the external storage status\n\t * \n\t * @return\n\t */\n\tprivate boolean isExternalStorageAvilable() {\n\t\tString state = Environment.getExternalStorageState();\n\t\tif (Environment.MEDIA_MOUNTED.equals(state)) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Try to create the required folder on the sdcard where images will be\n\t * saved to.\n\t * \n\t * @return\n\t */\n\tprivate File createFolders() {\n\n\t\tFile baseDir;\n\n\t\tif (android.os.Build.VERSION.SDK_INT < 8) {\n\t\t\tbaseDir = Environment.getExternalStorageDirectory();\n\t\t} else {\n\t\t\tbaseDir = Environment\n\t\t\t\t\t.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);\n\t\t}\n\n\t\tif (baseDir == null)\n\t\t\treturn Environment.getExternalStorageDirectory();\n\n\t\tLog.d(LOG_TAG, \"Pictures folder: \" + baseDir.getAbsolutePath());\n\t\tFile fotorSDKFolder = new File(baseDir, FOLDER_NAME);\n\n\t\tif (fotorSDKFolder.exists())\n\t\t\treturn fotorSDKFolder;\n\t\tif (fotorSDKFolder.mkdirs())\n\t\t\treturn fotorSDKFolder;\n\n\t\treturn Environment.getExternalStorageDirectory();\n\t}\n\n\tclass DownloadAsync extends AsyncTask<Uri, Void, Bitmap> implements\n\t\t\tOnCancelListener {\n\n\t\tProgressDialog mProgress;\n\t\tprivate Uri mUri;\n\n\t\t@Override\n\t\tprotected void onPreExecute() {\n\t\t\tsuper.onPreExecute();\n\n\t\t\tmProgress = new ProgressDialog(MainActivity.this);\n\t\t\tmProgress.setIndeterminate(true);\n\t\t\tmProgress.setCancelable(true);\n\t\t\tmProgress.setMessage(\"Loading image...\");\n\t\t\tmProgress.setOnCancelListener(this);\n\t\t\tmProgress.show();\n\t\t}\n\n\t\t@Override\n\t\tprotected Bitmap doInBackground(Uri... params) {\n\t\t\tmUri = params[0];\n\n\t\t\tDisplayMetrics displayMetrics = getResources().getDisplayMetrics();\n\n\t\t\tint maxW = (int) (displayMetrics.widthPixels / 1.5);\n\t\t\tint maxH = (int) (displayMetrics.heightPixels / 1.5);\n\n\t\t\tBitmap bitmap = BitmapDecodeUtils.decode(getApplicationContext(),\n\t\t\t\t\tmUri, maxW, maxH);\n\t\t\treturn bitmap;\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPostExecute(Bitmap result) {\n\t\t\tsuper.onPostExecute(result);\n\n\t\t\tif (mProgress.getWindow() != null) {\n\t\t\t\tmProgress.dismiss();\n\t\t\t}\n\n\t\t\tif (result != null) {\n\t\t\t\tsetImageURI(mUri, result);\n\t\t\t} else {\n\t\t\t\tToast.makeText(MainActivity.this,\n\t\t\t\t\t\t\"Failed to load image \" + mUri, Toast.LENGTH_SHORT)\n\t\t\t\t\t\t.show();\n\t\t\t}\n\t\t}\n\n\t\t@Override\n\t\tpublic void onCancel(DialogInterface dialog) {\n\t\t\tLog.i(LOG_TAG, \"onProgressCancel\");\n\t\t\tthis.cancel(true);\n\t\t}\n\n\t\t@Override\n\t\tprotected void onCancelled() {\n\t\t\tsuper.onCancelled();\n\t\t\tLog.i(LOG_TAG, \"onCancelled\");\n\t\t}\n\n\t}\n}\n"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/db/dbfff77ed8b045f7db605f34bd6894b81f471e40.svn-base",
    "content": "<Effect name=\"Nashville\" type=\"Lomo\" id=\"103\">\r\n\t<Allocation name=\"tableTexture\"/>\r\n\t\r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(35, 43)(159, 194)(255, 255)</R>\r\n            <G>(0, 26)(141, 157)(255, 218)</G>\r\n            <B>(0, 81)(255, 145)</B>\r\n        </params>\r\n    </BaseFilter>\r\n\t\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/dd/dd476b2d84d744357129a743cd223f9a7264dd29.svn-base",
    "content": "[\"6.xml\",\"10.xml\",\"114.xml\",\"111.xml\",\"112.xml\",\"28.xml\"]"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/de/def85b8417714285df94a8c429a38b2a4b7484c1.svn-base",
    "content": "package com.example.fotorsdkdemo;\n\nimport java.io.File;\n\nimport com.everimaging.fotorsdk.FotorConstants;\nimport com.everimaging.fotorsdk.FotorFeaturesFactory;\nimport com.everimaging.fotorsdk.FotorSDKActivity;\nimport com.everimaging.fotorsdk.FotorUtils;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider.ActionsColumns.Action;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider.ActionsColumns;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns.Session;\nimport com.everimaging.fotorsdk.utils.BitmapDecodeUtils;\nimport com.everimaging.fotorsdk.utils.Utils;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\nimport com.everimaging.fotorsdk.engine.FotorHDFilter;\n\nimport android.app.Activity;\nimport android.app.AlertDialog;\nimport android.app.ProgressDialog;\nimport android.content.Context;\nimport android.content.DialogInterface;\nimport android.content.DialogInterface.OnCancelListener;\nimport android.content.Intent;\nimport android.database.Cursor;\nimport android.graphics.Bitmap;\nimport android.graphics.drawable.BitmapDrawable;\nimport android.graphics.drawable.Drawable;\nimport android.media.MediaScannerConnection;\nimport android.net.Uri;\nimport android.os.AsyncTask;\nimport android.os.Bundle;\nimport android.os.Environment;\nimport android.provider.MediaStore.Images;\nimport android.provider.MediaStore.Images.ImageColumns;\nimport android.util.DisplayMetrics;\nimport android.util.Log;\nimport android.view.View;\nimport android.view.View.OnLongClickListener;\nimport android.widget.Button;\nimport android.widget.ImageView;\nimport android.widget.Toast;\n\npublic class MainActivity extends Activity {\n\n\tprivate static final int ACTION_REQUEST_FEATURE = 2;\n\n\tprivate static final int ACTION_REQUEST_GALLERY = 3;\n\n\tprivate static final int EXTERNAL_STORAGE_UNAVAILABLE = 1;\n\n\tpublic static final String LOG_TAG = \"fotorsdk_demo\";\n\n\t/** Folder name on the sdcard where the images will be saved **/\n\n\tprivate static final String FOLDER_NAME = \"FotorSDK\";\n\n\tButton mEditButton;\n\tButton mGalleryButton;\n\tImageView mImage;\n\tString mOutputFilePath;\n\tUri mImageUri;\n\n\tprivate Uri mSampleUri;\n\n\tprivate File mGalleryFolder;\n\n\t/** session id for the hi-res post processing */\n\tprivate String mSessionId;\n\n\t@Override\n\tprotected void onCreate(Bundle savedInstanceState) {\n\t\tLog.i(LOG_TAG, \"onCreate\");\n\t\tsuper.onCreate(savedInstanceState);\n\n\t\tsetContentView(R.layout.activity_main);\n\n\t\tmEditButton.setOnClickListener(new View.OnClickListener() {\n\n\t\t\t@Override\n\t\t\tpublic void onClick(View v) {\n\t\t\t\tif (mImageUri != null) {\n\t\t\t\t\tstartFeature(mImageUri);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tmGalleryButton.setOnClickListener(new View.OnClickListener() {\n\n\t\t\t@Override\n\t\t\tpublic void onClick(View v) {\n\t\t\t\tpickFromGallery();\n\t\t\t}\n\t\t});\n\n\t\tmGalleryFolder = createFolders();\n\n\t\t// add sample image\n\t\tmSampleUri = Uri.parse(\"file:///android_asset/sample.jpg\");\n\t\tloadAsync(mSampleUri);\n\t}\n\n\t/**\n\t * Start the activity to pick an image from the user gallery\n\t */\n\tprivate void pickFromGallery() {\n\t\tIntent intent = new Intent(Intent.ACTION_GET_CONTENT);\n\t\tintent.setType(\"image/*\");\n\n\t\tIntent chooser = Intent.createChooser(intent, \"Choose a Picture\");\n\t\tstartActivityForResult(chooser, ACTION_REQUEST_GALLERY);\n\t}\n\n\t@Override\n\tprotected void onResume() {\n\t\tLog.i(LOG_TAG, \"onResume\");\n\t\tsuper.onResume();\n\n\t\tif (getIntent() != null) {\n\t\t\thandleIntent(getIntent());\n\t\t\tsetIntent(new Intent());\n\t\t}\n\t}\n\n\t/**\n\t * Handle the incoming {@link Intent}\n\t */\n\tprivate void handleIntent(Intent intent) {\n\n\t\tString action = intent.getAction();\n\n\t\tif (null != action) {\n\n\t\t\tif (Intent.ACTION_SEND.equals(action)) {\n\n\t\t\t\tBundle extras = intent.getExtras();\n\t\t\t\tif (extras != null && extras.containsKey(Intent.EXTRA_STREAM)) {\n\t\t\t\t\tUri uri = (Uri) extras.get(Intent.EXTRA_STREAM);\n\t\t\t\t\tloadAsync(uri);\n\t\t\t\t}\n\t\t\t} else if (Intent.ACTION_VIEW.equals(action)) {\n\t\t\t\tUri data = intent.getData();\n\t\t\t\tLog.d(LOG_TAG, \"data: \" + data);\n\t\t\t\tloadAsync(data);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Load the incoming Image\n\t * \n\t * @param uri\n\t */\n\tprivate void loadAsync(final Uri uri) {\n\t\tLog.i(LOG_TAG, \"loadAsync: \" + uri);\n\n\t\tDrawable toRecycle = mImage.getDrawable();\n\t\tif (toRecycle != null && toRecycle instanceof BitmapDrawable) {\n\t\t\tif (((BitmapDrawable) mImage.getDrawable()).getBitmap() != null)\n\t\t\t\t((BitmapDrawable) mImage.getDrawable()).getBitmap().recycle();\n\t\t}\n\t\tmImage.setImageDrawable(null);\n\t\tmImageUri = null;\n\n\t\tDownloadAsync task = new DownloadAsync();\n\t\ttask.execute(uri);\n\t}\n\n\t@Override\n\tprotected void onDestroy() {\n\t\tLog.i(LOG_TAG, \"onDestroy\");\n\t\tsuper.onDestroy();\n\t\tmOutputFilePath = null;\n\t}\n\n\t@Override\n\tpublic void onContentChanged() {\n\t\tsuper.onContentChanged();\n\n\t\tSystem.out.println(\"context:\" + this.getPackageName());\n\n\t\tmEditButton = (Button) findViewById(R.id.button2);\n\n\t\tmGalleryButton = (Button) findViewById(R.id.button_gallery);\n\n\t\tmImage = (ImageView) findViewById(R.id.image);\n\n\t}\n\n\t@Override\n\t/**\n\t * This method is called when feather has completed ( ie. user clicked on \"done\" or just exit the activity without saving ). <br />\n\t * If user clicked the \"done\" button you'll receive RESULT_OK as resultCode, RESULT_CANCELED otherwise.\n\t * \n\t * @param requestCode\n\t * \t- it is the code passed with startActivityForResult\n\t * @param resultCode\n\t * \t- result code of the activity launched ( it can be RESULT_OK or RESULT_CANCELED )\n\t * @param data\n\t * \t- the result data\n\t */\n\tpublic void onActivityResult(int requestCode, int resultCode, Intent data) {\n\t\tif (resultCode == RESULT_OK) {\n\t\t\tswitch (requestCode) {\n\t\t\tcase ACTION_REQUEST_FEATURE: {\n\n\t\t\t\tUri uri = Uri.parse(mOutputFilePath);\n\t\t\t\tBitmap bitmap = BitmapDecodeUtils.decodeFile(mOutputFilePath);\n\t\t\t\tsetImageURI(uri, bitmap);\n\t\t\t\tnew ProcessHDTask(this).execute();\n\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase ACTION_REQUEST_GALLERY: {\n\t\t\t\tUri uri = data.getData();\n\t\t\t\tloadAsync(uri);\n\t\t\t\tstartFeature(uri);\n\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t} else if (resultCode == RESULT_CANCELED) {\n\t\t\tswitch (requestCode) {\n\t\t\tcase ACTION_REQUEST_FEATURE:\n\t\t\t\tif (mSessionId != null)\n\t\t\t\t\tdeleteSession(mSessionId);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate String onSaveCompletion() {\n\n\t\tUri sessionUri = SessionColumns.getContentUri(this, mSessionId);\n\n\t\tCursor cursor = getContentResolver().query(sessionUri, null, null,\n\t\t\t\tnull, null);\n\t\tif (cursor != null && cursor.getCount() > 0) {\n\t\t\tList<Action> actions = new ArrayList<FotorContentProvider.ActionsColumns.Action>();\n\t\t\twhile (cursor.moveToNext()) {\n\t\t\t\tAction action = Action.create(cursor);\n\t\t\t\tSystem.out.println(\"action:\" + action);\n\t\t\t\tactions.add(action);\n\t\t\t}\n\t\t\tcursor.close();\n\t\t} else {\n\t\t\tSystem.out.println(\"cursor doesn't have datas.\");\n\t\t}\n\n\t\tCursor cursor2 = getContentResolver().query(\n\t\t\t\tSessionColumns.getContentUri(this, mSessionId), null, null,\n\t\t\t\tnull, null);\n\n\t\tSession session = Session.create(cursor2);\n\n\t\tif (session != null) {\n\t\t\tFotorHDFilter fotorHDFilter = new FotorHDFilter(this, session);\n\n\t\t\tfotorHDFilter.loadImage();\n\n\t\t\tfotorHDFilter.executeFilter();\n\n\t\t\tString dstPath = Utils.getSDPath() + \"/testOriginal.jpg\";\n\n\t\t\tfotorHDFilter.save(dstPath);\n\n\t\t\tfotorHDFilter.dispose();\n\t\t\tdeleteSession(mSessionId);\n\n\t\t\treturn dstPath;\n\t\t}\n\t\treturn null;\n\n\t}\n\n\tclass ProcessHDTask extends AsyncTask<Void, Void, String> {\n\t\tprivate ProgressDialog mDialog;\n\n\t\tprivate Context mContext;\n\n\t\tpublic ProcessHDTask(Context context) {\n\t\t\tthis.mContext = context;\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPreExecute() {\n\t\t\tmDialog = ProgressDialog.show(mContext, \"Process HD\",\n\t\t\t\t\t\"Please wait...\");\n\t\t}\n\n\t\t@Override\n\t\tprotected String doInBackground(Void... params) {\n\t\t\treturn onSaveCompletion();\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPostExecute(String result) {\n\t\t\tmDialog.dismiss();\n\n\t\t\tString msg = \"Process Error\";\n\t\t\tif (result != null) {\n\t\t\t\tmsg = result;\n\t\t\t}\n\n\t\t\tToast.makeText(mContext, msg, Toast.LENGTH_LONG).show();\n\t\t}\n\n\t}\n\n\t/**\n\t * Delete the session and all it's actions. We do not need it anymore.<br />\n\t * Note that this is optional. All old sessions are automatically removed in\n\t * Feather.\n\t * \n\t * @param session_id\n\t */\n\tprivate void deleteSession(final String session_id) {\n\t\tUri uri = FotorContentProvider.SessionColumns.getContentUri(this,\n\t\t\t\tsession_id);\n\t\tint count = getContentResolver().delete(uri, null, null);\n\t\tSystem.out.println(\"delete session count:\" + count);\n\t}\n\n\t/**\n\t * Given an Uri load the bitmap into the current ImageView and resize it to\n\t * fit the image container size\n\t * \n\t * @param uri\n\t */\n\t@SuppressWarnings(\"deprecation\")\n\tprivate boolean setImageURI(final Uri uri, final Bitmap bitmap) {\n\n\t\tLog.d(LOG_TAG,\n\t\t\t\t\"image size: \" + bitmap.getWidth() + \"x\" + bitmap.getHeight());\n\t\tmImage.setImageBitmap(bitmap);\n\t\tmImage.setBackgroundDrawable(null);\n\n\t\tmEditButton.setEnabled(true);\n\t\tmImageUri = uri;\n\t\treturn true;\n\t}\n\n\t/**\n\t * We need to notify the MediaScanner when a new file is created. In this\n\t * way all the gallery applications will be notified too.\n\t * \n\t * @param file\n\t */\n\tprivate void updateMedia(String filepath) {\n\t\tLog.i(LOG_TAG, \"updateMedia: \" + filepath);\n\t\tMediaScannerConnection.scanFile(getApplicationContext(),\n\t\t\t\tnew String[] { filepath }, null, null);\n\t}\n\n\t/**\n\t * Pick a random image from the user gallery\n\t * \n\t * @return\n\t */\n\t@SuppressWarnings(\"unused\")\n\tprivate Uri pickRandomImage() {\n\t\tCursor c = getContentResolver().query(\n\t\t\t\tImages.Media.EXTERNAL_CONTENT_URI,\n\t\t\t\tnew String[] { ImageColumns._ID, ImageColumns.DATA },\n\t\t\t\tImageColumns.SIZE + \">?\", new String[] { \"90000\" }, null);\n\t\tUri uri = null;\n\n\t\tif (c != null) {\n\t\t\tint total = c.getCount();\n\t\t\tint position = (int) (Math.random() * total);\n\t\t\tLog.d(LOG_TAG, \"pickRandomImage. total images: \" + total\n\t\t\t\t\t+ \", position: \" + position);\n\t\t\tif (total > 0) {\n\t\t\t\tif (c.moveToPosition(position)) {\n\t\t\t\t\tString data = c.getString(c\n\t\t\t\t\t\t\t.getColumnIndex(Images.ImageColumns.DATA));\n\t\t\t\t\tlong id = c.getLong(c\n\t\t\t\t\t\t\t.getColumnIndex(Images.ImageColumns._ID));\n\n\t\t\t\t\turi = Uri.parse(data);\n\n\t\t\t\t\tLog.d(LOG_TAG, uri.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t\tc.close();\n\t\t}\n\t\treturn uri;\n\t}\n\n\t/**\n\t * Return a new image file. Name is based on the current time. Parent folder\n\t * will be the one created with createFolders\n\t * \n\t * @return\n\t * @see #createFolders()\n\t */\n\tprivate File generateOutputFileName() {\n\t\tif (mGalleryFolder != null) {\n\t\t\tif (mGalleryFolder.exists()) {\n\t\t\t\tFile file = new File(mGalleryFolder, \"Fotor_\"\n\t\t\t\t\t\t+ System.currentTimeMillis() + \".jpg\");\n\t\t\t\treturn file;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\t/**\n\t * Once you've chosen an image you can start the feather activity\n\t * \n\t * @param uri\n\t */\n\t@SuppressWarnings(\"deprecation\")\n\tprivate void startFeature(Uri uri) {\n\n\t\tLog.d(LOG_TAG, \"uri: \" + uri);\n\n\t\t// first check the external storage availability\n\t\tif (!isExternalStorageAvilable()) {\n\t\t\tshowDialog(EXTERNAL_STORAGE_UNAVAILABLE);\n\t\t\treturn;\n\t\t}\n\n\t\t// create a temporary file where to store the resulting image\n\t\tFile file = generateOutputFileName();\n\n\t\tif (null != file) {\n\t\t\tmOutputFilePath = file.getAbsolutePath();\n\t\t} else {\n\t\t\tnew AlertDialog.Builder(this)\n\t\t\t\t\t.setTitle(android.R.string.dialog_alert_title)\n\t\t\t\t\t.setMessage(\"Failed to create a new File\").show();\n\t\t\treturn;\n\t\t}\n\n\t\t// Create the intent needed to start feather\n\t\tIntent newIntent = new Intent(this, FotorSDKActivity.class);\n\n\t\t// === INPUT IMAGE URI ===\n\t\t// Set the source image uri\n\t\tnewIntent.setData(uri);\n\n\t\t// === OUTPUT ====\n\t\t// Optional\n\t\t// Pass the uri of the destination image file.\n\t\t// This will be the same uri you will receive in the onActivityResult\n\n\t\tSystem.out.println(\"mOutputFilePath->:\" + mOutputFilePath);\n\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_OUTPUT_PATH, mOutputFilePath);\n\n\t\t// === OUTPUT QUALITY ===\n\t\t// Optional\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_OUTPUT_QUALITY, 90);\n\n\t\t// === MAX SIZE ===\n\t\t// Optional\n\t\t// you can pass the maximum allowed image size (for the preview),\n\t\t// otherwise feather will determine\n\t\t// the max size based on the device informations.\n\t\t// This will not affect the hi-res image size.\n\t\t// Here we're passing the current display size as max image size because\n\t\t// after\n\t\t// the execution of Aviary we're saving the HI-RES image so we don't\n\t\t// need a big\n\t\t// image for the preview\n\t\tfinal DisplayMetrics metrics = new DisplayMetrics();\n\t\tgetWindowManager().getDefaultDisplay().getMetrics(metrics);\n\n\t\tint max_size = Math.max(metrics.widthPixels, metrics.heightPixels);\n\n\t\tmax_size = (int) ((float) max_size / 1.4f);\n\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_MAX_PREVIEW_SIZE, max_size);\n\n\t\tmSessionId = FotorUtils.generateSessionId(this);\n\n\t\tgetContentResolver().delete(\n\t\t\t\tSessionColumns.getContentUri(this, mSessionId), null, null);\n\n\t\tLog.d(LOG_TAG,\n\t\t\t\t\"session: \" + mSessionId + \", size: \" + mSessionId.length());\n\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_FOTOR_SESSION_ID, mSessionId);\n\n\t\t// === FEATURE LIST ===\n\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_FEATURE_LIST, new String[] {\n\t\t\t\tFotorFeaturesFactory.FeatureType.FX_EFFECTS.name(),\n\t\t\t\tFotorFeaturesFactory.FeatureType.BORDER.name() });\n\n\t\t// start feather\n\t\tstartActivityForResult(newIntent, ACTION_REQUEST_FEATURE);\n\t}\n\n\t/**\n\t * Check the external storage status\n\t * \n\t * @return\n\t */\n\tprivate boolean isExternalStorageAvilable() {\n\t\tString state = Environment.getExternalStorageState();\n\t\tif (Environment.MEDIA_MOUNTED.equals(state)) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Try to create the required folder on the sdcard where images will be\n\t * saved to.\n\t * \n\t * @return\n\t */\n\tprivate File createFolders() {\n\n\t\tFile baseDir;\n\n\t\tif (android.os.Build.VERSION.SDK_INT < 8) {\n\t\t\tbaseDir = Environment.getExternalStorageDirectory();\n\t\t} else {\n\t\t\tbaseDir = Environment\n\t\t\t\t\t.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);\n\t\t}\n\n\t\tif (baseDir == null)\n\t\t\treturn Environment.getExternalStorageDirectory();\n\n\t\tLog.d(LOG_TAG, \"Pictures folder: \" + baseDir.getAbsolutePath());\n\t\tFile fotorSDKFolder = new File(baseDir, FOLDER_NAME);\n\n\t\tif (fotorSDKFolder.exists())\n\t\t\treturn fotorSDKFolder;\n\t\tif (fotorSDKFolder.mkdirs())\n\t\t\treturn fotorSDKFolder;\n\n\t\treturn Environment.getExternalStorageDirectory();\n\t}\n\n\tclass DownloadAsync extends AsyncTask<Uri, Void, Bitmap> implements\n\t\t\tOnCancelListener {\n\n\t\tProgressDialog mProgress;\n\t\tprivate Uri mUri;\n\n\t\t@Override\n\t\tprotected void onPreExecute() {\n\t\t\tsuper.onPreExecute();\n\n\t\t\tmProgress = new ProgressDialog(MainActivity.this);\n\t\t\tmProgress.setIndeterminate(true);\n\t\t\tmProgress.setCancelable(true);\n\t\t\tmProgress.setMessage(\"Loading image...\");\n\t\t\tmProgress.setOnCancelListener(this);\n\t\t\tmProgress.show();\n\t\t}\n\n\t\t@Override\n\t\tprotected Bitmap doInBackground(Uri... params) {\n\t\t\tmUri = params[0];\n\n\t\t\tDisplayMetrics displayMetrics = getResources().getDisplayMetrics();\n\n\t\t\tint maxW = (int) (displayMetrics.widthPixels / 1.5);\n\t\t\tint maxH = (int) (displayMetrics.heightPixels / 1.5);\n\n\t\t\tBitmap bitmap = BitmapDecodeUtils.decode(getApplicationContext(),\n\t\t\t\t\tmUri, maxW, maxH);\n\t\t\treturn bitmap;\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPostExecute(Bitmap result) {\n\t\t\tsuper.onPostExecute(result);\n\n\t\t\tif (mProgress.getWindow() != null) {\n\t\t\t\tmProgress.dismiss();\n\t\t\t}\n\n\t\t\tif (result != null) {\n\t\t\t\tsetImageURI(mUri, result);\n\t\t\t} else {\n\t\t\t\tToast.makeText(MainActivity.this,\n\t\t\t\t\t\t\"Failed to load image \" + mUri, Toast.LENGTH_SHORT)\n\t\t\t\t\t\t.show();\n\t\t\t}\n\t\t}\n\n\t\t@Override\n\t\tpublic void onCancel(DialogInterface dialog) {\n\t\t\tLog.i(LOG_TAG, \"onProgressCancel\");\n\t\t\tthis.cancel(true);\n\t\t}\n\n\t\t@Override\n\t\tprotected void onCancelled() {\n\t\t\tsuper.onCancelled();\n\t\t\tLog.i(LOG_TAG, \"onCancelled\");\n\t\t}\n\n\t}\n}\n"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/df/df12c72fbf4c9efa7ced7128be02be12d28f8be2.svn-base",
    "content": "<Frame name=\"Instant\" type=\"Gallery\" id=\"118\">\r\n    <Unity>118S.png</Unity>\r\n    \r\n    <params>\r\n        <mode>S</mode>\r\n    </params>\r\n</Frame>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/df/dff6fa5bd214c31be5f3588dcef7d57da534c3ea.svn-base",
    "content": "<Frame name=\"38M\" type=\"Simple\" id=\"38\">\r\n\t<LeftTop>38M_0.png</LeftTop>\r\n\t<Top>38M_1.png</Top>\r\n\t<RightTop>38M_2.png</RightTop>\r\n\t<Right>38M_3.png</Right>\r\n\t<RightBottom>38M_4.png</RightBottom>\r\n\t<Bottom>38M_5.png</Bottom>\r\n\t<LeftBottom>38M_6.png</LeftBottom>\r\n\t<Left>38M_7.png</Left>\r\n\r\n\t<Unity>38M.png</Unity>\r\n\t\r\n\t<params>\r\n\t\t<mode>M</mode>\r\n\t\t<thickness>0.5</thickness>\r\n\t\t<width>728</width>\r\n\t\t<height>728</height>\r\n\t\t<block type=\"leftTop\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>360</width>\r\n\t\t\t<height>360</height>\r\n\t\t</block>\r\n\t\t<block type=\"top\">\r\n\t\t\t<left>360</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>8</width>\r\n\t\t\t<height>360</height>\r\n\t\t</block>\r\n\t\t<block type=\"rightTop\">\r\n\t\t\t<left>368</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>360</width>\r\n\t\t\t<height>360</height>\r\n\t\t</block>\r\n\t\t<block type=\"right\">\r\n\t\t\t<left>368</left>\r\n\t\t\t<top>360</top>\r\n\t\t\t<width>360</width>\r\n\t\t\t<height>8</height>\r\n\t\t</block>\r\n\t\t<block type=\"rightBottom\">\r\n\t\t\t<left>368</left>\r\n\t\t\t<top>368</top>\r\n\t\t\t<width>360</width>\r\n\t\t\t<height>360</height>\r\n\t\t</block>\r\n\t\t<block type=\"bottom\">\r\n\t\t\t<left>360</left>\r\n\t\t\t<top>368</top>\r\n\t\t\t<width>8</width>\r\n\t\t\t<height>360</height>\r\n\t\t</block>\r\n\t\t<block type=\"leftBottom\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>368</top>\r\n\t\t\t<width>360</width>\r\n\t\t\t<height>360</height>\r\n\t\t</block>\r\n\t\t<block type=\"left\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>360</top>\r\n\t\t\t<width>360</width>\r\n\t\t\t<height>8</height>\r\n\t\t</block>\r\n\t</params>\r\n</Frame>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/e1/e12d1118511ba975aabcc8987e48193b2af082f8.svn-base",
    "content": "<Effect name=\"Warm\" type=\"Retro\" id=\"8\">\r\n    <Allocation name=\"tableTexture\"/>\r\n    \r\n    <BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(0, 0)(35, 71)(153, 197)(255, 255)</R>\r\n            <G>(0, 15)(16, 36)(109, 132)(255, 255)</G>\r\n            <B>(0, 23)(181, 194)(255, 230)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"TableTexture\">\r\n        <src>SRC</src>\r\n        <dst>DST</dst>\r\n        <tableTexture>tableTexture</tableTexture>\r\n    </BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/e5/e58d1d1cca31823b6c949d25e3f910163baff087.svn-base",
    "content": "<Effect name=\"BW\" type=\"B/W\" id=\"112\">\r\n    <Allocation name=\"level\"/>\r\n    \r\n    <BaseFilter name=\"Level\">\r\n        <src>SRC</src>\r\n        <dst>level</dst>\r\n        <params>\r\n            <type>GetScale</type>\r\n            <dark>0.01</dark>\r\n            <light>0.2</light>\r\n            <saturation>0.0</saturation>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n     <BaseFilter name=\"Vignette\">\r\n        <src>level</src>\r\n        <dst>DST</dst>\r\n        <params>\r\n            <mode>quadric</mode>\r\n            <vignetteStart>0.0</vignetteStart>\r\n            <vignetteRange>1.0</vignetteRange>\r\n        </params>\r\n    </BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/e5/e5fd87210cf8e3134cdf6db3ca6e4bb5e763fd39.svn-base",
    "content": "package com.example.fotorsdkdemo;\n\nimport java.io.File;\n\nimport com.everimaging.fotorsdk.FotorConstants;\nimport com.everimaging.fotorsdk.FotorFeaturesFactory;\nimport com.everimaging.fotorsdk.FotorSDKActivity;\nimport com.everimaging.fotorsdk.FotorSDKVersion;\nimport com.everimaging.fotorsdk.FotorUtils;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns.Session;\nimport com.everimaging.fotorsdk.utils.BitmapDecodeUtils;\nimport com.everimaging.fotorsdk.utils.Utils;\nimport com.everimaging.fotorsdk.engine.FotorHDFilter;\nimport android.app.Activity;\nimport android.app.AlertDialog;\nimport android.app.ProgressDialog;\nimport android.content.Context;\nimport android.content.DialogInterface;\nimport android.content.DialogInterface.OnCancelListener;\nimport android.content.Intent;\nimport android.database.Cursor;\nimport android.graphics.Bitmap;\nimport android.graphics.drawable.BitmapDrawable;\nimport android.graphics.drawable.Drawable;\nimport android.media.MediaScannerConnection;\nimport android.net.Uri;\nimport android.os.AsyncTask;\nimport android.os.Bundle;\nimport android.os.Environment;\nimport android.provider.MediaStore.Images;\nimport android.provider.MediaStore.Images.ImageColumns;\nimport android.util.DisplayMetrics;\nimport android.util.Log;\nimport android.view.View;\nimport android.widget.Button;\nimport android.widget.ImageView;\nimport android.widget.TextView;\nimport android.widget.Toast;\n\npublic class MainActivity extends Activity {\n\n\tprivate static final int ACTION_REQUEST_FEATURE = 2;\n\n\tprivate static final int ACTION_REQUEST_GALLERY = 3;\n\n\tprivate static final int EXTERNAL_STORAGE_UNAVAILABLE = 1;\n\n\tpublic static final String LOG_TAG = \"fotorsdk_demo\";\n\n\t/** Folder name on the sdcard where the images will be saved **/\n\n\tprivate static final String FOLDER_NAME = \"FotorSDK\";\n\n\tButton mEditButton;\n\tButton mGalleryButton;\n\tImageView mImage;\n\tString mOutputFilePath;\n\tUri mImageUri;\n\n\tprivate TextView mSDKVersionLabel;\n\n\tprivate Uri mSampleUri;\n\n\tprivate File mGalleryFolder;\n\n\t/** session id for the hi-res post processing */\n\tprivate String mSessionId;\n\n\t@Override\n\tprotected void onCreate(Bundle savedInstanceState) {\n\t\tLog.i(LOG_TAG, \"onCreate\");\n\t\tsuper.onCreate(savedInstanceState);\n\n\t\tsetContentView(R.layout.activity_main);\n\n\t\tmEditButton.setOnClickListener(new View.OnClickListener() {\n\n\t\t\t@Override\n\t\t\tpublic void onClick(View v) {\n\t\t\t\tif (mImageUri != null) {\n\t\t\t\t\tstartFeature(mImageUri);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tmGalleryButton.setOnClickListener(new View.OnClickListener() {\n\n\t\t\t@Override\n\t\t\tpublic void onClick(View v) {\n\t\t\t\tpickFromGallery();\n\t\t\t}\n\t\t});\n\n\t\tmGalleryFolder = createFolders();\n\n\t\t// add sample image\n\t\tmSampleUri = Uri.parse(\"file:///android_asset/sample.jpg\");\n\t\tloadAsync(mSampleUri);\n\n\t\tif (BuildConfig.DEBUG) {\n\t\t\tmSDKVersionLabel.setText(\"V\" + FotorSDKVersion.FOTOR_SDK_VERSION);\n\t\t}\n\n\t}\n\n\t/**\n\t * Start the activity to pick an image from the user gallery\n\t */\n\tprivate void pickFromGallery() {\n\t\tIntent intent = new Intent(Intent.ACTION_GET_CONTENT);\n\t\tintent.setType(\"image/*\");\n\n\t\tIntent chooser = Intent.createChooser(intent, \"Choose a Picture\");\n\t\tstartActivityForResult(chooser, ACTION_REQUEST_GALLERY);\n\n\t}\n\n\t@Override\n\tprotected void onResume() {\n\t\tLog.i(LOG_TAG, \"onResume\");\n\t\tsuper.onResume();\n\n\t\tif (getIntent() != null) {\n\t\t\thandleIntent(getIntent());\n\t\t\tsetIntent(new Intent());\n\t\t}\n\t}\n\n\t/**\n\t * Handle the incoming {@link Intent}\n\t */\n\tprivate void handleIntent(Intent intent) {\n\n\t\tString action = intent.getAction();\n\n\t\tif (null != action) {\n\n\t\t\tif (Intent.ACTION_SEND.equals(action)) {\n\n\t\t\t\tBundle extras = intent.getExtras();\n\t\t\t\tif (extras != null && extras.containsKey(Intent.EXTRA_STREAM)) {\n\t\t\t\t\tUri uri = (Uri) extras.get(Intent.EXTRA_STREAM);\n\t\t\t\t\tloadAsync(uri);\n\t\t\t\t}\n\t\t\t} else if (Intent.ACTION_VIEW.equals(action)) {\n\t\t\t\tUri data = intent.getData();\n\t\t\t\tLog.d(LOG_TAG, \"data: \" + data);\n\t\t\t\tloadAsync(data);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Load the incoming Image\n\t * \n\t * @param uri\n\t */\n\tprivate void loadAsync(final Uri uri) {\n\t\tLog.i(LOG_TAG, \"loadAsync: \" + uri);\n\n\t\tDrawable toRecycle = mImage.getDrawable();\n\t\tif (toRecycle != null && toRecycle instanceof BitmapDrawable) {\n\t\t\tif (((BitmapDrawable) mImage.getDrawable()).getBitmap() != null)\n\t\t\t\t((BitmapDrawable) mImage.getDrawable()).getBitmap().recycle();\n\t\t}\n\t\tmImage.setImageDrawable(null);\n\t\tmImageUri = null;\n\n\t\tDownloadAsync task = new DownloadAsync();\n\t\ttask.execute(uri);\n\t}\n\n\t@Override\n\tprotected void onDestroy() {\n\t\tLog.i(LOG_TAG, \"onDestroy\");\n\t\tsuper.onDestroy();\n\t\tmOutputFilePath = null;\n\t}\n\n\t@Override\n\tpublic void onContentChanged() {\n\t\tsuper.onContentChanged();\n\n\t\tSystem.out.println(\"context:\" + this.getPackageName());\n\n\t\tmEditButton = (Button) findViewById(R.id.button2);\n\n\t\tmGalleryButton = (Button) findViewById(R.id.button_gallery);\n\n\t\tmImage = (ImageView) findViewById(R.id.image);\n\n\t\tmSDKVersionLabel = (TextView) findViewById(R.id.fotor_sdk_version_label);\n\n\t}\n\n\t@Override\n\t/**\n\t * This method is called when feather has completed ( ie. user clicked on \"done\" or just exit the activity without saving ). <br />\n\t * If user clicked the \"done\" button you'll receive RESULT_OK as resultCode, RESULT_CANCELED otherwise.\n\t * \n\t * @param requestCode\n\t * \t- it is the code passed with startActivityForResult\n\t * @param resultCode\n\t * \t- result code of the activity launched ( it can be RESULT_OK or RESULT_CANCELED )\n\t * @param data\n\t * \t- the result data\n\t */\n\tpublic void onActivityResult(int requestCode, int resultCode, Intent data) {\n\t\tif (resultCode == RESULT_OK) {\n\t\t\tswitch (requestCode) {\n\t\t\tcase ACTION_REQUEST_FEATURE: {\n\n\t\t\t\tUri uri = Uri.parse(mOutputFilePath);\n\t\t\t\tBitmap bitmap = BitmapDecodeUtils.decodeFile(mOutputFilePath);\n\t\t\t\tsetImageURI(uri, bitmap);\n\t\t\t\tnew ProcessHDTask(this).execute();\n\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase ACTION_REQUEST_GALLERY: {\n\t\t\t\tUri uri = data.getData();\n\t\t\t\tloadAsync(uri);\n\t\t\t\tstartFeature(uri);\n\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t} else if (resultCode == RESULT_CANCELED) {\n\t\t\tswitch (requestCode) {\n\t\t\tcase ACTION_REQUEST_FEATURE:\n\t\t\t\tif (mSessionId != null)\n\t\t\t\t\tdeleteSession(mSessionId);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate String onSaveCompletion() {\n\n\t\tUri sessionUri = SessionColumns.getContentUri(this, mSessionId);\n\n\t\tCursor cursor = getContentResolver().query(sessionUri, null, null,\n\t\t\t\tnull, null);\n\t\t\n\t\tSession session = Session.create(cursor);\n\n\t\tif (session != null) {\n\t\t\tFotorHDFilter fotorHDFilter = new FotorHDFilter(this, session);\n\n\t\t\tfotorHDFilter.loadImage();\n\n\t\t\tfotorHDFilter.executeFilter();\n\n\t\t\tString dstPath = Utils.getSDPath() + \"/testOriginal.jpg\";\n\n\t\t\tfotorHDFilter.save(dstPath);\n\n\t\t\tfotorHDFilter.dispose();\n\t\t\tdeleteSession(mSessionId);\n\n\t\t\treturn dstPath;\n\t\t}\n\t\treturn null;\n\n\t}\n\n\tclass ProcessHDTask extends AsyncTask<Void, Void, String> {\n\t\tprivate ProgressDialog mDialog;\n\n\t\tprivate Context mContext;\n\n\t\tpublic ProcessHDTask(Context context) {\n\t\t\tthis.mContext = context;\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPreExecute() {\n\t\t\tmDialog = ProgressDialog.show(mContext, \"Process HD\",\n\t\t\t\t\t\"Please wait...\");\n\t\t}\n\n\t\t@Override\n\t\tprotected String doInBackground(Void... params) {\n\t\t\treturn onSaveCompletion();\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPostExecute(String result) {\n\t\t\tmDialog.dismiss();\n\n\t\t\tString msg = \"Process Error\";\n\t\t\tif (result != null) {\n\t\t\t\tmsg = result;\n\t\t\t}\n\n\t\t\tToast.makeText(mContext, msg, Toast.LENGTH_LONG).show();\n\t\t}\n\n\t}\n\n\t/**\n\t * Delete the session and all it's actions. We do not need it anymore.<br />\n\t * Note that this is optional. All old sessions are automatically removed in\n\t * Feather.\n\t * \n\t * @param session_id\n\t */\n\tprivate void deleteSession(final String session_id) {\n\t\tUri uri = FotorContentProvider.SessionColumns.getContentUri(this,\n\t\t\t\tsession_id);\n\t\tint count = getContentResolver().delete(uri, null, null);\n\t\tSystem.out.println(\"delete session count:\" + count);\n\t}\n\n\t/**\n\t * Given an Uri load the bitmap into the current ImageView and resize it to\n\t * fit the image container size\n\t * \n\t * @param uri\n\t */\n\t@SuppressWarnings(\"deprecation\")\n\tprivate boolean setImageURI(final Uri uri, final Bitmap bitmap) {\n\n\t\tLog.d(LOG_TAG,\n\t\t\t\t\"image size: \" + bitmap.getWidth() + \"x\" + bitmap.getHeight());\n\t\tmImage.setImageBitmap(bitmap);\n\t\tmImage.setBackgroundDrawable(null);\n\n\t\tmEditButton.setEnabled(true);\n\t\tmImageUri = uri;\n\t\treturn true;\n\t}\n\n\t/**\n\t * We need to notify the MediaScanner when a new file is created. In this\n\t * way all the gallery applications will be notified too.\n\t * \n\t * @param file\n\t */\n\tprivate void updateMedia(String filepath) {\n\t\tLog.i(LOG_TAG, \"updateMedia: \" + filepath);\n\t\tMediaScannerConnection.scanFile(getApplicationContext(),\n\t\t\t\tnew String[] { filepath }, null, null);\n\t}\n\n\t/**\n\t * Pick a random image from the user gallery\n\t * \n\t * @return\n\t */\n\t@SuppressWarnings(\"unused\")\n\tprivate Uri pickRandomImage() {\n\t\tCursor c = getContentResolver().query(\n\t\t\t\tImages.Media.EXTERNAL_CONTENT_URI,\n\t\t\t\tnew String[] { ImageColumns._ID, ImageColumns.DATA },\n\t\t\t\tImageColumns.SIZE + \">?\", new String[] { \"90000\" }, null);\n\t\tUri uri = null;\n\n\t\tif (c != null) {\n\t\t\tint total = c.getCount();\n\t\t\tint position = (int) (Math.random() * total);\n\t\t\tLog.d(LOG_TAG, \"pickRandomImage. total images: \" + total\n\t\t\t\t\t+ \", position: \" + position);\n\t\t\tif (total > 0) {\n\t\t\t\tif (c.moveToPosition(position)) {\n\t\t\t\t\tString data = c.getString(c\n\t\t\t\t\t\t\t.getColumnIndex(Images.ImageColumns.DATA));\n\t\t\t\t\tlong id = c.getLong(c\n\t\t\t\t\t\t\t.getColumnIndex(Images.ImageColumns._ID));\n\n\t\t\t\t\turi = Uri.parse(data);\n\n\t\t\t\t\tLog.d(LOG_TAG, uri.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t\tc.close();\n\t\t}\n\t\treturn uri;\n\t}\n\n\t/**\n\t * Return a new image file. Name is based on the current time. Parent folder\n\t * will be the one created with createFolders\n\t * \n\t * @return\n\t * @see #createFolders()\n\t */\n\tprivate File generateOutputFileName() {\n\t\tif (mGalleryFolder != null) {\n\t\t\tif (mGalleryFolder.exists()) {\n\t\t\t\tFile file = new File(mGalleryFolder, \"Fotor_\"\n\t\t\t\t\t\t+ System.currentTimeMillis() + \".jpg\");\n\t\t\t\treturn file;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\t/**\n\t * Once you've chosen an image you can start the feather activity\n\t * \n\t * @param uri\n\t */\n\t@SuppressWarnings(\"deprecation\")\n\tprivate void startFeature(Uri uri) {\n\n\t\tLog.d(LOG_TAG, \"uri: \" + uri);\n\n\t\t// first check the external storage availability\n\t\tif (!isExternalStorageAvilable()) {\n\t\t\tshowDialog(EXTERNAL_STORAGE_UNAVAILABLE);\n\t\t\treturn;\n\t\t}\n\n\t\t// create a temporary file where to store the resulting image\n\t\tFile file = generateOutputFileName();\n\n\t\tif (null != file) {\n\t\t\tmOutputFilePath = file.getAbsolutePath();\n\t\t} else {\n\t\t\tnew AlertDialog.Builder(this)\n\t\t\t\t\t.setTitle(android.R.string.dialog_alert_title)\n\t\t\t\t\t.setMessage(\"Failed to create a new File\").show();\n\t\t\treturn;\n\t\t}\n\n\t\t// Create the intent needed to start feather\n\t\tIntent newIntent = new Intent(this, FotorSDKActivity.class);\n\n\t\t// === INPUT IMAGE URI ===\n\t\t// Set the source image uri\n\t\tnewIntent.setData(uri);\n\n\t\t// === OUTPUT ====\n\t\t// Optional\n\t\t// Pass the uri of the destination image file.\n\t\t// This will be the same uri you will receive in the onActivityResult\n\n\t\tSystem.out.println(\"mOutputFilePath->:\" + mOutputFilePath);\n\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_OUTPUT_PATH, mOutputFilePath);\n\n\t\t// === OUTPUT QUALITY ===\n\t\t// Optional\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_OUTPUT_QUALITY, 90);\n\n\t\t// === MAX SIZE ===\n\t\t// Optional\n\t\t// you can pass the maximum allowed image size (for the preview),\n\t\t// otherwise feather will determine\n\t\t// the max size based on the device informations.\n\t\t// This will not affect the hi-res image size.\n\t\t// Here we're passing the current display size as max image size because\n\t\t// after\n\t\t// the execution of Aviary we're saving the HI-RES image so we don't\n\t\t// need a big\n\t\t// image for the preview\n\t\tfinal DisplayMetrics metrics = new DisplayMetrics();\n\t\tgetWindowManager().getDefaultDisplay().getMetrics(metrics);\n\n\t\tint max_size = Math.max(metrics.widthPixels, metrics.heightPixels);\n\n\t\tmax_size = (int) ((float) max_size / 1.4f);\n\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_MAX_PREVIEW_SIZE, max_size);\n\n\t\tmSessionId = FotorUtils.generateSessionId(this);\n\n\t\tgetContentResolver().delete(\n\t\t\t\tSessionColumns.getContentUri(this, mSessionId), null, null);\n\n\t\tLog.d(LOG_TAG,\n\t\t\t\t\"session: \" + mSessionId + \", size: \" + mSessionId.length());\n\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_FOTOR_SESSION_ID, mSessionId);\n\n//\t\t// === FEATURE LIST ===\n\n//\t\tnewIntent.putExtra(FotorConstants.EXTRA_FEATURE_LIST, new String[] {\n//\t\t\t\tFotorFeaturesFactory.FeatureType.FX_EFFECTS.name(),\n//\t\t\t\tFotorFeaturesFactory.FeatureType.BORDER.name() });\n\n\t\t// start feather\n\t\tstartActivityForResult(newIntent, ACTION_REQUEST_FEATURE);\n\t}\n\n\t/**\n\t * Check the external storage status\n\t * \n\t * @return\n\t */\n\tprivate boolean isExternalStorageAvilable() {\n\t\tString state = Environment.getExternalStorageState();\n\t\tif (Environment.MEDIA_MOUNTED.equals(state)) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Try to create the required folder on the sdcard where images will be\n\t * saved to.\n\t * \n\t * @return\n\t */\n\tprivate File createFolders() {\n\n\t\tFile baseDir;\n\n\t\tif (android.os.Build.VERSION.SDK_INT < 8) {\n\t\t\tbaseDir = Environment.getExternalStorageDirectory();\n\t\t} else {\n\t\t\tbaseDir = Environment\n\t\t\t\t\t.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);\n\t\t}\n\n\t\tif (baseDir == null)\n\t\t\treturn Environment.getExternalStorageDirectory();\n\n\t\tLog.d(LOG_TAG, \"Pictures folder: \" + baseDir.getAbsolutePath());\n\t\tFile fotorSDKFolder = new File(baseDir, FOLDER_NAME);\n\n\t\tif (fotorSDKFolder.exists())\n\t\t\treturn fotorSDKFolder;\n\t\tif (fotorSDKFolder.mkdirs())\n\t\t\treturn fotorSDKFolder;\n\n\t\treturn Environment.getExternalStorageDirectory();\n\t}\n\n\tclass DownloadAsync extends AsyncTask<Uri, Void, Bitmap> implements\n\t\t\tOnCancelListener {\n\n\t\tProgressDialog mProgress;\n\t\tprivate Uri mUri;\n\n\t\t@Override\n\t\tprotected void onPreExecute() {\n\t\t\tsuper.onPreExecute();\n\n\t\t\tmProgress = new ProgressDialog(MainActivity.this);\n\t\t\tmProgress.setIndeterminate(true);\n\t\t\tmProgress.setCancelable(true);\n\t\t\tmProgress.setMessage(\"Loading image...\");\n\t\t\tmProgress.setOnCancelListener(this);\n\t\t\tmProgress.show();\n\t\t}\n\n\t\t@Override\n\t\tprotected Bitmap doInBackground(Uri... params) {\n\t\t\tmUri = params[0];\n\n\t\t\tDisplayMetrics displayMetrics = getResources().getDisplayMetrics();\n\n\t\t\tint maxW = (int) (displayMetrics.widthPixels / 1.5);\n\t\t\tint maxH = (int) (displayMetrics.heightPixels / 1.5);\n\n\t\t\tBitmap bitmap = BitmapDecodeUtils.decode(getApplicationContext(),\n\t\t\t\t\tmUri, maxW, maxH);\n\t\t\treturn bitmap;\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPostExecute(Bitmap result) {\n\t\t\tsuper.onPostExecute(result);\n\n\t\t\tif (mProgress.getWindow() != null) {\n\t\t\t\tmProgress.dismiss();\n\t\t\t}\n\n\t\t\tif (result != null) {\n\t\t\t\tsetImageURI(mUri, result);\n\t\t\t} else {\n\t\t\t\tToast.makeText(MainActivity.this,\n\t\t\t\t\t\t\"Failed to load image \" + mUri, Toast.LENGTH_SHORT)\n\t\t\t\t\t\t.show();\n\t\t\t}\n\t\t}\n\n\t\t@Override\n\t\tpublic void onCancel(DialogInterface dialog) {\n\t\t\tLog.i(LOG_TAG, \"onProgressCancel\");\n\t\t\tthis.cancel(true);\n\t\t}\n\n\t\t@Override\n\t\tprotected void onCancelled() {\n\t\t\tsuper.onCancelled();\n\t\t\tLog.i(LOG_TAG, \"onCancelled\");\n\t\t}\n\n\t}\n}\n"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/e8/e802dc31ea7817e0e611f26f527618269e7b9895.svn-base",
    "content": "<Effect name=\"Sunset\" type=\"Scenes\" id=\"164\">\r\n    <Allocation name=\"tableTexture\">\r\n\t\t<file>e164_c1.jpg</file>\r\n\t</Allocation>\r\n\t\r\n    <BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(33, 0)(70, 32)(146, 143)(185, 204)(255, 255)</R>\r\n            <G>(22, 0)(103, 71)(189, 219)(255, 252)</G>\r\n            <B>(10, 0)(54, 29)(93, 66)(205, 220)(255, 255)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/eb/eb91474a5fbe05784d1169e1bd1af97911acdfe7.svn-base",
    "content": "<Effect name=\"Theatre\" type=\"Scenes\" id=\"171\">\r\n    <Allocation name=\"tableTexture1\"/>\r\n\t<Allocation name=\"tableTexture2\"/>\r\n\t\r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture1</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(16, 0)(60, 45)(124, 124)(214, 255)</R>\r\n            <G>(18, 2)(91, 81)(156, 169)(213, 255)</G>\r\n            <B>(16, 0)(85, 74)(158, 171)(211, 255)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture2</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(17, 0)(144, 150)(214, 255)</R>\r\n            <G>(16, 0)(61, 47)(160, 172)(215, 255)</G>\r\n            <B>(21, 2)(131, 135)(213, 255)</B>\r\n        </params>\r\n    </BaseFilter>\r\n\t\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>TMP</dst>\r\n\t\t<tableTexture>tableTexture1</tableTexture>\r\n\t</BaseFilter>\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>TMP</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture2</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/ec/ec17221211c0d4f95cbd5d9586967d5c1bd4cbb1.svn-base",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    package=\"com.example.fotorsdkdemo\"\n    android:versionCode=\"1\"\n    android:versionName=\"1.0.4\" >\n\n    <!-- FotorSDK Required : Minimum sdk version -->\n    <uses-sdk\n        android:minSdkVersion=\"10\"\n        android:targetSdkVersion=\"19\" />\n    <!-- FotorSDK Required : Permissions -->\n    <uses-permission android:name=\"android.permission.INTERNET\" />\n    <uses-permission android:name=\"android.permission.CAMERA\" />\n    <uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\" />\n    <uses-permission android:name=\"android.permission.FLASHLIGHT\" />\n\n    <application\n        android:allowBackup=\"true\"\n        android:icon=\"@drawable/icon\"\n        android:label=\"@string/app_name\"\n        android:theme=\"@style/AppTheme\" >\n        <activity\n            android:name=\"com.example.fotorsdkdemo.MainActivity\"\n            android:configChanges=\"orientation|keyboardHidden|screenSize\"\n            android:label=\"@string/app_name\" >\n            <intent-filter>\n                <action android:name=\"android.intent.action.MAIN\" />\n\n                <category android:name=\"android.intent.category.LAUNCHER\" />\n            </intent-filter>\n        </activity>\n\n        <!-- FotorSDK Required : proccess main activity -->\n        <activity\n            android:name=\"com.everimaging.fotorsdk.FotorSDKActivity\"\n            android:configChanges=\"orientation|keyboardHidden|screenSize\"\n            android:hardwareAccelerated=\"true\"\n            android:largeHeap=\"true\"\n            android:screenOrientation=\"unspecified\"\n            android:theme=\"@style/FotorTheme\" />\n        <!-- FotorSDK Required : camera main activity -->\n        <activity android:name=\"com.everimaging.fotorsdk.camera.CameraActivity\" >\n        </activity>\n        <!-- FotorSDK Required : content provider for process high resolution  #NOTE# authorities value you must change to like this:\n        \t android:authorities=\"{your.packagename}.FotorContentProvider -->\n        <provider\n            android:name=\"com.everimaging.fotorsdk.provider.FotorContentProvider\"\n            android:authorities=\"com.example.fotorsdkdemo.FotorContentProvider\"\n            android:exported=\"false\" />\n\n        <!-- FotorSDK Required : receiver to listener newly feature package change -->\n        <receiver\n            android:name=\"com.everimaging.fotorsdk.receivers.FotorSystemReceiver\"\n            android:exported=\"true\"\n            android:process=\":fotor_receiver\" >\n            <intent-filter>\n                <action android:name=\"android.intent.action.PACKAGE_ADDED\" />\n                <action android:name=\"android.intent.action.PACKAGE_REMOVED\" />\n                <action android:name=\"android.intent.action.PACKAGE_REPLACED\" />\n\n                <data android:scheme=\"package\" />\n            </intent-filter>\n        </receiver>\n        <!-- FotorSDK Required : You Fotor API_KEY -->\n        <meta-data\n            android:name=\"FOTOR_API_KEY\"\n            android:value=\"fotor_api_key\" />\n    </application>\n\n</manifest>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/ec/ec2d462cec313ade3c58f5193873d2bb9392de97.svn-base",
    "content": "<Effect name=\"Scratch\" type=\"Scratch\" id=\"114\">\r\n    <Allocation name=\"level\"/>\r\n    <Allocation name=\"texture\">\r\n        <file>e114_t.png</file>\r\n    </Allocation>\r\n    \r\n    <BaseFilter name=\"Level\">\r\n        <src>SRC</src>\r\n        <dst>level</dst>\r\n        <params>\r\n            <type>GetScale</type>\r\n            <dark>0.01</dark>\r\n            <light>0.2</light>\r\n            <saturation>1.0</saturation>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"LayerBlend\">\r\n        <src>level</src>\r\n        <dst>DST</dst>\r\n        <tex>texture</tex>\r\n        <params>\r\n            <mode>exclusion</mode>\r\n            <opacity>0.51</opacity>\r\n        </params>\r\n    </BaseFilter>\r\n</Effect>\r\n"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/ec/ec5e2b3cae849767bc704510ce8fac611180af2a.svn-base",
    "content": "<Effect name=\"Flash\" type=\"Scenes\" id=\"170\">\r\n    <Allocation name=\"tableTexture\">\r\n\t\t<file>e170_c1.jpg</file>\r\n\t</Allocation>\r\n\t\r\n    <BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(2, 2)(16, 30)(72, 112)(135, 185)(252, 255)</R>\r\n            <G>(2, 1)(30, 42)(55, 84)(157, 207)(238, 249)</G>\r\n            <B>(1, 0)(26, 17)(67, 106)(114, 165)(231, 250)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/f1/f14d9e38fb84776985991713c82bf11019b4b9e6.svn-base",
    "content": "<Effect name=\"Warm Yellow\" type=\"Lomo\" id=\"7\">\r\n\t<Allocation name=\"tableTexture\"/>\r\n\t\r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(0, 0)(43, 77)(56, 104)(100, 166)(255, 255)</R>\r\n            <G>(0, 0)(35, 53)(255, 255)</G>\r\n            <B>(0, 0)(110, 123)(255, 212)</B>\r\n        </params>\r\n    </BaseFilter>\r\n\t\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/f1/f1571592a039ac77a7f934df44222f51f12cee3d.svn-base",
    "content": "# This file is automatically generated by Android Tools.\n# Do not modify this file -- YOUR CHANGES WILL BE ERASED!\n#\n# This file must be checked in Version Control Systems.\n#\n# To customize properties used by the Ant build system edit\n# \"ant.properties\", and override values to adapt the script to your\n# project structure.\n#\n# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):\n#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt\n\n# Project target.\ntarget=android-19\nandroid.library.reference.1=../FotorSDK\n#renderscript.support.mode=true\n"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/f1/f1b2c78e811175926d162a5088dc55f156b79264.svn-base",
    "content": "<Effect name=\"Hippie\" type=\"Old Picture\" id=\"6\">\r\n    <Allocation name=\"tableTexture\"/>\r\n    \r\n    <BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <curveR>\r\n                <point>0, 0</point>\r\n                <point>69, 63</point>\r\n                <point>105, 138</point>\r\n                <point>151, 222</point>\r\n                <point>255, 255</point>\r\n            </curveR>\r\n            <curveG>\r\n                <point>0, 0</point>\r\n                <point>67, 51</point>\r\n                <point>135, 191</point>\r\n                <point>255, 255</point>\r\n            </curveG>\r\n            <curveB>\r\n                <point>0, 0</point>\r\n                <point>86, 76</point>\r\n                <point>150, 212</point>\r\n                <point>255, 255</point>\r\n            </curveB>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/fa/fa13a5cdfb112cbf1dd7970583865c6a1b366285.svn-base",
    "content": "<Effect name=\"Sand/Snow\" type=\"Scenes\" id=\"161\">\r\n    <Allocation name=\"tableTexture\"/>\r\n\t\r\n    <BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(15, 0)(45, 37)(92, 103)(230, 255)</R>\r\n            <G>(19, 0)(34, 22)(138, 158)(228, 252)</G>\r\n            <B>(19, 0)(74, 63)(159, 166)(230, 255)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/fb/fb3c77eb561a6439d8e4cf4495bd45af2ec726c3.svn-base",
    "content": "<Effect name=\"WarmGreen\" type=\"Retro\" id=\"9\">\r\n    <Allocation name=\"tableTexture\"/>\r\n    \r\n    <BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(15, 0)(92, 133)(255, 234)</R>\r\n            <G>(0, 20)(105, 128)(255, 255)</G>\r\n            <B>(0, 0)(120, 132)(255, 214)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/fc/fce80b1ca55cc48ef67a1336156c362e41a98c1d.svn-base",
    "content": "{\n\t\"version\": 1,\n\t\"category_name\": \"Classic\",\n\t\"fonts_array\": [{\n\t\t\"font_id\": 1,\n\t\t\"font_name\": \"Sofia\",\n\t\t\"font_normal\": \"Sofia\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"Sofia\"\n\t},\n\t{\n\t\t\"font_id\": 2,\n\t\t\"font_name\": \"Ostrich Sans\",\n\t\t\"font_normal\": \"Ostrich Sans\",\n\t\t\"font_bold\": \"OstrichSans-Bold\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"OstrichSans-Bold\"\n\t},\n\t{\n\t\t\"font_id\": 3,\n\t\t\"font_name\": \"Bearpaw\",\n\t\t\"font_normal\": \"Bearpaw\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"Bearpaw\"\n\t},\n\t{\n\t\t\"font_id\": 4,\n\t\t\"font_name\": \"American Typewriter\",\n\t\t\"font_normal\": \"AmericanTypewriter\",\n\t\t\"font_bold\": \"AmericanTypewriter-Bold\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"AmericanTypewriter-Bold\"\n\t},\n\t{\n\t\t\"font_id\": 5,\n\t\t\"font_name\": \"Stencil Std\",\n\t\t\"font_normal\": \"Stencil Std\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"Stencil Std\"\n\t},\n\t{\n\t\t\"font_id\": 6,\n\t\t\"font_name\": \"Brush Script MT\",\n\t\t\"font_normal\": \"Brush Script\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"Brush Script\"\n\t},\n\t{\n\t\t\"font_id\": 7,\n\t\t\"font_name\": \"Noteworthy\",\n\t\t\"font_normal\": \"Noteworthy\",\n\t\t\"font_bold\": \"Noteworthy-Bold\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"Noteworthy-Bold\"\n\t},\n\t{\n\t\t\"font_id\": 8,\n\t\t\"font_name\": \"Miama\",\n\t\t\"font_normal\": \"Miama\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"Miama\"\n\t},\n\t{\n\t\t\"font_id\": 9,\n\t\t\"font_name\": \"Blackout\",\n\t\t\"font_normal\": \"Blackout\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"Blackout\"\n\t},\n\t{\n\t\t\"font_id\": 10,\n\t\t\"font_name\": \"Muli\",\n\t\t\"font_normal\": \"Muli\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"Muli-Italic\",\n\t\t\"font_bolditalic\": \"Muli-Italic\"\n\t},\n\t{\n\t\t\"font_id\": 11,\n\t\t\"font_name\": \"padaloma italic\",\n\t\t\"font_normal\": \"padaloma\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"padaloma\"\n\t},\n\t{\n\t\t\"font_id\": 12,\n\t\t\"font_name\": \"Josefin Sans\",\n\t\t\"font_normal\": \"Josefin Sans\",\n\t\t\"font_bold\": \"JosefinSans-Bold\",\n\t\t\"font_italic\": \"JosefinSans-Italic\",\n\t\t\"font_bolditalic\": \"JosefinSans-BoldItalic\"\n\t},\n\t{\n\t\t\"font_id\": 13,\n\t\t\"font_name\": \"Garogier\",\n\t\t\"font_normal\": \"Garogier\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"Garogier\"\n\t}\n\t]\n}"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/ff/ff8404bbffc5935a8deae296970b410b56f2be02.svn-base",
    "content": "<Frame name=\"51S\" type=\"Styled\" id=\"51\">\r\n    <Unity>51S_s.png</Unity>\r\n    \r\n    <params>\r\n        <mode>S</mode>\r\n    </params>\r\n</Frame>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/ff/ffb9369fe3688fcdb52ceb0d6d46bbbd6d909e7e.svn-base",
    "content": "<Frame name=\"51S\" type=\"Styled\" id=\"51\">\r\n    <Unity>51S.png</Unity>\r\n    \r\n    <params>\r\n        <mode>S</mode>\r\n    </params>\r\n</Frame>"
  },
  {
    "path": "FotorSDKDemo/AndroidManifest.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    package=\"com.example.fotorsdkdemo\"\n    android:versionCode=\"1\"\n    android:versionName=\"1.0.4\" >\n\n    <!-- FotorSDK Required : Minimum sdk version -->\n    <uses-sdk\n        android:minSdkVersion=\"10\"\n        android:targetSdkVersion=\"19\" />\n    <!-- FotorSDK Required : Permissions -->\n    <uses-permission android:name=\"android.permission.INTERNET\" />\n    <uses-permission android:name=\"android.permission.CAMERA\" />\n    <uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\" />\n    <uses-permission android:name=\"android.permission.FLASHLIGHT\" />\n\n    <application\n        android:allowBackup=\"true\"\n        android:icon=\"@drawable/icon\"\n        android:label=\"@string/app_name\"\n        android:theme=\"@style/AppTheme\" >\n        <activity\n            android:name=\"com.example.fotorsdkdemo.MainActivity\"\n            android:configChanges=\"orientation|keyboardHidden|screenSize\"\n            android:label=\"@string/app_name\" >\n            <intent-filter>\n                <action android:name=\"android.intent.action.MAIN\" />\n\n                <category android:name=\"android.intent.category.LAUNCHER\" />\n            </intent-filter>\n        </activity>\n\n        <!-- FotorSDK Required : proccess main activity -->\n        <activity\n            android:name=\"com.everimaging.fotorsdk.FotorSDKActivity\"\n            android:configChanges=\"orientation|keyboardHidden|screenSize\"\n            android:hardwareAccelerated=\"true\"\n            android:largeHeap=\"true\"\n            android:screenOrientation=\"unspecified\"\n            android:theme=\"@style/FotorTheme\" />\n        <!-- FotorSDK Required : camera main activity -->\n        <activity android:name=\"com.everimaging.fotorsdk.camera.CameraActivity\" >\n        </activity>\n        <!-- FotorSDK Required : content provider for process high resolution  #NOTE# authorities value you must change to like this:\n        \t android:authorities=\"{your.packagename}.FotorContentProvider -->\n        <provider\n            android:name=\"com.everimaging.fotorsdk.provider.FotorContentProvider\"\n            android:authorities=\"com.example.fotorsdkdemo.FotorContentProvider\"\n            android:exported=\"false\" />\n\n        <!-- FotorSDK Required : receiver to listener newly feature package change -->\n        <receiver\n            android:name=\"com.everimaging.fotorsdk.receivers.FotorSystemReceiver\"\n            android:exported=\"true\"\n            android:process=\":fotor_receiver\" >\n            <intent-filter>\n                <action android:name=\"android.intent.action.PACKAGE_ADDED\" />\n                <action android:name=\"android.intent.action.PACKAGE_REMOVED\" />\n                <action android:name=\"android.intent.action.PACKAGE_REPLACED\" />\n\n                <data android:scheme=\"package\" />\n            </intent-filter>\n        </receiver>\n        <!-- FotorSDK Required : You Fotor API_KEY -->\n        <meta-data\n            android:name=\"FOTOR_API_KEY\"\n            android:value=\"fotor_api_key\" />\n    </application>\n\n</manifest>"
  },
  {
    "path": "FotorSDKDemo/assets/border_config/Gallery/10M.xml",
    "content": "<Frame name=\"Blue Jeans\" type=\"Gallery\" id=\"10\">\r\n\t<LeftTop>10M_0.png</LeftTop>\r\n\t<Top>10M_1.png</Top>\r\n\t<RightTop>10M_2.png</RightTop>\r\n\t<Right>10M_3.png</Right>\r\n\t<RightBottom>10M_4.png</RightBottom>\r\n\t<Bottom>10M_5.png</Bottom>\r\n\t<LeftBottom>10M_6.png</LeftBottom>\r\n\t<Left>10M_7.png</Left>\r\n\r\n\t<Unity>10M.png</Unity>\r\n\t\r\n\t<params>\r\n\t\t<mode>M</mode>\r\n\t\t<thickness>0.08</thickness>\r\n\t\t<width>174</width>\r\n\t\t<height>174</height>\r\n\t\t<block type=\"leftTop\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>72</width>\r\n\t\t\t<height>72</height>\r\n\t\t</block>\r\n\t\t<block type=\"top\">\r\n\t\t\t<left>72</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>30</width>\r\n\t\t\t<height>72</height>\r\n\t\t</block>\r\n\t\t<block type=\"rightTop\">\r\n\t\t\t<left>102</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>72</width>\r\n\t\t\t<height>72</height>\r\n\t\t</block>\r\n\t\t<block type=\"right\">\r\n\t\t\t<left>102</left>\r\n\t\t\t<top>72</top>\r\n\t\t\t<width>72</width>\r\n\t\t\t<height>30</height>\r\n\t\t</block>\r\n\t\t<block type=\"rightBottom\">\r\n\t\t\t<left>102</left>\r\n\t\t\t<top>102</top>\r\n\t\t\t<width>72</width>\r\n\t\t\t<height>72</height>\r\n\t\t</block>\r\n\t\t<block type=\"bottom\">\r\n\t\t\t<left>72</left>\r\n\t\t\t<top>102</top>\r\n\t\t\t<width>30</width>\r\n\t\t\t<height>72</height>\r\n\t\t</block>\r\n\t\t<block type=\"leftBottom\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>102</top>\r\n\t\t\t<width>72</width>\r\n\t\t\t<height>72</height>\r\n\t\t</block>\r\n\t\t<block type=\"left\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>72</top>\r\n\t\t\t<width>72</width>\r\n\t\t\t<height>30</height>\r\n\t\t</block>\r\n\t</params>\r\n</Frame>"
  },
  {
    "path": "FotorSDKDemo/assets/border_config/Gallery/118S.xml",
    "content": "<Frame name=\"Instant\" type=\"Gallery\" id=\"118\">\r\n    <Unity>118S.png</Unity>\r\n    \r\n    <params>\r\n        <mode>S</mode>\r\n    </params>\r\n</Frame>"
  },
  {
    "path": "FotorSDKDemo/assets/border_config/Gallery/3M.xml",
    "content": "<Frame name=\"Snowflake\" type=\"Gallery\" id=\"3\">\r\n\t<LeftTop>3M_0.png</LeftTop>\r\n\t<Top>3M_1.png</Top>\r\n\t<RightTop>3M_2.png</RightTop>\r\n\t<Right>3M_3.png</Right>\r\n\t<RightBottom>3M_4.png</RightBottom>\r\n\t<Bottom>3M_5.png</Bottom>\r\n\t<LeftBottom>3M_6.png</LeftBottom>\r\n\t<Left>3M_7.png</Left>\r\n\r\n\t<Unity>3M.png</Unity>\r\n\t\r\n\t<params>\r\n\t\t<mode>M</mode>\r\n\t\t<thickness>0.05</thickness>\r\n\t\t<width>161</width>\r\n\t\t<height>161</height>\r\n\t\t<block type=\"leftTop\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>80</width>\r\n\t\t\t<height>80</height>\r\n\t\t</block>\r\n\t\t<block type=\"top\">\r\n\t\t\t<left>80</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>1</width>\r\n\t\t\t<height>80</height>\r\n\t\t</block>\r\n\t\t<block type=\"rightTop\">\r\n\t\t\t<left>81</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>80</width>\r\n\t\t\t<height>80</height>\r\n\t\t</block>\r\n\t\t<block type=\"right\">\r\n\t\t\t<left>81</left>\r\n\t\t\t<top>80</top>\r\n\t\t\t<width>80</width>\r\n\t\t\t<height>1</height>\r\n\t\t</block>\r\n\t\t<block type=\"rightBottom\">\r\n\t\t\t<left>81</left>\r\n\t\t\t<top>81</top>\r\n\t\t\t<width>80</width>\r\n\t\t\t<height>80</height>\r\n\t\t</block>\r\n\t\t<block type=\"bottom\">\r\n\t\t\t<left>80</left>\r\n\t\t\t<top>81</top>\r\n\t\t\t<width>1</width>\r\n\t\t\t<height>80</height>\r\n\t\t</block>\r\n\t\t<block type=\"leftBottom\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>81</top>\r\n\t\t\t<width>80</width>\r\n\t\t\t<height>80</height>\r\n\t\t</block>\r\n\t\t<block type=\"left\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>80</top>\r\n\t\t\t<width>80</width>\r\n\t\t\t<height>1</height>\r\n\t\t</block>\r\n\t</params>\r\n</Frame>"
  },
  {
    "path": "FotorSDKDemo/assets/border_config/Gallery/41M.xml",
    "content": "<Frame name=\"Nile River\" type=\"Gallery\" id=\"41\">\r\n\t<LeftTop>41M_0.png</LeftTop>\r\n\t<Top>41M_1.png</Top>\r\n\t<RightTop>41M_2.png</RightTop>\r\n\t<Right>41M_3.png</Right>\r\n\t<RightBottom>41M_4.png</RightBottom>\r\n\t<Bottom>41M_5.png</Bottom>\r\n\t<LeftBottom>41M_6.png</LeftBottom>\r\n\t<Left>41M_7.png</Left>\r\n\r\n\t<Unity>41M.png</Unity>\r\n\t\r\n\t<params>\r\n\t\t<mode>M</mode>\r\n\t\t<thickness>0.05</thickness>\r\n\t\t<width>170</width>\r\n\t\t<height>170</height>\r\n\t\t<block type=\"leftTop\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>70</width>\r\n\t\t\t<height>70</height>\r\n\t\t</block>\r\n\t\t<block type=\"top\">\r\n\t\t\t<left>70</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>30</width>\r\n\t\t\t<height>70</height>\r\n\t\t</block>\r\n\t\t<block type=\"rightTop\">\r\n\t\t\t<left>100</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>70</width>\r\n\t\t\t<height>70</height>\r\n\t\t</block>\r\n\t\t<block type=\"right\">\r\n\t\t\t<left>100</left>\r\n\t\t\t<top>70</top>\r\n\t\t\t<width>70</width>\r\n\t\t\t<height>30</height>\r\n\t\t</block>\r\n\t\t<block type=\"rightBottom\">\r\n\t\t\t<left>100</left>\r\n\t\t\t<top>100</top>\r\n\t\t\t<width>70</width>\r\n\t\t\t<height>70</height>\r\n\t\t</block>\r\n\t\t<block type=\"bottom\">\r\n\t\t\t<left>70</left>\r\n\t\t\t<top>100</top>\r\n\t\t\t<width>30</width>\r\n\t\t\t<height>70</height>\r\n\t\t</block>\r\n\t\t<block type=\"leftBottom\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>100</top>\r\n\t\t\t<width>70</width>\r\n\t\t\t<height>70</height>\r\n\t\t</block>\r\n\t\t<block type=\"left\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>70</top>\r\n\t\t\t<width>70</width>\r\n\t\t\t<height>30</height>\r\n\t\t</block>\r\n\t</params>\r\n</Frame>"
  },
  {
    "path": "FotorSDKDemo/assets/border_config/Gallery/42M.xml",
    "content": "<Frame name=\"Cleopatra\" type=\"Gallery\" id=\"42\">\r\n\t<LeftTop>42M_0.png</LeftTop>\r\n\t<Top>42M_1.png</Top>\r\n\t<RightTop>42M_2.png</RightTop>\r\n\t<Right>42M_3.png</Right>\r\n\t<RightBottom>42M_4.png</RightBottom>\r\n\t<Bottom>42M_5.png</Bottom>\r\n\t<LeftBottom>42M_6.png</LeftBottom>\r\n\t<Left>42M_7.png</Left>\r\n\r\n\t<Unity>42M.png</Unity>\r\n\t\r\n\t<params>\r\n\t\t<mode>M</mode>\r\n\t\t<thickness>0.1</thickness>\r\n\t\t<width>362</width>\r\n\t\t<height>362</height>\r\n\t\t<block type=\"leftTop\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>166</width>\r\n\t\t\t<height>166</height>\r\n\t\t</block>\r\n\t\t<block type=\"top\">\r\n\t\t\t<left>166</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>30</width>\r\n\t\t\t<height>166</height>\r\n\t\t</block>\r\n\t\t<block type=\"rightTop\">\r\n\t\t\t<left>196</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>166</width>\r\n\t\t\t<height>166</height>\r\n\t\t</block>\r\n\t\t<block type=\"right\">\r\n\t\t\t<left>196</left>\r\n\t\t\t<top>166</top>\r\n\t\t\t<width>166</width>\r\n\t\t\t<height>30</height>\r\n\t\t</block>\r\n\t\t<block type=\"rightBottom\">\r\n\t\t\t<left>196</left>\r\n\t\t\t<top>196</top>\r\n\t\t\t<width>166</width>\r\n\t\t\t<height>166</height>\r\n\t\t</block>\r\n\t\t<block type=\"bottom\">\r\n\t\t\t<left>166</left>\r\n\t\t\t<top>196</top>\r\n\t\t\t<width>30</width>\r\n\t\t\t<height>166</height>\r\n\t\t</block>\r\n\t\t<block type=\"leftBottom\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>196</top>\r\n\t\t\t<width>166</width>\r\n\t\t\t<height>166</height>\r\n\t\t</block>\r\n\t\t<block type=\"left\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>166</top>\r\n\t\t\t<width>166</width>\r\n\t\t\t<height>30</height>\r\n\t\t</block>\r\n\t</params>\r\n</Frame>"
  },
  {
    "path": "FotorSDKDemo/assets/border_config/Gallery/Config.json",
    "content": "{\n\"borderItems\":[\n{\"filename\":\"118S.xml\",\"thumbThickness\":0.14},\n{\"filename\":\"42M.xml\",\"thumbThickness\":0.19},\n{\"filename\":\"10M.xml\",\"thumbThickness\":0.139},\n{\"filename\":\"3M.xml\",\"thumbThickness\":0.105},\n{\"filename\":\"41M.xml\",\"thumbThickness\":0.11}]\n,\"packName\":\"Gallery\"}\n"
  },
  {
    "path": "FotorSDKDemo/assets/border_config/Simple/23M.xml",
    "content": "<Frame name=\"23M\" type=\"Simple\" id=\"23\">\r\n\t<LeftTop>23M_0.png</LeftTop>\r\n\t<Top>23M_1.png</Top>\r\n\t<RightTop>23M_2.png</RightTop>\r\n\t<Right>23M_3.png</Right>\r\n\t<RightBottom>23M_4.png</RightBottom>\r\n\t<Bottom>23M_5.png</Bottom>\r\n\t<LeftBottom>23M_6.png</LeftBottom>\r\n\t<Left>23M_7.png</Left>\r\n\r\n\t<Unity>23M.png</Unity>\r\n\t\r\n\t<params>\r\n\t\t<mode>M</mode>\r\n\t\t<thickness>0.1</thickness>\r\n\t\t<width>264</width>\r\n\t\t<height>264</height>\r\n\t\t<block type=\"leftTop\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>112</width>\r\n\t\t\t<height>112</height>\r\n\t\t</block>\r\n\t\t<block type=\"top\">\r\n\t\t\t<left>112</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>40</width>\r\n\t\t\t<height>112</height>\r\n\t\t</block>\r\n\t\t<block type=\"rightTop\">\r\n\t\t\t<left>152</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>112</width>\r\n\t\t\t<height>112</height>\r\n\t\t</block>\r\n\t\t<block type=\"right\">\r\n\t\t\t<left>152</left>\r\n\t\t\t<top>112</top>\r\n\t\t\t<width>112</width>\r\n\t\t\t<height>40</height>\r\n\t\t</block>\r\n\t\t<block type=\"rightBottom\">\r\n\t\t\t<left>152</left>\r\n\t\t\t<top>152</top>\r\n\t\t\t<width>112</width>\r\n\t\t\t<height>112</height>\r\n\t\t</block>\r\n\t\t<block type=\"bottom\">\r\n\t\t\t<left>112</left>\r\n\t\t\t<top>152</top>\r\n\t\t\t<width>40</width>\r\n\t\t\t<height>112</height>\r\n\t\t</block>\r\n\t\t<block type=\"leftBottom\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>152</top>\r\n\t\t\t<width>112</width>\r\n\t\t\t<height>112</height>\r\n\t\t</block>\r\n\t\t<block type=\"left\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>112</top>\r\n\t\t\t<width>112</width>\r\n\t\t\t<height>40</height>\r\n\t\t</block>\r\n\t</params>\r\n</Frame>"
  },
  {
    "path": "FotorSDKDemo/assets/border_config/Simple/29M.xml",
    "content": "<Frame name=\"29M\" type=\"Simple\" id=\"29\">\r\n\t<LeftTop>29M_0.png</LeftTop>\r\n\t<Top>29M_10.png</Top>\r\n\t<RightTop>29M_2.png</RightTop>\r\n\t<Right>29M_3.png</Right>\r\n\t<RightBottom>29M_4.png</RightBottom>\r\n\t<Bottom>29M_5.png</Bottom>\r\n\t<LeftBottom>29M_6.png</LeftBottom>\r\n\t<Left>29M_7.png</Left>\r\n\r\n\t<Unity>29M.png</Unity>\r\n\t\r\n\t<params>\r\n\t\t<mode>M</mode>\r\n\t\t<thickness>0.12</thickness>\r\n\t\t<width>186</width>\r\n\t\t<height>186</height>\r\n\t\t<block type=\"leftTop\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>88</width>\r\n\t\t\t<height>88</height>\r\n\t\t</block>\r\n\t\t<block type=\"top\">\r\n\t\t\t<left>88</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>10</width>\r\n\t\t\t<height>88</height>\r\n\t\t</block>\r\n\t\t<block type=\"rightTop\">\r\n\t\t\t<left>98</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>88</width>\r\n\t\t\t<height>88</height>\r\n\t\t</block>\r\n\t\t<block type=\"right\">\r\n\t\t\t<left>98</left>\r\n\t\t\t<top>88</top>\r\n\t\t\t<width>88</width>\r\n\t\t\t<height>10</height>\r\n\t\t</block>\r\n\t\t<block type=\"rightBottom\">\r\n\t\t\t<left>98</left>\r\n\t\t\t<top>98</top>\r\n\t\t\t<width>88</width>\r\n\t\t\t<height>88</height>\r\n\t\t</block>\r\n\t\t<block type=\"bottom\">\r\n\t\t\t<left>88</left>\r\n\t\t\t<top>98</top>\r\n\t\t\t<width>10</width>\r\n\t\t\t<height>88</height>\r\n\t\t</block>\r\n\t\t<block type=\"leftBottom\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>98</top>\r\n\t\t\t<width>88</width>\r\n\t\t\t<height>88</height>\r\n\t\t</block>\r\n\t\t<block type=\"left\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>88</top>\r\n\t\t\t<width>88</width>\r\n\t\t\t<height>10</height>\r\n\t\t</block>\r\n\t</params>\r\n</Frame>"
  },
  {
    "path": "FotorSDKDemo/assets/border_config/Simple/2M.xml",
    "content": "<Frame name=\"2M\" type=\"Simple\" id=\"2\">\r\n\t<LeftTop>2M_0.png</LeftTop>\r\n\t<Top>2M_1.png</Top>\r\n\t<RightTop>2M_2.png</RightTop>\r\n\t<Right>2M_3.png</Right>\r\n\t<RightBottom>2M_4.png</RightBottom>\r\n\t<Bottom>2M_5.png</Bottom>\r\n\t<LeftBottom>2M_6.png</LeftBottom>\r\n\t<Left>2M_7.png</Left>\r\n\r\n\t<Unity>2M.png</Unity>\r\n\t\r\n\t<params>\r\n\t\t<mode>M</mode>\r\n\t\t<thickness>0.05</thickness>\r\n\t\t<width>133</width>\r\n\t\t<height>133</height>\r\n\t\t<block type=\"leftTop\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>66</width>\r\n\t\t\t<height>66</height>\r\n\t\t</block>\r\n\t\t<block type=\"top\">\r\n\t\t\t<left>66</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>1</width>\r\n\t\t\t<height>66</height>\r\n\t\t</block>\r\n\t\t<block type=\"rightTop\">\r\n\t\t\t<left>67</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>66</width>\r\n\t\t\t<height>66</height>\r\n\t\t</block>\r\n\t\t<block type=\"right\">\r\n\t\t\t<left>67</left>\r\n\t\t\t<top>66</top>\r\n\t\t\t<width>66</width>\r\n\t\t\t<height>1</height>\r\n\t\t</block>\r\n\t\t<block type=\"rightBottom\">\r\n\t\t\t<left>67</left>\r\n\t\t\t<top>67</top>\r\n\t\t\t<width>66</width>\r\n\t\t\t<height>66</height>\r\n\t\t</block>\r\n\t\t<block type=\"bottom\">\r\n\t\t\t<left>66</left>\r\n\t\t\t<top>67</top>\r\n\t\t\t<width>1</width>\r\n\t\t\t<height>66</height>\r\n\t\t</block>\r\n\t\t<block type=\"leftBottom\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>67</top>\r\n\t\t\t<width>66</width>\r\n\t\t\t<height>66</height>\r\n\t\t</block>\r\n\t\t<block type=\"left\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>66</top>\r\n\t\t\t<width>66</width>\r\n\t\t\t<height>1</height>\r\n\t\t</block>\r\n\t</params>\r\n</Frame>"
  },
  {
    "path": "FotorSDKDemo/assets/border_config/Simple/36M.xml",
    "content": "<Frame name=\"36M\" type=\"Simple\" id=\"36\">\r\n\t<LeftTop>36M_0.png</LeftTop>\r\n\t<Top>36M_1.png</Top>\r\n\t<RightTop>36M_2.png</RightTop>\r\n\t<Right>36M_3.png</Right>\r\n\t<RightBottom>36M_4.png</RightBottom>\r\n\t<Bottom>36M_5.png</Bottom>\r\n\t<LeftBottom>36M_6.png</LeftBottom>\r\n\t<Left>36M_7.png</Left>\r\n\r\n\t<Unity>36M.png</Unity>\r\n\t\r\n\t<params>\r\n\t\t<mode>M</mode>\r\n\t\t<thickness>0.6</thickness>\r\n\t\t<width>728</width>\r\n\t\t<height>728</height>\r\n\t\t<block type=\"leftTop\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>360</width>\r\n\t\t\t<height>360</height>\r\n\t\t</block>\r\n\t\t<block type=\"top\">\r\n\t\t\t<left>360</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>8</width>\r\n\t\t\t<height>360</height>\r\n\t\t</block>\r\n\t\t<block type=\"rightTop\">\r\n\t\t\t<left>368</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>360</width>\r\n\t\t\t<height>360</height>\r\n\t\t</block>\r\n\t\t<block type=\"right\">\r\n\t\t\t<left>368</left>\r\n\t\t\t<top>360</top>\r\n\t\t\t<width>360</width>\r\n\t\t\t<height>8</height>\r\n\t\t</block>\r\n\t\t<block type=\"rightBottom\">\r\n\t\t\t<left>368</left>\r\n\t\t\t<top>368</top>\r\n\t\t\t<width>360</width>\r\n\t\t\t<height>360</height>\r\n\t\t</block>\r\n\t\t<block type=\"bottom\">\r\n\t\t\t<left>360</left>\r\n\t\t\t<top>368</top>\r\n\t\t\t<width>8</width>\r\n\t\t\t<height>360</height>\r\n\t\t</block>\r\n\t\t<block type=\"leftBottom\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>368</top>\r\n\t\t\t<width>360</width>\r\n\t\t\t<height>360</height>\r\n\t\t</block>\r\n\t\t<block type=\"left\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>360</top>\r\n\t\t\t<width>360</width>\r\n\t\t\t<height>8</height>\r\n\t\t</block>\r\n\t</params>\r\n</Frame>"
  },
  {
    "path": "FotorSDKDemo/assets/border_config/Simple/38M.xml",
    "content": "<Frame name=\"38M\" type=\"Simple\" id=\"38\">\r\n\t<LeftTop>38M_0.png</LeftTop>\r\n\t<Top>38M_1.png</Top>\r\n\t<RightTop>38M_2.png</RightTop>\r\n\t<Right>38M_3.png</Right>\r\n\t<RightBottom>38M_4.png</RightBottom>\r\n\t<Bottom>38M_5.png</Bottom>\r\n\t<LeftBottom>38M_6.png</LeftBottom>\r\n\t<Left>38M_7.png</Left>\r\n\r\n\t<Unity>38M.png</Unity>\r\n\t\r\n\t<params>\r\n\t\t<mode>M</mode>\r\n\t\t<thickness>0.5</thickness>\r\n\t\t<width>728</width>\r\n\t\t<height>728</height>\r\n\t\t<block type=\"leftTop\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>360</width>\r\n\t\t\t<height>360</height>\r\n\t\t</block>\r\n\t\t<block type=\"top\">\r\n\t\t\t<left>360</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>8</width>\r\n\t\t\t<height>360</height>\r\n\t\t</block>\r\n\t\t<block type=\"rightTop\">\r\n\t\t\t<left>368</left>\r\n\t\t\t<top>0</top>\r\n\t\t\t<width>360</width>\r\n\t\t\t<height>360</height>\r\n\t\t</block>\r\n\t\t<block type=\"right\">\r\n\t\t\t<left>368</left>\r\n\t\t\t<top>360</top>\r\n\t\t\t<width>360</width>\r\n\t\t\t<height>8</height>\r\n\t\t</block>\r\n\t\t<block type=\"rightBottom\">\r\n\t\t\t<left>368</left>\r\n\t\t\t<top>368</top>\r\n\t\t\t<width>360</width>\r\n\t\t\t<height>360</height>\r\n\t\t</block>\r\n\t\t<block type=\"bottom\">\r\n\t\t\t<left>360</left>\r\n\t\t\t<top>368</top>\r\n\t\t\t<width>8</width>\r\n\t\t\t<height>360</height>\r\n\t\t</block>\r\n\t\t<block type=\"leftBottom\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>368</top>\r\n\t\t\t<width>360</width>\r\n\t\t\t<height>360</height>\r\n\t\t</block>\r\n\t\t<block type=\"left\">\r\n\t\t\t<left>0</left>\r\n\t\t\t<top>360</top>\r\n\t\t\t<width>360</width>\r\n\t\t\t<height>8</height>\r\n\t\t</block>\r\n\t</params>\r\n</Frame>"
  },
  {
    "path": "FotorSDKDemo/assets/border_config/Simple/Config.json",
    "content": "{\n\"borderItems\":[\n{\"filename\":\"23M.xml\",\"thumbThickness\":0.27},\n{\"filename\":\"29M.xml\",\"thumbThickness\":0.23},\n{\"filename\":\"2M.xml\",\"thumbThickness\":0.1},\n{\"filename\":\"36M.xml\",\"thumbThickness\":0.8},\n{\"filename\":\"38M.xml\",\"thumbThickness\":0.8}]\n,\"packName\":\"Simple\"}\n"
  },
  {
    "path": "FotorSDKDemo/assets/border_config/Styled/30S.xml",
    "content": "<Frame name=\"30S\" type=\"Styled\" id=\"30\">\r\n    <Unity>30S.png</Unity>\r\n    \r\n    <params>\r\n        <mode>S</mode>\r\n    </params>\r\n</Frame>"
  },
  {
    "path": "FotorSDKDemo/assets/border_config/Styled/37S.xml",
    "content": "<Frame name=\"37S\" type=\"Styled\" id=\"37\">\r\n    <Unity>37S.png</Unity>\r\n    \r\n    <params>\r\n        <mode>S</mode>\r\n    </params>\r\n</Frame>"
  },
  {
    "path": "FotorSDKDemo/assets/border_config/Styled/43S.xml",
    "content": "<Frame name=\"43S\" type=\"Styled\" id=\"43\">\r\n    <Unity>43S.png</Unity>\r\n    \r\n    <params>\r\n        <mode>S</mode>\r\n    </params>\r\n</Frame>"
  },
  {
    "path": "FotorSDKDemo/assets/border_config/Styled/49S.xml",
    "content": "<Frame name=\"49S\" type=\"Styled\" id=\"49\">\r\n    <Unity>49S.png</Unity>\r\n    \r\n    <params>\r\n        <mode>S</mode>\r\n    </params>\r\n</Frame>"
  },
  {
    "path": "FotorSDKDemo/assets/border_config/Styled/51S.xml",
    "content": "<Frame name=\"51S\" type=\"Styled\" id=\"51\">\r\n    <Unity>51S.png</Unity>\r\n    \r\n    <params>\r\n        <mode>S</mode>\r\n    </params>\r\n</Frame>"
  },
  {
    "path": "FotorSDKDemo/assets/border_config/Styled/Config.json",
    "content": "{\n\"borderItems\":[\n{\"filename\":\"30S.xml\",\"thumbThickness\":0.05},\n{\"filename\":\"37S.xml\",\"thumbThickness\":0.05},\n{\"filename\":\"43S.xml\",\"thumbThickness\":0.05},\n{\"filename\":\"49S.xml\",\"thumbThickness\":0.05},\n{\"filename\":\"51S.xml\",\"thumbThickness\":0.05}]\n,\"packName\":\"Styled\"}\n"
  },
  {
    "path": "FotorSDKDemo/assets/fonts_config/Charm/Config.json",
    "content": "{\n\t\"version\": 1,\n\t\"category_name\": \"Charm\",\n\t\"fonts_array\": [{\n\t\t\"font_id\": 1,\n\t\t\"font_name\": \"Sofia\",\n\t\t\"font_normal\": \"Sofia\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"Sofia\"\n\t},\n\t{\n\t\t\"font_id\": 2,\n\t\t\"font_name\": \"Ostrich Sans\",\n\t\t\"font_normal\": \"Ostrich Sans\",\n\t\t\"font_bold\": \"OstrichSans-Bold\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"OstrichSans-Bold\"\n\t},\n\t{\n\t\t\"font_id\": 3,\n\t\t\"font_name\": \"Bearpaw\",\n\t\t\"font_normal\": \"Bearpaw\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"Bearpaw\"\n\t},\n\t{\n\t\t\"font_id\": 4,\n\t\t\"font_name\": \"American Typewriter\",\n\t\t\"font_normal\": \"AmericanTypewriter\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"AmericanTypewriter-Bold\"\n\t},\n\t{\n\t\t\"font_id\": 5,\n\t\t\"font_name\": \"Stencil Std\",\n\t\t\"font_normal\": \"Stencil Std\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"Stencil Std\"\n\t},\n\t{\n\t\t\"font_id\": 6,\n\t\t\"font_name\": \"Brush Script MT\",\n\t\t\"font_normal\": \"Brush Script\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"Brush Script\"\n\t},\n\t{\n\t\t\"font_id\": 7,\n\t\t\"font_name\": \"Noteworthy\",\n\t\t\"font_normal\": \"Noteworthy\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"\"\n\t},\n\t{\n\t\t\"font_id\": 8,\n\t\t\"font_name\": \"Miama\",\n\t\t\"font_normal\": \"Miama\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"Miama\"\n\t},\n\t{\n\t\t\"font_id\": 9,\n\t\t\"font_name\": \"Blackout\",\n\t\t\"font_normal\": \"Blackout\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"Blackout\"\n\t},\n\t{\n\t\t\"font_id\": 10,\n\t\t\"font_name\": \"Muli\",\n\t\t\"font_normal\": \"Muli\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"Muli-Italic\",\n\t\t\"font_bolditalic\": \"Muli-Italic\"\n\t},\n\t{\n\t\t\"font_id\": 11,\n\t\t\"font_name\": \"padaloma italic\",\n\t\t\"font_normal\": \"padaloma\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"padaloma\"\n\t},\n\t{\n\t\t\"font_id\": 12,\n\t\t\"font_name\": \"Josefin Sans\",\n\t\t\"font_normal\": \"Josefin Sans\",\n\t\t\"font_bold\": \"JosefinSans-Bold\",\n\t\t\"font_italic\": \"JosefinSans-Italic\",\n\t\t\"font_bolditalic\": \"JosefinSans-BoldItalic\"\n\t},\n\t{\n\t\t\"font_id\": 13,\n\t\t\"font_name\": \"Garogier\",\n\t\t\"font_normal\": \"Garogier\",\n\t\t\"font_bold\": \"\",\n\t\t\"font_italic\": \"\",\n\t\t\"font_bolditalic\": \"Garogier\"\n\t}\n\t]\n}"
  },
  {
    "path": "FotorSDKDemo/assets/fonts_config/Classic/Config.json",
    "content": "{\r\n\t\"version\": 1,\r\n\t\"category_name\": \"Classic\",\r\n\t\"fonts_array\": [{\r\n\t\t\"font_id\": 1,\r\n\t\t\"font_name\": \"Droid Sans\",\r\n\t\t\"font_normal\": \"DroidSans\",\r\n\t\t\"font_bold\": \"DroidSans-Bold\",\r\n\t\t\"font_italic\": \"\",\r\n\t\t\"font_bolditalic\": \"\"\r\n\t},\r\n\t{\r\n\t\t\"font_id\": 2,\r\n\t\t\"font_name\": \"Droid Serif\",\r\n\t\t\"font_normal\": \"DroidSerif\",\r\n\t\t\"font_bold\": \"DroidSerif-Bold\",\r\n\t\t\"font_italic\": \"DroidSerif-Italic\",\r\n\t\t\"font_bolditalic\": \"DroidSerif-BoldItalic\"\r\n\t},\r\n\t{\r\n\t\t\"font_id\": 3,\r\n\t\t\"font_name\": \"Droid Sans Mono\",\r\n\t\t\"font_normal\": \"DroidSansMono\",\r\n\t\t\"font_bold\": \"\",\r\n\t\t\"font_italic\": \"\",\r\n\t\t\"font_bolditalic\": \"\"\r\n\t},\r\n\t{\r\n\t\t\"font_id\": 4,\r\n\t\t\"font_name\": \"Roboto Regular\",\r\n\t\t\"font_normal\": \"Roboto-Regular\",\r\n\t\t\"font_bold\": \"Roboto-Bold\",\r\n\t\t\"font_italic\": \"Roboto-Italic\",\r\n\t\t\"font_bolditalic\": \"Roboto-BoldItalic\"\r\n\t},\r\n\t{\r\n\t\t\"font_id\": 5,\r\n\t\t\"font_name\": \"Roboto Thin\",\r\n\t\t\"font_normal\": \"Roboto-Thin\",\r\n\t\t\"font_bold\": \"\",\r\n\t\t\"font_italic\": \"Roboto-ThinItalic\",\r\n\t\t\"font_bolditalic\": \"\"\r\n\t},\r\n\t{\r\n\t\t\"font_id\": 6,\r\n\t\t\"font_name\": \"Roboto Condensed\",\r\n\t\t\"font_normal\": \"RobotoCondensed-Regular\",\r\n\t\t\"font_bold\": \"RobotoCondensed-Bold\",\r\n\t\t\"font_italic\": \"RobotoCondensed-Italic\",\r\n\t\t\"font_bolditalic\": \"RobotoCondensed-BoldItalic\"\r\n\t}\r\n\t]\r\n}"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Analog/11.xml",
    "content": "<Effect name=\"Pittsburgh\" type=\"Analog\" id=\"11\">\r\n\t<Allocation name=\"tableTexture\"/>\r\n\t\r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(48, 56)(82, 129)(130, 206)(214, 255)</R>\r\n            <G>(7, 37)(64, 111)(140, 190)(232, 220)</G>\r\n            <B>(2, 97)(114, 153)(229, 172)</B>\r\n        </params>\r\n    </BaseFilter>\r\n\t\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Analog/27.xml",
    "content": "<Effect name=\"Straight Ink\" type=\"Analog\" id=\"27\">\r\n\t<BaseFilter name=\"HSVSaturation\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<params>\r\n\t\t\t<red>-1.0</red>\r\n\t\t\t<yellow>-1.0</yellow>\r\n\t\t\t<green>-1.0</green>\r\n\t\t\t<cyan>-1.0</cyan>\r\n\t\t\t<blue>-1.0</blue>\r\n\t\t\t<magenta>-1.0</magenta>\r\n\t\t</params>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Analog/73.xml",
    "content": "<Effect name=\"Mini-Oven\" type=\"Analog\" id=\"73\">\r\n\t<Allocation name=\"tableTexture1\"/>\r\n\t<Allocation name=\"tableTexture2\"/>\r\n\t<Allocation name=\"dst_a\"/>\r\n\t<Allocation name=\"dst_b\"/>\r\n\t<Allocation name=\"specialAlphaTexture\">\r\n\t\t<file>vtg.png</file>\r\n\t</Allocation>\r\n\t\r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture1</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(16, 0)(138, 133)(202, 185)(255, 213)</R>\r\n            <G>(82, 0)(128, 85)(173, 145)(255, 207)</G>\r\n            <B>(108, 62)(176, 137)(255, 184)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture2</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(0, 105)(61, 167)(128, 221)(190, 236)(255, 255)</R>\r\n            <G>(3, 0)(64, 98)(130, 191)(191, 228)(255, 255)</G>\r\n            <B>(54, 62)(86, 101)(129, 155)(191, 192)(255, 222)</B>\r\n        </params>\r\n    </BaseFilter>\r\n\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<tableTexture>tableTexture1</tableTexture>\r\n\t\t<dst>dst_a</dst>\r\n\t</BaseFilter>\r\n\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<tableTexture>tableTexture2</tableTexture>\r\n\t\t<dst>dst_b</dst>\r\n\t</BaseFilter>\r\n\r\n\t<BaseFilter name=\"SpecialTrans\">\r\n\t\t<src>dst_a</src>\r\n\t\t<dst>dst_b</dst>\r\n\t\t<tex>specialAlphaTexture</tex>\r\n\t</BaseFilter>\r\n\r\n\t<Out DST=\"dst_b\"/>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Analog/74.xml",
    "content": "<Effect name=\"Dawn Light\" type=\"Analog\" id=\"74\">\r\n\t<Allocation name=\"tmp\"/>\r\n\t<Allocation name=\"tableTexture1\"/>\r\n\t<Allocation name=\"tableTexture2\"/>\r\n\t<Allocation name=\"dst_a\"/>\r\n\t<Allocation name=\"dst_b\"/>\r\n\t<Allocation name=\"specialAlphaTexture\">\r\n\t\t<file>vtg.png</file>\r\n\t</Allocation>\r\n\r\n\t<BaseFilter name=\"HSVSaturation\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>tmp</dst>\r\n\t\t<params>\r\n\t\t\t<red>-0.45</red>\r\n\t\t\t<yellow>-0.45</yellow>\r\n\t\t\t<green>-0.45</green>\r\n\t\t\t<cyan>-0.45</cyan>\r\n\t\t\t<blue>-0.45</blue>\r\n\t\t\t<magenta>-0.45</magenta>\r\n\t\t</params>\r\n\t</BaseFilter>\r\n\t\r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture1</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(63, 35)(148, 116)(255, 208)</R>\r\n            <G>(71, 0)(149, 84)(255, 187)</G>\r\n            <B>(85, 22)(177, 87)(255, 148)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture2</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(5, 42)(78, 129)(117, 178)(182, 219)(252, 253)</R>\r\n            <G>(0, 0)(63, 84)(117, 157)(173, 204)(255, 241)</G>\r\n            <B>(8, 26)(130, 147)(190, 197)(255, 217)</B>\r\n        </params>\r\n    </BaseFilter>\r\n\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>tmp</src>\r\n\t\t<dst>dst_a</dst>\r\n\t\t<tableTexture>tableTexture1</tableTexture>\r\n\t</BaseFilter>\r\n\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>tmp</src>\r\n\t\t<dst>dst_b</dst>\r\n\t\t<tableTexture>tableTexture2</tableTexture>\r\n\t</BaseFilter>\r\n\r\n\t<BaseFilter name=\"SpecialTrans\">\r\n\t\t<src>dst_a</src>\r\n\t\t<dst>dst_b</dst>\r\n\t\t<tex>specialAlphaTexture</tex>\r\n\t</BaseFilter>\r\n\r\n\t<Out DST=\"dst_b\"/>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Analog/75.xml",
    "content": "<Effect name=\"Real-illusion\" type=\"Analog\" id=\"75\">\r\n\t<Allocation name=\"tableTexture1\"/>\r\n\t<Allocation name=\"tableTexture2\"/>\r\n\t<Allocation name=\"dst_a\"/>\r\n\t<Allocation name=\"dst_b\"/>\r\n\t<Allocation name=\"specialAlphaTexture\">\r\n\t\t<file>vtg.png</file>\r\n\t</Allocation>\r\n\t\r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture1</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(71, 0)(112, 62)(157, 148)(255, 232)</R>\r\n            <G>(83, 0)(138, 113)(172, 173)(255, 223)</G>\r\n            <B>(16, 0)(255, 194)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture2</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(43, 0)(109, 88)(147, 167)(215, 255)</R>\r\n            <G>(48, 1)(125, 117)(173, 211)(239, 255)</G>\r\n            <B>(0, 25)(100, 105)(189, 176)(255, 228)</B>\r\n        </params>\r\n    </BaseFilter>\r\n\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<tableTexture>tableTexture1</tableTexture>\r\n\t\t<dst>dst_a</dst>\r\n\t</BaseFilter>\r\n\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<tableTexture>tableTexture2</tableTexture>\r\n\t\t<dst>dst_b</dst>\r\n\t</BaseFilter>\r\n\r\n\t<BaseFilter name=\"SpecialTrans\">\r\n\t\t<src>dst_a</src>\r\n\t\t<dst>dst_b</dst>\r\n\t\t<tex>specialAlphaTexture</tex>\r\n\t</BaseFilter>\r\n\r\n\t<Out DST=\"dst_b\"/>\r\n</Effect>\r\n"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Analog/76.xml",
    "content": "<Effect name=\"Nostalgic\" type=\"Analog\" id=\"76\">\r\n\t<Allocation name=\"tableTexture1\"/>\r\n\t<Allocation name=\"tableTexture2\"/>\r\n\t<Allocation name=\"dst\"/>\r\n\t<Allocation name=\"dst_a\"/>\r\n\t<Allocation name=\"dst_b\"/>\r\n\t<Allocation name=\"specialAlphaTexture\">\r\n\t\t<file>vtg.png</file>\r\n\t</Allocation>\r\n\r\n\t<BaseFilter name=\"MultiplyMatrixPlusBias\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>dst</dst>\r\n\t\t<params>\r\n\t\t\t<vectorR>0.650, 0.2935, 0.057</vectorR>\r\n\t\t\t<vectorG>0.1495, 0.7935, 0.057</vectorG>\r\n\t\t\t<vectorB>0.1495, 0.2935, 0.557</vectorB>\r\n\t\t</params>\r\n\t</BaseFilter>\r\n\t\r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture1</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(4, 35)(71, 79)(140, 160)(178, 233)(209, 255)</R>\r\n            <G>(9, 0)(73, 61)(140, 162)(203, 224)(248, 248)</G>\r\n            <B>(0, 31)(110, 102)(145, 148)(195, 183)(233, 213)(253, 236)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture2</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(5, 37)(69, 85)(119, 151)(157, 213)(208, 255)</R>\r\n            <G>(13, 5)(74, 78)(109, 144)(156, 201)(250, 250)</G>\r\n            <B>(2, 36)(63, 73)(93, 112)(175, 190)(241, 227)(255, 235)</B>\r\n        </params>\r\n    </BaseFilter>\r\n\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>dst</src>\r\n\t\t<tableTexture>tableTexture1</tableTexture>\r\n\t\t<dst>dst_a</dst>\r\n\t</BaseFilter>\r\n\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>dst</src>\r\n\t\t<tableTexture>tableTexture2</tableTexture>\r\n\t\t<dst>dst_b</dst>\r\n\t</BaseFilter>\r\n\r\n\t<BaseFilter name=\"SpecialTrans\">\r\n\t\t<src>dst_a</src>\r\n\t\t<dst>dst_b</dst>\r\n\t\t<tex>specialAlphaTexture</tex>\r\n\t</BaseFilter>\r\n\r\n\t<Out DST=\"dst_b\"/>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Analog/78.xml",
    "content": "<Effect name=\"Hot Fudge\" type=\"Analog\" id=\"78\">\r\n\t<Allocation name=\"tableTexture1\"/>\r\n\t<Allocation name=\"tableTexture2\"/>\r\n\t<Allocation name=\"dst_a\"/>\r\n\t<Allocation name=\"dst_b\"/>\r\n\t<Allocation name=\"specialAlphaTexture\">\r\n\t\t<file>vtg.png</file>\r\n\t</Allocation>\r\n\t\r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture1</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(16, 25)(59, 77)(101, 143)(173, 211)(255, 237)</R>\r\n            <G>(24, 7)(85, 73)(124, 149)(185, 207)(249, 229)</G>\r\n            <B>(30, 7)(105, 78)(150, 148)(200, 193)(255, 204)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture2</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(16, 40)(52, 111)(124, 194)(172, 224)(231, 252)</R>\r\n            <G>(19, 5)(71, 84)(110, 145)(167, 212)(222, 250)</G>\r\n            <B>(21, 4)(67, 50)(143, 167)(237, 228)</B>\r\n        </params>\r\n    </BaseFilter>\r\n\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<tableTexture>tableTexture1</tableTexture>\r\n\t\t<dst>dst_a</dst>\r\n\t</BaseFilter>\r\n\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<tableTexture>tableTexture2</tableTexture>\r\n\t\t<dst>dst_b</dst>\r\n\t</BaseFilter>\r\n\r\n\t<BaseFilter name=\"SpecialTrans\">\r\n\t\t<src>dst_a</src>\r\n\t\t<dst>dst_b</dst>\r\n\t\t<tex>specialAlphaTexture</tex>\r\n\t</BaseFilter>\r\n\r\n\t<Out DST=\"dst_b\"/>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Analog/80.xml",
    "content": "<Effect name=\"Red Wash\"  type=\"Analog\" id=\"80\">\r\n\t<Allocation name=\"tableTexture1\"/>\r\n\t<Allocation name=\"tableTexture2\"/>\r\n\t<Allocation name=\"dst_a\"/>\r\n\t<Allocation name=\"dst_b\"/>\r\n\t<Allocation name=\"specialAlphaTexture\">\r\n\t\t<file>vtg.png</file>\r\n\t</Allocation>\r\n\t\r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture1</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(22, 0)(120, 78)(208, 138)(255, 170)</R>\r\n            <G>(77, 0)(143, 69)(255, 176)</G>\r\n            <B>(45, 0)(159, 97)(255, 173)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture2</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(7, 171)(92, 201)(255, 253)</R>\r\n            <G>(0, 3)(61, 79)(110, 142)(186, 201)(255, 255)</G>\r\n            <B>(0, 23)(53, 87)(103, 140)(186, 208)(239, 248)</B>\r\n        </params>\r\n    </BaseFilter>\r\n\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<tableTexture>tableTexture1</tableTexture>\r\n\t\t<dst>dst_a</dst>\r\n\t</BaseFilter>\r\n\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<tableTexture>tableTexture2</tableTexture>\r\n\t\t<dst>dst_b</dst>\r\n\t</BaseFilter>\r\n\r\n\t<BaseFilter name=\"SpecialTrans\">\r\n\t\t<src>dst_a</src>\r\n\t\t<dst>dst_b</dst>\r\n\t\t<tex>specialAlphaTexture</tex>\r\n\t</BaseFilter>\r\n\r\n\t<Out DST=\"dst_b\"/>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Analog/Config.json",
    "content": "[\"11.xml\",\"74.xml\",\"76.xml\",\"75.xml\",\"73.xml\",\"80.xml\",\"78.xml\",\"27.xml\"]"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Lomo/1.xml",
    "content": "<Effect name=\"Angel's Kiss\" type=\"Lomo\" id=\"1\">\r\n\t<Allocation name=\"level\"/>\r\n\t<Allocation name=\"tableTexture\"/>\r\n\r\n\t<BaseFilter name=\"Level\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>level</dst>\r\n\t\t<params>\r\n\t\t\t<type>GetScale</type>\r\n\t\t\t<dark>0.1</dark>\r\n\t\t\t<light>0.1</light>\r\n\t\t\t<saturation>1.0</saturation>\r\n\t\t</params>\r\n\t</BaseFilter>\r\n\r\n\t<BaseFilter name=\"Vignette\">\r\n\t\t<src>level</src>\r\n\t\t<dst>TMP</dst>\r\n\t\t<params>\r\n\t\t    <mode>quadric</mode>\r\n\t\t\t<vignetteStart>0.0</vignetteStart>\r\n\t\t\t<vignetteRange>1.0</vignetteRange>\r\n\t\t</params>\r\n\t</BaseFilter>\r\n\t\r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(0, 0)(127, 145)(255, 229)</R>\r\n            <G>(0, 0)(63, 66)(127, 144)(255, 223)</G>\r\n            <B>(0, 0)(127, 117)(255, 195)</B>\r\n        </params>\r\n    </BaseFilter>\r\n\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>TMP</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Lomo/10.xml",
    "content": "<Effect name=\"X-ProII\" type=\"Lomo\" id=\"10\">\r\n\t<Allocation name=\"tableTexture\"/>\r\n\t\r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(0, 4)(255, 244)</R>\r\n            <G>(0, 0)(255, 255)</G>\r\n            <B>(0, 84)(255, 194)</B>\r\n        </params>\r\n    </BaseFilter>\r\n\t\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Lomo/102.xml",
    "content": "<Effect name=\"Lomo-Fx\" type=\"Lomo\" id=\"102\">\r\n\t<Allocation name=\"tableTexture\"/>\r\n\t\r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(33, 0)(104, 76)(167, 168)(218, 255)</R>\r\n            <G>(30, 0)(112, 71)(174, 189)(234, 255)</G>\r\n            <B>(8, 30)(160, 122)(233, 255)</B>\r\n        </params>\r\n    </BaseFilter>\r\n\t\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Lomo/103.xml",
    "content": "<Effect name=\"Nashville\" type=\"Lomo\" id=\"103\">\r\n\t<Allocation name=\"tableTexture\"/>\r\n\t\r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(35, 43)(159, 194)(255, 255)</R>\r\n            <G>(0, 26)(141, 157)(255, 218)</G>\r\n            <B>(0, 81)(255, 145)</B>\r\n        </params>\r\n    </BaseFilter>\r\n\t\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Lomo/2.xml",
    "content": "<Effect name=\"Walden\" type=\"Lomo\" id=\"2\">\r\n\t<Allocation name=\"level\"/>\r\n\t<Allocation name=\"tableTexture\"/>\r\n\r\n\t<BaseFilter name=\"Level\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>level</dst>\r\n\t\t<params>\r\n\t\t\t<type>GetScale</type>\r\n\t\t\t<dark>0.1</dark>\r\n\t\t\t<light>0.2</light>\r\n\t\t\t<saturation>1.0</saturation>\r\n\t\t</params>\r\n\t</BaseFilter>\r\n\t\r\n\t<BaseFilter name=\"Vignette\">\r\n\t\t<src>level</src>\r\n\t\t<dst>TMP</dst>\r\n\t\t<params>\r\n\t\t    <mode>quadric</mode>\r\n\t\t\t<vignetteStart>0.0</vignetteStart>\r\n\t\t\t<vignetteRange>1.0</vignetteRange>\r\n\t\t</params>\r\n\t</BaseFilter>\r\n\t\r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(0, 0)(127, 91)(255, 214)</R>\r\n            <G>(0, 0)(127, 102)(255, 255)</G>\r\n            <B>(0, 0)(127, 108)(255, 255)</B>\r\n        </params>\r\n    </BaseFilter>\r\n\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>TMP</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Lomo/23.xml",
    "content": "<Effect name=\"Earlybird\" type=\"Lomo\" id=\"23\">\r\n\t<Allocation name=\"tableTexture\"/>\r\n\t<Allocation name=\"dst\"/>\r\n\r\n\t<BaseFilter name=\"HSVSaturation\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>dst</dst>\r\n\t\t<params>\r\n\t\t\t<red>-0.5</red>\r\n\t\t\t<yellow>-0.5</yellow>\r\n\t\t\t<green>-0.5</green>\r\n\t\t\t<cyan>-0.5</cyan>\r\n\t\t\t<blue>-0.5</blue>\r\n\t\t\t<magenta>-0.5</magenta>\r\n\t\t</params>\r\n\t</BaseFilter>\r\n\t\r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(0, 0)(129, 148)(255, 255)</R>\r\n            <G>(0, 0)(92, 77)(175, 189)(255, 255)</G>\r\n            <B>(0, 0)(163, 144)(255, 255)</B>\r\n        </params>\r\n    </BaseFilter>\r\n\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>dst</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Lomo/4.xml",
    "content": "<Effect name=\"Blue Sepia\" type=\"Lomo\" id=\"4\">\r\n\t<Allocation name=\"level\"/>\r\n\t<Allocation name=\"tableTexture\"/>\r\n\r\n\t<BaseFilter name=\"Level\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>level</dst>\r\n\t\t<params>\r\n\t\t\t<type>GetScale</type>\r\n\t\t\t<dark>0.1</dark>\r\n\t\t\t<light>0.1</light>\r\n\t\t\t<saturation>0.3</saturation>\r\n\t\t</params>\r\n\t</BaseFilter>\r\n\t\r\n\t<BaseFilter name=\"Vignette\">\r\n\t\t<src>level</src>\r\n\t\t<dst>TMP</dst>\r\n\t\t<params>\r\n\t\t    <mode>quadric</mode>\r\n\t\t\t<vignetteStart>0.0</vignetteStart>\r\n\t\t\t<vignetteRange>1.0</vignetteRange>\r\n\t\t</params>\r\n\t</BaseFilter>\r\n\t\r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(0, 14)(63, 66)(129, 151)(208, 255)</R>\r\n            <G>(0, 38)(63, 72)(127, 127)(196, 255)</G>\r\n            <B>(0, 49)(63, 75)(127, 121)(202, 233)(255, 255)</B>\r\n        </params>\r\n    </BaseFilter>\r\n\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>TMP</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Lomo/5.xml",
    "content": "<Effect name=\"Lomo Life\" type=\"Lomo\" id=\"5\">\r\n\t<Allocation name=\"tableTexture\"/>\r\n\t\r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(0, 0)(117, 95)(155, 171)(179, 225)(255, 255)</R>\r\n            <G>(0, 0)(94, 66)(155, 176)(255, 255)</G>\r\n            <B>(0, 0)(48, 59)(141, 130)(255, 224)</B>\r\n        </params>\r\n    </BaseFilter>\r\n\t\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Lomo/7.xml",
    "content": "<Effect name=\"Warm Yellow\" type=\"Lomo\" id=\"7\">\r\n\t<Allocation name=\"tableTexture\"/>\r\n\t\r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(0, 0)(43, 77)(56, 104)(100, 166)(255, 255)</R>\r\n            <G>(0, 0)(35, 53)(255, 255)</G>\r\n            <B>(0, 0)(110, 123)(255, 212)</B>\r\n        </params>\r\n    </BaseFilter>\r\n\t\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Lomo/Config.json",
    "content": "[\"1.xml\",\"4.xml\",\"23.xml\",\"5.xml\",\"102.xml\",\"103.xml\",\"2.xml\",\"7.xml\",\"10.xml\"]"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/OldPicture/10.xml",
    "content": "<Effect name=\"Toy\" type=\"Old Picture\" id=\"10\">\r\n    <Allocation name=\"tableTexture\"/>\r\n    \r\n    <BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <curveR>\r\n                <point>0, 4</point>\r\n                <point>255, 244</point>\r\n            </curveR>\r\n            <curveG>\r\n                <point>0, 0</point>\r\n                <point>255, 255</point>\r\n            </curveG>\r\n            <curveB>\r\n                <point>0, 84</point>\r\n                <point>255, 194</point>\r\n            </curveB>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/OldPicture/111.xml",
    "content": "<Effect name=\"Grayscale\" type=\"BorW\" id=\"111\">\r\n    <BaseFilter name=\"Level\">\r\n        <src>SRC</src>\r\n        <dst>DST</dst>\r\n        <params>\r\n            <type>GetScale</type>\r\n            <dark>0.01</dark>\r\n            <light>0.01</light>\r\n            <saturation>0.0</saturation>\r\n        </params>\r\n    </BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/OldPicture/112.xml",
    "content": "<Effect name=\"BW\" type=\"B/W\" id=\"112\">\r\n    <Allocation name=\"level\"/>\r\n    \r\n    <BaseFilter name=\"Level\">\r\n        <src>SRC</src>\r\n        <dst>level</dst>\r\n        <params>\r\n            <type>GetScale</type>\r\n            <dark>0.01</dark>\r\n            <light>0.2</light>\r\n            <saturation>0.0</saturation>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n     <BaseFilter name=\"Vignette\">\r\n        <src>level</src>\r\n        <dst>DST</dst>\r\n        <params>\r\n            <mode>quadric</mode>\r\n            <vignetteStart>0.0</vignetteStart>\r\n            <vignetteRange>1.0</vignetteRange>\r\n        </params>\r\n    </BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/OldPicture/114.xml",
    "content": "<Effect name=\"Scratch\" type=\"Scratch\" id=\"114\">\r\n    <Allocation name=\"level\"/>\r\n    <Allocation name=\"texture\">\r\n        <file>e114_t.png</file>\r\n    </Allocation>\r\n    \r\n    <BaseFilter name=\"Level\">\r\n        <src>SRC</src>\r\n        <dst>level</dst>\r\n        <params>\r\n            <type>GetScale</type>\r\n            <dark>0.01</dark>\r\n            <light>0.2</light>\r\n            <saturation>1.0</saturation>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"LayerBlend\">\r\n        <src>level</src>\r\n        <dst>DST</dst>\r\n        <tex>texture</tex>\r\n        <params>\r\n            <mode>exclusion</mode>\r\n            <opacity>0.51</opacity>\r\n        </params>\r\n    </BaseFilter>\r\n</Effect>\r\n"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/OldPicture/28.xml",
    "content": "<Effect name=\"GlowGrayscale\" type=\"B/W\" id=\"28\">\r\n    <BaseFilter name=\"Level\">\r\n        <src>SRC</src>\r\n        <dst>TMP</dst>\r\n        <params>\r\n            <type>GetScale</type>\r\n            <dark>0.01</dark>\r\n            <light>0.15</light>\r\n            <saturation>0.0</saturation>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"Vignette\">\r\n        <src>TMP</src>\r\n        <dst>DST</dst>\r\n      \t<params>\r\n      \t    <mode>quadric</mode>\r\n      \t    <vignetteStart>0.0</vignetteStart>\r\n      \t    <vignetteRange>0.8</vignetteRange>\r\n      \t</params>\r\n    </BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/OldPicture/6.xml",
    "content": "<Effect name=\"Hippie\" type=\"Old Picture\" id=\"6\">\r\n    <Allocation name=\"tableTexture\"/>\r\n    \r\n    <BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <curveR>\r\n                <point>0, 0</point>\r\n                <point>69, 63</point>\r\n                <point>105, 138</point>\r\n                <point>151, 222</point>\r\n                <point>255, 255</point>\r\n            </curveR>\r\n            <curveG>\r\n                <point>0, 0</point>\r\n                <point>67, 51</point>\r\n                <point>135, 191</point>\r\n                <point>255, 255</point>\r\n            </curveG>\r\n            <curveB>\r\n                <point>0, 0</point>\r\n                <point>86, 76</point>\r\n                <point>150, 212</point>\r\n                <point>255, 255</point>\r\n            </curveB>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/OldPicture/Config.json",
    "content": "[\"6.xml\",\"10.xml\",\"114.xml\",\"111.xml\",\"112.xml\",\"28.xml\"]"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Retro/104.xml",
    "content": "<Effect name=\"Inkwell\" type=\"Retro\" id=\"104\">\r\n    <BaseFilter name=\"Level\">\r\n        <src>SRC</src>\r\n        <dst>TMP</dst>\r\n        <params>\r\n            <type>GetScale</type>\r\n            <dark>0.01</dark>\r\n            <light>0.01</light>\r\n            <saturation>0.0</saturation>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"Vignette\">\r\n        <src>TMP</src>\r\n        <dst>DST</dst>\r\n      \t<params>\r\n      \t    <mode>quadric</mode>\r\n      \t    <vignetteStart>0.0</vignetteStart>\r\n      \t    <vignetteRange>1.0</vignetteRange>\r\n      \t</params>\r\n    </BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Retro/118.xml",
    "content": "<Effect name=\"Sepia\" type=\"Retro\" id=\"118\">\r\n    <Allocation name=\"vignette\"/>\r\n    <Allocation name=\"level\"/>\r\n    \r\n    <BaseFilter name=\"Level\">\r\n        <src>SRC</src>\r\n        <dst>level</dst>\r\n        <params>\r\n            <type>GetScale</type>\r\n            <dark>0.01</dark>\r\n            <light>0.2</light>\r\n            <saturation>0.0</saturation>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"Vignette\">\r\n        <src>level</src>\r\n        <dst>TMP</dst>\r\n        <params>\r\n            <mode>linear</mode>\r\n            <vignetteStart>0.0</vignetteStart>\r\n            <vignetteRange>0.8</vignetteRange>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"MultiplyMatrixPlusBias\">\r\n        <src>TMP</src>\r\n        <dst>DST</dst>\r\n        <params>\r\n            <vectorR>0.393, 0.769, 0.189</vectorR>\r\n            <vectorG>0.349, 0.686, 0.168</vectorG>\r\n            <vectorB>0.272, 0.534, 0.131</vectorB>\r\n        </params>\r\n    </BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Retro/16.xml",
    "content": "<Effect name=\"Pale-Ocre\" type=\"Retro\" id=\"16\">\r\n    <Allocation name=\"level\"/>\r\n    <Allocation name=\"saturation\"/>\r\n    <Allocation name=\"hue\"/>\r\n    \r\n    <BaseFilter name=\"Level\">\r\n        <src>SRC</src>\r\n        <dst>level</dst>\r\n        <params>\r\n            <type>GetScale</type>\r\n            <dark>0.01</dark>\r\n            <light>0.01</light>\r\n            <saturation>1.0</saturation>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"HSVSaturation\">\r\n        <src>level</src>\r\n        <dst>saturation</dst>\r\n        <params>\r\n         \t<red>0.1</red>\r\n\t\t\t<yellow>-0.7</yellow>\r\n\t\t\t<green>-0.7</green>\r\n\t\t\t<cyan>-0.7</cyan>\r\n\t\t\t<blue>-0.7</blue>\r\n\t\t\t<magenta>0.1</magenta>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"HSLAdjustment\">\r\n       \t<src>level</src>\r\n        <dst>hue</dst>\r\n        <params>\r\n            <mode>hue</mode>\r\n            <hue>0.829</hue>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"LayerBlend\">\r\n        <src>saturation</src>\r\n        <tex>hue</tex>\r\n        <dst>DST</dst>\r\n        <params>\r\n            <mode>normal</mode>\r\n            <opacity>0.31</opacity>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Retro/17.xml",
    "content": "<Effect name=\"Purple\" type=\"Retro\" id=\"17\">\r\n    <Allocation name=\"level\"/>\r\n    <Allocation name=\"saturation\"/>\r\n    \r\n    <BaseFilter name=\"Level\">\r\n        <src>SRC</src>\r\n        <dst>level</dst>\r\n        <params>\r\n            <type>GetScale</type>\r\n            <dark>0.01</dark>\r\n            <light>0.01</light>\r\n            <saturation>1.0</saturation>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"HSVSaturation\">\r\n        <src>level</src>\r\n        <dst>saturation</dst>\r\n        <params>\r\n         \t<red>-0.7</red>\r\n\t\t\t<yellow>-0.7</yellow>\r\n\t\t\t<green>-0.7</green>\r\n\t\t\t<cyan>0.5</cyan>\r\n\t\t\t<blue>0.5</blue>\r\n\t\t\t<magenta>-0.7</magenta>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"ConstColor\">\r\n        <src>SRC</src>\r\n        <dst>TMP</dst>\r\n        <params>\r\n            <red>0.24314</red>\r\n            <green>0.07059</green>\r\n            <blue>0.59215</blue>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"LayerBlend\">\r\n        <src>saturation</src>\r\n        <tex>TMP</tex>\r\n        <dst>DST</dst>\r\n        <params>\r\n            <mode>overlay</mode>\r\n            <opacity>0.25</opacity>\r\n        </params>\r\n    </BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Retro/8.xml",
    "content": "<Effect name=\"Warm\" type=\"Retro\" id=\"8\">\r\n    <Allocation name=\"tableTexture\"/>\r\n    \r\n    <BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(0, 0)(35, 71)(153, 197)(255, 255)</R>\r\n            <G>(0, 15)(16, 36)(109, 132)(255, 255)</G>\r\n            <B>(0, 23)(181, 194)(255, 230)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"TableTexture\">\r\n        <src>SRC</src>\r\n        <dst>DST</dst>\r\n        <tableTexture>tableTexture</tableTexture>\r\n    </BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Retro/9.xml",
    "content": "<Effect name=\"WarmGreen\" type=\"Retro\" id=\"9\">\r\n    <Allocation name=\"tableTexture\"/>\r\n    \r\n    <BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(15, 0)(92, 133)(255, 234)</R>\r\n            <G>(0, 20)(105, 128)(255, 255)</G>\r\n            <B>(0, 0)(120, 132)(255, 214)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Retro/Config.json",
    "content": "[\"118.xml\",\"16.xml\",\"8.xml\",\"9.xml\",\"104.xml\",\"17.xml\"]"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Vintage/108.xml",
    "content": "<Effect name=\"Blue\" type=\"Vintage\" id=\"108\">\r\n    <Allocation name=\"level\"/>\r\n    <Allocation name=\"tableTexture\"/>\r\n    \r\n    <BaseFilter name=\"Level\">\r\n        <src>SRC</src>\r\n        <dst>level</dst>\r\n        <params>\r\n            <type>GetScale</type>\r\n            <dark>0.01</dark>\r\n            <light>0.01</light>\r\n            <saturation>1.3</saturation>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n   <BaseFilter name=\"Vignette\">\r\n        <src>level</src>\r\n        <dst>TMP</dst>\r\n        <params>\r\n            <mode>quadric</mode>\r\n            <vignetteStart>0.0</vignetteStart>\r\n            <vignetteRange>0.8</vignetteRange>\r\n        </params>\r\n    </BaseFilter>\r\n   \r\n   <BaseFilter name=\"Curve\">\r\n       <tableTexture>tableTexture</tableTexture>\r\n       <params>\r\n           <mode>texturing</mode>\r\n           <R>(33, 10)(255, 255)</R>\r\n           <G>(0, 15)(86, 94)(171, 194)(255, 255)</G>\r\n           <B>(0, 20)(255, 235)</B>\r\n       </params>\r\n   </BaseFilter>\r\n   \r\n    <BaseFilter name=\"TableTexture\">\r\n        <src>TMP</src>\r\n        <dst>DST</dst>\r\n        <tableTexture>tableTexture</tableTexture>\r\n    </BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Vintage/109.xml",
    "content": "<Effect name=\"Virginia\" type=\"Vintage\" id=\"109\">\r\n    <Allocation name=\"level\"/>\r\n    <Allocation name=\"tableTexture\"/>\r\n    \r\n    <BaseFilter name=\"Level\">\r\n        <src>SRC</src>\r\n        <dst>level</dst>\r\n        <params>\r\n            <type>GetScale</type>\r\n            <dark>0.01</dark>\r\n            <light>0.01</light>\r\n            <saturation>1.3</saturation>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"Vignette\">\r\n        <src>level</src>\r\n        <dst>TMP</dst>\r\n        <params>\r\n            <mode>quadric</mode>\r\n            <vignetteStart>0.0</vignetteStart>\r\n            <vignetteRange>1.0</vignetteRange>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"Curve\">\r\n       <tableTexture>tableTexture</tableTexture>\r\n       <params>\r\n           <mode>texturing</mode>\r\n           <R>(0, 31)(106, 121)(255, 196)</R>\r\n           <G>(0, 11)(64, 95)(132, 140)(255, 229)</G>\r\n           <B>(0, 0)(157, 156)(255, 210)</B>\r\n       </params>\r\n   </BaseFilter>\r\n    \r\n    <BaseFilter name=\"TableTexture\">\r\n        <src>TMP</src>\r\n        <dst>DST</dst>\r\n        <tableTexture>tableTexture</tableTexture>\r\n    </BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Vintage/110.xml",
    "content": "<Effect name=\"DeepBlue\" type=\"Vintage\" id=\"110\">\r\n    <Allocation name=\"level\"/>\r\n    <Allocation name=\"tableTexture\"/>\r\n    \r\n    <BaseFilter name=\"Level\">\r\n        <src>SRC</src>\r\n        <dst>level</dst>\r\n        <params>\r\n            <type>GetScale</type>\r\n            <dark>0.01</dark>\r\n            <light>0.01</light>\r\n            <saturation>1.3</saturation>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n   <BaseFilter name=\"Vignette\">\r\n        <src>level</src>\r\n        <dst>TMP</dst>\r\n        <params>\r\n            <mode>quadric</mode>\r\n            <vignetteStart>0.0</vignetteStart>\r\n            <vignetteRange>0.8</vignetteRange>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n   <BaseFilter name=\"Curve\">\r\n       <tableTexture>tableTexture</tableTexture>\r\n       <params>\r\n           <mode>texturing</mode>\r\n           <R>(20, 0)(150, 109)(255, 255)</R>\r\n           <G>(30, 0)(97, 92)(163, 172)(255, 255)</G>\r\n           <B>(0, 0)(240, 255)</B>\r\n       </params>\r\n   </BaseFilter>\r\n    \r\n    <BaseFilter name=\"TableTexture\">\r\n        <src>TMP</src>\r\n        <dst>DST</dst>\r\n        <tableTexture>tableTexture</tableTexture>\r\n    </BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Vintage/6.xml",
    "content": "<Effect name=\"Sunset\" type=\"Vintage\" id=\"6\">\r\n    <Allocation name=\"tableTexture\"/>\r\n    \r\n    <BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(0, 0)(69, 63)(105, 138)(151, 222)(255, 255)</R>\r\n            <G>(0, 0)(67, 51)(135, 191)(255, 255)</G>\r\n            <B>(0, 0)(86, 76)(150, 212)(255, 255)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"TableTexture\">\r\n        <src>SRC</src>\r\n        <dst>DST</dst>\r\n        <tableTexture>tableTexture</tableTexture>\r\n    </BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Vintage/91.xml",
    "content": "<Effect name=\"Relief\" type=\"Vintage\" id=\"91\">\r\n    <Allocation name=\"technicolor\"/>\r\n    \r\n    <BaseFilter name=\"Technicolor\">\r\n        <src>SRC</src>\r\n        <dst>technicolor</dst>\r\n        <params>\r\n            <technicolorRed>0.992, 0.137, 0.314</technicolorRed>\r\n            <technicolorGreen>0.204, 0.98, 0.725</technicolorGreen>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"Vignette\">\r\n        <src>technicolor</src>\r\n        <dst>DST</dst>\r\n        <params>\r\n            <mode>linear</mode>\r\n            <vignetteStart>0.0</vignetteStart>\r\n            <vignetteRange>0.7</vignetteRange>\r\n        </params>\r\n    </BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Vintage/93.xml",
    "content": "<Effect name=\"GreenGlow\" type=\"Vintage\" id=\"93\">\r\n    <Allocation name=\"tableTexture\"/>\r\n    \r\n    <BaseFilter name=\"Vignette\">\r\n        <src>SRC</src>\r\n        <dst>TMP</dst>\r\n        <params>\r\n            <mode>quadric</mode>\r\n            <vignetteStart>0.0</vignetteStart>\r\n            <vignetteRange>0.9</vignetteRange>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n    <BaseFilter name=\"Curve\">\r\n       <tableTexture>tableTexture</tableTexture>\r\n       <params>\r\n           <mode>texturing</mode>\r\n           <R>(0, 0)(89, 44)(179, 189)(222, 255)</R>\r\n           <G>(0, 0)(64, 64)(185, 212)(255, 255)</G>\r\n           <B>(0, 23)(255, 217)</B>\r\n       </params>\r\n   </BaseFilter>\r\n    \r\n    <BaseFilter name=\"TableTexture\">\r\n        <src>TMP</src>\r\n        <dst>DST</dst>\r\n        <tableTexture>tableTexture</tableTexture>\r\n    </BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Vintage/Config.json",
    "content": "[\"108.xml\",\"109.xml\",\"110.xml\",\"91.xml\",\"93.xml\",\"6.xml\"]"
  },
  {
    "path": "FotorSDKDemo/assets/scenes/160.xml",
    "content": "<Effect name=\"Food\" type=\"Scenes\" id=\"160\">\r\n    <Allocation name=\"tableTexture\"/>\r\n\t\r\n    <BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(3, 0)(23, 29)(83, 116)(167, 206)(255, 255)</R>\r\n            <G>(5, 0)(56, 64)(160, 189)(255, 255)</G>\r\n            <B>(3, 0)(48, 49)(142, 167)(248, 255)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/scenes/161.xml",
    "content": "<Effect name=\"Sand/Snow\" type=\"Scenes\" id=\"161\">\r\n    <Allocation name=\"tableTexture\"/>\r\n\t\r\n    <BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(15, 0)(45, 37)(92, 103)(230, 255)</R>\r\n            <G>(19, 0)(34, 22)(138, 158)(228, 252)</G>\r\n            <B>(19, 0)(74, 63)(159, 166)(230, 255)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/scenes/162.xml",
    "content": "<Effect name=\"Night\" type=\"Scenes\" id=\"162\">\r\n    <Allocation name=\"tableTexture\"/>\r\n\t\r\n    <BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(0, 4)(39, 103)(134, 223)(242, 255)</R>\r\n            <G>(0, 3)(31, 85)(68, 155)(131, 255)(219, 255)</G>\r\n            <B>(0, 3)(42, 110)(114, 207)(255, 255)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/scenes/163.xml",
    "content": "<Effect name=\"Landscape\" type=\"Scenes\" id=\"163\">\r\n    <Allocation name=\"tableTexture\"/>\r\n\t\r\n    <BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(17, 0)(37, 18)(75, 52)(238, 255)</R>\r\n            <G>(16, 0)(53, 32)(113, 92)(236, 255)</G>\r\n            <B>(16, 0)(80, 57)(171, 164)(235, 255)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/scenes/164.xml",
    "content": "<Effect name=\"Sunset\" type=\"Scenes\" id=\"164\">\r\n    <Allocation name=\"tableTexture\" />\r\n\t\r\n    <BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(33, 0)(70, 32)(146, 143)(185, 204)(255, 255)</R>\r\n            <G>(22, 0)(103, 71)(189, 219)(255, 252)</G>\r\n            <B>(10, 0)(54, 29)(93, 66)(205, 220)(255, 255)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/scenes/165.xml",
    "content": "<Effect name=\"Fluorescent\" type=\"Scenes\" id=\"165\">\r\n    <Allocation name=\"tableTexture\"/>\r\n\t\r\n    <BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(4, 4)(38, 38)(146, 146)(201, 202)(255, 255)</R>\r\n            <G>(0, 0)(80, 74)(192, 187)(255, 255)</G>\r\n            <B>(0, 0)(58, 58)(183, 184)(255, 255)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/scenes/166.xml",
    "content": "<Effect name=\"Shade\" type=\"Scenes\" id=\"166\">\r\n    <Allocation name=\"tableTexture\"/>\r\n\t\r\n    <BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(5, 8)(36, 51)(115, 145)(201, 220)(255, 255)</R>\r\n            <G>(6, 9)(67, 83)(169, 190)(255, 255)</G>\r\n            <B>(3, 3)(55, 60)(177, 190)(255, 255)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/scenes/167.xml",
    "content": "<Effect name=\"Cloudy\" type=\"Scenes\" id=\"167\">\r\n    <Allocation name=\"tableTexture\"/>\r\n\t\r\n    <BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(14, 0)(51, 42)(135, 138)(191, 202)(234, 255)</R>\r\n            <G>(11, 6)(78, 77)(178, 185)(242, 250)</G>\r\n            <B>(11, 0)(22, 10)(72, 60)(171, 162)(217, 209)(255, 255)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/scenes/168.xml",
    "content": "<Effect name=\"Darken\" type=\"Scenes\" id=\"168\">\r\n    <Allocation name=\"tableTexture\"/>\r\n\t\r\n    <BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(9, 0)(26, 7)(155, 108)(194, 159)(255, 253)</R>\r\n            <G>(9, 0)(50, 19)(218, 194)(255, 255)</G>\r\n            <B>(0, 0)(29, 9)(162, 116)(218, 194)(255, 255)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/scenes/169.xml",
    "content": "<Effect name=\"Backlit\" type=\"Scenes\" id=\"169\">\r\n    <Allocation name=\"tableTexture\"/>\r\n\t\r\n    <BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(0, 0)(69, 93)(126, 160)(210, 232)(255, 255)</R>\r\n            <G>(0, 0)(36, 47)(135, 169)(250, 254)</G>\r\n            <B>(0, 0)(28, 30)(107, 137)(147, 206)(255, 255)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/scenes/170.xml",
    "content": "<Effect name=\"Flash\" type=\"Scenes\" id=\"170\">\r\n    <Allocation name=\"tableTexture\" />\r\n\t\r\n    <BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(2, 2)(16, 30)(72, 112)(135, 185)(252, 255)</R>\r\n            <G>(2, 1)(30, 42)(55, 84)(157, 207)(238, 249)</G>\r\n            <B>(1, 0)(26, 17)(67, 106)(114, 165)(231, 250)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/scenes/171.xml",
    "content": "<Effect name=\"Theatre\" type=\"Scenes\" id=\"171\">\r\n    <Allocation name=\"tableTexture1\"/>\r\n\t<Allocation name=\"tableTexture2\"/>\r\n\t\r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture1</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(16, 0)(60, 45)(124, 124)(214, 255)</R>\r\n            <G>(18, 2)(91, 81)(156, 169)(213, 255)</G>\r\n            <B>(16, 0)(85, 74)(158, 171)(211, 255)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture2</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(17, 0)(144, 150)(214, 255)</R>\r\n            <G>(16, 0)(61, 47)(160, 172)(215, 255)</G>\r\n            <B>(21, 2)(131, 135)(213, 255)</B>\r\n        </params>\r\n    </BaseFilter>\r\n\t\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>TMP</dst>\r\n\t\t<tableTexture>tableTexture1</tableTexture>\r\n\t</BaseFilter>\r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>TMP</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture2</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/scenes/173.xml",
    "content": "<Effect name=\"Portrait\" type=\"Scenes\" id=\"173\">\r\n    <Allocation name=\"tableTexture\"/>\r\n\t\r\n    <BaseFilter name=\"Curve\">\r\n        <tableTexture>tableTexture</tableTexture>\r\n        <params>\r\n            <mode>texturing</mode>\r\n            <R>(9, 0)(49, 62)(124, 155)(218, 255)</R>\r\n            <G>(10, 0)(30, 33)(137, 169)(223, 255)</G>\r\n            <B>(10, 0)(37, 45)(96, 122)(150, 182)(221, 255)</B>\r\n        </params>\r\n    </BaseFilter>\r\n    \r\n\t<BaseFilter name=\"TableTexture\">\r\n\t\t<src>SRC</src>\r\n\t\t<dst>DST</dst>\r\n\t\t<tableTexture>tableTexture</tableTexture>\r\n\t</BaseFilter>\r\n</Effect>"
  },
  {
    "path": "FotorSDKDemo/assets/stickers_config/Boom/Config.json",
    "content": "[[\"stickers_boom_1.png\",\n\"stickers_boom_1_icon.png\"],\n[\"stickers_boom_2.png\",\n\"stickers_boom_2_icon.png\"],\n[\"stickers_boom_3.png\",\n\"stickers_boom_3_icon.png\"],\n[\"stickers_boom_4.png\",\n\"stickers_boom_4_icon.png\"],\n[\"stickers_boom_5.png\",\n\"stickers_boom_5_icon.png\"],\n[\"stickers_boom_6.png\",\n\"stickers_boom_6_icon.png\"],\n[\"stickers_boom_7.png\",\n\"stickers_boom_7_icon.png\"],\n[\"stickers_boom_8.png\",\n\"stickers_boom_8_icon.png\"],\n[\"stickers_boom_9.png\",\n\"stickers_boom_9_icon.png\"],\n[\"stickers_boom_10.png\",\n\"stickers_boom_10_icon.png\"],\n[\"stickers_boom_11.png\",\n\"stickers_boom_11_icon.png\"],\n[\"stickers_boom_12.png\",\n\"stickers_boom_12_icon.png\"],\n[\"stickers_boom_13.png\",\n\"stickers_boom_13_icon.png\"],\n[\"stickers_boom_14.png\",\n\"stickers_boom_14_icon.png\"],\n[\"stickers_boom_15.png\",\n\"stickers_boom_15_icon.png\"],\n[\"stickers_boom_16.png\",\n\"stickers_boom_16_icon.png\"]]"
  },
  {
    "path": "FotorSDKDemo/assets/stickers_config/Decoration/Config.json",
    "content": "[[\"stickers_decoration_1.png\",\n\"stickers_decoration_1_icon.png\"],\n[\"stickers_decoration_2.png\",\n\"stickers_decoration_2_icon.png\"],\n[\"stickers_decoration_3.png\",\n\"stickers_decoration_3_icon.png\"],\n[\"stickers_decoration_4.png\",\n\"stickers_decoration_4_icon.png\"],\n[\"stickers_decoration_5.png\",\n\"stickers_decoration_5_icon.png\"],\n[\"stickers_decoration_6.png\",\n\"stickers_decoration_6_icon.png\"],\n[\"stickers_decoration_7.png\",\n\"stickers_decoration_7_icon.png\"],\n[\"stickers_decoration_8.png\",\n\"stickers_decoration_8_icon.png\"],\n[\"stickers_decoration_9.png\",\n\"stickers_decoration_9_icon.png\"],\n[\"stickers_decoration_10.png\",\n\"stickers_decoration_10_icon.png\"],\n[\"stickers_decoration_11.png\",\n\"stickers_decoration_11_icon.png\"],\n[\"stickers_decoration_12.png\",\n\"stickers_decoration_12_icon.png\"],\n[\"stickers_decoration_13.png\",\n\"stickers_decoration_13_icon.png\"],\n[\"stickers_decoration_14.png\",\n\"stickers_decoration_14_icon.png\"],\n[\"stickers_decoration_15.png\",\n\"stickers_decoration_15_icon.png\"],\n[\"stickers_decoration_16.png\",\n\"stickers_decoration_16_icon.png\"]]"
  },
  {
    "path": "FotorSDKDemo/assets/stickers_config/Love/Config.json",
    "content": "[[\"stickers_love_1.png\",\n\"stickers_love_1_icon.png\"],\n[\"stickers_love_2.png\",\n\"stickers_love_2_icon.png\"],\n[\"stickers_love_3.png\",\n\"stickers_love_3_icon.png\"],\n[\"stickers_love_4.png\",\n\"stickers_love_4_icon.png\"],\n[\"stickers_love_5.png\",\n\"stickers_love_5_icon.png\"],\n[\"stickers_love_6.png\",\n\"stickers_love_6_icon.png\"],\n[\"stickers_love_7.png\",\n\"stickers_love_7_icon.png\"],\n[\"stickers_love_8.png\",\n\"stickers_love_8_icon.png\"],\n[\"stickers_love_9.png\",\n\"stickers_love_9_icon.png\"],\n[\"stickers_love_10.png\",\n\"stickers_love_10_icon.png\"],\n[\"stickers_love_11.png\",\n\"stickers_love_11_icon.png\"],\n[\"stickers_love_12.png\",\n\"stickers_love_12_icon.png\"],\n[\"stickers_love_13.png\",\n\"stickers_love_13_icon.png\"],\n[\"stickers_love_14.png\",\n\"stickers_love_14_icon.png\"],\n[\"stickers_love_15.png\",\n\"stickers_love_15_icon.png\"],\n[\"stickers_love_16.png\",\n\"stickers_love_16_icon.png\"]]"
  },
  {
    "path": "FotorSDKDemo/assets/stickers_config/Party/Config.json",
    "content": "[[\"stickers_party_1.png\",\n\"stickers_party_1_icon.png\"],\n[\"stickers_party_2.png\",\n\"stickers_party_2_icon.png\"],\n[\"stickers_party_3.png\",\n\"stickers_party_3_icon.png\"],\n[\"stickers_party_4.png\",\n\"stickers_party_4_icon.png\"],\n[\"stickers_party_5.png\",\n\"stickers_party_5_icon.png\"],\n[\"stickers_party_6.png\",\n\"stickers_party_6_icon.png\"],\n[\"stickers_party_7.png\",\n\"stickers_party_7_icon.png\"],\n[\"stickers_party_8.png\",\n\"stickers_party_8_icon.png\"],\n[\"stickers_party_9.png\",\n\"stickers_party_9_icon.png\"],\n[\"stickers_party_10.png\",\n\"stickers_party_10_icon.png\"],\n[\"stickers_party_11.png\",\n\"stickers_party_11_icon.png\"],\n[\"stickers_party_12.png\",\n\"stickers_party_12_icon.png\"],\n[\"stickers_party_13.png\",\n\"stickers_party_13_icon.png\"],\n[\"stickers_party_14.png\",\n\"stickers_party_14_icon.png\"],\n[\"stickers_party_15.png\",\n\"stickers_party_15_icon.png\"],\n[\"stickers_party_16.png\",\n\"stickers_party_16_icon.png\"]]"
  },
  {
    "path": "FotorSDKDemo/assets/stickers_config/Text/Config.json",
    "content": "[[\"stickers_text_1.png\",\n\"stickers_text_1_icon.png\"],\n[\"stickers_text_2.png\",\n\"stickers_text_2_icon.png\"],\n[\"stickers_text_3.png\",\n\"stickers_text_3_icon.png\"],\n[\"stickers_text_4.png\",\n\"stickers_text_4_icon.png\"],\n[\"stickers_text_5.png\",\n\"stickers_text_5_icon.png\"],\n[\"stickers_text_6.png\",\n\"stickers_text_6_icon.png\"],\n[\"stickers_text_7.png\",\n\"stickers_text_7_icon.png\"]]"
  },
  {
    "path": "FotorSDKDemo/bin/AndroidManifest.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    package=\"com.example.fotorsdkdemo\"\n    android:versionCode=\"1\"\n    android:versionName=\"1.0.4\" >\n\n    <!-- FotorSDK Required : Minimum sdk version -->\n    <uses-sdk\n        android:minSdkVersion=\"10\"\n        android:targetSdkVersion=\"19\" />\n    <!-- FotorSDK Required : Permissions -->\n    <uses-permission android:name=\"android.permission.INTERNET\" />\n    <uses-permission android:name=\"android.permission.CAMERA\" />\n    <uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\" />\n    <uses-permission android:name=\"android.permission.FLASHLIGHT\" />\n\n    <application\n        android:allowBackup=\"true\"\n        android:icon=\"@drawable/icon\"\n        android:label=\"@string/app_name\"\n        android:theme=\"@style/AppTheme\" >\n        <activity\n            android:name=\"com.example.fotorsdkdemo.MainActivity\"\n            android:configChanges=\"orientation|keyboardHidden|screenSize\"\n            android:label=\"@string/app_name\" >\n            <intent-filter>\n                <action android:name=\"android.intent.action.MAIN\" />\n\n                <category android:name=\"android.intent.category.LAUNCHER\" />\n            </intent-filter>\n        </activity>\n\n        <!-- FotorSDK Required : proccess main activity -->\n        <activity\n            android:name=\"com.everimaging.fotorsdk.FotorSDKActivity\"\n            android:configChanges=\"orientation|keyboardHidden|screenSize\"\n            android:hardwareAccelerated=\"true\"\n            android:largeHeap=\"true\"\n            android:screenOrientation=\"unspecified\"\n            android:theme=\"@style/FotorTheme\" />\n        <!-- FotorSDK Required : camera main activity -->\n        <activity android:name=\"com.everimaging.fotorsdk.camera.CameraActivity\" >\n        </activity>\n        <!-- FotorSDK Required : content provider for process high resolution  #NOTE# authorities value you must change to like this:\n        \t android:authorities=\"{your.packagename}.FotorContentProvider -->\n        <provider\n            android:name=\"com.everimaging.fotorsdk.provider.FotorContentProvider\"\n            android:authorities=\"com.example.fotorsdkdemo.FotorContentProvider\"\n            android:exported=\"false\" />\n\n        <!-- FotorSDK Required : receiver to listener newly feature package change -->\n        <receiver\n            android:name=\"com.everimaging.fotorsdk.receivers.FotorSystemReceiver\"\n            android:exported=\"true\"\n            android:process=\":fotor_receiver\" >\n            <intent-filter>\n                <action android:name=\"android.intent.action.PACKAGE_ADDED\" />\n                <action android:name=\"android.intent.action.PACKAGE_REMOVED\" />\n                <action android:name=\"android.intent.action.PACKAGE_REPLACED\" />\n\n                <data android:scheme=\"package\" />\n            </intent-filter>\n        </receiver>\n        <!-- FotorSDK Required : You Fotor API_KEY -->\n        <meta-data\n            android:name=\"FOTOR_API_KEY\"\n            android:value=\"fotor_api_key\" />\n    </application>\n\n</manifest>"
  },
  {
    "path": "FotorSDKDemo/bin/R.txt",
    "content": "int anim fotor_camera_focus_anim 0x7f040000\nint anim fotor_fit_view_fadein_animation 0x7f040001\nint anim fotor_fit_view_fadeout_animation 0x7f040002\nint anim fotor_footer_bar_in_animation 0x7f040003\nint anim fotor_footer_bar_out_animation 0x7f040004\nint attr dividerWidth 0x7f010030\nint attr entries 0x7f01002f\nint attr footerDividersEnabled 0x7f010032\nint attr fotorCustomSlider_adjustYDistance 0x7f010015\nint attr fotorCustomSlider_isShowValue 0x7f010016\nint attr fotorCustomSlider_max 0x7f01001b\nint attr fotorCustomSlider_progress 0x7f01001c\nint attr fotorCustomSlider_progressDrawable 0x7f01001a\nint attr fotorCustomSlider_thumb 0x7f010018\nint attr fotorCustomSlider_typeface 0x7f010019\nint attr fotorCustomSlider_valueBackground 0x7f010017\nint attr fotorDefaultEffectSelectorViewStyle 0x7f010011\nint attr fotorDefaultHeaderButtonStyle 0x7f010010\nint attr fotorDefaultImageViewBackground 0x7f01000e\nint attr fotorDefaultNavigateBtnStyle 0x7f01000d\nint attr fotorDefaultOperToolPanelStyle 0x7f01000f\nint attr fotorDefaultSliderStyle 0x7f01000c\nint attr fotorDefaultTextButtonStyle 0x7f01000b\nint attr fotorDefaultTextViewStyle 0x7f01000a\nint attr fotorDefaultTitleBackButtonStyle 0x7f010012\nint attr fotorEffectSelectorView_Color 0x7f010026\nint attr fotorFontBold 0x7f010000\nint attr fotorFontLight 0x7f010001\nint attr fotorHeaderButton_typeface 0x7f010025\nint attr fotorMainBottomHeight 0x7f010002\nint attr fotorMainFooterBackground 0x7f010006\nint attr fotorMainHeaderBackground 0x7f010007\nint attr fotorMainHeaderHeight 0x7f010004\nint attr fotorMainToolPanelBackground 0x7f010008\nint attr fotorMainToolPanelHeight 0x7f010003\nint attr fotorNavigationBtnWidth 0x7f010005\nint attr fotorNavigationBtn_color_default 0x7f010020\nint attr fotorNavigationBtn_color_disabled 0x7f010022\nint attr fotorNavigationBtn_color_pressed 0x7f010021\nint attr fotorNavigationBtn_isShowPressedBackground 0x7f01001d\nint attr fotorNavigationBtn_pressed_background 0x7f010023\nint attr fotorNavigationBtn_text 0x7f01001e\nint attr fotorNavigationBtn_typeface 0x7f01001f\nint attr fotorOperToolPanel_bottomLine_Color 0x7f010024\nint attr fotorTextButton_typeface 0x7f010014\nint attr fotorTextView_typeface 0x7f010013\nint attr fotorTitleBackButton_IconDrawable 0x7f01002a\nint attr fotorTitleBackButton_Text 0x7f010028\nint attr fotorTitleBackButton_TextColor 0x7f010029\nint attr fotorTitleBackButton_Textsize 0x7f010027\nint attr fotorTitleBackButton_Typeface 0x7f01002b\nint attr fotorTitleTextSize 0x7f010009\nint attr headerDividersEnabled 0x7f010031\nint attr measureWithChild 0x7f010035\nint attr overScrollFooter 0x7f010034\nint attr overScrollHeader 0x7f010033\nint attr sephiroth_absHListViewStyle 0x7f01002d\nint attr sephiroth_listPreferredItemWidth 0x7f01002e\nint attr sephiroth_listViewStyle 0x7f01002c\nint attr stackFromRight 0x7f010036\nint attr transcriptMode 0x7f010037\nint color bottom_button_background_default_color 0x7f06003c\nint color bottom_button_background_disable_color 0x7f06003e\nint color bottom_button_background_pressed_color 0x7f06003d\nint color bottom_button_text_default_color 0x7f060039\nint color bottom_button_text_disable_color 0x7f06003b\nint color bottom_button_text_pressed_color 0x7f06003a\nint color fotor_feature_adjust_curve_background 0x7f06000d\nint color fotor_feature_loading_textColor 0x7f06000e\nint color fotor_feature_stickers_button_pressed 0x7f060013\nint color fotor_feature_text_color_button1 0x7f06001b\nint color fotor_feature_text_color_button10 0x7f060024\nint color fotor_feature_text_color_button11 0x7f060025\nint color fotor_feature_text_color_button12 0x7f060026\nint color fotor_feature_text_color_button13 0x7f060027\nint color fotor_feature_text_color_button14 0x7f060028\nint color fotor_feature_text_color_button15 0x7f060029\nint color fotor_feature_text_color_button16 0x7f06002a\nint color fotor_feature_text_color_button17 0x7f06002b\nint color fotor_feature_text_color_button18 0x7f06002c\nint color fotor_feature_text_color_button19 0x7f06002d\nint color fotor_feature_text_color_button2 0x7f06001c\nint color fotor_feature_text_color_button20 0x7f06002e\nint color fotor_feature_text_color_button21 0x7f06002f\nint color fotor_feature_text_color_button22 0x7f060030\nint color fotor_feature_text_color_button23 0x7f060031\nint color fotor_feature_text_color_button24 0x7f060032\nint color fotor_feature_text_color_button25 0x7f060033\nint color fotor_feature_text_color_button26 0x7f060034\nint color fotor_feature_text_color_button27 0x7f060035\nint color fotor_feature_text_color_button28 0x7f060036\nint color fotor_feature_text_color_button3 0x7f06001d\nint color fotor_feature_text_color_button4 0x7f06001e\nint color fotor_feature_text_color_button5 0x7f06001f\nint color fotor_feature_text_color_button6 0x7f060020\nint color fotor_feature_text_color_button7 0x7f060021\nint color fotor_feature_text_color_button8 0x7f060022\nint color fotor_feature_text_color_button9 0x7f060023\nint color fotor_feature_text_option_title_color 0x7f060019\nint color fotor_feature_text_panel_background 0x7f060014\nint color fotor_feature_text_panel_line_color 0x7f060015\nint color fotor_feature_text_shadow_color 0x7f06001a\nint color fotor_feature_text_texture_border_selected 0x7f060018\nint color fotor_feature_text_typeface_default 0x7f060017\nint color fotor_feature_text_typeface_pressed 0x7f060016\nint color fotor_fx_effect_effects_listview_item_background_default 0x7f06000f\nint color fotor_fx_effect_effects_listview_item_background_pressed 0x7f060010\nint color fotor_fx_effect_effects_listview_item_textColor 0x7f060011\nint color fotor_fx_effect_effects_listview_item_text_bakground 0x7f060012\nint color fotor_half_transparent 0x7f060001\nint color fotor_header_button_text_state 0x7f06003f\nint color fotor_main_footer_background 0x7f060002\nint color fotor_main_header_background 0x7f060008\nint color fotor_main_header_button_text_default 0x7f06000b\nint color fotor_main_header_button_text_pressed 0x7f06000c\nint color fotor_main_imageview_background 0x7f060007\nint color fotor_main_loading_background 0x7f060037\nint color fotor_main_toolpanel_background 0x7f060009\nint color fotor_main_toolpanel_bottom_line 0x7f06000a\nint color fotor_navigation_btn_color_default 0x7f060005\nint color fotor_navigation_btn_color_disabled 0x7f060006\nint color fotor_navigation_btn_color_pressed 0x7f060004\nint color fotor_navigation_btn_pressed_background 0x7f060003\nint color fotor_text_button_text_state 0x7f060040\nint color fotor_title_back_button_text_state 0x7f060041\nint color fotor_transparent 0x7f060000\nint color photo_editor_button_background_color 0x7f060042\nint color photo_editor_button_text_color 0x7f060043\nint color title_background 0x7f060038\nint dimen activity_horizontal_margin 0x7f080032\nint dimen activity_vertical_margin 0x7f080033\nint dimen bottom_background_height 0x7f080036\nint dimen bottom_button_text_size 0x7f080037\nint dimen fotor_border_effect_listview_divider_width 0x7f080031\nint dimen fotor_crop_reset_margin_h 0x7f08000f\nint dimen fotor_curve_btn_textsize 0x7f08000d\nint dimen fotor_curve_control_panel_btn_spacing 0x7f08000c\nint dimen fotor_curve_view_max_size 0x7f080030\nint dimen fotor_feature_loading_textSize 0x7f08002b\nint dimen fotor_feature_stickers_button_spacing 0x7f08002a\nint dimen fotor_feature_stickers_button_width 0x7f080029\nint dimen fotor_fx_effect_buttons_margin_right 0x7f080010\nint dimen fotor_fx_effect_effects_listview_item_image_width 0x7f080011\nint dimen fotor_fx_effect_effects_listview_item_margin 0x7f080013\nint dimen fotor_fx_effect_effects_listview_item_textHeight 0x7f080012\nint dimen fotor_fx_effect_effects_listview_item_textSize 0x7f080014\nint dimen fotor_main_bottom_height 0x7f080000\nint dimen fotor_main_header_btn_textsize 0x7f080005\nint dimen fotor_main_header_height 0x7f080007\nint dimen fotor_main_header_margin 0x7f080008\nint dimen fotor_main_header_title_textsize 0x7f080006\nint dimen fotor_main_imageview_margin 0x7f08002d\nint dimen fotor_main_loadding_background_radius 0x7f08002e\nint dimen fotor_main_loadding_margin 0x7f08002f\nint dimen fotor_main_loading_textSize 0x7f08002c\nint dimen fotor_main_minimum_bottom_height 0x7f080004\nint dimen fotor_main_navigation_btn_textsize 0x7f080002\nint dimen fotor_main_navigation_btn_width 0x7f080001\nint dimen fotor_main_tool_panel_height 0x7f080003\nint dimen fotor_main_tool_panel_line_size 0x7f080009\nint dimen fotor_slider_panel_margin_h 0x7f08000b\nint dimen fotor_slider_value_margin 0x7f08000a\nint dimen fotor_text_color_button_size 0x7f080021\nint dimen fotor_text_color_button_stroke 0x7f080020\nint dimen fotor_text_item_padding 0x7f080019\nint dimen fotor_text_keyboard_canvas_spacing 0x7f08001c\nint dimen fotor_text_option_btn_spacing 0x7f080025\nint dimen fotor_text_option_opacity_padding_h 0x7f080028\nint dimen fotor_text_option_panel_margin 0x7f080023\nint dimen fotor_text_option_panel_spacing 0x7f080024\nint dimen fotor_text_option_right_panel_margin_top 0x7f080027\nint dimen fotor_text_option_title_textsize 0x7f080026\nint dimen fotor_text_shadow_offset_x 0x7f08001a\nint dimen fotor_text_shadow_offset_y 0x7f08001b\nint dimen fotor_text_textsize_default 0x7f080015\nint dimen fotor_text_textsize_maximum 0x7f080016\nint dimen fotor_text_textsize_minimum 0x7f080017\nint dimen fotor_text_textsize_step 0x7f080018\nint dimen fotor_text_texture_button_size 0x7f080022\nint dimen fotor_text_typeface_category_item_width 0x7f08001d\nint dimen fotor_text_typeface_item_height 0x7f08001e\nint dimen fotor_text_typeface_item_textsize 0x7f08001f\nint dimen fotor_tilt_shift_tool_panel_margin_left 0x7f08000e\nint dimen title_background_height 0x7f080034\nint dimen title_text_size 0x7f080035\nint drawable fotor_adjust_brightness 0x7f020000\nint drawable fotor_adjust_contrast 0x7f020001\nint drawable fotor_adjust_curve 0x7f020002\nint drawable fotor_adjust_highlight 0x7f020003\nint drawable fotor_adjust_rgb 0x7f020004\nint drawable fotor_adjust_saturation 0x7f020005\nint drawable fotor_adjust_shadow 0x7f020006\nint drawable fotor_adjust_sharpen 0x7f020007\nint drawable fotor_adjust_temp 0x7f020008\nint drawable fotor_adjust_tint 0x7f020009\nint drawable fotor_adjust_vignette 0x7f02000a\nint drawable fotor_advanced_curve_default 0x7f02000b\nint drawable fotor_advanced_curve_pressed 0x7f02000c\nint drawable fotor_advanced_highlights_default 0x7f02000d\nint drawable fotor_advanced_highlights_pressed 0x7f02000e\nint drawable fotor_advanced_rgb_default 0x7f02000f\nint drawable fotor_advanced_rgb_pressed 0x7f020010\nint drawable fotor_advanced_shadows_default 0x7f020011\nint drawable fotor_advanced_shadows_pressed 0x7f020012\nint drawable fotor_advanced_temp_default 0x7f020013\nint drawable fotor_advanced_temp_pressed 0x7f020014\nint drawable fotor_advanced_tint_default 0x7f020015\nint drawable fotor_advanced_tint_pressed 0x7f020016\nint drawable fotor_advanced_vignette_default 0x7f020017\nint drawable fotor_advanced_vignette_pressed 0x7f020018\nint drawable fotor_back 0x7f020019\nint drawable fotor_back_default 0x7f02001a\nint drawable fotor_back_pressed 0x7f02001b\nint drawable fotor_basis_brightness_default 0x7f02001c\nint drawable fotor_basis_brightness_pressed 0x7f02001d\nint drawable fotor_basis_contrast_default 0x7f02001e\nint drawable fotor_basis_contrast_pressed 0x7f02001f\nint drawable fotor_basis_saturation_default 0x7f020020\nint drawable fotor_basis_saturation_pressed 0x7f020021\nint drawable fotor_basis_sharpen_default 0x7f020022\nint drawable fotor_basis_sharpen_pressed 0x7f020023\nint drawable fotor_borders_gallery_default 0x7f020024\nint drawable fotor_borders_gallery_pressed 0x7f020025\nint drawable fotor_borders_more 0x7f020026\nint drawable fotor_borders_more_default 0x7f020027\nint drawable fotor_borders_more_pressed 0x7f020028\nint drawable fotor_borders_simple_default 0x7f020029\nint drawable fotor_borders_simple_pressed 0x7f02002a\nint drawable fotor_borders_stamp_default 0x7f02002b\nint drawable fotor_borders_stamp_pressed 0x7f02002c\nint drawable fotor_borders_styled_default 0x7f02002d\nint drawable fotor_borders_styled_pressed 0x7f02002e\nint drawable fotor_camera_focus_indicator 0x7f02002f\nint drawable fotor_crop_btn_lineh_default 0x7f020030\nint drawable fotor_crop_btn_lineh_pressed 0x7f020031\nint drawable fotor_crop_btn_linev_default 0x7f020032\nint drawable fotor_crop_btn_linev_pressed 0x7f020033\nint drawable fotor_crop_btn_point_default 0x7f020034\nint drawable fotor_crop_btn_point_pressed 0x7f020035\nint drawable fotor_crop_free_default 0x7f020036\nint drawable fotor_crop_free_pressed 0x7f020037\nint drawable fotor_crop_line_h_button 0x7f020038\nint drawable fotor_crop_line_v_button 0x7f020039\nint drawable fotor_crop_point_button 0x7f02003a\nint drawable fotor_crop_ratio_free_button 0x7f02003b\nint drawable fotor_crop_restor_default 0x7f02003c\nint drawable fotor_crop_restor_pressed 0x7f02003d\nint drawable fotor_crop_restor_unavailable 0x7f02003e\nint drawable fotor_crop_restore_button 0x7f02003f\nint drawable fotor_curve_btn_round 0x7f020040\nint drawable fotor_curve_btn_round_drag 0x7f020041\nint drawable fotor_curve_hide_default 0x7f020042\nint drawable fotor_curve_hide_pressed 0x7f020043\nint drawable fotor_curve_point_button 0x7f020044\nint drawable fotor_curve_restore_button 0x7f020045\nint drawable fotor_curve_restore_default 0x7f020046\nint drawable fotor_curve_restore_pressed 0x7f020047\nint drawable fotor_curve_restore_unavailable 0x7f020048\nint drawable fotor_curve_show_default 0x7f020049\nint drawable fotor_curve_show_pressed 0x7f02004a\nint drawable fotor_curve_toggle_button 0x7f02004b\nint drawable fotor_edit_advanced_default 0x7f02004c\nint drawable fotor_edit_advanced_pressed 0x7f02004d\nint drawable fotor_edit_basis_default 0x7f02004e\nint drawable fotor_edit_basis_pressed 0x7f02004f\nint drawable fotor_edit_borders_default 0x7f020050\nint drawable fotor_edit_borders_pressed 0x7f020051\nint drawable fotor_edit_crop_default 0x7f020052\nint drawable fotor_edit_crop_pressed 0x7f020053\nint drawable fotor_edit_draw_default 0x7f020054\nint drawable fotor_edit_draw_pressed 0x7f020055\nint drawable fotor_edit_effects_default 0x7f020056\nint drawable fotor_edit_effects_pressed 0x7f020057\nint drawable fotor_edit_enhance_default 0x7f020058\nint drawable fotor_edit_enhance_pressed 0x7f020059\nint drawable fotor_edit_hdr_default 0x7f02005a\nint drawable fotor_edit_hdr_pressed 0x7f02005b\nint drawable fotor_edit_one_menu_logo 0x7f02005c\nint drawable fotor_edit_redeye_default 0x7f02005d\nint drawable fotor_edit_redeye_pressed 0x7f02005e\nint drawable fotor_edit_rotate_default 0x7f02005f\nint drawable fotor_edit_rotate_pressed 0x7f020060\nint drawable fotor_edit_scenes_default 0x7f020061\nint drawable fotor_edit_scenes_pressed 0x7f020062\nint drawable fotor_edit_stichers_default 0x7f020063\nint drawable fotor_edit_stichers_pressed 0x7f020064\nint drawable fotor_edit_text_default 0x7f020065\nint drawable fotor_edit_text_pressed 0x7f020066\nint drawable fotor_edit_tilt_shift_default 0x7f020067\nint drawable fotor_edit_tilt_shift_pressed 0x7f020068\nint drawable fotor_effect_border_pack_gallery 0x7f020069\nint drawable fotor_effect_border_pack_simple 0x7f02006a\nint drawable fotor_effect_border_pack_stamp 0x7f02006b\nint drawable fotor_effect_border_pack_styled 0x7f02006c\nint drawable fotor_effect_favorites 0x7f02006d\nint drawable fotor_effect_favorites_default 0x7f02006e\nint drawable fotor_effect_favorites_pressed 0x7f02006f\nint drawable fotor_effect_fx_pack_analog 0x7f020070\nint drawable fotor_effect_fx_pack_art 0x7f020071\nint drawable fotor_effect_fx_pack_lomo 0x7f020072\nint drawable fotor_effect_fx_pack_oldpicture 0x7f020073\nint drawable fotor_effect_fx_pack_retro 0x7f020074\nint drawable fotor_effect_fx_pack_vintage 0x7f020075\nint drawable fotor_effects_add 0x7f020076\nint drawable fotor_effects_add1_default 0x7f020077\nint drawable fotor_effects_add2_default 0x7f020078\nint drawable fotor_effects_add3_default 0x7f020079\nint drawable fotor_effects_add3_pressed 0x7f02007a\nint drawable fotor_effects_add_default 0x7f02007b\nint drawable fotor_effects_add_pressed 0x7f02007c\nint drawable fotor_effects_add_unavailable 0x7f02007d\nint drawable fotor_effects_analog_default 0x7f02007e\nint drawable fotor_effects_analog_pressed 0x7f02007f\nint drawable fotor_effects_art_default 0x7f020080\nint drawable fotor_effects_art_pressed 0x7f020081\nint drawable fotor_effects_delete_default 0x7f020082\nint drawable fotor_effects_delete_pressed 0x7f020083\nint drawable fotor_effects_favorites 0x7f020084\nint drawable fotor_effects_favorites1_default 0x7f020085\nint drawable fotor_effects_favorites2_default 0x7f020086\nint drawable fotor_effects_favorites_default 0x7f020087\nint drawable fotor_effects_favorites_pressed 0x7f020088\nint drawable fotor_effects_lomo_default 0x7f020089\nint drawable fotor_effects_lomo_pressed 0x7f02008a\nint drawable fotor_effects_minus 0x7f02008b\nint drawable fotor_effects_minus_default 0x7f02008c\nint drawable fotor_effects_minus_pressed 0x7f02008d\nint drawable fotor_effects_minus_unavailable 0x7f02008e\nint drawable fotor_effects_neon_default 0x7f02008f\nint drawable fotor_effects_neon_pressed 0x7f020090\nint drawable fotor_effects_old_picture_default 0x7f020091\nint drawable fotor_effects_old_picture_pressed 0x7f020092\nint drawable fotor_effects_retro_default 0x7f020093\nint drawable fotor_effects_retro_pressed 0x7f020094\nint drawable fotor_effects_vintage_default 0x7f020095\nint drawable fotor_effects_vintage_pressed 0x7f020096\nint drawable fotor_enhance_high 0x7f020097\nint drawable fotor_enhance_high_default 0x7f020098\nint drawable fotor_enhance_high_pressed 0x7f020099\nint drawable fotor_enhance_low 0x7f02009a\nint drawable fotor_enhance_low_default 0x7f02009b\nint drawable fotor_enhance_low_pressed 0x7f02009c\nint drawable fotor_enhance_medium 0x7f02009d\nint drawable fotor_enhance_medium_default 0x7f02009e\nint drawable fotor_enhance_medium_pressed 0x7f02009f\nint drawable fotor_feature_adjust 0x7f0200a0\nint drawable fotor_feature_adjust_advance 0x7f0200a1\nint drawable fotor_feature_border 0x7f0200a2\nint drawable fotor_feature_crop 0x7f0200a3\nint drawable fotor_feature_enhance 0x7f0200a4\nint drawable fotor_feature_fx_effects 0x7f0200a5\nint drawable fotor_feature_rotate 0x7f0200a6\nint drawable fotor_feature_scenes 0x7f0200a7\nint drawable fotor_feature_stickers 0x7f0200a8\nint drawable fotor_feature_text 0x7f0200a9\nint drawable fotor_feature_tilt_shift 0x7f0200aa\nint drawable fotor_fonts_pack_art 0x7f0200ab\nint drawable fotor_fonts_pack_charm 0x7f0200ac\nint drawable fotor_fonts_pack_classic 0x7f0200ad\nint drawable fotor_fonts_pack_happy 0x7f0200ae\nint drawable fotor_fx_effect_effects_listview_item_background 0x7f0200af\nint drawable fotor_header_redo_button 0x7f0200b0\nint drawable fotor_header_undo_button 0x7f0200b1\nint drawable fotor_hlv_overscroll_edge 0x7f0200b2\nint drawable fotor_hlv_overscroll_glow 0x7f0200b3\nint drawable fotor_main_apply_button 0x7f0200b4\nint drawable fotor_main_apply_default 0x7f0200b5\nint drawable fotor_main_apply_pressed 0x7f0200b6\nint drawable fotor_main_loading_background 0x7f0200b7\nint drawable fotor_main_redo_default 0x7f0200b8\nint drawable fotor_main_redo_pressed 0x7f0200b9\nint drawable fotor_main_redo_unavailable 0x7f0200ba\nint drawable fotor_main_undo_default 0x7f0200bb\nint drawable fotor_main_undo_pressed 0x7f0200bc\nint drawable fotor_main_undo_unavailable 0x7f0200bd\nint drawable fotor_public_slider_layer_list 0x7f0200be\nint drawable fotor_public_slider_thumb 0x7f0200bf\nint drawable fotor_public_slider_thumb_selector 0x7f0200c0\nint drawable fotor_public_slider_value_background 0x7f0200c1\nint drawable fotor_rotate_fh_button 0x7f0200c2\nint drawable fotor_rotate_fh_default 0x7f0200c3\nint drawable fotor_rotate_fh_pressed 0x7f0200c4\nint drawable fotor_rotate_fv_button 0x7f0200c5\nint drawable fotor_rotate_fv_default 0x7f0200c6\nint drawable fotor_rotate_fv_pressed 0x7f0200c7\nint drawable fotor_rotate_left_button 0x7f0200c8\nint drawable fotor_rotate_left_default 0x7f0200c9\nint drawable fotor_rotate_left_pressed 0x7f0200ca\nint drawable fotor_rotate_right_button 0x7f0200cb\nint drawable fotor_rotate_right_default 0x7f0200cc\nint drawable fotor_rotate_right_pressed 0x7f0200cd\nint drawable fotor_scenes_backlit 0x7f0200ce\nint drawable fotor_scenes_backlit_default 0x7f0200cf\nint drawable fotor_scenes_backlit_pressed 0x7f0200d0\nint drawable fotor_scenes_cloudy 0x7f0200d1\nint drawable fotor_scenes_cloudy_default 0x7f0200d2\nint drawable fotor_scenes_cloudy_pressed 0x7f0200d3\nint drawable fotor_scenes_darken 0x7f0200d4\nint drawable fotor_scenes_darken_default 0x7f0200d5\nint drawable fotor_scenes_darken_pressed 0x7f0200d6\nint drawable fotor_scenes_flash 0x7f0200d7\nint drawable fotor_scenes_flash_default 0x7f0200d8\nint drawable fotor_scenes_flash_pressed 0x7f0200d9\nint drawable fotor_scenes_fluores_default 0x7f0200da\nint drawable fotor_scenes_fluores_pressed 0x7f0200db\nint drawable fotor_scenes_fluorescent 0x7f0200dc\nint drawable fotor_scenes_food 0x7f0200dd\nint drawable fotor_scenes_food_default 0x7f0200de\nint drawable fotor_scenes_food_pressed 0x7f0200df\nint drawable fotor_scenes_landscape 0x7f0200e0\nint drawable fotor_scenes_landscape_default 0x7f0200e1\nint drawable fotor_scenes_landscape_pressed 0x7f0200e2\nint drawable fotor_scenes_night 0x7f0200e3\nint drawable fotor_scenes_night_default 0x7f0200e4\nint drawable fotor_scenes_night_pressed 0x7f0200e5\nint drawable fotor_scenes_original 0x7f0200e6\nint drawable fotor_scenes_original_default 0x7f0200e7\nint drawable fotor_scenes_original_pressed 0x7f0200e8\nint drawable fotor_scenes_portrait 0x7f0200e9\nint drawable fotor_scenes_portrait_default 0x7f0200ea\nint drawable fotor_scenes_portrait_pressed 0x7f0200eb\nint drawable fotor_scenes_sand_snow 0x7f0200ec\nint drawable fotor_scenes_seasid_default 0x7f0200ed\nint drawable fotor_scenes_seasid_pressed 0x7f0200ee\nint drawable fotor_scenes_shade 0x7f0200ef\nint drawable fotor_scenes_shade_default 0x7f0200f0\nint drawable fotor_scenes_shade_pressed 0x7f0200f1\nint drawable fotor_scenes_sunset 0x7f0200f2\nint drawable fotor_scenes_sunset_default 0x7f0200f3\nint drawable fotor_scenes_sunset_pressed 0x7f0200f4\nint drawable fotor_scenes_theatre 0x7f0200f5\nint drawable fotor_scenes_theatre_default 0x7f0200f6\nint drawable fotor_scenes_theatre_pressed 0x7f0200f7\nint drawable fotor_slider_blue 0x7f0200f8\nint drawable fotor_slider_blue_layer_list 0x7f0200f9\nint drawable fotor_slider_green 0x7f0200fa\nint drawable fotor_slider_green_layer_list 0x7f0200fb\nint drawable fotor_slider_public_bg 0x7f0200fc\nint drawable fotor_slider_public_process 0x7f0200fd\nint drawable fotor_slider_red 0x7f0200fe\nint drawable fotor_slider_red_layer_list 0x7f0200ff\nint drawable fotor_sticker_delete_button 0x7f020100\nint drawable fotor_sticker_delete_default 0x7f020101\nint drawable fotor_sticker_delete_pressed 0x7f020102\nint drawable fotor_sticker_reset_button 0x7f020103\nint drawable fotor_sticker_reset_default 0x7f020104\nint drawable fotor_sticker_reset_pressed 0x7f020105\nint drawable fotor_sticker_zoom_button 0x7f020106\nint drawable fotor_sticker_zoom_default 0x7f020107\nint drawable fotor_sticker_zoom_pressed 0x7f020108\nint drawable fotor_stickers_boom_default 0x7f020109\nint drawable fotor_stickers_boom_pressed 0x7f02010a\nint drawable fotor_stickers_button_background_state 0x7f02010b\nint drawable fotor_stickers_decoration_default 0x7f02010c\nint drawable fotor_stickers_decoration_pressed 0x7f02010d\nint drawable fotor_stickers_love_default 0x7f02010e\nint drawable fotor_stickers_love_pressed 0x7f02010f\nint drawable fotor_stickers_pack_boom 0x7f020110\nint drawable fotor_stickers_pack_decoration 0x7f020111\nint drawable fotor_stickers_pack_love 0x7f020112\nint drawable fotor_stickers_pack_party 0x7f020113\nint drawable fotor_stickers_pack_text 0x7f020114\nint drawable fotor_stickers_party_default 0x7f020115\nint drawable fotor_stickers_party_pressed 0x7f020116\nint drawable fotor_stickers_text_default 0x7f020117\nint drawable fotor_stickers_text_pressed 0x7f020118\nint drawable fotor_text_add_button 0x7f020119\nint drawable fotor_text_add_default 0x7f02011a\nint drawable fotor_text_add_pressed 0x7f02011b\nint drawable fotor_text_add_unavailable 0x7f02011c\nint drawable fotor_text_align_center_button 0x7f02011d\nint drawable fotor_text_align_left_button 0x7f02011e\nint drawable fotor_text_align_right_button 0x7f02011f\nint drawable fotor_text_bg_default 0x7f020120\nint drawable fotor_text_bg_pressed 0x7f020121\nint drawable fotor_text_bold_default 0x7f020122\nint drawable fotor_text_bold_pressed 0x7f020123\nint drawable fotor_text_bold_unavailable 0x7f020124\nint drawable fotor_text_center_alignment_default 0x7f020125\nint drawable fotor_text_center_alignment_pressed 0x7f020126\nint drawable fotor_text_color_button 0x7f020127\nint drawable fotor_text_color_color_button 0x7f020128\nint drawable fotor_text_color_color_default 0x7f020129\nint drawable fotor_text_color_color_pressed 0x7f02012a\nint drawable fotor_text_color_default 0x7f02012b\nint drawable fotor_text_color_pressed 0x7f02012c\nint drawable fotor_text_color_texture_button 0x7f02012d\nint drawable fotor_text_color_texture_default 0x7f02012e\nint drawable fotor_text_color_texture_pressed 0x7f02012f\nint drawable fotor_text_delete_button 0x7f020130\nint drawable fotor_text_delete_default 0x7f020131\nint drawable fotor_text_delete_pressed 0x7f020132\nint drawable fotor_text_done_button 0x7f020133\nint drawable fotor_text_done_default 0x7f020134\nint drawable fotor_text_done_pressed 0x7f020135\nint drawable fotor_text_item_background 0x7f020136\nint drawable fotor_text_keyboard_button 0x7f020137\nint drawable fotor_text_keyboard_default 0x7f020138\nint drawable fotor_text_keyboard_pressed 0x7f020139\nint drawable fotor_text_left_alignment_default 0x7f02013a\nint drawable fotor_text_left_alignment_pressed 0x7f02013b\nint drawable fotor_text_left_rote_default 0x7f02013c\nint drawable fotor_text_left_rote_pressed 0x7f02013d\nint drawable fotor_text_left_shadow_default 0x7f02013e\nint drawable fotor_text_left_shadow_pressed 0x7f02013f\nint drawable fotor_text_lock 0x7f020140\nint drawable fotor_text_no_shadow_default 0x7f020141\nint drawable fotor_text_no_shadow_pressed 0x7f020142\nint drawable fotor_text_oblique_default 0x7f020143\nint drawable fotor_text_oblique_pressed 0x7f020144\nint drawable fotor_text_oblique_unavailable 0x7f020145\nint drawable fotor_text_option_button 0x7f020146\nint drawable fotor_text_option_default 0x7f020147\nint drawable fotor_text_option_pressed 0x7f020148\nint drawable fotor_text_right_alignment_default 0x7f020149\nint drawable fotor_text_right_alignment_pressed 0x7f02014a\nint drawable fotor_text_right_rote_default 0x7f02014b\nint drawable fotor_text_right_rote_pressed 0x7f02014c\nint drawable fotor_text_right_shadow_default 0x7f02014d\nint drawable fotor_text_right_shadow_pressed 0x7f02014e\nint drawable fotor_text_rotation_left_button 0x7f02014f\nint drawable fotor_text_rotation_right_button 0x7f020150\nint drawable fotor_text_shadow_bottom_button 0x7f020151\nint drawable fotor_text_shadow_left_button 0x7f020152\nint drawable fotor_text_shadow_right_button 0x7f020153\nint drawable fotor_text_size_minus_button 0x7f020154\nint drawable fotor_text_size_minus_default 0x7f020155\nint drawable fotor_text_size_minus_pressed 0x7f020156\nint drawable fotor_text_size_plus_button 0x7f020157\nint drawable fotor_text_size_plus_default 0x7f020158\nint drawable fotor_text_size_plus_pressed 0x7f020159\nint drawable fotor_text_style_bold_button 0x7f02015a\nint drawable fotor_text_style_italic_button 0x7f02015b\nint drawable fotor_text_texture1 0x7f02015c\nint drawable fotor_text_texture10 0x7f02015d\nint drawable fotor_text_texture11 0x7f02015e\nint drawable fotor_text_texture12 0x7f02015f\nint drawable fotor_text_texture13 0x7f020160\nint drawable fotor_text_texture14 0x7f020161\nint drawable fotor_text_texture15 0x7f020162\nint drawable fotor_text_texture16 0x7f020163\nint drawable fotor_text_texture17 0x7f020164\nint drawable fotor_text_texture18 0x7f020165\nint drawable fotor_text_texture19 0x7f020166\nint drawable fotor_text_texture2 0x7f020167\nint drawable fotor_text_texture20 0x7f020168\nint drawable fotor_text_texture3 0x7f020169\nint drawable fotor_text_texture4 0x7f02016a\nint drawable fotor_text_texture5 0x7f02016b\nint drawable fotor_text_texture6 0x7f02016c\nint drawable fotor_text_texture7 0x7f02016d\nint drawable fotor_text_texture8 0x7f02016e\nint drawable fotor_text_texture9 0x7f02016f\nint drawable fotor_text_typeface_art_default 0x7f020170\nint drawable fotor_text_typeface_art_pressed 0x7f020171\nint drawable fotor_text_typeface_button 0x7f020172\nint drawable fotor_text_typeface_charm_default 0x7f020173\nint drawable fotor_text_typeface_charm_pressed 0x7f020174\nint drawable fotor_text_typeface_classic_default 0x7f020175\nint drawable fotor_text_typeface_classic_pressed 0x7f020176\nint drawable fotor_text_typeface_default 0x7f020177\nint drawable fotor_text_typeface_happy_default 0x7f020178\nint drawable fotor_text_typeface_happy_pressed 0x7f020179\nint drawable fotor_text_typeface_pressed 0x7f02017a\nint drawable fotor_tilt_shift_blur_button 0x7f02017b\nint drawable fotor_tilt_shift_blur_default 0x7f02017c\nint drawable fotor_tilt_shift_blur_pressed 0x7f02017d\nint drawable fotor_tilt_shift_circle_button 0x7f02017e\nint drawable fotor_tilt_shift_circle_default 0x7f02017f\nint drawable fotor_tilt_shift_circle_pressed 0x7f020180\nint drawable fotor_tilt_shift_ellipse_button 0x7f020181\nint drawable fotor_tilt_shift_ellipse_default 0x7f020182\nint drawable fotor_tilt_shift_ellipse_pressed 0x7f020183\nint drawable fotor_tilt_shift_linear_button 0x7f020184\nint drawable fotor_tilt_shift_linear_default 0x7f020185\nint drawable fotor_tilt_shift_linear_pressed 0x7f020186\nint drawable fotor_tilt_shift_strength_button 0x7f020187\nint drawable fotor_tilt_shift_strength_default 0x7f020188\nint drawable fotor_tilt_shift_strength_pressed 0x7f020189\nint drawable fotor_title_back_btn_icon 0x7f02018a\nint drawable fotor_title_back_btn_icon_default 0x7f02018b\nint drawable fotor_title_back_btn_icon_pressed 0x7f02018c\nint drawable fotor_transparent 0x7f02018d\nint drawable ic_error 0x7f02018e\nint drawable ic_launcher 0x7f02018f\nint drawable icon 0x7f020190\nint drawable photo_editor_button_background 0x7f020191\nint drawable photo_editor_nophotos 0x7f020192\nint id alwaysScroll 0x7f0a0002\nint id button2 0x7f0a0009\nint id button_gallery 0x7f0a0008\nint id disabled 0x7f0a0000\nint id fotor_action_settings 0x7f0a0082\nint id fotor_adjust_curve_reset_button 0x7f0a0015\nint id fotor_adjust_curve_toggle_button 0x7f0a0014\nint id fotor_adjust_pan_container 0x7f0a0017\nint id fotor_adjust_slider 0x7f0a001b\nint id fotor_adjust_slider_b 0x7f0a001a\nint id fotor_adjust_slider_g 0x7f0a0019\nint id fotor_adjust_slider_r 0x7f0a0018\nint id fotor_adjust_tools_container 0x7f0a0016\nint id fotor_camera_captureBtn 0x7f0a0010\nint id fotor_camera_focus_indicator 0x7f0a0011\nint id fotor_camera_footer_layout 0x7f0a000f\nint id fotor_camera_header_button 0x7f0a000e\nint id fotor_camera_header_layout 0x7f0a000d\nint id fotor_camera_main_layout 0x7f0a000a\nint id fotor_camera_preview 0x7f0a000c\nint id fotor_camera_preview_layout 0x7f0a000b\nint id fotor_content_layer 0x7f0a006f\nint id fotor_crop_btn_left_bottom 0x7f0a001e\nint id fotor_crop_btn_left_top 0x7f0a001d\nint id fotor_crop_btn_right_bottom 0x7f0a0020\nint id fotor_crop_btn_right_top 0x7f0a001f\nint id fotor_crop_buttons_container 0x7f0a001c\nint id fotor_crop_line_bottom 0x7f0a0022\nint id fotor_crop_line_left 0x7f0a0023\nint id fotor_crop_line_right 0x7f0a0024\nint id fotor_crop_line_top 0x7f0a0021\nint id fotor_crop_operation_container 0x7f0a0025\nint id fotor_crop_ratio_button 0x7f0a0029\nint id fotor_crop_restore 0x7f0a0028\nint id fotor_crop_slider 0x7f0a0027\nint id fotor_feature_draw_panel_container 0x7f0a0070\nint id fotor_feature_title 0x7f0a007d\nint id fotor_fitscreen_imageview 0x7f0a002f\nint id fotor_footerContainer 0x7f0a0075\nint id fotor_fx_effect_add 0x7f0a003b\nint id fotor_fx_effect_add_or_delete 0x7f0a003a\nint id fotor_fx_effect_blend_slider 0x7f0a0035\nint id fotor_fx_effect_category_container 0x7f0a002a\nint id fotor_fx_effect_category_listview 0x7f0a002b\nint id fotor_fx_effect_category_loading_container 0x7f0a002c\nint id fotor_fx_effect_category_loading_pb 0x7f0a003e\nint id fotor_fx_effect_container 0x7f0a002d\nint id fotor_fx_effect_effects_listview_item_imageview 0x7f0a0031\nint id fotor_fx_effect_effects_listview_item_progressbar 0x7f0a0033\nint id fotor_fx_effect_effects_listview_item_selector 0x7f0a0034\nint id fotor_fx_effect_effects_listview_item_textview 0x7f0a0032\nint id fotor_fx_effect_favorites 0x7f0a003d\nint id fotor_fx_effect_imageview 0x7f0a0030\nint id fotor_fx_effect_listview 0x7f0a002e\nint id fotor_fx_effect_minus 0x7f0a003c\nint id fotor_fx_effect_superposed_choose_container 0x7f0a0037\nint id fotor_fx_effect_superposed_choose_listview 0x7f0a0038\nint id fotor_fx_effect_superposed_container 0x7f0a0036\nint id fotor_fx_effect_superposed_listview 0x7f0a0039\nint id fotor_headerContainer 0x7f0a006e\nint id fotor_imageView 0x7f0a0071\nint id fotor_image_top_layer 0x7f0a0073\nint id fotor_lock_event_view 0x7f0a0077\nint id fotor_main_apply 0x7f0a0080\nint id fotor_main_btn_redo 0x7f0a007f\nint id fotor_main_btn_undo 0x7f0a007e\nint id fotor_main_header_text_container 0x7f0a007b\nint id fotor_main_loading_view 0x7f0a0072\nint id fotor_main_title 0x7f0a007c\nint id fotor_navigation_button 0x7f0a007a\nint id fotor_operation_tool_background 0x7f0a0026\nint id fotor_operation_tool_layer 0x7f0a0074\nint id fotor_operations_container 0x7f0a0079\nint id fotor_progress 0x7f0a0003\nint id fotor_progress_bar 0x7f0a0081\nint id fotor_rotate_pan_container 0x7f0a003f\nint id fotor_scenes_pan_container 0x7f0a0040\nint id fotor_screen_top_layer 0x7f0a0076\nint id fotor_scroll_linear_layout 0x7f0a0013\nint id fotor_scroll_view 0x7f0a0012\nint id fotor_sdk_version_label 0x7f0a0005\nint id fotor_secondaryProgress 0x7f0a0004\nint id fotor_stickers_button 0x7f0a0041\nint id fotor_stickers_category_container 0x7f0a0042\nint id fotor_stickers_category_listview 0x7f0a0043\nint id fotor_stickers_category_loading_container 0x7f0a0044\nint id fotor_stickers_stickers_container 0x7f0a0045\nint id fotor_stickers_stickers_listview 0x7f0a0046\nint id fotor_text_add_button 0x7f0a004a\nint id fotor_text_align_center_button 0x7f0a005a\nint id fotor_text_align_left_button 0x7f0a0059\nint id fotor_text_align_right_button 0x7f0a005b\nint id fotor_text_color_button 0x7f0a004f\nint id fotor_text_color_color_button 0x7f0a0047\nint id fotor_text_color_texture_button 0x7f0a0048\nint id fotor_text_colors_container 0x7f0a0049\nint id fotor_text_done_button 0x7f0a0051\nint id fotor_text_keyboard_button 0x7f0a004d\nint id fotor_text_navigation_panel 0x7f0a004c\nint id fotor_text_opacity_slider 0x7f0a005f\nint id fotor_text_operation_container 0x7f0a0052\nint id fotor_text_option_button 0x7f0a0050\nint id fotor_text_rotation_left_button 0x7f0a0055\nint id fotor_text_rotation_right_button 0x7f0a0056\nint id fotor_text_shadow_bottom_button 0x7f0a005d\nint id fotor_text_shadow_left_button 0x7f0a005c\nint id fotor_text_shadow_right_button 0x7f0a005e\nint id fotor_text_size_minus_button 0x7f0a0054\nint id fotor_text_size_plus_button 0x7f0a0053\nint id fotor_text_style_bold_button 0x7f0a0057\nint id fotor_text_style_italic_button 0x7f0a0058\nint id fotor_text_typeface_button 0x7f0a004e\nint id fotor_text_typeface_category_btn 0x7f0a0060\nint id fotor_text_typeface_category_list 0x7f0a0065\nint id fotor_text_typeface_category_lock 0x7f0a0061\nint id fotor_text_typeface_imageview 0x7f0a0064\nint id fotor_text_typeface_item 0x7f0a0062\nint id fotor_text_typeface_list 0x7f0a0066\nint id fotor_text_typeface_textview 0x7f0a0063\nint id fotor_texts_category_loading_container 0x7f0a004b\nint id fotor_tilt_shift_circle 0x7f0a0067\nint id fotor_tilt_shift_ellipse 0x7f0a0069\nint id fotor_tilt_shift_gradient 0x7f0a006a\nint id fotor_tilt_shift_linear 0x7f0a0068\nint id fotor_tilt_shift_slider 0x7f0a006c\nint id fotor_tilt_shift_strength 0x7f0a006b\nint id fotor_tools_container 0x7f0a0078\nint id fotor_zoom_imageview 0x7f0a006d\nint id image 0x7f0a0007\nint id image_container 0x7f0a0006\nint id normal 0x7f0a0001\nint integer fotor_anim_medium_duration 0x7f070001\nint integer fotor_anim_short_duration 0x7f070000\nint integer fotor_default_slider_adjustDistance 0x7f070002\nint layout activity_main 0x7f030000\nint layout fotor_camera_main 0x7f030001\nint layout fotor_default_bottom_layout 0x7f030002\nint layout fotor_feature_adjust_operation_curve_controller 0x7f030003\nint layout fotor_feature_adjust_operation_panel 0x7f030004\nint layout fotor_feature_adjust_operation_rgb_tools 0x7f030005\nint layout fotor_feature_adjust_operation_tools 0x7f030006\nint layout fotor_feature_border_effect_operation_panel 0x7f030007\nint layout fotor_feature_crop_maskview 0x7f030008\nint layout fotor_feature_crop_operation_panel 0x7f030009\nint layout fotor_feature_crop_operation_tools 0x7f03000a\nint layout fotor_feature_crop_ratio_item 0x7f03000b\nint layout fotor_feature_effect_operation_panel 0x7f03000c\nint layout fotor_feature_enhance_operation_panel 0x7f03000d\nint layout fotor_feature_fitscreen_draw_panel 0x7f03000e\nint layout fotor_feature_fx_effect_draw_panel 0x7f03000f\nint layout fotor_feature_fx_effect_effects_listview_item 0x7f030010\nint layout fotor_feature_fx_effect_operation_blend_tools 0x7f030011\nint layout fotor_feature_fx_effect_operation_panel 0x7f030012\nint layout fotor_feature_fx_effect_operation_superposed_tools 0x7f030013\nint layout fotor_feature_fx_effect_operation_tools 0x7f030014\nint layout fotor_feature_operation_loading_component 0x7f030015\nint layout fotor_feature_rotate_operation_panel 0x7f030016\nint layout fotor_feature_scenes_operation_panel 0x7f030017\nint layout fotor_feature_stickers_item 0x7f030018\nint layout fotor_feature_stickers_operation_panel 0x7f030019\nint layout fotor_feature_text_color_panel 0x7f03001a\nint layout fotor_feature_text_operation_panel 0x7f03001b\nint layout fotor_feature_text_operation_tools 0x7f03001c\nint layout fotor_feature_text_option_panel 0x7f03001d\nint layout fotor_feature_text_typeface_category_item 0x7f03001e\nint layout fotor_feature_text_typeface_item 0x7f03001f\nint layout fotor_feature_text_typeface_panel 0x7f030020\nint layout fotor_feature_tilt_shift_operation_panel 0x7f030021\nint layout fotor_feature_tilt_shift_operation_tools 0x7f030022\nint layout fotor_feature_zoom_draw_panel 0x7f030023\nint layout fotor_loading_progress_medium 0x7f030024\nint layout fotor_main 0x7f030025\nint layout fotor_main_footer 0x7f030026\nint layout fotor_main_footer_item 0x7f030027\nint layout fotor_main_header 0x7f030028\nint layout fotor_main_loadding 0x7f030029\nint layout fotor_progress_medium 0x7f03002a\nint menu fotor_camera_menu 0x7f0c0000\nint raw basefilter 0x7f050000\nint raw optimization 0x7f050001\nint raw temporary 0x7f050002\nint string action_settings 0x7f090070\nint string app_name 0x7f09006f\nint string fotor_adjust_brightness 0x7f09001f\nint string fotor_adjust_contrast 0x7f090020\nint string fotor_adjust_curve 0x7f090029\nint string fotor_adjust_curve_hide 0x7f09002b\nint string fotor_adjust_curve_reset 0x7f09002c\nint string fotor_adjust_curve_show 0x7f09002a\nint string fotor_adjust_highlight 0x7f090025\nint string fotor_adjust_rgb 0x7f090028\nint string fotor_adjust_saturation 0x7f090021\nint string fotor_adjust_shadow 0x7f090024\nint string fotor_adjust_sharpen 0x7f090022\nint string fotor_adjust_temp 0x7f090026\nint string fotor_adjust_tint 0x7f090027\nint string fotor_adjust_vignette 0x7f090023\nint string fotor_back 0x7f09005a\nint string fotor_crop_10_8 0x7f090049\nint string fotor_crop_16_9 0x7f09004b\nint string fotor_crop_1_1 0x7f090042\nint string fotor_crop_3_4 0x7f090044\nint string fotor_crop_4_3 0x7f090043\nint string fotor_crop_4_6 0x7f090046\nint string fotor_crop_5_7 0x7f090048\nint string fotor_crop_6_4 0x7f090045\nint string fotor_crop_7_5 0x7f090047\nint string fotor_crop_8_10 0x7f09004a\nint string fotor_crop_9_16 0x7f09004c\nint string fotor_crop_free 0x7f090040\nint string fotor_crop_original 0x7f090041\nint string fotor_dialog_alert_message_plugin_update 0x7f090069\nint string fotor_dialog_alert_message_save 0x7f09006b\nint string fotor_dialog_alert_negative_save 0x7f09006c\nint string fotor_dialog_alert_positive_save 0x7f09006d\nint string fotor_dialog_alert_title_plugin_update 0x7f09006e\nint string fotor_dialog_alert_title_save 0x7f09006a\nint string fotor_effect_border_pack_gallery 0x7f090007\nint string fotor_effect_border_pack_simple 0x7f090005\nint string fotor_effect_border_pack_styled 0x7f090006\nint string fotor_effect_fx_pack_analog 0x7f090000\nint string fotor_effect_fx_pack_lomo 0x7f090004\nint string fotor_effect_fx_pack_oldpicture 0x7f090001\nint string fotor_effect_fx_pack_retro 0x7f090002\nint string fotor_effect_fx_pack_vintage 0x7f090003\nint string fotor_effect_store 0x7f090068\nint string fotor_enhance_high 0x7f090059\nint string fotor_enhance_low 0x7f090057\nint string fotor_enhance_medium 0x7f090058\nint string fotor_favorites 0x7f09005d\nint string fotor_feature_adjust 0x7f090012\nint string fotor_feature_adjust_advance 0x7f090013\nint string fotor_feature_border 0x7f090015\nint string fotor_feature_crop 0x7f090016\nint string fotor_feature_enhance 0x7f090010\nint string fotor_feature_fx_effects 0x7f090014\nint string fotor_feature_rotate 0x7f090017\nint string fotor_feature_scenes 0x7f090011\nint string fotor_feature_stickers 0x7f090018\nint string fotor_feature_text 0x7f09001a\nint string fotor_feature_tilt_shift 0x7f090019\nint string fotor_font_assets_path 0x7f090056\nint string fotor_font_roboto_bold 0x7f090054\nint string fotor_font_roboto_bold_name 0x7f090055\nint string fotor_font_roboto_light 0x7f090052\nint string fotor_font_roboto_light_name 0x7f090053\nint string fotor_fonts_pack_charm 0x7f090009\nint string fotor_fonts_pack_classic 0x7f090008\nint string fotor_loading 0x7f09005b\nint string fotor_main_apply 0x7f09001c\nint string fotor_main_cancel 0x7f09001b\nint string fotor_main_redo 0x7f09001e\nint string fotor_main_undo 0x7f09001d\nint string fotor_original 0x7f09005c\nint string fotor_rotate_fliph 0x7f090030\nint string fotor_rotate_flipv 0x7f09002f\nint string fotor_rotate_left 0x7f09002d\nint string fotor_rotate_right 0x7f09002e\nint string fotor_scenes_auto 0x7f090032\nint string fotor_scenes_backlit 0x7f090033\nint string fotor_scenes_cloudy 0x7f090035\nint string fotor_scenes_darken 0x7f090034\nint string fotor_scenes_flash 0x7f090039\nint string fotor_scenes_fluorescent 0x7f09003a\nint string fotor_scenes_food 0x7f09003f\nint string fotor_scenes_landscape 0x7f09003d\nint string fotor_scenes_night 0x7f090038\nint string fotor_scenes_original 0x7f090031\nint string fotor_scenes_portrait 0x7f09003b\nint string fotor_scenes_sand_snow 0x7f09003c\nint string fotor_scenes_shade 0x7f090036\nint string fotor_scenes_sunset 0x7f090037\nint string fotor_scenes_theatre 0x7f09003e\nint string fotor_stickers_abstract 0x7f090066\nint string fotor_stickers_boom 0x7f090067\nint string fotor_stickers_pack_boom 0x7f09000b\nint string fotor_stickers_pack_decoration 0x7f09000c\nint string fotor_stickers_pack_love 0x7f09000d\nint string fotor_stickers_pack_party 0x7f09000e\nint string fotor_stickers_pack_text 0x7f09000a\nint string fotor_text_add_btn 0x7f09005e\nint string fotor_text_alignment 0x7f090063\nint string fotor_text_default_text 0x7f09005f\nint string fotor_text_opacity 0x7f090065\nint string fotor_text_rotation 0x7f090061\nint string fotor_text_shadow 0x7f090064\nint string fotor_text_style 0x7f090062\nint string fotor_text_textsize 0x7f090060\nint string fotor_tilt_shift_circle 0x7f09004f\nint string fotor_tilt_shift_ellipse 0x7f090051\nint string fotor_tilt_shift_gradient 0x7f09004d\nint string fotor_tilt_shift_linear 0x7f090050\nint string fotor_tilt_shift_strength 0x7f09004e\nint string fotor_title_main 0x7f09000f\nint string hello_world 0x7f090071\nint string photo_editor 0x7f090072\nint string photo_editor_process 0x7f090074\nint string photo_editor_select_image 0x7f090073\nint style AppBaseTheme 0x7f0b000b\nint style AppTheme 0x7f0b000c\nint style FotorBaseTheme 0x7f0b0009\nint style FotorCustomSliderDefault 0x7f0b0001\nint style FotorTheme 0x7f0b000a\nint style FotorWidget 0x7f0b0000\nint style FotorWidget_EffectSelectorView 0x7f0b0007\nint style FotorWidget_NavigationButton 0x7f0b0002\nint style FotorWidget_TextButton 0x7f0b0006\nint style FotorWidget_TextView 0x7f0b0005\nint style FotorWidget_TitleBackButton 0x7f0b0008\nint style fotorHeaderButtonDefault 0x7f0b0004\nint style fotorOperToolPanelDefault 0x7f0b0003\nint[] styleable AbsHListView { 0x010100fb, 0x010100fc, 0x010100fe, 0x01010101, 0x0101012b, 0x01010231, 0x7f010036, 0x7f010037 }\nint styleable AbsHListView_android_cacheColorHint 3\nint styleable AbsHListView_android_choiceMode 4\nint styleable AbsHListView_android_drawSelectorOnTop 1\nint styleable AbsHListView_android_listSelector 0\nint styleable AbsHListView_android_scrollingCache 2\nint styleable AbsHListView_android_smoothScrollbar 5\nint styleable AbsHListView_stackFromRight 6\nint styleable AbsHListView_transcriptMode 7\nint[] styleable FotorCustomSlider { 0x7f010015, 0x7f010016, 0x7f010017, 0x7f010018, 0x7f010019, 0x7f01001a, 0x7f01001b, 0x7f01001c }\nint styleable FotorCustomSlider_fotorCustomSlider_adjustYDistance 0\nint styleable FotorCustomSlider_fotorCustomSlider_isShowValue 1\nint styleable FotorCustomSlider_fotorCustomSlider_max 6\nint styleable FotorCustomSlider_fotorCustomSlider_progress 7\nint styleable FotorCustomSlider_fotorCustomSlider_progressDrawable 5\nint styleable FotorCustomSlider_fotorCustomSlider_thumb 3\nint styleable FotorCustomSlider_fotorCustomSlider_typeface 4\nint styleable FotorCustomSlider_fotorCustomSlider_valueBackground 2\nint[] styleable FotorEffectSelectorView { 0x7f010026 }\nint styleable FotorEffectSelectorView_fotorEffectSelectorView_Color 0\nint[] styleable FotorHeaderButton { 0x7f010025 }\nint styleable FotorHeaderButton_fotorHeaderButton_typeface 0\nint[] styleable FotorNavigationButton { 0x7f01001d, 0x7f01001e, 0x7f01001f, 0x7f010020, 0x7f010021, 0x7f010022, 0x7f010023 }\nint styleable FotorNavigationButton_fotorNavigationBtn_color_default 3\nint styleable FotorNavigationButton_fotorNavigationBtn_color_disabled 5\nint styleable FotorNavigationButton_fotorNavigationBtn_color_pressed 4\nint styleable FotorNavigationButton_fotorNavigationBtn_isShowPressedBackground 0\nint styleable FotorNavigationButton_fotorNavigationBtn_pressed_background 6\nint styleable FotorNavigationButton_fotorNavigationBtn_text 1\nint styleable FotorNavigationButton_fotorNavigationBtn_typeface 2\nint[] styleable FotorOperToolPanel { 0x7f010024 }\nint styleable FotorOperToolPanel_fotorOperToolPanel_bottomLine_Color 0\nint[] styleable FotorTextButton { 0x7f010014 }\nint styleable FotorTextButton_fotorTextButton_typeface 0\nint[] styleable FotorTextView { 0x7f010013 }\nint styleable FotorTextView_fotorTextView_typeface 0\nint[] styleable FotorTitleBackButton { 0x7f010027, 0x7f010028, 0x7f010029, 0x7f01002a, 0x7f01002b }\nint styleable FotorTitleBackButton_fotorTitleBackButton_IconDrawable 3\nint styleable FotorTitleBackButton_fotorTitleBackButton_Text 1\nint styleable FotorTitleBackButton_fotorTitleBackButton_TextColor 2\nint styleable FotorTitleBackButton_fotorTitleBackButton_Textsize 0\nint styleable FotorTitleBackButton_fotorTitleBackButton_Typeface 4\nint[] styleable HListView { 0x010100b2, 0x01010129, 0x7f010030, 0x7f010031, 0x7f010032, 0x7f010033, 0x7f010034, 0x7f010035 }\nint styleable HListView_android_divider 1\nint styleable HListView_android_entries 0\nint styleable HListView_dividerWidth 2\nint styleable HListView_footerDividersEnabled 4\nint styleable HListView_headerDividersEnabled 3\nint styleable HListView_measureWithChild 7\nint styleable HListView_overScrollFooter 6\nint styleable HListView_overScrollHeader 5\nint[] styleable Theme { 0x7f010000, 0x7f010001, 0x7f010002, 0x7f010003, 0x7f010004, 0x7f010005, 0x7f010006, 0x7f010007, 0x7f010008, 0x7f010009, 0x7f01000a, 0x7f01000b, 0x7f01000c, 0x7f01000d, 0x7f01000e, 0x7f01000f, 0x7f010010, 0x7f010011, 0x7f010012 }\nint styleable Theme_fotorDefaultEffectSelectorViewStyle 17\nint styleable Theme_fotorDefaultHeaderButtonStyle 16\nint styleable Theme_fotorDefaultImageViewBackground 14\nint styleable Theme_fotorDefaultNavigateBtnStyle 13\nint styleable Theme_fotorDefaultOperToolPanelStyle 15\nint styleable Theme_fotorDefaultSliderStyle 12\nint styleable Theme_fotorDefaultTextButtonStyle 11\nint styleable Theme_fotorDefaultTextViewStyle 10\nint styleable Theme_fotorDefaultTitleBackButtonStyle 18\nint styleable Theme_fotorFontBold 0\nint styleable Theme_fotorFontLight 1\nint styleable Theme_fotorMainBottomHeight 2\nint styleable Theme_fotorMainFooterBackground 6\nint styleable Theme_fotorMainHeaderBackground 7\nint styleable Theme_fotorMainHeaderHeight 4\nint styleable Theme_fotorMainToolPanelBackground 8\nint styleable Theme_fotorMainToolPanelHeight 3\nint styleable Theme_fotorNavigationBtnWidth 5\nint styleable Theme_fotorTitleTextSize 9\n"
  },
  {
    "path": "FotorSDKDemo/gen/com/everimaging/fotorsdk/R.java",
    "content": "/* AUTO-GENERATED FILE.  DO NOT MODIFY.\n *\n * This class was automatically generated by the\n * aapt tool from the resource data it found.  It\n * should not be modified by hand.\n */\npackage com.everimaging.fotorsdk;\n\npublic final class R {\n\tpublic static final class anim {\n\t\tpublic static final int fotor_camera_focus_anim = 0x7f040000;\n\t\tpublic static final int fotor_fit_view_fadein_animation = 0x7f040001;\n\t\tpublic static final int fotor_fit_view_fadeout_animation = 0x7f040002;\n\t\tpublic static final int fotor_footer_bar_in_animation = 0x7f040003;\n\t\tpublic static final int fotor_footer_bar_out_animation = 0x7f040004;\n\t}\n\tpublic static final class attr {\n\t\tpublic static final int dividerWidth = 0x7f010030;\n\t\tpublic static final int entries = 0x7f01002f;\n\t\tpublic static final int footerDividersEnabled = 0x7f010032;\n\t\tpublic static final int fotorCustomSlider_adjustYDistance = 0x7f010015;\n\t\tpublic static final int fotorCustomSlider_isShowValue = 0x7f010016;\n\t\tpublic static final int fotorCustomSlider_max = 0x7f01001b;\n\t\tpublic static final int fotorCustomSlider_progress = 0x7f01001c;\n\t\tpublic static final int fotorCustomSlider_progressDrawable = 0x7f01001a;\n\t\tpublic static final int fotorCustomSlider_thumb = 0x7f010018;\n\t\tpublic static final int fotorCustomSlider_typeface = 0x7f010019;\n\t\tpublic static final int fotorCustomSlider_valueBackground = 0x7f010017;\n\t\tpublic static final int fotorDefaultEffectSelectorViewStyle = 0x7f010011;\n\t\tpublic static final int fotorDefaultHeaderButtonStyle = 0x7f010010;\n\t\tpublic static final int fotorDefaultImageViewBackground = 0x7f01000e;\n\t\tpublic static final int fotorDefaultNavigateBtnStyle = 0x7f01000d;\n\t\tpublic static final int fotorDefaultOperToolPanelStyle = 0x7f01000f;\n\t\tpublic static final int fotorDefaultSliderStyle = 0x7f01000c;\n\t\tpublic static final int fotorDefaultTextButtonStyle = 0x7f01000b;\n\t\tpublic static final int fotorDefaultTextViewStyle = 0x7f01000a;\n\t\tpublic static final int fotorDefaultTitleBackButtonStyle = 0x7f010012;\n\t\tpublic static final int fotorEffectSelectorView_Color = 0x7f010026;\n\t\tpublic static final int fotorFontBold = 0x7f010000;\n\t\tpublic static final int fotorFontLight = 0x7f010001;\n\t\tpublic static final int fotorHeaderButton_typeface = 0x7f010025;\n\t\tpublic static final int fotorMainBottomHeight = 0x7f010002;\n\t\tpublic static final int fotorMainFooterBackground = 0x7f010006;\n\t\tpublic static final int fotorMainHeaderBackground = 0x7f010007;\n\t\tpublic static final int fotorMainHeaderHeight = 0x7f010004;\n\t\tpublic static final int fotorMainToolPanelBackground = 0x7f010008;\n\t\tpublic static final int fotorMainToolPanelHeight = 0x7f010003;\n\t\tpublic static final int fotorNavigationBtnWidth = 0x7f010005;\n\t\tpublic static final int fotorNavigationBtn_color_default = 0x7f010020;\n\t\tpublic static final int fotorNavigationBtn_color_disabled = 0x7f010022;\n\t\tpublic static final int fotorNavigationBtn_color_pressed = 0x7f010021;\n\t\tpublic static final int fotorNavigationBtn_isShowPressedBackground = 0x7f01001d;\n\t\tpublic static final int fotorNavigationBtn_pressed_background = 0x7f010023;\n\t\tpublic static final int fotorNavigationBtn_text = 0x7f01001e;\n\t\tpublic static final int fotorNavigationBtn_typeface = 0x7f01001f;\n\t\tpublic static final int fotorOperToolPanel_bottomLine_Color = 0x7f010024;\n\t\tpublic static final int fotorTextButton_typeface = 0x7f010014;\n\t\tpublic static final int fotorTextView_typeface = 0x7f010013;\n\t\tpublic static final int fotorTitleBackButton_IconDrawable = 0x7f01002a;\n\t\tpublic static final int fotorTitleBackButton_Text = 0x7f010028;\n\t\tpublic static final int fotorTitleBackButton_TextColor = 0x7f010029;\n\t\tpublic static final int fotorTitleBackButton_Textsize = 0x7f010027;\n\t\tpublic static final int fotorTitleBackButton_Typeface = 0x7f01002b;\n\t\tpublic static final int fotorTitleTextSize = 0x7f010009;\n\t\tpublic static final int headerDividersEnabled = 0x7f010031;\n\t\tpublic static final int measureWithChild = 0x7f010035;\n\t\tpublic static final int overScrollFooter = 0x7f010034;\n\t\tpublic static final int overScrollHeader = 0x7f010033;\n\t\tpublic static final int sephiroth_absHListViewStyle = 0x7f01002d;\n\t\tpublic static final int sephiroth_listPreferredItemWidth = 0x7f01002e;\n\t\tpublic static final int sephiroth_listViewStyle = 0x7f01002c;\n\t\tpublic static final int stackFromRight = 0x7f010036;\n\t\tpublic static final int transcriptMode = 0x7f010037;\n\t}\n\tpublic static final class color {\n\t\tpublic static final int fotor_feature_adjust_curve_background = 0x7f06000d;\n\t\tpublic static final int fotor_feature_loading_textColor = 0x7f06000e;\n\t\tpublic static final int fotor_feature_stickers_button_pressed = 0x7f060013;\n\t\tpublic static final int fotor_feature_text_color_button1 = 0x7f06001b;\n\t\tpublic static final int fotor_feature_text_color_button10 = 0x7f060024;\n\t\tpublic static final int fotor_feature_text_color_button11 = 0x7f060025;\n\t\tpublic static final int fotor_feature_text_color_button12 = 0x7f060026;\n\t\tpublic static final int fotor_feature_text_color_button13 = 0x7f060027;\n\t\tpublic static final int fotor_feature_text_color_button14 = 0x7f060028;\n\t\tpublic static final int fotor_feature_text_color_button15 = 0x7f060029;\n\t\tpublic static final int fotor_feature_text_color_button16 = 0x7f06002a;\n\t\tpublic static final int fotor_feature_text_color_button17 = 0x7f06002b;\n\t\tpublic static final int fotor_feature_text_color_button18 = 0x7f06002c;\n\t\tpublic static final int fotor_feature_text_color_button19 = 0x7f06002d;\n\t\tpublic static final int fotor_feature_text_color_button2 = 0x7f06001c;\n\t\tpublic static final int fotor_feature_text_color_button20 = 0x7f06002e;\n\t\tpublic static final int fotor_feature_text_color_button21 = 0x7f06002f;\n\t\tpublic static final int fotor_feature_text_color_button22 = 0x7f060030;\n\t\tpublic static final int fotor_feature_text_color_button23 = 0x7f060031;\n\t\tpublic static final int fotor_feature_text_color_button24 = 0x7f060032;\n\t\tpublic static final int fotor_feature_text_color_button25 = 0x7f060033;\n\t\tpublic static final int fotor_feature_text_color_button26 = 0x7f060034;\n\t\tpublic static final int fotor_feature_text_color_button27 = 0x7f060035;\n\t\tpublic static final int fotor_feature_text_color_button28 = 0x7f060036;\n\t\tpublic static final int fotor_feature_text_color_button3 = 0x7f06001d;\n\t\tpublic static final int fotor_feature_text_color_button4 = 0x7f06001e;\n\t\tpublic static final int fotor_feature_text_color_button5 = 0x7f06001f;\n\t\tpublic static final int fotor_feature_text_color_button6 = 0x7f060020;\n\t\tpublic static final int fotor_feature_text_color_button7 = 0x7f060021;\n\t\tpublic static final int fotor_feature_text_color_button8 = 0x7f060022;\n\t\tpublic static final int fotor_feature_text_color_button9 = 0x7f060023;\n\t\tpublic static final int fotor_feature_text_option_title_color = 0x7f060019;\n\t\tpublic static final int fotor_feature_text_panel_background = 0x7f060014;\n\t\tpublic static final int fotor_feature_text_panel_line_color = 0x7f060015;\n\t\tpublic static final int fotor_feature_text_shadow_color = 0x7f06001a;\n\t\tpublic static final int fotor_feature_text_texture_border_selected = 0x7f060018;\n\t\tpublic static final int fotor_feature_text_typeface_default = 0x7f060017;\n\t\tpublic static final int fotor_feature_text_typeface_pressed = 0x7f060016;\n\t\tpublic static final int fotor_fx_effect_effects_listview_item_background_default = 0x7f06000f;\n\t\tpublic static final int fotor_fx_effect_effects_listview_item_background_pressed = 0x7f060010;\n\t\tpublic static final int fotor_fx_effect_effects_listview_item_textColor = 0x7f060011;\n\t\tpublic static final int fotor_fx_effect_effects_listview_item_text_bakground = 0x7f060012;\n\t\tpublic static final int fotor_half_transparent = 0x7f060001;\n\t\tpublic static final int fotor_header_button_text_state = 0x7f06003f;\n\t\tpublic static final int fotor_main_footer_background = 0x7f060002;\n\t\tpublic static final int fotor_main_header_background = 0x7f060008;\n\t\tpublic static final int fotor_main_header_button_text_default = 0x7f06000b;\n\t\tpublic static final int fotor_main_header_button_text_pressed = 0x7f06000c;\n\t\tpublic static final int fotor_main_imageview_background = 0x7f060007;\n\t\tpublic static final int fotor_main_loading_background = 0x7f060037;\n\t\tpublic static final int fotor_main_toolpanel_background = 0x7f060009;\n\t\tpublic static final int fotor_main_toolpanel_bottom_line = 0x7f06000a;\n\t\tpublic static final int fotor_navigation_btn_color_default = 0x7f060005;\n\t\tpublic static final int fotor_navigation_btn_color_disabled = 0x7f060006;\n\t\tpublic static final int fotor_navigation_btn_color_pressed = 0x7f060004;\n\t\tpublic static final int fotor_navigation_btn_pressed_background = 0x7f060003;\n\t\tpublic static final int fotor_text_button_text_state = 0x7f060040;\n\t\tpublic static final int fotor_title_back_button_text_state = 0x7f060041;\n\t\tpublic static final int fotor_transparent = 0x7f060000;\n\t}\n\tpublic static final class dimen {\n\t\tpublic static final int fotor_border_effect_listview_divider_width = 0x7f080031;\n\t\tpublic static final int fotor_crop_reset_margin_h = 0x7f08000f;\n\t\tpublic static final int fotor_curve_btn_textsize = 0x7f08000d;\n\t\tpublic static final int fotor_curve_control_panel_btn_spacing = 0x7f08000c;\n\t\tpublic static final int fotor_curve_view_max_size = 0x7f080030;\n\t\tpublic static final int fotor_feature_loading_textSize = 0x7f08002b;\n\t\tpublic static final int fotor_feature_stickers_button_spacing = 0x7f08002a;\n\t\tpublic static final int fotor_feature_stickers_button_width = 0x7f080029;\n\t\tpublic static final int fotor_fx_effect_buttons_margin_right = 0x7f080010;\n\t\tpublic static final int fotor_fx_effect_effects_listview_item_image_width = 0x7f080011;\n\t\tpublic static final int fotor_fx_effect_effects_listview_item_margin = 0x7f080013;\n\t\tpublic static final int fotor_fx_effect_effects_listview_item_textHeight = 0x7f080012;\n\t\tpublic static final int fotor_fx_effect_effects_listview_item_textSize = 0x7f080014;\n\t\tpublic static final int fotor_main_bottom_height = 0x7f080000;\n\t\tpublic static final int fotor_main_header_btn_textsize = 0x7f080005;\n\t\tpublic static final int fotor_main_header_height = 0x7f080007;\n\t\tpublic static final int fotor_main_header_margin = 0x7f080008;\n\t\tpublic static final int fotor_main_header_title_textsize = 0x7f080006;\n\t\tpublic static final int fotor_main_imageview_margin = 0x7f08002d;\n\t\tpublic static final int fotor_main_loadding_background_radius = 0x7f08002e;\n\t\tpublic static final int fotor_main_loadding_margin = 0x7f08002f;\n\t\tpublic static final int fotor_main_loading_textSize = 0x7f08002c;\n\t\tpublic static final int fotor_main_minimum_bottom_height = 0x7f080004;\n\t\tpublic static final int fotor_main_navigation_btn_textsize = 0x7f080002;\n\t\tpublic static final int fotor_main_navigation_btn_width = 0x7f080001;\n\t\tpublic static final int fotor_main_tool_panel_height = 0x7f080003;\n\t\tpublic static final int fotor_main_tool_panel_line_size = 0x7f080009;\n\t\tpublic static final int fotor_slider_panel_margin_h = 0x7f08000b;\n\t\tpublic static final int fotor_slider_value_margin = 0x7f08000a;\n\t\tpublic static final int fotor_text_color_button_size = 0x7f080021;\n\t\tpublic static final int fotor_text_color_button_stroke = 0x7f080020;\n\t\tpublic static final int fotor_text_item_padding = 0x7f080019;\n\t\tpublic static final int fotor_text_keyboard_canvas_spacing = 0x7f08001c;\n\t\tpublic static final int fotor_text_option_btn_spacing = 0x7f080025;\n\t\tpublic static final int fotor_text_option_opacity_padding_h = 0x7f080028;\n\t\tpublic static final int fotor_text_option_panel_margin = 0x7f080023;\n\t\tpublic static final int fotor_text_option_panel_spacing = 0x7f080024;\n\t\tpublic static final int fotor_text_option_right_panel_margin_top = 0x7f080027;\n\t\tpublic static final int fotor_text_option_title_textsize = 0x7f080026;\n\t\tpublic static final int fotor_text_shadow_offset_x = 0x7f08001a;\n\t\tpublic static final int fotor_text_shadow_offset_y = 0x7f08001b;\n\t\tpublic static final int fotor_text_textsize_default = 0x7f080015;\n\t\tpublic static final int fotor_text_textsize_maximum = 0x7f080016;\n\t\tpublic static final int fotor_text_textsize_minimum = 0x7f080017;\n\t\tpublic static final int fotor_text_textsize_step = 0x7f080018;\n\t\tpublic static final int fotor_text_texture_button_size = 0x7f080022;\n\t\tpublic static final int fotor_text_typeface_category_item_width = 0x7f08001d;\n\t\tpublic static final int fotor_text_typeface_item_height = 0x7f08001e;\n\t\tpublic static final int fotor_text_typeface_item_textsize = 0x7f08001f;\n\t\tpublic static final int fotor_tilt_shift_tool_panel_margin_left = 0x7f08000e;\n\t}\n\tpublic static final class drawable {\n\t\tpublic static final int fotor_adjust_brightness = 0x7f020000;\n\t\tpublic static final int fotor_adjust_contrast = 0x7f020001;\n\t\tpublic static final int fotor_adjust_curve = 0x7f020002;\n\t\tpublic static final int fotor_adjust_highlight = 0x7f020003;\n\t\tpublic static final int fotor_adjust_rgb = 0x7f020004;\n\t\tpublic static final int fotor_adjust_saturation = 0x7f020005;\n\t\tpublic static final int fotor_adjust_shadow = 0x7f020006;\n\t\tpublic static final int fotor_adjust_sharpen = 0x7f020007;\n\t\tpublic static final int fotor_adjust_temp = 0x7f020008;\n\t\tpublic static final int fotor_adjust_tint = 0x7f020009;\n\t\tpublic static final int fotor_adjust_vignette = 0x7f02000a;\n\t\tpublic static final int fotor_advanced_curve_default = 0x7f02000b;\n\t\tpublic static final int fotor_advanced_curve_pressed = 0x7f02000c;\n\t\tpublic static final int fotor_advanced_highlights_default = 0x7f02000d;\n\t\tpublic static final int fotor_advanced_highlights_pressed = 0x7f02000e;\n\t\tpublic static final int fotor_advanced_rgb_default = 0x7f02000f;\n\t\tpublic static final int fotor_advanced_rgb_pressed = 0x7f020010;\n\t\tpublic static final int fotor_advanced_shadows_default = 0x7f020011;\n\t\tpublic static final int fotor_advanced_shadows_pressed = 0x7f020012;\n\t\tpublic static final int fotor_advanced_temp_default = 0x7f020013;\n\t\tpublic static final int fotor_advanced_temp_pressed = 0x7f020014;\n\t\tpublic static final int fotor_advanced_tint_default = 0x7f020015;\n\t\tpublic static final int fotor_advanced_tint_pressed = 0x7f020016;\n\t\tpublic static final int fotor_advanced_vignette_default = 0x7f020017;\n\t\tpublic static final int fotor_advanced_vignette_pressed = 0x7f020018;\n\t\tpublic static final int fotor_back = 0x7f020019;\n\t\tpublic static final int fotor_back_default = 0x7f02001a;\n\t\tpublic static final int fotor_back_pressed = 0x7f02001b;\n\t\tpublic static final int fotor_basis_brightness_default = 0x7f02001c;\n\t\tpublic static final int fotor_basis_brightness_pressed = 0x7f02001d;\n\t\tpublic static final int fotor_basis_contrast_default = 0x7f02001e;\n\t\tpublic static final int fotor_basis_contrast_pressed = 0x7f02001f;\n\t\tpublic static final int fotor_basis_saturation_default = 0x7f020020;\n\t\tpublic static final int fotor_basis_saturation_pressed = 0x7f020021;\n\t\tpublic static final int fotor_basis_sharpen_default = 0x7f020022;\n\t\tpublic static final int fotor_basis_sharpen_pressed = 0x7f020023;\n\t\tpublic static final int fotor_borders_gallery_default = 0x7f020024;\n\t\tpublic static final int fotor_borders_gallery_pressed = 0x7f020025;\n\t\tpublic static final int fotor_borders_more = 0x7f020026;\n\t\tpublic static final int fotor_borders_more_default = 0x7f020027;\n\t\tpublic static final int fotor_borders_more_pressed = 0x7f020028;\n\t\tpublic static final int fotor_borders_simple_default = 0x7f020029;\n\t\tpublic static final int fotor_borders_simple_pressed = 0x7f02002a;\n\t\tpublic static final int fotor_borders_stamp_default = 0x7f02002b;\n\t\tpublic static final int fotor_borders_stamp_pressed = 0x7f02002c;\n\t\tpublic static final int fotor_borders_styled_default = 0x7f02002d;\n\t\tpublic static final int fotor_borders_styled_pressed = 0x7f02002e;\n\t\tpublic static final int fotor_camera_focus_indicator = 0x7f02002f;\n\t\tpublic static final int fotor_crop_btn_lineh_default = 0x7f020030;\n\t\tpublic static final int fotor_crop_btn_lineh_pressed = 0x7f020031;\n\t\tpublic static final int fotor_crop_btn_linev_default = 0x7f020032;\n\t\tpublic static final int fotor_crop_btn_linev_pressed = 0x7f020033;\n\t\tpublic static final int fotor_crop_btn_point_default = 0x7f020034;\n\t\tpublic static final int fotor_crop_btn_point_pressed = 0x7f020035;\n\t\tpublic static final int fotor_crop_free_default = 0x7f020036;\n\t\tpublic static final int fotor_crop_free_pressed = 0x7f020037;\n\t\tpublic static final int fotor_crop_line_h_button = 0x7f020038;\n\t\tpublic static final int fotor_crop_line_v_button = 0x7f020039;\n\t\tpublic static final int fotor_crop_point_button = 0x7f02003a;\n\t\tpublic static final int fotor_crop_ratio_free_button = 0x7f02003b;\n\t\tpublic static final int fotor_crop_restor_default = 0x7f02003c;\n\t\tpublic static final int fotor_crop_restor_pressed = 0x7f02003d;\n\t\tpublic static final int fotor_crop_restor_unavailable = 0x7f02003e;\n\t\tpublic static final int fotor_crop_restore_button = 0x7f02003f;\n\t\tpublic static final int fotor_curve_btn_round = 0x7f020040;\n\t\tpublic static final int fotor_curve_btn_round_drag = 0x7f020041;\n\t\tpublic static final int fotor_curve_hide_default = 0x7f020042;\n\t\tpublic static final int fotor_curve_hide_pressed = 0x7f020043;\n\t\tpublic static final int fotor_curve_point_button = 0x7f020044;\n\t\tpublic static final int fotor_curve_restore_button = 0x7f020045;\n\t\tpublic static final int fotor_curve_restore_default = 0x7f020046;\n\t\tpublic static final int fotor_curve_restore_pressed = 0x7f020047;\n\t\tpublic static final int fotor_curve_restore_unavailable = 0x7f020048;\n\t\tpublic static final int fotor_curve_show_default = 0x7f020049;\n\t\tpublic static final int fotor_curve_show_pressed = 0x7f02004a;\n\t\tpublic static final int fotor_curve_toggle_button = 0x7f02004b;\n\t\tpublic static final int fotor_edit_advanced_default = 0x7f02004c;\n\t\tpublic static final int fotor_edit_advanced_pressed = 0x7f02004d;\n\t\tpublic static final int fotor_edit_basis_default = 0x7f02004e;\n\t\tpublic static final int fotor_edit_basis_pressed = 0x7f02004f;\n\t\tpublic static final int fotor_edit_borders_default = 0x7f020050;\n\t\tpublic static final int fotor_edit_borders_pressed = 0x7f020051;\n\t\tpublic static final int fotor_edit_crop_default = 0x7f020052;\n\t\tpublic static final int fotor_edit_crop_pressed = 0x7f020053;\n\t\tpublic static final int fotor_edit_draw_default = 0x7f020054;\n\t\tpublic static final int fotor_edit_draw_pressed = 0x7f020055;\n\t\tpublic static final int fotor_edit_effects_default = 0x7f020056;\n\t\tpublic static final int fotor_edit_effects_pressed = 0x7f020057;\n\t\tpublic static final int fotor_edit_enhance_default = 0x7f020058;\n\t\tpublic static final int fotor_edit_enhance_pressed = 0x7f020059;\n\t\tpublic static final int fotor_edit_hdr_default = 0x7f02005a;\n\t\tpublic static final int fotor_edit_hdr_pressed = 0x7f02005b;\n\t\tpublic static final int fotor_edit_one_menu_logo = 0x7f02005c;\n\t\tpublic static final int fotor_edit_redeye_default = 0x7f02005d;\n\t\tpublic static final int fotor_edit_redeye_pressed = 0x7f02005e;\n\t\tpublic static final int fotor_edit_rotate_default = 0x7f02005f;\n\t\tpublic static final int fotor_edit_rotate_pressed = 0x7f020060;\n\t\tpublic static final int fotor_edit_scenes_default = 0x7f020061;\n\t\tpublic static final int fotor_edit_scenes_pressed = 0x7f020062;\n\t\tpublic static final int fotor_edit_stichers_default = 0x7f020063;\n\t\tpublic static final int fotor_edit_stichers_pressed = 0x7f020064;\n\t\tpublic static final int fotor_edit_text_default = 0x7f020065;\n\t\tpublic static final int fotor_edit_text_pressed = 0x7f020066;\n\t\tpublic static final int fotor_edit_tilt_shift_default = 0x7f020067;\n\t\tpublic static final int fotor_edit_tilt_shift_pressed = 0x7f020068;\n\t\tpublic static final int fotor_effect_border_pack_gallery = 0x7f020069;\n\t\tpublic static final int fotor_effect_border_pack_simple = 0x7f02006a;\n\t\tpublic static final int fotor_effect_border_pack_stamp = 0x7f02006b;\n\t\tpublic static final int fotor_effect_border_pack_styled = 0x7f02006c;\n\t\tpublic static final int fotor_effect_favorites = 0x7f02006d;\n\t\tpublic static final int fotor_effect_favorites_default = 0x7f02006e;\n\t\tpublic static final int fotor_effect_favorites_pressed = 0x7f02006f;\n\t\tpublic static final int fotor_effect_fx_pack_analog = 0x7f020070;\n\t\tpublic static final int fotor_effect_fx_pack_art = 0x7f020071;\n\t\tpublic static final int fotor_effect_fx_pack_lomo = 0x7f020072;\n\t\tpublic static final int fotor_effect_fx_pack_oldpicture = 0x7f020073;\n\t\tpublic static final int fotor_effect_fx_pack_retro = 0x7f020074;\n\t\tpublic static final int fotor_effect_fx_pack_vintage = 0x7f020075;\n\t\tpublic static final int fotor_effects_add = 0x7f020076;\n\t\tpublic static final int fotor_effects_add1_default = 0x7f020077;\n\t\tpublic static final int fotor_effects_add2_default = 0x7f020078;\n\t\tpublic static final int fotor_effects_add3_default = 0x7f020079;\n\t\tpublic static final int fotor_effects_add3_pressed = 0x7f02007a;\n\t\tpublic static final int fotor_effects_add_default = 0x7f02007b;\n\t\tpublic static final int fotor_effects_add_pressed = 0x7f02007c;\n\t\tpublic static final int fotor_effects_add_unavailable = 0x7f02007d;\n\t\tpublic static final int fotor_effects_analog_default = 0x7f02007e;\n\t\tpublic static final int fotor_effects_analog_pressed = 0x7f02007f;\n\t\tpublic static final int fotor_effects_art_default = 0x7f020080;\n\t\tpublic static final int fotor_effects_art_pressed = 0x7f020081;\n\t\tpublic static final int fotor_effects_delete_default = 0x7f020082;\n\t\tpublic static final int fotor_effects_delete_pressed = 0x7f020083;\n\t\tpublic static final int fotor_effects_favorites = 0x7f020084;\n\t\tpublic static final int fotor_effects_favorites1_default = 0x7f020085;\n\t\tpublic static final int fotor_effects_favorites2_default = 0x7f020086;\n\t\tpublic static final int fotor_effects_favorites_default = 0x7f020087;\n\t\tpublic static final int fotor_effects_favorites_pressed = 0x7f020088;\n\t\tpublic static final int fotor_effects_lomo_default = 0x7f020089;\n\t\tpublic static final int fotor_effects_lomo_pressed = 0x7f02008a;\n\t\tpublic static final int fotor_effects_minus = 0x7f02008b;\n\t\tpublic static final int fotor_effects_minus_default = 0x7f02008c;\n\t\tpublic static final int fotor_effects_minus_pressed = 0x7f02008d;\n\t\tpublic static final int fotor_effects_minus_unavailable = 0x7f02008e;\n\t\tpublic static final int fotor_effects_neon_default = 0x7f02008f;\n\t\tpublic static final int fotor_effects_neon_pressed = 0x7f020090;\n\t\tpublic static final int fotor_effects_old_picture_default = 0x7f020091;\n\t\tpublic static final int fotor_effects_old_picture_pressed = 0x7f020092;\n\t\tpublic static final int fotor_effects_retro_default = 0x7f020093;\n\t\tpublic static final int fotor_effects_retro_pressed = 0x7f020094;\n\t\tpublic static final int fotor_effects_vintage_default = 0x7f020095;\n\t\tpublic static final int fotor_effects_vintage_pressed = 0x7f020096;\n\t\tpublic static final int fotor_enhance_high = 0x7f020097;\n\t\tpublic static final int fotor_enhance_high_default = 0x7f020098;\n\t\tpublic static final int fotor_enhance_high_pressed = 0x7f020099;\n\t\tpublic static final int fotor_enhance_low = 0x7f02009a;\n\t\tpublic static final int fotor_enhance_low_default = 0x7f02009b;\n\t\tpublic static final int fotor_enhance_low_pressed = 0x7f02009c;\n\t\tpublic static final int fotor_enhance_medium = 0x7f02009d;\n\t\tpublic static final int fotor_enhance_medium_default = 0x7f02009e;\n\t\tpublic static final int fotor_enhance_medium_pressed = 0x7f02009f;\n\t\tpublic static final int fotor_feature_adjust = 0x7f0200a0;\n\t\tpublic static final int fotor_feature_adjust_advance = 0x7f0200a1;\n\t\tpublic static final int fotor_feature_border = 0x7f0200a2;\n\t\tpublic static final int fotor_feature_crop = 0x7f0200a3;\n\t\tpublic static final int fotor_feature_enhance = 0x7f0200a4;\n\t\tpublic static final int fotor_feature_fx_effects = 0x7f0200a5;\n\t\tpublic static final int fotor_feature_rotate = 0x7f0200a6;\n\t\tpublic static final int fotor_feature_scenes = 0x7f0200a7;\n\t\tpublic static final int fotor_feature_stickers = 0x7f0200a8;\n\t\tpublic static final int fotor_feature_text = 0x7f0200a9;\n\t\tpublic static final int fotor_feature_tilt_shift = 0x7f0200aa;\n\t\tpublic static final int fotor_fonts_pack_art = 0x7f0200ab;\n\t\tpublic static final int fotor_fonts_pack_charm = 0x7f0200ac;\n\t\tpublic static final int fotor_fonts_pack_classic = 0x7f0200ad;\n\t\tpublic static final int fotor_fonts_pack_happy = 0x7f0200ae;\n\t\tpublic static final int fotor_fx_effect_effects_listview_item_background = 0x7f0200af;\n\t\tpublic static final int fotor_header_redo_button = 0x7f0200b0;\n\t\tpublic static final int fotor_header_undo_button = 0x7f0200b1;\n\t\tpublic static final int fotor_hlv_overscroll_edge = 0x7f0200b2;\n\t\tpublic static final int fotor_hlv_overscroll_glow = 0x7f0200b3;\n\t\tpublic static final int fotor_main_apply_button = 0x7f0200b4;\n\t\tpublic static final int fotor_main_apply_default = 0x7f0200b5;\n\t\tpublic static final int fotor_main_apply_pressed = 0x7f0200b6;\n\t\tpublic static final int fotor_main_loading_background = 0x7f0200b7;\n\t\tpublic static final int fotor_main_redo_default = 0x7f0200b8;\n\t\tpublic static final int fotor_main_redo_pressed = 0x7f0200b9;\n\t\tpublic static final int fotor_main_redo_unavailable = 0x7f0200ba;\n\t\tpublic static final int fotor_main_undo_default = 0x7f0200bb;\n\t\tpublic static final int fotor_main_undo_pressed = 0x7f0200bc;\n\t\tpublic static final int fotor_main_undo_unavailable = 0x7f0200bd;\n\t\tpublic static final int fotor_public_slider_layer_list = 0x7f0200be;\n\t\tpublic static final int fotor_public_slider_thumb = 0x7f0200bf;\n\t\tpublic static final int fotor_public_slider_thumb_selector = 0x7f0200c0;\n\t\tpublic static final int fotor_public_slider_value_background = 0x7f0200c1;\n\t\tpublic static final int fotor_rotate_fh_button = 0x7f0200c2;\n\t\tpublic static final int fotor_rotate_fh_default = 0x7f0200c3;\n\t\tpublic static final int fotor_rotate_fh_pressed = 0x7f0200c4;\n\t\tpublic static final int fotor_rotate_fv_button = 0x7f0200c5;\n\t\tpublic static final int fotor_rotate_fv_default = 0x7f0200c6;\n\t\tpublic static final int fotor_rotate_fv_pressed = 0x7f0200c7;\n\t\tpublic static final int fotor_rotate_left_button = 0x7f0200c8;\n\t\tpublic static final int fotor_rotate_left_default = 0x7f0200c9;\n\t\tpublic static final int fotor_rotate_left_pressed = 0x7f0200ca;\n\t\tpublic static final int fotor_rotate_right_button = 0x7f0200cb;\n\t\tpublic static final int fotor_rotate_right_default = 0x7f0200cc;\n\t\tpublic static final int fotor_rotate_right_pressed = 0x7f0200cd;\n\t\tpublic static final int fotor_scenes_backlit = 0x7f0200ce;\n\t\tpublic static final int fotor_scenes_backlit_default = 0x7f0200cf;\n\t\tpublic static final int fotor_scenes_backlit_pressed = 0x7f0200d0;\n\t\tpublic static final int fotor_scenes_cloudy = 0x7f0200d1;\n\t\tpublic static final int fotor_scenes_cloudy_default = 0x7f0200d2;\n\t\tpublic static final int fotor_scenes_cloudy_pressed = 0x7f0200d3;\n\t\tpublic static final int fotor_scenes_darken = 0x7f0200d4;\n\t\tpublic static final int fotor_scenes_darken_default = 0x7f0200d5;\n\t\tpublic static final int fotor_scenes_darken_pressed = 0x7f0200d6;\n\t\tpublic static final int fotor_scenes_flash = 0x7f0200d7;\n\t\tpublic static final int fotor_scenes_flash_default = 0x7f0200d8;\n\t\tpublic static final int fotor_scenes_flash_pressed = 0x7f0200d9;\n\t\tpublic static final int fotor_scenes_fluores_default = 0x7f0200da;\n\t\tpublic static final int fotor_scenes_fluores_pressed = 0x7f0200db;\n\t\tpublic static final int fotor_scenes_fluorescent = 0x7f0200dc;\n\t\tpublic static final int fotor_scenes_food = 0x7f0200dd;\n\t\tpublic static final int fotor_scenes_food_default = 0x7f0200de;\n\t\tpublic static final int fotor_scenes_food_pressed = 0x7f0200df;\n\t\tpublic static final int fotor_scenes_landscape = 0x7f0200e0;\n\t\tpublic static final int fotor_scenes_landscape_default = 0x7f0200e1;\n\t\tpublic static final int fotor_scenes_landscape_pressed = 0x7f0200e2;\n\t\tpublic static final int fotor_scenes_night = 0x7f0200e3;\n\t\tpublic static final int fotor_scenes_night_default = 0x7f0200e4;\n\t\tpublic static final int fotor_scenes_night_pressed = 0x7f0200e5;\n\t\tpublic static final int fotor_scenes_original = 0x7f0200e6;\n\t\tpublic static final int fotor_scenes_original_default = 0x7f0200e7;\n\t\tpublic static final int fotor_scenes_original_pressed = 0x7f0200e8;\n\t\tpublic static final int fotor_scenes_portrait = 0x7f0200e9;\n\t\tpublic static final int fotor_scenes_portrait_default = 0x7f0200ea;\n\t\tpublic static final int fotor_scenes_portrait_pressed = 0x7f0200eb;\n\t\tpublic static final int fotor_scenes_sand_snow = 0x7f0200ec;\n\t\tpublic static final int fotor_scenes_seasid_default = 0x7f0200ed;\n\t\tpublic static final int fotor_scenes_seasid_pressed = 0x7f0200ee;\n\t\tpublic static final int fotor_scenes_shade = 0x7f0200ef;\n\t\tpublic static final int fotor_scenes_shade_default = 0x7f0200f0;\n\t\tpublic static final int fotor_scenes_shade_pressed = 0x7f0200f1;\n\t\tpublic static final int fotor_scenes_sunset = 0x7f0200f2;\n\t\tpublic static final int fotor_scenes_sunset_default = 0x7f0200f3;\n\t\tpublic static final int fotor_scenes_sunset_pressed = 0x7f0200f4;\n\t\tpublic static final int fotor_scenes_theatre = 0x7f0200f5;\n\t\tpublic static final int fotor_scenes_theatre_default = 0x7f0200f6;\n\t\tpublic static final int fotor_scenes_theatre_pressed = 0x7f0200f7;\n\t\tpublic static final int fotor_slider_blue = 0x7f0200f8;\n\t\tpublic static final int fotor_slider_blue_layer_list = 0x7f0200f9;\n\t\tpublic static final int fotor_slider_green = 0x7f0200fa;\n\t\tpublic static final int fotor_slider_green_layer_list = 0x7f0200fb;\n\t\tpublic static final int fotor_slider_public_bg = 0x7f0200fc;\n\t\tpublic static final int fotor_slider_public_process = 0x7f0200fd;\n\t\tpublic static final int fotor_slider_red = 0x7f0200fe;\n\t\tpublic static final int fotor_slider_red_layer_list = 0x7f0200ff;\n\t\tpublic static final int fotor_sticker_delete_button = 0x7f020100;\n\t\tpublic static final int fotor_sticker_delete_default = 0x7f020101;\n\t\tpublic static final int fotor_sticker_delete_pressed = 0x7f020102;\n\t\tpublic static final int fotor_sticker_reset_button = 0x7f020103;\n\t\tpublic static final int fotor_sticker_reset_default = 0x7f020104;\n\t\tpublic static final int fotor_sticker_reset_pressed = 0x7f020105;\n\t\tpublic static final int fotor_sticker_zoom_button = 0x7f020106;\n\t\tpublic static final int fotor_sticker_zoom_default = 0x7f020107;\n\t\tpublic static final int fotor_sticker_zoom_pressed = 0x7f020108;\n\t\tpublic static final int fotor_stickers_boom_default = 0x7f020109;\n\t\tpublic static final int fotor_stickers_boom_pressed = 0x7f02010a;\n\t\tpublic static final int fotor_stickers_button_background_state = 0x7f02010b;\n\t\tpublic static final int fotor_stickers_decoration_default = 0x7f02010c;\n\t\tpublic static final int fotor_stickers_decoration_pressed = 0x7f02010d;\n\t\tpublic static final int fotor_stickers_love_default = 0x7f02010e;\n\t\tpublic static final int fotor_stickers_love_pressed = 0x7f02010f;\n\t\tpublic static final int fotor_stickers_pack_boom = 0x7f020110;\n\t\tpublic static final int fotor_stickers_pack_decoration = 0x7f020111;\n\t\tpublic static final int fotor_stickers_pack_love = 0x7f020112;\n\t\tpublic static final int fotor_stickers_pack_party = 0x7f020113;\n\t\tpublic static final int fotor_stickers_pack_text = 0x7f020114;\n\t\tpublic static final int fotor_stickers_party_default = 0x7f020115;\n\t\tpublic static final int fotor_stickers_party_pressed = 0x7f020116;\n\t\tpublic static final int fotor_stickers_text_default = 0x7f020117;\n\t\tpublic static final int fotor_stickers_text_pressed = 0x7f020118;\n\t\tpublic static final int fotor_text_add_button = 0x7f020119;\n\t\tpublic static final int fotor_text_add_default = 0x7f02011a;\n\t\tpublic static final int fotor_text_add_pressed = 0x7f02011b;\n\t\tpublic static final int fotor_text_add_unavailable = 0x7f02011c;\n\t\tpublic static final int fotor_text_align_center_button = 0x7f02011d;\n\t\tpublic static final int fotor_text_align_left_button = 0x7f02011e;\n\t\tpublic static final int fotor_text_align_right_button = 0x7f02011f;\n\t\tpublic static final int fotor_text_bg_default = 0x7f020120;\n\t\tpublic static final int fotor_text_bg_pressed = 0x7f020121;\n\t\tpublic static final int fotor_text_bold_default = 0x7f020122;\n\t\tpublic static final int fotor_text_bold_pressed = 0x7f020123;\n\t\tpublic static final int fotor_text_bold_unavailable = 0x7f020124;\n\t\tpublic static final int fotor_text_center_alignment_default = 0x7f020125;\n\t\tpublic static final int fotor_text_center_alignment_pressed = 0x7f020126;\n\t\tpublic static final int fotor_text_color_button = 0x7f020127;\n\t\tpublic static final int fotor_text_color_color_button = 0x7f020128;\n\t\tpublic static final int fotor_text_color_color_default = 0x7f020129;\n\t\tpublic static final int fotor_text_color_color_pressed = 0x7f02012a;\n\t\tpublic static final int fotor_text_color_default = 0x7f02012b;\n\t\tpublic static final int fotor_text_color_pressed = 0x7f02012c;\n\t\tpublic static final int fotor_text_color_texture_button = 0x7f02012d;\n\t\tpublic static final int fotor_text_color_texture_default = 0x7f02012e;\n\t\tpublic static final int fotor_text_color_texture_pressed = 0x7f02012f;\n\t\tpublic static final int fotor_text_delete_button = 0x7f020130;\n\t\tpublic static final int fotor_text_delete_default = 0x7f020131;\n\t\tpublic static final int fotor_text_delete_pressed = 0x7f020132;\n\t\tpublic static final int fotor_text_done_button = 0x7f020133;\n\t\tpublic static final int fotor_text_done_default = 0x7f020134;\n\t\tpublic static final int fotor_text_done_pressed = 0x7f020135;\n\t\tpublic static final int fotor_text_item_background = 0x7f020136;\n\t\tpublic static final int fotor_text_keyboard_button = 0x7f020137;\n\t\tpublic static final int fotor_text_keyboard_default = 0x7f020138;\n\t\tpublic static final int fotor_text_keyboard_pressed = 0x7f020139;\n\t\tpublic static final int fotor_text_left_alignment_default = 0x7f02013a;\n\t\tpublic static final int fotor_text_left_alignment_pressed = 0x7f02013b;\n\t\tpublic static final int fotor_text_left_rote_default = 0x7f02013c;\n\t\tpublic static final int fotor_text_left_rote_pressed = 0x7f02013d;\n\t\tpublic static final int fotor_text_left_shadow_default = 0x7f02013e;\n\t\tpublic static final int fotor_text_left_shadow_pressed = 0x7f02013f;\n\t\tpublic static final int fotor_text_lock = 0x7f020140;\n\t\tpublic static final int fotor_text_no_shadow_default = 0x7f020141;\n\t\tpublic static final int fotor_text_no_shadow_pressed = 0x7f020142;\n\t\tpublic static final int fotor_text_oblique_default = 0x7f020143;\n\t\tpublic static final int fotor_text_oblique_pressed = 0x7f020144;\n\t\tpublic static final int fotor_text_oblique_unavailable = 0x7f020145;\n\t\tpublic static final int fotor_text_option_button = 0x7f020146;\n\t\tpublic static final int fotor_text_option_default = 0x7f020147;\n\t\tpublic static final int fotor_text_option_pressed = 0x7f020148;\n\t\tpublic static final int fotor_text_right_alignment_default = 0x7f020149;\n\t\tpublic static final int fotor_text_right_alignment_pressed = 0x7f02014a;\n\t\tpublic static final int fotor_text_right_rote_default = 0x7f02014b;\n\t\tpublic static final int fotor_text_right_rote_pressed = 0x7f02014c;\n\t\tpublic static final int fotor_text_right_shadow_default = 0x7f02014d;\n\t\tpublic static final int fotor_text_right_shadow_pressed = 0x7f02014e;\n\t\tpublic static final int fotor_text_rotation_left_button = 0x7f02014f;\n\t\tpublic static final int fotor_text_rotation_right_button = 0x7f020150;\n\t\tpublic static final int fotor_text_shadow_bottom_button = 0x7f020151;\n\t\tpublic static final int fotor_text_shadow_left_button = 0x7f020152;\n\t\tpublic static final int fotor_text_shadow_right_button = 0x7f020153;\n\t\tpublic static final int fotor_text_size_minus_button = 0x7f020154;\n\t\tpublic static final int fotor_text_size_minus_default = 0x7f020155;\n\t\tpublic static final int fotor_text_size_minus_pressed = 0x7f020156;\n\t\tpublic static final int fotor_text_size_plus_button = 0x7f020157;\n\t\tpublic static final int fotor_text_size_plus_default = 0x7f020158;\n\t\tpublic static final int fotor_text_size_plus_pressed = 0x7f020159;\n\t\tpublic static final int fotor_text_style_bold_button = 0x7f02015a;\n\t\tpublic static final int fotor_text_style_italic_button = 0x7f02015b;\n\t\tpublic static final int fotor_text_texture1 = 0x7f02015c;\n\t\tpublic static final int fotor_text_texture10 = 0x7f02015d;\n\t\tpublic static final int fotor_text_texture11 = 0x7f02015e;\n\t\tpublic static final int fotor_text_texture12 = 0x7f02015f;\n\t\tpublic static final int fotor_text_texture13 = 0x7f020160;\n\t\tpublic static final int fotor_text_texture14 = 0x7f020161;\n\t\tpublic static final int fotor_text_texture15 = 0x7f020162;\n\t\tpublic static final int fotor_text_texture16 = 0x7f020163;\n\t\tpublic static final int fotor_text_texture17 = 0x7f020164;\n\t\tpublic static final int fotor_text_texture18 = 0x7f020165;\n\t\tpublic static final int fotor_text_texture19 = 0x7f020166;\n\t\tpublic static final int fotor_text_texture2 = 0x7f020167;\n\t\tpublic static final int fotor_text_texture20 = 0x7f020168;\n\t\tpublic static final int fotor_text_texture3 = 0x7f020169;\n\t\tpublic static final int fotor_text_texture4 = 0x7f02016a;\n\t\tpublic static final int fotor_text_texture5 = 0x7f02016b;\n\t\tpublic static final int fotor_text_texture6 = 0x7f02016c;\n\t\tpublic static final int fotor_text_texture7 = 0x7f02016d;\n\t\tpublic static final int fotor_text_texture8 = 0x7f02016e;\n\t\tpublic static final int fotor_text_texture9 = 0x7f02016f;\n\t\tpublic static final int fotor_text_typeface_art_default = 0x7f020170;\n\t\tpublic static final int fotor_text_typeface_art_pressed = 0x7f020171;\n\t\tpublic static final int fotor_text_typeface_button = 0x7f020172;\n\t\tpublic static final int fotor_text_typeface_charm_default = 0x7f020173;\n\t\tpublic static final int fotor_text_typeface_charm_pressed = 0x7f020174;\n\t\tpublic static final int fotor_text_typeface_classic_default = 0x7f020175;\n\t\tpublic static final int fotor_text_typeface_classic_pressed = 0x7f020176;\n\t\tpublic static final int fotor_text_typeface_default = 0x7f020177;\n\t\tpublic static final int fotor_text_typeface_happy_default = 0x7f020178;\n\t\tpublic static final int fotor_text_typeface_happy_pressed = 0x7f020179;\n\t\tpublic static final int fotor_text_typeface_pressed = 0x7f02017a;\n\t\tpublic static final int fotor_tilt_shift_blur_button = 0x7f02017b;\n\t\tpublic static final int fotor_tilt_shift_blur_default = 0x7f02017c;\n\t\tpublic static final int fotor_tilt_shift_blur_pressed = 0x7f02017d;\n\t\tpublic static final int fotor_tilt_shift_circle_button = 0x7f02017e;\n\t\tpublic static final int fotor_tilt_shift_circle_default = 0x7f02017f;\n\t\tpublic static final int fotor_tilt_shift_circle_pressed = 0x7f020180;\n\t\tpublic static final int fotor_tilt_shift_ellipse_button = 0x7f020181;\n\t\tpublic static final int fotor_tilt_shift_ellipse_default = 0x7f020182;\n\t\tpublic static final int fotor_tilt_shift_ellipse_pressed = 0x7f020183;\n\t\tpublic static final int fotor_tilt_shift_linear_button = 0x7f020184;\n\t\tpublic static final int fotor_tilt_shift_linear_default = 0x7f020185;\n\t\tpublic static final int fotor_tilt_shift_linear_pressed = 0x7f020186;\n\t\tpublic static final int fotor_tilt_shift_strength_button = 0x7f020187;\n\t\tpublic static final int fotor_tilt_shift_strength_default = 0x7f020188;\n\t\tpublic static final int fotor_tilt_shift_strength_pressed = 0x7f020189;\n\t\tpublic static final int fotor_title_back_btn_icon = 0x7f02018a;\n\t\tpublic static final int fotor_title_back_btn_icon_default = 0x7f02018b;\n\t\tpublic static final int fotor_title_back_btn_icon_pressed = 0x7f02018c;\n\t\tpublic static final int fotor_transparent = 0x7f02018d;\n\t\tpublic static final int ic_error = 0x7f02018e;\n\t}\n\tpublic static final class id {\n\t\tpublic static final int alwaysScroll = 0x7f0a0002;\n\t\tpublic static final int disabled = 0x7f0a0000;\n\t\tpublic static final int fotor_action_settings = 0x7f0a0082;\n\t\tpublic static final int fotor_adjust_curve_reset_button = 0x7f0a0015;\n\t\tpublic static final int fotor_adjust_curve_toggle_button = 0x7f0a0014;\n\t\tpublic static final int fotor_adjust_pan_container = 0x7f0a0017;\n\t\tpublic static final int fotor_adjust_slider = 0x7f0a001b;\n\t\tpublic static final int fotor_adjust_slider_b = 0x7f0a001a;\n\t\tpublic static final int fotor_adjust_slider_g = 0x7f0a0019;\n\t\tpublic static final int fotor_adjust_slider_r = 0x7f0a0018;\n\t\tpublic static final int fotor_adjust_tools_container = 0x7f0a0016;\n\t\tpublic static final int fotor_camera_captureBtn = 0x7f0a0010;\n\t\tpublic static final int fotor_camera_focus_indicator = 0x7f0a0011;\n\t\tpublic static final int fotor_camera_footer_layout = 0x7f0a000f;\n\t\tpublic static final int fotor_camera_header_button = 0x7f0a000e;\n\t\tpublic static final int fotor_camera_header_layout = 0x7f0a000d;\n\t\tpublic static final int fotor_camera_main_layout = 0x7f0a000a;\n\t\tpublic static final int fotor_camera_preview = 0x7f0a000c;\n\t\tpublic static final int fotor_camera_preview_layout = 0x7f0a000b;\n\t\tpublic static final int fotor_content_layer = 0x7f0a006f;\n\t\tpublic static final int fotor_crop_btn_left_bottom = 0x7f0a001e;\n\t\tpublic static final int fotor_crop_btn_left_top = 0x7f0a001d;\n\t\tpublic static final int fotor_crop_btn_right_bottom = 0x7f0a0020;\n\t\tpublic static final int fotor_crop_btn_right_top = 0x7f0a001f;\n\t\tpublic static final int fotor_crop_buttons_container = 0x7f0a001c;\n\t\tpublic static final int fotor_crop_line_bottom = 0x7f0a0022;\n\t\tpublic static final int fotor_crop_line_left = 0x7f0a0023;\n\t\tpublic static final int fotor_crop_line_right = 0x7f0a0024;\n\t\tpublic static final int fotor_crop_line_top = 0x7f0a0021;\n\t\tpublic static final int fotor_crop_operation_container = 0x7f0a0025;\n\t\tpublic static final int fotor_crop_ratio_button = 0x7f0a0029;\n\t\tpublic static final int fotor_crop_restore = 0x7f0a0028;\n\t\tpublic static final int fotor_crop_slider = 0x7f0a0027;\n\t\tpublic static final int fotor_feature_draw_panel_container = 0x7f0a0070;\n\t\tpublic static final int fotor_feature_title = 0x7f0a007d;\n\t\tpublic static final int fotor_fitscreen_imageview = 0x7f0a002f;\n\t\tpublic static final int fotor_footerContainer = 0x7f0a0075;\n\t\tpublic static final int fotor_fx_effect_add = 0x7f0a003b;\n\t\tpublic static final int fotor_fx_effect_add_or_delete = 0x7f0a003a;\n\t\tpublic static final int fotor_fx_effect_blend_slider = 0x7f0a0035;\n\t\tpublic static final int fotor_fx_effect_category_container = 0x7f0a002a;\n\t\tpublic static final int fotor_fx_effect_category_listview = 0x7f0a002b;\n\t\tpublic static final int fotor_fx_effect_category_loading_container = 0x7f0a002c;\n\t\tpublic static final int fotor_fx_effect_category_loading_pb = 0x7f0a003e;\n\t\tpublic static final int fotor_fx_effect_container = 0x7f0a002d;\n\t\tpublic static final int fotor_fx_effect_effects_listview_item_imageview = 0x7f0a0031;\n\t\tpublic static final int fotor_fx_effect_effects_listview_item_progressbar = 0x7f0a0033;\n\t\tpublic static final int fotor_fx_effect_effects_listview_item_selector = 0x7f0a0034;\n\t\tpublic static final int fotor_fx_effect_effects_listview_item_textview = 0x7f0a0032;\n\t\tpublic static final int fotor_fx_effect_favorites = 0x7f0a003d;\n\t\tpublic static final int fotor_fx_effect_imageview = 0x7f0a0030;\n\t\tpublic static final int fotor_fx_effect_listview = 0x7f0a002e;\n\t\tpublic static final int fotor_fx_effect_minus = 0x7f0a003c;\n\t\tpublic static final int fotor_fx_effect_superposed_choose_container = 0x7f0a0037;\n\t\tpublic static final int fotor_fx_effect_superposed_choose_listview = 0x7f0a0038;\n\t\tpublic static final int fotor_fx_effect_superposed_container = 0x7f0a0036;\n\t\tpublic static final int fotor_fx_effect_superposed_listview = 0x7f0a0039;\n\t\tpublic static final int fotor_headerContainer = 0x7f0a006e;\n\t\tpublic static final int fotor_imageView = 0x7f0a0071;\n\t\tpublic static final int fotor_image_top_layer = 0x7f0a0073;\n\t\tpublic static final int fotor_lock_event_view = 0x7f0a0077;\n\t\tpublic static final int fotor_main_apply = 0x7f0a0080;\n\t\tpublic static final int fotor_main_btn_redo = 0x7f0a007f;\n\t\tpublic static final int fotor_main_btn_undo = 0x7f0a007e;\n\t\tpublic static final int fotor_main_header_text_container = 0x7f0a007b;\n\t\tpublic static final int fotor_main_loading_view = 0x7f0a0072;\n\t\tpublic static final int fotor_main_title = 0x7f0a007c;\n\t\tpublic static final int fotor_navigation_button = 0x7f0a007a;\n\t\tpublic static final int fotor_operation_tool_background = 0x7f0a0026;\n\t\tpublic static final int fotor_operation_tool_layer = 0x7f0a0074;\n\t\tpublic static final int fotor_operations_container = 0x7f0a0079;\n\t\tpublic static final int fotor_progress = 0x7f0a0003;\n\t\tpublic static final int fotor_progress_bar = 0x7f0a0081;\n\t\tpublic static final int fotor_rotate_pan_container = 0x7f0a003f;\n\t\tpublic static final int fotor_scenes_pan_container = 0x7f0a0040;\n\t\tpublic static final int fotor_screen_top_layer = 0x7f0a0076;\n\t\tpublic static final int fotor_scroll_linear_layout = 0x7f0a0013;\n\t\tpublic static final int fotor_scroll_view = 0x7f0a0012;\n\t\tpublic static final int fotor_secondaryProgress = 0x7f0a0004;\n\t\tpublic static final int fotor_stickers_button = 0x7f0a0041;\n\t\tpublic static final int fotor_stickers_category_container = 0x7f0a0042;\n\t\tpublic static final int fotor_stickers_category_listview = 0x7f0a0043;\n\t\tpublic static final int fotor_stickers_category_loading_container = 0x7f0a0044;\n\t\tpublic static final int fotor_stickers_stickers_container = 0x7f0a0045;\n\t\tpublic static final int fotor_stickers_stickers_listview = 0x7f0a0046;\n\t\tpublic static final int fotor_text_add_button = 0x7f0a004a;\n\t\tpublic static final int fotor_text_align_center_button = 0x7f0a005a;\n\t\tpublic static final int fotor_text_align_left_button = 0x7f0a0059;\n\t\tpublic static final int fotor_text_align_right_button = 0x7f0a005b;\n\t\tpublic static final int fotor_text_color_button = 0x7f0a004f;\n\t\tpublic static final int fotor_text_color_color_button = 0x7f0a0047;\n\t\tpublic static final int fotor_text_color_texture_button = 0x7f0a0048;\n\t\tpublic static final int fotor_text_colors_container = 0x7f0a0049;\n\t\tpublic static final int fotor_text_done_button = 0x7f0a0051;\n\t\tpublic static final int fotor_text_keyboard_button = 0x7f0a004d;\n\t\tpublic static final int fotor_text_navigation_panel = 0x7f0a004c;\n\t\tpublic static final int fotor_text_opacity_slider = 0x7f0a005f;\n\t\tpublic static final int fotor_text_operation_container = 0x7f0a0052;\n\t\tpublic static final int fotor_text_option_button = 0x7f0a0050;\n\t\tpublic static final int fotor_text_rotation_left_button = 0x7f0a0055;\n\t\tpublic static final int fotor_text_rotation_right_button = 0x7f0a0056;\n\t\tpublic static final int fotor_text_shadow_bottom_button = 0x7f0a005d;\n\t\tpublic static final int fotor_text_shadow_left_button = 0x7f0a005c;\n\t\tpublic static final int fotor_text_shadow_right_button = 0x7f0a005e;\n\t\tpublic static final int fotor_text_size_minus_button = 0x7f0a0054;\n\t\tpublic static final int fotor_text_size_plus_button = 0x7f0a0053;\n\t\tpublic static final int fotor_text_style_bold_button = 0x7f0a0057;\n\t\tpublic static final int fotor_text_style_italic_button = 0x7f0a0058;\n\t\tpublic static final int fotor_text_typeface_button = 0x7f0a004e;\n\t\tpublic static final int fotor_text_typeface_category_btn = 0x7f0a0060;\n\t\tpublic static final int fotor_text_typeface_category_list = 0x7f0a0065;\n\t\tpublic static final int fotor_text_typeface_category_lock = 0x7f0a0061;\n\t\tpublic static final int fotor_text_typeface_imageview = 0x7f0a0064;\n\t\tpublic static final int fotor_text_typeface_item = 0x7f0a0062;\n\t\tpublic static final int fotor_text_typeface_list = 0x7f0a0066;\n\t\tpublic static final int fotor_text_typeface_textview = 0x7f0a0063;\n\t\tpublic static final int fotor_texts_category_loading_container = 0x7f0a004b;\n\t\tpublic static final int fotor_tilt_shift_circle = 0x7f0a0067;\n\t\tpublic static final int fotor_tilt_shift_ellipse = 0x7f0a0069;\n\t\tpublic static final int fotor_tilt_shift_gradient = 0x7f0a006a;\n\t\tpublic static final int fotor_tilt_shift_linear = 0x7f0a0068;\n\t\tpublic static final int fotor_tilt_shift_slider = 0x7f0a006c;\n\t\tpublic static final int fotor_tilt_shift_strength = 0x7f0a006b;\n\t\tpublic static final int fotor_tools_container = 0x7f0a0078;\n\t\tpublic static final int fotor_zoom_imageview = 0x7f0a006d;\n\t\tpublic static final int normal = 0x7f0a0001;\n\t}\n\tpublic static final class integer {\n\t\tpublic static final int fotor_anim_medium_duration = 0x7f070001;\n\t\tpublic static final int fotor_anim_short_duration = 0x7f070000;\n\t\tpublic static final int fotor_default_slider_adjustDistance = 0x7f070002;\n\t}\n\tpublic static final class layout {\n\t\tpublic static final int fotor_camera_main = 0x7f030001;\n\t\tpublic static final int fotor_default_bottom_layout = 0x7f030002;\n\t\tpublic static final int fotor_feature_adjust_operation_curve_controller = 0x7f030003;\n\t\tpublic static final int fotor_feature_adjust_operation_panel = 0x7f030004;\n\t\tpublic static final int fotor_feature_adjust_operation_rgb_tools = 0x7f030005;\n\t\tpublic static final int fotor_feature_adjust_operation_tools = 0x7f030006;\n\t\tpublic static final int fotor_feature_border_effect_operation_panel = 0x7f030007;\n\t\tpublic static final int fotor_feature_crop_maskview = 0x7f030008;\n\t\tpublic static final int fotor_feature_crop_operation_panel = 0x7f030009;\n\t\tpublic static final int fotor_feature_crop_operation_tools = 0x7f03000a;\n\t\tpublic static final int fotor_feature_crop_ratio_item = 0x7f03000b;\n\t\tpublic static final int fotor_feature_effect_operation_panel = 0x7f03000c;\n\t\tpublic static final int fotor_feature_enhance_operation_panel = 0x7f03000d;\n\t\tpublic static final int fotor_feature_fitscreen_draw_panel = 0x7f03000e;\n\t\tpublic static final int fotor_feature_fx_effect_draw_panel = 0x7f03000f;\n\t\tpublic static final int fotor_feature_fx_effect_effects_listview_item = 0x7f030010;\n\t\tpublic static final int fotor_feature_fx_effect_operation_blend_tools = 0x7f030011;\n\t\tpublic static final int fotor_feature_fx_effect_operation_panel = 0x7f030012;\n\t\tpublic static final int fotor_feature_fx_effect_operation_superposed_tools = 0x7f030013;\n\t\tpublic static final int fotor_feature_fx_effect_operation_tools = 0x7f030014;\n\t\tpublic static final int fotor_feature_operation_loading_component = 0x7f030015;\n\t\tpublic static final int fotor_feature_rotate_operation_panel = 0x7f030016;\n\t\tpublic static final int fotor_feature_scenes_operation_panel = 0x7f030017;\n\t\tpublic static final int fotor_feature_stickers_item = 0x7f030018;\n\t\tpublic static final int fotor_feature_stickers_operation_panel = 0x7f030019;\n\t\tpublic static final int fotor_feature_text_color_panel = 0x7f03001a;\n\t\tpublic static final int fotor_feature_text_operation_panel = 0x7f03001b;\n\t\tpublic static final int fotor_feature_text_operation_tools = 0x7f03001c;\n\t\tpublic static final int fotor_feature_text_option_panel = 0x7f03001d;\n\t\tpublic static final int fotor_feature_text_typeface_category_item = 0x7f03001e;\n\t\tpublic static final int fotor_feature_text_typeface_item = 0x7f03001f;\n\t\tpublic static final int fotor_feature_text_typeface_panel = 0x7f030020;\n\t\tpublic static final int fotor_feature_tilt_shift_operation_panel = 0x7f030021;\n\t\tpublic static final int fotor_feature_tilt_shift_operation_tools = 0x7f030022;\n\t\tpublic static final int fotor_feature_zoom_draw_panel = 0x7f030023;\n\t\tpublic static final int fotor_loading_progress_medium = 0x7f030024;\n\t\tpublic static final int fotor_main = 0x7f030025;\n\t\tpublic static final int fotor_main_footer = 0x7f030026;\n\t\tpublic static final int fotor_main_footer_item = 0x7f030027;\n\t\tpublic static final int fotor_main_header = 0x7f030028;\n\t\tpublic static final int fotor_main_loadding = 0x7f030029;\n\t\tpublic static final int fotor_progress_medium = 0x7f03002a;\n\t}\n\tpublic static final class menu {\n\t\tpublic static final int fotor_camera_menu = 0x7f0c0000;\n\t}\n\tpublic static final class raw {\n\t\tpublic static final int basefilter = 0x7f050000;\n\t\tpublic static final int optimization = 0x7f050001;\n\t\tpublic static final int temporary = 0x7f050002;\n\t}\n\tpublic static final class string {\n\t\tpublic static final int fotor_adjust_brightness = 0x7f09001f;\n\t\tpublic static final int fotor_adjust_contrast = 0x7f090020;\n\t\tpublic static final int fotor_adjust_curve = 0x7f090029;\n\t\tpublic static final int fotor_adjust_curve_hide = 0x7f09002b;\n\t\tpublic static final int fotor_adjust_curve_reset = 0x7f09002c;\n\t\tpublic static final int fotor_adjust_curve_show = 0x7f09002a;\n\t\tpublic static final int fotor_adjust_highlight = 0x7f090025;\n\t\tpublic static final int fotor_adjust_rgb = 0x7f090028;\n\t\tpublic static final int fotor_adjust_saturation = 0x7f090021;\n\t\tpublic static final int fotor_adjust_shadow = 0x7f090024;\n\t\tpublic static final int fotor_adjust_sharpen = 0x7f090022;\n\t\tpublic static final int fotor_adjust_temp = 0x7f090026;\n\t\tpublic static final int fotor_adjust_tint = 0x7f090027;\n\t\tpublic static final int fotor_adjust_vignette = 0x7f090023;\n\t\tpublic static final int fotor_back = 0x7f09005a;\n\t\tpublic static final int fotor_crop_10_8 = 0x7f090049;\n\t\tpublic static final int fotor_crop_16_9 = 0x7f09004b;\n\t\tpublic static final int fotor_crop_1_1 = 0x7f090042;\n\t\tpublic static final int fotor_crop_3_4 = 0x7f090044;\n\t\tpublic static final int fotor_crop_4_3 = 0x7f090043;\n\t\tpublic static final int fotor_crop_4_6 = 0x7f090046;\n\t\tpublic static final int fotor_crop_5_7 = 0x7f090048;\n\t\tpublic static final int fotor_crop_6_4 = 0x7f090045;\n\t\tpublic static final int fotor_crop_7_5 = 0x7f090047;\n\t\tpublic static final int fotor_crop_8_10 = 0x7f09004a;\n\t\tpublic static final int fotor_crop_9_16 = 0x7f09004c;\n\t\tpublic static final int fotor_crop_free = 0x7f090040;\n\t\tpublic static final int fotor_crop_original = 0x7f090041;\n\t\tpublic static final int fotor_dialog_alert_message_plugin_update = 0x7f090069;\n\t\tpublic static final int fotor_dialog_alert_message_save = 0x7f09006b;\n\t\tpublic static final int fotor_dialog_alert_negative_save = 0x7f09006c;\n\t\tpublic static final int fotor_dialog_alert_positive_save = 0x7f09006d;\n\t\tpublic static final int fotor_dialog_alert_title_plugin_update = 0x7f09006e;\n\t\tpublic static final int fotor_dialog_alert_title_save = 0x7f09006a;\n\t\tpublic static final int fotor_effect_border_pack_gallery = 0x7f090007;\n\t\tpublic static final int fotor_effect_border_pack_simple = 0x7f090005;\n\t\tpublic static final int fotor_effect_border_pack_styled = 0x7f090006;\n\t\tpublic static final int fotor_effect_fx_pack_analog = 0x7f090000;\n\t\tpublic static final int fotor_effect_fx_pack_lomo = 0x7f090004;\n\t\tpublic static final int fotor_effect_fx_pack_oldpicture = 0x7f090001;\n\t\tpublic static final int fotor_effect_fx_pack_retro = 0x7f090002;\n\t\tpublic static final int fotor_effect_fx_pack_vintage = 0x7f090003;\n\t\tpublic static final int fotor_effect_store = 0x7f090068;\n\t\tpublic static final int fotor_enhance_high = 0x7f090059;\n\t\tpublic static final int fotor_enhance_low = 0x7f090057;\n\t\tpublic static final int fotor_enhance_medium = 0x7f090058;\n\t\tpublic static final int fotor_favorites = 0x7f09005d;\n\t\tpublic static final int fotor_feature_adjust = 0x7f090012;\n\t\tpublic static final int fotor_feature_adjust_advance = 0x7f090013;\n\t\tpublic static final int fotor_feature_border = 0x7f090015;\n\t\tpublic static final int fotor_feature_crop = 0x7f090016;\n\t\tpublic static final int fotor_feature_enhance = 0x7f090010;\n\t\tpublic static final int fotor_feature_fx_effects = 0x7f090014;\n\t\tpublic static final int fotor_feature_rotate = 0x7f090017;\n\t\tpublic static final int fotor_feature_scenes = 0x7f090011;\n\t\tpublic static final int fotor_feature_stickers = 0x7f090018;\n\t\tpublic static final int fotor_feature_text = 0x7f09001a;\n\t\tpublic static final int fotor_feature_tilt_shift = 0x7f090019;\n\t\tpublic static final int fotor_font_assets_path = 0x7f090056;\n\t\tpublic static final int fotor_font_roboto_bold = 0x7f090054;\n\t\tpublic static final int fotor_font_roboto_bold_name = 0x7f090055;\n\t\tpublic static final int fotor_font_roboto_light = 0x7f090052;\n\t\tpublic static final int fotor_font_roboto_light_name = 0x7f090053;\n\t\tpublic static final int fotor_fonts_pack_charm = 0x7f090009;\n\t\tpublic static final int fotor_fonts_pack_classic = 0x7f090008;\n\t\tpublic static final int fotor_loading = 0x7f09005b;\n\t\tpublic static final int fotor_main_apply = 0x7f09001c;\n\t\tpublic static final int fotor_main_cancel = 0x7f09001b;\n\t\tpublic static final int fotor_main_redo = 0x7f09001e;\n\t\tpublic static final int fotor_main_undo = 0x7f09001d;\n\t\tpublic static final int fotor_original = 0x7f09005c;\n\t\tpublic static final int fotor_rotate_fliph = 0x7f090030;\n\t\tpublic static final int fotor_rotate_flipv = 0x7f09002f;\n\t\tpublic static final int fotor_rotate_left = 0x7f09002d;\n\t\tpublic static final int fotor_rotate_right = 0x7f09002e;\n\t\tpublic static final int fotor_scenes_auto = 0x7f090032;\n\t\tpublic static final int fotor_scenes_backlit = 0x7f090033;\n\t\tpublic static final int fotor_scenes_cloudy = 0x7f090035;\n\t\tpublic static final int fotor_scenes_darken = 0x7f090034;\n\t\tpublic static final int fotor_scenes_flash = 0x7f090039;\n\t\tpublic static final int fotor_scenes_fluorescent = 0x7f09003a;\n\t\tpublic static final int fotor_scenes_food = 0x7f09003f;\n\t\tpublic static final int fotor_scenes_landscape = 0x7f09003d;\n\t\tpublic static final int fotor_scenes_night = 0x7f090038;\n\t\tpublic static final int fotor_scenes_original = 0x7f090031;\n\t\tpublic static final int fotor_scenes_portrait = 0x7f09003b;\n\t\tpublic static final int fotor_scenes_sand_snow = 0x7f09003c;\n\t\tpublic static final int fotor_scenes_shade = 0x7f090036;\n\t\tpublic static final int fotor_scenes_sunset = 0x7f090037;\n\t\tpublic static final int fotor_scenes_theatre = 0x7f09003e;\n\t\tpublic static final int fotor_stickers_abstract = 0x7f090066;\n\t\tpublic static final int fotor_stickers_boom = 0x7f090067;\n\t\tpublic static final int fotor_stickers_pack_boom = 0x7f09000b;\n\t\tpublic static final int fotor_stickers_pack_decoration = 0x7f09000c;\n\t\tpublic static final int fotor_stickers_pack_love = 0x7f09000d;\n\t\tpublic static final int fotor_stickers_pack_party = 0x7f09000e;\n\t\tpublic static final int fotor_stickers_pack_text = 0x7f09000a;\n\t\tpublic static final int fotor_text_add_btn = 0x7f09005e;\n\t\tpublic static final int fotor_text_alignment = 0x7f090063;\n\t\tpublic static final int fotor_text_default_text = 0x7f09005f;\n\t\tpublic static final int fotor_text_opacity = 0x7f090065;\n\t\tpublic static final int fotor_text_rotation = 0x7f090061;\n\t\tpublic static final int fotor_text_shadow = 0x7f090064;\n\t\tpublic static final int fotor_text_style = 0x7f090062;\n\t\tpublic static final int fotor_text_textsize = 0x7f090060;\n\t\tpublic static final int fotor_tilt_shift_circle = 0x7f09004f;\n\t\tpublic static final int fotor_tilt_shift_ellipse = 0x7f090051;\n\t\tpublic static final int fotor_tilt_shift_gradient = 0x7f09004d;\n\t\tpublic static final int fotor_tilt_shift_linear = 0x7f090050;\n\t\tpublic static final int fotor_tilt_shift_strength = 0x7f09004e;\n\t\tpublic static final int fotor_title_main = 0x7f09000f;\n\t}\n\tpublic static final class style {\n\t\tpublic static final int FotorBaseTheme = 0x7f0b0009;\n\t\tpublic static final int FotorCustomSliderDefault = 0x7f0b0001;\n\t\tpublic static final int FotorTheme = 0x7f0b000a;\n\t\tpublic static final int FotorWidget = 0x7f0b0000;\n\t\tpublic static final int FotorWidget_EffectSelectorView = 0x7f0b0007;\n\t\tpublic static final int FotorWidget_NavigationButton = 0x7f0b0002;\n\t\tpublic static final int FotorWidget_TextButton = 0x7f0b0006;\n\t\tpublic static final int FotorWidget_TextView = 0x7f0b0005;\n\t\tpublic static final int FotorWidget_TitleBackButton = 0x7f0b0008;\n\t\tpublic static final int fotorHeaderButtonDefault = 0x7f0b0004;\n\t\tpublic static final int fotorOperToolPanelDefault = 0x7f0b0003;\n\t}\n\tpublic static final class styleable {\n\t\tpublic static final int[] AbsHListView = { 0x010100fb, 0x010100fc, 0x010100fe, 0x01010101, 0x0101012b, 0x01010231, 0x7f010036, 0x7f010037 };\n\t\tpublic static final int AbsHListView_android_cacheColorHint = 3;\n\t\tpublic static final int AbsHListView_android_choiceMode = 4;\n\t\tpublic static final int AbsHListView_android_drawSelectorOnTop = 1;\n\t\tpublic static final int AbsHListView_android_listSelector = 0;\n\t\tpublic static final int AbsHListView_android_scrollingCache = 2;\n\t\tpublic static final int AbsHListView_android_smoothScrollbar = 5;\n\t\tpublic static final int AbsHListView_stackFromRight = 6;\n\t\tpublic static final int AbsHListView_transcriptMode = 7;\n\t\tpublic static final int[] FotorCustomSlider = { 0x7f010015, 0x7f010016, 0x7f010017, 0x7f010018, 0x7f010019, 0x7f01001a, 0x7f01001b, 0x7f01001c };\n\t\tpublic static final int FotorCustomSlider_fotorCustomSlider_adjustYDistance = 0;\n\t\tpublic static final int FotorCustomSlider_fotorCustomSlider_isShowValue = 1;\n\t\tpublic static final int FotorCustomSlider_fotorCustomSlider_max = 6;\n\t\tpublic static final int FotorCustomSlider_fotorCustomSlider_progress = 7;\n\t\tpublic static final int FotorCustomSlider_fotorCustomSlider_progressDrawable = 5;\n\t\tpublic static final int FotorCustomSlider_fotorCustomSlider_thumb = 3;\n\t\tpublic static final int FotorCustomSlider_fotorCustomSlider_typeface = 4;\n\t\tpublic static final int FotorCustomSlider_fotorCustomSlider_valueBackground = 2;\n\t\tpublic static final int[] FotorEffectSelectorView = { 0x7f010026 };\n\t\tpublic static final int FotorEffectSelectorView_fotorEffectSelectorView_Color = 0;\n\t\tpublic static final int[] FotorHeaderButton = { 0x7f010025 };\n\t\tpublic static final int FotorHeaderButton_fotorHeaderButton_typeface = 0;\n\t\tpublic static final int[] FotorNavigationButton = { 0x7f01001d, 0x7f01001e, 0x7f01001f, 0x7f010020, 0x7f010021, 0x7f010022, 0x7f010023 };\n\t\tpublic static final int FotorNavigationButton_fotorNavigationBtn_color_default = 3;\n\t\tpublic static final int FotorNavigationButton_fotorNavigationBtn_color_disabled = 5;\n\t\tpublic static final int FotorNavigationButton_fotorNavigationBtn_color_pressed = 4;\n\t\tpublic static final int FotorNavigationButton_fotorNavigationBtn_isShowPressedBackground = 0;\n\t\tpublic static final int FotorNavigationButton_fotorNavigationBtn_pressed_background = 6;\n\t\tpublic static final int FotorNavigationButton_fotorNavigationBtn_text = 1;\n\t\tpublic static final int FotorNavigationButton_fotorNavigationBtn_typeface = 2;\n\t\tpublic static final int[] FotorOperToolPanel = { 0x7f010024 };\n\t\tpublic static final int FotorOperToolPanel_fotorOperToolPanel_bottomLine_Color = 0;\n\t\tpublic static final int[] FotorTextButton = { 0x7f010014 };\n\t\tpublic static final int FotorTextButton_fotorTextButton_typeface = 0;\n\t\tpublic static final int[] FotorTextView = { 0x7f010013 };\n\t\tpublic static final int FotorTextView_fotorTextView_typeface = 0;\n\t\tpublic static final int[] FotorTitleBackButton = { 0x7f010027, 0x7f010028, 0x7f010029, 0x7f01002a, 0x7f01002b };\n\t\tpublic static final int FotorTitleBackButton_fotorTitleBackButton_IconDrawable = 3;\n\t\tpublic static final int FotorTitleBackButton_fotorTitleBackButton_Text = 1;\n\t\tpublic static final int FotorTitleBackButton_fotorTitleBackButton_TextColor = 2;\n\t\tpublic static final int FotorTitleBackButton_fotorTitleBackButton_Textsize = 0;\n\t\tpublic static final int FotorTitleBackButton_fotorTitleBackButton_Typeface = 4;\n\t\tpublic static final int[] HListView = { 0x010100b2, 0x01010129, 0x7f010030, 0x7f010031, 0x7f010032, 0x7f010033, 0x7f010034, 0x7f010035 };\n\t\tpublic static final int HListView_android_divider = 1;\n\t\tpublic static final int HListView_android_entries = 0;\n\t\tpublic static final int HListView_dividerWidth = 2;\n\t\tpublic static final int HListView_footerDividersEnabled = 4;\n\t\tpublic static final int HListView_headerDividersEnabled = 3;\n\t\tpublic static final int HListView_measureWithChild = 7;\n\t\tpublic static final int HListView_overScrollFooter = 6;\n\t\tpublic static final int HListView_overScrollHeader = 5;\n\t\tpublic static final int[] Theme = { 0x7f010000, 0x7f010001, 0x7f010002, 0x7f010003, 0x7f010004, 0x7f010005, 0x7f010006, 0x7f010007, 0x7f010008, 0x7f010009, 0x7f01000a, 0x7f01000b, 0x7f01000c, 0x7f01000d, 0x7f01000e, 0x7f01000f, 0x7f010010, 0x7f010011, 0x7f010012 };\n\t\tpublic static final int Theme_fotorDefaultEffectSelectorViewStyle = 17;\n\t\tpublic static final int Theme_fotorDefaultHeaderButtonStyle = 16;\n\t\tpublic static final int Theme_fotorDefaultImageViewBackground = 14;\n\t\tpublic static final int Theme_fotorDefaultNavigateBtnStyle = 13;\n\t\tpublic static final int Theme_fotorDefaultOperToolPanelStyle = 15;\n\t\tpublic static final int Theme_fotorDefaultSliderStyle = 12;\n\t\tpublic static final int Theme_fotorDefaultTextButtonStyle = 11;\n\t\tpublic static final int Theme_fotorDefaultTextViewStyle = 10;\n\t\tpublic static final int Theme_fotorDefaultTitleBackButtonStyle = 18;\n\t\tpublic static final int Theme_fotorFontBold = 0;\n\t\tpublic static final int Theme_fotorFontLight = 1;\n\t\tpublic static final int Theme_fotorMainBottomHeight = 2;\n\t\tpublic static final int Theme_fotorMainFooterBackground = 6;\n\t\tpublic static final int Theme_fotorMainHeaderBackground = 7;\n\t\tpublic static final int Theme_fotorMainHeaderHeight = 4;\n\t\tpublic static final int Theme_fotorMainToolPanelBackground = 8;\n\t\tpublic static final int Theme_fotorMainToolPanelHeight = 3;\n\t\tpublic static final int Theme_fotorNavigationBtnWidth = 5;\n\t\tpublic static final int Theme_fotorTitleTextSize = 9;\n\t}\n}\n"
  },
  {
    "path": "FotorSDKDemo/gen/com/example/fotorsdkdemo/BuildConfig.java",
    "content": "/** Automatically generated file. DO NOT MODIFY */\npackage com.example.fotorsdkdemo;\n\npublic final class BuildConfig {\n    public final static boolean DEBUG = true;\n}"
  },
  {
    "path": "FotorSDKDemo/gen/com/example/fotorsdkdemo/R.java",
    "content": "/* AUTO-GENERATED FILE.  DO NOT MODIFY.\n *\n * This class was automatically generated by the\n * aapt tool from the resource data it found.  It\n * should not be modified by hand.\n */\n\npackage com.example.fotorsdkdemo;\n\npublic final class R {\n    public static final class anim {\n        public static final int fotor_camera_focus_anim=0x7f040000;\n        public static final int fotor_fit_view_fadein_animation=0x7f040001;\n        public static final int fotor_fit_view_fadeout_animation=0x7f040002;\n        public static final int fotor_footer_bar_in_animation=0x7f040003;\n        public static final int fotor_footer_bar_out_animation=0x7f040004;\n    }\n    public static final class attr {\n        /** <p>Must be a dimension value, which is a floating point number appended with a unit such as \"<code>14.5sp</code>\".\nAvailable units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),\nin (inches), mm (millimeters).\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n         */\n        public static final int dividerWidth=0x7f010030;\n        /** <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n         */\n        public static final int entries=0x7f01002f;\n        /** <p>Must be a boolean value, either \"<code>true</code>\" or \"<code>false</code>\".\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n         */\n        public static final int footerDividersEnabled=0x7f010032;\n        /** <p>Must be an integer value, such as \"<code>100</code>\".\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n         */\n        public static final int fotorCustomSlider_adjustYDistance=0x7f010015;\n        /** <p>Must be a boolean value, either \"<code>true</code>\" or \"<code>false</code>\".\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n         */\n        public static final int fotorCustomSlider_isShowValue=0x7f010016;\n        /** <p>Must be an integer value, such as \"<code>100</code>\".\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n         */\n        public static final int fotorCustomSlider_max=0x7f01001b;\n        /** <p>Must be an integer value, such as \"<code>100</code>\".\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n         */\n        public static final int fotorCustomSlider_progress=0x7f01001c;\n        /** <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n         */\n        public static final int fotorCustomSlider_progressDrawable=0x7f01001a;\n        /** <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n         */\n        public static final int fotorCustomSlider_thumb=0x7f010018;\n        /** <p>Must be a string value, using '\\\\;' to escape characters such as '\\\\n' or '\\\\uxxxx' for a unicode character.\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n         */\n        public static final int fotorCustomSlider_typeface=0x7f010019;\n        /** <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n         */\n        public static final int fotorCustomSlider_valueBackground=0x7f010017;\n        /** <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n         */\n        public static final int fotorDefaultEffectSelectorViewStyle=0x7f010011;\n        /** <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n         */\n        public static final int fotorDefaultHeaderButtonStyle=0x7f010010;\n        /** <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n         */\n        public static final int fotorDefaultImageViewBackground=0x7f01000e;\n        /** <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n         */\n        public static final int fotorDefaultNavigateBtnStyle=0x7f01000d;\n        /** <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n         */\n        public static final int fotorDefaultOperToolPanelStyle=0x7f01000f;\n        /**  default slider adjustDistance \n         <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n         */\n        public static final int fotorDefaultSliderStyle=0x7f01000c;\n        /** <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n         */\n        public static final int fotorDefaultTextButtonStyle=0x7f01000b;\n        /**  default text style \n         <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n         */\n        public static final int fotorDefaultTextViewStyle=0x7f01000a;\n        /** <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n         */\n        public static final int fotorDefaultTitleBackButtonStyle=0x7f010012;\n        /** <p>Must be a color value, in the form of \"<code>#<i>rgb</i></code>\", \"<code>#<i>argb</i></code>\",\n\"<code>#<i>rrggbb</i></code>\", or \"<code>#<i>aarrggbb</i></code>\".\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n         */\n        public static final int fotorEffectSelectorView_Color=0x7f010026;\n        /** <p>Must be a string value, using '\\\\;' to escape characters such as '\\\\n' or '\\\\uxxxx' for a unicode character.\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n         */\n        public static final int fotorFontBold=0x7f010000;\n        /** <p>Must be a string value, using '\\\\;' to escape characters such as '\\\\n' or '\\\\uxxxx' for a unicode character.\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n         */\n        public static final int fotorFontLight=0x7f010001;\n        /** <p>Must be a string value, using '\\\\;' to escape characters such as '\\\\n' or '\\\\uxxxx' for a unicode character.\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n         */\n        public static final int fotorHeaderButton_typeface=0x7f010025;\n        /** <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n         */\n        public static final int fotorMainBottomHeight=0x7f010002;\n        /** <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n         */\n        public static final int fotorMainFooterBackground=0x7f010006;\n        /** <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n         */\n        public static final int fotorMainHeaderBackground=0x7f010007;\n        /** <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n         */\n        public static final int fotorMainHeaderHeight=0x7f010004;\n        /** <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n         */\n        public static final int fotorMainToolPanelBackground=0x7f010008;\n        /** <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n         */\n        public static final int fotorMainToolPanelHeight=0x7f010003;\n        /** <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n         */\n        public static final int fotorNavigationBtnWidth=0x7f010005;\n        /** <p>Must be a color value, in the form of \"<code>#<i>rgb</i></code>\", \"<code>#<i>argb</i></code>\",\n\"<code>#<i>rrggbb</i></code>\", or \"<code>#<i>aarrggbb</i></code>\".\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n         */\n        public static final int fotorNavigationBtn_color_default=0x7f010020;\n        /** <p>Must be a color value, in the form of \"<code>#<i>rgb</i></code>\", \"<code>#<i>argb</i></code>\",\n\"<code>#<i>rrggbb</i></code>\", or \"<code>#<i>aarrggbb</i></code>\".\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n         */\n        public static final int fotorNavigationBtn_color_disabled=0x7f010022;\n        /** <p>Must be a color value, in the form of \"<code>#<i>rgb</i></code>\", \"<code>#<i>argb</i></code>\",\n\"<code>#<i>rrggbb</i></code>\", or \"<code>#<i>aarrggbb</i></code>\".\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n         */\n        public static final int fotorNavigationBtn_color_pressed=0x7f010021;\n        /** <p>Must be a boolean value, either \"<code>true</code>\" or \"<code>false</code>\".\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n         */\n        public static final int fotorNavigationBtn_isShowPressedBackground=0x7f01001d;\n        /** <p>Must be a color value, in the form of \"<code>#<i>rgb</i></code>\", \"<code>#<i>argb</i></code>\",\n\"<code>#<i>rrggbb</i></code>\", or \"<code>#<i>aarrggbb</i></code>\".\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n         */\n        public static final int fotorNavigationBtn_pressed_background=0x7f010023;\n        /** <p>Must be a string value, using '\\\\;' to escape characters such as '\\\\n' or '\\\\uxxxx' for a unicode character.\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n         */\n        public static final int fotorNavigationBtn_text=0x7f01001e;\n        /** <p>Must be a string value, using '\\\\;' to escape characters such as '\\\\n' or '\\\\uxxxx' for a unicode character.\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n         */\n        public static final int fotorNavigationBtn_typeface=0x7f01001f;\n        /** <p>Must be a color value, in the form of \"<code>#<i>rgb</i></code>\", \"<code>#<i>argb</i></code>\",\n\"<code>#<i>rrggbb</i></code>\", or \"<code>#<i>aarrggbb</i></code>\".\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n         */\n        public static final int fotorOperToolPanel_bottomLine_Color=0x7f010024;\n        /** <p>Must be a string value, using '\\\\;' to escape characters such as '\\\\n' or '\\\\uxxxx' for a unicode character.\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n         */\n        public static final int fotorTextButton_typeface=0x7f010014;\n        /** <p>Must be a string value, using '\\\\;' to escape characters such as '\\\\n' or '\\\\uxxxx' for a unicode character.\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n         */\n        public static final int fotorTextView_typeface=0x7f010013;\n        /** <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n         */\n        public static final int fotorTitleBackButton_IconDrawable=0x7f01002a;\n        /** <p>Must be a string value, using '\\\\;' to escape characters such as '\\\\n' or '\\\\uxxxx' for a unicode character.\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n         */\n        public static final int fotorTitleBackButton_Text=0x7f010028;\n        /** <p>May be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n<p>May be a color value, in the form of \"<code>#<i>rgb</i></code>\", \"<code>#<i>argb</i></code>\",\n\"<code>#<i>rrggbb</i></code>\", or \"<code>#<i>aarrggbb</i></code>\".\n         */\n        public static final int fotorTitleBackButton_TextColor=0x7f010029;\n        /** <p>Must be a dimension value, which is a floating point number appended with a unit such as \"<code>14.5sp</code>\".\nAvailable units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),\nin (inches), mm (millimeters).\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n         */\n        public static final int fotorTitleBackButton_Textsize=0x7f010027;\n        /** <p>Must be a string value, using '\\\\;' to escape characters such as '\\\\n' or '\\\\uxxxx' for a unicode character.\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n         */\n        public static final int fotorTitleBackButton_Typeface=0x7f01002b;\n        /** <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n         */\n        public static final int fotorTitleTextSize=0x7f010009;\n        /** <p>Must be a boolean value, either \"<code>true</code>\" or \"<code>false</code>\".\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n         */\n        public static final int headerDividersEnabled=0x7f010031;\n        /**  \n        When \"wrap_content\" is used as value of the layout_height property.\n        Pass the position, inside the adapter, of the view being used to measure the view\n        or '-1' to use the default behavior ( default is -1 )\n        \n         <p>Must be an integer value, such as \"<code>100</code>\".\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n         */\n        public static final int measureWithChild=0x7f010035;\n        /** <p>May be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n<p>May be a color value, in the form of \"<code>#<i>rgb</i></code>\", \"<code>#<i>argb</i></code>\",\n\"<code>#<i>rrggbb</i></code>\", or \"<code>#<i>aarrggbb</i></code>\".\n         */\n        public static final int overScrollFooter=0x7f010034;\n        /** <p>May be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n<p>May be a color value, in the form of \"<code>#<i>rgb</i></code>\", \"<code>#<i>argb</i></code>\",\n\"<code>#<i>rrggbb</i></code>\", or \"<code>#<i>aarrggbb</i></code>\".\n         */\n        public static final int overScrollHeader=0x7f010033;\n        /** <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n         */\n        public static final int sephiroth_absHListViewStyle=0x7f01002d;\n        /** <p>Must be a dimension value, which is a floating point number appended with a unit such as \"<code>14.5sp</code>\".\nAvailable units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),\nin (inches), mm (millimeters).\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n         */\n        public static final int sephiroth_listPreferredItemWidth=0x7f01002e;\n        /** <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n         */\n        public static final int sephiroth_listViewStyle=0x7f01002c;\n        /** <p>Must be a boolean value, either \"<code>true</code>\" or \"<code>false</code>\".\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n         */\n        public static final int stackFromRight=0x7f010036;\n        /** <p>Must be one of the following constant values.</p>\n<table>\n<colgroup align=\"left\" />\n<colgroup align=\"left\" />\n<colgroup align=\"left\" />\n<tr><th>Constant</th><th>Value</th><th>Description</th></tr>\n<tr><td><code>disabled</code></td><td>0</td><td></td></tr>\n<tr><td><code>normal</code></td><td>1</td><td></td></tr>\n<tr><td><code>alwaysScroll</code></td><td>2</td><td></td></tr>\n</table>\n         */\n        public static final int transcriptMode=0x7f010037;\n    }\n    public static final class color {\n        public static final int bottom_button_background_default_color=0x7f06003c;\n        public static final int bottom_button_background_disable_color=0x7f06003e;\n        public static final int bottom_button_background_pressed_color=0x7f06003d;\n        public static final int bottom_button_text_default_color=0x7f060039;\n        public static final int bottom_button_text_disable_color=0x7f06003b;\n        public static final int bottom_button_text_pressed_color=0x7f06003a;\n        public static final int fotor_feature_adjust_curve_background=0x7f06000d;\n        public static final int fotor_feature_loading_textColor=0x7f06000e;\n        public static final int fotor_feature_stickers_button_pressed=0x7f060013;\n        public static final int fotor_feature_text_color_button1=0x7f06001b;\n        public static final int fotor_feature_text_color_button10=0x7f060024;\n        public static final int fotor_feature_text_color_button11=0x7f060025;\n        public static final int fotor_feature_text_color_button12=0x7f060026;\n        public static final int fotor_feature_text_color_button13=0x7f060027;\n        public static final int fotor_feature_text_color_button14=0x7f060028;\n        public static final int fotor_feature_text_color_button15=0x7f060029;\n        public static final int fotor_feature_text_color_button16=0x7f06002a;\n        public static final int fotor_feature_text_color_button17=0x7f06002b;\n        public static final int fotor_feature_text_color_button18=0x7f06002c;\n        public static final int fotor_feature_text_color_button19=0x7f06002d;\n        public static final int fotor_feature_text_color_button2=0x7f06001c;\n        public static final int fotor_feature_text_color_button20=0x7f06002e;\n        public static final int fotor_feature_text_color_button21=0x7f06002f;\n        public static final int fotor_feature_text_color_button22=0x7f060030;\n        public static final int fotor_feature_text_color_button23=0x7f060031;\n        public static final int fotor_feature_text_color_button24=0x7f060032;\n        public static final int fotor_feature_text_color_button25=0x7f060033;\n        public static final int fotor_feature_text_color_button26=0x7f060034;\n        public static final int fotor_feature_text_color_button27=0x7f060035;\n        public static final int fotor_feature_text_color_button28=0x7f060036;\n        public static final int fotor_feature_text_color_button3=0x7f06001d;\n        public static final int fotor_feature_text_color_button4=0x7f06001e;\n        public static final int fotor_feature_text_color_button5=0x7f06001f;\n        public static final int fotor_feature_text_color_button6=0x7f060020;\n        public static final int fotor_feature_text_color_button7=0x7f060021;\n        public static final int fotor_feature_text_color_button8=0x7f060022;\n        public static final int fotor_feature_text_color_button9=0x7f060023;\n        public static final int fotor_feature_text_option_title_color=0x7f060019;\n        public static final int fotor_feature_text_panel_background=0x7f060014;\n        public static final int fotor_feature_text_panel_line_color=0x7f060015;\n        public static final int fotor_feature_text_shadow_color=0x7f06001a;\n        public static final int fotor_feature_text_texture_border_selected=0x7f060018;\n        public static final int fotor_feature_text_typeface_default=0x7f060017;\n        public static final int fotor_feature_text_typeface_pressed=0x7f060016;\n        public static final int fotor_fx_effect_effects_listview_item_background_default=0x7f06000f;\n        public static final int fotor_fx_effect_effects_listview_item_background_pressed=0x7f060010;\n        public static final int fotor_fx_effect_effects_listview_item_textColor=0x7f060011;\n        public static final int fotor_fx_effect_effects_listview_item_text_bakground=0x7f060012;\n        public static final int fotor_half_transparent=0x7f060001;\n        public static final int fotor_header_button_text_state=0x7f06003f;\n        public static final int fotor_main_footer_background=0x7f060002;\n        public static final int fotor_main_header_background=0x7f060008;\n        public static final int fotor_main_header_button_text_default=0x7f06000b;\n        public static final int fotor_main_header_button_text_pressed=0x7f06000c;\n        public static final int fotor_main_imageview_background=0x7f060007;\n        public static final int fotor_main_loading_background=0x7f060037;\n        public static final int fotor_main_toolpanel_background=0x7f060009;\n        public static final int fotor_main_toolpanel_bottom_line=0x7f06000a;\n        public static final int fotor_navigation_btn_color_default=0x7f060005;\n        public static final int fotor_navigation_btn_color_disabled=0x7f060006;\n        public static final int fotor_navigation_btn_color_pressed=0x7f060004;\n        public static final int fotor_navigation_btn_pressed_background=0x7f060003;\n        public static final int fotor_text_button_text_state=0x7f060040;\n        public static final int fotor_title_back_button_text_state=0x7f060041;\n        public static final int fotor_transparent=0x7f060000;\n        public static final int photo_editor_button_background_color=0x7f060042;\n        public static final int photo_editor_button_text_color=0x7f060043;\n        public static final int title_background=0x7f060038;\n    }\n    public static final class dimen {\n        /**  Default screen margins, per the Android Design guidelines. \n\n         Customize dimensions originally defined in res/values/dimens.xml (such as\n         screen margins) for sw720dp devices (e.g. 10\" tablets) in landscape here.\n    \n         */\n        public static final int activity_horizontal_margin=0x7f080032;\n        public static final int activity_vertical_margin=0x7f080033;\n        public static final int bottom_background_height=0x7f080036;\n        public static final int bottom_button_text_size=0x7f080037;\n        public static final int fotor_border_effect_listview_divider_width=0x7f080031;\n        public static final int fotor_crop_reset_margin_h=0x7f08000f;\n        public static final int fotor_curve_btn_textsize=0x7f08000d;\n        public static final int fotor_curve_control_panel_btn_spacing=0x7f08000c;\n        public static final int fotor_curve_view_max_size=0x7f080030;\n        public static final int fotor_feature_loading_textSize=0x7f08002b;\n        public static final int fotor_feature_stickers_button_spacing=0x7f08002a;\n        public static final int fotor_feature_stickers_button_width=0x7f080029;\n        public static final int fotor_fx_effect_buttons_margin_right=0x7f080010;\n        public static final int fotor_fx_effect_effects_listview_item_image_width=0x7f080011;\n        public static final int fotor_fx_effect_effects_listview_item_margin=0x7f080013;\n        public static final int fotor_fx_effect_effects_listview_item_textHeight=0x7f080012;\n        public static final int fotor_fx_effect_effects_listview_item_textSize=0x7f080014;\n        public static final int fotor_main_bottom_height=0x7f080000;\n        public static final int fotor_main_header_btn_textsize=0x7f080005;\n        public static final int fotor_main_header_height=0x7f080007;\n        public static final int fotor_main_header_margin=0x7f080008;\n        public static final int fotor_main_header_title_textsize=0x7f080006;\n        public static final int fotor_main_imageview_margin=0x7f08002d;\n        public static final int fotor_main_loadding_background_radius=0x7f08002e;\n        public static final int fotor_main_loadding_margin=0x7f08002f;\n        public static final int fotor_main_loading_textSize=0x7f08002c;\n        public static final int fotor_main_minimum_bottom_height=0x7f080004;\n        public static final int fotor_main_navigation_btn_textsize=0x7f080002;\n        public static final int fotor_main_navigation_btn_width=0x7f080001;\n        public static final int fotor_main_tool_panel_height=0x7f080003;\n        public static final int fotor_main_tool_panel_line_size=0x7f080009;\n        public static final int fotor_slider_panel_margin_h=0x7f08000b;\n        public static final int fotor_slider_value_margin=0x7f08000a;\n        public static final int fotor_text_color_button_size=0x7f080021;\n        public static final int fotor_text_color_button_stroke=0x7f080020;\n        public static final int fotor_text_item_padding=0x7f080019;\n        public static final int fotor_text_keyboard_canvas_spacing=0x7f08001c;\n        public static final int fotor_text_option_btn_spacing=0x7f080025;\n        public static final int fotor_text_option_opacity_padding_h=0x7f080028;\n        public static final int fotor_text_option_panel_margin=0x7f080023;\n        public static final int fotor_text_option_panel_spacing=0x7f080024;\n        public static final int fotor_text_option_right_panel_margin_top=0x7f080027;\n        public static final int fotor_text_option_title_textsize=0x7f080026;\n        public static final int fotor_text_shadow_offset_x=0x7f08001a;\n        public static final int fotor_text_shadow_offset_y=0x7f08001b;\n        public static final int fotor_text_textsize_default=0x7f080015;\n        public static final int fotor_text_textsize_maximum=0x7f080016;\n        public static final int fotor_text_textsize_minimum=0x7f080017;\n        public static final int fotor_text_textsize_step=0x7f080018;\n        public static final int fotor_text_texture_button_size=0x7f080022;\n        public static final int fotor_text_typeface_category_item_width=0x7f08001d;\n        public static final int fotor_text_typeface_item_height=0x7f08001e;\n        public static final int fotor_text_typeface_item_textsize=0x7f08001f;\n        public static final int fotor_tilt_shift_tool_panel_margin_left=0x7f08000e;\n        public static final int title_background_height=0x7f080034;\n        public static final int title_text_size=0x7f080035;\n    }\n    public static final class drawable {\n        public static final int fotor_adjust_brightness=0x7f020000;\n        public static final int fotor_adjust_contrast=0x7f020001;\n        public static final int fotor_adjust_curve=0x7f020002;\n        public static final int fotor_adjust_highlight=0x7f020003;\n        public static final int fotor_adjust_rgb=0x7f020004;\n        public static final int fotor_adjust_saturation=0x7f020005;\n        public static final int fotor_adjust_shadow=0x7f020006;\n        public static final int fotor_adjust_sharpen=0x7f020007;\n        public static final int fotor_adjust_temp=0x7f020008;\n        public static final int fotor_adjust_tint=0x7f020009;\n        public static final int fotor_adjust_vignette=0x7f02000a;\n        public static final int fotor_advanced_curve_default=0x7f02000b;\n        public static final int fotor_advanced_curve_pressed=0x7f02000c;\n        public static final int fotor_advanced_highlights_default=0x7f02000d;\n        public static final int fotor_advanced_highlights_pressed=0x7f02000e;\n        public static final int fotor_advanced_rgb_default=0x7f02000f;\n        public static final int fotor_advanced_rgb_pressed=0x7f020010;\n        public static final int fotor_advanced_shadows_default=0x7f020011;\n        public static final int fotor_advanced_shadows_pressed=0x7f020012;\n        public static final int fotor_advanced_temp_default=0x7f020013;\n        public static final int fotor_advanced_temp_pressed=0x7f020014;\n        public static final int fotor_advanced_tint_default=0x7f020015;\n        public static final int fotor_advanced_tint_pressed=0x7f020016;\n        public static final int fotor_advanced_vignette_default=0x7f020017;\n        public static final int fotor_advanced_vignette_pressed=0x7f020018;\n        public static final int fotor_back=0x7f020019;\n        public static final int fotor_back_default=0x7f02001a;\n        public static final int fotor_back_pressed=0x7f02001b;\n        public static final int fotor_basis_brightness_default=0x7f02001c;\n        public static final int fotor_basis_brightness_pressed=0x7f02001d;\n        public static final int fotor_basis_contrast_default=0x7f02001e;\n        public static final int fotor_basis_contrast_pressed=0x7f02001f;\n        public static final int fotor_basis_saturation_default=0x7f020020;\n        public static final int fotor_basis_saturation_pressed=0x7f020021;\n        public static final int fotor_basis_sharpen_default=0x7f020022;\n        public static final int fotor_basis_sharpen_pressed=0x7f020023;\n        public static final int fotor_borders_gallery_default=0x7f020024;\n        public static final int fotor_borders_gallery_pressed=0x7f020025;\n        public static final int fotor_borders_more=0x7f020026;\n        public static final int fotor_borders_more_default=0x7f020027;\n        public static final int fotor_borders_more_pressed=0x7f020028;\n        public static final int fotor_borders_simple_default=0x7f020029;\n        public static final int fotor_borders_simple_pressed=0x7f02002a;\n        public static final int fotor_borders_stamp_default=0x7f02002b;\n        public static final int fotor_borders_stamp_pressed=0x7f02002c;\n        public static final int fotor_borders_styled_default=0x7f02002d;\n        public static final int fotor_borders_styled_pressed=0x7f02002e;\n        public static final int fotor_camera_focus_indicator=0x7f02002f;\n        public static final int fotor_crop_btn_lineh_default=0x7f020030;\n        public static final int fotor_crop_btn_lineh_pressed=0x7f020031;\n        public static final int fotor_crop_btn_linev_default=0x7f020032;\n        public static final int fotor_crop_btn_linev_pressed=0x7f020033;\n        public static final int fotor_crop_btn_point_default=0x7f020034;\n        public static final int fotor_crop_btn_point_pressed=0x7f020035;\n        public static final int fotor_crop_free_default=0x7f020036;\n        public static final int fotor_crop_free_pressed=0x7f020037;\n        public static final int fotor_crop_line_h_button=0x7f020038;\n        public static final int fotor_crop_line_v_button=0x7f020039;\n        public static final int fotor_crop_point_button=0x7f02003a;\n        public static final int fotor_crop_ratio_free_button=0x7f02003b;\n        public static final int fotor_crop_restor_default=0x7f02003c;\n        public static final int fotor_crop_restor_pressed=0x7f02003d;\n        public static final int fotor_crop_restor_unavailable=0x7f02003e;\n        public static final int fotor_crop_restore_button=0x7f02003f;\n        public static final int fotor_curve_btn_round=0x7f020040;\n        public static final int fotor_curve_btn_round_drag=0x7f020041;\n        public static final int fotor_curve_hide_default=0x7f020042;\n        public static final int fotor_curve_hide_pressed=0x7f020043;\n        public static final int fotor_curve_point_button=0x7f020044;\n        public static final int fotor_curve_restore_button=0x7f020045;\n        public static final int fotor_curve_restore_default=0x7f020046;\n        public static final int fotor_curve_restore_pressed=0x7f020047;\n        public static final int fotor_curve_restore_unavailable=0x7f020048;\n        public static final int fotor_curve_show_default=0x7f020049;\n        public static final int fotor_curve_show_pressed=0x7f02004a;\n        public static final int fotor_curve_toggle_button=0x7f02004b;\n        public static final int fotor_edit_advanced_default=0x7f02004c;\n        public static final int fotor_edit_advanced_pressed=0x7f02004d;\n        public static final int fotor_edit_basis_default=0x7f02004e;\n        public static final int fotor_edit_basis_pressed=0x7f02004f;\n        public static final int fotor_edit_borders_default=0x7f020050;\n        public static final int fotor_edit_borders_pressed=0x7f020051;\n        public static final int fotor_edit_crop_default=0x7f020052;\n        public static final int fotor_edit_crop_pressed=0x7f020053;\n        public static final int fotor_edit_draw_default=0x7f020054;\n        public static final int fotor_edit_draw_pressed=0x7f020055;\n        public static final int fotor_edit_effects_default=0x7f020056;\n        public static final int fotor_edit_effects_pressed=0x7f020057;\n        public static final int fotor_edit_enhance_default=0x7f020058;\n        public static final int fotor_edit_enhance_pressed=0x7f020059;\n        public static final int fotor_edit_hdr_default=0x7f02005a;\n        public static final int fotor_edit_hdr_pressed=0x7f02005b;\n        public static final int fotor_edit_one_menu_logo=0x7f02005c;\n        public static final int fotor_edit_redeye_default=0x7f02005d;\n        public static final int fotor_edit_redeye_pressed=0x7f02005e;\n        public static final int fotor_edit_rotate_default=0x7f02005f;\n        public static final int fotor_edit_rotate_pressed=0x7f020060;\n        public static final int fotor_edit_scenes_default=0x7f020061;\n        public static final int fotor_edit_scenes_pressed=0x7f020062;\n        public static final int fotor_edit_stichers_default=0x7f020063;\n        public static final int fotor_edit_stichers_pressed=0x7f020064;\n        public static final int fotor_edit_text_default=0x7f020065;\n        public static final int fotor_edit_text_pressed=0x7f020066;\n        public static final int fotor_edit_tilt_shift_default=0x7f020067;\n        public static final int fotor_edit_tilt_shift_pressed=0x7f020068;\n        public static final int fotor_effect_border_pack_gallery=0x7f020069;\n        public static final int fotor_effect_border_pack_simple=0x7f02006a;\n        public static final int fotor_effect_border_pack_stamp=0x7f02006b;\n        public static final int fotor_effect_border_pack_styled=0x7f02006c;\n        public static final int fotor_effect_favorites=0x7f02006d;\n        public static final int fotor_effect_favorites_default=0x7f02006e;\n        public static final int fotor_effect_favorites_pressed=0x7f02006f;\n        public static final int fotor_effect_fx_pack_analog=0x7f020070;\n        public static final int fotor_effect_fx_pack_art=0x7f020071;\n        public static final int fotor_effect_fx_pack_lomo=0x7f020072;\n        public static final int fotor_effect_fx_pack_oldpicture=0x7f020073;\n        public static final int fotor_effect_fx_pack_retro=0x7f020074;\n        public static final int fotor_effect_fx_pack_vintage=0x7f020075;\n        public static final int fotor_effects_add=0x7f020076;\n        public static final int fotor_effects_add1_default=0x7f020077;\n        public static final int fotor_effects_add2_default=0x7f020078;\n        public static final int fotor_effects_add3_default=0x7f020079;\n        public static final int fotor_effects_add3_pressed=0x7f02007a;\n        public static final int fotor_effects_add_default=0x7f02007b;\n        public static final int fotor_effects_add_pressed=0x7f02007c;\n        public static final int fotor_effects_add_unavailable=0x7f02007d;\n        public static final int fotor_effects_analog_default=0x7f02007e;\n        public static final int fotor_effects_analog_pressed=0x7f02007f;\n        public static final int fotor_effects_art_default=0x7f020080;\n        public static final int fotor_effects_art_pressed=0x7f020081;\n        public static final int fotor_effects_delete_default=0x7f020082;\n        public static final int fotor_effects_delete_pressed=0x7f020083;\n        public static final int fotor_effects_favorites=0x7f020084;\n        public static final int fotor_effects_favorites1_default=0x7f020085;\n        public static final int fotor_effects_favorites2_default=0x7f020086;\n        public static final int fotor_effects_favorites_default=0x7f020087;\n        public static final int fotor_effects_favorites_pressed=0x7f020088;\n        public static final int fotor_effects_lomo_default=0x7f020089;\n        public static final int fotor_effects_lomo_pressed=0x7f02008a;\n        public static final int fotor_effects_minus=0x7f02008b;\n        public static final int fotor_effects_minus_default=0x7f02008c;\n        public static final int fotor_effects_minus_pressed=0x7f02008d;\n        public static final int fotor_effects_minus_unavailable=0x7f02008e;\n        public static final int fotor_effects_neon_default=0x7f02008f;\n        public static final int fotor_effects_neon_pressed=0x7f020090;\n        public static final int fotor_effects_old_picture_default=0x7f020091;\n        public static final int fotor_effects_old_picture_pressed=0x7f020092;\n        public static final int fotor_effects_retro_default=0x7f020093;\n        public static final int fotor_effects_retro_pressed=0x7f020094;\n        public static final int fotor_effects_vintage_default=0x7f020095;\n        public static final int fotor_effects_vintage_pressed=0x7f020096;\n        public static final int fotor_enhance_high=0x7f020097;\n        public static final int fotor_enhance_high_default=0x7f020098;\n        public static final int fotor_enhance_high_pressed=0x7f020099;\n        public static final int fotor_enhance_low=0x7f02009a;\n        public static final int fotor_enhance_low_default=0x7f02009b;\n        public static final int fotor_enhance_low_pressed=0x7f02009c;\n        public static final int fotor_enhance_medium=0x7f02009d;\n        public static final int fotor_enhance_medium_default=0x7f02009e;\n        public static final int fotor_enhance_medium_pressed=0x7f02009f;\n        public static final int fotor_feature_adjust=0x7f0200a0;\n        public static final int fotor_feature_adjust_advance=0x7f0200a1;\n        public static final int fotor_feature_border=0x7f0200a2;\n        public static final int fotor_feature_crop=0x7f0200a3;\n        public static final int fotor_feature_enhance=0x7f0200a4;\n        public static final int fotor_feature_fx_effects=0x7f0200a5;\n        public static final int fotor_feature_rotate=0x7f0200a6;\n        public static final int fotor_feature_scenes=0x7f0200a7;\n        public static final int fotor_feature_stickers=0x7f0200a8;\n        public static final int fotor_feature_text=0x7f0200a9;\n        public static final int fotor_feature_tilt_shift=0x7f0200aa;\n        public static final int fotor_fonts_pack_art=0x7f0200ab;\n        public static final int fotor_fonts_pack_charm=0x7f0200ac;\n        public static final int fotor_fonts_pack_classic=0x7f0200ad;\n        public static final int fotor_fonts_pack_happy=0x7f0200ae;\n        public static final int fotor_fx_effect_effects_listview_item_background=0x7f0200af;\n        public static final int fotor_header_redo_button=0x7f0200b0;\n        public static final int fotor_header_undo_button=0x7f0200b1;\n        public static final int fotor_hlv_overscroll_edge=0x7f0200b2;\n        public static final int fotor_hlv_overscroll_glow=0x7f0200b3;\n        public static final int fotor_main_apply_button=0x7f0200b4;\n        public static final int fotor_main_apply_default=0x7f0200b5;\n        public static final int fotor_main_apply_pressed=0x7f0200b6;\n        public static final int fotor_main_loading_background=0x7f0200b7;\n        public static final int fotor_main_redo_default=0x7f0200b8;\n        public static final int fotor_main_redo_pressed=0x7f0200b9;\n        public static final int fotor_main_redo_unavailable=0x7f0200ba;\n        public static final int fotor_main_undo_default=0x7f0200bb;\n        public static final int fotor_main_undo_pressed=0x7f0200bc;\n        public static final int fotor_main_undo_unavailable=0x7f0200bd;\n        public static final int fotor_public_slider_layer_list=0x7f0200be;\n        public static final int fotor_public_slider_thumb=0x7f0200bf;\n        public static final int fotor_public_slider_thumb_selector=0x7f0200c0;\n        public static final int fotor_public_slider_value_background=0x7f0200c1;\n        public static final int fotor_rotate_fh_button=0x7f0200c2;\n        public static final int fotor_rotate_fh_default=0x7f0200c3;\n        public static final int fotor_rotate_fh_pressed=0x7f0200c4;\n        public static final int fotor_rotate_fv_button=0x7f0200c5;\n        public static final int fotor_rotate_fv_default=0x7f0200c6;\n        public static final int fotor_rotate_fv_pressed=0x7f0200c7;\n        public static final int fotor_rotate_left_button=0x7f0200c8;\n        public static final int fotor_rotate_left_default=0x7f0200c9;\n        public static final int fotor_rotate_left_pressed=0x7f0200ca;\n        public static final int fotor_rotate_right_button=0x7f0200cb;\n        public static final int fotor_rotate_right_default=0x7f0200cc;\n        public static final int fotor_rotate_right_pressed=0x7f0200cd;\n        public static final int fotor_scenes_backlit=0x7f0200ce;\n        public static final int fotor_scenes_backlit_default=0x7f0200cf;\n        public static final int fotor_scenes_backlit_pressed=0x7f0200d0;\n        public static final int fotor_scenes_cloudy=0x7f0200d1;\n        public static final int fotor_scenes_cloudy_default=0x7f0200d2;\n        public static final int fotor_scenes_cloudy_pressed=0x7f0200d3;\n        public static final int fotor_scenes_darken=0x7f0200d4;\n        public static final int fotor_scenes_darken_default=0x7f0200d5;\n        public static final int fotor_scenes_darken_pressed=0x7f0200d6;\n        public static final int fotor_scenes_flash=0x7f0200d7;\n        public static final int fotor_scenes_flash_default=0x7f0200d8;\n        public static final int fotor_scenes_flash_pressed=0x7f0200d9;\n        public static final int fotor_scenes_fluores_default=0x7f0200da;\n        public static final int fotor_scenes_fluores_pressed=0x7f0200db;\n        public static final int fotor_scenes_fluorescent=0x7f0200dc;\n        public static final int fotor_scenes_food=0x7f0200dd;\n        public static final int fotor_scenes_food_default=0x7f0200de;\n        public static final int fotor_scenes_food_pressed=0x7f0200df;\n        public static final int fotor_scenes_landscape=0x7f0200e0;\n        public static final int fotor_scenes_landscape_default=0x7f0200e1;\n        public static final int fotor_scenes_landscape_pressed=0x7f0200e2;\n        public static final int fotor_scenes_night=0x7f0200e3;\n        public static final int fotor_scenes_night_default=0x7f0200e4;\n        public static final int fotor_scenes_night_pressed=0x7f0200e5;\n        public static final int fotor_scenes_original=0x7f0200e6;\n        public static final int fotor_scenes_original_default=0x7f0200e7;\n        public static final int fotor_scenes_original_pressed=0x7f0200e8;\n        public static final int fotor_scenes_portrait=0x7f0200e9;\n        public static final int fotor_scenes_portrait_default=0x7f0200ea;\n        public static final int fotor_scenes_portrait_pressed=0x7f0200eb;\n        public static final int fotor_scenes_sand_snow=0x7f0200ec;\n        public static final int fotor_scenes_seasid_default=0x7f0200ed;\n        public static final int fotor_scenes_seasid_pressed=0x7f0200ee;\n        public static final int fotor_scenes_shade=0x7f0200ef;\n        public static final int fotor_scenes_shade_default=0x7f0200f0;\n        public static final int fotor_scenes_shade_pressed=0x7f0200f1;\n        public static final int fotor_scenes_sunset=0x7f0200f2;\n        public static final int fotor_scenes_sunset_default=0x7f0200f3;\n        public static final int fotor_scenes_sunset_pressed=0x7f0200f4;\n        public static final int fotor_scenes_theatre=0x7f0200f5;\n        public static final int fotor_scenes_theatre_default=0x7f0200f6;\n        public static final int fotor_scenes_theatre_pressed=0x7f0200f7;\n        public static final int fotor_slider_blue=0x7f0200f8;\n        public static final int fotor_slider_blue_layer_list=0x7f0200f9;\n        public static final int fotor_slider_green=0x7f0200fa;\n        public static final int fotor_slider_green_layer_list=0x7f0200fb;\n        public static final int fotor_slider_public_bg=0x7f0200fc;\n        public static final int fotor_slider_public_process=0x7f0200fd;\n        public static final int fotor_slider_red=0x7f0200fe;\n        public static final int fotor_slider_red_layer_list=0x7f0200ff;\n        public static final int fotor_sticker_delete_button=0x7f020100;\n        public static final int fotor_sticker_delete_default=0x7f020101;\n        public static final int fotor_sticker_delete_pressed=0x7f020102;\n        public static final int fotor_sticker_reset_button=0x7f020103;\n        public static final int fotor_sticker_reset_default=0x7f020104;\n        public static final int fotor_sticker_reset_pressed=0x7f020105;\n        public static final int fotor_sticker_zoom_button=0x7f020106;\n        public static final int fotor_sticker_zoom_default=0x7f020107;\n        public static final int fotor_sticker_zoom_pressed=0x7f020108;\n        public static final int fotor_stickers_boom_default=0x7f020109;\n        public static final int fotor_stickers_boom_pressed=0x7f02010a;\n        public static final int fotor_stickers_button_background_state=0x7f02010b;\n        public static final int fotor_stickers_decoration_default=0x7f02010c;\n        public static final int fotor_stickers_decoration_pressed=0x7f02010d;\n        public static final int fotor_stickers_love_default=0x7f02010e;\n        public static final int fotor_stickers_love_pressed=0x7f02010f;\n        public static final int fotor_stickers_pack_boom=0x7f020110;\n        public static final int fotor_stickers_pack_decoration=0x7f020111;\n        public static final int fotor_stickers_pack_love=0x7f020112;\n        public static final int fotor_stickers_pack_party=0x7f020113;\n        public static final int fotor_stickers_pack_text=0x7f020114;\n        public static final int fotor_stickers_party_default=0x7f020115;\n        public static final int fotor_stickers_party_pressed=0x7f020116;\n        public static final int fotor_stickers_text_default=0x7f020117;\n        public static final int fotor_stickers_text_pressed=0x7f020118;\n        public static final int fotor_text_add_button=0x7f020119;\n        public static final int fotor_text_add_default=0x7f02011a;\n        public static final int fotor_text_add_pressed=0x7f02011b;\n        public static final int fotor_text_add_unavailable=0x7f02011c;\n        public static final int fotor_text_align_center_button=0x7f02011d;\n        public static final int fotor_text_align_left_button=0x7f02011e;\n        public static final int fotor_text_align_right_button=0x7f02011f;\n        public static final int fotor_text_bg_default=0x7f020120;\n        public static final int fotor_text_bg_pressed=0x7f020121;\n        public static final int fotor_text_bold_default=0x7f020122;\n        public static final int fotor_text_bold_pressed=0x7f020123;\n        public static final int fotor_text_bold_unavailable=0x7f020124;\n        public static final int fotor_text_center_alignment_default=0x7f020125;\n        public static final int fotor_text_center_alignment_pressed=0x7f020126;\n        public static final int fotor_text_color_button=0x7f020127;\n        public static final int fotor_text_color_color_button=0x7f020128;\n        public static final int fotor_text_color_color_default=0x7f020129;\n        public static final int fotor_text_color_color_pressed=0x7f02012a;\n        public static final int fotor_text_color_default=0x7f02012b;\n        public static final int fotor_text_color_pressed=0x7f02012c;\n        public static final int fotor_text_color_texture_button=0x7f02012d;\n        public static final int fotor_text_color_texture_default=0x7f02012e;\n        public static final int fotor_text_color_texture_pressed=0x7f02012f;\n        public static final int fotor_text_delete_button=0x7f020130;\n        public static final int fotor_text_delete_default=0x7f020131;\n        public static final int fotor_text_delete_pressed=0x7f020132;\n        public static final int fotor_text_done_button=0x7f020133;\n        public static final int fotor_text_done_default=0x7f020134;\n        public static final int fotor_text_done_pressed=0x7f020135;\n        public static final int fotor_text_item_background=0x7f020136;\n        public static final int fotor_text_keyboard_button=0x7f020137;\n        public static final int fotor_text_keyboard_default=0x7f020138;\n        public static final int fotor_text_keyboard_pressed=0x7f020139;\n        public static final int fotor_text_left_alignment_default=0x7f02013a;\n        public static final int fotor_text_left_alignment_pressed=0x7f02013b;\n        public static final int fotor_text_left_rote_default=0x7f02013c;\n        public static final int fotor_text_left_rote_pressed=0x7f02013d;\n        public static final int fotor_text_left_shadow_default=0x7f02013e;\n        public static final int fotor_text_left_shadow_pressed=0x7f02013f;\n        public static final int fotor_text_lock=0x7f020140;\n        public static final int fotor_text_no_shadow_default=0x7f020141;\n        public static final int fotor_text_no_shadow_pressed=0x7f020142;\n        public static final int fotor_text_oblique_default=0x7f020143;\n        public static final int fotor_text_oblique_pressed=0x7f020144;\n        public static final int fotor_text_oblique_unavailable=0x7f020145;\n        public static final int fotor_text_option_button=0x7f020146;\n        public static final int fotor_text_option_default=0x7f020147;\n        public static final int fotor_text_option_pressed=0x7f020148;\n        public static final int fotor_text_right_alignment_default=0x7f020149;\n        public static final int fotor_text_right_alignment_pressed=0x7f02014a;\n        public static final int fotor_text_right_rote_default=0x7f02014b;\n        public static final int fotor_text_right_rote_pressed=0x7f02014c;\n        public static final int fotor_text_right_shadow_default=0x7f02014d;\n        public static final int fotor_text_right_shadow_pressed=0x7f02014e;\n        public static final int fotor_text_rotation_left_button=0x7f02014f;\n        public static final int fotor_text_rotation_right_button=0x7f020150;\n        public static final int fotor_text_shadow_bottom_button=0x7f020151;\n        public static final int fotor_text_shadow_left_button=0x7f020152;\n        public static final int fotor_text_shadow_right_button=0x7f020153;\n        public static final int fotor_text_size_minus_button=0x7f020154;\n        public static final int fotor_text_size_minus_default=0x7f020155;\n        public static final int fotor_text_size_minus_pressed=0x7f020156;\n        public static final int fotor_text_size_plus_button=0x7f020157;\n        public static final int fotor_text_size_plus_default=0x7f020158;\n        public static final int fotor_text_size_plus_pressed=0x7f020159;\n        public static final int fotor_text_style_bold_button=0x7f02015a;\n        public static final int fotor_text_style_italic_button=0x7f02015b;\n        public static final int fotor_text_texture1=0x7f02015c;\n        public static final int fotor_text_texture10=0x7f02015d;\n        public static final int fotor_text_texture11=0x7f02015e;\n        public static final int fotor_text_texture12=0x7f02015f;\n        public static final int fotor_text_texture13=0x7f020160;\n        public static final int fotor_text_texture14=0x7f020161;\n        public static final int fotor_text_texture15=0x7f020162;\n        public static final int fotor_text_texture16=0x7f020163;\n        public static final int fotor_text_texture17=0x7f020164;\n        public static final int fotor_text_texture18=0x7f020165;\n        public static final int fotor_text_texture19=0x7f020166;\n        public static final int fotor_text_texture2=0x7f020167;\n        public static final int fotor_text_texture20=0x7f020168;\n        public static final int fotor_text_texture3=0x7f020169;\n        public static final int fotor_text_texture4=0x7f02016a;\n        public static final int fotor_text_texture5=0x7f02016b;\n        public static final int fotor_text_texture6=0x7f02016c;\n        public static final int fotor_text_texture7=0x7f02016d;\n        public static final int fotor_text_texture8=0x7f02016e;\n        public static final int fotor_text_texture9=0x7f02016f;\n        public static final int fotor_text_typeface_art_default=0x7f020170;\n        public static final int fotor_text_typeface_art_pressed=0x7f020171;\n        public static final int fotor_text_typeface_button=0x7f020172;\n        public static final int fotor_text_typeface_charm_default=0x7f020173;\n        public static final int fotor_text_typeface_charm_pressed=0x7f020174;\n        public static final int fotor_text_typeface_classic_default=0x7f020175;\n        public static final int fotor_text_typeface_classic_pressed=0x7f020176;\n        public static final int fotor_text_typeface_default=0x7f020177;\n        public static final int fotor_text_typeface_happy_default=0x7f020178;\n        public static final int fotor_text_typeface_happy_pressed=0x7f020179;\n        public static final int fotor_text_typeface_pressed=0x7f02017a;\n        public static final int fotor_tilt_shift_blur_button=0x7f02017b;\n        public static final int fotor_tilt_shift_blur_default=0x7f02017c;\n        public static final int fotor_tilt_shift_blur_pressed=0x7f02017d;\n        public static final int fotor_tilt_shift_circle_button=0x7f02017e;\n        public static final int fotor_tilt_shift_circle_default=0x7f02017f;\n        public static final int fotor_tilt_shift_circle_pressed=0x7f020180;\n        public static final int fotor_tilt_shift_ellipse_button=0x7f020181;\n        public static final int fotor_tilt_shift_ellipse_default=0x7f020182;\n        public static final int fotor_tilt_shift_ellipse_pressed=0x7f020183;\n        public static final int fotor_tilt_shift_linear_button=0x7f020184;\n        public static final int fotor_tilt_shift_linear_default=0x7f020185;\n        public static final int fotor_tilt_shift_linear_pressed=0x7f020186;\n        public static final int fotor_tilt_shift_strength_button=0x7f020187;\n        public static final int fotor_tilt_shift_strength_default=0x7f020188;\n        public static final int fotor_tilt_shift_strength_pressed=0x7f020189;\n        public static final int fotor_title_back_btn_icon=0x7f02018a;\n        public static final int fotor_title_back_btn_icon_default=0x7f02018b;\n        public static final int fotor_title_back_btn_icon_pressed=0x7f02018c;\n        public static final int fotor_transparent=0x7f02018d;\n        public static final int ic_error=0x7f02018e;\n        public static final int ic_launcher=0x7f02018f;\n        public static final int icon=0x7f020190;\n        public static final int photo_editor_button_background=0x7f020191;\n        public static final int photo_editor_nophotos=0x7f020192;\n    }\n    public static final class id {\n        public static final int alwaysScroll=0x7f0a0002;\n        public static final int button2=0x7f0a0009;\n        public static final int button_gallery=0x7f0a0008;\n        public static final int disabled=0x7f0a0000;\n        public static final int fotor_action_settings=0x7f0a0082;\n        public static final int fotor_adjust_curve_reset_button=0x7f0a0015;\n        public static final int fotor_adjust_curve_toggle_button=0x7f0a0014;\n        public static final int fotor_adjust_pan_container=0x7f0a0017;\n        public static final int fotor_adjust_slider=0x7f0a001b;\n        public static final int fotor_adjust_slider_b=0x7f0a001a;\n        public static final int fotor_adjust_slider_g=0x7f0a0019;\n        public static final int fotor_adjust_slider_r=0x7f0a0018;\n        public static final int fotor_adjust_tools_container=0x7f0a0016;\n        public static final int fotor_camera_captureBtn=0x7f0a0010;\n        public static final int fotor_camera_focus_indicator=0x7f0a0011;\n        public static final int fotor_camera_footer_layout=0x7f0a000f;\n        public static final int fotor_camera_header_button=0x7f0a000e;\n        public static final int fotor_camera_header_layout=0x7f0a000d;\n        public static final int fotor_camera_main_layout=0x7f0a000a;\n        public static final int fotor_camera_preview=0x7f0a000c;\n        public static final int fotor_camera_preview_layout=0x7f0a000b;\n        public static final int fotor_content_layer=0x7f0a006f;\n        public static final int fotor_crop_btn_left_bottom=0x7f0a001e;\n        public static final int fotor_crop_btn_left_top=0x7f0a001d;\n        public static final int fotor_crop_btn_right_bottom=0x7f0a0020;\n        public static final int fotor_crop_btn_right_top=0x7f0a001f;\n        public static final int fotor_crop_buttons_container=0x7f0a001c;\n        public static final int fotor_crop_line_bottom=0x7f0a0022;\n        public static final int fotor_crop_line_left=0x7f0a0023;\n        public static final int fotor_crop_line_right=0x7f0a0024;\n        public static final int fotor_crop_line_top=0x7f0a0021;\n        public static final int fotor_crop_operation_container=0x7f0a0025;\n        public static final int fotor_crop_ratio_button=0x7f0a0029;\n        public static final int fotor_crop_restore=0x7f0a0028;\n        public static final int fotor_crop_slider=0x7f0a0027;\n        public static final int fotor_feature_draw_panel_container=0x7f0a0070;\n        public static final int fotor_feature_title=0x7f0a007d;\n        public static final int fotor_fitscreen_imageview=0x7f0a002f;\n        public static final int fotor_footerContainer=0x7f0a0075;\n        public static final int fotor_fx_effect_add=0x7f0a003b;\n        public static final int fotor_fx_effect_add_or_delete=0x7f0a003a;\n        public static final int fotor_fx_effect_blend_slider=0x7f0a0035;\n        public static final int fotor_fx_effect_category_container=0x7f0a002a;\n        public static final int fotor_fx_effect_category_listview=0x7f0a002b;\n        public static final int fotor_fx_effect_category_loading_container=0x7f0a002c;\n        public static final int fotor_fx_effect_category_loading_pb=0x7f0a003e;\n        public static final int fotor_fx_effect_container=0x7f0a002d;\n        public static final int fotor_fx_effect_effects_listview_item_imageview=0x7f0a0031;\n        public static final int fotor_fx_effect_effects_listview_item_progressbar=0x7f0a0033;\n        public static final int fotor_fx_effect_effects_listview_item_selector=0x7f0a0034;\n        public static final int fotor_fx_effect_effects_listview_item_textview=0x7f0a0032;\n        public static final int fotor_fx_effect_favorites=0x7f0a003d;\n        public static final int fotor_fx_effect_imageview=0x7f0a0030;\n        public static final int fotor_fx_effect_listview=0x7f0a002e;\n        public static final int fotor_fx_effect_minus=0x7f0a003c;\n        public static final int fotor_fx_effect_superposed_choose_container=0x7f0a0037;\n        public static final int fotor_fx_effect_superposed_choose_listview=0x7f0a0038;\n        public static final int fotor_fx_effect_superposed_container=0x7f0a0036;\n        public static final int fotor_fx_effect_superposed_listview=0x7f0a0039;\n        public static final int fotor_headerContainer=0x7f0a006e;\n        public static final int fotor_imageView=0x7f0a0071;\n        public static final int fotor_image_top_layer=0x7f0a0073;\n        public static final int fotor_lock_event_view=0x7f0a0077;\n        public static final int fotor_main_apply=0x7f0a0080;\n        public static final int fotor_main_btn_redo=0x7f0a007f;\n        public static final int fotor_main_btn_undo=0x7f0a007e;\n        public static final int fotor_main_header_text_container=0x7f0a007b;\n        public static final int fotor_main_loading_view=0x7f0a0072;\n        public static final int fotor_main_title=0x7f0a007c;\n        public static final int fotor_navigation_button=0x7f0a007a;\n        public static final int fotor_operation_tool_background=0x7f0a0026;\n        public static final int fotor_operation_tool_layer=0x7f0a0074;\n        public static final int fotor_operations_container=0x7f0a0079;\n        public static final int fotor_progress=0x7f0a0003;\n        public static final int fotor_progress_bar=0x7f0a0081;\n        public static final int fotor_rotate_pan_container=0x7f0a003f;\n        public static final int fotor_scenes_pan_container=0x7f0a0040;\n        public static final int fotor_screen_top_layer=0x7f0a0076;\n        public static final int fotor_scroll_linear_layout=0x7f0a0013;\n        public static final int fotor_scroll_view=0x7f0a0012;\n        public static final int fotor_sdk_version_label=0x7f0a0005;\n        public static final int fotor_secondaryProgress=0x7f0a0004;\n        public static final int fotor_stickers_button=0x7f0a0041;\n        public static final int fotor_stickers_category_container=0x7f0a0042;\n        public static final int fotor_stickers_category_listview=0x7f0a0043;\n        public static final int fotor_stickers_category_loading_container=0x7f0a0044;\n        public static final int fotor_stickers_stickers_container=0x7f0a0045;\n        public static final int fotor_stickers_stickers_listview=0x7f0a0046;\n        public static final int fotor_text_add_button=0x7f0a004a;\n        public static final int fotor_text_align_center_button=0x7f0a005a;\n        public static final int fotor_text_align_left_button=0x7f0a0059;\n        public static final int fotor_text_align_right_button=0x7f0a005b;\n        public static final int fotor_text_color_button=0x7f0a004f;\n        public static final int fotor_text_color_color_button=0x7f0a0047;\n        public static final int fotor_text_color_texture_button=0x7f0a0048;\n        public static final int fotor_text_colors_container=0x7f0a0049;\n        public static final int fotor_text_done_button=0x7f0a0051;\n        public static final int fotor_text_keyboard_button=0x7f0a004d;\n        public static final int fotor_text_navigation_panel=0x7f0a004c;\n        public static final int fotor_text_opacity_slider=0x7f0a005f;\n        public static final int fotor_text_operation_container=0x7f0a0052;\n        public static final int fotor_text_option_button=0x7f0a0050;\n        public static final int fotor_text_rotation_left_button=0x7f0a0055;\n        public static final int fotor_text_rotation_right_button=0x7f0a0056;\n        public static final int fotor_text_shadow_bottom_button=0x7f0a005d;\n        public static final int fotor_text_shadow_left_button=0x7f0a005c;\n        public static final int fotor_text_shadow_right_button=0x7f0a005e;\n        public static final int fotor_text_size_minus_button=0x7f0a0054;\n        public static final int fotor_text_size_plus_button=0x7f0a0053;\n        public static final int fotor_text_style_bold_button=0x7f0a0057;\n        public static final int fotor_text_style_italic_button=0x7f0a0058;\n        public static final int fotor_text_typeface_button=0x7f0a004e;\n        public static final int fotor_text_typeface_category_btn=0x7f0a0060;\n        public static final int fotor_text_typeface_category_list=0x7f0a0065;\n        public static final int fotor_text_typeface_category_lock=0x7f0a0061;\n        public static final int fotor_text_typeface_imageview=0x7f0a0064;\n        public static final int fotor_text_typeface_item=0x7f0a0062;\n        public static final int fotor_text_typeface_list=0x7f0a0066;\n        public static final int fotor_text_typeface_textview=0x7f0a0063;\n        public static final int fotor_texts_category_loading_container=0x7f0a004b;\n        public static final int fotor_tilt_shift_circle=0x7f0a0067;\n        public static final int fotor_tilt_shift_ellipse=0x7f0a0069;\n        public static final int fotor_tilt_shift_gradient=0x7f0a006a;\n        public static final int fotor_tilt_shift_linear=0x7f0a0068;\n        public static final int fotor_tilt_shift_slider=0x7f0a006c;\n        public static final int fotor_tilt_shift_strength=0x7f0a006b;\n        public static final int fotor_tools_container=0x7f0a0078;\n        public static final int fotor_zoom_imageview=0x7f0a006d;\n        public static final int image=0x7f0a0007;\n        public static final int image_container=0x7f0a0006;\n        public static final int normal=0x7f0a0001;\n    }\n    public static final class integer {\n        public static final int fotor_anim_medium_duration=0x7f070001;\n        public static final int fotor_anim_short_duration=0x7f070000;\n        public static final int fotor_default_slider_adjustDistance=0x7f070002;\n    }\n    public static final class layout {\n        public static final int activity_main=0x7f030000;\n        public static final int fotor_camera_main=0x7f030001;\n        public static final int fotor_default_bottom_layout=0x7f030002;\n        public static final int fotor_feature_adjust_operation_curve_controller=0x7f030003;\n        public static final int fotor_feature_adjust_operation_panel=0x7f030004;\n        public static final int fotor_feature_adjust_operation_rgb_tools=0x7f030005;\n        public static final int fotor_feature_adjust_operation_tools=0x7f030006;\n        public static final int fotor_feature_border_effect_operation_panel=0x7f030007;\n        public static final int fotor_feature_crop_maskview=0x7f030008;\n        public static final int fotor_feature_crop_operation_panel=0x7f030009;\n        public static final int fotor_feature_crop_operation_tools=0x7f03000a;\n        public static final int fotor_feature_crop_ratio_item=0x7f03000b;\n        public static final int fotor_feature_effect_operation_panel=0x7f03000c;\n        public static final int fotor_feature_enhance_operation_panel=0x7f03000d;\n        public static final int fotor_feature_fitscreen_draw_panel=0x7f03000e;\n        public static final int fotor_feature_fx_effect_draw_panel=0x7f03000f;\n        public static final int fotor_feature_fx_effect_effects_listview_item=0x7f030010;\n        public static final int fotor_feature_fx_effect_operation_blend_tools=0x7f030011;\n        public static final int fotor_feature_fx_effect_operation_panel=0x7f030012;\n        public static final int fotor_feature_fx_effect_operation_superposed_tools=0x7f030013;\n        public static final int fotor_feature_fx_effect_operation_tools=0x7f030014;\n        public static final int fotor_feature_operation_loading_component=0x7f030015;\n        public static final int fotor_feature_rotate_operation_panel=0x7f030016;\n        public static final int fotor_feature_scenes_operation_panel=0x7f030017;\n        public static final int fotor_feature_stickers_item=0x7f030018;\n        public static final int fotor_feature_stickers_operation_panel=0x7f030019;\n        public static final int fotor_feature_text_color_panel=0x7f03001a;\n        public static final int fotor_feature_text_operation_panel=0x7f03001b;\n        public static final int fotor_feature_text_operation_tools=0x7f03001c;\n        public static final int fotor_feature_text_option_panel=0x7f03001d;\n        public static final int fotor_feature_text_typeface_category_item=0x7f03001e;\n        public static final int fotor_feature_text_typeface_item=0x7f03001f;\n        public static final int fotor_feature_text_typeface_panel=0x7f030020;\n        public static final int fotor_feature_tilt_shift_operation_panel=0x7f030021;\n        public static final int fotor_feature_tilt_shift_operation_tools=0x7f030022;\n        public static final int fotor_feature_zoom_draw_panel=0x7f030023;\n        public static final int fotor_loading_progress_medium=0x7f030024;\n        public static final int fotor_main=0x7f030025;\n        public static final int fotor_main_footer=0x7f030026;\n        public static final int fotor_main_footer_item=0x7f030027;\n        public static final int fotor_main_header=0x7f030028;\n        public static final int fotor_main_loadding=0x7f030029;\n        public static final int fotor_progress_medium=0x7f03002a;\n    }\n    public static final class menu {\n        public static final int fotor_camera_menu=0x7f0c0000;\n    }\n    public static final class raw {\n        public static final int basefilter=0x7f050000;\n        public static final int optimization=0x7f050001;\n        public static final int temporary=0x7f050002;\n    }\n    public static final class string {\n        public static final int action_settings=0x7f090070;\n        public static final int app_name=0x7f09006f;\n        public static final int fotor_adjust_brightness=0x7f09001f;\n        public static final int fotor_adjust_contrast=0x7f090020;\n        public static final int fotor_adjust_curve=0x7f090029;\n        public static final int fotor_adjust_curve_hide=0x7f09002b;\n        public static final int fotor_adjust_curve_reset=0x7f09002c;\n        public static final int fotor_adjust_curve_show=0x7f09002a;\n        public static final int fotor_adjust_highlight=0x7f090025;\n        public static final int fotor_adjust_rgb=0x7f090028;\n        public static final int fotor_adjust_saturation=0x7f090021;\n        public static final int fotor_adjust_shadow=0x7f090024;\n        public static final int fotor_adjust_sharpen=0x7f090022;\n        public static final int fotor_adjust_temp=0x7f090026;\n        public static final int fotor_adjust_tint=0x7f090027;\n        public static final int fotor_adjust_vignette=0x7f090023;\n        /**  Fotor common strings \n         */\n        public static final int fotor_back=0x7f09005a;\n        public static final int fotor_crop_10_8=0x7f090049;\n        public static final int fotor_crop_16_9=0x7f09004b;\n        public static final int fotor_crop_1_1=0x7f090042;\n        public static final int fotor_crop_3_4=0x7f090044;\n        public static final int fotor_crop_4_3=0x7f090043;\n        public static final int fotor_crop_4_6=0x7f090046;\n        public static final int fotor_crop_5_7=0x7f090048;\n        public static final int fotor_crop_6_4=0x7f090045;\n        public static final int fotor_crop_7_5=0x7f090047;\n        public static final int fotor_crop_8_10=0x7f09004a;\n        public static final int fotor_crop_9_16=0x7f09004c;\n        public static final int fotor_crop_free=0x7f090040;\n        public static final int fotor_crop_original=0x7f090041;\n        public static final int fotor_dialog_alert_message_plugin_update=0x7f090069;\n        public static final int fotor_dialog_alert_message_save=0x7f09006b;\n        public static final int fotor_dialog_alert_negative_save=0x7f09006c;\n        public static final int fotor_dialog_alert_positive_save=0x7f09006d;\n        public static final int fotor_dialog_alert_title_plugin_update=0x7f09006e;\n        /**  Fotor dialog text \n         */\n        public static final int fotor_dialog_alert_title_save=0x7f09006a;\n        public static final int fotor_effect_border_pack_gallery=0x7f090007;\n        public static final int fotor_effect_border_pack_simple=0x7f090005;\n        public static final int fotor_effect_border_pack_styled=0x7f090006;\n        public static final int fotor_effect_fx_pack_analog=0x7f090000;\n        public static final int fotor_effect_fx_pack_lomo=0x7f090004;\n        public static final int fotor_effect_fx_pack_oldpicture=0x7f090001;\n        public static final int fotor_effect_fx_pack_retro=0x7f090002;\n        public static final int fotor_effect_fx_pack_vintage=0x7f090003;\n        public static final int fotor_effect_store=0x7f090068;\n        public static final int fotor_enhance_high=0x7f090059;\n        public static final int fotor_enhance_low=0x7f090057;\n        public static final int fotor_enhance_medium=0x7f090058;\n        public static final int fotor_favorites=0x7f09005d;\n        public static final int fotor_feature_adjust=0x7f090012;\n        public static final int fotor_feature_adjust_advance=0x7f090013;\n        public static final int fotor_feature_border=0x7f090015;\n        public static final int fotor_feature_crop=0x7f090016;\n        public static final int fotor_feature_enhance=0x7f090010;\n        public static final int fotor_feature_fx_effects=0x7f090014;\n        public static final int fotor_feature_rotate=0x7f090017;\n        public static final int fotor_feature_scenes=0x7f090011;\n        public static final int fotor_feature_stickers=0x7f090018;\n        public static final int fotor_feature_text=0x7f09001a;\n        public static final int fotor_feature_tilt_shift=0x7f090019;\n        public static final int fotor_font_assets_path=0x7f090056;\n        public static final int fotor_font_roboto_bold=0x7f090054;\n        public static final int fotor_font_roboto_bold_name=0x7f090055;\n        public static final int fotor_font_roboto_light=0x7f090052;\n        public static final int fotor_font_roboto_light_name=0x7f090053;\n        public static final int fotor_fonts_pack_charm=0x7f090009;\n        public static final int fotor_fonts_pack_classic=0x7f090008;\n        public static final int fotor_loading=0x7f09005b;\n        public static final int fotor_main_apply=0x7f09001c;\n        public static final int fotor_main_cancel=0x7f09001b;\n        public static final int fotor_main_redo=0x7f09001e;\n        public static final int fotor_main_undo=0x7f09001d;\n        public static final int fotor_original=0x7f09005c;\n        public static final int fotor_rotate_fliph=0x7f090030;\n        public static final int fotor_rotate_flipv=0x7f09002f;\n        public static final int fotor_rotate_left=0x7f09002d;\n        public static final int fotor_rotate_right=0x7f09002e;\n        public static final int fotor_scenes_auto=0x7f090032;\n        public static final int fotor_scenes_backlit=0x7f090033;\n        public static final int fotor_scenes_cloudy=0x7f090035;\n        public static final int fotor_scenes_darken=0x7f090034;\n        public static final int fotor_scenes_flash=0x7f090039;\n        public static final int fotor_scenes_fluorescent=0x7f09003a;\n        public static final int fotor_scenes_food=0x7f09003f;\n        public static final int fotor_scenes_landscape=0x7f09003d;\n        public static final int fotor_scenes_night=0x7f090038;\n        public static final int fotor_scenes_original=0x7f090031;\n        public static final int fotor_scenes_portrait=0x7f09003b;\n        public static final int fotor_scenes_sand_snow=0x7f09003c;\n        public static final int fotor_scenes_shade=0x7f090036;\n        public static final int fotor_scenes_sunset=0x7f090037;\n        public static final int fotor_scenes_theatre=0x7f09003e;\n        public static final int fotor_stickers_abstract=0x7f090066;\n        public static final int fotor_stickers_boom=0x7f090067;\n        public static final int fotor_stickers_pack_boom=0x7f09000b;\n        public static final int fotor_stickers_pack_decoration=0x7f09000c;\n        public static final int fotor_stickers_pack_love=0x7f09000d;\n        public static final int fotor_stickers_pack_party=0x7f09000e;\n        public static final int fotor_stickers_pack_text=0x7f09000a;\n        public static final int fotor_text_add_btn=0x7f09005e;\n        public static final int fotor_text_alignment=0x7f090063;\n        public static final int fotor_text_default_text=0x7f09005f;\n        public static final int fotor_text_opacity=0x7f090065;\n        public static final int fotor_text_rotation=0x7f090061;\n        public static final int fotor_text_shadow=0x7f090064;\n        public static final int fotor_text_style=0x7f090062;\n        public static final int fotor_text_textsize=0x7f090060;\n        public static final int fotor_tilt_shift_circle=0x7f09004f;\n        public static final int fotor_tilt_shift_ellipse=0x7f090051;\n        public static final int fotor_tilt_shift_gradient=0x7f09004d;\n        public static final int fotor_tilt_shift_linear=0x7f090050;\n        public static final int fotor_tilt_shift_strength=0x7f09004e;\n        public static final int fotor_title_main=0x7f09000f;\n        public static final int hello_world=0x7f090071;\n        public static final int photo_editor=0x7f090072;\n        public static final int photo_editor_process=0x7f090074;\n        public static final int photo_editor_select_image=0x7f090073;\n    }\n    public static final class style {\n        /** \n        Base application theme, dependent on API level. This theme is replaced\n        by AppBaseTheme from res/values-vXX/styles.xml on newer devices.\n    \n\n            Theme customizations available in newer API levels can go in\n            res/values-vXX/styles.xml, while customizations related to\n            backward-compatibility can go here.\n        \n\n        Base application theme for API 11+. This theme completely replaces\n        AppBaseTheme from res/values/styles.xml on API 11+ devices.\n    \n API 11 theme customizations can go here. \n\n        Base application theme for API 14+. This theme completely replaces\n        AppBaseTheme from BOTH res/values/styles.xml and\n        res/values-v11/styles.xml on API 14+ devices.\n    \n API 14 theme customizations can go here. \n         */\n        public static final int AppBaseTheme=0x7f0b000b;\n        /**  Application theme. \n All customizations that are NOT specific to a particular API-level can go here. \n         */\n        public static final int AppTheme=0x7f0b000c;\n        /** \n        Base application theme for API 14+. This theme completely replaces\n        AppBaseTheme from BOTH res/values/styles.xml and\n        res/values-v11/styles.xml on API 14+ devices.\n    \n API 14 theme customizations can go here. \n         */\n        public static final int FotorBaseTheme=0x7f0b0009;\n        public static final int FotorCustomSliderDefault=0x7f0b0001;\n        public static final int FotorTheme=0x7f0b000a;\n        public static final int FotorWidget=0x7f0b0000;\n        public static final int FotorWidget_EffectSelectorView=0x7f0b0007;\n        public static final int FotorWidget_NavigationButton=0x7f0b0002;\n        public static final int FotorWidget_TextButton=0x7f0b0006;\n        public static final int FotorWidget_TextView=0x7f0b0005;\n        public static final int FotorWidget_TitleBackButton=0x7f0b0008;\n        public static final int fotorHeaderButtonDefault=0x7f0b0004;\n        public static final int fotorOperToolPanelDefault=0x7f0b0003;\n    }\n    public static final class styleable {\n        /** Attributes that can be used with a AbsHListView.\n           <p>Includes the following attributes:</p>\n           <table>\n           <colgroup align=\"left\" />\n           <colgroup align=\"left\" />\n           <tr><th>Attribute</th><th>Description</th></tr>\n           <tr><td><code>{@link #AbsHListView_android_cacheColorHint android:cacheColorHint}</code></td><td></td></tr>\n           <tr><td><code>{@link #AbsHListView_android_choiceMode android:choiceMode}</code></td><td></td></tr>\n           <tr><td><code>{@link #AbsHListView_android_drawSelectorOnTop android:drawSelectorOnTop}</code></td><td></td></tr>\n           <tr><td><code>{@link #AbsHListView_android_listSelector android:listSelector}</code></td><td></td></tr>\n           <tr><td><code>{@link #AbsHListView_android_scrollingCache android:scrollingCache}</code></td><td></td></tr>\n           <tr><td><code>{@link #AbsHListView_android_smoothScrollbar android:smoothScrollbar}</code></td><td></td></tr>\n           <tr><td><code>{@link #AbsHListView_stackFromRight com.example.fotorsdkdemo:stackFromRight}</code></td><td></td></tr>\n           <tr><td><code>{@link #AbsHListView_transcriptMode com.example.fotorsdkdemo:transcriptMode}</code></td><td></td></tr>\n           </table>\n           @see #AbsHListView_android_cacheColorHint\n           @see #AbsHListView_android_choiceMode\n           @see #AbsHListView_android_drawSelectorOnTop\n           @see #AbsHListView_android_listSelector\n           @see #AbsHListView_android_scrollingCache\n           @see #AbsHListView_android_smoothScrollbar\n           @see #AbsHListView_stackFromRight\n           @see #AbsHListView_transcriptMode\n         */\n        public static final int[] AbsHListView = {\n            0x010100fb, 0x010100fc, 0x010100fe, 0x01010101,\n            0x0101012b, 0x01010231, 0x7f010036, 0x7f010037\n        };\n        /**\n          <p>This symbol is the offset where the {@link android.R.attr#cacheColorHint}\n          attribute's value can be found in the {@link #AbsHListView} array.\n          @attr name android:cacheColorHint\n        */\n        public static final int AbsHListView_android_cacheColorHint = 3;\n        /**\n          <p>This symbol is the offset where the {@link android.R.attr#choiceMode}\n          attribute's value can be found in the {@link #AbsHListView} array.\n          @attr name android:choiceMode\n        */\n        public static final int AbsHListView_android_choiceMode = 4;\n        /**\n          <p>This symbol is the offset where the {@link android.R.attr#drawSelectorOnTop}\n          attribute's value can be found in the {@link #AbsHListView} array.\n          @attr name android:drawSelectorOnTop\n        */\n        public static final int AbsHListView_android_drawSelectorOnTop = 1;\n        /**\n          <p>This symbol is the offset where the {@link android.R.attr#listSelector}\n          attribute's value can be found in the {@link #AbsHListView} array.\n          @attr name android:listSelector\n        */\n        public static final int AbsHListView_android_listSelector = 0;\n        /**\n          <p>This symbol is the offset where the {@link android.R.attr#scrollingCache}\n          attribute's value can be found in the {@link #AbsHListView} array.\n          @attr name android:scrollingCache\n        */\n        public static final int AbsHListView_android_scrollingCache = 2;\n        /**\n          <p>This symbol is the offset where the {@link android.R.attr#smoothScrollbar}\n          attribute's value can be found in the {@link #AbsHListView} array.\n          @attr name android:smoothScrollbar\n        */\n        public static final int AbsHListView_android_smoothScrollbar = 5;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#stackFromRight}\n          attribute's value can be found in the {@link #AbsHListView} array.\n\n\n          <p>Must be a boolean value, either \"<code>true</code>\" or \"<code>false</code>\".\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n          @attr name com.example.fotorsdkdemo:stackFromRight\n        */\n        public static final int AbsHListView_stackFromRight = 6;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#transcriptMode}\n          attribute's value can be found in the {@link #AbsHListView} array.\n\n\n          <p>Must be one of the following constant values.</p>\n<table>\n<colgroup align=\"left\" />\n<colgroup align=\"left\" />\n<colgroup align=\"left\" />\n<tr><th>Constant</th><th>Value</th><th>Description</th></tr>\n<tr><td><code>disabled</code></td><td>0</td><td></td></tr>\n<tr><td><code>normal</code></td><td>1</td><td></td></tr>\n<tr><td><code>alwaysScroll</code></td><td>2</td><td></td></tr>\n</table>\n          @attr name com.example.fotorsdkdemo:transcriptMode\n        */\n        public static final int AbsHListView_transcriptMode = 7;\n        /** Attributes that can be used with a FotorCustomSlider.\n           <p>Includes the following attributes:</p>\n           <table>\n           <colgroup align=\"left\" />\n           <colgroup align=\"left\" />\n           <tr><th>Attribute</th><th>Description</th></tr>\n           <tr><td><code>{@link #FotorCustomSlider_fotorCustomSlider_adjustYDistance com.example.fotorsdkdemo:fotorCustomSlider_adjustYDistance}</code></td><td></td></tr>\n           <tr><td><code>{@link #FotorCustomSlider_fotorCustomSlider_isShowValue com.example.fotorsdkdemo:fotorCustomSlider_isShowValue}</code></td><td></td></tr>\n           <tr><td><code>{@link #FotorCustomSlider_fotorCustomSlider_max com.example.fotorsdkdemo:fotorCustomSlider_max}</code></td><td></td></tr>\n           <tr><td><code>{@link #FotorCustomSlider_fotorCustomSlider_progress com.example.fotorsdkdemo:fotorCustomSlider_progress}</code></td><td></td></tr>\n           <tr><td><code>{@link #FotorCustomSlider_fotorCustomSlider_progressDrawable com.example.fotorsdkdemo:fotorCustomSlider_progressDrawable}</code></td><td></td></tr>\n           <tr><td><code>{@link #FotorCustomSlider_fotorCustomSlider_thumb com.example.fotorsdkdemo:fotorCustomSlider_thumb}</code></td><td></td></tr>\n           <tr><td><code>{@link #FotorCustomSlider_fotorCustomSlider_typeface com.example.fotorsdkdemo:fotorCustomSlider_typeface}</code></td><td></td></tr>\n           <tr><td><code>{@link #FotorCustomSlider_fotorCustomSlider_valueBackground com.example.fotorsdkdemo:fotorCustomSlider_valueBackground}</code></td><td></td></tr>\n           </table>\n           @see #FotorCustomSlider_fotorCustomSlider_adjustYDistance\n           @see #FotorCustomSlider_fotorCustomSlider_isShowValue\n           @see #FotorCustomSlider_fotorCustomSlider_max\n           @see #FotorCustomSlider_fotorCustomSlider_progress\n           @see #FotorCustomSlider_fotorCustomSlider_progressDrawable\n           @see #FotorCustomSlider_fotorCustomSlider_thumb\n           @see #FotorCustomSlider_fotorCustomSlider_typeface\n           @see #FotorCustomSlider_fotorCustomSlider_valueBackground\n         */\n        public static final int[] FotorCustomSlider = {\n            0x7f010015, 0x7f010016, 0x7f010017, 0x7f010018,\n            0x7f010019, 0x7f01001a, 0x7f01001b, 0x7f01001c\n        };\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorCustomSlider_adjustYDistance}\n          attribute's value can be found in the {@link #FotorCustomSlider} array.\n\n\n          <p>Must be an integer value, such as \"<code>100</code>\".\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n          @attr name com.example.fotorsdkdemo:fotorCustomSlider_adjustYDistance\n        */\n        public static final int FotorCustomSlider_fotorCustomSlider_adjustYDistance = 0;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorCustomSlider_isShowValue}\n          attribute's value can be found in the {@link #FotorCustomSlider} array.\n\n\n          <p>Must be a boolean value, either \"<code>true</code>\" or \"<code>false</code>\".\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n          @attr name com.example.fotorsdkdemo:fotorCustomSlider_isShowValue\n        */\n        public static final int FotorCustomSlider_fotorCustomSlider_isShowValue = 1;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorCustomSlider_max}\n          attribute's value can be found in the {@link #FotorCustomSlider} array.\n\n\n          <p>Must be an integer value, such as \"<code>100</code>\".\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n          @attr name com.example.fotorsdkdemo:fotorCustomSlider_max\n        */\n        public static final int FotorCustomSlider_fotorCustomSlider_max = 6;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorCustomSlider_progress}\n          attribute's value can be found in the {@link #FotorCustomSlider} array.\n\n\n          <p>Must be an integer value, such as \"<code>100</code>\".\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n          @attr name com.example.fotorsdkdemo:fotorCustomSlider_progress\n        */\n        public static final int FotorCustomSlider_fotorCustomSlider_progress = 7;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorCustomSlider_progressDrawable}\n          attribute's value can be found in the {@link #FotorCustomSlider} array.\n\n\n          <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n          @attr name com.example.fotorsdkdemo:fotorCustomSlider_progressDrawable\n        */\n        public static final int FotorCustomSlider_fotorCustomSlider_progressDrawable = 5;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorCustomSlider_thumb}\n          attribute's value can be found in the {@link #FotorCustomSlider} array.\n\n\n          <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n          @attr name com.example.fotorsdkdemo:fotorCustomSlider_thumb\n        */\n        public static final int FotorCustomSlider_fotorCustomSlider_thumb = 3;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorCustomSlider_typeface}\n          attribute's value can be found in the {@link #FotorCustomSlider} array.\n\n\n          <p>Must be a string value, using '\\\\;' to escape characters such as '\\\\n' or '\\\\uxxxx' for a unicode character.\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n          @attr name com.example.fotorsdkdemo:fotorCustomSlider_typeface\n        */\n        public static final int FotorCustomSlider_fotorCustomSlider_typeface = 4;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorCustomSlider_valueBackground}\n          attribute's value can be found in the {@link #FotorCustomSlider} array.\n\n\n          <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n          @attr name com.example.fotorsdkdemo:fotorCustomSlider_valueBackground\n        */\n        public static final int FotorCustomSlider_fotorCustomSlider_valueBackground = 2;\n        /** Attributes that can be used with a FotorEffectSelectorView.\n           <p>Includes the following attributes:</p>\n           <table>\n           <colgroup align=\"left\" />\n           <colgroup align=\"left\" />\n           <tr><th>Attribute</th><th>Description</th></tr>\n           <tr><td><code>{@link #FotorEffectSelectorView_fotorEffectSelectorView_Color com.example.fotorsdkdemo:fotorEffectSelectorView_Color}</code></td><td></td></tr>\n           </table>\n           @see #FotorEffectSelectorView_fotorEffectSelectorView_Color\n         */\n        public static final int[] FotorEffectSelectorView = {\n            0x7f010026\n        };\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorEffectSelectorView_Color}\n          attribute's value can be found in the {@link #FotorEffectSelectorView} array.\n\n\n          <p>Must be a color value, in the form of \"<code>#<i>rgb</i></code>\", \"<code>#<i>argb</i></code>\",\n\"<code>#<i>rrggbb</i></code>\", or \"<code>#<i>aarrggbb</i></code>\".\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n          @attr name com.example.fotorsdkdemo:fotorEffectSelectorView_Color\n        */\n        public static final int FotorEffectSelectorView_fotorEffectSelectorView_Color = 0;\n        /** Attributes that can be used with a FotorHeaderButton.\n           <p>Includes the following attributes:</p>\n           <table>\n           <colgroup align=\"left\" />\n           <colgroup align=\"left\" />\n           <tr><th>Attribute</th><th>Description</th></tr>\n           <tr><td><code>{@link #FotorHeaderButton_fotorHeaderButton_typeface com.example.fotorsdkdemo:fotorHeaderButton_typeface}</code></td><td></td></tr>\n           </table>\n           @see #FotorHeaderButton_fotorHeaderButton_typeface\n         */\n        public static final int[] FotorHeaderButton = {\n            0x7f010025\n        };\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorHeaderButton_typeface}\n          attribute's value can be found in the {@link #FotorHeaderButton} array.\n\n\n          <p>Must be a string value, using '\\\\;' to escape characters such as '\\\\n' or '\\\\uxxxx' for a unicode character.\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n          @attr name com.example.fotorsdkdemo:fotorHeaderButton_typeface\n        */\n        public static final int FotorHeaderButton_fotorHeaderButton_typeface = 0;\n        /** Attributes that can be used with a FotorNavigationButton.\n           <p>Includes the following attributes:</p>\n           <table>\n           <colgroup align=\"left\" />\n           <colgroup align=\"left\" />\n           <tr><th>Attribute</th><th>Description</th></tr>\n           <tr><td><code>{@link #FotorNavigationButton_fotorNavigationBtn_color_default com.example.fotorsdkdemo:fotorNavigationBtn_color_default}</code></td><td></td></tr>\n           <tr><td><code>{@link #FotorNavigationButton_fotorNavigationBtn_color_disabled com.example.fotorsdkdemo:fotorNavigationBtn_color_disabled}</code></td><td></td></tr>\n           <tr><td><code>{@link #FotorNavigationButton_fotorNavigationBtn_color_pressed com.example.fotorsdkdemo:fotorNavigationBtn_color_pressed}</code></td><td></td></tr>\n           <tr><td><code>{@link #FotorNavigationButton_fotorNavigationBtn_isShowPressedBackground com.example.fotorsdkdemo:fotorNavigationBtn_isShowPressedBackground}</code></td><td></td></tr>\n           <tr><td><code>{@link #FotorNavigationButton_fotorNavigationBtn_pressed_background com.example.fotorsdkdemo:fotorNavigationBtn_pressed_background}</code></td><td></td></tr>\n           <tr><td><code>{@link #FotorNavigationButton_fotorNavigationBtn_text com.example.fotorsdkdemo:fotorNavigationBtn_text}</code></td><td></td></tr>\n           <tr><td><code>{@link #FotorNavigationButton_fotorNavigationBtn_typeface com.example.fotorsdkdemo:fotorNavigationBtn_typeface}</code></td><td></td></tr>\n           </table>\n           @see #FotorNavigationButton_fotorNavigationBtn_color_default\n           @see #FotorNavigationButton_fotorNavigationBtn_color_disabled\n           @see #FotorNavigationButton_fotorNavigationBtn_color_pressed\n           @see #FotorNavigationButton_fotorNavigationBtn_isShowPressedBackground\n           @see #FotorNavigationButton_fotorNavigationBtn_pressed_background\n           @see #FotorNavigationButton_fotorNavigationBtn_text\n           @see #FotorNavigationButton_fotorNavigationBtn_typeface\n         */\n        public static final int[] FotorNavigationButton = {\n            0x7f01001d, 0x7f01001e, 0x7f01001f, 0x7f010020,\n            0x7f010021, 0x7f010022, 0x7f010023\n        };\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorNavigationBtn_color_default}\n          attribute's value can be found in the {@link #FotorNavigationButton} array.\n\n\n          <p>Must be a color value, in the form of \"<code>#<i>rgb</i></code>\", \"<code>#<i>argb</i></code>\",\n\"<code>#<i>rrggbb</i></code>\", or \"<code>#<i>aarrggbb</i></code>\".\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n          @attr name com.example.fotorsdkdemo:fotorNavigationBtn_color_default\n        */\n        public static final int FotorNavigationButton_fotorNavigationBtn_color_default = 3;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorNavigationBtn_color_disabled}\n          attribute's value can be found in the {@link #FotorNavigationButton} array.\n\n\n          <p>Must be a color value, in the form of \"<code>#<i>rgb</i></code>\", \"<code>#<i>argb</i></code>\",\n\"<code>#<i>rrggbb</i></code>\", or \"<code>#<i>aarrggbb</i></code>\".\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n          @attr name com.example.fotorsdkdemo:fotorNavigationBtn_color_disabled\n        */\n        public static final int FotorNavigationButton_fotorNavigationBtn_color_disabled = 5;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorNavigationBtn_color_pressed}\n          attribute's value can be found in the {@link #FotorNavigationButton} array.\n\n\n          <p>Must be a color value, in the form of \"<code>#<i>rgb</i></code>\", \"<code>#<i>argb</i></code>\",\n\"<code>#<i>rrggbb</i></code>\", or \"<code>#<i>aarrggbb</i></code>\".\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n          @attr name com.example.fotorsdkdemo:fotorNavigationBtn_color_pressed\n        */\n        public static final int FotorNavigationButton_fotorNavigationBtn_color_pressed = 4;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorNavigationBtn_isShowPressedBackground}\n          attribute's value can be found in the {@link #FotorNavigationButton} array.\n\n\n          <p>Must be a boolean value, either \"<code>true</code>\" or \"<code>false</code>\".\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n          @attr name com.example.fotorsdkdemo:fotorNavigationBtn_isShowPressedBackground\n        */\n        public static final int FotorNavigationButton_fotorNavigationBtn_isShowPressedBackground = 0;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorNavigationBtn_pressed_background}\n          attribute's value can be found in the {@link #FotorNavigationButton} array.\n\n\n          <p>Must be a color value, in the form of \"<code>#<i>rgb</i></code>\", \"<code>#<i>argb</i></code>\",\n\"<code>#<i>rrggbb</i></code>\", or \"<code>#<i>aarrggbb</i></code>\".\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n          @attr name com.example.fotorsdkdemo:fotorNavigationBtn_pressed_background\n        */\n        public static final int FotorNavigationButton_fotorNavigationBtn_pressed_background = 6;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorNavigationBtn_text}\n          attribute's value can be found in the {@link #FotorNavigationButton} array.\n\n\n          <p>Must be a string value, using '\\\\;' to escape characters such as '\\\\n' or '\\\\uxxxx' for a unicode character.\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n          @attr name com.example.fotorsdkdemo:fotorNavigationBtn_text\n        */\n        public static final int FotorNavigationButton_fotorNavigationBtn_text = 1;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorNavigationBtn_typeface}\n          attribute's value can be found in the {@link #FotorNavigationButton} array.\n\n\n          <p>Must be a string value, using '\\\\;' to escape characters such as '\\\\n' or '\\\\uxxxx' for a unicode character.\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n          @attr name com.example.fotorsdkdemo:fotorNavigationBtn_typeface\n        */\n        public static final int FotorNavigationButton_fotorNavigationBtn_typeface = 2;\n        /** Attributes that can be used with a FotorOperToolPanel.\n           <p>Includes the following attributes:</p>\n           <table>\n           <colgroup align=\"left\" />\n           <colgroup align=\"left\" />\n           <tr><th>Attribute</th><th>Description</th></tr>\n           <tr><td><code>{@link #FotorOperToolPanel_fotorOperToolPanel_bottomLine_Color com.example.fotorsdkdemo:fotorOperToolPanel_bottomLine_Color}</code></td><td></td></tr>\n           </table>\n           @see #FotorOperToolPanel_fotorOperToolPanel_bottomLine_Color\n         */\n        public static final int[] FotorOperToolPanel = {\n            0x7f010024\n        };\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorOperToolPanel_bottomLine_Color}\n          attribute's value can be found in the {@link #FotorOperToolPanel} array.\n\n\n          <p>Must be a color value, in the form of \"<code>#<i>rgb</i></code>\", \"<code>#<i>argb</i></code>\",\n\"<code>#<i>rrggbb</i></code>\", or \"<code>#<i>aarrggbb</i></code>\".\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n          @attr name com.example.fotorsdkdemo:fotorOperToolPanel_bottomLine_Color\n        */\n        public static final int FotorOperToolPanel_fotorOperToolPanel_bottomLine_Color = 0;\n        /** Attributes that can be used with a FotorTextButton.\n           <p>Includes the following attributes:</p>\n           <table>\n           <colgroup align=\"left\" />\n           <colgroup align=\"left\" />\n           <tr><th>Attribute</th><th>Description</th></tr>\n           <tr><td><code>{@link #FotorTextButton_fotorTextButton_typeface com.example.fotorsdkdemo:fotorTextButton_typeface}</code></td><td></td></tr>\n           </table>\n           @see #FotorTextButton_fotorTextButton_typeface\n         */\n        public static final int[] FotorTextButton = {\n            0x7f010014\n        };\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorTextButton_typeface}\n          attribute's value can be found in the {@link #FotorTextButton} array.\n\n\n          <p>Must be a string value, using '\\\\;' to escape characters such as '\\\\n' or '\\\\uxxxx' for a unicode character.\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n          @attr name com.example.fotorsdkdemo:fotorTextButton_typeface\n        */\n        public static final int FotorTextButton_fotorTextButton_typeface = 0;\n        /** Attributes that can be used with a FotorTextView.\n           <p>Includes the following attributes:</p>\n           <table>\n           <colgroup align=\"left\" />\n           <colgroup align=\"left\" />\n           <tr><th>Attribute</th><th>Description</th></tr>\n           <tr><td><code>{@link #FotorTextView_fotorTextView_typeface com.example.fotorsdkdemo:fotorTextView_typeface}</code></td><td></td></tr>\n           </table>\n           @see #FotorTextView_fotorTextView_typeface\n         */\n        public static final int[] FotorTextView = {\n            0x7f010013\n        };\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorTextView_typeface}\n          attribute's value can be found in the {@link #FotorTextView} array.\n\n\n          <p>Must be a string value, using '\\\\;' to escape characters such as '\\\\n' or '\\\\uxxxx' for a unicode character.\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n          @attr name com.example.fotorsdkdemo:fotorTextView_typeface\n        */\n        public static final int FotorTextView_fotorTextView_typeface = 0;\n        /** Attributes that can be used with a FotorTitleBackButton.\n           <p>Includes the following attributes:</p>\n           <table>\n           <colgroup align=\"left\" />\n           <colgroup align=\"left\" />\n           <tr><th>Attribute</th><th>Description</th></tr>\n           <tr><td><code>{@link #FotorTitleBackButton_fotorTitleBackButton_IconDrawable com.example.fotorsdkdemo:fotorTitleBackButton_IconDrawable}</code></td><td></td></tr>\n           <tr><td><code>{@link #FotorTitleBackButton_fotorTitleBackButton_Text com.example.fotorsdkdemo:fotorTitleBackButton_Text}</code></td><td></td></tr>\n           <tr><td><code>{@link #FotorTitleBackButton_fotorTitleBackButton_TextColor com.example.fotorsdkdemo:fotorTitleBackButton_TextColor}</code></td><td></td></tr>\n           <tr><td><code>{@link #FotorTitleBackButton_fotorTitleBackButton_Textsize com.example.fotorsdkdemo:fotorTitleBackButton_Textsize}</code></td><td></td></tr>\n           <tr><td><code>{@link #FotorTitleBackButton_fotorTitleBackButton_Typeface com.example.fotorsdkdemo:fotorTitleBackButton_Typeface}</code></td><td></td></tr>\n           </table>\n           @see #FotorTitleBackButton_fotorTitleBackButton_IconDrawable\n           @see #FotorTitleBackButton_fotorTitleBackButton_Text\n           @see #FotorTitleBackButton_fotorTitleBackButton_TextColor\n           @see #FotorTitleBackButton_fotorTitleBackButton_Textsize\n           @see #FotorTitleBackButton_fotorTitleBackButton_Typeface\n         */\n        public static final int[] FotorTitleBackButton = {\n            0x7f010027, 0x7f010028, 0x7f010029, 0x7f01002a,\n            0x7f01002b\n        };\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorTitleBackButton_IconDrawable}\n          attribute's value can be found in the {@link #FotorTitleBackButton} array.\n\n\n          <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n          @attr name com.example.fotorsdkdemo:fotorTitleBackButton_IconDrawable\n        */\n        public static final int FotorTitleBackButton_fotorTitleBackButton_IconDrawable = 3;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorTitleBackButton_Text}\n          attribute's value can be found in the {@link #FotorTitleBackButton} array.\n\n\n          <p>Must be a string value, using '\\\\;' to escape characters such as '\\\\n' or '\\\\uxxxx' for a unicode character.\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n          @attr name com.example.fotorsdkdemo:fotorTitleBackButton_Text\n        */\n        public static final int FotorTitleBackButton_fotorTitleBackButton_Text = 1;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorTitleBackButton_TextColor}\n          attribute's value can be found in the {@link #FotorTitleBackButton} array.\n\n\n          <p>May be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n<p>May be a color value, in the form of \"<code>#<i>rgb</i></code>\", \"<code>#<i>argb</i></code>\",\n\"<code>#<i>rrggbb</i></code>\", or \"<code>#<i>aarrggbb</i></code>\".\n          @attr name com.example.fotorsdkdemo:fotorTitleBackButton_TextColor\n        */\n        public static final int FotorTitleBackButton_fotorTitleBackButton_TextColor = 2;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorTitleBackButton_Textsize}\n          attribute's value can be found in the {@link #FotorTitleBackButton} array.\n\n\n          <p>Must be a dimension value, which is a floating point number appended with a unit such as \"<code>14.5sp</code>\".\nAvailable units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),\nin (inches), mm (millimeters).\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n          @attr name com.example.fotorsdkdemo:fotorTitleBackButton_Textsize\n        */\n        public static final int FotorTitleBackButton_fotorTitleBackButton_Textsize = 0;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorTitleBackButton_Typeface}\n          attribute's value can be found in the {@link #FotorTitleBackButton} array.\n\n\n          <p>Must be a string value, using '\\\\;' to escape characters such as '\\\\n' or '\\\\uxxxx' for a unicode character.\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n          @attr name com.example.fotorsdkdemo:fotorTitleBackButton_Typeface\n        */\n        public static final int FotorTitleBackButton_fotorTitleBackButton_Typeface = 4;\n        /** Attributes that can be used with a HListView.\n           <p>Includes the following attributes:</p>\n           <table>\n           <colgroup align=\"left\" />\n           <colgroup align=\"left\" />\n           <tr><th>Attribute</th><th>Description</th></tr>\n           <tr><td><code>{@link #HListView_android_divider android:divider}</code></td><td></td></tr>\n           <tr><td><code>{@link #HListView_android_entries android:entries}</code></td><td></td></tr>\n           <tr><td><code>{@link #HListView_dividerWidth com.example.fotorsdkdemo:dividerWidth}</code></td><td></td></tr>\n           <tr><td><code>{@link #HListView_footerDividersEnabled com.example.fotorsdkdemo:footerDividersEnabled}</code></td><td></td></tr>\n           <tr><td><code>{@link #HListView_headerDividersEnabled com.example.fotorsdkdemo:headerDividersEnabled}</code></td><td></td></tr>\n           <tr><td><code>{@link #HListView_measureWithChild com.example.fotorsdkdemo:measureWithChild}</code></td><td> \n        When \"wrap_content\" is used as value of the layout_height property.</td></tr>\n           <tr><td><code>{@link #HListView_overScrollFooter com.example.fotorsdkdemo:overScrollFooter}</code></td><td></td></tr>\n           <tr><td><code>{@link #HListView_overScrollHeader com.example.fotorsdkdemo:overScrollHeader}</code></td><td></td></tr>\n           </table>\n           @see #HListView_android_divider\n           @see #HListView_android_entries\n           @see #HListView_dividerWidth\n           @see #HListView_footerDividersEnabled\n           @see #HListView_headerDividersEnabled\n           @see #HListView_measureWithChild\n           @see #HListView_overScrollFooter\n           @see #HListView_overScrollHeader\n         */\n        public static final int[] HListView = {\n            0x010100b2, 0x01010129, 0x7f010030, 0x7f010031,\n            0x7f010032, 0x7f010033, 0x7f010034, 0x7f010035\n        };\n        /**\n          <p>This symbol is the offset where the {@link android.R.attr#divider}\n          attribute's value can be found in the {@link #HListView} array.\n          @attr name android:divider\n        */\n        public static final int HListView_android_divider = 1;\n        /**\n          <p>This symbol is the offset where the {@link android.R.attr#entries}\n          attribute's value can be found in the {@link #HListView} array.\n          @attr name android:entries\n        */\n        public static final int HListView_android_entries = 0;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#dividerWidth}\n          attribute's value can be found in the {@link #HListView} array.\n\n\n          <p>Must be a dimension value, which is a floating point number appended with a unit such as \"<code>14.5sp</code>\".\nAvailable units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),\nin (inches), mm (millimeters).\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n          @attr name com.example.fotorsdkdemo:dividerWidth\n        */\n        public static final int HListView_dividerWidth = 2;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#footerDividersEnabled}\n          attribute's value can be found in the {@link #HListView} array.\n\n\n          <p>Must be a boolean value, either \"<code>true</code>\" or \"<code>false</code>\".\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n          @attr name com.example.fotorsdkdemo:footerDividersEnabled\n        */\n        public static final int HListView_footerDividersEnabled = 4;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#headerDividersEnabled}\n          attribute's value can be found in the {@link #HListView} array.\n\n\n          <p>Must be a boolean value, either \"<code>true</code>\" or \"<code>false</code>\".\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n          @attr name com.example.fotorsdkdemo:headerDividersEnabled\n        */\n        public static final int HListView_headerDividersEnabled = 3;\n        /**\n          <p>\n          @attr description\n           \n        When \"wrap_content\" is used as value of the layout_height property.\n        Pass the position, inside the adapter, of the view being used to measure the view\n        or '-1' to use the default behavior ( default is -1 )\n        \n\n\n          <p>Must be an integer value, such as \"<code>100</code>\".\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n          <p>This is a private symbol.\n          @attr name com.example.fotorsdkdemo:measureWithChild\n        */\n        public static final int HListView_measureWithChild = 7;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#overScrollFooter}\n          attribute's value can be found in the {@link #HListView} array.\n\n\n          <p>May be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n<p>May be a color value, in the form of \"<code>#<i>rgb</i></code>\", \"<code>#<i>argb</i></code>\",\n\"<code>#<i>rrggbb</i></code>\", or \"<code>#<i>aarrggbb</i></code>\".\n          @attr name com.example.fotorsdkdemo:overScrollFooter\n        */\n        public static final int HListView_overScrollFooter = 6;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#overScrollHeader}\n          attribute's value can be found in the {@link #HListView} array.\n\n\n          <p>May be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n<p>May be a color value, in the form of \"<code>#<i>rgb</i></code>\", \"<code>#<i>argb</i></code>\",\n\"<code>#<i>rrggbb</i></code>\", or \"<code>#<i>aarrggbb</i></code>\".\n          @attr name com.example.fotorsdkdemo:overScrollHeader\n        */\n        public static final int HListView_overScrollHeader = 5;\n        /** Attributes that can be used with a Theme.\n           <p>Includes the following attributes:</p>\n           <table>\n           <colgroup align=\"left\" />\n           <colgroup align=\"left\" />\n           <tr><th>Attribute</th><th>Description</th></tr>\n           <tr><td><code>{@link #Theme_fotorDefaultEffectSelectorViewStyle com.example.fotorsdkdemo:fotorDefaultEffectSelectorViewStyle}</code></td><td></td></tr>\n           <tr><td><code>{@link #Theme_fotorDefaultHeaderButtonStyle com.example.fotorsdkdemo:fotorDefaultHeaderButtonStyle}</code></td><td></td></tr>\n           <tr><td><code>{@link #Theme_fotorDefaultImageViewBackground com.example.fotorsdkdemo:fotorDefaultImageViewBackground}</code></td><td></td></tr>\n           <tr><td><code>{@link #Theme_fotorDefaultNavigateBtnStyle com.example.fotorsdkdemo:fotorDefaultNavigateBtnStyle}</code></td><td></td></tr>\n           <tr><td><code>{@link #Theme_fotorDefaultOperToolPanelStyle com.example.fotorsdkdemo:fotorDefaultOperToolPanelStyle}</code></td><td></td></tr>\n           <tr><td><code>{@link #Theme_fotorDefaultSliderStyle com.example.fotorsdkdemo:fotorDefaultSliderStyle}</code></td><td> default slider adjustDistance </td></tr>\n           <tr><td><code>{@link #Theme_fotorDefaultTextButtonStyle com.example.fotorsdkdemo:fotorDefaultTextButtonStyle}</code></td><td></td></tr>\n           <tr><td><code>{@link #Theme_fotorDefaultTextViewStyle com.example.fotorsdkdemo:fotorDefaultTextViewStyle}</code></td><td> default text style </td></tr>\n           <tr><td><code>{@link #Theme_fotorDefaultTitleBackButtonStyle com.example.fotorsdkdemo:fotorDefaultTitleBackButtonStyle}</code></td><td></td></tr>\n           <tr><td><code>{@link #Theme_fotorFontBold com.example.fotorsdkdemo:fotorFontBold}</code></td><td></td></tr>\n           <tr><td><code>{@link #Theme_fotorFontLight com.example.fotorsdkdemo:fotorFontLight}</code></td><td></td></tr>\n           <tr><td><code>{@link #Theme_fotorMainBottomHeight com.example.fotorsdkdemo:fotorMainBottomHeight}</code></td><td></td></tr>\n           <tr><td><code>{@link #Theme_fotorMainFooterBackground com.example.fotorsdkdemo:fotorMainFooterBackground}</code></td><td></td></tr>\n           <tr><td><code>{@link #Theme_fotorMainHeaderBackground com.example.fotorsdkdemo:fotorMainHeaderBackground}</code></td><td></td></tr>\n           <tr><td><code>{@link #Theme_fotorMainHeaderHeight com.example.fotorsdkdemo:fotorMainHeaderHeight}</code></td><td></td></tr>\n           <tr><td><code>{@link #Theme_fotorMainToolPanelBackground com.example.fotorsdkdemo:fotorMainToolPanelBackground}</code></td><td></td></tr>\n           <tr><td><code>{@link #Theme_fotorMainToolPanelHeight com.example.fotorsdkdemo:fotorMainToolPanelHeight}</code></td><td></td></tr>\n           <tr><td><code>{@link #Theme_fotorNavigationBtnWidth com.example.fotorsdkdemo:fotorNavigationBtnWidth}</code></td><td></td></tr>\n           <tr><td><code>{@link #Theme_fotorTitleTextSize com.example.fotorsdkdemo:fotorTitleTextSize}</code></td><td></td></tr>\n           </table>\n           @see #Theme_fotorDefaultEffectSelectorViewStyle\n           @see #Theme_fotorDefaultHeaderButtonStyle\n           @see #Theme_fotorDefaultImageViewBackground\n           @see #Theme_fotorDefaultNavigateBtnStyle\n           @see #Theme_fotorDefaultOperToolPanelStyle\n           @see #Theme_fotorDefaultSliderStyle\n           @see #Theme_fotorDefaultTextButtonStyle\n           @see #Theme_fotorDefaultTextViewStyle\n           @see #Theme_fotorDefaultTitleBackButtonStyle\n           @see #Theme_fotorFontBold\n           @see #Theme_fotorFontLight\n           @see #Theme_fotorMainBottomHeight\n           @see #Theme_fotorMainFooterBackground\n           @see #Theme_fotorMainHeaderBackground\n           @see #Theme_fotorMainHeaderHeight\n           @see #Theme_fotorMainToolPanelBackground\n           @see #Theme_fotorMainToolPanelHeight\n           @see #Theme_fotorNavigationBtnWidth\n           @see #Theme_fotorTitleTextSize\n         */\n        public static final int[] Theme = {\n            0x7f010000, 0x7f010001, 0x7f010002, 0x7f010003,\n            0x7f010004, 0x7f010005, 0x7f010006, 0x7f010007,\n            0x7f010008, 0x7f010009, 0x7f01000a, 0x7f01000b,\n            0x7f01000c, 0x7f01000d, 0x7f01000e, 0x7f01000f,\n            0x7f010010, 0x7f010011, 0x7f010012\n        };\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorDefaultEffectSelectorViewStyle}\n          attribute's value can be found in the {@link #Theme} array.\n\n\n          <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n          @attr name com.example.fotorsdkdemo:fotorDefaultEffectSelectorViewStyle\n        */\n        public static final int Theme_fotorDefaultEffectSelectorViewStyle = 17;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorDefaultHeaderButtonStyle}\n          attribute's value can be found in the {@link #Theme} array.\n\n\n          <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n          @attr name com.example.fotorsdkdemo:fotorDefaultHeaderButtonStyle\n        */\n        public static final int Theme_fotorDefaultHeaderButtonStyle = 16;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorDefaultImageViewBackground}\n          attribute's value can be found in the {@link #Theme} array.\n\n\n          <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n          @attr name com.example.fotorsdkdemo:fotorDefaultImageViewBackground\n        */\n        public static final int Theme_fotorDefaultImageViewBackground = 14;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorDefaultNavigateBtnStyle}\n          attribute's value can be found in the {@link #Theme} array.\n\n\n          <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n          @attr name com.example.fotorsdkdemo:fotorDefaultNavigateBtnStyle\n        */\n        public static final int Theme_fotorDefaultNavigateBtnStyle = 13;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorDefaultOperToolPanelStyle}\n          attribute's value can be found in the {@link #Theme} array.\n\n\n          <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n          @attr name com.example.fotorsdkdemo:fotorDefaultOperToolPanelStyle\n        */\n        public static final int Theme_fotorDefaultOperToolPanelStyle = 15;\n        /**\n          <p>\n          @attr description\n           default slider adjustDistance \n\n\n          <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n          <p>This is a private symbol.\n          @attr name com.example.fotorsdkdemo:fotorDefaultSliderStyle\n        */\n        public static final int Theme_fotorDefaultSliderStyle = 12;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorDefaultTextButtonStyle}\n          attribute's value can be found in the {@link #Theme} array.\n\n\n          <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n          @attr name com.example.fotorsdkdemo:fotorDefaultTextButtonStyle\n        */\n        public static final int Theme_fotorDefaultTextButtonStyle = 11;\n        /**\n          <p>\n          @attr description\n           default text style \n\n\n          <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n          <p>This is a private symbol.\n          @attr name com.example.fotorsdkdemo:fotorDefaultTextViewStyle\n        */\n        public static final int Theme_fotorDefaultTextViewStyle = 10;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorDefaultTitleBackButtonStyle}\n          attribute's value can be found in the {@link #Theme} array.\n\n\n          <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n          @attr name com.example.fotorsdkdemo:fotorDefaultTitleBackButtonStyle\n        */\n        public static final int Theme_fotorDefaultTitleBackButtonStyle = 18;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorFontBold}\n          attribute's value can be found in the {@link #Theme} array.\n\n\n          <p>Must be a string value, using '\\\\;' to escape characters such as '\\\\n' or '\\\\uxxxx' for a unicode character.\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n          @attr name com.example.fotorsdkdemo:fotorFontBold\n        */\n        public static final int Theme_fotorFontBold = 0;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorFontLight}\n          attribute's value can be found in the {@link #Theme} array.\n\n\n          <p>Must be a string value, using '\\\\;' to escape characters such as '\\\\n' or '\\\\uxxxx' for a unicode character.\n<p>This may also be a reference to a resource (in the form\n\"<code>@[<i>package</i>:]<i>type</i>:<i>name</i></code>\") or\ntheme attribute (in the form\n\"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\")\ncontaining a value of this type.\n          @attr name com.example.fotorsdkdemo:fotorFontLight\n        */\n        public static final int Theme_fotorFontLight = 1;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorMainBottomHeight}\n          attribute's value can be found in the {@link #Theme} array.\n\n\n          <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n          @attr name com.example.fotorsdkdemo:fotorMainBottomHeight\n        */\n        public static final int Theme_fotorMainBottomHeight = 2;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorMainFooterBackground}\n          attribute's value can be found in the {@link #Theme} array.\n\n\n          <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n          @attr name com.example.fotorsdkdemo:fotorMainFooterBackground\n        */\n        public static final int Theme_fotorMainFooterBackground = 6;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorMainHeaderBackground}\n          attribute's value can be found in the {@link #Theme} array.\n\n\n          <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n          @attr name com.example.fotorsdkdemo:fotorMainHeaderBackground\n        */\n        public static final int Theme_fotorMainHeaderBackground = 7;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorMainHeaderHeight}\n          attribute's value can be found in the {@link #Theme} array.\n\n\n          <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n          @attr name com.example.fotorsdkdemo:fotorMainHeaderHeight\n        */\n        public static final int Theme_fotorMainHeaderHeight = 4;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorMainToolPanelBackground}\n          attribute's value can be found in the {@link #Theme} array.\n\n\n          <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n          @attr name com.example.fotorsdkdemo:fotorMainToolPanelBackground\n        */\n        public static final int Theme_fotorMainToolPanelBackground = 8;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorMainToolPanelHeight}\n          attribute's value can be found in the {@link #Theme} array.\n\n\n          <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n          @attr name com.example.fotorsdkdemo:fotorMainToolPanelHeight\n        */\n        public static final int Theme_fotorMainToolPanelHeight = 3;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorNavigationBtnWidth}\n          attribute's value can be found in the {@link #Theme} array.\n\n\n          <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n          @attr name com.example.fotorsdkdemo:fotorNavigationBtnWidth\n        */\n        public static final int Theme_fotorNavigationBtnWidth = 5;\n        /**\n          <p>This symbol is the offset where the {@link com.example.fotorsdkdemo.R.attr#fotorTitleTextSize}\n          attribute's value can be found in the {@link #Theme} array.\n\n\n          <p>Must be a reference to another resource, in the form \"<code>@[+][<i>package</i>:]<i>type</i>:<i>name</i></code>\"\nor to a theme attribute in the form \"<code>?[<i>package</i>:][<i>type</i>:]<i>name</i></code>\".\n          @attr name com.example.fotorsdkdemo:fotorTitleTextSize\n        */\n        public static final int Theme_fotorTitleTextSize = 9;\n    };\n}\n"
  },
  {
    "path": "FotorSDKDemo/lint.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<lint>\n</lint>"
  },
  {
    "path": "FotorSDKDemo/proguard-project.txt",
    "content": "# To enable ProGuard in your project, edit project.properties\n# to define the proguard.config property as described in that file.\n#\n# Add project specific ProGuard rules here.\n# By default, the flags in this file are appended to flags specified\n# in ${sdk.dir}/tools/proguard/proguard-android.txt\n# You can edit the include path and order by changing the ProGuard\n# include property in project.properties.\n#\n# For more details, see\n#   http://developer.android.com/guide/developing/tools/proguard.html\n\n# Add any project specific keep options here:\n\n# If your project uses WebView with JS, uncomment the following\n# and specify the fully qualified class name to the JavaScript interface\n# class:\n#-keepclassmembers class fqcn.of.javascript.interface.for.webview {\n#   public *;\n#}\n"
  },
  {
    "path": "FotorSDKDemo/project.properties",
    "content": "# This file is automatically generated by Android Tools.\n# Do not modify this file -- YOUR CHANGES WILL BE ERASED!\n#\n# This file must be checked in Version Control Systems.\n#\n# To customize properties used by the Ant build system edit\n# \"ant.properties\", and override values to adapt the script to your\n# project structure.\n#\n# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):\n#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt\n\n# Project target.\ntarget=android-19\nandroid.library.reference.1=../FotorSDKLibrary\n\n#------ RenderScript Configuration -------\nrenderscript.target=19\n\nrenderscript.support.mode=true\n\nsdk.buildtools=19.0.3\n#------ RenderScript Configuration -------\n"
  },
  {
    "path": "FotorSDKDemo/res/color/photo_editor_button_background_color.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <item android:state_focused=\"true\" android:state_pressed=\"true\" android:color=\"@color/bottom_button_background_pressed_color\"/>\n    <item android:state_pressed=\"true\" android:color=\"@color/bottom_button_background_pressed_color\"/>\n    <item android:state_enabled=\"false\" android:color=\"@color/bottom_button_background_disable_color\"/>\n    <item android:state_selected=\"true\" android:color=\"@color/bottom_button_background_pressed_color\"/>\n    <item android:color=\"@color/bottom_button_background_default_color\"/>\n\n</selector>"
  },
  {
    "path": "FotorSDKDemo/res/color/photo_editor_button_text_color.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <item android:state_focused=\"true\" android:state_pressed=\"true\" android:color=\"@color/bottom_button_text_pressed_color\"/>\n    <item android:state_pressed=\"true\" android:color=\"@color/bottom_button_text_pressed_color\"/>\n    <item android:state_enabled=\"false\" android:color=\"@color/bottom_button_text_disable_color\"/>\n    <item android:state_selected=\"true\" android:color=\"@color/bottom_button_text_pressed_color\"/>\n    <item android:color=\"@color/bottom_button_text_default_color\"/>\n\n</selector>"
  },
  {
    "path": "FotorSDKDemo/res/drawable/photo_editor_button_background.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <item android:drawable=\"@color/bottom_button_background_pressed_color\" android:state_focused=\"true\" android:state_pressed=\"true\"/>\n    <item android:drawable=\"@color/bottom_button_background_pressed_color\" android:state_pressed=\"true\"/>\n    <item android:drawable=\"@color/bottom_button_background_disable_color\" android:state_enabled=\"false\"/>\n    <item android:drawable=\"@color/bottom_button_background_pressed_color\" android:state_selected=\"true\"/>\n    <item android:drawable=\"@color/bottom_button_background_default_color\"/>\n\n</selector>"
  },
  {
    "path": "FotorSDKDemo/res/layout/activity_main.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:baselineAligned=\"true\"\n    android:gravity=\"center_horizontal\"\n    android:orientation=\"vertical\" >\n\n    <RelativeLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"@dimen/title_background_height\"\n        android:background=\"@color/title_background\"\n         >\n\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"@string/photo_editor\"\n            android:layout_centerInParent=\"true\"\n            android:textColor=\"@android:color/white\"\n            android:textSize=\"@dimen/title_text_size\" />\n        \n        <TextView android:layout_height=\"wrap_content\"\n            \t  android:layout_width=\"wrap_content\"\n            \t  android:textColor=\"@android:color/white\"\n            \t  android:textSize=\"10sp\"\n            \t  android:padding=\"5dip\"\n            \t  android:id=\"@+id/fotor_sdk_version_label\"\n            />\n    </RelativeLayout>\n\n    <FrameLayout\n        android:id=\"@+id/image_container\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"0dip\"\n        android:layout_weight=\"1\"\n        android:background=\"@android:color/background_dark\"\n        android:gravity=\"center\"\n        android:padding=\"5dp\" >\n\n        <ImageView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_gravity=\"center\"\n            android:src=\"@drawable/photo_editor_nophotos\" />\n\n        <ImageView\n            android:id=\"@+id/image\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"match_parent\"\n            android:scaleType=\"centerInside\" />\n    </FrameLayout>\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"@dimen/bottom_background_height\"\n        android:background=\"@color/title_background\"\n        android:gravity=\"center\"\n        android:orientation=\"horizontal\"\n        android:padding=\"0dip\" >\n\n        <Button\n            android:id=\"@+id/button_gallery\"\n            android:layout_width=\"0dip\"\n            android:layout_height=\"match_parent\"\n            android:layout_weight=\"1\"\n            android:background=\"@drawable/photo_editor_button_background\"\n            android:text=\"@string/photo_editor_select_image\"\n            android:textColor=\"@color/photo_editor_button_text_color\"\n            android:textSize=\"@dimen/bottom_button_text_size\" >\n        </Button>\n\n        <View\n            android:layout_width=\"1dip\"\n            android:layout_height=\"match_parent\"\n            android:background=\"#CC000000\" />\n\n        <Button\n            android:id=\"@+id/button2\"\n            android:layout_width=\"0dip\"\n            android:layout_height=\"match_parent\"\n            android:layout_weight=\"1\"\n            android:background=\"@drawable/photo_editor_button_background\"\n            android:enabled=\"false\"\n            android:text=\"@string/photo_editor_process\"\n            android:textColor=\"@color/photo_editor_button_text_color\"\n            android:textSize=\"@dimen/bottom_button_text_size\" >\n        </Button>\n    </LinearLayout>\n\n</LinearLayout>"
  },
  {
    "path": "FotorSDKDemo/res/values/colors.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n\n    <color name=\"title_background\">#E5414850</color>\n    <color name=\"bottom_button_text_default_color\">#B3C2D6</color>\n    <color name=\"bottom_button_text_pressed_color\">#00C0FF</color>\n    <color name=\"bottom_button_text_disable_color\">#EEB3C2D6</color>\n    <color name=\"bottom_button_background_default_color\">#E5414850</color>\n    <color name=\"bottom_button_background_pressed_color\">#991C1F27</color>\n    <color name=\"bottom_button_background_disable_color\">#CC414850</color>\n\n</resources>"
  },
  {
    "path": "FotorSDKDemo/res/values/dimens.xml",
    "content": "<resources>\n\n    <!-- Default screen margins, per the Android Design guidelines. -->\n    <dimen name=\"activity_horizontal_margin\">16dp</dimen>\n    <dimen name=\"activity_vertical_margin\">16dp</dimen>\n    <dimen name=\"title_background_height\">44dip</dimen>\n    <dimen name=\"title_text_size\">20sp</dimen>\n    <dimen name=\"bottom_background_height\">60dip</dimen>\n    <dimen name=\"bottom_button_text_size\">16sp</dimen>\n\n</resources>"
  },
  {
    "path": "FotorSDKDemo/res/values/strings.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n\n    <string name=\"app_name\">FotorSDKDemo</string>\n    <string name=\"action_settings\">Settings</string>\n    <string name=\"hello_world\">Hello world!</string>\n    <string name=\"photo_editor\">Photo Editor</string>\n    <string name=\"photo_editor_select_image\">Select an image</string>\n    <string name=\"photo_editor_process\">Edit sample image</string>\n\n</resources>"
  },
  {
    "path": "FotorSDKDemo/res/values/styles.xml",
    "content": "<resources>\n\n    <!--\n        Base application theme, dependent on API level. This theme is replaced\n        by AppBaseTheme from res/values-vXX/styles.xml on newer devices.\n    -->\n    <style name=\"AppBaseTheme\" parent=\"android:Theme.NoTitleBar.Fullscreen\">\n        <!--\n            Theme customizations available in newer API levels can go in\n            res/values-vXX/styles.xml, while customizations related to\n            backward-compatibility can go here.\n        -->\n    </style>\n\n    <!-- Application theme. -->\n    <style name=\"AppTheme\" parent=\"AppBaseTheme\">\n        <!-- All customizations that are NOT specific to a particular API-level can go here. -->\n    </style>\n\n</resources>\n"
  },
  {
    "path": "FotorSDKDemo/res/values-sw600dp/dimens.xml",
    "content": "<resources>\n\n    <!--\n         Customize dimensions originally defined in res/values/dimens.xml (such as\n         screen margins) for sw600dp devices (e.g. 7\" tablets) here.\n    -->\n\n</resources>\n"
  },
  {
    "path": "FotorSDKDemo/res/values-sw720dp-land/dimens.xml",
    "content": "<resources>\n\n    <!--\n         Customize dimensions originally defined in res/values/dimens.xml (such as\n         screen margins) for sw720dp devices (e.g. 10\" tablets) in landscape here.\n    -->\n    <dimen name=\"activity_horizontal_margin\">128dp</dimen>\n\n</resources>\n"
  },
  {
    "path": "FotorSDKDemo/res/values-v11/styles.xml",
    "content": "<resources>\n\n    <!--\n        Base application theme for API 11+. This theme completely replaces\n        AppBaseTheme from res/values/styles.xml on API 11+ devices.\n    -->\n    <style name=\"AppBaseTheme\" parent=\"android:Theme.Holo.Light.NoActionBar.Fullscreen\">\n        <!-- API 11 theme customizations can go here. -->\n    </style>\n\n</resources>\n"
  },
  {
    "path": "FotorSDKDemo/res/values-v14/styles.xml",
    "content": "<resources>\n\n    <!--\n        Base application theme for API 14+. This theme completely replaces\n        AppBaseTheme from BOTH res/values/styles.xml and\n        res/values-v11/styles.xml on API 14+ devices.\n    -->\n    <style name=\"AppBaseTheme\" parent=\"android:Theme.Holo.Light.NoActionBar.Fullscreen\">\n        <!-- API 14 theme customizations can go here. -->\n    </style>\n\n</resources>\n"
  },
  {
    "path": "FotorSDKDemo/src/com/example/fotorsdkdemo/MainActivity.java",
    "content": "package com.example.fotorsdkdemo;\n\nimport java.io.File;\n\nimport com.everimaging.fotorsdk.FotorConstants;\nimport com.everimaging.fotorsdk.FotorSDKActivity;\nimport com.everimaging.fotorsdk.FotorSDKVersion;\nimport com.everimaging.fotorsdk.FotorUtils;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns;\nimport com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns.Session;\nimport com.everimaging.fotorsdk.utils.BitmapDecodeUtils;\nimport com.everimaging.fotorsdk.utils.Utils;\nimport com.everimaging.fotorsdk.engine.FotorHDFilter;\nimport android.app.Activity;\nimport android.app.AlertDialog;\nimport android.app.ProgressDialog;\nimport android.content.Context;\nimport android.content.DialogInterface;\nimport android.content.DialogInterface.OnCancelListener;\nimport android.content.Intent;\nimport android.database.Cursor;\nimport android.graphics.Bitmap;\nimport android.graphics.drawable.BitmapDrawable;\nimport android.graphics.drawable.Drawable;\nimport android.media.MediaScannerConnection;\nimport android.net.Uri;\nimport android.os.AsyncTask;\nimport android.os.Bundle;\nimport android.os.Environment;\nimport android.provider.MediaStore.Images;\nimport android.provider.MediaStore.Images.ImageColumns;\nimport android.util.DisplayMetrics;\nimport android.util.Log;\nimport android.view.View;\nimport android.widget.Button;\nimport android.widget.ImageView;\nimport android.widget.TextView;\nimport android.widget.Toast;\n\n/**\n * Sample main activity\n * \n * @description\n * \n * @author <a href=\"mailto:zhangjiajun@everimaging.com\">John.Zhang</a>\n * @version 1.0\n * @create Apr 12, 2014 3:06:39 PM\n * @update Apr 12, 2014 3:06:39 PM\n */\npublic class MainActivity extends Activity {\n\n\tprivate static final int ACTION_REQUEST_FEATURE = 2;\n\n\tprivate static final int ACTION_REQUEST_GALLERY = 3;\n\n\tpublic static final String LOG_TAG = \"fotorsdk_demo\";\n\n\t/** Folder name on the sdcard where the images will be saved **/\n\n\tprivate static final String FOLDER_NAME = \"FotorSDK\";\n\n\t/** Edit sample button */\n\tButton mEditButton;\n\t/** Call gallery button */\n\tButton mGalleryButton;\n\t/** Display image view */\n\tImageView mImage;\n\t/** The path for output file */\n\tUri mOutputFilePath;\n\n\t/** Image uri for image editor */\n\tUri mImageUri;\n\t/** Display version label for DEBUG */\n\tprivate TextView mSDKVersionLabel;\n\n\t/** The sample image uri. */\n\tprivate Uri mSampleUri;\n\n\tprivate File mGalleryFolder;\n\n\t/** session id for the hi-res post processing */\n\tprivate String mSessionId;\n\n\t@Override\n\tprotected void onCreate(Bundle savedInstanceState) {\n\t\tLog.i(LOG_TAG, \"onCreate\");\n\t\tsuper.onCreate(savedInstanceState);\n\n\t\tsetContentView(R.layout.activity_main);\n\n\t\tmEditButton.setOnClickListener(new View.OnClickListener() {\n\n\t\t\t@Override\n\t\t\tpublic void onClick(View v) {\n\t\t\t\t// if (mImageUri != null) {\n\t\t\t\t// startFeature(mImageUri);\n\t\t\t\t// }\n\t\t\t\tif (mSampleUri != null) {\n\t\t\t\t\tstartFeature(mSampleUri);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tmGalleryButton.setOnClickListener(new View.OnClickListener() {\n\n\t\t\t@Override\n\t\t\tpublic void onClick(View v) {\n\t\t\t\tpickFromGallery();\n\t\t\t}\n\t\t});\n\n\t\tmGalleryFolder = createFolders();\n\n\t\t// add sample image\n\t\tmSampleUri = Uri.parse(\"file:///android_asset/sample.jpg\");\n\t\tloadAsync(mSampleUri);\n\n\t\tif (BuildConfig.DEBUG) {\n\t\t\tmSDKVersionLabel.setText(\"V\" + FotorSDKVersion.FOTOR_SDK_VERSION);\n\t\t}\n\n\t}\n\n\t/**\n\t * Start the activity to pick an image from the user gallery\n\t */\n\tprivate void pickFromGallery() {\n\t\tIntent intent = new Intent(Intent.ACTION_GET_CONTENT);\n\t\tintent.setType(\"image/*\");\n\n\t\tIntent chooser = Intent.createChooser(intent, \"Choose a Picture\");\n\t\tstartActivityForResult(chooser, ACTION_REQUEST_GALLERY);\n\n\t}\n\n\t@Override\n\tprotected void onResume() {\n\t\tLog.i(LOG_TAG, \"onResume\");\n\t\tsuper.onResume();\n\n\t\tif (getIntent() != null) {\n\t\t\thandleIntent(getIntent());\n\t\t\tsetIntent(new Intent());\n\t\t}\n\t}\n\n\t/**\n\t * Handle the incoming {@link Intent}\n\t */\n\tprivate void handleIntent(Intent intent) {\n\n\t\tString action = intent.getAction();\n\n\t\tif (null != action) {\n\n\t\t\tif (Intent.ACTION_SEND.equals(action)) {\n\n\t\t\t\tBundle extras = intent.getExtras();\n\t\t\t\tif (extras != null && extras.containsKey(Intent.EXTRA_STREAM)) {\n\t\t\t\t\tUri uri = (Uri) extras.get(Intent.EXTRA_STREAM);\n\t\t\t\t\tloadAsync(uri);\n\t\t\t\t}\n\t\t\t} else if (Intent.ACTION_VIEW.equals(action)) {\n\t\t\t\tUri data = intent.getData();\n\t\t\t\tLog.d(LOG_TAG, \"data: \" + data);\n\t\t\t\tloadAsync(data);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Load the incoming Image\n\t * \n\t * @param uri\n\t */\n\tprivate void loadAsync(final Uri uri) {\n\t\tLog.i(LOG_TAG, \"loadAsync: \" + uri);\n\n\t\tDrawable toRecycle = mImage.getDrawable();\n\t\tif (toRecycle != null && toRecycle instanceof BitmapDrawable) {\n\t\t\tif (((BitmapDrawable) mImage.getDrawable()).getBitmap() != null)\n\t\t\t\t((BitmapDrawable) mImage.getDrawable()).getBitmap().recycle();\n\t\t}\n\t\tmImage.setImageDrawable(null);\n\t\tmImageUri = null;\n\n\t\tDownloadAsync task = new DownloadAsync();\n\t\ttask.execute(uri);\n\t}\n\n\t@Override\n\tprotected void onDestroy() {\n\t\tLog.i(LOG_TAG, \"onDestroy\");\n\t\tsuper.onDestroy();\n\t\tmOutputFilePath = null;\n\t}\n\n\t@Override\n\tpublic void onContentChanged() {\n\t\tsuper.onContentChanged();\n\n\t\tSystem.out.println(\"context:\" + this.getPackageName());\n\n\t\tmEditButton = (Button) findViewById(R.id.button2);\n\n\t\tmGalleryButton = (Button) findViewById(R.id.button_gallery);\n\n\t\tmImage = (ImageView) findViewById(R.id.image);\n\n\t\tmSDKVersionLabel = (TextView) findViewById(R.id.fotor_sdk_version_label);\n\n\t}\n\n\t@Override\n\t/**\n\t * This method is called when feather has completed ( ie. user clicked on \"done\" or just exit the activity without saving ). <br />\n\t * If user clicked the \"done\" button you'll receive RESULT_OK as resultCode, RESULT_CANCELED otherwise.\n\t * \n\t * @param requestCode\n\t * \t- it is the code passed with startActivityForResult\n\t * @param resultCode\n\t * \t- result code of the activity launched ( it can be RESULT_OK or RESULT_CANCELED )\n\t * @param data\n\t * \t- the result data\n\t */\n\tpublic void onActivityResult(int requestCode, int resultCode, Intent data) {\n\t\tif (resultCode == RESULT_OK) {\n\t\t\tswitch (requestCode) {\n\t\t\tcase ACTION_REQUEST_FEATURE: {\n\n\t\t\t\tUri uri = data.getData();\n\t\t\t\tBitmap bitmap = BitmapDecodeUtils.decode(this, uri, 0, 0);\n\t\t\t\tsetImageURI(uri, bitmap);\n\t\t\t\tnew ProcessHDTask(this).execute();\n\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase ACTION_REQUEST_GALLERY: {\n\t\t\t\tUri uri = data.getData();\n\t\t\t\tloadAsync(uri);\n\t\t\t\tstartFeature(uri);\n\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t} else if (resultCode == RESULT_CANCELED) {\n\t\t\tswitch (requestCode) {\n\t\t\tcase ACTION_REQUEST_FEATURE:\n\t\t\t\tif (mSessionId != null)\n\t\t\t\t\tdeleteSession(mSessionId);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate String onSaveCompletion() {\n\n\t\tUri sessionUri = SessionColumns.getContentUri(this, mSessionId);\n\n\t\tCursor cursor = getContentResolver().query(sessionUri, null, null,\n\t\t\t\tnull, null);\n\n\t\tSession session = Session.create(cursor);\n\n\t\tif (session != null) {\n\t\t\tFotorHDFilter fotorHDFilter = new FotorHDFilter(this, session);\n\n\t\t\tfotorHDFilter.loadImage();\n\n\t\t\tfotorHDFilter.executeFilter();\n\n\t\t\tString dstPath = Utils.getSDPath() + \"/testOriginal.jpg\";\n\n\t\t\tfotorHDFilter.save(dstPath);\n\n\t\t\tfotorHDFilter.dispose();\n\t\t\tdeleteSession(mSessionId);\n\n\t\t\treturn dstPath;\n\t\t}\n\t\treturn null;\n\n\t}\n\n\tclass ProcessHDTask extends AsyncTask<Void, Void, String> {\n\t\tprivate ProgressDialog mDialog;\n\n\t\tprivate Context mContext;\n\n\t\tpublic ProcessHDTask(Context context) {\n\t\t\tthis.mContext = context;\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPreExecute() {\n\t\t\tmDialog = ProgressDialog.show(mContext, \"Process HD\",\n\t\t\t\t\t\"Please wait...\");\n\t\t}\n\n\t\t@Override\n\t\tprotected String doInBackground(Void... params) {\n\t\t\treturn onSaveCompletion();\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPostExecute(String result) {\n\t\t\tmDialog.dismiss();\n\n\t\t\tString msg = \"Process Error\";\n\t\t\tif (result != null) {\n\t\t\t\tmsg = result;\n\t\t\t}\n\n\t\t\tToast.makeText(mContext, msg, Toast.LENGTH_LONG).show();\n\t\t}\n\n\t}\n\n\t/**\n\t * Delete the session and all it's actions. We do not need it anymore.<br />\n\t * Note that this is optional. All old sessions are automatically removed in\n\t * Feather.\n\t * \n\t * @param session_id\n\t */\n\tprivate void deleteSession(final String session_id) {\n\t\tUri uri = FotorContentProvider.SessionColumns.getContentUri(this,\n\t\t\t\tsession_id);\n\t\tint count = getContentResolver().delete(uri, null, null);\n\t\tSystem.out.println(\"delete session count:\" + count);\n\t}\n\n\t/**\n\t * Given an Uri load the bitmap into the current ImageView and resize it to\n\t * fit the image container size\n\t * \n\t * @param uri\n\t */\n\t@SuppressWarnings(\"deprecation\")\n\tprivate boolean setImageURI(final Uri uri, final Bitmap bitmap) {\n\n\t\tLog.d(LOG_TAG,\n\t\t\t\t\"image size: \" + bitmap.getWidth() + \"x\" + bitmap.getHeight());\n\t\tmImage.setImageBitmap(bitmap);\n\t\tmImage.setBackgroundDrawable(null);\n\n\t\tmEditButton.setEnabled(true);\n\t\tmImageUri = uri;\n\t\treturn true;\n\t}\n\n\t/**\n\t * We need to notify the MediaScanner when a new file is created. In this\n\t * way all the gallery applications will be notified too.\n\t * \n\t * @param file\n\t */\n\tprivate void updateMedia(String filepath) {\n\t\tLog.i(LOG_TAG, \"updateMedia: \" + filepath);\n\t\tMediaScannerConnection.scanFile(getApplicationContext(),\n\t\t\t\tnew String[] { filepath }, null, null);\n\t}\n\n\t/**\n\t * Pick a random image from the user gallery\n\t * \n\t * @return\n\t */\n\t@SuppressWarnings(\"unused\")\n\tprivate Uri pickRandomImage() {\n\t\tCursor c = getContentResolver().query(\n\t\t\t\tImages.Media.EXTERNAL_CONTENT_URI,\n\t\t\t\tnew String[] { ImageColumns._ID, ImageColumns.DATA },\n\t\t\t\tImageColumns.SIZE + \">?\", new String[] { \"90000\" }, null);\n\t\tUri uri = null;\n\n\t\tif (c != null) {\n\t\t\tint total = c.getCount();\n\t\t\tint position = (int) (Math.random() * total);\n\t\t\tLog.d(LOG_TAG, \"pickRandomImage. total images: \" + total\n\t\t\t\t\t+ \", position: \" + position);\n\t\t\tif (total > 0) {\n\t\t\t\tif (c.moveToPosition(position)) {\n\t\t\t\t\tString data = c.getString(c\n\t\t\t\t\t\t\t.getColumnIndex(Images.ImageColumns.DATA));\n\t\t\t\t\tlong id = c.getLong(c\n\t\t\t\t\t\t\t.getColumnIndex(Images.ImageColumns._ID));\n\n\t\t\t\t\turi = Uri.parse(data);\n\n\t\t\t\t\tLog.d(LOG_TAG, uri.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t\tc.close();\n\t\t}\n\t\treturn uri;\n\t}\n\n\t/**\n\t * Return a new image file. Name is based on the current time. Parent folder\n\t * will be the one created with createFolders\n\t * \n\t * @return\n\t * @see #createFolders()\n\t */\n\tprivate File generateOutputFileName() {\n\t\tif (mGalleryFolder != null) {\n\t\t\tif (mGalleryFolder.exists()) {\n\t\t\t\tFile file = new File(mGalleryFolder, \"Fotor_\"\n\t\t\t\t\t\t+ System.currentTimeMillis() + \".jpg\");\n\t\t\t\treturn file;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\t/**\n\t * Once you've chosen an image you can start the feather activity\n\t * \n\t * @param uri\n\t */\n\tprivate void startFeature(Uri uri) {\n\n\t\tLog.d(LOG_TAG, \"uri: \" + uri);\n\n\t\t// first check the external storage availability\n\t\tif (!isExternalStorageAvilable()) {\n\t\t\tnew AlertDialog.Builder(this)\n\t\t\t\t\t.setTitle(android.R.string.dialog_alert_title)\n\t\t\t\t\t.setMessage(\"External Storage is not avilable\").show();\n\t\t\treturn;\n\t\t}\n\n\t\t// create a temporary file where to store the resulting image\n\t\tFile file = generateOutputFileName();\n\n\t\tif (null != file) {\n\t\t\tmOutputFilePath = Uri.fromFile(file);\n\t\t} else {\n\t\t\tnew AlertDialog.Builder(this)\n\t\t\t\t\t.setTitle(android.R.string.dialog_alert_title)\n\t\t\t\t\t.setMessage(\"Failed to create a new File\").show();\n\t\t\treturn;\n\t\t}\n\n\t\t// Create the intent needed to start feather\n\t\tIntent newIntent = new Intent(this, FotorSDKActivity.class);\n\n\t\t// === INPUT IMAGE URI ===\n\t\t// Set the source image uri\n\t\tnewIntent.setData(uri);\n\n\t\t// === OUTPUT ====\n\t\t// Optional\n\t\t// Pass the uri of the destination image file.\n\t\t// This will be the same uri you will receive in the onActivityResult\n\n\t\tSystem.out.println(\"mOutputFilePath->:\" + mOutputFilePath);\n\n\t\t// newIntent.putExtra(FotorConstants.EXTRA_OUTPUT_PATH,\n\t\t// mOutputFilePath);\n\n\t\t// === OUTPUT QUALITY ===\n\t\t// Optional\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_OUTPUT_QUALITY, 90);\n\n\t\t// === MAX SIZE ===\n\t\t// Optional\n\t\t// you can pass the maximum allowed image size (for the preview),\n\t\t// otherwise feather will determine\n\t\t// the max size based on the device informations.\n\t\t// This will not affect the hi-res image size.\n\t\t// Here we're passing the current display size as max image size because\n\t\t// after\n\t\t// the execution of Aviary we're saving the HI-RES image so we don't\n\t\t// need a big\n\t\t// image for the preview\n\t\tfinal DisplayMetrics metrics = new DisplayMetrics();\n\t\tgetWindowManager().getDefaultDisplay().getMetrics(metrics);\n\n\t\tint max_size = Math.max(metrics.widthPixels, metrics.heightPixels);\n\n\t\tmax_size = (int) ((float) max_size / 1.4f);\n\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_MAX_PREVIEW_SIZE, max_size);\n\n\t\tmSessionId = FotorUtils.generateSessionId(this);\n\n\t\tgetContentResolver().delete(\n\t\t\t\tSessionColumns.getContentUri(this, mSessionId), null, null);\n\n\t\tLog.d(LOG_TAG,\n\t\t\t\t\"session: \" + mSessionId + \", size: \" + mSessionId.length());\n\n\t\tnewIntent.putExtra(FotorConstants.EXTRA_FOTOR_SESSION_ID, mSessionId);\n\n\t\t// // === FEATURE LIST ===\n\n\t\t// newIntent.putExtra(FotorConstants.EXTRA_FEATURE_LIST, new String[] {\n\t\t// FotorFeaturesFactory.FeatureType.FX_EFFECTS.name(),\n\t\t// FotorFeaturesFactory.FeatureType.BORDER.name() });\n\n\t\t// Whether hide confirm dialog when user not saved the was changed\n\t\t// bitmap\n\t\t// This default value will show\n\t\t// newIntent.putExtra(FotorConstants.EXTRA_HIDE_DISCARD_ALERT, false);\n\n\t\t// Whether input image no changes,were made to the image.\n\t\t// newIntent.putExtra(FotorConstants.EXTRA_SAVE_ON_NO_CHANGES, true);\n\n\t\t// start feather\n\t\tstartActivityForResult(newIntent, ACTION_REQUEST_FEATURE);\n\t}\n\n\t/**\n\t * Check the external storage status\n\t * \n\t * @return\n\t */\n\tprivate boolean isExternalStorageAvilable() {\n\t\tString state = Environment.getExternalStorageState();\n\t\tif (Environment.MEDIA_MOUNTED.equals(state)) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * Try to create the required folder on the sdcard where images will be\n\t * saved to.\n\t * \n\t * @return\n\t */\n\tprivate File createFolders() {\n\n\t\tFile baseDir;\n\n\t\tif (android.os.Build.VERSION.SDK_INT < 8) {\n\t\t\tbaseDir = Environment.getExternalStorageDirectory();\n\t\t} else {\n\t\t\tbaseDir = Environment\n\t\t\t\t\t.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);\n\t\t}\n\n\t\tif (baseDir == null)\n\t\t\treturn Environment.getExternalStorageDirectory();\n\n\t\tLog.d(LOG_TAG, \"Pictures folder: \" + baseDir.getAbsolutePath());\n\t\tFile fotorSDKFolder = new File(baseDir, FOLDER_NAME);\n\n\t\tif (fotorSDKFolder.exists())\n\t\t\treturn fotorSDKFolder;\n\t\tif (fotorSDKFolder.mkdirs())\n\t\t\treturn fotorSDKFolder;\n\n\t\treturn Environment.getExternalStorageDirectory();\n\t}\n\n\tclass DownloadAsync extends AsyncTask<Uri, Void, Bitmap> implements\n\t\t\tOnCancelListener {\n\n\t\tProgressDialog mProgress;\n\t\tprivate Uri mUri;\n\n\t\t@Override\n\t\tprotected void onPreExecute() {\n\t\t\tsuper.onPreExecute();\n\n\t\t\tmProgress = new ProgressDialog(MainActivity.this);\n\t\t\tmProgress.setIndeterminate(true);\n\t\t\tmProgress.setCancelable(true);\n\t\t\tmProgress.setMessage(\"Loading image...\");\n\t\t\tmProgress.setOnCancelListener(this);\n\t\t\tmProgress.show();\n\t\t}\n\n\t\t@Override\n\t\tprotected Bitmap doInBackground(Uri... params) {\n\t\t\tmUri = params[0];\n\n\t\t\tDisplayMetrics displayMetrics = getResources().getDisplayMetrics();\n\n\t\t\tint maxW = (int) displayMetrics.widthPixels;\n\t\t\tint maxH = (int) displayMetrics.heightPixels;\n\n\t\t\tBitmap bitmap = BitmapDecodeUtils.decode(getApplicationContext(),\n\t\t\t\t\tmUri, maxW, maxH);\n\t\t\treturn bitmap;\n\t\t}\n\n\t\t@Override\n\t\tprotected void onPostExecute(Bitmap result) {\n\t\t\tsuper.onPostExecute(result);\n\n\t\t\tif (mProgress.getWindow() != null) {\n\t\t\t\tmProgress.dismiss();\n\t\t\t}\n\n\t\t\tif (result != null) {\n\t\t\t\tsetImageURI(mUri, result);\n\t\t\t} else {\n\t\t\t\tToast.makeText(MainActivity.this,\n\t\t\t\t\t\t\"Failed to load image \" + mUri, Toast.LENGTH_SHORT)\n\t\t\t\t\t\t.show();\n\t\t\t}\n\t\t}\n\n\t\t@Override\n\t\tpublic void onCancel(DialogInterface dialog) {\n\t\t\tLog.i(LOG_TAG, \"onProgressCancel\");\n\t\t\tthis.cancel(true);\n\t\t}\n\n\t\t@Override\n\t\tprotected void onCancelled() {\n\t\t\tsuper.onCancelled();\n\t\t\tLog.i(LOG_TAG, \"onCancelled\");\n\t\t}\n\n\t}\n}\n"
  },
  {
    "path": "LICENSE",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2014 koluray\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE."
  },
  {
    "path": "README.md",
    "content": "ImageEditor-android\n===================\n\nthe omnipotent image editor \n\n**[ImageEditor](https://github.com/koluray/ImageEditor-android.git)** is an omnipotent image editor which is based on [FotorSDK](https://github.com/Fotor).\n\n![sample](https://raw.githubusercontent.com/jhondge/Everimaging-android-res/master/fotorsdk/images/FotorSDK_Android.jpg)\n\nGet more info and downloads of ImageEditor (for iOS and Android) via [the ImageEditor mobile portal](https://github.com/koluray?tab=repositories)\n\n[Click here for **official documentation for ImageEditor-android**](https://github.com/Fotor/FotorSDK-android/wiki/InstallationGuide)\n\n**omnipotent** means:\n\n* Plentiful features: ImageEditor currently support a mount of features as below\n\t* `Auto Enhance`: One-Tap Enhance can automatically transform boring photos into masterpieces.\n\t* `Scenes`: Exclusive-Sophisticated photo-enhancement technology offers 13 different scenes options that automatically optimize the photo depending on the conditions when it was taken.\n\t* `Base Adjust`: Modify brightness, contrast, saturation, and sharpness with our easy tools.\n\t* `Advance Adjust`: Use the advanced features to adjust vignette, shadows and highlights, temperature and tint, colors, and even curves.\n\t* `Effect`: Let your users stretch their creativity with Fotor’s huge palette of effects. And multiple effects can be combined in a single photo for thousands of combinations!\n\t* `Rotate`: Rotate and Flip.\n\t* `Crop`: Crop resizes photos with standard options, including 4:3, 6:4, 7:5, 10:8, 16:9, 3:4, 4:6, 5:7, 8:10, 16:9 or Custom.\n\t* `Frame`: Create fun images by framing your photos in different scenes.\n\t* `Sticker`: Stickers can be rotated or resized to perfectly fit each photo.\n\t* `Text`: Awesome fonts and customizable text, with text color, size, shadow, alignment, and transparency all adjustable.\n\t* `Tilt Shift`: Tilt-Shift gives images the depth-of-field and other visual effects normally seen only on professional grade DSLR cameras, using a mix of clear focus and selective blurring to create magnificent photos.\n\n* Great performance: Low memory usage and amazingly fast.\n\t* Real time performance: 20 ~ 40MB transient memory. All of the fine adjustment controls in ImageEditor are smoothly applied in real time.\n\t* Generate Output image performance: high-quality and fast processing, support 500MP image. (need [higher image processing resolution](http://www.fotor.com) ?)\n\n* Flexibility: Owing to the powerful [FotorSDK](https://github.com/Fotor), ImageEditor has a high flexibility.\n\t* Easy to use interface\n\t* Configurable features\n\n* Compatibility: \n\t* API Level: Compatible with Android 2.3 or higher.\n\n## More Information\n\n* There's lots more information on the [wiki](https://github.com/koluray/ImageEditor-android/wiki).\n\n## Credits ##\n\n**Design, coding:** [John](https://github.com/jhondge) , [ExenVitor](https://github.com/ExenVitor)\n \n## License ##\n\n * ImageEditor-android is released under the MIT License.\n\nThis is a permissive, commercial-friendly license. For details read the individual [LICENSE](LICENSE).\n"
  }
]