Full Code of zhaozeyx/ImageEditor-android for AI

master 60ee4657fcb7 cached
508 files
23.5 MB
218.0k tokens
58 symbols
1 requests
Download .txt
Showing preview only (754K chars total). Download the full file or copy to clipboard to get everything.
Repository: zhaozeyx/ImageEditor-android
Branch: master
Commit: 60ee4657fcb7
Files: 508
Total size: 23.5 MB

Directory structure:
gitextract_fjxa1tr2/

├── .gitmodules
├── FotorSDKDemo/
│   ├── .classpath
│   ├── .project
│   ├── .settings/
│   │   └── org.eclipse.jdt.core.prefs
│   ├── .svn/
│   │   ├── entries
│   │   ├── format
│   │   └── pristine/
│   │       ├── 00/
│   │       │   └── 007c052d3bf36519905116e5ed7a3f07cd0f8f82.svn-base
│   │       ├── 03/
│   │       │   ├── 03036c275a2007f79ccdb5833685d86777990a3d.svn-base
│   │       │   └── 03f507869edea3375849d714e1dc9cfec5915365.svn-base
│   │       ├── 04/
│   │       │   └── 043b616c2477d480b1e37fd4fd00b17a76dfd790.svn-base
│   │       ├── 06/
│   │       │   └── 06d3b6ec1b46b557debf4cc78ab2eadf0a3ac890.svn-base
│   │       ├── 07/
│   │       │   ├── 070b79fa25398f4fa224b4626dd75e6c67df2c2e.svn-base
│   │       │   └── 0725f572c56c70ce91d4d40c4d9204235ef23f9c.svn-base
│   │       ├── 09/
│   │       │   └── 09da138ca7b7a7c3ee7571530448c97702d6de86.svn-base
│   │       ├── 0a/
│   │       │   └── 0a0d9478ede46410d5989641dbb2939d1034ddc1.svn-base
│   │       ├── 0b/
│   │       │   └── 0bbd0d2a43db36ec6f303a37a92e6ec6df5fcdab.svn-base
│   │       ├── 0c/
│   │       │   ├── 0c4712419da14d194f0812257ba40bd32de21e40.svn-base
│   │       │   └── 0c6d82a4c43926760c34d77cb7182c3167841513.svn-base
│   │       ├── 0d/
│   │       │   └── 0d332441cbc270af2413544d854c84ccd4f39121.svn-base
│   │       ├── 0f/
│   │       │   ├── 0f001a20db1399d973d388cc9ab42cb40947a0f5.svn-base
│   │       │   └── 0fa23e0c9fe055fc7671e5d3a43a97ed7d2673e4.svn-base
│   │       ├── 10/
│   │       │   ├── 104d538b6c30a22491607612ec934b942344d51d.svn-base
│   │       │   ├── 107d8032c156f778a72d9d22eea333a7b1d6828c.svn-base
│   │       │   ├── 108fa6b5bc6a26dee57333789683c3fd03e43f72.svn-base
│   │       │   └── 10e6e2e4786dc34083c47b574d164731f1fd9db0.svn-base
│   │       ├── 12/
│   │       │   ├── 12244ee01c7eff76c02a29c1743c3f3fdad680f2.svn-base
│   │       │   ├── 123b32dee8c0916be7b254b6f92958e301dc6d0c.svn-base
│   │       │   └── 12a1458fb42c49366faaed8171ddae503fb5ab15.svn-base
│   │       ├── 14/
│   │       │   └── 14454e2904eeb2945f745569a5641f6769839ac1.svn-base
│   │       ├── 15/
│   │       │   ├── 155e564c4426fb3b923154fa4e652fc6934ac4b9.svn-base
│   │       │   └── 1580f8d4727c72100fc52e92b664f91347882eaa.svn-base
│   │       ├── 16/
│   │       │   ├── 1616494bc0c12ac0a9ec007b1a0a586526b97064.svn-base
│   │       │   ├── 165822de404fab27a653765a13ce0e1bd68ea6d2.svn-base
│   │       │   ├── 165871e9fbe703c514e6adbf425510f41865537d.svn-base
│   │       │   ├── 16e6bad324c8afd2ad94a72688202ed35b39511f.svn-base
│   │       │   └── 16f1cbcb8a37822a0795b2dafdfc6c1ad5d798b1.svn-base
│   │       ├── 17/
│   │       │   ├── 172d1b11e61be611435d28b57f5c848e5f00a038.svn-base
│   │       │   ├── 1739a53b8c116fe6691b61e33ddec01d97e88878.svn-base
│   │       │   ├── 173b4efba62c8e1113726445e7ca5aab8fbe51fb.svn-base
│   │       │   ├── 179b81766b82ed39dc92cafa39d3140d117e9637.svn-base
│   │       │   └── 17dfcdbb7b1dd5f61b8f9ff7131397bdcdff5dae.svn-base
│   │       ├── 18/
│   │       │   ├── 1869f22f6b2ae8d22c81f06af763a8f1c48f39bf.svn-base
│   │       │   └── 18e37823a1a26d7253b1cfdd6d45c68dad171fff.svn-base
│   │       ├── 19/
│   │       │   ├── 191dda7a5142990cd980727d43b27e4802f0b321.svn-base
│   │       │   └── 19840b185149d6750f70ab0d662e03832a107e80.svn-base
│   │       ├── 1a/
│   │       │   └── 1a1b6d8c445a427921c3000c1383e598f708b67b.svn-base
│   │       ├── 1b/
│   │       │   ├── 1b00ad5c9d4d27518135c964ede6ab2d4fa2597e.svn-base
│   │       │   ├── 1b4b9d2f338f72d6dade85a786a23c82331387aa.svn-base
│   │       │   ├── 1b88893b7d15e5c0e680f5db6160020631f388f1.svn-base
│   │       │   └── 1bf19c2085868b9447cdf0163855885cc7994c89.svn-base
│   │       ├── 1e/
│   │       │   └── 1e0c2f74c138a1c6e42f01daa9a597812019d80e.svn-base
│   │       ├── 22/
│   │       │   └── 224d797b86b58491a29f35119a810b08d32268bf.svn-base
│   │       ├── 23/
│   │       │   └── 239ad79ba8eb1fd4dc046c18a81c00a63915f5b8.svn-base
│   │       ├── 25/
│   │       │   └── 252634a2dcbfd05ca7e5b69889f036a62f6adb25.svn-base
│   │       ├── 26/
│   │       │   ├── 262ed8683d11c1453b35d0107fe7abd58cbc1ed4.svn-base
│   │       │   ├── 2669873f891113a8f45506e825d0215306e95405.svn-base
│   │       │   └── 26836d081bcdd55e342d42c41930a2c8080d4c3b.svn-base
│   │       ├── 27/
│   │       │   ├── 2709b25879bca9f06f1ad9a29b0dc3d38267c407.svn-base
│   │       │   ├── 275269bd2e1ccac503cb43fc0c7f8efe6ae6f57a.svn-base
│   │       │   └── 27e5804d4d2cb888b89e5cfabb6824fcb97950e0.svn-base
│   │       ├── 28/
│   │       │   └── 28cc16730e4f03f97e077efa04843148f7f0eb0b.svn-base
│   │       ├── 29/
│   │       │   └── 297b7d83ff620a5063ef13a4a650586581f249da.svn-base
│   │       ├── 2a/
│   │       │   └── 2a16925f63f02ed070592452b023484c8c7d74f9.svn-base
│   │       ├── 2b/
│   │       │   ├── 2b9183863aa41af4a9ee6872efbec38dbe4ee4c0.svn-base
│   │       │   └── 2bc97b9c0275e37344ebaec28f1e1e703b122e04.svn-base
│   │       ├── 2e/
│   │       │   └── 2e7d9e357d7755af2a9c4fd6e66360bb46fada11.svn-base
│   │       ├── 2f/
│   │       │   ├── 2f837d0096fe345544ac838bf6ef47b6d28fd19f.svn-base
│   │       │   └── 2fc798884e09b229a782e7521f0514af17907663.svn-base
│   │       ├── 32/
│   │       │   ├── 3228fb7bd14e329a33acb71d67f2161e4d641b3a.svn-base
│   │       │   └── 32ab37fc1f7804290cfc05b9eae0b6d2e94f90d4.svn-base
│   │       ├── 33/
│   │       │   └── 3303039f37bb776905dd21392d2153fe149716a0.svn-base
│   │       ├── 34/
│   │       │   └── 3414a69cf6720ad8b2c59b2a4ab567c194f7972c.svn-base
│   │       ├── 35/
│   │       │   ├── 3515d10934a48b551b1402456f5b67b8666f229c.svn-base
│   │       │   └── 35cfe1bbbf58a190d123162eec48db046f53f7ca.svn-base
│   │       ├── 37/
│   │       │   └── 372b39f92fa0a3201ad76c089dc7a99b5f32f28c.svn-base
│   │       ├── 39/
│   │       │   └── 393dbfa86a7dc3538ebd47205ca0b65178cbaf9d.svn-base
│   │       ├── 3a/
│   │       │   └── 3a7f069c97e71ee06459dd0d2c206fa753b2c15b.svn-base
│   │       ├── 3b/
│   │       │   ├── 3b39a316b1658bf923042467679ce119d1371bda.svn-base
│   │       │   ├── 3b76a63e440aecbb07f6d8cf6779ce7f11f02331.svn-base
│   │       │   └── 3bb5415d1f04c900bd4f8c1e4e7073d6d969d8a5.svn-base
│   │       ├── 3c/
│   │       │   └── 3c755b5500ed67e7a115f31d4682bbdbedbb9973.svn-base
│   │       ├── 3d/
│   │       │   └── 3d58e2b27ddffa35119d3683bb36f3c9df5be2d7.svn-base
│   │       ├── 3e/
│   │       │   ├── 3e3d52eea62bb45233f43a2939d14cd6a04db981.svn-base
│   │       │   ├── 3e57edbe2aee66098186d9259aaf0d9847723cdf.svn-base
│   │       │   └── 3ef569381711504c6cb72917dc91c1a89b38600c.svn-base
│   │       ├── 3f/
│   │       │   ├── 3f65e30173ed2b70e5f2b0fc95e5660ae9d22e0a.svn-base
│   │       │   ├── 3f8064bff5f501960c5db56fd355a7caf85a73f4.svn-base
│   │       │   └── 3f9be07312106e729adac94b70ed33cd8512cab8.svn-base
│   │       ├── 40/
│   │       │   ├── 4002af0477e03ae32f1aabada0f53e97669a9dab.svn-base
│   │       │   └── 4066c773d5eee4a1edff9004aaf56212998a8145.svn-base
│   │       ├── 41/
│   │       │   ├── 41d153bc58aa386c2aecd8946ecc1097f65bf1ad.svn-base
│   │       │   └── 41fd2f1067816433d8a79a157c52bebf37bb9710.svn-base
│   │       ├── 42/
│   │       │   ├── 42d8c3015ce203c165397e1607e6f5d1d90ee430.svn-base
│   │       │   └── 42dd3daecfa9192c08fee4bbd3bea78b14dd6e62.svn-base
│   │       ├── 43/
│   │       │   └── 43ade5f94bd212b8f0341264306b882dec08eaf6.svn-base
│   │       ├── 44/
│   │       │   ├── 440b1c7c54c53a5ca58fc8f0823de5efeefffbb9.svn-base
│   │       │   └── 4456da451e2fd619e3db3ddc77b14d3baba318e6.svn-base
│   │       ├── 46/
│   │       │   ├── 468d410c689c1252872ae74e1c239d08da105828.svn-base
│   │       │   └── 46b4c15fb4ad1925a8d7e95736338aa7a9356b94.svn-base
│   │       ├── 47/
│   │       │   ├── 47444bc050df100e3ecf6da3b32fc3e72cedd3d7.svn-base
│   │       │   └── 47b0417634b07bfdb0ed6256262f4f2f4b7a856e.svn-base
│   │       ├── 48/
│   │       │   ├── 480e04ab9ddceb857cf30c1b1b6010c6342537d8.svn-base
│   │       │   ├── 4860d34e2aebd64d76ae4f5df50ad807e5e22c05.svn-base
│   │       │   └── 48d0faccfb224bbe9894149933cb2854ad3bb694.svn-base
│   │       ├── 49/
│   │       │   ├── 496f75bb24ef1405c8e73f308bdcb7151509d746.svn-base
│   │       │   └── 49e8e2f8c12a1fac6aaead26e96250e9ba960448.svn-base
│   │       ├── 4b/
│   │       │   └── 4b30bdfd51f28c45bfb86ab8484d8a7f7f6140e2.svn-base
│   │       ├── 4c/
│   │       │   ├── 4c0d320756d2018b3f2c3544923a939b87533800.svn-base
│   │       │   ├── 4c32cb13f7e191b3241c44246970ac9d7e713b92.svn-base
│   │       │   ├── 4c4eccd7d41781575811c734b85d67dff6154e6b.svn-base
│   │       │   ├── 4c4faf7a3fae4d0b1474561f0080995d358861ac.svn-base
│   │       │   └── 4c5bd4126c5c64210feffebd6ca48c1598729d04.svn-base
│   │       ├── 4d/
│   │       │   ├── 4d34f6dcb70ac598c17e6a49c25a45c02ce62a69.svn-base
│   │       │   └── 4dd33b6bbbb432013ab6a03d74120988b1b5dafa.svn-base
│   │       ├── 4e/
│   │       │   ├── 4e80bce2ed3fbd4a48bdff4f6f4164da875b96ff.svn-base
│   │       │   └── 4ed0557b7ff4cf07aba37568ccbd1de038264078.svn-base
│   │       ├── 4f/
│   │       │   ├── 4f53adf062407a2a7b2ca8256679b8900e465e4f.svn-base
│   │       │   └── 4f80723c94375d498af0db25808f75960a2c2473.svn-base
│   │       ├── 50/
│   │       │   ├── 502c0888a939f89f70dd678ab625659719dcacce.svn-base
│   │       │   └── 503d1f813c4b3f792fefcfe3693e3482ea2dfd77.svn-base
│   │       ├── 51/
│   │       │   ├── 51bbccc63169d80f42b31b3562188756e7faf856.svn-base
│   │       │   └── 51bcd08afdd26bc974a8473c30ac0c048b8da256.svn-base
│   │       ├── 52/
│   │       │   ├── 5204b3a546c606191efff19d064570f790216605.svn-base
│   │       │   ├── 52763619fa4bc22e847c1090e05d1c003fc8b5c0.svn-base
│   │       │   └── 52fda58379503aa334add378a8e6a4ab25584d9a.svn-base
│   │       ├── 53/
│   │       │   ├── 5342792b4917f6669851bccfd223afc98762257b.svn-base
│   │       │   └── 5387b7703a07a308df2d8e58a0cd74a04dc8d844.svn-base
│   │       ├── 55/
│   │       │   └── 5584dabbab31939f13204652d7d2e00e7e2130ef.svn-base
│   │       ├── 56/
│   │       │   └── 56eee8e2d7bb0a8d3373962f5d4280830d0c3908.svn-base
│   │       ├── 59/
│   │       │   ├── 593c2912e1d6e6037ba4ece31b487feb1df3f601.svn-base
│   │       │   ├── 599581f7be339f75fdc6bdf4a317ef9e445aaf2c.svn-base
│   │       │   └── 59ae41053ff0da6ad22693246f56e0f70c0bea6d.svn-base
│   │       ├── 5c/
│   │       │   ├── 5c1d209265523035372713c308b44f9031c72289.svn-base
│   │       │   └── 5c6ec0fdfb0db138935bab6cd5aa839d97402c1c.svn-base
│   │       ├── 5d/
│   │       │   └── 5dc4ab26970eb043b4c8f3cefad7adafb48caf6f.svn-base
│   │       ├── 5e/
│   │       │   └── 5e65a8e05db6ab2aaa56fbd0e2ee6dd2e6e3474c.svn-base
│   │       ├── 5f/
│   │       │   └── 5f0acebc023f848128fa38d876d9891373b56e2c.svn-base
│   │       ├── 60/
│   │       │   ├── 60179bf9db929e9c2394ab9becc01b3dd3e9bed7.svn-base
│   │       │   └── 601d0f18449ea3e367c25c0633849c1a5cf4a39c.svn-base
│   │       ├── 61/
│   │       │   ├── 612b00017064ed21957aa415e9840fb677afae93.svn-base
│   │       │   ├── 612fd096ed9ffb4a86958beb880d65ea39491c85.svn-base
│   │       │   └── 61495c1a4b90699e58836c323869d04f06b15620.svn-base
│   │       ├── 62/
│   │       │   ├── 6208926100d2583ba5d87f20227c4a604acd9382.svn-base
│   │       │   ├── 62791a9f1067cdb03c5d1028ae0891b663242ef6.svn-base
│   │       │   └── 62edbd46b41436760a3c09f3cadb3f1d82f28db2.svn-base
│   │       ├── 63/
│   │       │   ├── 6367919ce43bfe92d5479523fec0a5680822c1ca.svn-base
│   │       │   ├── 63b54e425f4ffad11fa680bc1cf572b119c86418.svn-base
│   │       │   └── 63ffd23296a2f78874d5fb751bd707121208718d.svn-base
│   │       ├── 64/
│   │       │   └── 64bc8985dfc7ed0da60e1b13c66003ac0f6a877b.svn-base
│   │       ├── 65/
│   │       │   ├── 6544d280df4df7d91dcb06c7de3dcf4d4fcd2d46.svn-base
│   │       │   └── 659a59cf3f55fb10ca29df177ef6ca4276fc1996.svn-base
│   │       ├── 66/
│   │       │   └── 6697aafe3ac76941b99f9c07c26a770eb1b266df.svn-base
│   │       ├── 67/
│   │       │   └── 67355c0eb0de2acb9cf3ae138f69c578ed984a61.svn-base
│   │       ├── 68/
│   │       │   ├── 68431f32b8d9d7f351e3590a2e8101e9b8d4c84f.svn-base
│   │       │   └── 68bcd275b049a2bb1d5cd85ca80e93beee19f2f1.svn-base
│   │       ├── 69/
│   │       │   └── 6997711b22a183018edac09ed79a2e57207bdbd8.svn-base
│   │       ├── 6b/
│   │       │   └── 6b685cd7417b2688e664013fbd943f808c27f0d5.svn-base
│   │       ├── 6c/
│   │       │   └── 6cbb57ba2355cf442e06899898ff5af55867103e.svn-base
│   │       ├── 6e/
│   │       │   ├── 6eaedbe74b81b8f220365b8eb6c3782366c41ab5.svn-base
│   │       │   └── 6ec4ed1b695bb6308aed00f2632ad59b65fce1ed.svn-base
│   │       ├── 70/
│   │       │   ├── 7028f8df21ad1ae3ba70044319215cb8c65d57eb.svn-base
│   │       │   └── 7068771eeeda8df42bcb7520bc3f53472f83f0bb.svn-base
│   │       ├── 73/
│   │       │   ├── 7398e363e0b9b636370da8a32e03de3dc22ed210.svn-base
│   │       │   ├── 73aeadd07a4bf19a75548d38c69e16ad772cc336.svn-base
│   │       │   ├── 73b168548249c4b9413f7457a66ba5b03df649bd.svn-base
│   │       │   └── 73d74fd28b870be544e505b67990814bf8cfeeeb.svn-base
│   │       ├── 74/
│   │       │   └── 74a30cd38611b15bb7ab53f135bf07c0fd7deb8a.svn-base
│   │       ├── 75/
│   │       │   ├── 7531f57ac71678e8bdde440906a3023f46284b44.svn-base
│   │       │   └── 753f88a86b7b62614582a464aa39815dcc11aa4e.svn-base
│   │       ├── 76/
│   │       │   ├── 76558b9539f6f4bd47172a5967607d32699c3255.svn-base
│   │       │   └── 768764aaceba888bd473a3474c94fb987e6b6ab0.svn-base
│   │       ├── 79/
│   │       │   ├── 797620391aac9db219bd1056fb531e43e212ddbc.svn-base
│   │       │   └── 79ecb6f98bbfd04362cf6c5dbeb1fb60283349f7.svn-base
│   │       ├── 7b/
│   │       │   ├── 7b16254adba579fa7a8eb12b7ca9eaffd4cbadcd.svn-base
│   │       │   ├── 7b93539091429ecbcf85d93278ecd2da2c9426ab.svn-base
│   │       │   ├── 7bc56bf8abce95597491da4f75b6e04101d1c1d8.svn-base
│   │       │   ├── 7bd52fef0b72d500aef22545fc4ae5c742d9180e.svn-base
│   │       │   └── 7bf0670c68c92c203241c3e75f43bc714560f069.svn-base
│   │       ├── 7c/
│   │       │   ├── 7c54016c22c06687e5e5e520639f75159fc26bd2.svn-base
│   │       │   └── 7c97e2760e11fafed4bfa319faf395e0fc044b96.svn-base
│   │       ├── 7d/
│   │       │   └── 7d77ecba550045d8b16f716b47443e93d2449011.svn-base
│   │       ├── 7e/
│   │       │   ├── 7e42ba096935226fd75d16121c893a18a933d10f.svn-base
│   │       │   └── 7eac42e387e1a7ab2099e86c2917dc0c4902258d.svn-base
│   │       ├── 7f/
│   │       │   ├── 7f1b7c041a69b31c81c88a2460d0eabde0d3c8b2.svn-base
│   │       │   ├── 7f4440893628e7afa0143d43f837417f2d181d7a.svn-base
│   │       │   └── 7fc76dd4b7d2df42241b9e3b32fd541eb1a71229.svn-base
│   │       ├── 80/
│   │       │   ├── 80478a6ea6a65c60dfb4f9a15c8cbf9c846389cc.svn-base
│   │       │   ├── 8074f618dc6c8d65d890e1321493e2bf2a1d546d.svn-base
│   │       │   ├── 80a5bf705cc6d7fa4b268670057ece4a18a40643.svn-base
│   │       │   └── 80dcc9c26e7755d486fb5f8179ee107358391eea.svn-base
│   │       ├── 81/
│   │       │   └── 81b8b4c54371b9e4d828afb28fbba7b53d337e14.svn-base
│   │       ├── 82/
│   │       │   └── 8236e7e4c47bc975b8c27269dd01ae5f5cb62623.svn-base
│   │       ├── 83/
│   │       │   └── 83ded14cdff196da97a2e0fa16d9415228191fa7.svn-base
│   │       ├── 84/
│   │       │   ├── 841adfbc3a67a83630fe4e8d59323c9a65bc7dc9.svn-base
│   │       │   ├── 844acf0a8d65b49a179e732d3cb60b769d1dc007.svn-base
│   │       │   └── 8456cc789280d81f492033281bfe763a98195264.svn-base
│   │       ├── 85/
│   │       │   ├── 85b0f4ac338ff0c57e79cb04a3484759505d43a6.svn-base
│   │       │   └── 85bc1e0a10025b6c4aa345e7ada281b7a222be7b.svn-base
│   │       ├── 86/
│   │       │   └── 8666e41075ef94a78ac595afbd1c22057881f2ea.svn-base
│   │       ├── 87/
│   │       │   └── 87ed1a7971ff8316e9c06cab3aa24a66628f5fd5.svn-base
│   │       ├── 88/
│   │       │   ├── 88086200176fa4174716c1498413d31868152bbf.svn-base
│   │       │   ├── 88672128e482f81485780d785042a0de90653ccf.svn-base
│   │       │   ├── 8877102eb0092dca155a7912553a38ea59dd0b7d.svn-base
│   │       │   └── 88e26cba511daf4293934d16cb43938d0f85a18a.svn-base
│   │       ├── 89/
│   │       │   ├── 890bb47791489368e99c0195e65da1893d5298e5.svn-base
│   │       │   └── 897466afec487ac93b1e691b0d32c053921d703d.svn-base
│   │       ├── 8a/
│   │       │   ├── 8a10f97888d40f0e95f38492c4a52b78328605f3.svn-base
│   │       │   ├── 8a55f6711de24bf36b97d208f5637250973bfb3a.svn-base
│   │       │   └── 8aebfef98a46c693de082a3e6e56cee2abe2b4ca.svn-base
│   │       ├── 8b/
│   │       │   ├── 8b28bb3beba839e479e84a54e71be7c78e8200de.svn-base
│   │       │   └── 8be257bc5d7693f62e1a362b1c456a5d0b72705d.svn-base
│   │       ├── 8c/
│   │       │   └── 8cb1a48fc88581b7e2e5855e1238c7da80cd3938.svn-base
│   │       ├── 8f/
│   │       │   └── 8fcbd6375e2dd1996cedaaf7e3a8950364b886a0.svn-base
│   │       ├── 91/
│   │       │   └── 918df1128aa29e930b499ddb9717293a7c7edd6d.svn-base
│   │       ├── 92/
│   │       │   └── 92fd8928bd6e3b7a6c8d6f6828a173bc2fb1dcdb.svn-base
│   │       ├── 93/
│   │       │   ├── 9378ea4758918618f3ca68b1b623f88a4bc9eead.svn-base
│   │       │   └── 93fcdfc6f7ce4a7199de5dec48fbc17f323a6608.svn-base
│   │       ├── 95/
│   │       │   ├── 957576b7f86587b65e7b367409d8473b0431c393.svn-base
│   │       │   ├── 95a4eb3af29a3beeabbde817bc588a78ddf10e0d.svn-base
│   │       │   └── 95abf644e02a344ce785c4da92c0dd5c26415b7a.svn-base
│   │       ├── 97/
│   │       │   ├── 9707a98557c27c45d90c32909d80a884476b8587.svn-base
│   │       │   ├── 97353b50fffbf78461e06e7df8ce8ed73c3b3ff0.svn-base
│   │       │   └── 975756f4219c90758891f1964f8028cecfb2c675.svn-base
│   │       ├── 98/
│   │       │   └── 98b66fdda8255fcf8ded6b705517aa48216218d6.svn-base
│   │       ├── 99/
│   │       │   ├── 9955f7f1e3c0db05fb428b4fd3e16eacc7402ae9.svn-base
│   │       │   └── 9969bc387bfdd8297a5fa77945b20785b603fd97.svn-base
│   │       ├── 9a/
│   │       │   ├── 9a475952207ff615974d1a3613e391d02b0f0dea.svn-base
│   │       │   ├── 9a641c4736e3d8f1a8c5f064a9108e7a29f03bd6.svn-base
│   │       │   └── 9ada2c0e806321f9bb3c7a6ce49707c4fdf664e1.svn-base
│   │       ├── 9c/
│   │       │   └── 9ccd2c84d73f450dc85be59fecf942f336a06eb9.svn-base
│   │       ├── 9d/
│   │       │   └── 9da5972490b164e1b1bbaede6cbd9a8dac321e16.svn-base
│   │       ├── 9e/
│   │       │   └── 9efa9da8094116c00abbe5caf55d4f981d21cf26.svn-base
│   │       ├── 9f/
│   │       │   ├── 9f6bfa62aa76b00c6effa5bdd5ddc809c7eb25d2.svn-base
│   │       │   ├── 9fa6a1ec83aa21110077788d9080718fe80ded47.svn-base
│   │       │   ├── 9fe5c764d6c2df51a97f6ea72642b71de6e49d74.svn-base
│   │       │   └── 9ff96ba0dbe9a1dc3994a9ac334ae84253988a32.svn-base
│   │       ├── a0/
│   │       │   ├── a058978066e296310b0224baa3e95484f15c8f3d.svn-base
│   │       │   ├── a058a76398ee1d977c3ccb9d799c5f02cf987f40.svn-base
│   │       │   └── a0c199fb0c472339da61f359c26d6ed7be09a81a.svn-base
│   │       ├── a1/
│   │       │   └── a1e3bda0c91a5191ca1dea31f45dcfe834accc4a.svn-base
│   │       ├── a3/
│   │       │   ├── a33eeaaaff41f46520323424ca79e399e2d53af2.svn-base
│   │       │   ├── a38075b8fb1b83550f1a05dacf4605786fe578aa.svn-base
│   │       │   └── a396b072ee70577a67f05e9a3e191e6b53027175.svn-base
│   │       ├── a4/
│   │       │   ├── a40ab46d233a41873b0b6305185cec21dd3eafbb.svn-base
│   │       │   └── a479407b3caaa90ad4a148d5455163b49b4215a6.svn-base
│   │       ├── a5/
│   │       │   ├── a51ab63cb226b77e4b11c7d516e0259a5f747e93.svn-base
│   │       │   ├── a556148b66359e94f7ccde75022d7b2b489d8164.svn-base
│   │       │   └── a5b5ca45da347e01b26e995a77d7ef21006ad211.svn-base
│   │       ├── a6/
│   │       │   ├── a6eaa9c8a5673577177d7ba1716963e4d6eb2c99.svn-base
│   │       │   └── a6f6b0da9fa33debc4577ba5f27723e8ecdc4d9d.svn-base
│   │       ├── a8/
│   │       │   ├── a84eb6e222dc8904c5558e435007c6f092727b7a.svn-base
│   │       │   ├── a8692537e0f47513d72685cbafb1b5f4109ecad3.svn-base
│   │       │   ├── a869edc0b1dd4338f482e20397e2dbe62912a059.svn-base
│   │       │   └── a86c614156384f301eb403398a3997097b05d62b.svn-base
│   │       ├── a9/
│   │       │   ├── a98cecac96dab90bff5a7d390e2b08b5297a8e48.svn-base
│   │       │   └── a9bfa28be6d44bc8d9141b6de3cb79ce07e18896.svn-base
│   │       ├── aa/
│   │       │   ├── aa1f5f1723de9aee2669dc44a26fbc0ce776d35f.svn-base
│   │       │   └── aa91bd20a01c02603ac8f4df60bef48758548c2d.svn-base
│   │       ├── ab/
│   │       │   ├── ab6b7ab673e2ad57e58f43cf6df469e7660c1182.svn-base
│   │       │   └── abe54d476058834734160b48fae6bc5471b8c286.svn-base
│   │       ├── ac/
│   │       │   └── ac007b202d175b1dbeee1e0b39c40b9bf2aaf2d1.svn-base
│   │       ├── ad/
│   │       │   ├── ad47ceaace42ef6f11b3aa1053ca4cd5b7690453.svn-base
│   │       │   ├── ad9e9267bc0cf1e8dd2be128bc64261b575b012a.svn-base
│   │       │   ├── ada4e79c592f3c54546b7587b48f2b232d95ce2f.svn-base
│   │       │   └── adda71dce0dbafaa465632a171aea826b0827811.svn-base
│   │       ├── af/
│   │       │   ├── af94415c039bc36f20fbe1a2879838752bcc261b.svn-base
│   │       │   ├── afaa4cc1820f9992969da150808bc0b865975646.svn-base
│   │       │   └── afc1bf1787c384436565994646909db35fe7e06f.svn-base
│   │       ├── b1/
│   │       │   ├── b129b276e01126de5b3b753572ac67cbfc19454c.svn-base
│   │       │   ├── b1635c8c489c829078124cb786ddef7fa6874308.svn-base
│   │       │   └── b17381433e988ec03360565dbe335798109b0ce5.svn-base
│   │       ├── b3/
│   │       │   └── b331a6ca47e1ef2d3b5a05ddec3284e368eac891.svn-base
│   │       ├── b4/
│   │       │   ├── b4009a4a73e3d207910decdd4c081653fc95ff2d.svn-base
│   │       │   ├── b40958146e888a9831f92e71c21822d9aad33ac2.svn-base
│   │       │   └── b47317a6d4f96222e98001583822da7a10e1666a.svn-base
│   │       ├── b5/
│   │       │   ├── b56b06dc60421a7f13ee470af0aa108b7cc4aaf9.svn-base
│   │       │   └── b5a923804f15b9b66af6f011650509c196365dc6.svn-base
│   │       ├── b6/
│   │       │   ├── b60de2ae0e779f56470d60616f20e0a2c2691125.svn-base
│   │       │   ├── b63a097de0cd21e7c8acb72e4604812de94ee27a.svn-base
│   │       │   ├── b686a1f6d9b224580847d33a8c9e9cd4121385f5.svn-base
│   │       │   └── b6f7ae0cdeccc15fddcaf944fd79f0caeee9c8e1.svn-base
│   │       ├── b7/
│   │       │   ├── b71bbcc3ed5f313aab07143365c17954dea611cb.svn-base
│   │       │   ├── b786870b4a198837c81a932a5573ed97c1f9b330.svn-base
│   │       │   └── b7c7bda0c8206ab1507ad2a8b5b984a47d35a7bb.svn-base
│   │       ├── b9/
│   │       │   └── b9f3ebab942f1fcc978988f97adaba308bbc3856.svn-base
│   │       ├── ba/
│   │       │   └── bab668937569a81f8a7a4fdc7e146a7d7826a792.svn-base
│   │       ├── bc/
│   │       │   └── bcd3faaa6cf5fd61ba5cca28fc53f3869efba6ef.svn-base
│   │       ├── be/
│   │       │   ├── be343c7a300518d0b06505feb2c6bf524ef6998a.svn-base
│   │       │   ├── be3779509db63a31d913a3e15a12838ecf547eb2.svn-base
│   │       │   ├── be40a3f348e92fa26d7a9415c20ce799bda9dbd1.svn-base
│   │       │   └── be4d34e022dbfb44d613b8a71dbd21aed8f7da06.svn-base
│   │       ├── bf/
│   │       │   ├── bf36db30fd21f62ccce05ce06bf8ee5cdcf2786d.svn-base
│   │       │   ├── bf44fee7478e97bd8be7ec343d88043770203c01.svn-base
│   │       │   ├── bf9edbaaf9211827d72bbbea4ac10d79b4be0342.svn-base
│   │       │   └── bfba80a118cd69053907bc7a4f976170aade4ca5.svn-base
│   │       ├── c1/
│   │       │   ├── c12d079a9312a79aad891259e664728a8057ec3a.svn-base
│   │       │   └── c1e4d4bbc841c60acadc4462a9b382249970efc9.svn-base
│   │       ├── c2/
│   │       │   ├── c23441412ad977e31ea47c1c9a36b40e7ccfd9ed.svn-base
│   │       │   ├── c278741bd0108d9182b97e725bc3b379e065218c.svn-base
│   │       │   └── c2c73d6a2e7bbbb96d7bc4ea437dc3f1fa91def2.svn-base
│   │       ├── c3/
│   │       │   ├── c361a1934353fda13cdbc2ac52126d7985c42f9d.svn-base
│   │       │   └── c3a026561fa183457b2a6d76c8ff1c41571de3e5.svn-base
│   │       ├── c4/
│   │       │   └── c45b011a7116d9ca54d4a6016811dba3b50daa14.svn-base
│   │       ├── c6/
│   │       │   ├── c638ea07b1de337b786d0e0abe47669d7c9a1428.svn-base
│   │       │   ├── c6e1a35379d80ed828362d06550f07ad3054cc18.svn-base
│   │       │   └── c6feb3d2b900dec157b8b1050c03098b1d54e0f2.svn-base
│   │       ├── c7/
│   │       │   ├── c712a89e025f89b1f35a526056f8de9b27cd5432.svn-base
│   │       │   └── c76f4caaa7a8dfe9727fa93001b3aee3b22d6716.svn-base
│   │       ├── c8/
│   │       │   └── c8599aad41212c2740da5be7edf2e2c783ca6b3c.svn-base
│   │       ├── c9/
│   │       │   └── c9518b821ffb7bfc3632d6f3af2018f985a490c3.svn-base
│   │       ├── ca/
│   │       │   ├── ca5ac963516a5057ae67d746a6c9cb6fc0e04a5e.svn-base
│   │       │   ├── ca5b6be5c09bf337b98c9ae5f0003e71351cdc84.svn-base
│   │       │   └── ca8091b80dea573a1ea2c28067ed367e01d14fe9.svn-base
│   │       ├── cb/
│   │       │   ├── cbcc5604c6d3a15c5b87d05a883343d7630801f5.svn-base
│   │       │   ├── cbde224812c451797dea193746131a8c2f048f13.svn-base
│   │       │   └── cbe4a05099ac445ef830ab5fde3394f24d853d1f.svn-base
│   │       ├── cc/
│   │       │   ├── cc20d32e79cef0c3a4289b3e8b3bfe689b8ffbc8.svn-base
│   │       │   └── ccbfb0bce061fdc77c89d57b79abababbe498b25.svn-base
│   │       ├── cd/
│   │       │   └── cd7215fe350967f1e47750410d3895fa64b67cd5.svn-base
│   │       ├── ce/
│   │       │   └── ce0c900b469d63102449e5f0464d512f5e1cfa6a.svn-base
│   │       ├── cf/
│   │       │   └── cfd8aee1dfa3a986779be752fceaf93ec25ccb8e.svn-base
│   │       ├── d1/
│   │       │   └── d1e05eac04f47b8f5e04a99056b30a4e1a954162.svn-base
│   │       ├── d2/
│   │       │   ├── d2c70b5f789a420e8fb9aafe2f197a7d852acf47.svn-base
│   │       │   ├── d2cf8c1c7967e5c36aee75d35aa80376db1464aa.svn-base
│   │       │   └── d2d1c889e08d06619782c4bad9c91d7a7e538d60.svn-base
│   │       ├── d3/
│   │       │   ├── d31623333701c5ff60ebd7196947317dac321611.svn-base
│   │       │   └── d3b208c47b61dc5d806f1cbf82c17d48aa8ac56c.svn-base
│   │       ├── d7/
│   │       │   ├── d746fd0f09198fe8afc04b64bddd20d9909584ed.svn-base
│   │       │   ├── d77875a80caf9f60108f1a3cdcbc25ed7cce8e70.svn-base
│   │       │   └── d78b2a93bc81d9fa5ed3d59ab27a8126572b05d7.svn-base
│   │       ├── d8/
│   │       │   └── d853ff8733cc94c652fd4009c4829e91d804a438.svn-base
│   │       ├── da/
│   │       │   ├── da5b3c7758a2c8fbc4775beb69d7150493c7d312.svn-base
│   │       │   └── da770fb0f41f62c3c00ea1980d072e9002bd7160.svn-base
│   │       ├── db/
│   │       │   ├── db7036fb113dd74422a670234ac70c592144a735.svn-base
│   │       │   ├── dbc355ff8abc521b647b71ca680ced7969d797a5.svn-base
│   │       │   └── dbfff77ed8b045f7db605f34bd6894b81f471e40.svn-base
│   │       ├── dc/
│   │       │   └── dcd167d5e96c34dcb4ff9f14b0a3a688e8e3ea7d.svn-base
│   │       ├── dd/
│   │       │   ├── dd476b2d84d744357129a743cd223f9a7264dd29.svn-base
│   │       │   └── dd5bd29e374c5fb3226d8a32f075530fee38233c.svn-base
│   │       ├── de/
│   │       │   ├── de6f49396ddbfe9f2bb48d8c0bb1b87b6736d394.svn-base
│   │       │   └── def85b8417714285df94a8c429a38b2a4b7484c1.svn-base
│   │       ├── df/
│   │       │   ├── df0f5d0b5f31ecda385c991122d3c8c14fc8e50c.svn-base
│   │       │   ├── df12c72fbf4c9efa7ced7128be02be12d28f8be2.svn-base
│   │       │   └── dff6fa5bd214c31be5f3588dcef7d57da534c3ea.svn-base
│   │       ├── e0/
│   │       │   └── e07142877c4eb9e1286f5302ec954a033c97b3c1.svn-base
│   │       ├── e1/
│   │       │   ├── e12d1118511ba975aabcc8987e48193b2af082f8.svn-base
│   │       │   └── e1923b7bb2208269faa9a2ff3d9826644834258c.svn-base
│   │       ├── e4/
│   │       │   ├── e43b48babff7cb8eca0cbf3b3844a6e9375669cd.svn-base
│   │       │   └── e447e13ff6f0f413f8595310d684cd25b3cf83e2.svn-base
│   │       ├── e5/
│   │       │   ├── e58d1d1cca31823b6c949d25e3f910163baff087.svn-base
│   │       │   └── e5fd87210cf8e3134cdf6db3ca6e4bb5e763fd39.svn-base
│   │       ├── e6/
│   │       │   └── e60ba4b1e604a91cbe0e23965a2a47c9ae162476.svn-base
│   │       ├── e8/
│   │       │   └── e802dc31ea7817e0e611f26f527618269e7b9895.svn-base
│   │       ├── e9/
│   │       │   └── e96d06cd852b2e38a834eae0a70227ff41473ed7.svn-base
│   │       ├── ea/
│   │       │   └── ea4266f88f97fb3a72c675d0056d65854cdaf098.svn-base
│   │       ├── eb/
│   │       │   ├── eb5cb6780e790de938491dd439facbd16aa76dfa.svn-base
│   │       │   ├── eb844ede23583a249f97de2c1bffb026607b4061.svn-base
│   │       │   ├── eb91474a5fbe05784d1169e1bd1af97911acdfe7.svn-base
│   │       │   └── eb9432dc005620dfc56c26598263c84b0bdac403.svn-base
│   │       ├── ec/
│   │       │   ├── ec17221211c0d4f95cbd5d9586967d5c1bd4cbb1.svn-base
│   │       │   ├── ec2d462cec313ade3c58f5193873d2bb9392de97.svn-base
│   │       │   ├── ec39671c29894db3fa1977b3a37dfd3796c7c8bc.svn-base
│   │       │   └── ec5e2b3cae849767bc704510ce8fac611180af2a.svn-base
│   │       ├── ef/
│   │       │   └── efe256fdd63c4486557689c1dbae7c407b319a7e.svn-base
│   │       ├── f0/
│   │       │   ├── f02ae36481e291d73b0abad69380b45538736860.svn-base
│   │       │   └── f04e16007b6097d0117dedf39885527f1c2a245b.svn-base
│   │       ├── f1/
│   │       │   ├── f109f78440f665b87980bd24ce0d251550b41c10.svn-base
│   │       │   ├── f14d9e38fb84776985991713c82bf11019b4b9e6.svn-base
│   │       │   ├── f1571592a039ac77a7f934df44222f51f12cee3d.svn-base
│   │       │   ├── f1b2c78e811175926d162a5088dc55f156b79264.svn-base
│   │       │   ├── f1c1123bcbbd3963df8bda3a7e16b48b14002c1d.svn-base
│   │       │   └── f1d8ae845851c1a4fdbca366edfe52d2a82b604b.svn-base
│   │       ├── f4/
│   │       │   ├── f43aaa9f62337c5705fd8e2535183079cd29919d.svn-base
│   │       │   ├── f45af3d6c723b33989095512f39d1633232d67d7.svn-base
│   │       │   └── f4e87fa56dd0ace818ffda464feddb69ef999c97.svn-base
│   │       ├── f5/
│   │       │   └── f525b45eee5955c2e441a3dcbccaaf97ee1dfaf5.svn-base
│   │       ├── f6/
│   │       │   ├── f6353681bbae89f42162fe94487fbd5dbd178aed.svn-base
│   │       │   ├── f64ba160ee74df3c84bb9c12b6d06ad3f2906898.svn-base
│   │       │   └── f6d34d93400d5ddbc73d904d5e8dbb99a38257b3.svn-base
│   │       ├── f8/
│   │       │   ├── f8208d7c9099f63467832af0e58aab0108a6914f.svn-base
│   │       │   ├── f8c8cf0dea3d095e7207c2ce537bafd0ee8d1127.svn-base
│   │       │   └── f8cbe1b82ece1fbd3ca3693a0f6ebc75c3358ec2.svn-base
│   │       ├── fa/
│   │       │   ├── fa0ddb92bbb11c23ead942147bf4d68e4c0547b5.svn-base
│   │       │   └── fa13a5cdfb112cbf1dd7970583865c6a1b366285.svn-base
│   │       ├── fb/
│   │       │   ├── fb3c77eb561a6439d8e4cf4495bd45af2ec726c3.svn-base
│   │       │   ├── fb633c4085ddbd5f5d2575c5ee38aae909346613.svn-base
│   │       │   ├── fbb361a11dd38e238ed9c73a05a57870dda79dd7.svn-base
│   │       │   └── fbe4da581317f12178bd812963ba961f0da8bcf7.svn-base
│   │       ├── fc/
│   │       │   └── fce80b1ca55cc48ef67a1336156c362e41a98c1d.svn-base
│   │       └── ff/
│   │           ├── ff8404bbffc5935a8deae296970b410b56f2be02.svn-base
│   │           └── ffb9369fe3688fcdb52ceb0d6d46bbbd6d909e7e.svn-base
│   ├── AndroidManifest.xml
│   ├── assets/
│   │   ├── border_config/
│   │   │   ├── Gallery/
│   │   │   │   ├── 10M.xml
│   │   │   │   ├── 118S.xml
│   │   │   │   ├── 3M.xml
│   │   │   │   ├── 41M.xml
│   │   │   │   ├── 42M.xml
│   │   │   │   └── Config.json
│   │   │   ├── Simple/
│   │   │   │   ├── 23M.xml
│   │   │   │   ├── 29M.xml
│   │   │   │   ├── 2M.xml
│   │   │   │   ├── 36M.xml
│   │   │   │   ├── 38M.xml
│   │   │   │   └── Config.json
│   │   │   └── Styled/
│   │   │       ├── 30S.xml
│   │   │       ├── 37S.xml
│   │   │       ├── 43S.xml
│   │   │       ├── 49S.xml
│   │   │       ├── 51S.xml
│   │   │       └── Config.json
│   │   ├── fonts_config/
│   │   │   ├── Charm/
│   │   │   │   └── Config.json
│   │   │   └── Classic/
│   │   │       └── Config.json
│   │   ├── fonts_res/
│   │   │   ├── AmericanTypewriter.ttc
│   │   │   ├── Garogier.otf
│   │   │   ├── Miama.otf
│   │   │   ├── Noteworthy.ttc
│   │   │   ├── Sofia.otf
│   │   │   └── Stencil Std.otf
│   │   ├── fx_config/
│   │   │   ├── Analog/
│   │   │   │   ├── 11.xml
│   │   │   │   ├── 27.xml
│   │   │   │   ├── 73.xml
│   │   │   │   ├── 74.xml
│   │   │   │   ├── 75.xml
│   │   │   │   ├── 76.xml
│   │   │   │   ├── 78.xml
│   │   │   │   ├── 80.xml
│   │   │   │   └── Config.json
│   │   │   ├── Lomo/
│   │   │   │   ├── 1.xml
│   │   │   │   ├── 10.xml
│   │   │   │   ├── 102.xml
│   │   │   │   ├── 103.xml
│   │   │   │   ├── 2.xml
│   │   │   │   ├── 23.xml
│   │   │   │   ├── 4.xml
│   │   │   │   ├── 5.xml
│   │   │   │   ├── 7.xml
│   │   │   │   └── Config.json
│   │   │   ├── OldPicture/
│   │   │   │   ├── 10.xml
│   │   │   │   ├── 111.xml
│   │   │   │   ├── 112.xml
│   │   │   │   ├── 114.xml
│   │   │   │   ├── 28.xml
│   │   │   │   ├── 6.xml
│   │   │   │   └── Config.json
│   │   │   ├── Retro/
│   │   │   │   ├── 104.xml
│   │   │   │   ├── 118.xml
│   │   │   │   ├── 16.xml
│   │   │   │   ├── 17.xml
│   │   │   │   ├── 8.xml
│   │   │   │   ├── 9.xml
│   │   │   │   └── Config.json
│   │   │   └── Vintage/
│   │   │       ├── 108.xml
│   │   │       ├── 109.xml
│   │   │       ├── 110.xml
│   │   │       ├── 6.xml
│   │   │       ├── 91.xml
│   │   │       ├── 93.xml
│   │   │       └── Config.json
│   │   ├── scenes/
│   │   │   ├── 160.xml
│   │   │   ├── 161.xml
│   │   │   ├── 162.xml
│   │   │   ├── 163.xml
│   │   │   ├── 164.xml
│   │   │   ├── 165.xml
│   │   │   ├── 166.xml
│   │   │   ├── 167.xml
│   │   │   ├── 168.xml
│   │   │   ├── 169.xml
│   │   │   ├── 170.xml
│   │   │   ├── 171.xml
│   │   │   └── 173.xml
│   │   └── stickers_config/
│   │       ├── Boom/
│   │       │   └── Config.json
│   │       ├── Decoration/
│   │       │   └── Config.json
│   │       ├── Love/
│   │       │   └── Config.json
│   │       ├── Party/
│   │       │   └── Config.json
│   │       └── Text/
│   │           └── Config.json
│   ├── bin/
│   │   ├── AndroidManifest.xml
│   │   ├── FotorSDKDemo.apk
│   │   ├── R.txt
│   │   ├── classes.dex
│   │   ├── dexedLibs/
│   │   │   ├── android-support-v4-15c67f7264087cb18a22dcadd559d4aa.jar
│   │   │   ├── eibitmaplibrary-9e660ee3815c1a2bd2c0bb5373818beb.jar
│   │   │   ├── fotorsdk-v1.0.7-381b468e66bb469bdea84d2d6eb1ae81.jar
│   │   │   ├── fotorsdklibrary-19f8c3904a7680fe41f833f5650750d7.jar
│   │   │   ├── gson-2.2.4-a5f050a398a10e240f34a91a7923b58f.jar
│   │   │   └── renderscript-v8-934f712584d6e234d7344d156bb53e1f.jar
│   │   └── resources.ap_
│   ├── gen/
│   │   └── com/
│   │       ├── everimaging/
│   │       │   └── fotorsdk/
│   │       │       └── R.java
│   │       └── example/
│   │           └── fotorsdkdemo/
│   │               ├── BuildConfig.java
│   │               └── R.java
│   ├── lint.xml
│   ├── proguard-project.txt
│   ├── project.properties
│   ├── res/
│   │   ├── color/
│   │   │   ├── photo_editor_button_background_color.xml
│   │   │   └── photo_editor_button_text_color.xml
│   │   ├── drawable/
│   │   │   └── photo_editor_button_background.xml
│   │   ├── layout/
│   │   │   └── activity_main.xml
│   │   ├── values/
│   │   │   ├── colors.xml
│   │   │   ├── dimens.xml
│   │   │   ├── strings.xml
│   │   │   └── styles.xml
│   │   ├── values-sw600dp/
│   │   │   └── dimens.xml
│   │   ├── values-sw720dp-land/
│   │   │   └── dimens.xml
│   │   ├── values-v11/
│   │   │   └── styles.xml
│   │   └── values-v14/
│   │       └── styles.xml
│   └── src/
│       └── com/
│           └── example/
│               └── fotorsdkdemo/
│                   └── MainActivity.java
├── LICENSE
└── README.md

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitmodules
================================================
[submodule "library"]
	path = library
	url = https://github.com/Fotor/FotorSDK-android.git


================================================
FILE: FotorSDKDemo/.classpath
================================================
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
	<classpathentry kind="src" path="src"/>
	<classpathentry kind="src" path="gen"/>
	<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
	<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
	<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
	<classpathentry kind="output" path="bin/classes"/>
</classpath>


================================================
FILE: FotorSDKDemo/.project
================================================
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
	<name>FotorSDKDemo</name>
	<comment></comment>
	<projects>
	</projects>
	<buildSpec>
		<buildCommand>
			<name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
			<arguments>
			</arguments>
		</buildCommand>
		<buildCommand>
			<name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
			<arguments>
			</arguments>
		</buildCommand>
		<buildCommand>
			<name>org.eclipse.jdt.core.javabuilder</name>
			<arguments>
			</arguments>
		</buildCommand>
		<buildCommand>
			<name>com.android.ide.eclipse.adt.ApkBuilder</name>
			<arguments>
			</arguments>
		</buildCommand>
	</buildSpec>
	<natures>
		<nature>com.android.ide.eclipse.adt.AndroidNature</nature>
		<nature>org.eclipse.jdt.core.javanature</nature>
	</natures>
</projectDescription>


================================================
FILE: FotorSDKDemo/.settings/org.eclipse.jdt.core.prefs
================================================
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
org.eclipse.jdt.core.compiler.compliance=1.6
org.eclipse.jdt.core.compiler.source=1.6


================================================
FILE: FotorSDKDemo/.svn/entries
================================================
12

================================================
FILE: FotorSDKDemo/.svn/format
================================================
12

================================================
FILE: FotorSDKDemo/.svn/pristine/07/070b79fa25398f4fa224b4626dd75e6c67df2c2e.svn-base
================================================
<Effect name="Blue Sepia" type="Lomo" id="4">
	<Allocation name="level"/>
	<Allocation name="tableTexture"/>

	<BaseFilter name="Level">
		<src>SRC</src>
		<dst>level</dst>
		<params>
			<type>GetScale</type>
			<dark>0.1</dark>
			<light>0.1</light>
			<saturation>0.3</saturation>
		</params>
	</BaseFilter>
	
	<BaseFilter name="Vignette">
		<src>level</src>
		<dst>TMP</dst>
		<params>
		    <mode>quadric</mode>
			<vignetteStart>0.0</vignetteStart>
			<vignetteRange>1.0</vignetteRange>
		</params>
	</BaseFilter>
	
	<BaseFilter name="Curve">
        <tableTexture>tableTexture</tableTexture>
        <params>
            <mode>texturing</mode>
            <R>(0, 14)(63, 66)(129, 151)(208, 255)</R>
            <G>(0, 38)(63, 72)(127, 127)(196, 255)</G>
            <B>(0, 49)(63, 75)(127, 121)(202, 233)(255, 255)</B>
        </params>
    </BaseFilter>

	<BaseFilter name="TableTexture">
		<src>TMP</src>
		<dst>DST</dst>
		<tableTexture>tableTexture</tableTexture>
	</BaseFilter>
</Effect>

================================================
FILE: FotorSDKDemo/.svn/pristine/0c/0c4712419da14d194f0812257ba40bd32de21e40.svn-base
================================================
["118.xml","16.xml","8.xml","9.xml","104.xml","17.xml"]

================================================
FILE: FotorSDKDemo/.svn/pristine/0d/0d332441cbc270af2413544d854c84ccd4f39121.svn-base
================================================
<Effect name="BandW" type="B/W" id="112">
    <Allocation name="level"/>
    
    <BaseFilter name="Level">
        <src>SRC</src>
        <dst>level</dst>
        <params>
            <type>GetScale</type>
            <dark>0.01</dark>
            <light>0.2</light>
            <saturation>0.0</saturation>
        </params>
    </BaseFilter>
    
     <BaseFilter name="Vignette">
        <src>level</src>
        <dst>DST</dst>
        <params>
            <mode>quadric</mode>
            <vignetteStart>0.0</vignetteStart>
            <vignetteRange>1.0</vignetteRange>
        </params>
    </BaseFilter>
</Effect>

================================================
FILE: FotorSDKDemo/.svn/pristine/0f/0fa23e0c9fe055fc7671e5d3a43a97ed7d2673e4.svn-base
================================================
<?xml version="1.0" encoding="utf-8"?>
<resources>

    <color name="title_background">#E5414850</color>
    <color name="bottom_button_text_default_color">#B3C2D6</color>
    <color name="bottom_button_text_pressed_color">#00C0FF</color>
    <color name="bottom_button_text_disable_color">#EEB3C2D6</color>
    <color name="bottom_button_background_default_color">#E5414850</color>
    <color name="bottom_button_background_pressed_color">#991C1F27</color>
    <color name="bottom_button_background_disable_color">#CC414850</color>

</resources>

================================================
FILE: FotorSDKDemo/.svn/pristine/10/108fa6b5bc6a26dee57333789683c3fd03e43f72.svn-base
================================================
["11.xml","74.xml","76.xml","75.xml","73.xml","80.xml","78.xml","27.xml"]

================================================
FILE: FotorSDKDemo/.svn/pristine/12/12244ee01c7eff76c02a29c1743c3f3fdad680f2.svn-base
================================================
[["stickers_decoration_1.png",
"stickers_decoration_1_icon.png"],
["stickers_decoration_2.png",
"stickers_decoration_2_icon.png"],
["stickers_decoration_3.png",
"stickers_decoration_3_icon.png"],
["stickers_decoration_4.png",
"stickers_decoration_4_icon.png"],
["stickers_decoration_5.png",
"stickers_decoration_5_icon.png"],
["stickers_decoration_6.png",
"stickers_decoration_6_icon.png"],
["stickers_decoration_7.png",
"stickers_decoration_7_icon.png"],
["stickers_decoration_8.png",
"stickers_decoration_8_icon.png"],
["stickers_decoration_9.png",
"stickers_decoration_9_icon.png"],
["stickers_decoration_10.png",
"stickers_decoration_10_icon.png"],
["stickers_decoration_11.png",
"stickers_decoration_11_icon.png"],
["stickers_decoration_12.png",
"stickers_decoration_12_icon.png"],
["stickers_decoration_13.png",
"stickers_decoration_13_icon.png"],
["stickers_decoration_14.png",
"stickers_decoration_14_icon.png"],
["stickers_decoration_15.png",
"stickers_decoration_15_icon.png"],
["stickers_decoration_16.png",
"stickers_decoration_16_icon.png"]]

================================================
FILE: FotorSDKDemo/.svn/pristine/12/12a1458fb42c49366faaed8171ddae503fb5ab15.svn-base
================================================
<Effect name="Red Wash"  type="Analog" id="80">
	<Allocation name="tableTexture1"/>
	<Allocation name="tableTexture2"/>
	<Allocation name="dst_a"/>
	<Allocation name="dst_b"/>
	<Allocation name="specialAlphaTexture">
		<file>vtg.png</file>
	</Allocation>
	
	<BaseFilter name="Curve">
        <tableTexture>tableTexture1</tableTexture>
        <params>
            <mode>texturing</mode>
            <R>(22, 0)(120, 78)(208, 138)(255, 170)</R>
            <G>(77, 0)(143, 69)(255, 176)</G>
            <B>(45, 0)(159, 97)(255, 173)</B>
        </params>
    </BaseFilter>
    
	<BaseFilter name="Curve">
        <tableTexture>tableTexture2</tableTexture>
        <params>
            <mode>texturing</mode>
            <R>(7, 171)(92, 201)(255, 253)</R>
            <G>(0, 3)(61, 79)(110, 142)(186, 201)(255, 255)</G>
            <B>(0, 23)(53, 87)(103, 140)(186, 208)(239, 248)</B>
        </params>
    </BaseFilter>

	<BaseFilter name="TableTexture">
		<src>SRC</src>
		<tableTexture>tableTexture1</tableTexture>
		<dst>dst_a</dst>
	</BaseFilter>

	<BaseFilter name="TableTexture">
		<src>SRC</src>
		<tableTexture>tableTexture2</tableTexture>
		<dst>dst_b</dst>
	</BaseFilter>

	<BaseFilter name="SpecialTrans">
		<src>dst_a</src>
		<dst>dst_b</dst>
		<tex>specialAlphaTexture</tex>
	</BaseFilter>

	<Out DST="dst_b"/>
</Effect>

================================================
FILE: FotorSDKDemo/.svn/pristine/16/1616494bc0c12ac0a9ec007b1a0a586526b97064.svn-base
================================================
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:baselineAligned="true"
    android:gravity="center_horizontal"
    android:orientation="vertical" >

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="@dimen/title_background_height"
        android:background="@color/title_background"
         >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/photo_editor"
            android:layout_centerInParent="true"
            android:textColor="@android:color/white"
            android:textSize="@dimen/title_text_size" />
        
        <TextView android:layout_height="wrap_content"
            	  android:layout_width="wrap_content"
            	  android:textColor="@android:color/white"
            	  android:textSize="10sp"
            	  android:padding="5dip"
            	  android:id="@+id/fotor_sdk_version_label"
            />
    </RelativeLayout>

    <FrameLayout
        android:id="@+id/image_container"
        android:layout_width="match_parent"
        android:layout_height="0dip"
        android:layout_weight="1"
        android:background="@android:color/background_dark"
        android:gravity="center"
        android:padding="5dp" >

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:src="@drawable/photo_editor_nophotos" />

        <ImageView
            android:id="@+id/image"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:scaleType="centerInside" />
    </FrameLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="@dimen/bottom_background_height"
        android:background="@color/title_background"
        android:gravity="center"
        android:orientation="horizontal"
        android:padding="0dip" >

        <Button
            android:id="@+id/button_gallery"
            android:layout_width="0dip"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@drawable/photo_editor_button_background"
            android:text="@string/photo_editor_select_image"
            android:textColor="@color/photo_editor_button_text_color"
            android:textSize="@dimen/bottom_button_text_size" >
        </Button>

        <View
            android:layout_width="1dip"
            android:layout_height="match_parent"
            android:background="#CC000000" />

        <Button
            android:id="@+id/button2"
            android:layout_width="0dip"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@drawable/photo_editor_button_background"
            android:enabled="false"
            android:text="@string/photo_editor_process"
            android:textColor="@color/photo_editor_button_text_color"
            android:textSize="@dimen/bottom_button_text_size" >
        </Button>
    </LinearLayout>

</LinearLayout>

================================================
FILE: FotorSDKDemo/.svn/pristine/16/165822de404fab27a653765a13ce0e1bd68ea6d2.svn-base
================================================
package com.example.fotorsdkdemo;

import java.io.File;

import com.everimaging.fotorsdk.FotorConstants;
import com.everimaging.fotorsdk.FotorSDKActivity;
import com.everimaging.fotorsdk.FotorSDKVersion;
import com.everimaging.fotorsdk.FotorUtils;
import com.everimaging.fotorsdk.provider.FotorContentProvider;
import com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns;
import com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns.Session;
import com.everimaging.fotorsdk.utils.BitmapDecodeUtils;
import com.everimaging.fotorsdk.utils.Utils;
import com.everimaging.fotorsdk.engine.FotorHDFilter;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnCancelListener;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.media.MediaScannerConnection;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore.Images;
import android.provider.MediaStore.Images.ImageColumns;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

/**
 * Sample main activity
 * 
 * @description
 * 
 * @author <a href="mailto:zhangjiajun@everimaging.com">John.Zhang</a>
 * @version 1.0
 * @create Apr 12, 2014 3:06:39 PM
 * @update Apr 12, 2014 3:06:39 PM
 */
public class MainActivity extends Activity {

	private static final int ACTION_REQUEST_FEATURE = 2;

	private static final int ACTION_REQUEST_GALLERY = 3;

	public static final String LOG_TAG = "fotorsdk_demo";

	/** Folder name on the sdcard where the images will be saved **/

	private static final String FOLDER_NAME = "FotorSDK";

	/** Edit sample button */
	Button mEditButton;
	/** Call gallery button */
	Button mGalleryButton;
	/** Display image view */
	ImageView mImage;
	/** The path for output file */
	Uri mOutputFilePath;

	/** Image uri for image editor */
	Uri mImageUri;
	/** Display version label for DEBUG */
	private TextView mSDKVersionLabel;

	/** The sample image uri. */
	private Uri mSampleUri;

	private File mGalleryFolder;

	/** session id for the hi-res post processing */
	private String mSessionId;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		Log.i(LOG_TAG, "onCreate");
		super.onCreate(savedInstanceState);

		setContentView(R.layout.activity_main);

		mEditButton.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(View v) {
				// if (mImageUri != null) {
				// startFeature(mImageUri);
				// }
				if (mSampleUri != null) {
					startFeature(mSampleUri);
				}
			}
		});

		mGalleryButton.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(View v) {
				pickFromGallery();
			}
		});

		mGalleryFolder = createFolders();

		// add sample image
		mSampleUri = Uri.parse("file:///android_asset/sample.jpg");
		loadAsync(mSampleUri);

		if (BuildConfig.DEBUG) {
			mSDKVersionLabel.setText("V" + FotorSDKVersion.FOTOR_SDK_VERSION);
		}

	}

	/**
	 * Start the activity to pick an image from the user gallery
	 */
	private void pickFromGallery() {
		Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
		intent.setType("image/*");

		Intent chooser = Intent.createChooser(intent, "Choose a Picture");
		startActivityForResult(chooser, ACTION_REQUEST_GALLERY);

	}

	@Override
	protected void onResume() {
		Log.i(LOG_TAG, "onResume");
		super.onResume();

		if (getIntent() != null) {
			handleIntent(getIntent());
			setIntent(new Intent());
		}
	}

	/**
	 * Handle the incoming {@link Intent}
	 */
	private void handleIntent(Intent intent) {

		String action = intent.getAction();

		if (null != action) {

			if (Intent.ACTION_SEND.equals(action)) {

				Bundle extras = intent.getExtras();
				if (extras != null && extras.containsKey(Intent.EXTRA_STREAM)) {
					Uri uri = (Uri) extras.get(Intent.EXTRA_STREAM);
					loadAsync(uri);
				}
			} else if (Intent.ACTION_VIEW.equals(action)) {
				Uri data = intent.getData();
				Log.d(LOG_TAG, "data: " + data);
				loadAsync(data);
			}
		}
	}

	/**
	 * Load the incoming Image
	 * 
	 * @param uri
	 */
	private void loadAsync(final Uri uri) {
		Log.i(LOG_TAG, "loadAsync: " + uri);

		Drawable toRecycle = mImage.getDrawable();
		if (toRecycle != null && toRecycle instanceof BitmapDrawable) {
			if (((BitmapDrawable) mImage.getDrawable()).getBitmap() != null)
				((BitmapDrawable) mImage.getDrawable()).getBitmap().recycle();
		}
		mImage.setImageDrawable(null);
		mImageUri = null;

		DownloadAsync task = new DownloadAsync();
		task.execute(uri);
	}

	@Override
	protected void onDestroy() {
		Log.i(LOG_TAG, "onDestroy");
		super.onDestroy();
		mOutputFilePath = null;
	}

	@Override
	public void onContentChanged() {
		super.onContentChanged();

		System.out.println("context:" + this.getPackageName());

		mEditButton = (Button) findViewById(R.id.button2);

		mGalleryButton = (Button) findViewById(R.id.button_gallery);

		mImage = (ImageView) findViewById(R.id.image);

		mSDKVersionLabel = (TextView) findViewById(R.id.fotor_sdk_version_label);

	}

	@Override
	/**
	 * This method is called when feather has completed ( ie. user clicked on "done" or just exit the activity without saving ). <br />
	 * If user clicked the "done" button you'll receive RESULT_OK as resultCode, RESULT_CANCELED otherwise.
	 * 
	 * @param requestCode
	 * 	- it is the code passed with startActivityForResult
	 * @param resultCode
	 * 	- result code of the activity launched ( it can be RESULT_OK or RESULT_CANCELED )
	 * @param data
	 * 	- the result data
	 */
	public void onActivityResult(int requestCode, int resultCode, Intent data) {
		if (resultCode == RESULT_OK) {
			switch (requestCode) {
			case ACTION_REQUEST_FEATURE: {

				Uri uri = data.getData();
				Bitmap bitmap = BitmapDecodeUtils.decode(this, uri, 0, 0);
				setImageURI(uri, bitmap);
				new ProcessHDTask(this).execute();
			}
				break;
			case ACTION_REQUEST_GALLERY: {
				Uri uri = data.getData();
				loadAsync(uri);
				startFeature(uri);
			}
				break;
			}

		} else if (resultCode == RESULT_CANCELED) {
			switch (requestCode) {
			case ACTION_REQUEST_FEATURE:
				if (mSessionId != null)
					deleteSession(mSessionId);
				break;
			}
		}
	}

	private String onSaveCompletion() {

		Uri sessionUri = SessionColumns.getContentUri(this, mSessionId);

		Cursor cursor = getContentResolver().query(sessionUri, null, null,
				null, null);

		Session session = Session.create(cursor);

		if (session != null) {
			FotorHDFilter fotorHDFilter = new FotorHDFilter(this, session);

			fotorHDFilter.loadImage();

			fotorHDFilter.executeFilter();

			String dstPath = Utils.getSDPath() + "/testOriginal.jpg";

			fotorHDFilter.save(dstPath);

			fotorHDFilter.dispose();
			deleteSession(mSessionId);

			return dstPath;
		}
		return null;

	}

	class ProcessHDTask extends AsyncTask<Void, Void, String> {
		private ProgressDialog mDialog;

		private Context mContext;

		public ProcessHDTask(Context context) {
			this.mContext = context;
		}

		@Override
		protected void onPreExecute() {
			mDialog = ProgressDialog.show(mContext, "Process HD",
					"Please wait...");
		}

		@Override
		protected String doInBackground(Void... params) {
			return onSaveCompletion();
		}

		@Override
		protected void onPostExecute(String result) {
			mDialog.dismiss();

			String msg = "Process Error";
			if (result != null) {
				msg = result;
			}

			Toast.makeText(mContext, msg, Toast.LENGTH_LONG).show();
		}

	}

	/**
	 * Delete the session and all it's actions. We do not need it anymore.<br />
	 * Note that this is optional. All old sessions are automatically removed in
	 * Feather.
	 * 
	 * @param session_id
	 */
	private void deleteSession(final String session_id) {
		Uri uri = FotorContentProvider.SessionColumns.getContentUri(this,
				session_id);
		int count = getContentResolver().delete(uri, null, null);
		System.out.println("delete session count:" + count);
	}

	/**
	 * Given an Uri load the bitmap into the current ImageView and resize it to
	 * fit the image container size
	 * 
	 * @param uri
	 */
	@SuppressWarnings("deprecation")
	private boolean setImageURI(final Uri uri, final Bitmap bitmap) {

		Log.d(LOG_TAG,
				"image size: " + bitmap.getWidth() + "x" + bitmap.getHeight());
		mImage.setImageBitmap(bitmap);
		mImage.setBackgroundDrawable(null);

		mEditButton.setEnabled(true);
		mImageUri = uri;
		return true;
	}

	/**
	 * We need to notify the MediaScanner when a new file is created. In this
	 * way all the gallery applications will be notified too.
	 * 
	 * @param file
	 */
	private void updateMedia(String filepath) {
		Log.i(LOG_TAG, "updateMedia: " + filepath);
		MediaScannerConnection.scanFile(getApplicationContext(),
				new String[] { filepath }, null, null);
	}

	/**
	 * Pick a random image from the user gallery
	 * 
	 * @return
	 */
	@SuppressWarnings("unused")
	private Uri pickRandomImage() {
		Cursor c = getContentResolver().query(
				Images.Media.EXTERNAL_CONTENT_URI,
				new String[] { ImageColumns._ID, ImageColumns.DATA },
				ImageColumns.SIZE + ">?", new String[] { "90000" }, null);
		Uri uri = null;

		if (c != null) {
			int total = c.getCount();
			int position = (int) (Math.random() * total);
			Log.d(LOG_TAG, "pickRandomImage. total images: " + total
					+ ", position: " + position);
			if (total > 0) {
				if (c.moveToPosition(position)) {
					String data = c.getString(c
							.getColumnIndex(Images.ImageColumns.DATA));
					long id = c.getLong(c
							.getColumnIndex(Images.ImageColumns._ID));

					uri = Uri.parse(data);

					Log.d(LOG_TAG, uri.toString());
				}
			}
			c.close();
		}
		return uri;
	}

	/**
	 * Return a new image file. Name is based on the current time. Parent folder
	 * will be the one created with createFolders
	 * 
	 * @return
	 * @see #createFolders()
	 */
	private File generateOutputFileName() {
		if (mGalleryFolder != null) {
			if (mGalleryFolder.exists()) {
				File file = new File(mGalleryFolder, "Fotor_"
						+ System.currentTimeMillis() + ".jpg");
				return file;
			}
		}
		return null;
	}

	/**
	 * Once you've chosen an image you can start the feather activity
	 * 
	 * @param uri
	 */
	private void startFeature(Uri uri) {

		Log.d(LOG_TAG, "uri: " + uri);

		// first check the external storage availability
		if (!isExternalStorageAvilable()) {
			new AlertDialog.Builder(this)
					.setTitle(android.R.string.dialog_alert_title)
					.setMessage("External Storage is not avilable").show();
			return;
		}

		// create a temporary file where to store the resulting image
		File file = generateOutputFileName();

		if (null != file) {
			mOutputFilePath = Uri.fromFile(file);
		} else {
			new AlertDialog.Builder(this)
					.setTitle(android.R.string.dialog_alert_title)
					.setMessage("Failed to create a new File").show();
			return;
		}

		// Create the intent needed to start feather
		Intent newIntent = new Intent(this, FotorSDKActivity.class);

		// === INPUT IMAGE URI ===
		// Set the source image uri
		newIntent.setData(uri);

		// === OUTPUT ====
		// Optional
		// Pass the uri of the destination image file.
		// This will be the same uri you will receive in the onActivityResult

		System.out.println("mOutputFilePath->:" + mOutputFilePath);

		// newIntent.putExtra(FotorConstants.EXTRA_OUTPUT_PATH,
		// mOutputFilePath);

		// === OUTPUT QUALITY ===
		// Optional
		newIntent.putExtra(FotorConstants.EXTRA_OUTPUT_QUALITY, 90);

		// === MAX SIZE ===
		// Optional
		// you can pass the maximum allowed image size (for the preview),
		// otherwise feather will determine
		// the max size based on the device informations.
		// This will not affect the hi-res image size.
		// Here we're passing the current display size as max image size because
		// after
		// the execution of Aviary we're saving the HI-RES image so we don't
		// need a big
		// image for the preview
		final DisplayMetrics metrics = new DisplayMetrics();
		getWindowManager().getDefaultDisplay().getMetrics(metrics);

		int max_size = Math.max(metrics.widthPixels, metrics.heightPixels);

		max_size = (int) ((float) max_size / 1.4f);

		newIntent.putExtra(FotorConstants.EXTRA_MAX_PREVIEW_SIZE, max_size);

		mSessionId = FotorUtils.generateSessionId(this);

		getContentResolver().delete(
				SessionColumns.getContentUri(this, mSessionId), null, null);

		Log.d(LOG_TAG,
				"session: " + mSessionId + ", size: " + mSessionId.length());

		newIntent.putExtra(FotorConstants.EXTRA_FOTOR_SESSION_ID, mSessionId);

		// // === FEATURE LIST ===

		// newIntent.putExtra(FotorConstants.EXTRA_FEATURE_LIST, new String[] {
		// FotorFeaturesFactory.FeatureType.FX_EFFECTS.name(),
		// FotorFeaturesFactory.FeatureType.BORDER.name() });

		// Whether hide confirm dialog when user not saved the was changed
		// bitmap
		// This default value will show
		// newIntent.putExtra(FotorConstants.EXTRA_HIDE_DISCARD_ALERT, false);

		// start feather
		startActivityForResult(newIntent, ACTION_REQUEST_FEATURE);
	}

	/**
	 * Check the external storage status
	 * 
	 * @return
	 */
	private boolean isExternalStorageAvilable() {
		String state = Environment.getExternalStorageState();
		if (Environment.MEDIA_MOUNTED.equals(state)) {
			return true;
		}
		return false;
	}

	/**
	 * Try to create the required folder on the sdcard where images will be
	 * saved to.
	 * 
	 * @return
	 */
	private File createFolders() {

		File baseDir;

		if (android.os.Build.VERSION.SDK_INT < 8) {
			baseDir = Environment.getExternalStorageDirectory();
		} else {
			baseDir = Environment
					.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
		}

		if (baseDir == null)
			return Environment.getExternalStorageDirectory();

		Log.d(LOG_TAG, "Pictures folder: " + baseDir.getAbsolutePath());
		File fotorSDKFolder = new File(baseDir, FOLDER_NAME);

		if (fotorSDKFolder.exists())
			return fotorSDKFolder;
		if (fotorSDKFolder.mkdirs())
			return fotorSDKFolder;

		return Environment.getExternalStorageDirectory();
	}

	class DownloadAsync extends AsyncTask<Uri, Void, Bitmap> implements
			OnCancelListener {

		ProgressDialog mProgress;
		private Uri mUri;

		@Override
		protected void onPreExecute() {
			super.onPreExecute();

			mProgress = new ProgressDialog(MainActivity.this);
			mProgress.setIndeterminate(true);
			mProgress.setCancelable(true);
			mProgress.setMessage("Loading image...");
			mProgress.setOnCancelListener(this);
			mProgress.show();
		}

		@Override
		protected Bitmap doInBackground(Uri... params) {
			mUri = params[0];

			DisplayMetrics displayMetrics = getResources().getDisplayMetrics();

			int maxW = (int) displayMetrics.widthPixels;
			int maxH = (int) displayMetrics.heightPixels;

			Bitmap bitmap = BitmapDecodeUtils.decode(getApplicationContext(),
					mUri, maxW, maxH);
			return bitmap;
		}

		@Override
		protected void onPostExecute(Bitmap result) {
			super.onPostExecute(result);

			if (mProgress.getWindow() != null) {
				mProgress.dismiss();
			}

			if (result != null) {
				setImageURI(mUri, result);
			} else {
				Toast.makeText(MainActivity.this,
						"Failed to load image " + mUri, Toast.LENGTH_SHORT)
						.show();
			}
		}

		@Override
		public void onCancel(DialogInterface dialog) {
			Log.i(LOG_TAG, "onProgressCancel");
			this.cancel(true);
		}

		@Override
		protected void onCancelled() {
			super.onCancelled();
			Log.i(LOG_TAG, "onCancelled");
		}

	}
}


================================================
FILE: FotorSDKDemo/.svn/pristine/16/16f1cbcb8a37822a0795b2dafdfc6c1ad5d798b1.svn-base
================================================
<Frame name="29M" type="Simple" id="29">
	<LeftTop>29M_0.png</LeftTop>
	<Top>29M_10.png</Top>
	<RightTop>29M_2.png</RightTop>
	<Right>29M_3.png</Right>
	<RightBottom>29M_4.png</RightBottom>
	<Bottom>29M_5.png</Bottom>
	<LeftBottom>29M_6.png</LeftBottom>
	<Left>29M_7.png</Left>

	<Unity>29M.png</Unity>
	
	<params>
		<mode>M</mode>
		<thickness>0.12</thickness>
		<width>186</width>
		<height>186</height>
		<block type="leftTop">
			<left>0</left>
			<top>0</top>
			<width>88</width>
			<height>88</height>
		</block>
		<block type="top">
			<left>88</left>
			<top>0</top>
			<width>10</width>
			<height>88</height>
		</block>
		<block type="rightTop">
			<left>98</left>
			<top>0</top>
			<width>88</width>
			<height>88</height>
		</block>
		<block type="right">
			<left>98</left>
			<top>88</top>
			<width>88</width>
			<height>10</height>
		</block>
		<block type="rightBottom">
			<left>98</left>
			<top>98</top>
			<width>88</width>
			<height>88</height>
		</block>
		<block type="bottom">
			<left>88</left>
			<top>98</top>
			<width>10</width>
			<height>88</height>
		</block>
		<block type="leftBottom">
			<left>0</left>
			<top>98</top>
			<width>88</width>
			<height>88</height>
		</block>
		<block type="left">
			<left>0</left>
			<top>88</top>
			<width>88</width>
			<height>10</height>
		</block>
	</params>
</Frame>

================================================
FILE: FotorSDKDemo/.svn/pristine/17/173b4efba62c8e1113726445e7ca5aab8fbe51fb.svn-base
================================================
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
	<name>FotorSDKDemo</name>
	<comment></comment>
	<projects>
	</projects>
	<buildSpec>
		<buildCommand>
			<name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
			<arguments>
			</arguments>
		</buildCommand>
		<buildCommand>
			<name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
			<arguments>
			</arguments>
		</buildCommand>
		<buildCommand>
			<name>org.eclipse.jdt.core.javabuilder</name>
			<arguments>
			</arguments>
		</buildCommand>
		<buildCommand>
			<name>com.android.ide.eclipse.adt.ApkBuilder</name>
			<arguments>
			</arguments>
		</buildCommand>
	</buildSpec>
	<natures>
		<nature>com.android.ide.eclipse.adt.AndroidNature</nature>
		<nature>org.eclipse.jdt.core.javanature</nature>
	</natures>
</projectDescription>


================================================
FILE: FotorSDKDemo/.svn/pristine/17/179b81766b82ed39dc92cafa39d3140d117e9637.svn-base
================================================
<Effect name="Shade" type="Scenes" id="166">
    <Allocation name="tableTexture"/>
	
    <BaseFilter name="Curve">
        <tableTexture>tableTexture</tableTexture>
        <params>
            <mode>texturing</mode>
            <R>(5, 8)(36, 51)(115, 145)(201, 220)(255, 255)</R>
            <G>(6, 9)(67, 83)(169, 190)(255, 255)</G>
            <B>(3, 3)(55, 60)(177, 190)(255, 255)</B>
        </params>
    </BaseFilter>
    
	<BaseFilter name="TableTexture">
		<src>SRC</src>
		<dst>DST</dst>
		<tableTexture>tableTexture</tableTexture>
	</BaseFilter>
</Effect>

================================================
FILE: FotorSDKDemo/.svn/pristine/18/1869f22f6b2ae8d22c81f06af763a8f1c48f39bf.svn-base
================================================
<Effect name="Grayscale" type="BorW" id="111">
    <BaseFilter name="Level">
        <src>SRC</src>
        <dst>DST</dst>
        <params>
            <type>GetScale</type>
            <dark>0.01</dark>
            <light>0.01</light>
            <saturation>0.0</saturation>
        </params>
    </BaseFilter>
</Effect>

================================================
FILE: FotorSDKDemo/.svn/pristine/1b/1bf19c2085868b9447cdf0163855885cc7994c89.svn-base
================================================
<Effect name="GreenGlow" type="Vintage" id="93">
    <Allocation name="tableTexture"/>
    
    <BaseFilter name="Vignette">
        <src>SRC</src>
        <dst>TMP</dst>
        <params>
            <mode>quadric</mode>
            <vignetteStart>0.0</vignetteStart>
            <vignetteRange>0.9</vignetteRange>
        </params>
    </BaseFilter>
    
    <BaseFilter name="Curve">
       <tableTexture>tableTexture</tableTexture>
       <params>
           <mode>texturing</mode>
           <R>(0, 0)(89, 44)(179, 189)(222, 255)</R>
           <G>(0, 0)(64, 64)(185, 212)(255, 255)</G>
           <B>(0, 23)(255, 217)</B>
       </params>
   </BaseFilter>
    
    <BaseFilter name="TableTexture">
        <src>TMP</src>
        <dst>DST</dst>
        <tableTexture>tableTexture</tableTexture>
    </BaseFilter>
</Effect>

================================================
FILE: FotorSDKDemo/.svn/pristine/26/2669873f891113a8f45506e825d0215306e95405.svn-base
================================================
# To enable ProGuard in your project, edit project.properties
# to define the proguard.config property as described in that file.
#
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in ${sdk.dir}/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the ProGuard
# include property in project.properties.
#
# For more details, see
#   http://developer.android.com/guide/developing/tools/proguard.html

# Add any project specific keep options here:

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
#   public *;
#}


================================================
FILE: FotorSDKDemo/.svn/pristine/27/2709b25879bca9f06f1ad9a29b0dc3d38267c407.svn-base
================================================
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@color/bottom_button_background_pressed_color" android:state_focused="true" android:state_pressed="true"/>
    <item android:drawable="@color/bottom_button_background_pressed_color" android:state_pressed="true"/>
    <item android:drawable="@color/bottom_button_background_disable_color" android:state_enabled="false"/>
    <item android:drawable="@color/bottom_button_background_pressed_color" android:state_selected="true"/>
    <item android:drawable="@color/bottom_button_background_default_color"/>

</selector>

================================================
FILE: FotorSDKDemo/.svn/pristine/27/275269bd2e1ccac503cb43fc0c7f8efe6ae6f57a.svn-base
================================================
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:baselineAligned="true"
    android:gravity="center_horizontal"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="@dimen/title_background_height"
        android:background="@color/title_background"
        android:gravity="center" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/photo_editor"
            android:textColor="@android:color/white"
            android:textSize="@dimen/title_text_size" />
    </LinearLayout>

    <FrameLayout
        android:id="@+id/image_container"
        android:layout_width="match_parent"
        android:layout_height="0dip"
        android:layout_weight="1"
        android:background="@android:color/background_dark"
        android:gravity="center"
        android:padding="5dp" >

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:src="@drawable/photo_editor_nophotos" />

        <ImageView
            android:id="@+id/image"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:scaleType="centerInside" />
    </FrameLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="@dimen/bottom_background_height"
        android:background="@color/title_background"
        android:gravity="center"
        android:orientation="horizontal"
        android:padding="0dip" >

        <Button
            android:id="@+id/button_gallery"
            android:layout_width="0dip"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@drawable/photo_editor_button_background"
            android:text="@string/photo_editor_select_image"
            android:textColor="@color/photo_editor_button_text_color"
            android:textSize="@dimen/bottom_button_text_size" >
        </Button>

        <View
            android:layout_width="1dip"
            android:layout_height="match_parent"
            android:background="#CC000000" />

        <Button
            android:id="@+id/button2"
            android:layout_width="0dip"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@drawable/photo_editor_button_background"
            android:enabled="false"
            android:text="@string/photo_editor_process"
            android:textColor="@color/photo_editor_button_text_color"
            android:textSize="@dimen/bottom_button_text_size" >
        </Button>
    </LinearLayout>

</LinearLayout>

================================================
FILE: FotorSDKDemo/.svn/pristine/27/27e5804d4d2cb888b89e5cfabb6824fcb97950e0.svn-base
================================================
<Effect name="DeepBlue" type="Vintage" id="110">
    <Allocation name="level"/>
    <Allocation name="tableTexture"/>
    
    <BaseFilter name="Level">
        <src>SRC</src>
        <dst>level</dst>
        <params>
            <type>GetScale</type>
            <dark>0.01</dark>
            <light>0.01</light>
            <saturation>1.3</saturation>
        </params>
    </BaseFilter>
    
   <BaseFilter name="Vignette">
        <src>level</src>
        <dst>TMP</dst>
        <params>
            <mode>quadric</mode>
            <vignetteStart>0.0</vignetteStart>
            <vignetteRange>0.8</vignetteRange>
        </params>
    </BaseFilter>
    
   <BaseFilter name="Curve">
       <tableTexture>tableTexture</tableTexture>
       <params>
           <mode>texturing</mode>
           <R>(20, 0)(150, 109)(255, 255)</R>
           <G>(30, 0)(97, 92)(163, 172)(255, 255)</G>
           <B>(0, 0)(240, 255)</B>
       </params>
   </BaseFilter>
    
    <BaseFilter name="TableTexture">
        <src>TMP</src>
        <dst>DST</dst>
        <tableTexture>tableTexture</tableTexture>
    </BaseFilter>
</Effect>

================================================
FILE: FotorSDKDemo/.svn/pristine/28/28cc16730e4f03f97e077efa04843148f7f0eb0b.svn-base
================================================
<Effect name="Food" type="Scenes" id="160">
    <Allocation name="tableTexture"/>
	
    <BaseFilter name="Curve">
        <tableTexture>tableTexture</tableTexture>
        <params>
            <mode>texturing</mode>
            <R>(3, 0)(23, 29)(83, 116)(167, 206)(255, 255)</R>
            <G>(5, 0)(56, 64)(160, 189)(255, 255)</G>
            <B>(3, 0)(48, 49)(142, 167)(248, 255)</B>
        </params>
    </BaseFilter>
    
	<BaseFilter name="TableTexture">
		<src>SRC</src>
		<dst>DST</dst>
		<tableTexture>tableTexture</tableTexture>
	</BaseFilter>
</Effect>

================================================
FILE: FotorSDKDemo/.svn/pristine/2b/2b9183863aa41af4a9ee6872efbec38dbe4ee4c0.svn-base
================================================
<resources>

    <!--
         Customize dimensions originally defined in res/values/dimens.xml (such as
         screen margins) for sw720dp devices (e.g. 10" tablets) in landscape here.
    -->
    <dimen name="activity_horizontal_margin">128dp</dimen>

</resources>


================================================
FILE: FotorSDKDemo/.svn/pristine/2f/2fc798884e09b229a782e7521f0514af17907663.svn-base
================================================
# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system edit
# "ant.properties", and override values to adapt the script to your
# project structure.
#
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt

# Project target.
target=android-19
android.library.reference.1=../FotorSDK

#------ RenderScript Configuration -------
renderscript.target=19

renderscript.support.mode=true

sdk.buildtools=19.0.3
#------ RenderScript Configuration -------


================================================
FILE: FotorSDKDemo/.svn/pristine/32/3228fb7bd14e329a33acb71d67f2161e4d641b3a.svn-base
================================================
<Effect name="Blue" type="Vintage" id="108">
    <Allocation name="level"/>
    <Allocation name="tableTexture"/>
    
    <BaseFilter name="Level">
        <src>SRC</src>
        <dst>level</dst>
        <params>
            <type>GetScale</type>
            <dark>0.01</dark>
            <light>0.01</light>
            <saturation>1.3</saturation>
        </params>
    </BaseFilter>
    
   <BaseFilter name="Vignette">
        <src>level</src>
        <dst>TMP</dst>
        <params>
            <mode>quadric</mode>
            <vignetteStart>0.0</vignetteStart>
            <vignetteRange>0.8</vignetteRange>
        </params>
    </BaseFilter>
   
   <BaseFilter name="Curve">
       <tableTexture>tableTexture</tableTexture>
       <params>
           <mode>texturing</mode>
           <R>(33, 10)(255, 255)</R>
           <G>(0, 15)(86, 94)(171, 194)(255, 255)</G>
           <B>(0, 20)(255, 235)</B>
       </params>
   </BaseFilter>
   
    <BaseFilter name="TableTexture">
        <src>TMP</src>
        <dst>DST</dst>
        <tableTexture>tableTexture</tableTexture>
    </BaseFilter>
</Effect>

================================================
FILE: FotorSDKDemo/.svn/pristine/3b/3b76a63e440aecbb07f6d8cf6779ce7f11f02331.svn-base
================================================
package com.example.fotorsdkdemo;

import java.io.File;

import com.everimaging.fotorsdk.FotorConstants;
import com.everimaging.fotorsdk.FotorFeaturesFactory;
import com.everimaging.fotorsdk.FotorSDKActivity;
import com.everimaging.fotorsdk.FotorSDKVersion;
import com.everimaging.fotorsdk.FotorUtils;
import com.everimaging.fotorsdk.provider.FotorContentProvider;
import com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns;
import com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns.Session;
import com.everimaging.fotorsdk.utils.BitmapDecodeUtils;
import com.everimaging.fotorsdk.utils.Utils;
import com.everimaging.fotorsdk.engine.FotorHDFilter;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnCancelListener;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.media.MediaScannerConnection;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore.Images;
import android.provider.MediaStore.Images.ImageColumns;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

/**
 * Sample main activity
 * 
 * @description
 * 
 * @author <a href="mailto:zhangjiajun@everimaging.com">John.Zhang</a>
 * @version 1.0
 * @create Apr 12, 2014 3:06:39 PM
 * @update Apr 12, 2014 3:06:39 PM
 */
public class MainActivity extends Activity {

	private static final int ACTION_REQUEST_FEATURE = 2;

	private static final int ACTION_REQUEST_GALLERY = 3;

	private static final int EXTERNAL_STORAGE_UNAVAILABLE = 1;

	public static final String LOG_TAG = "fotorsdk_demo";

	/** Folder name on the sdcard where the images will be saved **/

	private static final String FOLDER_NAME = "FotorSDK";

	/** Edit sample button */
	Button mEditButton;
	/** Call gallery button */
	Button mGalleryButton;
	/** Display image view */
	ImageView mImage;
	/** The path for output file */
	String mOutputFilePath;

	/** Image uri for image editor */
	Uri mImageUri;
	/** Display version label for DEBUG */
	private TextView mSDKVersionLabel;

	/** The sample image uri. */
	private Uri mSampleUri;

	private File mGalleryFolder;

	/** session id for the hi-res post processing */
	private String mSessionId;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		Log.i(LOG_TAG, "onCreate");
		super.onCreate(savedInstanceState);

		setContentView(R.layout.activity_main);

		mEditButton.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(View v) {
				if (mImageUri != null) {
					startFeature(mImageUri);
				}
			}
		});

		mGalleryButton.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(View v) {
				pickFromGallery();
			}
		});

		mGalleryFolder = createFolders();

		// add sample image
		mSampleUri = Uri.parse("file:///android_asset/sample.jpg");
		loadAsync(mSampleUri);

		if (BuildConfig.DEBUG) {
			mSDKVersionLabel.setText("V" + FotorSDKVersion.FOTOR_SDK_VERSION);
		}

	}

	/**
	 * Start the activity to pick an image from the user gallery
	 */
	private void pickFromGallery() {
		Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
		intent.setType("image/*");

		Intent chooser = Intent.createChooser(intent, "Choose a Picture");
		startActivityForResult(chooser, ACTION_REQUEST_GALLERY);

	}

	@Override
	protected void onResume() {
		Log.i(LOG_TAG, "onResume");
		super.onResume();

		if (getIntent() != null) {
			handleIntent(getIntent());
			setIntent(new Intent());
		}
	}

	/**
	 * Handle the incoming {@link Intent}
	 */
	private void handleIntent(Intent intent) {

		String action = intent.getAction();

		if (null != action) {

			if (Intent.ACTION_SEND.equals(action)) {

				Bundle extras = intent.getExtras();
				if (extras != null && extras.containsKey(Intent.EXTRA_STREAM)) {
					Uri uri = (Uri) extras.get(Intent.EXTRA_STREAM);
					loadAsync(uri);
				}
			} else if (Intent.ACTION_VIEW.equals(action)) {
				Uri data = intent.getData();
				Log.d(LOG_TAG, "data: " + data);
				loadAsync(data);
			}
		}
	}

	/**
	 * Load the incoming Image
	 * 
	 * @param uri
	 */
	private void loadAsync(final Uri uri) {
		Log.i(LOG_TAG, "loadAsync: " + uri);

		Drawable toRecycle = mImage.getDrawable();
		if (toRecycle != null && toRecycle instanceof BitmapDrawable) {
			if (((BitmapDrawable) mImage.getDrawable()).getBitmap() != null)
				((BitmapDrawable) mImage.getDrawable()).getBitmap().recycle();
		}
		mImage.setImageDrawable(null);
		mImageUri = null;

		DownloadAsync task = new DownloadAsync();
		task.execute(uri);
	}

	@Override
	protected void onDestroy() {
		Log.i(LOG_TAG, "onDestroy");
		super.onDestroy();
		mOutputFilePath = null;
	}

	@Override
	public void onContentChanged() {
		super.onContentChanged();

		System.out.println("context:" + this.getPackageName());

		mEditButton = (Button) findViewById(R.id.button2);

		mGalleryButton = (Button) findViewById(R.id.button_gallery);

		mImage = (ImageView) findViewById(R.id.image);

		mSDKVersionLabel = (TextView) findViewById(R.id.fotor_sdk_version_label);

	}

	@Override
	/**
	 * This method is called when feather has completed ( ie. user clicked on "done" or just exit the activity without saving ). <br />
	 * If user clicked the "done" button you'll receive RESULT_OK as resultCode, RESULT_CANCELED otherwise.
	 * 
	 * @param requestCode
	 * 	- it is the code passed with startActivityForResult
	 * @param resultCode
	 * 	- result code of the activity launched ( it can be RESULT_OK or RESULT_CANCELED )
	 * @param data
	 * 	- the result data
	 */
	public void onActivityResult(int requestCode, int resultCode, Intent data) {
		if (resultCode == RESULT_OK) {
			switch (requestCode) {
			case ACTION_REQUEST_FEATURE: {

				Uri uri = Uri.parse(mOutputFilePath);
				Bitmap bitmap = BitmapDecodeUtils.decodeFile(mOutputFilePath);
				setImageURI(uri, bitmap);
				new ProcessHDTask(this).execute();
			}
				break;
			case ACTION_REQUEST_GALLERY: {
				Uri uri = data.getData();
				loadAsync(uri);
				startFeature(uri);
			}
				break;
			}

		} else if (resultCode == RESULT_CANCELED) {
			switch (requestCode) {
			case ACTION_REQUEST_FEATURE:
				if (mSessionId != null)
					deleteSession(mSessionId);
				break;
			}
		}
	}

	private String onSaveCompletion() {

		Uri sessionUri = SessionColumns.getContentUri(this, mSessionId);

		Cursor cursor = getContentResolver().query(sessionUri, null, null,
				null, null);

		Session session = Session.create(cursor);

		if (session != null) {
			FotorHDFilter fotorHDFilter = new FotorHDFilter(this, session);

			fotorHDFilter.loadImage();

			fotorHDFilter.executeFilter();

			String dstPath = Utils.getSDPath() + "/testOriginal.jpg";

			fotorHDFilter.save(dstPath);

			fotorHDFilter.dispose();
			deleteSession(mSessionId);

			return dstPath;
		}
		return null;

	}

	class ProcessHDTask extends AsyncTask<Void, Void, String> {
		private ProgressDialog mDialog;

		private Context mContext;

		public ProcessHDTask(Context context) {
			this.mContext = context;
		}

		@Override
		protected void onPreExecute() {
			mDialog = ProgressDialog.show(mContext, "Process HD",
					"Please wait...");
		}

		@Override
		protected String doInBackground(Void... params) {
			return onSaveCompletion();
		}

		@Override
		protected void onPostExecute(String result) {
			mDialog.dismiss();

			String msg = "Process Error";
			if (result != null) {
				msg = result;
			}

			Toast.makeText(mContext, msg, Toast.LENGTH_LONG).show();
		}

	}

	/**
	 * Delete the session and all it's actions. We do not need it anymore.<br />
	 * Note that this is optional. All old sessions are automatically removed in
	 * Feather.
	 * 
	 * @param session_id
	 */
	private void deleteSession(final String session_id) {
		Uri uri = FotorContentProvider.SessionColumns.getContentUri(this,
				session_id);
		int count = getContentResolver().delete(uri, null, null);
		System.out.println("delete session count:" + count);
	}

	/**
	 * Given an Uri load the bitmap into the current ImageView and resize it to
	 * fit the image container size
	 * 
	 * @param uri
	 */
	@SuppressWarnings("deprecation")
	private boolean setImageURI(final Uri uri, final Bitmap bitmap) {

		Log.d(LOG_TAG,
				"image size: " + bitmap.getWidth() + "x" + bitmap.getHeight());
		mImage.setImageBitmap(bitmap);
		mImage.setBackgroundDrawable(null);

		mEditButton.setEnabled(true);
		mImageUri = uri;
		return true;
	}

	/**
	 * We need to notify the MediaScanner when a new file is created. In this
	 * way all the gallery applications will be notified too.
	 * 
	 * @param file
	 */
	private void updateMedia(String filepath) {
		Log.i(LOG_TAG, "updateMedia: " + filepath);
		MediaScannerConnection.scanFile(getApplicationContext(),
				new String[] { filepath }, null, null);
	}

	/**
	 * Pick a random image from the user gallery
	 * 
	 * @return
	 */
	@SuppressWarnings("unused")
	private Uri pickRandomImage() {
		Cursor c = getContentResolver().query(
				Images.Media.EXTERNAL_CONTENT_URI,
				new String[] { ImageColumns._ID, ImageColumns.DATA },
				ImageColumns.SIZE + ">?", new String[] { "90000" }, null);
		Uri uri = null;

		if (c != null) {
			int total = c.getCount();
			int position = (int) (Math.random() * total);
			Log.d(LOG_TAG, "pickRandomImage. total images: " + total
					+ ", position: " + position);
			if (total > 0) {
				if (c.moveToPosition(position)) {
					String data = c.getString(c
							.getColumnIndex(Images.ImageColumns.DATA));
					long id = c.getLong(c
							.getColumnIndex(Images.ImageColumns._ID));

					uri = Uri.parse(data);

					Log.d(LOG_TAG, uri.toString());
				}
			}
			c.close();
		}
		return uri;
	}

	/**
	 * Return a new image file. Name is based on the current time. Parent folder
	 * will be the one created with createFolders
	 * 
	 * @return
	 * @see #createFolders()
	 */
	private File generateOutputFileName() {
		if (mGalleryFolder != null) {
			if (mGalleryFolder.exists()) {
				File file = new File(mGalleryFolder, "Fotor_"
						+ System.currentTimeMillis() + ".jpg");
				return file;
			}
		}
		return null;
	}

	/**
	 * Once you've chosen an image you can start the feather activity
	 * 
	 * @param uri
	 */
	@SuppressWarnings("deprecation")
	private void startFeature(Uri uri) {

		Log.d(LOG_TAG, "uri: " + uri);

		// first check the external storage availability
		if (!isExternalStorageAvilable()) {
			showDialog(EXTERNAL_STORAGE_UNAVAILABLE);
			return;
		}

		// create a temporary file where to store the resulting image
		File file = generateOutputFileName();

		if (null != file) {
			mOutputFilePath = file.getAbsolutePath();
		} else {
			new AlertDialog.Builder(this)
					.setTitle(android.R.string.dialog_alert_title)
					.setMessage("Failed to create a new File").show();
			return;
		}

		// Create the intent needed to start feather
		Intent newIntent = new Intent(this, FotorSDKActivity.class);

		// === INPUT IMAGE URI ===
		// Set the source image uri
		newIntent.setData(uri);

		// === OUTPUT ====
		// Optional
		// Pass the uri of the destination image file.
		// This will be the same uri you will receive in the onActivityResult

		System.out.println("mOutputFilePath->:" + mOutputFilePath);

		newIntent.putExtra(FotorConstants.EXTRA_OUTPUT_PATH, mOutputFilePath);

		// === OUTPUT QUALITY ===
		// Optional
		newIntent.putExtra(FotorConstants.EXTRA_OUTPUT_QUALITY, 90);

		// === MAX SIZE ===
		// Optional
		// you can pass the maximum allowed image size (for the preview),
		// otherwise feather will determine
		// the max size based on the device informations.
		// This will not affect the hi-res image size.
		// Here we're passing the current display size as max image size because
		// after
		// the execution of Aviary we're saving the HI-RES image so we don't
		// need a big
		// image for the preview
		final DisplayMetrics metrics = new DisplayMetrics();
		getWindowManager().getDefaultDisplay().getMetrics(metrics);

		int max_size = Math.max(metrics.widthPixels, metrics.heightPixels);

		max_size = (int) ((float) max_size / 1.4f);

		newIntent.putExtra(FotorConstants.EXTRA_MAX_PREVIEW_SIZE, max_size);

		mSessionId = FotorUtils.generateSessionId(this);

		getContentResolver().delete(
				SessionColumns.getContentUri(this, mSessionId), null, null);

		Log.d(LOG_TAG,
				"session: " + mSessionId + ", size: " + mSessionId.length());

		newIntent.putExtra(FotorConstants.EXTRA_FOTOR_SESSION_ID, mSessionId);

		// // === FEATURE LIST ===

		// newIntent.putExtra(FotorConstants.EXTRA_FEATURE_LIST, new String[] {
		// FotorFeaturesFactory.FeatureType.FX_EFFECTS.name(),
		// FotorFeaturesFactory.FeatureType.BORDER.name() });

		// start feather
		startActivityForResult(newIntent, ACTION_REQUEST_FEATURE);
	}

	/**
	 * Check the external storage status
	 * 
	 * @return
	 */
	private boolean isExternalStorageAvilable() {
		String state = Environment.getExternalStorageState();
		if (Environment.MEDIA_MOUNTED.equals(state)) {
			return true;
		}
		return false;
	}

	/**
	 * Try to create the required folder on the sdcard where images will be
	 * saved to.
	 * 
	 * @return
	 */
	private File createFolders() {

		File baseDir;

		if (android.os.Build.VERSION.SDK_INT < 8) {
			baseDir = Environment.getExternalStorageDirectory();
		} else {
			baseDir = Environment
					.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
		}

		if (baseDir == null)
			return Environment.getExternalStorageDirectory();

		Log.d(LOG_TAG, "Pictures folder: " + baseDir.getAbsolutePath());
		File fotorSDKFolder = new File(baseDir, FOLDER_NAME);

		if (fotorSDKFolder.exists())
			return fotorSDKFolder;
		if (fotorSDKFolder.mkdirs())
			return fotorSDKFolder;

		return Environment.getExternalStorageDirectory();
	}

	class DownloadAsync extends AsyncTask<Uri, Void, Bitmap> implements
			OnCancelListener {

		ProgressDialog mProgress;
		private Uri mUri;

		@Override
		protected void onPreExecute() {
			super.onPreExecute();

			mProgress = new ProgressDialog(MainActivity.this);
			mProgress.setIndeterminate(true);
			mProgress.setCancelable(true);
			mProgress.setMessage("Loading image...");
			mProgress.setOnCancelListener(this);
			mProgress.show();
		}

		@Override
		protected Bitmap doInBackground(Uri... params) {
			mUri = params[0];

			DisplayMetrics displayMetrics = getResources().getDisplayMetrics();

			int maxW = (int) (displayMetrics.widthPixels / 1.5);
			int maxH = (int) (displayMetrics.heightPixels / 1.5);

			Bitmap bitmap = BitmapDecodeUtils.decode(getApplicationContext(),
					mUri, maxW, maxH);
			return bitmap;
		}

		@Override
		protected void onPostExecute(Bitmap result) {
			super.onPostExecute(result);

			if (mProgress.getWindow() != null) {
				mProgress.dismiss();
			}

			if (result != null) {
				setImageURI(mUri, result);
			} else {
				Toast.makeText(MainActivity.this,
						"Failed to load image " + mUri, Toast.LENGTH_SHORT)
						.show();
			}
		}

		@Override
		public void onCancel(DialogInterface dialog) {
			Log.i(LOG_TAG, "onProgressCancel");
			this.cancel(true);
		}

		@Override
		protected void onCancelled() {
			super.onCancelled();
			Log.i(LOG_TAG, "onCancelled");
		}

	}
}


================================================
FILE: FotorSDKDemo/.svn/pristine/3b/3bb5415d1f04c900bd4f8c1e4e7073d6d969d8a5.svn-base
================================================
<Frame name="Cleopatra" type="Gallery" id="42">
	<LeftTop>42M_0.png</LeftTop>
	<Top>42M_1.png</Top>
	<RightTop>42M_2.png</RightTop>
	<Right>42M_3.png</Right>
	<RightBottom>42M_4.png</RightBottom>
	<Bottom>42M_5.png</Bottom>
	<LeftBottom>42M_6.png</LeftBottom>
	<Left>42M_7.png</Left>

	<Unity>42M.png</Unity>
	
	<params>
		<mode>M</mode>
		<thickness>0.1</thickness>
		<width>362</width>
		<height>362</height>
		<block type="leftTop">
			<left>0</left>
			<top>0</top>
			<width>166</width>
			<height>166</height>
		</block>
		<block type="top">
			<left>166</left>
			<top>0</top>
			<width>30</width>
			<height>166</height>
		</block>
		<block type="rightTop">
			<left>196</left>
			<top>0</top>
			<width>166</width>
			<height>166</height>
		</block>
		<block type="right">
			<left>196</left>
			<top>166</top>
			<width>166</width>
			<height>30</height>
		</block>
		<block type="rightBottom">
			<left>196</left>
			<top>196</top>
			<width>166</width>
			<height>166</height>
		</block>
		<block type="bottom">
			<left>166</left>
			<top>196</top>
			<width>30</width>
			<height>166</height>
		</block>
		<block type="leftBottom">
			<left>0</left>
			<top>196</top>
			<width>166</width>
			<height>166</height>
		</block>
		<block type="left">
			<left>0</left>
			<top>166</top>
			<width>166</width>
			<height>30</height>
		</block>
	</params>
</Frame>

================================================
FILE: FotorSDKDemo/.svn/pristine/3c/3c755b5500ed67e7a115f31d4682bbdbedbb9973.svn-base
================================================
<Frame name="Blue Jeans" type="Gallery" id="10">
	<LeftTop>10M_0.png</LeftTop>
	<Top>10M_1.png</Top>
	<RightTop>10M_2.png</RightTop>
	<Right>10M_3.png</Right>
	<RightBottom>10M_4.png</RightBottom>
	<Bottom>10M_5.png</Bottom>
	<LeftBottom>10M_6.png</LeftBottom>
	<Left>10M_7.png</Left>

	<Unity>10M.png</Unity>
	
	<params>
		<mode>M</mode>
		<thickness>0.08</thickness>
		<width>174</width>
		<height>174</height>
		<block type="leftTop">
			<left>0</left>
			<top>0</top>
			<width>72</width>
			<height>72</height>
		</block>
		<block type="top">
			<left>72</left>
			<top>0</top>
			<width>30</width>
			<height>72</height>
		</block>
		<block type="rightTop">
			<left>102</left>
			<top>0</top>
			<width>72</width>
			<height>72</height>
		</block>
		<block type="right">
			<left>102</left>
			<top>72</top>
			<width>72</width>
			<height>30</height>
		</block>
		<block type="rightBottom">
			<left>102</left>
			<top>102</top>
			<width>72</width>
			<height>72</height>
		</block>
		<block type="bottom">
			<left>72</left>
			<top>102</top>
			<width>30</width>
			<height>72</height>
		</block>
		<block type="leftBottom">
			<left>0</left>
			<top>102</top>
			<width>72</width>
			<height>72</height>
		</block>
		<block type="left">
			<left>0</left>
			<top>72</top>
			<width>72</width>
			<height>30</height>
		</block>
	</params>
</Frame>

================================================
FILE: FotorSDKDemo/.svn/pristine/3e/3e3d52eea62bb45233f43a2939d14cd6a04db981.svn-base
================================================
<Effect name="Toy" type="Old Picture" id="10">
    <Allocation name="tableTexture"/>
    
    <BaseFilter name="Curve">
        <tableTexture>tableTexture</tableTexture>
        <params>
            <mode>texturing</mode>
            <curveR>
                <point>0, 4</point>
                <point>255, 244</point>
            </curveR>
            <curveG>
                <point>0, 0</point>
                <point>255, 255</point>
            </curveG>
            <curveB>
                <point>0, 84</point>
                <point>255, 194</point>
            </curveB>
        </params>
    </BaseFilter>
    
    <BaseFilter name="TableTexture">
		<src>SRC</src>
		<dst>DST</dst>
		<tableTexture>tableTexture</tableTexture>
	</BaseFilter>
</Effect>

================================================
FILE: FotorSDKDemo/.svn/pristine/3e/3e57edbe2aee66098186d9259aaf0d9847723cdf.svn-base
================================================
<Frame name="49S" type="Styled" id="49">
    <Unity>49S.png</Unity>
    
    <params>
        <mode>S</mode>
    </params>
</Frame>

================================================
FILE: FotorSDKDemo/.svn/pristine/42/42d8c3015ce203c165397e1607e6f5d1d90ee430.svn-base
================================================
["108.xml","109.xml","110.xml","91.xml","93.xml","6.xml"]

================================================
FILE: FotorSDKDemo/.svn/pristine/47/47444bc050df100e3ecf6da3b32fc3e72cedd3d7.svn-base
================================================
<Effect name="Sepia" type="Retro" id="118">
    <Allocation name="vignette"/>
    <Allocation name="level"/>
    
    <BaseFilter name="Level">
        <src>SRC</src>
        <dst>level</dst>
        <params>
            <type>GetScale</type>
            <dark>0.01</dark>
            <light>0.2</light>
            <saturation>0.0</saturation>
        </params>
    </BaseFilter>
    
    <BaseFilter name="Vignette">
        <src>level</src>
        <dst>TMP</dst>
        <params>
            <mode>linear</mode>
            <vignetteStart>0.0</vignetteStart>
            <vignetteRange>0.8</vignetteRange>
        </params>
    </BaseFilter>
    
    <BaseFilter name="MultiplyMatrixPlusBias">
        <src>TMP</src>
        <dst>DST</dst>
        <params>
            <vectorR>0.393, 0.769, 0.189</vectorR>
            <vectorG>0.349, 0.686, 0.168</vectorG>
            <vectorB>0.272, 0.534, 0.131</vectorB>
        </params>
    </BaseFilter>
</Effect>

================================================
FILE: FotorSDKDemo/.svn/pristine/4c/4c0d320756d2018b3f2c3544923a939b87533800.svn-base
================================================
{
	"version": 1,
	"category_name": "Classic",
	"fonts_array": [{
		"font_id": 1,
		"font_name": "Droid Sans",
		"font_normal": "DroidSans",
		"font_bold": "DroidSans-Bold",
		"font_italic": "",
		"font_bolditalic": ""
	},
	{
		"font_id": 2,
		"font_name": "Droid Serif",
		"font_normal": "DroidSerif",
		"font_bold": "DroidSerif-Bold",
		"font_italic": "DroidSerif-Italic",
		"font_bolditalic": "DroidSerif-BoldItalic"
	},
	{
		"font_id": 3,
		"font_name": "Droid Sans Mono",
		"font_normal": "DroidSansMono",
		"font_bold": "",
		"font_italic": "",
		"font_bolditalic": ""
	},
	{
		"font_id": 4,
		"font_name": "Roboto Regular",
		"font_normal": "Roboto-Regular",
		"font_bold": "Roboto-Bold",
		"font_italic": "Roboto-Italic",
		"font_bolditalic": "Roboto-BoldItalic"
	},
	{
		"font_id": 5,
		"font_name": "Roboto Thin",
		"font_normal": "Roboto-Thin",
		"font_bold": "",
		"font_italic": "Roboto-ThinItalic",
		"font_bolditalic": ""
	},
	{
		"font_id": 6,
		"font_name": "Roboto Condensed",
		"font_normal": "RobotoCondensed-Regular",
		"font_bold": "RobotoCondensed-Bold",
		"font_italic": "RobotoCondensed-Italic",
		"font_bolditalic": "RobotoCondensed-BoldItalic"
	}
	]
}

================================================
FILE: FotorSDKDemo/.svn/pristine/4c/4c32cb13f7e191b3241c44246970ac9d7e713b92.svn-base
================================================
<resources>

    <!-- Default screen margins, per the Android Design guidelines. -->
    <dimen name="activity_horizontal_margin">16dp</dimen>
    <dimen name="activity_vertical_margin">16dp</dimen>
    <dimen name="title_background_height">44dip</dimen>
    <dimen name="title_text_size">20sp</dimen>
    <dimen name="bottom_background_height">60dip</dimen>
    <dimen name="bottom_button_text_size">16sp</dimen>

</resources>

================================================
FILE: FotorSDKDemo/.svn/pristine/4d/4d34f6dcb70ac598c17e6a49c25a45c02ce62a69.svn-base
================================================
<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">FotorSDKDemo</string>
    <string name="action_settings">Settings</string>
    <string name="hello_world">Hello world!</string>

</resources>


================================================
FILE: FotorSDKDemo/.svn/pristine/4f/4f80723c94375d498af0db25808f75960a2c2473.svn-base
================================================
<Frame name="Nile River" type="Gallery" id="41">
	<LeftTop>41M_0.png</LeftTop>
	<Top>41M_1.png</Top>
	<RightTop>41M_2.png</RightTop>
	<Right>41M_3.png</Right>
	<RightBottom>41M_4.png</RightBottom>
	<Bottom>41M_5.png</Bottom>
	<LeftBottom>41M_6.png</LeftBottom>
	<Left>41M_7.png</Left>

	<Unity>41M.png</Unity>
	
	<params>
		<mode>M</mode>
		<thickness>0.05</thickness>
		<width>170</width>
		<height>170</height>
		<block type="leftTop">
			<left>0</left>
			<top>0</top>
			<width>70</width>
			<height>70</height>
		</block>
		<block type="top">
			<left>70</left>
			<top>0</top>
			<width>30</width>
			<height>70</height>
		</block>
		<block type="rightTop">
			<left>100</left>
			<top>0</top>
			<width>70</width>
			<height>70</height>
		</block>
		<block type="right">
			<left>100</left>
			<top>70</top>
			<width>70</width>
			<height>30</height>
		</block>
		<block type="rightBottom">
			<left>100</left>
			<top>100</top>
			<width>70</width>
			<height>70</height>
		</block>
		<block type="bottom">
			<left>70</left>
			<top>100</top>
			<width>30</width>
			<height>70</height>
		</block>
		<block type="leftBottom">
			<left>0</left>
			<top>100</top>
			<width>70</width>
			<height>70</height>
		</block>
		<block type="left">
			<left>0</left>
			<top>70</top>
			<width>70</width>
			<height>30</height>
		</block>
	</params>
</Frame>

================================================
FILE: FotorSDKDemo/.svn/pristine/50/503d1f813c4b3f792fefcfe3693e3482ea2dfd77.svn-base
================================================
<Effect name="Night" type="Scenes" id="162">
    <Allocation name="tableTexture"/>
	
    <BaseFilter name="Curve">
        <tableTexture>tableTexture</tableTexture>
        <params>
            <mode>texturing</mode>
            <R>(0, 4)(39, 103)(134, 223)(242, 255)</R>
            <G>(0, 3)(31, 85)(68, 155)(131, 255)(219, 255)</G>
            <B>(0, 3)(42, 110)(114, 207)(255, 255)</B>
        </params>
    </BaseFilter>
    
	<BaseFilter name="TableTexture">
		<src>SRC</src>
		<dst>DST</dst>
		<tableTexture>tableTexture</tableTexture>
	</BaseFilter>
</Effect>

================================================
FILE: FotorSDKDemo/.svn/pristine/51/51bbccc63169d80f42b31b3562188756e7faf856.svn-base
================================================
<Effect name="Portrait" type="Scenes" id="173">
    <Allocation name="tableTexture"/>
	
    <BaseFilter name="Curve">
        <tableTexture>tableTexture</tableTexture>
        <params>
            <mode>texturing</mode>
            <R>(9, 0)(49, 62)(124, 155)(218, 255)</R>
            <G>(10, 0)(30, 33)(137, 169)(223, 255)</G>
            <B>(10, 0)(37, 45)(96, 122)(150, 182)(221, 255)</B>
        </params>
    </BaseFilter>
    
	<BaseFilter name="TableTexture">
		<src>SRC</src>
		<dst>DST</dst>
		<tableTexture>tableTexture</tableTexture>
	</BaseFilter>
</Effect>

================================================
FILE: FotorSDKDemo/.svn/pristine/59/593c2912e1d6e6037ba4ece31b487feb1df3f601.svn-base
================================================
<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">FotorSDKDemo</string>
    <string name="action_settings">Settings</string>
    <string name="hello_world">Hello world!</string>
    <string name="photo_editor">Photo Editor</string>
    <string name="photo_editor_select_image">Select an image</string>
    <string name="photo_editor_process">Edit sample image</string>

</resources>

================================================
FILE: FotorSDKDemo/.svn/pristine/60/60179bf9db929e9c2394ab9becc01b3dd3e9bed7.svn-base
================================================
<Effect name="Pittsburgh" type="Analog" id="11">
	<Allocation name="tableTexture"/>
	
	<BaseFilter name="Curve">
        <tableTexture>tableTexture</tableTexture>
        <params>
            <mode>texturing</mode>
            <R>(48, 56)(82, 129)(130, 206)(214, 255)</R>
            <G>(7, 37)(64, 111)(140, 190)(232, 220)</G>
            <B>(2, 97)(114, 153)(229, 172)</B>
        </params>
    </BaseFilter>
	
	<BaseFilter name="TableTexture">
		<src>SRC</src>
		<dst>DST</dst>
		<tableTexture>tableTexture</tableTexture>
	</BaseFilter>
</Effect>

================================================
FILE: FotorSDKDemo/.svn/pristine/60/601d0f18449ea3e367c25c0633849c1a5cf4a39c.svn-base
================================================
<Effect name="Sunset" type="Scenes" id="164">
    <Allocation name="tableTexture" />
	
    <BaseFilter name="Curve">
        <tableTexture>tableTexture</tableTexture>
        <params>
            <mode>texturing</mode>
            <R>(33, 0)(70, 32)(146, 143)(185, 204)(255, 255)</R>
            <G>(22, 0)(103, 71)(189, 219)(255, 252)</G>
            <B>(10, 0)(54, 29)(93, 66)(205, 220)(255, 255)</B>
        </params>
    </BaseFilter>
    
	<BaseFilter name="TableTexture">
		<src>SRC</src>
		<dst>DST</dst>
		<tableTexture>tableTexture</tableTexture>
	</BaseFilter>
</Effect>

================================================
FILE: FotorSDKDemo/.svn/pristine/61/612b00017064ed21957aa415e9840fb677afae93.svn-base
================================================
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:baselineAligned="true"
    android:gravity="center_horizontal"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="@dimen/title_background_height"
        android:background="@color/title_background"
        android:gravity="center" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/photo_editor"
            android:textSize="@dimen/title_text_size" />
    </LinearLayout>

    <FrameLayout
        android:id="@+id/image_container"
        android:layout_width="match_parent"
        android:layout_height="0dip"
        android:layout_weight="1"
        android:background="@android:color/background_dark"
        android:gravity="center"
        android:padding="5dp" >

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:src="@drawable/photo_editor_nophotos" />

        <ImageView
            android:id="@+id/image"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:scaleType="centerInside" />
    </FrameLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="@dimen/bottom_background_height"
        android:background="@color/title_background"
        android:gravity="center"
        android:orientation="horizontal"
        android:padding="0dip" >

        <Button
            android:id="@+id/button_gallery"
            android:layout_width="0dip"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@drawable/photo_editor_button_background"
            android:text="@string/photo_editor_select_image"
            android:textColor="@color/photo_editor_button_text_color"
            android:textSize="@dimen/bottom_button_text_size" >
        </Button>

        <View
            android:layout_width="1dip"
            android:layout_height="match_parent"
            android:background="#CC000000" />

        <Button
            android:id="@+id/button2"
            android:layout_width="0dip"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@drawable/photo_editor_button_background"
            android:enabled="false"
            android:text="@string/photo_editor_process"
            android:textColor="@color/photo_editor_button_text_color"
            android:textSize="@dimen/bottom_button_text_size" >
        </Button>
    </LinearLayout>

</LinearLayout>

================================================
FILE: FotorSDKDemo/.svn/pristine/62/62791a9f1067cdb03c5d1028ae0891b663242ef6.svn-base
================================================
<Effect name="GlowGrayscale" type="B/W" id="28">
    <BaseFilter name="Level">
        <src>SRC</src>
        <dst>TMP</dst>
        <params>
            <type>GetScale</type>
            <dark>0.01</dark>
            <light>0.15</light>
            <saturation>0.0</saturation>
        </params>
    </BaseFilter>
    
    <BaseFilter name="Vignette">
        <src>TMP</src>
        <dst>DST</dst>
      	<params>
      	    <mode>quadric</mode>
      	    <vignetteStart>0.0</vignetteStart>
      	    <vignetteRange>0.8</vignetteRange>
      	</params>
    </BaseFilter>
</Effect>

================================================
FILE: FotorSDKDemo/.svn/pristine/63/6367919ce43bfe92d5479523fec0a5680822c1ca.svn-base
================================================
package com.example.fotorsdkdemo;

import java.io.File;

import com.everimaging.fotorsdk.FotorConstants;
import com.everimaging.fotorsdk.FotorSDKActivity;
import com.everimaging.fotorsdk.FotorSDKVersion;
import com.everimaging.fotorsdk.FotorUtils;
import com.everimaging.fotorsdk.provider.FotorContentProvider;
import com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns;
import com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns.Session;
import com.everimaging.fotorsdk.utils.BitmapDecodeUtils;
import com.everimaging.fotorsdk.utils.Utils;
import com.everimaging.fotorsdk.engine.FotorHDFilter;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnCancelListener;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.media.MediaScannerConnection;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore.Images;
import android.provider.MediaStore.Images.ImageColumns;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

/**
 * Sample main activity
 * 
 * @description
 * 
 * @author <a href="mailto:zhangjiajun@everimaging.com">John.Zhang</a>
 * @version 1.0
 * @create Apr 12, 2014 3:06:39 PM
 * @update Apr 12, 2014 3:06:39 PM
 */
public class MainActivity extends Activity {

	private static final int ACTION_REQUEST_FEATURE = 2;

	private static final int ACTION_REQUEST_GALLERY = 3;

	public static final String LOG_TAG = "fotorsdk_demo";

	/** Folder name on the sdcard where the images will be saved **/

	private static final String FOLDER_NAME = "FotorSDK";

	/** Edit sample button */
	Button mEditButton;
	/** Call gallery button */
	Button mGalleryButton;
	/** Display image view */
	ImageView mImage;
	/** The path for output file */
	Uri mOutputFilePath;

	/** Image uri for image editor */
	Uri mImageUri;
	/** Display version label for DEBUG */
	private TextView mSDKVersionLabel;

	/** The sample image uri. */
	private Uri mSampleUri;

	private File mGalleryFolder;

	/** session id for the hi-res post processing */
	private String mSessionId;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		Log.i(LOG_TAG, "onCreate");
		super.onCreate(savedInstanceState);

		setContentView(R.layout.activity_main);

		mEditButton.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(View v) {
				// if (mImageUri != null) {
				// startFeature(mImageUri);
				// }
				if (mSampleUri != null) {
					startFeature(mSampleUri);
				}
			}
		});

		mGalleryButton.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(View v) {
				pickFromGallery();
			}
		});

		mGalleryFolder = createFolders();

		// add sample image
		mSampleUri = Uri.parse("file:///android_asset/sample.jpg");
		loadAsync(mSampleUri);

		if (BuildConfig.DEBUG) {
			mSDKVersionLabel.setText("V" + FotorSDKVersion.FOTOR_SDK_VERSION);
		}

	}

	/**
	 * Start the activity to pick an image from the user gallery
	 */
	private void pickFromGallery() {
		Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
		intent.setType("image/*");

		Intent chooser = Intent.createChooser(intent, "Choose a Picture");
		startActivityForResult(chooser, ACTION_REQUEST_GALLERY);

	}

	@Override
	protected void onResume() {
		Log.i(LOG_TAG, "onResume");
		super.onResume();

		if (getIntent() != null) {
			handleIntent(getIntent());
			setIntent(new Intent());
		}
	}

	/**
	 * Handle the incoming {@link Intent}
	 */
	private void handleIntent(Intent intent) {

		String action = intent.getAction();

		if (null != action) {

			if (Intent.ACTION_SEND.equals(action)) {

				Bundle extras = intent.getExtras();
				if (extras != null && extras.containsKey(Intent.EXTRA_STREAM)) {
					Uri uri = (Uri) extras.get(Intent.EXTRA_STREAM);
					loadAsync(uri);
				}
			} else if (Intent.ACTION_VIEW.equals(action)) {
				Uri data = intent.getData();
				Log.d(LOG_TAG, "data: " + data);
				loadAsync(data);
			}
		}
	}

	/**
	 * Load the incoming Image
	 * 
	 * @param uri
	 */
	private void loadAsync(final Uri uri) {
		Log.i(LOG_TAG, "loadAsync: " + uri);

		Drawable toRecycle = mImage.getDrawable();
		if (toRecycle != null && toRecycle instanceof BitmapDrawable) {
			if (((BitmapDrawable) mImage.getDrawable()).getBitmap() != null)
				((BitmapDrawable) mImage.getDrawable()).getBitmap().recycle();
		}
		mImage.setImageDrawable(null);
		mImageUri = null;

		DownloadAsync task = new DownloadAsync();
		task.execute(uri);
	}

	@Override
	protected void onDestroy() {
		Log.i(LOG_TAG, "onDestroy");
		super.onDestroy();
		mOutputFilePath = null;
	}

	@Override
	public void onContentChanged() {
		super.onContentChanged();

		System.out.println("context:" + this.getPackageName());

		mEditButton = (Button) findViewById(R.id.button2);

		mGalleryButton = (Button) findViewById(R.id.button_gallery);

		mImage = (ImageView) findViewById(R.id.image);

		mSDKVersionLabel = (TextView) findViewById(R.id.fotor_sdk_version_label);

	}

	@Override
	/**
	 * This method is called when feather has completed ( ie. user clicked on "done" or just exit the activity without saving ). <br />
	 * If user clicked the "done" button you'll receive RESULT_OK as resultCode, RESULT_CANCELED otherwise.
	 * 
	 * @param requestCode
	 * 	- it is the code passed with startActivityForResult
	 * @param resultCode
	 * 	- result code of the activity launched ( it can be RESULT_OK or RESULT_CANCELED )
	 * @param data
	 * 	- the result data
	 */
	public void onActivityResult(int requestCode, int resultCode, Intent data) {
		if (resultCode == RESULT_OK) {
			switch (requestCode) {
			case ACTION_REQUEST_FEATURE: {

				Uri uri = data.getData();
				Bitmap bitmap = BitmapDecodeUtils.decode(this, uri, 0, 0);
				setImageURI(uri, bitmap);
				new ProcessHDTask(this).execute();
			}
				break;
			case ACTION_REQUEST_GALLERY: {
				Uri uri = data.getData();
				loadAsync(uri);
				startFeature(uri);
			}
				break;
			}

		} else if (resultCode == RESULT_CANCELED) {
			switch (requestCode) {
			case ACTION_REQUEST_FEATURE:
				if (mSessionId != null)
					deleteSession(mSessionId);
				break;
			}
		}
	}

	private String onSaveCompletion() {

		Uri sessionUri = SessionColumns.getContentUri(this, mSessionId);

		Cursor cursor = getContentResolver().query(sessionUri, null, null,
				null, null);

		Session session = Session.create(cursor);

		if (session != null) {
			FotorHDFilter fotorHDFilter = new FotorHDFilter(this, session);

			fotorHDFilter.loadImage();

			fotorHDFilter.executeFilter();

			String dstPath = Utils.getSDPath() + "/testOriginal.jpg";

			fotorHDFilter.save(dstPath);

			fotorHDFilter.dispose();
			deleteSession(mSessionId);

			return dstPath;
		}
		return null;

	}

	class ProcessHDTask extends AsyncTask<Void, Void, String> {
		private ProgressDialog mDialog;

		private Context mContext;

		public ProcessHDTask(Context context) {
			this.mContext = context;
		}

		@Override
		protected void onPreExecute() {
			mDialog = ProgressDialog.show(mContext, "Process HD",
					"Please wait...");
		}

		@Override
		protected String doInBackground(Void... params) {
			return onSaveCompletion();
		}

		@Override
		protected void onPostExecute(String result) {
			mDialog.dismiss();

			String msg = "Process Error";
			if (result != null) {
				msg = result;
			}

			Toast.makeText(mContext, msg, Toast.LENGTH_LONG).show();
		}

	}

	/**
	 * Delete the session and all it's actions. We do not need it anymore.<br />
	 * Note that this is optional. All old sessions are automatically removed in
	 * Feather.
	 * 
	 * @param session_id
	 */
	private void deleteSession(final String session_id) {
		Uri uri = FotorContentProvider.SessionColumns.getContentUri(this,
				session_id);
		int count = getContentResolver().delete(uri, null, null);
		System.out.println("delete session count:" + count);
	}

	/**
	 * Given an Uri load the bitmap into the current ImageView and resize it to
	 * fit the image container size
	 * 
	 * @param uri
	 */
	@SuppressWarnings("deprecation")
	private boolean setImageURI(final Uri uri, final Bitmap bitmap) {

		Log.d(LOG_TAG,
				"image size: " + bitmap.getWidth() + "x" + bitmap.getHeight());
		mImage.setImageBitmap(bitmap);
		mImage.setBackgroundDrawable(null);

		mEditButton.setEnabled(true);
		mImageUri = uri;
		return true;
	}

	/**
	 * We need to notify the MediaScanner when a new file is created. In this
	 * way all the gallery applications will be notified too.
	 * 
	 * @param file
	 */
	private void updateMedia(String filepath) {
		Log.i(LOG_TAG, "updateMedia: " + filepath);
		MediaScannerConnection.scanFile(getApplicationContext(),
				new String[] { filepath }, null, null);
	}

	/**
	 * Pick a random image from the user gallery
	 * 
	 * @return
	 */
	@SuppressWarnings("unused")
	private Uri pickRandomImage() {
		Cursor c = getContentResolver().query(
				Images.Media.EXTERNAL_CONTENT_URI,
				new String[] { ImageColumns._ID, ImageColumns.DATA },
				ImageColumns.SIZE + ">?", new String[] { "90000" }, null);
		Uri uri = null;

		if (c != null) {
			int total = c.getCount();
			int position = (int) (Math.random() * total);
			Log.d(LOG_TAG, "pickRandomImage. total images: " + total
					+ ", position: " + position);
			if (total > 0) {
				if (c.moveToPosition(position)) {
					String data = c.getString(c
							.getColumnIndex(Images.ImageColumns.DATA));
					long id = c.getLong(c
							.getColumnIndex(Images.ImageColumns._ID));

					uri = Uri.parse(data);

					Log.d(LOG_TAG, uri.toString());
				}
			}
			c.close();
		}
		return uri;
	}

	/**
	 * Return a new image file. Name is based on the current time. Parent folder
	 * will be the one created with createFolders
	 * 
	 * @return
	 * @see #createFolders()
	 */
	private File generateOutputFileName() {
		if (mGalleryFolder != null) {
			if (mGalleryFolder.exists()) {
				File file = new File(mGalleryFolder, "Fotor_"
						+ System.currentTimeMillis() + ".jpg");
				return file;
			}
		}
		return null;
	}

	/**
	 * Once you've chosen an image you can start the feather activity
	 * 
	 * @param uri
	 */
	private void startFeature(Uri uri) {

		Log.d(LOG_TAG, "uri: " + uri);

		// first check the external storage availability
		if (!isExternalStorageAvilable()) {
			new AlertDialog.Builder(this)
					.setTitle(android.R.string.dialog_alert_title)
					.setMessage("External Storage is not avilable").show();
			return;
		}

		// create a temporary file where to store the resulting image
		File file = generateOutputFileName();

		if (null != file) {
			mOutputFilePath = Uri.fromFile(file);
		} else {
			new AlertDialog.Builder(this)
					.setTitle(android.R.string.dialog_alert_title)
					.setMessage("Failed to create a new File").show();
			return;
		}

		// Create the intent needed to start feather
		Intent newIntent = new Intent(this, FotorSDKActivity.class);

		// === INPUT IMAGE URI ===
		// Set the source image uri
		newIntent.setData(uri);

		// === OUTPUT ====
		// Optional
		// Pass the uri of the destination image file.
		// This will be the same uri you will receive in the onActivityResult

		System.out.println("mOutputFilePath->:" + mOutputFilePath);

		// newIntent.putExtra(FotorConstants.EXTRA_OUTPUT_PATH,
		// mOutputFilePath);

		// === OUTPUT QUALITY ===
		// Optional
		newIntent.putExtra(FotorConstants.EXTRA_OUTPUT_QUALITY, 90);

		// === MAX SIZE ===
		// Optional
		// you can pass the maximum allowed image size (for the preview),
		// otherwise feather will determine
		// the max size based on the device informations.
		// This will not affect the hi-res image size.
		// Here we're passing the current display size as max image size because
		// after
		// the execution of Aviary we're saving the HI-RES image so we don't
		// need a big
		// image for the preview
		final DisplayMetrics metrics = new DisplayMetrics();
		getWindowManager().getDefaultDisplay().getMetrics(metrics);

		int max_size = Math.max(metrics.widthPixels, metrics.heightPixels);

		max_size = (int) ((float) max_size / 1.4f);

		newIntent.putExtra(FotorConstants.EXTRA_MAX_PREVIEW_SIZE, max_size);

		mSessionId = FotorUtils.generateSessionId(this);

		getContentResolver().delete(
				SessionColumns.getContentUri(this, mSessionId), null, null);

		Log.d(LOG_TAG,
				"session: " + mSessionId + ", size: " + mSessionId.length());

		newIntent.putExtra(FotorConstants.EXTRA_FOTOR_SESSION_ID, mSessionId);

		// // === FEATURE LIST ===

		// newIntent.putExtra(FotorConstants.EXTRA_FEATURE_LIST, new String[] {
		// FotorFeaturesFactory.FeatureType.FX_EFFECTS.name(),
		// FotorFeaturesFactory.FeatureType.BORDER.name() });

		// Whether hide confirm dialog when user not saved the was changed
		// bitmap
		// This default value will show
		// newIntent.putExtra(FotorConstants.EXTRA_HIDE_DISCARD_ALERT, false);

		// Whether input image no changes,were made to the image.
		// newIntent.putExtra(FotorConstants.EXTRA_SAVE_ON_NO_CHANGES, true);

		// start feather
		startActivityForResult(newIntent, ACTION_REQUEST_FEATURE);
	}

	/**
	 * Check the external storage status
	 * 
	 * @return
	 */
	private boolean isExternalStorageAvilable() {
		String state = Environment.getExternalStorageState();
		if (Environment.MEDIA_MOUNTED.equals(state)) {
			return true;
		}
		return false;
	}

	/**
	 * Try to create the required folder on the sdcard where images will be
	 * saved to.
	 * 
	 * @return
	 */
	private File createFolders() {

		File baseDir;

		if (android.os.Build.VERSION.SDK_INT < 8) {
			baseDir = Environment.getExternalStorageDirectory();
		} else {
			baseDir = Environment
					.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
		}

		if (baseDir == null)
			return Environment.getExternalStorageDirectory();

		Log.d(LOG_TAG, "Pictures folder: " + baseDir.getAbsolutePath());
		File fotorSDKFolder = new File(baseDir, FOLDER_NAME);

		if (fotorSDKFolder.exists())
			return fotorSDKFolder;
		if (fotorSDKFolder.mkdirs())
			return fotorSDKFolder;

		return Environment.getExternalStorageDirectory();
	}

	class DownloadAsync extends AsyncTask<Uri, Void, Bitmap> implements
			OnCancelListener {

		ProgressDialog mProgress;
		private Uri mUri;

		@Override
		protected void onPreExecute() {
			super.onPreExecute();

			mProgress = new ProgressDialog(MainActivity.this);
			mProgress.setIndeterminate(true);
			mProgress.setCancelable(true);
			mProgress.setMessage("Loading image...");
			mProgress.setOnCancelListener(this);
			mProgress.show();
		}

		@Override
		protected Bitmap doInBackground(Uri... params) {
			mUri = params[0];

			DisplayMetrics displayMetrics = getResources().getDisplayMetrics();

			int maxW = (int) displayMetrics.widthPixels;
			int maxH = (int) displayMetrics.heightPixels;

			Bitmap bitmap = BitmapDecodeUtils.decode(getApplicationContext(),
					mUri, maxW, maxH);
			return bitmap;
		}

		@Override
		protected void onPostExecute(Bitmap result) {
			super.onPostExecute(result);

			if (mProgress.getWindow() != null) {
				mProgress.dismiss();
			}

			if (result != null) {
				setImageURI(mUri, result);
			} else {
				Toast.makeText(MainActivity.this,
						"Failed to load image " + mUri, Toast.LENGTH_SHORT)
						.show();
			}
		}

		@Override
		public void onCancel(DialogInterface dialog) {
			Log.i(LOG_TAG, "onProgressCancel");
			this.cancel(true);
		}

		@Override
		protected void onCancelled() {
			super.onCancelled();
			Log.i(LOG_TAG, "onCancelled");
		}

	}
}


================================================
FILE: FotorSDKDemo/.svn/pristine/66/6697aafe3ac76941b99f9c07c26a770eb1b266df.svn-base
================================================
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_focused="true" android:state_pressed="true" android:color="@color/bottom_button_background_pressed_color"/>
    <item android:state_pressed="true" android:color="@color/bottom_button_background_pressed_color"/>
    <item android:state_enabled="false" android:color="@color/bottom_button_background_disable_color"/>
    <item android:state_selected="true" android:color="@color/bottom_button_background_pressed_color"/>
    <item android:color="@color/bottom_button_background_default_color"/>

</selector>

================================================
FILE: FotorSDKDemo/.svn/pristine/68/68431f32b8d9d7f351e3590a2e8101e9b8d4c84f.svn-base
================================================
<Effect name="Fluorescent" type="Scenes" id="165">
    <Allocation name="tableTexture"/>
	
    <BaseFilter name="Curve">
        <tableTexture>tableTexture</tableTexture>
        <params>
            <mode>texturing</mode>
            <R>(4, 4)(38, 38)(146, 146)(201, 202)(255, 255)</R>
            <G>(0, 0)(80, 74)(192, 187)(255, 255)</G>
            <B>(0, 0)(58, 58)(183, 184)(255, 255)</B>
        </params>
    </BaseFilter>
    
	<BaseFilter name="TableTexture">
		<src>SRC</src>
		<dst>DST</dst>
		<tableTexture>tableTexture</tableTexture>
	</BaseFilter>
</Effect>

================================================
FILE: FotorSDKDemo/.svn/pristine/68/68bcd275b049a2bb1d5cd85ca80e93beee19f2f1.svn-base
================================================
<Effect name="Hot Fudge" type="Analog" id="78">
	<Allocation name="tableTexture1"/>
	<Allocation name="tableTexture2"/>
	<Allocation name="dst_a"/>
	<Allocation name="dst_b"/>
	<Allocation name="specialAlphaTexture">
		<file>vtg.png</file>
	</Allocation>
	
	<BaseFilter name="Curve">
        <tableTexture>tableTexture1</tableTexture>
        <params>
            <mode>texturing</mode>
            <R>(16, 25)(59, 77)(101, 143)(173, 211)(255, 237)</R>
            <G>(24, 7)(85, 73)(124, 149)(185, 207)(249, 229)</G>
            <B>(30, 7)(105, 78)(150, 148)(200, 193)(255, 204)</B>
        </params>
    </BaseFilter>
    
	<BaseFilter name="Curve">
        <tableTexture>tableTexture2</tableTexture>
        <params>
            <mode>texturing</mode>
            <R>(16, 40)(52, 111)(124, 194)(172, 224)(231, 252)</R>
            <G>(19, 5)(71, 84)(110, 145)(167, 212)(222, 250)</G>
            <B>(21, 4)(67, 50)(143, 167)(237, 228)</B>
        </params>
    </BaseFilter>

	<BaseFilter name="TableTexture">
		<src>SRC</src>
		<tableTexture>tableTexture1</tableTexture>
		<dst>dst_a</dst>
	</BaseFilter>

	<BaseFilter name="TableTexture">
		<src>SRC</src>
		<tableTexture>tableTexture2</tableTexture>
		<dst>dst_b</dst>
	</BaseFilter>

	<BaseFilter name="SpecialTrans">
		<src>dst_a</src>
		<dst>dst_b</dst>
		<tex>specialAlphaTexture</tex>
	</BaseFilter>

	<Out DST="dst_b"/>
</Effect>

================================================
FILE: FotorSDKDemo/.svn/pristine/70/7068771eeeda8df42bcb7520bc3f53472f83f0bb.svn-base
================================================
package com.example.fotorsdkdemo;

import java.io.File;

import com.everimaging.fotorsdk.FotorConstants;
import com.everimaging.fotorsdk.FotorSDKActivity;
import com.everimaging.fotorsdk.FotorUtils;
import com.everimaging.fotorsdk.provider.FotorContentProvider;
import com.everimaging.fotorsdk.provider.FotorContentProvider.ActionsColumns.Action;
import com.everimaging.fotorsdk.provider.FotorContentProvider.ActionsColumns;
import com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns;
import com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns.Session;
import com.everimaging.fotorsdk.utils.BitmapDecodeUtils;
import com.everimaging.fotorsdk.utils.Utils;

import java.util.ArrayList;
import java.util.List;

import com.everimaging.fotorsdk.engine.FotorHDFilter;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnCancelListener;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.media.MediaScannerConnection;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore.Images;
import android.provider.MediaStore.Images.ImageColumns;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.View;
import android.view.View.OnLongClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;

public class MainActivity extends Activity {

	private static final int ACTION_REQUEST_FEATURE = 2;

	private static final int ACTION_REQUEST_GALLERY = 3;

	private static final int EXTERNAL_STORAGE_UNAVAILABLE = 1;

	public static final String LOG_TAG = "fotorsdk_demo";

	/** Folder name on the sdcard where the images will be saved **/

	private static final String FOLDER_NAME = "FotorSDK";

	Button mEditButton;
	Button mGalleryButton;
	ImageView mImage;
	String mOutputFilePath;
	Uri mImageUri;

	private Uri mSampleUri;

	private File mGalleryFolder;

	/** session id for the hi-res post processing */
	private String mSessionId;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		Log.i(LOG_TAG, "onCreate");
		super.onCreate(savedInstanceState);

		setContentView(R.layout.activity_main);

		mEditButton.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(View v) {
				if (mImageUri != null) {
					startFeature(mImageUri);
				}
			}
		});

		mGalleryButton.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(View v) {
				pickFromGallery();
			}
		});

		mGalleryFolder = createFolders();

		// add sample image
		mSampleUri = Uri.parse("file:///android_asset/sample.jpg");
		loadAsync(mSampleUri);
	}

	/**
	 * Start the activity to pick an image from the user gallery
	 */
	private void pickFromGallery() {
		Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
		intent.setType("image/*");

		Intent chooser = Intent.createChooser(intent, "Choose a Picture");
		startActivityForResult(chooser, ACTION_REQUEST_GALLERY);
	}

	@Override
	protected void onResume() {
		Log.i(LOG_TAG, "onResume");
		super.onResume();

		if (getIntent() != null) {
			handleIntent(getIntent());
			setIntent(new Intent());
		}
	}

	/**
	 * Handle the incoming {@link Intent}
	 */
	private void handleIntent(Intent intent) {

		String action = intent.getAction();

		if (null != action) {

			if (Intent.ACTION_SEND.equals(action)) {

				Bundle extras = intent.getExtras();
				if (extras != null && extras.containsKey(Intent.EXTRA_STREAM)) {
					Uri uri = (Uri) extras.get(Intent.EXTRA_STREAM);
					loadAsync(uri);
				}
			} else if (Intent.ACTION_VIEW.equals(action)) {
				Uri data = intent.getData();
				Log.d(LOG_TAG, "data: " + data);
				loadAsync(data);
			}
		}
	}

	/**
	 * Load the incoming Image
	 * 
	 * @param uri
	 */
	private void loadAsync(final Uri uri) {
		Log.i(LOG_TAG, "loadAsync: " + uri);

		Drawable toRecycle = mImage.getDrawable();
		if (toRecycle != null && toRecycle instanceof BitmapDrawable) {
			if (((BitmapDrawable) mImage.getDrawable()).getBitmap() != null)
				((BitmapDrawable) mImage.getDrawable()).getBitmap().recycle();
		}
		mImage.setImageDrawable(null);
		mImageUri = null;

		DownloadAsync task = new DownloadAsync();
		task.execute(uri);
	}

	@Override
	protected void onDestroy() {
		Log.i(LOG_TAG, "onDestroy");
		super.onDestroy();
		mOutputFilePath = null;
	}

	@Override
	public void onContentChanged() {
		super.onContentChanged();

		System.out.println("context:" + this.getPackageName());

		mEditButton = (Button) findViewById(R.id.button2);

		mGalleryButton = (Button) findViewById(R.id.button_gallery);

		mImage = (ImageView) findViewById(R.id.image);

	}

	@Override
	/**
	 * This method is called when feather has completed ( ie. user clicked on "done" or just exit the activity without saving ). <br />
	 * If user clicked the "done" button you'll receive RESULT_OK as resultCode, RESULT_CANCELED otherwise.
	 * 
	 * @param requestCode
	 * 	- it is the code passed with startActivityForResult
	 * @param resultCode
	 * 	- result code of the activity launched ( it can be RESULT_OK or RESULT_CANCELED )
	 * @param data
	 * 	- the result data
	 */
	public void onActivityResult(int requestCode, int resultCode, Intent data) {
		if (resultCode == RESULT_OK) {
			switch (requestCode) {
			case ACTION_REQUEST_FEATURE: {

				Uri uri = Uri.parse(mOutputFilePath);
				Bitmap bitmap = BitmapDecodeUtils.decodeFile(mOutputFilePath);
				setImageURI(uri, bitmap);
				new ProcessHDTask(this).execute();
			}
				break;
			case ACTION_REQUEST_GALLERY: {
				Uri uri = data.getData();
				loadAsync(uri);
				startFeature(uri);
			}
				break;
			}

		} else if (resultCode == RESULT_CANCELED) {
			switch (requestCode) {
			case ACTION_REQUEST_FEATURE:
				if (mSessionId != null)
					deleteSession(mSessionId);
				break;
			}
		}
	}

	private String onSaveCompletion() {

		Cursor cursor = getContentResolver().query(
				ActionsColumns.getContentUri(this, mSessionId), null, null,
				null, null);
		if (cursor != null && cursor.getCount() > 0) {
			List<Action> actions = new ArrayList<FotorContentProvider.ActionsColumns.Action>();
			while (cursor.moveToNext()) {
				Action action = Action.create(cursor);
				System.out.println("action:" + action);
				actions.add(action);
			}
			cursor.close();
		} else {
			System.out.println("cursor doesn't have datas.");
		}

		Cursor cursor2 = getContentResolver().query(
				SessionColumns.getContentUri(this, mSessionId), null, null,
				null, null);

		Session session = Session.create(cursor2);

		if (session != null) {
			FotorHDFilter fotorHDFilter = new FotorHDFilter(this, mSessionId);

			fotorHDFilter.loadImage(session.file_name);

			fotorHDFilter.executeFilter();

			String dstPath = Utils.getSDPath() + "/testOriginal.jpg";

			fotorHDFilter.save(dstPath);

			fotorHDFilter.dispose();
			deleteSession(mSessionId);

			return dstPath;
		}
		return null;

	}

	class ProcessHDTask extends AsyncTask<Void, Void, String> {
		private ProgressDialog mDialog;

		private Context mContext;

		public ProcessHDTask(Context context) {
			this.mContext = context;
		}

		@Override
		protected void onPreExecute() {
			mDialog = ProgressDialog.show(mContext, "Process HD",
					"Please wait...");
		}

		@Override
		protected String doInBackground(Void... params) {
			return onSaveCompletion();
		}

		@Override
		protected void onPostExecute(String result) {
			mDialog.dismiss();

			String msg = "Process Error";
			if (result != null) {
				msg = result;
			}

			Toast.makeText(mContext, msg, Toast.LENGTH_LONG).show();
		}

	}

	/**
	 * Delete the session and all it's actions. We do not need it anymore.<br />
	 * Note that this is optional. All old sessions are automatically removed in
	 * Feather.
	 * 
	 * @param session_id
	 */
	private void deleteSession(final String session_id) {
		Uri uri = FotorContentProvider.SessionColumns.getContentUri(this,
				session_id);
		int count = getContentResolver().delete(uri, null, null);
		System.out.println("delete session count:" + count);
	}

	/**
	 * Given an Uri load the bitmap into the current ImageView and resize it to
	 * fit the image container size
	 * 
	 * @param uri
	 */
	@SuppressWarnings("deprecation")
	private boolean setImageURI(final Uri uri, final Bitmap bitmap) {

		Log.d(LOG_TAG,
				"image size: " + bitmap.getWidth() + "x" + bitmap.getHeight());
		mImage.setImageBitmap(bitmap);
		mImage.setBackgroundDrawable(null);

		mEditButton.setEnabled(true);
		mImageUri = uri;
		return true;
	}

	/**
	 * We need to notify the MediaScanner when a new file is created. In this
	 * way all the gallery applications will be notified too.
	 * 
	 * @param file
	 */
	private void updateMedia(String filepath) {
		Log.i(LOG_TAG, "updateMedia: " + filepath);
		MediaScannerConnection.scanFile(getApplicationContext(),
				new String[] { filepath }, null, null);
	}

	/**
	 * Pick a random image from the user gallery
	 * 
	 * @return
	 */
	@SuppressWarnings("unused")
	private Uri pickRandomImage() {
		Cursor c = getContentResolver().query(
				Images.Media.EXTERNAL_CONTENT_URI,
				new String[] { ImageColumns._ID, ImageColumns.DATA },
				ImageColumns.SIZE + ">?", new String[] { "90000" }, null);
		Uri uri = null;

		if (c != null) {
			int total = c.getCount();
			int position = (int) (Math.random() * total);
			Log.d(LOG_TAG, "pickRandomImage. total images: " + total
					+ ", position: " + position);
			if (total > 0) {
				if (c.moveToPosition(position)) {
					String data = c.getString(c
							.getColumnIndex(Images.ImageColumns.DATA));
					long id = c.getLong(c
							.getColumnIndex(Images.ImageColumns._ID));

					uri = Uri.parse(data);

					Log.d(LOG_TAG, uri.toString());
				}
			}
			c.close();
		}
		return uri;
	}

	/**
	 * Return a new image file. Name is based on the current time. Parent folder
	 * will be the one created with createFolders
	 * 
	 * @return
	 * @see #createFolders()
	 */
	private File generateOutputFileName() {
		if (mGalleryFolder != null) {
			if (mGalleryFolder.exists()) {
				File file = new File(mGalleryFolder, "Fotor_"
						+ System.currentTimeMillis() + ".jpg");
				return file;
			}
		}
		return null;
	}

	/**
	 * Once you've chosen an image you can start the feather activity
	 * 
	 * @param uri
	 */
	@SuppressWarnings("deprecation")
	private void startFeature(Uri uri) {

		Log.d(LOG_TAG, "uri: " + uri);

		// first check the external storage availability
		if (!isExternalStorageAvilable()) {
			showDialog(EXTERNAL_STORAGE_UNAVAILABLE);
			return;
		}

		// create a temporary file where to store the resulting image
		File file = generateOutputFileName();

		if (null != file) {
			mOutputFilePath = file.getAbsolutePath();
		} else {
			new AlertDialog.Builder(this)
					.setTitle(android.R.string.dialog_alert_title)
					.setMessage("Failed to create a new File").show();
			return;
		}

		// Create the intent needed to start feather
		Intent newIntent = new Intent(this, FotorSDKActivity.class);

		// === INPUT IMAGE URI ===
		// Set the source image uri
		newIntent.setData(uri);

		// === OUTPUT ====
		// Optional
		// Pass the uri of the destination image file.
		// This will be the same uri you will receive in the onActivityResult

		System.out.println("mOutputFilePath->:" + mOutputFilePath);

		newIntent.putExtra(FotorConstants.EXTRA_OUTPUT_PATH, mOutputFilePath);

		// === OUTPUT QUALITY ===
		// Optional
		newIntent.putExtra(FotorConstants.EXTRA_OUTPUT_QUALITY, 90);

		// === MAX SIZE ===
		// Optional
		// you can pass the maximum allowed image size (for the preview),
		// otherwise feather will determine
		// the max size based on the device informations.
		// This will not affect the hi-res image size.
		// Here we're passing the current display size as max image size because
		// after
		// the execution of Aviary we're saving the HI-RES image so we don't
		// need a big
		// image for the preview
		final DisplayMetrics metrics = new DisplayMetrics();
		getWindowManager().getDefaultDisplay().getMetrics(metrics);

		int max_size = Math.max(metrics.widthPixels, metrics.heightPixels);

		max_size = (int) ((float) max_size / 1.4f);

		newIntent.putExtra(FotorConstants.EXTRA_MAX_PREVIEW_SIZE, max_size);

		mSessionId = FotorUtils.generateSessionId(this);

		getContentResolver().delete(
				SessionColumns.getContentUri(this, mSessionId), null, null);

		Log.d(LOG_TAG,
				"session: " + mSessionId + ", size: " + mSessionId.length());

		newIntent.putExtra(FotorConstants.EXTRA_FOTOR_SESSION_ID, mSessionId);

		// === FEATURE LIST ===

		// newIntent.putExtra(FotorConstants.EXTRA_FEATURE_LIST, new String[] {
		// FotorFeaturesFactory.FeatureType.FX_EFFECTS.name(),
		// FotorFeaturesFactory.FeatureType.BORDER.name() });

		// start feather
		startActivityForResult(newIntent, ACTION_REQUEST_FEATURE);
	}

	/**
	 * Check the external storage status
	 * 
	 * @return
	 */
	private boolean isExternalStorageAvilable() {
		String state = Environment.getExternalStorageState();
		if (Environment.MEDIA_MOUNTED.equals(state)) {
			return true;
		}
		return false;
	}

	/**
	 * Try to create the required folder on the sdcard where images will be
	 * saved to.
	 * 
	 * @return
	 */
	private File createFolders() {

		File baseDir;

		if (android.os.Build.VERSION.SDK_INT < 8) {
			baseDir = Environment.getExternalStorageDirectory();
		} else {
			baseDir = Environment
					.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
		}

		if (baseDir == null)
			return Environment.getExternalStorageDirectory();

		Log.d(LOG_TAG, "Pictures folder: " + baseDir.getAbsolutePath());
		File fotorSDKFolder = new File(baseDir, FOLDER_NAME);

		if (fotorSDKFolder.exists())
			return fotorSDKFolder;
		if (fotorSDKFolder.mkdirs())
			return fotorSDKFolder;

		return Environment.getExternalStorageDirectory();
	}

	class DownloadAsync extends AsyncTask<Uri, Void, Bitmap> implements
			OnCancelListener {

		ProgressDialog mProgress;
		private Uri mUri;

		@Override
		protected void onPreExecute() {
			super.onPreExecute();

			mProgress = new ProgressDialog(MainActivity.this);
			mProgress.setIndeterminate(true);
			mProgress.setCancelable(true);
			mProgress.setMessage("Loading image...");
			mProgress.setOnCancelListener(this);
			mProgress.show();
		}

		@Override
		protected Bitmap doInBackground(Uri... params) {
			mUri = params[0];

			DisplayMetrics displayMetrics = getResources().getDisplayMetrics();

			int maxW = (int) (displayMetrics.widthPixels / 1.5);
			int maxH = (int) (displayMetrics.heightPixels / 1.5);

			Bitmap bitmap = BitmapDecodeUtils.decode(getApplicationContext(),
					mUri, maxW, maxH);
			return bitmap;
		}

		@Override
		protected void onPostExecute(Bitmap result) {
			super.onPostExecute(result);

			if (mProgress.getWindow() != null) {
				mProgress.dismiss();
			}

			if (result != null) {
				setImageURI(mUri, result);
			} else {
				Toast.makeText(MainActivity.this,
						"Failed to load image " + mUri, Toast.LENGTH_SHORT)
						.show();
			}
		}

		@Override
		public void onCancel(DialogInterface dialog) {
			Log.i(LOG_TAG, "onProgressCancel");
			this.cancel(true);
		}

		@Override
		protected void onCancelled() {
			super.onCancelled();
			Log.i(LOG_TAG, "onCancelled");
		}

	}
}


================================================
FILE: FotorSDKDemo/.svn/pristine/73/73aeadd07a4bf19a75548d38c69e16ad772cc336.svn-base
================================================
<Effect name="Sunset" type="Vintage" id="6">
    <Allocation name="tableTexture"/>
    
    <BaseFilter name="Curve">
        <tableTexture>tableTexture</tableTexture>
        <params>
            <mode>texturing</mode>
            <R>(0, 0)(69, 63)(105, 138)(151, 222)(255, 255)</R>
            <G>(0, 0)(67, 51)(135, 191)(255, 255)</G>
            <B>(0, 0)(86, 76)(150, 212)(255, 255)</B>
        </params>
    </BaseFilter>
    
    <BaseFilter name="TableTexture">
        <src>SRC</src>
        <dst>DST</dst>
        <tableTexture>tableTexture</tableTexture>
    </BaseFilter>
</Effect>

================================================
FILE: FotorSDKDemo/.svn/pristine/73/73b168548249c4b9413f7457a66ba5b03df649bd.svn-base
================================================
<Effect name="Virginia" type="Vintage" id="109">
    <Allocation name="level"/>
    <Allocation name="tableTexture"/>
    
    <BaseFilter name="Level">
        <src>SRC</src>
        <dst>level</dst>
        <params>
            <type>GetScale</type>
            <dark>0.01</dark>
            <light>0.01</light>
            <saturation>1.3</saturation>
        </params>
    </BaseFilter>
    
    <BaseFilter name="Vignette">
        <src>level</src>
        <dst>TMP</dst>
        <params>
            <mode>quadric</mode>
            <vignetteStart>0.0</vignetteStart>
            <vignetteRange>1.0</vignetteRange>
        </params>
    </BaseFilter>
    
    <BaseFilter name="Curve">
       <tableTexture>tableTexture</tableTexture>
       <params>
           <mode>texturing</mode>
           <R>(0, 31)(106, 121)(255, 196)</R>
           <G>(0, 11)(64, 95)(132, 140)(255, 229)</G>
           <B>(0, 0)(157, 156)(255, 210)</B>
       </params>
   </BaseFilter>
    
    <BaseFilter name="TableTexture">
        <src>TMP</src>
        <dst>DST</dst>
        <tableTexture>tableTexture</tableTexture>
    </BaseFilter>
</Effect>

================================================
FILE: FotorSDKDemo/.svn/pristine/73/73d74fd28b870be544e505b67990814bf8cfeeeb.svn-base
================================================
package com.example.fotorsdkdemo;

import java.io.File;

import com.everimaging.fotorsdk.FotorConstants;
import com.everimaging.fotorsdk.FotorSDKActivity;
import com.everimaging.fotorsdk.FotorSDKVersion;
import com.everimaging.fotorsdk.FotorUtils;
import com.everimaging.fotorsdk.provider.FotorContentProvider;
import com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns;
import com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns.Session;
import com.everimaging.fotorsdk.utils.BitmapDecodeUtils;
import com.everimaging.fotorsdk.utils.Utils;
import com.everimaging.fotorsdk.engine.FotorHDFilter;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnCancelListener;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.media.MediaScannerConnection;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore.Images;
import android.provider.MediaStore.Images.ImageColumns;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

/**
 * Sample main activity
 * 
 * @description
 * 
 * @author <a href="mailto:zhangjiajun@everimaging.com">John.Zhang</a>
 * @version 1.0
 * @create Apr 12, 2014 3:06:39 PM
 * @update Apr 12, 2014 3:06:39 PM
 */
public class MainActivity extends Activity {

	private static final int ACTION_REQUEST_FEATURE = 2;

	private static final int ACTION_REQUEST_GALLERY = 3;

	public static final String LOG_TAG = "fotorsdk_demo";

	/** Folder name on the sdcard where the images will be saved **/

	private static final String FOLDER_NAME = "FotorSDK";

	/** Edit sample button */
	Button mEditButton;
	/** Call gallery button */
	Button mGalleryButton;
	/** Display image view */
	ImageView mImage;
	/** The path for output file */
	Uri mOutputFilePath;

	/** Image uri for image editor */
	Uri mImageUri;
	/** Display version label for DEBUG */
	private TextView mSDKVersionLabel;

	/** The sample image uri. */
	private Uri mSampleUri;

	private File mGalleryFolder;

	/** session id for the hi-res post processing */
	private String mSessionId;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		Log.i(LOG_TAG, "onCreate");
		super.onCreate(savedInstanceState);

		setContentView(R.layout.activity_main);

		mEditButton.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(View v) {
//				if (mImageUri != null) {
//					startFeature(mImageUri);
//				}
				if (mSampleUri != null) {
					startFeature(mSampleUri);
				}
			}
		});

		mGalleryButton.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(View v) {
				pickFromGallery();
			}
		});

		mGalleryFolder = createFolders();

		// add sample image
		mSampleUri = Uri.parse("file:///android_asset/sample.jpg");
		loadAsync(mSampleUri);

		if (BuildConfig.DEBUG) {
			mSDKVersionLabel.setText("V" + FotorSDKVersion.FOTOR_SDK_VERSION);
		}

	}

	/**
	 * Start the activity to pick an image from the user gallery
	 */
	private void pickFromGallery() {
		Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
		intent.setType("image/*");

		Intent chooser = Intent.createChooser(intent, "Choose a Picture");
		startActivityForResult(chooser, ACTION_REQUEST_GALLERY);

	}

	@Override
	protected void onResume() {
		Log.i(LOG_TAG, "onResume");
		super.onResume();

		if (getIntent() != null) {
			handleIntent(getIntent());
			setIntent(new Intent());
		}
	}

	/**
	 * Handle the incoming {@link Intent}
	 */
	private void handleIntent(Intent intent) {

		String action = intent.getAction();

		if (null != action) {

			if (Intent.ACTION_SEND.equals(action)) {

				Bundle extras = intent.getExtras();
				if (extras != null && extras.containsKey(Intent.EXTRA_STREAM)) {
					Uri uri = (Uri) extras.get(Intent.EXTRA_STREAM);
					loadAsync(uri);
				}
			} else if (Intent.ACTION_VIEW.equals(action)) {
				Uri data = intent.getData();
				Log.d(LOG_TAG, "data: " + data);
				loadAsync(data);
			}
		}
	}

	/**
	 * Load the incoming Image
	 * 
	 * @param uri
	 */
	private void loadAsync(final Uri uri) {
		Log.i(LOG_TAG, "loadAsync: " + uri);

		Drawable toRecycle = mImage.getDrawable();
		if (toRecycle != null && toRecycle instanceof BitmapDrawable) {
			if (((BitmapDrawable) mImage.getDrawable()).getBitmap() != null)
				((BitmapDrawable) mImage.getDrawable()).getBitmap().recycle();
		}
		mImage.setImageDrawable(null);
		mImageUri = null;

		DownloadAsync task = new DownloadAsync();
		task.execute(uri);
	}

	@Override
	protected void onDestroy() {
		Log.i(LOG_TAG, "onDestroy");
		super.onDestroy();
		mOutputFilePath = null;
	}

	@Override
	public void onContentChanged() {
		super.onContentChanged();

		System.out.println("context:" + this.getPackageName());

		mEditButton = (Button) findViewById(R.id.button2);

		mGalleryButton = (Button) findViewById(R.id.button_gallery);

		mImage = (ImageView) findViewById(R.id.image);

		mSDKVersionLabel = (TextView) findViewById(R.id.fotor_sdk_version_label);

	}

	@Override
	/**
	 * This method is called when feather has completed ( ie. user clicked on "done" or just exit the activity without saving ). <br />
	 * If user clicked the "done" button you'll receive RESULT_OK as resultCode, RESULT_CANCELED otherwise.
	 * 
	 * @param requestCode
	 * 	- it is the code passed with startActivityForResult
	 * @param resultCode
	 * 	- result code of the activity launched ( it can be RESULT_OK or RESULT_CANCELED )
	 * @param data
	 * 	- the result data
	 */
	public void onActivityResult(int requestCode, int resultCode, Intent data) {
		if (resultCode == RESULT_OK) {
			switch (requestCode) {
			case ACTION_REQUEST_FEATURE: {

				Uri uri = data.getData();
				Bitmap bitmap = BitmapDecodeUtils.decode(this, uri, 0, 0);
				setImageURI(uri, bitmap);
				new ProcessHDTask(this).execute();
			}
				break;
			case ACTION_REQUEST_GALLERY: {
				Uri uri = data.getData();
				loadAsync(uri);
				startFeature(uri);
			}
				break;
			}

		} else if (resultCode == RESULT_CANCELED) {
			switch (requestCode) {
			case ACTION_REQUEST_FEATURE:
				if (mSessionId != null)
					deleteSession(mSessionId);
				break;
			}
		}
	}

	private String onSaveCompletion() {

		Uri sessionUri = SessionColumns.getContentUri(this, mSessionId);

		Cursor cursor = getContentResolver().query(sessionUri, null, null,
				null, null);

		Session session = Session.create(cursor);

		if (session != null) {
			FotorHDFilter fotorHDFilter = new FotorHDFilter(this, session);

			fotorHDFilter.loadImage();

			fotorHDFilter.executeFilter();

			String dstPath = Utils.getSDPath() + "/testOriginal.jpg";

			fotorHDFilter.save(dstPath);

			fotorHDFilter.dispose();
			deleteSession(mSessionId);

			return dstPath;
		}
		return null;

	}

	class ProcessHDTask extends AsyncTask<Void, Void, String> {
		private ProgressDialog mDialog;

		private Context mContext;

		public ProcessHDTask(Context context) {
			this.mContext = context;
		}

		@Override
		protected void onPreExecute() {
			mDialog = ProgressDialog.show(mContext, "Process HD",
					"Please wait...");
		}

		@Override
		protected String doInBackground(Void... params) {
			return onSaveCompletion();
		}

		@Override
		protected void onPostExecute(String result) {
			mDialog.dismiss();

			String msg = "Process Error";
			if (result != null) {
				msg = result;
			}

			Toast.makeText(mContext, msg, Toast.LENGTH_LONG).show();
		}

	}

	/**
	 * Delete the session and all it's actions. We do not need it anymore.<br />
	 * Note that this is optional. All old sessions are automatically removed in
	 * Feather.
	 * 
	 * @param session_id
	 */
	private void deleteSession(final String session_id) {
		Uri uri = FotorContentProvider.SessionColumns.getContentUri(this,
				session_id);
		int count = getContentResolver().delete(uri, null, null);
		System.out.println("delete session count:" + count);
	}

	/**
	 * Given an Uri load the bitmap into the current ImageView and resize it to
	 * fit the image container size
	 * 
	 * @param uri
	 */
	@SuppressWarnings("deprecation")
	private boolean setImageURI(final Uri uri, final Bitmap bitmap) {

		Log.d(LOG_TAG,
				"image size: " + bitmap.getWidth() + "x" + bitmap.getHeight());
		mImage.setImageBitmap(bitmap);
		mImage.setBackgroundDrawable(null);

		mEditButton.setEnabled(true);
		mImageUri = uri;
		return true;
	}

	/**
	 * We need to notify the MediaScanner when a new file is created. In this
	 * way all the gallery applications will be notified too.
	 * 
	 * @param file
	 */
	private void updateMedia(String filepath) {
		Log.i(LOG_TAG, "updateMedia: " + filepath);
		MediaScannerConnection.scanFile(getApplicationContext(),
				new String[] { filepath }, null, null);
	}

	/**
	 * Pick a random image from the user gallery
	 * 
	 * @return
	 */
	@SuppressWarnings("unused")
	private Uri pickRandomImage() {
		Cursor c = getContentResolver().query(
				Images.Media.EXTERNAL_CONTENT_URI,
				new String[] { ImageColumns._ID, ImageColumns.DATA },
				ImageColumns.SIZE + ">?", new String[] { "90000" }, null);
		Uri uri = null;

		if (c != null) {
			int total = c.getCount();
			int position = (int) (Math.random() * total);
			Log.d(LOG_TAG, "pickRandomImage. total images: " + total
					+ ", position: " + position);
			if (total > 0) {
				if (c.moveToPosition(position)) {
					String data = c.getString(c
							.getColumnIndex(Images.ImageColumns.DATA));
					long id = c.getLong(c
							.getColumnIndex(Images.ImageColumns._ID));

					uri = Uri.parse(data);

					Log.d(LOG_TAG, uri.toString());
				}
			}
			c.close();
		}
		return uri;
	}

	/**
	 * Return a new image file. Name is based on the current time. Parent folder
	 * will be the one created with createFolders
	 * 
	 * @return
	 * @see #createFolders()
	 */
	private File generateOutputFileName() {
		if (mGalleryFolder != null) {
			if (mGalleryFolder.exists()) {
				File file = new File(mGalleryFolder, "Fotor_"
						+ System.currentTimeMillis() + ".jpg");
				return file;
			}
		}
		return null;
	}

	/**
	 * Once you've chosen an image you can start the feather activity
	 * 
	 * @param uri
	 */
	private void startFeature(Uri uri) {

		Log.d(LOG_TAG, "uri: " + uri);

		// first check the external storage availability
		if (!isExternalStorageAvilable()) {
			new AlertDialog.Builder(this)
			.setTitle(android.R.string.dialog_alert_title)
			.setMessage("External Storage is not avilable").show();
			return;
		}

		// create a temporary file where to store the resulting image
		File file = generateOutputFileName();

		if (null != file) {
			mOutputFilePath = Uri.fromFile(file);
		} else {
			new AlertDialog.Builder(this)
					.setTitle(android.R.string.dialog_alert_title)
					.setMessage("Failed to create a new File").show();
			return;
		}

		// Create the intent needed to start feather
		Intent newIntent = new Intent(this, FotorSDKActivity.class);

		// === INPUT IMAGE URI ===
		// Set the source image uri
		newIntent.setData(uri);

		// === OUTPUT ====
		// Optional
		// Pass the uri of the destination image file.
		// This will be the same uri you will receive in the onActivityResult

		System.out.println("mOutputFilePath->:" + mOutputFilePath);

//		newIntent.putExtra(FotorConstants.EXTRA_OUTPUT_PATH, mOutputFilePath);

		// === OUTPUT QUALITY ===
		// Optional
		newIntent.putExtra(FotorConstants.EXTRA_OUTPUT_QUALITY, 90);

		// === MAX SIZE ===
		// Optional
		// you can pass the maximum allowed image size (for the preview),
		// otherwise feather will determine
		// the max size based on the device informations.
		// This will not affect the hi-res image size.
		// Here we're passing the current display size as max image size because
		// after
		// the execution of Aviary we're saving the HI-RES image so we don't
		// need a big
		// image for the preview
		final DisplayMetrics metrics = new DisplayMetrics();
		getWindowManager().getDefaultDisplay().getMetrics(metrics);

		int max_size = Math.max(metrics.widthPixels, metrics.heightPixels);

		max_size = (int) ((float) max_size / 1.4f);

		newIntent.putExtra(FotorConstants.EXTRA_MAX_PREVIEW_SIZE, max_size);

		mSessionId = FotorUtils.generateSessionId(this);

		getContentResolver().delete(
				SessionColumns.getContentUri(this, mSessionId), null, null);

		Log.d(LOG_TAG,
				"session: " + mSessionId + ", size: " + mSessionId.length());

		newIntent.putExtra(FotorConstants.EXTRA_FOTOR_SESSION_ID, mSessionId);

		// // === FEATURE LIST ===

		// newIntent.putExtra(FotorConstants.EXTRA_FEATURE_LIST, new String[] {
		// FotorFeaturesFactory.FeatureType.FX_EFFECTS.name(),
		// FotorFeaturesFactory.FeatureType.BORDER.name() });

		// Whether hide confirm dialog when user not saved the was changed bitmap
		// This default value will show
//		newIntent.putExtra(FotorConstants.EXTRA_HIDE_DISCARD_ALERT, false);
		
		// start feather
		startActivityForResult(newIntent, ACTION_REQUEST_FEATURE);
	}

	/**
	 * Check the external storage status
	 * 
	 * @return
	 */
	private boolean isExternalStorageAvilable() {
		String state = Environment.getExternalStorageState();
		if (Environment.MEDIA_MOUNTED.equals(state)) {
			return true;
		}
		return false;
	}

	/**
	 * Try to create the required folder on the sdcard where images will be
	 * saved to.
	 * 
	 * @return
	 */
	private File createFolders() {

		File baseDir;

		if (android.os.Build.VERSION.SDK_INT < 8) {
			baseDir = Environment.getExternalStorageDirectory();
		} else {
			baseDir = Environment
					.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
		}

		if (baseDir == null)
			return Environment.getExternalStorageDirectory();

		Log.d(LOG_TAG, "Pictures folder: " + baseDir.getAbsolutePath());
		File fotorSDKFolder = new File(baseDir, FOLDER_NAME);

		if (fotorSDKFolder.exists())
			return fotorSDKFolder;
		if (fotorSDKFolder.mkdirs())
			return fotorSDKFolder;

		return Environment.getExternalStorageDirectory();
	}

	class DownloadAsync extends AsyncTask<Uri, Void, Bitmap> implements
			OnCancelListener {

		ProgressDialog mProgress;
		private Uri mUri;

		@Override
		protected void onPreExecute() {
			super.onPreExecute();

			mProgress = new ProgressDialog(MainActivity.this);
			mProgress.setIndeterminate(true);
			mProgress.setCancelable(true);
			mProgress.setMessage("Loading image...");
			mProgress.setOnCancelListener(this);
			mProgress.show();
		}

		@Override
		protected Bitmap doInBackground(Uri... params) {
			mUri = params[0];

			DisplayMetrics displayMetrics = getResources().getDisplayMetrics();

			int maxW = (int) (displayMetrics.widthPixels / 1.5);
			int maxH = (int) (displayMetrics.heightPixels / 1.5);

			Bitmap bitmap = BitmapDecodeUtils.decode(getApplicationContext(),
					mUri, maxW, maxH);
			return bitmap;
		}

		@Override
		protected void onPostExecute(Bitmap result) {
			super.onPostExecute(result);

			if (mProgress.getWindow() != null) {
				mProgress.dismiss();
			}

			if (result != null) {
				setImageURI(mUri, result);
			} else {
				Toast.makeText(MainActivity.this,
						"Failed to load image " + mUri, Toast.LENGTH_SHORT)
						.show();
			}
		}

		@Override
		public void onCancel(DialogInterface dialog) {
			Log.i(LOG_TAG, "onProgressCancel");
			this.cancel(true);
		}

		@Override
		protected void onCancelled() {
			super.onCancelled();
			Log.i(LOG_TAG, "onCancelled");
		}

	}
}


================================================
FILE: FotorSDKDemo/.svn/pristine/75/7531f57ac71678e8bdde440906a3023f46284b44.svn-base
================================================
{
"borderItems":[
{"filename":"118S.xml","thumbThickness":0.14},
{"filename":"42M.xml","thumbThickness":0.19},
{"filename":"10M.xml","thumbThickness":0.139},
{"filename":"3M.xml","thumbThickness":0.105},
{"filename":"41M.xml","thumbThickness":0.11}]
,"packName":"Gallery"}


================================================
FILE: FotorSDKDemo/.svn/pristine/76/768764aaceba888bd473a3474c94fb987e6b6ab0.svn-base
================================================
<Effect name="Real-illusion" type="Analog" id="75">
	<Allocation name="tableTexture1"/>
	<Allocation name="tableTexture2"/>
	<Allocation name="dst_a"/>
	<Allocation name="dst_b"/>
	<Allocation name="specialAlphaTexture">
		<file>vtg.png</file>
	</Allocation>
	
	<BaseFilter name="Curve">
        <tableTexture>tableTexture1</tableTexture>
        <params>
            <mode>texturing</mode>
            <R>(71, 0)(112, 62)(157, 148)(255, 232)</R>
            <G>(83, 0)(138, 113)(172, 173)(255, 223)</G>
            <B>(16, 0)(255, 194)</B>
        </params>
    </BaseFilter>
    
	<BaseFilter name="Curve">
        <tableTexture>tableTexture2</tableTexture>
        <params>
            <mode>texturing</mode>
            <R>(43, 0)(109, 88)(147, 167)(215, 255)</R>
            <G>(48, 1)(125, 117)(173, 211)(239, 255)</G>
            <B>(0, 25)(100, 105)(189, 176)(255, 228)</B>
        </params>
    </BaseFilter>

	<BaseFilter name="TableTexture">
		<src>SRC</src>
		<tableTexture>tableTexture1</tableTexture>
		<dst>dst_a</dst>
	</BaseFilter>

	<BaseFilter name="TableTexture">
		<src>SRC</src>
		<tableTexture>tableTexture2</tableTexture>
		<dst>dst_b</dst>
	</BaseFilter>

	<BaseFilter name="SpecialTrans">
		<src>dst_a</src>
		<dst>dst_b</dst>
		<tex>specialAlphaTexture</tex>
	</BaseFilter>

	<Out DST="dst_b"/>
</Effect>


================================================
FILE: FotorSDKDemo/.svn/pristine/79/79ecb6f98bbfd04362cf6c5dbeb1fb60283349f7.svn-base
================================================
<Effect name="Inkwell" type="Retro" id="104">
    <BaseFilter name="Level">
        <src>SRC</src>
        <dst>TMP</dst>
        <params>
            <type>GetScale</type>
            <dark>0.01</dark>
            <light>0.01</light>
            <saturation>0.0</saturation>
        </params>
    </BaseFilter>
    
    <BaseFilter name="Vignette">
        <src>TMP</src>
        <dst>DST</dst>
      	<params>
      	    <mode>quadric</mode>
      	    <vignetteStart>0.0</vignetteStart>
      	    <vignetteRange>1.0</vignetteRange>
      	</params>
    </BaseFilter>
</Effect>

================================================
FILE: FotorSDKDemo/.svn/pristine/7b/7bc56bf8abce95597491da4f75b6e04101d1c1d8.svn-base
================================================
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#ff0099cc"
    android:baselineAligned="true"
    android:gravity="center_horizontal"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center" >

        <LinearLayout
            android:id="@+id/image_container"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/album_item_frame"
            android:gravity="center"
            android:padding="5dp" >

            <ImageView
                android:id="@+id/image"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:scaleType="centerInside" />
        </LinearLayout>
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="0"
        android:gravity="center_horizontal"
        android:orientation="horizontal"
        android:padding="10dp" >

        <Button
            android:id="@+id/button2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:enabled="false"
            android:padding="10.0dip"
            android:text="Launche" >
        </Button>

        <Button
            android:id="@+id/button_gallery"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:padding="10.0dip"
            android:text="Gallery" >
        </Button>

        <Button
            android:id="@+id/button_camera"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:padding="10.0dip"
            android:text="OpenCamera" >
        </Button>
    </LinearLayout>

</LinearLayout>

================================================
FILE: FotorSDKDemo/.svn/pristine/7b/7bd52fef0b72d500aef22545fc4ae5c742d9180e.svn-base
================================================
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.fotorsdkdemo"
    android:versionCode="1"
    android:versionName="1.0" >

    <!-- FotorSDK Required : Minimum sdk version -->
    <uses-sdk
        android:minSdkVersion="10"
        android:targetSdkVersion="19" />
    <!-- FotorSDK Required : Permissions -->
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.FLASHLIGHT" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.fotorsdkdemo.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <!-- FotorSDK Required : proccess main activity -->
        <activity
            android:name="com.everimaging.fotorsdk.FotorSDKActivity"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:hardwareAccelerated="true"
            android:largeHeap="true"
            android:screenOrientation="unspecified"
            android:theme="@style/FotorTheme" />
        <!-- FotorSDK Required : camera main activity -->
        <activity android:name="com.everimaging.fotorsdk.camera.CameraActivity" >
        </activity>
        <!-- FotorSDK Required : content provider for process high resolution  #NOTE# authorities you must change -->
        <provider
            android:name="com.everimaging.fotorsdk.provider.FotorContentProvider"
            android:authorities="com.example.fotorsdkdemo.FotorContentProvider"
            android:exported="false" />

        <!-- FotorSDK Required : receiver to listener newly feature package change -->
        <receiver
            android:name="com.everimaging.fotorsdk.receivers.FotorSystemReceiver"
            android:exported="true"
            android:process=":fotor_receiver" >
            <intent-filter>
                <action android:name="android.intent.action.PACKAGE_ADDED" />
                <action android:name="android.intent.action.PACKAGE_REMOVED" />
                <action android:name="android.intent.action.PACKAGE_REPLACED" />

                <data android:scheme="package" />
            </intent-filter>
        </receiver>
        <!-- FotorSDK Required : You Fotor API_KEY -->
        <meta-data
            android:name="FOTOR_API_KEY"
            android:value="fotor_api_key" />
    </application>

</manifest>

================================================
FILE: FotorSDKDemo/.svn/pristine/7b/7bf0670c68c92c203241c3e75f43bc714560f069.svn-base
================================================
<Frame name="2M" type="Simple" id="2">
	<LeftTop>2M_0.png</LeftTop>
	<Top>2M_1.png</Top>
	<RightTop>2M_2.png</RightTop>
	<Right>2M_3.png</Right>
	<RightBottom>2M_4.png</RightBottom>
	<Bottom>2M_5.png</Bottom>
	<LeftBottom>2M_6.png</LeftBottom>
	<Left>2M_7.png</Left>

	<Unity>2M.png</Unity>
	
	<params>
		<mode>M</mode>
		<thickness>0.05</thickness>
		<width>133</width>
		<height>133</height>
		<block type="leftTop">
			<left>0</left>
			<top>0</top>
			<width>66</width>
			<height>66</height>
		</block>
		<block type="top">
			<left>66</left>
			<top>0</top>
			<width>1</width>
			<height>66</height>
		</block>
		<block type="rightTop">
			<left>67</left>
			<top>0</top>
			<width>66</width>
			<height>66</height>
		</block>
		<block type="right">
			<left>67</left>
			<top>66</top>
			<width>66</width>
			<height>1</height>
		</block>
		<block type="rightBottom">
			<left>67</left>
			<top>67</top>
			<width>66</width>
			<height>66</height>
		</block>
		<block type="bottom">
			<left>66</left>
			<top>67</top>
			<width>1</width>
			<height>66</height>
		</block>
		<block type="leftBottom">
			<left>0</left>
			<top>67</top>
			<width>66</width>
			<height>66</height>
		</block>
		<block type="left">
			<left>0</left>
			<top>66</top>
			<width>66</width>
			<height>1</height>
		</block>
	</params>
</Frame>

================================================
FILE: FotorSDKDemo/.svn/pristine/7c/7c97e2760e11fafed4bfa319faf395e0fc044b96.svn-base
================================================
[["stickers_party_1.png",
"stickers_party_1_icon.png"],
["stickers_party_2.png",
"stickers_party_2_icon.png"],
["stickers_party_3.png",
"stickers_party_3_icon.png"],
["stickers_party_4.png",
"stickers_party_4_icon.png"],
["stickers_party_5.png",
"stickers_party_5_icon.png"],
["stickers_party_6.png",
"stickers_party_6_icon.png"],
["stickers_party_7.png",
"stickers_party_7_icon.png"],
["stickers_party_8.png",
"stickers_party_8_icon.png"],
["stickers_party_9.png",
"stickers_party_9_icon.png"],
["stickers_party_10.png",
"stickers_party_10_icon.png"],
["stickers_party_11.png",
"stickers_party_11_icon.png"],
["stickers_party_12.png",
"stickers_party_12_icon.png"],
["stickers_party_13.png",
"stickers_party_13_icon.png"],
["stickers_party_14.png",
"stickers_party_14_icon.png"],
["stickers_party_15.png",
"stickers_party_15_icon.png"],
["stickers_party_16.png",
"stickers_party_16_icon.png"]]

================================================
FILE: FotorSDKDemo/.svn/pristine/7e/7eac42e387e1a7ab2099e86c2917dc0c4902258d.svn-base
================================================
[["stickers_boom_1.png",
"stickers_boom_1_icon.png"],
["stickers_boom_2.png",
"stickers_boom_2_icon.png"],
["stickers_boom_3.png",
"stickers_boom_3_icon.png"],
["stickers_boom_4.png",
"stickers_boom_4_icon.png"],
["stickers_boom_5.png",
"stickers_boom_5_icon.png"],
["stickers_boom_6.png",
"stickers_boom_6_icon.png"],
["stickers_boom_7.png",
"stickers_boom_7_icon.png"],
["stickers_boom_8.png",
"stickers_boom_8_icon.png"],
["stickers_boom_9.png",
"stickers_boom_9_icon.png"],
["stickers_boom_10.png",
"stickers_boom_10_icon.png"],
["stickers_boom_11.png",
"stickers_boom_11_icon.png"],
["stickers_boom_12.png",
"stickers_boom_12_icon.png"],
["stickers_boom_13.png",
"stickers_boom_13_icon.png"],
["stickers_boom_14.png",
"stickers_boom_14_icon.png"],
["stickers_boom_15.png",
"stickers_boom_15_icon.png"],
["stickers_boom_16.png",
"stickers_boom_16_icon.png"]]

================================================
FILE: FotorSDKDemo/.svn/pristine/7f/7fc76dd4b7d2df42241b9e3b32fd541eb1a71229.svn-base
================================================
<resources>

    <!-- Default screen margins, per the Android Design guidelines. -->
    <dimen name="activity_horizontal_margin">16dp</dimen>
    <dimen name="activity_vertical_margin">16dp</dimen>

</resources>


================================================
FILE: FotorSDKDemo/.svn/pristine/82/8236e7e4c47bc975b8c27269dd01ae5f5cb62623.svn-base
================================================
<resources>

    <!--
         Customize dimensions originally defined in res/values/dimens.xml (such as
         screen margins) for sw600dp devices (e.g. 7" tablets) here.
    -->

</resources>


================================================
FILE: FotorSDKDemo/.svn/pristine/88/88086200176fa4174716c1498413d31868152bbf.svn-base
================================================
["1.xml","4.xml","23.xml","5.xml","102.xml","103.xml","2.xml","7.xml","10.xml"]

================================================
FILE: FotorSDKDemo/.svn/pristine/8a/8a10f97888d40f0e95f38492c4a52b78328605f3.svn-base
================================================
<resources>

    <!--
        Base application theme, dependent on API level. This theme is replaced
        by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
    -->
    <style name="AppBaseTheme" parent="android:Theme.NoTitleBar.Fullscreen">
        <!--
            Theme customizations available in newer API levels can go in
            res/values-vXX/styles.xml, while customizations related to
            backward-compatibility can go here.
        -->
    </style>

    <!-- Application theme. -->
    <style name="AppTheme" parent="AppBaseTheme">
        <!-- All customizations that are NOT specific to a particular API-level can go here. -->
    </style>

</resources>


================================================
FILE: FotorSDKDemo/.svn/pristine/8a/8a55f6711de24bf36b97d208f5637250973bfb3a.svn-base
================================================
<Frame name="30S" type="Styled" id="30">
    <Unity>30S.png</Unity>
    
    <params>
        <mode>S</mode>
    </params>
</Frame>

================================================
FILE: FotorSDKDemo/.svn/pristine/8c/8cb1a48fc88581b7e2e5855e1238c7da80cd3938.svn-base
================================================
<Frame name="37S" type="Styled" id="37">
    <Unity>37S.png</Unity>
    
    <params>
        <mode>S</mode>
    </params>
</Frame>

================================================
FILE: FotorSDKDemo/.svn/pristine/91/918df1128aa29e930b499ddb9717293a7c7edd6d.svn-base
================================================
<Frame name="23M" type="Simple" id="23">
	<LeftTop>23M_0.png</LeftTop>
	<Top>23M_1.png</Top>
	<RightTop>23M_2.png</RightTop>
	<Right>23M_3.png</Right>
	<RightBottom>23M_4.png</RightBottom>
	<Bottom>23M_5.png</Bottom>
	<LeftBottom>23M_6.png</LeftBottom>
	<Left>23M_7.png</Left>

	<Unity>23M.png</Unity>
	
	<params>
		<mode>M</mode>
		<thickness>0.1</thickness>
		<width>264</width>
		<height>264</height>
		<block type="leftTop">
			<left>0</left>
			<top>0</top>
			<width>112</width>
			<height>112</height>
		</block>
		<block type="top">
			<left>112</left>
			<top>0</top>
			<width>40</width>
			<height>112</height>
		</block>
		<block type="rightTop">
			<left>152</left>
			<top>0</top>
			<width>112</width>
			<height>112</height>
		</block>
		<block type="right">
			<left>152</left>
			<top>112</top>
			<width>112</width>
			<height>40</height>
		</block>
		<block type="rightBottom">
			<left>152</left>
			<top>152</top>
			<width>112</width>
			<height>112</height>
		</block>
		<block type="bottom">
			<left>112</left>
			<top>152</top>
			<width>40</width>
			<height>112</height>
		</block>
		<block type="leftBottom">
			<left>0</left>
			<top>152</top>
			<width>112</width>
			<height>112</height>
		</block>
		<block type="left">
			<left>0</left>
			<top>112</top>
			<width>112</width>
			<height>40</height>
		</block>
	</params>
</Frame>

================================================
FILE: FotorSDKDemo/.svn/pristine/93/9378ea4758918618f3ca68b1b623f88a4bc9eead.svn-base
================================================
<Effect name="X-ProII" type="Lomo" id="10">
	<Allocation name="tableTexture"/>
	
	<BaseFilter name="Curve">
        <tableTexture>tableTexture</tableTexture>
        <params>
            <mode>texturing</mode>
            <R>(0, 4)(255, 244)</R>
            <G>(0, 0)(255, 255)</G>
            <B>(0, 84)(255, 194)</B>
        </params>
    </BaseFilter>
	
	<BaseFilter name="TableTexture">
		<src>SRC</src>
		<dst>DST</dst>
		<tableTexture>tableTexture</tableTexture>
	</BaseFilter>
</Effect>

================================================
FILE: FotorSDKDemo/.svn/pristine/95/95a4eb3af29a3beeabbde817bc588a78ddf10e0d.svn-base
================================================
<Effect name="Purple" type="Retro" id="17">
    <Allocation name="level"/>
    <Allocation name="saturation"/>
    
    <BaseFilter name="Level">
        <src>SRC</src>
        <dst>level</dst>
        <params>
            <type>GetScale</type>
            <dark>0.01</dark>
            <light>0.01</light>
            <saturation>1.0</saturation>
        </params>
    </BaseFilter>
    
    <BaseFilter name="HSVSaturation">
        <src>level</src>
        <dst>saturation</dst>
        <params>
         	<red>-0.7</red>
			<yellow>-0.7</yellow>
			<green>-0.7</green>
			<cyan>0.5</cyan>
			<blue>0.5</blue>
			<magenta>-0.7</magenta>
        </params>
    </BaseFilter>
    
    <BaseFilter name="ConstColor">
        <src>SRC</src>
        <dst>TMP</dst>
        <params>
            <red>0.24314</red>
            <green>0.07059</green>
            <blue>0.59215</blue>
        </params>
    </BaseFilter>
    
    <BaseFilter name="LayerBlend">
        <src>saturation</src>
        <tex>TMP</tex>
        <dst>DST</dst>
        <params>
            <mode>overlay</mode>
            <opacity>0.25</opacity>
        </params>
    </BaseFilter>
</Effect>

================================================
FILE: FotorSDKDemo/.svn/pristine/95/95abf644e02a344ce785c4da92c0dd5c26415b7a.svn-base
================================================
{
"borderItems":[
{"filename":"23M.xml","thumbThickness":0.27},
{"filename":"29M.xml","thumbThickness":0.23},
{"filename":"2M.xml","thumbThickness":0.1},
{"filename":"36M.xml","thumbThickness":0.8},
{"filename":"38M.xml","thumbThickness":0.8}]
,"packName":"Simple"}


================================================
FILE: FotorSDKDemo/.svn/pristine/97/975756f4219c90758891f1964f8028cecfb2c675.svn-base
================================================
<Frame name="36M" type="Simple" id="36">
	<LeftTop>36M_0.png</LeftTop>
	<Top>36M_1.png</Top>
	<RightTop>36M_2.png</RightTop>
	<Right>36M_3.png</Right>
	<RightBottom>36M_4.png</RightBottom>
	<Bottom>36M_5.png</Bottom>
	<LeftBottom>36M_6.png</LeftBottom>
	<Left>36M_7.png</Left>

	<Unity>36M.png</Unity>
	
	<params>
		<mode>M</mode>
		<thickness>0.6</thickness>
		<width>728</width>
		<height>728</height>
		<block type="leftTop">
			<left>0</left>
			<top>0</top>
			<width>360</width>
			<height>360</height>
		</block>
		<block type="top">
			<left>360</left>
			<top>0</top>
			<width>8</width>
			<height>360</height>
		</block>
		<block type="rightTop">
			<left>368</left>
			<top>0</top>
			<width>360</width>
			<height>360</height>
		</block>
		<block type="right">
			<left>368</left>
			<top>360</top>
			<width>360</width>
			<height>8</height>
		</block>
		<block type="rightBottom">
			<left>368</left>
			<top>368</top>
			<width>360</width>
			<height>360</height>
		</block>
		<block type="bottom">
			<left>360</left>
			<top>368</top>
			<width>8</width>
			<height>360</height>
		</block>
		<block type="leftBottom">
			<left>0</left>
			<top>368</top>
			<width>360</width>
			<height>360</height>
		</block>
		<block type="left">
			<left>0</left>
			<top>360</top>
			<width>360</width>
			<height>8</height>
		</block>
	</params>
</Frame>

================================================
FILE: FotorSDKDemo/.svn/pristine/99/9955f7f1e3c0db05fb428b4fd3e16eacc7402ae9.svn-base
================================================
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.fotorsdkdemo"
    android:versionCode="1"
    android:versionName="1.0.4" >

    <!-- FotorSDK Required : Minimum sdk version -->
    <uses-sdk
        android:minSdkVersion="10"
        android:targetSdkVersion="19" />
    <!-- FotorSDK Required : Permissions -->
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.FLASHLIGHT" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/icon"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.fotorsdkdemo.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <!-- FotorSDK Required : proccess main activity -->
        <activity
            android:name="com.everimaging.fotorsdk.FotorSDKActivity"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:hardwareAccelerated="true"
            android:largeHeap="true"
            android:screenOrientation="unspecified"
            android:theme="@style/FotorTheme" />
        <!-- FotorSDK Required : camera main activity -->
        <activity android:name="com.everimaging.fotorsdk.camera.CameraActivity" >
        </activity>
        <!-- FotorSDK Required : content provider for process high resolution  #NOTE# authorities value you must change to like this:
        	 android:authorities="{your.packagename}.FotorContentProvider -->
        <provider
            android:name="com.everimaging.fotorsdk.provider.FotorContentProvider"
            android:authorities="com.example.fotorsdkdemo.FotorContentProvider"
            android:exported="false" />

        <!-- FotorSDK Required : receiver to listener newly feature package change -->
        <receiver
            android:name="com.everimaging.fotorsdk.receivers.FotorSystemReceiver"
            android:exported="true"
            android:process=":fotor_receiver" >
            <intent-filter>
                <action android:name="android.intent.action.PACKAGE_ADDED" />
                <action android:name="android.intent.action.PACKAGE_REMOVED" />
                <action android:name="android.intent.action.PACKAGE_REPLACED" />

                <data android:scheme="package" />
            </intent-filter>
        </receiver>
        <!-- FotorSDK Required : You Fotor API_KEY -->
        <meta-data
            android:name="FOTOR_API_KEY"
            android:value="fotor_api_key" />
    </application>

</manifest>

================================================
FILE: FotorSDKDemo/.svn/pristine/99/9969bc387bfdd8297a5fa77945b20785b603fd97.svn-base
================================================
{
"borderItems":[
{"filename":"30S.xml","thumbThickness":0.05},
{"filename":"37S.xml","thumbThickness":0.05},
{"filename":"43S.xml","thumbThickness":0.05},
{"filename":"49S.xml","thumbThickness":0.05},
{"filename":"51S.xml","thumbThickness":0.05}]
,"packName":"Styled"}


================================================
FILE: FotorSDKDemo/.svn/pristine/9a/9a475952207ff615974d1a3613e391d02b0f0dea.svn-base
================================================
<Effect name="Earlybird" type="Lomo" id="23">
	<Allocation name="tableTexture"/>
	<Allocation name="dst"/>

	<BaseFilter name="HSVSaturation">
		<src>SRC</src>
		<dst>dst</dst>
		<params>
			<red>-0.5</red>
			<yellow>-0.5</yellow>
			<green>-0.5</green>
			<cyan>-0.5</cyan>
			<blue>-0.5</blue>
			<magenta>-0.5</magenta>
		</params>
	</BaseFilter>
	
	<BaseFilter name="Curve">
        <tableTexture>tableTexture</tableTexture>
        <params>
            <mode>texturing</mode>
            <R>(0, 0)(129, 148)(255, 255)</R>
            <G>(0, 0)(92, 77)(175, 189)(255, 255)</G>
            <B>(0, 0)(163, 144)(255, 255)</B>
        </params>
    </BaseFilter>

	<BaseFilter name="TableTexture">
		<src>dst</src>
		<dst>DST</dst>
		<tableTexture>tableTexture</tableTexture>
	</BaseFilter>
</Effect>

================================================
FILE: FotorSDKDemo/.svn/pristine/9a/9ada2c0e806321f9bb3c7a6ce49707c4fdf664e1.svn-base
================================================
<Effect name="Dawn Light" type="Analog" id="74">
	<Allocation name="tmp"/>
	<Allocation name="tableTexture1"/>
	<Allocation name="tableTexture2"/>
	<Allocation name="dst_a"/>
	<Allocation name="dst_b"/>
	<Allocation name="specialAlphaTexture">
		<file>vtg.png</file>
	</Allocation>

	<BaseFilter name="HSVSaturation">
		<src>SRC</src>
		<dst>tmp</dst>
		<params>
			<red>-0.45</red>
			<yellow>-0.45</yellow>
			<green>-0.45</green>
			<cyan>-0.45</cyan>
			<blue>-0.45</blue>
			<magenta>-0.45</magenta>
		</params>
	</BaseFilter>
	
	<BaseFilter name="Curve">
        <tableTexture>tableTexture1</tableTexture>
        <params>
            <mode>texturing</mode>
            <R>(63, 35)(148, 116)(255, 208)</R>
            <G>(71, 0)(149, 84)(255, 187)</G>
            <B>(85, 22)(177, 87)(255, 148)</B>
        </params>
    </BaseFilter>
    
	<BaseFilter name="Curve">
        <tableTexture>tableTexture2</tableTexture>
        <params>
            <mode>texturing</mode>
            <R>(5, 42)(78, 129)(117, 178)(182, 219)(252, 253)</R>
            <G>(0, 0)(63, 84)(117, 157)(173, 204)(255, 241)</G>
            <B>(8, 26)(130, 147)(190, 197)(255, 217)</B>
        </params>
    </BaseFilter>

	<BaseFilter name="TableTexture">
		<src>tmp</src>
		<dst>dst_a</dst>
		<tableTexture>tableTexture1</tableTexture>
	</BaseFilter>

	<BaseFilter name="TableTexture">
		<src>tmp</src>
		<dst>dst_b</dst>
		<tableTexture>tableTexture2</tableTexture>
	</BaseFilter>

	<BaseFilter name="SpecialTrans">
		<src>dst_a</src>
		<dst>dst_b</dst>
		<tex>specialAlphaTexture</tex>
	</BaseFilter>

	<Out DST="dst_b"/>
</Effect>

================================================
FILE: FotorSDKDemo/.svn/pristine/9d/9da5972490b164e1b1bbaede6cbd9a8dac321e16.svn-base
================================================
<?xml version="1.0" encoding="UTF-8"?>
<lint>
</lint>

================================================
FILE: FotorSDKDemo/.svn/pristine/9e/9efa9da8094116c00abbe5caf55d4f981d21cf26.svn-base
================================================
<Effect name="Pale-Ocre" type="Retro" id="16">
    <Allocation name="level"/>
    <Allocation name="saturation"/>
    <Allocation name="hue"/>
    
    <BaseFilter name="Level">
        <src>SRC</src>
        <dst>level</dst>
        <params>
            <type>GetScale</type>
            <dark>0.01</dark>
            <light>0.01</light>
            <saturation>1.0</saturation>
        </params>
    </BaseFilter>
    
    <BaseFilter name="HSVSaturation">
        <src>level</src>
        <dst>saturation</dst>
        <params>
         	<red>0.1</red>
			<yellow>-0.7</yellow>
			<green>-0.7</green>
			<cyan>-0.7</cyan>
			<blue>-0.7</blue>
			<magenta>0.1</magenta>
        </params>
    </BaseFilter>
    
    <BaseFilter name="HSLAdjustment">
       	<src>level</src>
        <dst>hue</dst>
        <params>
            <mode>hue</mode>
            <hue>0.829</hue>
        </params>
    </BaseFilter>
    
    <BaseFilter name="LayerBlend">
        <src>saturation</src>
        <tex>hue</tex>
        <dst>DST</dst>
        <params>
            <mode>normal</mode>
            <opacity>0.31</opacity>
        </params>
    </BaseFilter>
    
</Effect>

================================================
FILE: FotorSDKDemo/.svn/pristine/9f/9f6bfa62aa76b00c6effa5bdd5ddc809c7eb25d2.svn-base
================================================
<Frame name="43S" type="Styled" id="43">
    <Unity>43S.png</Unity>
    
    <params>
        <mode>S</mode>
    </params>
</Frame>

================================================
FILE: FotorSDKDemo/.svn/pristine/9f/9ff96ba0dbe9a1dc3994a9ac334ae84253988a32.svn-base
================================================
package com.example.fotorsdkdemo;

import java.io.File;

import com.everimaging.fotorsdk.FotorConstants;
import com.everimaging.fotorsdk.FotorSDKActivity;
import com.everimaging.fotorsdk.FotorUtils;
import com.everimaging.fotorsdk.provider.FotorContentProvider;
import com.everimaging.fotorsdk.provider.FotorContentProvider.ActionsColumns.Action;
import com.everimaging.fotorsdk.provider.FotorContentProvider.ActionsColumns;
import com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns;
import com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns.Session;
import com.everimaging.fotorsdk.utils.BitmapDecodeUtils;
import com.everimaging.fotorsdk.utils.FotorResUtils;
import com.everimaging.fotorsdk.utils.Utils;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import com.everimaging.fotorsdk.camera.CameraActivity;
import com.everimaging.fotorsdk.engine.FotorHDFilter;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnCancelListener;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.BitmapFactory.Options;
import android.graphics.Matrix;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.media.ExifInterface;
import android.media.MediaScannerConnection;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore.Images;
import android.provider.MediaStore.Images.ImageColumns;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.View;
import android.view.View.OnLongClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;

public class MainActivity extends Activity {

	private static final int ACTION_REQUEST_FEATURE = 2;

	private static final int ACTION_REQUEST_GALLERY = 3;

	private static final int EXTERNAL_STORAGE_UNAVAILABLE = 1;

	public static final String LOG_TAG = "fotorsdk_demo";

	/** Folder name on the sdcard where the images will be saved **/

	private static final String FOLDER_NAME = "FotorSDK";

	Button mEditButton;
	Button mCameraButton;
	Button mGalleryButton;
	ImageView mImage;
	View mImageContainer;
	String mOutputFilePath;
	Uri mImageUri;

	private File mGalleryFolder;

	/** session id for the hi-res post processing */
	private String mSessionId;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		Log.i(LOG_TAG, "onCreate");
		super.onCreate(savedInstanceState);

		setContentView(R.layout.activity_main);

		mEditButton.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(View v) {
				if (mImageUri != null) {
					startFeature(mImageUri);
				}
			}
		});

		mGalleryButton.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(View v) {
				pickFromGallery();
			}
		});

		mCameraButton.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				String saveDir = "FotorSDK";
				Intent intent = new Intent(MainActivity.this,
						CameraActivity.class);
				intent.putExtra(CameraActivity.FOTOR_KEY_SAVEDIR, saveDir);
				startActivityForResult(intent,
						CameraActivity.FOTOR_ACTION_REQUEST_CAMERA);
			}
		});

		mImageContainer.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(View v) {
				Uri uri = pickRandomImage();
				if (uri != null) {
					Log.d(LOG_TAG, "image uri: " + uri);
					loadAsync(uri);
				}
			}
		});

		mImageContainer.setLongClickable(true);
		mImageContainer.setOnLongClickListener(new OnLongClickListener() {

			@Override
			public boolean onLongClick(View v) {
				if (mImageUri != null) {
					Log.d(LOG_TAG, "onLongClick: " + v);
					openContextMenu(v);
					return true;
				}
				return false;
			}
		});

		mGalleryFolder = createFolders();

		mImageContainer.performClick();
	}

	/**
	 * Start the activity to pick an image from the user gallery
	 */
	private void pickFromGallery() {
		Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
		intent.setType("image/*");

		Intent chooser = Intent.createChooser(intent, "Choose a Picture");
		startActivityForResult(chooser, ACTION_REQUEST_GALLERY);
	}

	@Override
	protected void onResume() {
		Log.i(LOG_TAG, "onResume");
		super.onResume();

		if (getIntent() != null) {
			handleIntent(getIntent());
			setIntent(new Intent());
		}
	}

	/**
	 * Handle the incoming {@link Intent}
	 */
	private void handleIntent(Intent intent) {

		String action = intent.getAction();

		if (null != action) {

			if (Intent.ACTION_SEND.equals(action)) {

				Bundle extras = intent.getExtras();
				if (extras != null && extras.containsKey(Intent.EXTRA_STREAM)) {
					Uri uri = (Uri) extras.get(Intent.EXTRA_STREAM);
					loadAsync(uri);
				}
			} else if (Intent.ACTION_VIEW.equals(action)) {
				Uri data = intent.getData();
				Log.d(LOG_TAG, "data: " + data);
				loadAsync(data);
			}
		}
	}

	/**
	 * Load the incoming Image
	 * 
	 * @param uri
	 */
	private void loadAsync(final Uri uri) {
		Log.i(LOG_TAG, "loadAsync: " + uri);

		Drawable toRecycle = mImage.getDrawable();
		if (toRecycle != null && toRecycle instanceof BitmapDrawable) {
			if (((BitmapDrawable) mImage.getDrawable()).getBitmap() != null)
				((BitmapDrawable) mImage.getDrawable()).getBitmap().recycle();
		}
		mImage.setImageDrawable(null);
		mImageUri = null;

		DownloadAsync task = new DownloadAsync();
		task.execute(uri);
	}

	@Override
	protected void onDestroy() {
		Log.i(LOG_TAG, "onDestroy");
		super.onDestroy();
		mOutputFilePath = null;
	}

	@Override
	public void onContentChanged() {
		super.onContentChanged();

		System.out.println("context:" + this.getPackageName());

		mEditButton = (Button) findViewById(FotorResUtils
				.getId(this, "button2"));

		mGalleryButton = (Button) findViewById(R.id.button_gallery);

		mCameraButton = (Button) findViewById(FotorResUtils.getId(this,
				"button_camera"));

		mImage = (ImageView) findViewById(FotorResUtils.getId(this, "image"));

		mImageContainer = findViewById(FotorResUtils.getId(this,
				"image_container"));
	}

	@Override
	/**
	 * This method is called when feather has completed ( ie. user clicked on "done" or just exit the activity without saving ). <br />
	 * If user clicked the "done" button you'll receive RESULT_OK as resultCode, RESULT_CANCELED otherwise.
	 * 
	 * @param requestCode
	 * 	- it is the code passed with startActivityForResult
	 * @param resultCode
	 * 	- result code of the activity launched ( it can be RESULT_OK or RESULT_CANCELED )
	 * @param data
	 * 	- the result data
	 */
	public void onActivityResult(int requestCode, int resultCode, Intent data) {
		if (resultCode == RESULT_OK) {
			switch (requestCode) {
			case ACTION_REQUEST_FEATURE: {

				Uri uri = Uri.parse(mOutputFilePath);
				loadAsync(uri);

				new ProcessHDTask(this).execute();
			}
				break;
			case CameraActivity.FOTOR_ACTION_REQUEST_CAMERA:
				String resultPath = data
						.getStringExtra(CameraActivity.FOTOR_KEY_CAPTURE_RESULTPATH);
				if (resultPath != null) {
					Uri uri = Uri.parse(resultPath);
					loadAsync(uri);
				}
				break;
			case ACTION_REQUEST_GALLERY: {
				Uri uri = data.getData();
				loadAsync(uri);
			}
				break;
			}

		} else if (resultCode == RESULT_CANCELED) {
			switch (requestCode) {
			case ACTION_REQUEST_FEATURE:
				if (mSessionId != null)
					deleteSession(mSessionId);
				break;
			}
		}
	}

	private String onSaveCompletion() {

		Cursor cursor = getContentResolver().query(
				ActionsColumns.getContentUri(this, mSessionId), null, null,
				null, null);
		if (cursor != null && cursor.getCount() > 0) {
			List<Action> actions = new ArrayList<FotorContentProvider.ActionsColumns.Action>();
			while (cursor.moveToNext()) {
				Action action = Action.create(cursor);
				System.out.println("action:" + action);
				actions.add(action);
			}
			cursor.close();
		} else {
			System.out.println("cursor doesn't have datas.");
		}

		Cursor cursor2 = getContentResolver().query(
				SessionColumns.getContentUri(this, mSessionId), null, null,
				null, null);

		Session session = Session.create(cursor2);

		if (session != null) {
			FotorHDFilter fotorHDFilter = new FotorHDFilter(this, mSessionId);

			fotorHDFilter.loadImage(session.file_name);

			fotorHDFilter.executeFilter();

			String dstPath = Utils.getSDPath() + "/testOriginal.jpg";

			fotorHDFilter.save(dstPath);

			fotorHDFilter.dispose();
			deleteSession(mSessionId);

			return dstPath;
		}
		return null;

	}

	class ProcessHDTask extends AsyncTask<Void, Void, String> {
		private ProgressDialog mDialog;

		private Context mContext;

		public ProcessHDTask(Context context) {
			this.mContext = context;
		}

		@Override
		protected void onPreExecute() {
			mDialog = ProgressDialog.show(mContext, "Process HD",
					"Please wait...");
		}

		@Override
		protected String doInBackground(Void... params) {
			return onSaveCompletion();
		}

		@Override
		protected void onPostExecute(String result) {
			mDialog.dismiss();

			String msg = "Process Error";
			if (result != null) {
				msg = result;
			}

			Toast.makeText(mContext, msg, Toast.LENGTH_LONG).show();
		}

	}

	/**
	 * Delete the session and all it's actions. We do not need it anymore.<br />
	 * Note that this is optional. All old sessions are automatically removed in
	 * Feather.
	 * 
	 * @param session_id
	 */
	private void deleteSession(final String session_id) {
		Uri uri = FotorContentProvider.SessionColumns.getContentUri(this,
				session_id);
		int count = getContentResolver().delete(uri, null, null);
		System.out.println("delete session count:" + count);
	}

	/**
	 * Given an Uri load the bitmap into the current ImageView and resize it to
	 * fit the image container size
	 * 
	 * @param uri
	 */
	@SuppressWarnings("deprecation")
	private boolean setImageURI(final Uri uri, final Bitmap bitmap) {

		Log.d(LOG_TAG,
				"image size: " + bitmap.getWidth() + "x" + bitmap.getHeight());
		mImage.setImageBitmap(bitmap);
		mImage.setBackgroundDrawable(null);

		mEditButton.setEnabled(true);
		mImageUri = uri;
		return true;
	}

	/**
	 * We need to notify the MediaScanner when a new file is created. In this
	 * way all the gallery applications will be notified too.
	 * 
	 * @param file
	 */
	private void updateMedia(String filepath) {
		Log.i(LOG_TAG, "updateMedia: " + filepath);
		MediaScannerConnection.scanFile(getApplicationContext(),
				new String[] { filepath }, null, null);
	}

	/**
	 * Pick a random image from the user gallery
	 * 
	 * @return
	 */
	@SuppressWarnings("unused")
	private Uri pickRandomImage() {
		Cursor c = getContentResolver().query(
				Images.Media.EXTERNAL_CONTENT_URI,
				new String[] { ImageColumns._ID, ImageColumns.DATA },
				ImageColumns.SIZE + ">?", new String[] { "90000" }, null);
		Uri uri = null;

		if (c != null) {
			int total = c.getCount();
			int position = (int) (Math.random() * total);
			Log.d(LOG_TAG, "pickRandomImage. total images: " + total
					+ ", position: " + position);
			if (total > 0) {
				if (c.moveToPosition(position)) {
					String data = c.getString(c
							.getColumnIndex(Images.ImageColumns.DATA));
					long id = c.getLong(c
							.getColumnIndex(Images.ImageColumns._ID));

					uri = Uri.parse(data);

					Log.d(LOG_TAG, uri.toString());
				}
			}
			c.close();
		}
		return uri;
	}

	/**
	 * Return a new image file. Name is based on the current time. Parent folder
	 * will be the one created with createFolders
	 * 
	 * @return
	 * @see #createFolders()
	 */
	private File generateOutputFileName() {
		if (mGalleryFolder != null) {
			if (mGalleryFolder.exists()) {
				File file = new File(mGalleryFolder, "Fotor_"
						+ System.currentTimeMillis() + ".jpg");
				return file;
			}
		}
		return null;
	}

	/**
	 * Once you've chosen an image you can start the feather activity
	 * 
	 * @param uri
	 */
	@SuppressWarnings("deprecation")
	private void startFeature(Uri uri) {

		Log.d(LOG_TAG, "uri: " + uri);

		// first check the external storage availability
		if (!isExternalStorageAvilable()) {
			showDialog(EXTERNAL_STORAGE_UNAVAILABLE);
			return;
		}

		// create a temporary file where to store the resulting image
		File file = generateOutputFileName();

		if (null != file) {
			mOutputFilePath = file.getAbsolutePath();
		} else {
			new AlertDialog.Builder(this)
					.setTitle(android.R.string.dialog_alert_title)
					.setMessage("Failed to create a new File").show();
			return;
		}

		// Create the intent needed to start feather
		Intent newIntent = new Intent(this, FotorSDKActivity.class);

		// === INPUT IMAGE URI ===
		// Set the source image uri
		newIntent.setData(uri);

		// === OUTPUT ====
		// Optional
		// Pass the uri of the destination image file.
		// This will be the same uri you will receive in the onActivityResult

		System.out.println("mOutputFilePath->:" + mOutputFilePath);

		newIntent.putExtra(FotorConstants.EXTRA_OUTPUT_PATH, mOutputFilePath);

		// === OUTPUT QUALITY ===
		// Optional
		newIntent.putExtra(FotorConstants.EXTRA_OUTPUT_QUALITY, 90);

		// === MAX SIZE ===
		// Optional
		// you can pass the maximum allowed image size (for the preview),
		// otherwise feather will determine
		// the max size based on the device informations.
		// This will not affect the hi-res image size.
		// Here we're passing the current display size as max image size because
		// after
		// the execution of Aviary we're saving the HI-RES image so we don't
		// need a big
		// image for the preview
		final DisplayMetrics metrics = new DisplayMetrics();
		getWindowManager().getDefaultDisplay().getMetrics(metrics);

		int max_size = Math.max(metrics.widthPixels, metrics.heightPixels);

		max_size = (int) ((float) max_size / 1.4f);

		newIntent.putExtra(FotorConstants.EXTRA_MAX_PREVIEW_SIZE, max_size);

		mSessionId = FotorUtils.generateSessionId(this);

		getContentResolver().delete(
				SessionColumns.getContentUri(this, mSessionId), null, null);

		Log.d(LOG_TAG,
				"session: " + mSessionId + ", size: " + mSessionId.length());

		newIntent.putExtra(FotorConstants.EXTRA_FOTOR_SESSION_ID, mSessionId);

		// === FEATURE LIST ===

		// newIntent.putExtra(FotorConstants.EXTRA_FEATURE_LIST, new String[] {
		// FotorFeaturesFactory.FeatureType.FX_EFFECTS.name(),
		// FotorFeaturesFactory.FeatureType.BORDER.name() });

		// start feather
		startActivityForResult(newIntent, ACTION_REQUEST_FEATURE);
	}

	/**
	 * Check the external storage status
	 * 
	 * @return
	 */
	private boolean isExternalStorageAvilable() {
		String state = Environment.getExternalStorageState();
		if (Environment.MEDIA_MOUNTED.equals(state)) {
			return true;
		}
		return false;
	}

	/**
	 * Try to create the required folder on the sdcard where images will be
	 * saved to.
	 * 
	 * @return
	 */
	private File createFolders() {

		File baseDir;

		if (android.os.Build.VERSION.SDK_INT < 8) {
			baseDir = Environment.getExternalStorageDirectory();
		} else {
			baseDir = Environment
					.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
		}

		if (baseDir == null)
			return Environment.getExternalStorageDirectory();

		Log.d(LOG_TAG, "Pictures folder: " + baseDir.getAbsolutePath());
		File fotorSDKFolder = new File(baseDir, FOLDER_NAME);

		if (fotorSDKFolder.exists())
			return fotorSDKFolder;
		if (fotorSDKFolder.mkdirs())
			return fotorSDKFolder;

		return Environment.getExternalStorageDirectory();
	}

	class DownloadAsync extends AsyncTask<Uri, Void, Bitmap> implements
			OnCancelListener {

		ProgressDialog mProgress;
		private Uri mUri;

		@Override
		protected void onPreExecute() {
			super.onPreExecute();

			mProgress = new ProgressDialog(MainActivity.this);
			mProgress.setIndeterminate(true);
			mProgress.setCancelable(true);
			mProgress.setMessage("Loading image...");
			mProgress.setOnCancelListener(this);
			mProgress.show();
		}

		@Override
		protected Bitmap doInBackground(Uri... params) {
			mUri = params[0];

			DisplayMetrics displayMetrics = getResources().getDisplayMetrics();

			int maxW = (int) (displayMetrics.widthPixels / 1.5);
			int maxH = (int) (displayMetrics.heightPixels / 1.5);

			Bitmap bitmap = BitmapDecodeUtils.decode(getApplicationContext(),
					mUri, maxW, maxH);

			// bitmap = BitmapFactory.decodeFile(mUri.toString(), options);

			// int angel = 0;
			// try {
			// ExifInterface exif = new ExifInterface(mUri.toString());
			// int orientation = exif.getAttributeInt(
			// ExifInterface.TAG_ORIENTATION, -1);
			// if (orientation != -1) {
			// switch (orientation) {
			// case ExifInterface.ORIENTATION_ROTATE_90:
			// angel = 90;
			// break;
			// case ExifInterface.ORIENTATION_ROTATE_180:
			// angel = 180;
			// break;
			// case ExifInterface.ORIENTATION_ROTATE_270:
			// angel = 270;
			// break;
			// default:
			// break;
			// }
			// }
			// } catch (IOException e) {
			// // TODO Auto-generated catch block
			// e.printStackTrace();
			// }
			// if (angel != 0) {
			// Matrix matrix = new Matrix();
			// matrix.setRotate(angel);
			// bitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(),
			// bitmap.getHeight(), matrix, true);
			// }
			return bitmap;
		}

		@Override
		protected void onPostExecute(Bitmap result) {
			super.onPostExecute(result);

			if (mProgress.getWindow() != null) {
				mProgress.dismiss();
			}

			if (result != null) {
				setImageURI(mUri, result);
			} else {
				Toast.makeText(MainActivity.this,
						"Failed to load image " + mUri, Toast.LENGTH_SHORT)
						.show();
			}
		}

		@Override
		public void onCancel(DialogInterface dialog) {
			Log.i(LOG_TAG, "onProgressCancel");
			this.cancel(true);
		}

		@Override
		protected void onCancelled() {
			super.onCancelled();
			Log.i(LOG_TAG, "onCancelled");
		}

	}
}


================================================
FILE: FotorSDKDemo/.svn/pristine/a0/a058978066e296310b0224baa3e95484f15c8f3d.svn-base
================================================
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.fotorsdkdemo"
    android:versionCode="1"
    android:versionName="1.0.3" >

    <!-- FotorSDK Required : Minimum sdk version -->
    <uses-sdk
        android:minSdkVersion="10"
        android:targetSdkVersion="19" />
    <!-- FotorSDK Required : Permissions -->
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.FLASHLIGHT" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/icon"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.fotorsdkdemo.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <!-- FotorSDK Required : proccess main activity -->
        <activity
            android:name="com.everimaging.fotorsdk.FotorSDKActivity"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:hardwareAccelerated="true"
            android:largeHeap="true"
            android:screenOrientation="unspecified"
            android:theme="@style/FotorTheme" />
        <!-- FotorSDK Required : camera main activity -->
        <activity android:name="com.everimaging.fotorsdk.camera.CameraActivity" >
        </activity>
        <!-- FotorSDK Required : content provider for process high resolution  #NOTE# authorities you must change -->
        <provider
            android:name="com.everimaging.fotorsdk.provider.FotorContentProvider"
            android:authorities="com.example.fotorsdkdemo.FotorContentProvider"
            android:exported="false" />

        <!-- FotorSDK Required : receiver to listener newly feature package change -->
        <receiver
            android:name="com.everimaging.fotorsdk.receivers.FotorSystemReceiver"
            android:exported="true"
            android:process=":fotor_receiver" >
            <intent-filter>
                <action android:name="android.intent.action.PACKAGE_ADDED" />
                <action android:name="android.intent.action.PACKAGE_REMOVED" />
                <action android:name="android.intent.action.PACKAGE_REPLACED" />

                <data android:scheme="package" />
            </intent-filter>
        </receiver>
        <!-- FotorSDK Required : You Fotor API_KEY -->
        <meta-data
            android:name="FOTOR_API_KEY"
            android:value="fotor_api_key" />
    </application>

</manifest>

================================================
FILE: FotorSDKDemo/.svn/pristine/a1/a1e3bda0c91a5191ca1dea31f45dcfe834accc4a.svn-base
================================================
<Effect name="Lomo Life" type="Lomo" id="5">
	<Allocation name="tableTexture"/>
	
	<BaseFilter name="Curve">
        <tableTexture>tableTexture</tableTexture>
        <params>
            <mode>texturing</mode>
            <R>(0, 0)(117, 95)(155, 171)(179, 225)(255, 255)</R>
            <G>(0, 0)(94, 66)(155, 176)(255, 255)</G>
            <B>(0, 0)(48, 59)(141, 130)(255, 224)</B>
        </params>
    </BaseFilter>
	
	<BaseFilter name="TableTexture">
		<src>SRC</src>
		<dst>DST</dst>
		<tableTexture>tableTexture</tableTexture>
	</BaseFilter>
</Effect>

================================================
FILE: FotorSDKDemo/.svn/pristine/a3/a33eeaaaff41f46520323424ca79e399e2d53af2.svn-base
================================================
<Effect name="Walden" type="Lomo" id="2">
	<Allocation name="level"/>
	<Allocation name="tableTexture"/>

	<BaseFilter name="Level">
		<src>SRC</src>
		<dst>level</dst>
		<params>
			<type>GetScale</type>
			<dark>0.1</dark>
			<light>0.2</light>
			<saturation>1.0</saturation>
		</params>
	</BaseFilter>
	
	<BaseFilter name="Vignette">
		<src>level</src>
		<dst>TMP</dst>
		<params>
		    <mode>quadric</mode>
			<vignetteStart>0.0</vignetteStart>
			<vignetteRange>1.0</vignetteRange>
		</params>
	</BaseFilter>
	
	<BaseFilter name="Curve">
        <tableTexture>tableTexture</tableTexture>
        <params>
            <mode>texturing</mode>
            <R>(0, 0)(127, 91)(255, 214)</R>
            <G>(0, 0)(127, 102)(255, 255)</G>
            <B>(0, 0)(127, 108)(255, 255)</B>
        </params>
    </BaseFilter>

	<BaseFilter name="TableTexture">
		<src>TMP</src>
		<dst>DST</dst>
		<tableTexture>tableTexture</tableTexture>
	</BaseFilter>
</Effect>

================================================
FILE: FotorSDKDemo/.svn/pristine/a3/a396b072ee70577a67f05e9a3e191e6b53027175.svn-base
================================================
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
	<classpathentry kind="src" path="src"/>
	<classpathentry kind="src" path="gen"/>
	<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
	<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
	<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
	<classpathentry kind="output" path="bin/classes"/>
</classpath>


================================================
FILE: FotorSDKDemo/.svn/pristine/a5/a556148b66359e94f7ccde75022d7b2b489d8164.svn-base
================================================
<resources>

    <!--
        Base application theme for API 14+. This theme completely replaces
        AppBaseTheme from BOTH res/values/styles.xml and
        res/values-v11/styles.xml on API 14+ devices.
    -->
    <style name="AppBaseTheme" parent="android:Theme.Holo.Light.NoActionBar.Fullscreen">
        <!-- API 14 theme customizations can go here. -->
    </style>

</resources>


================================================
FILE: FotorSDKDemo/.svn/pristine/a5/a5b5ca45da347e01b26e995a77d7ef21006ad211.svn-base
================================================
<Effect name="Landscape" type="Scenes" id="163">
    <Allocation name="tableTexture"/>
	
    <BaseFilter name="Curve">
        <tableTexture>tableTexture</tableTexture>
        <params>
            <mode>texturing</mode>
            <R>(17, 0)(37, 18)(75, 52)(238, 255)</R>
            <G>(16, 0)(53, 32)(113, 92)(236, 255)</G>
            <B>(16, 0)(80, 57)(171, 164)(235, 255)</B>
        </params>
    </BaseFilter>
    
	<BaseFilter name="TableTexture">
		<src>SRC</src>
		<dst>DST</dst>
		<tableTexture>tableTexture</tableTexture>
	</BaseFilter>
</Effect>

================================================
FILE: FotorSDKDemo/.svn/pristine/a9/a98cecac96dab90bff5a7d390e2b08b5297a8e48.svn-base
================================================
{
	"version": 1,
	"category_name": "Charm",
	"fonts_array": [{
		"font_id": 1,
		"font_name": "Sofia",
		"font_normal": "Sofia",
		"font_bold": "",
		"font_italic": "",
		"font_bolditalic": "Sofia"
	},
	{
		"font_id": 2,
		"font_name": "Ostrich Sans",
		"font_normal": "Ostrich Sans",
		"font_bold": "OstrichSans-Bold",
		"font_italic": "",
		"font_bolditalic": "OstrichSans-Bold"
	},
	{
		"font_id": 3,
		"font_name": "Bearpaw",
		"font_normal": "Bearpaw",
		"font_bold": "",
		"font_italic": "",
		"font_bolditalic": "Bearpaw"
	},
	{
		"font_id": 4,
		"font_name": "American Typewriter",
		"font_normal": "AmericanTypewriter",
		"font_bold": "AmericanTypewriter-Bold",
		"font_italic": "",
		"font_bolditalic": "AmericanTypewriter-Bold"
	},
	{
		"font_id": 5,
		"font_name": "Stencil Std",
		"font_normal": "Stencil Std",
		"font_bold": "",
		"font_italic": "",
		"font_bolditalic": "Stencil Std"
	},
	{
		"font_id": 6,
		"font_name": "Brush Script MT",
		"font_normal": "Brush Script",
		"font_bold": "",
		"font_italic": "",
		"font_bolditalic": "Brush Script"
	},
	{
		"font_id": 7,
		"font_name": "Noteworthy",
		"font_normal": "Noteworthy",
		"font_bold": "Noteworthy-Bold",
		"font_italic": "",
		"font_bolditalic": "Noteworthy-Bold"
	},
	{
		"font_id": 8,
		"font_name": "Miama",
		"font_normal": "Miama",
		"font_bold": "",
		"font_italic": "",
		"font_bolditalic": "Miama"
	},
	{
		"font_id": 9,
		"font_name": "Blackout",
		"font_normal": "Blackout",
		"font_bold": "",
		"font_italic": "",
		"font_bolditalic": "Blackout"
	},
	{
		"font_id": 10,
		"font_name": "Muli",
		"font_normal": "Muli",
		"font_bold": "",
		"font_italic": "Muli-Italic",
		"font_bolditalic": "Muli-Italic"
	},
	{
		"font_id": 11,
		"font_name": "padaloma italic",
		"font_normal": "padaloma",
		"font_bold": "",
		"font_italic": "",
		"font_bolditalic": "padaloma"
	},
	{
		"font_id": 12,
		"font_name": "Josefin Sans",
		"font_normal": "Josefin Sans",
		"font_bold": "JosefinSans-Bold",
		"font_italic": "JosefinSans-Italic",
		"font_bolditalic": "JosefinSans-BoldItalic"
	},
	{
		"font_id": 13,
		"font_name": "Garogier",
		"font_normal": "Garogier",
		"font_bold": "",
		"font_italic": "",
		"font_bolditalic": "Garogier"
	}
	]
}

================================================
FILE: FotorSDKDemo/.svn/pristine/aa/aa1f5f1723de9aee2669dc44a26fbc0ce776d35f.svn-base
================================================
<resources>

    <!--
        Base application theme for API 11+. This theme completely replaces
        AppBaseTheme from res/values/styles.xml on API 11+ devices.
    -->
    <style name="AppBaseTheme" parent="android:Theme.Holo.Light">
        <!-- API 11 theme customizations can go here. -->
    </style>

</resources>


================================================
FILE: FotorSDKDemo/.svn/pristine/aa/aa91bd20a01c02603ac8f4df60bef48758548c2d.svn-base
================================================
<Frame name="Snowflake" type="Gallery" id="3">
	<LeftTop>3M_0.png</LeftTop>
	<Top>3M_1.png</Top>
	<RightTop>3M_2.png</RightTop>
	<Right>3M_3.png</Right>
	<RightBottom>3M_4.png</RightBottom>
	<Bottom>3M_5.png</Bottom>
	<LeftBottom>3M_6.png</LeftBottom>
	<Left>3M_7.png</Left>

	<Unity>3M.png</Unity>
	
	<params>
		<mode>M</mode>
		<thickness>0.05</thickness>
		<width>161</width>
		<height>161</height>
		<block type="leftTop">
			<left>0</left>
			<top>0</top>
			<width>80</width>
			<height>80</height>
		</block>
		<block type="top">
			<left>80</left>
			<top>0</top>
			<width>1</width>
			<height>80</height>
		</block>
		<block type="rightTop">
			<left>81</left>
			<top>0</top>
			<width>80</width>
			<height>80</height>
		</block>
		<block type="right">
			<left>81</left>
			<top>80</top>
			<width>80</width>
			<height>1</height>
		</block>
		<block type="rightBottom">
			<left>81</left>
			<top>81</top>
			<width>80</width>
			<height>80</height>
		</block>
		<block type="bottom">
			<left>80</left>
			<top>81</top>
			<width>1</width>
			<height>80</height>
		</block>
		<block type="leftBottom">
			<left>0</left>
			<top>81</top>
			<width>80</width>
			<height>80</height>
		</block>
		<block type="left">
			<left>0</left>
			<top>80</top>
			<width>80</width>
			<height>1</height>
		</block>
	</params>
</Frame>

================================================
FILE: FotorSDKDemo/.svn/pristine/ad/ad9e9267bc0cf1e8dd2be128bc64261b575b012a.svn-base
================================================
[["stickers_love_1.png",
"stickers_love_1_icon.png"],
["stickers_love_2.png",
"stickers_love_2_icon.png"],
["stickers_love_3.png",
"stickers_love_3_icon.png"],
["stickers_love_4.png",
"stickers_love_4_icon.png"],
["stickers_love_5.png",
"stickers_love_5_icon.png"],
["stickers_love_6.png",
"stickers_love_6_icon.png"],
["stickers_love_7.png",
"stickers_love_7_icon.png"],
["stickers_love_8.png",
"stickers_love_8_icon.png"],
["stickers_love_9.png",
"stickers_love_9_icon.png"],
["stickers_love_10.png",
"stickers_love_10_icon.png"],
["stickers_love_11.png",
"stickers_love_11_icon.png"],
["stickers_love_12.png",
"stickers_love_12_icon.png"],
["stickers_love_13.png",
"stickers_love_13_icon.png"],
["stickers_love_14.png",
"stickers_love_14_icon.png"],
["stickers_love_15.png",
"stickers_love_15_icon.png"],
["stickers_love_16.png",
"stickers_love_16_icon.png"]]

================================================
FILE: FotorSDKDemo/.svn/pristine/af/afaa4cc1820f9992969da150808bc0b865975646.svn-base
================================================
<Effect name="Mini-Oven" type="Analog" id="73">
	<Allocation name="tableTexture1"/>
	<Allocation name="tableTexture2"/>
	<Allocation name="dst_a"/>
	<Allocation name="dst_b"/>
	<Allocation name="specialAlphaTexture">
		<file>vtg.png</file>
	</Allocation>
	
	<BaseFilter name="Curve">
        <tableTexture>tableTexture1</tableTexture>
        <params>
            <mode>texturing</mode>
            <R>(16, 0)(138, 133)(202, 185)(255, 213)</R>
            <G>(82, 0)(128, 85)(173, 145)(255, 207)</G>
            <B>(108, 62)(176, 137)(255, 184)</B>
        </params>
    </BaseFilter>
    
	<BaseFilter name="Curve">
        <tableTexture>tableTexture2</tableTexture>
        <params>
            <mode>texturing</mode>
            <R>(0, 105)(61, 167)(128, 221)(190, 236)(255, 255)</R>
            <G>(3, 0)(64, 98)(130, 191)(191, 228)(255, 255)</G>
            <B>(54, 62)(86, 101)(129, 155)(191, 192)(255, 222)</B>
        </params>
    </BaseFilter>

	<BaseFilter name="TableTexture">
		<src>SRC</src>
		<tableTexture>tableTexture1</tableTexture>
		<dst>dst_a</dst>
	</BaseFilter>

	<BaseFilter name="TableTexture">
		<src>SRC</src>
		<tableTexture>tableTexture2</tableTexture>
		<dst>dst_b</dst>
	</BaseFilter>

	<BaseFilter name="SpecialTrans">
		<src>dst_a</src>
		<dst>dst_b</dst>
		<tex>specialAlphaTexture</tex>
	</BaseFilter>

	<Out DST="dst_b"/>
</Effect>

================================================
FILE: FotorSDKDemo/.svn/pristine/af/afc1bf1787c384436565994646909db35fe7e06f.svn-base
================================================
package com.example.fotorsdkdemo;

import java.io.File;

import com.everimaging.fotorsdk.FotorConstants;
import com.everimaging.fotorsdk.FotorFeaturesFactory;
import com.everimaging.fotorsdk.FotorSDKActivity;
import com.everimaging.fotorsdk.FotorSDKVersion;
import com.everimaging.fotorsdk.FotorUtils;
import com.everimaging.fotorsdk.provider.FotorContentProvider;
import com.everimaging.fotorsdk.provider.FotorContentProvider.ActionsColumns.Action;
import com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns;
import com.everimaging.fotorsdk.provider.FotorContentProvider.SessionColumns.Session;
import com.everimaging.fotorsdk.utils.BitmapDecodeUtils;
import com.everimaging.fotorsdk.utils.Utils;

import java.util.ArrayList;
import java.util.List;

import com.everimaging.fotorsdk.engine.FotorHDFilter;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnCancelListener;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.media.MediaScannerConnection;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore.Images;
import android.provider.MediaStore.Images.ImageColumns;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {

	private static final int ACTION_REQUEST_FEATURE = 2;

	private static final int ACTION_REQUEST_GALLERY = 3;

	private static final int EXTERNAL_STORAGE_UNAVAILABLE = 1;

	public static final String LOG_TAG = "fotorsdk_demo";

	/** Folder name on the sdcard where the images will be saved **/

	private static final String FOLDER_NAME = "FotorSDK";

	Button mEditButton;
	Button mGalleryButton;
	ImageView mImage;
	String mOutputFilePath;
	Uri mImageUri;

	private TextView mSDKVersionLabel;

	private Uri mSampleUri;

	private File mGalleryFolder;

	/** session id for the hi-res post processing */
	private String mSessionId;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		Log.i(LOG_TAG, "onCreate");
		super.onCreate(savedInstanceState);

		setContentView(R.layout.activity_main);

		mEditButton.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(View v) {
				if (mImageUri != null) {
					startFeature(mImageUri);
				}
			}
		});

		mGalleryButton.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(View v) {
				pickFromGallery();
			}
		});

		mGalleryFolder = createFolders();

		// add sample image
		mSampleUri = Uri.parse("file:///android_asset/sample.jpg");
		loadAsync(mSampleUri);

		if (BuildConfig.DEBUG) {
			mSDKVersionLabel.setText("V" + FotorSDKVersion.FOTOR_SDK_VERSION);
		}

	}

	/**
	 * Start the activity to pick an image from the user gallery
	 */
	private void pickFromGallery() {
		Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
		intent.setType("image/*");

		Intent chooser = Intent.createChooser(intent, "Choose a Picture");
		startActivityForResult(chooser, ACTION_REQUEST_GALLERY);

	}

	@Override
	protected void onResume() {
		Log.i(LOG_TAG, "onResume");
		super.onResume();

		if (getIntent() != null) {
			handleIntent(getIntent());
			setIntent(new Intent());
		}
	}

	/**
	 * Handle the incoming {@link Intent}
	 */
	private void handleIntent(Intent intent) {

		String action = intent.getAction();

		if (null != action) {

			if (Intent.ACTION_SEND.equals(action)) {

				Bundle extras = intent.getExtras();
				if (extras != null && extras.containsKey(Intent.EXTRA_STREAM)) {
					Uri uri = (Uri) extras.get(Intent.EXTRA_STREAM);
					loadAsync(uri);
				}
			} else if (Intent.ACTION_VIEW.equals(action)) {
				Uri data = intent.getData();
				Log.d(LOG_TAG, "data: " + data);
				loadAsync(data);
			}
		}
	}

	/**
	 * Load the incoming Image
	 * 
	 * @param uri
	 */
	private void loadAsync(final Uri uri) {
		Log.i(LOG_TAG, "loadAsync: " + uri);

		Drawable toRecycle = mImage.getDrawable();
		if (toRecycle != null && toRecycle instanceof BitmapDrawable) {
			if (((BitmapDrawable) mImage.getDrawable()).getBitmap() != null)
				((BitmapDrawable) mImage.getDrawable()).getBitmap().recycle();
		}
		mImage.setImageDrawable(null);
		mImageUri = null;

		DownloadAsync task = new DownloadAsync();
		task.execute(uri);
	}

	@Override
	protected void onDestroy() {
		Log.i(LOG_TAG, "onDestroy");
		super.onDestroy();
		mOutputFilePath = null;
	}

	@Override
	public void onContentChanged() {
		super.onContentChanged();

		System.out.println("context:" + this.getPackageName());

		mEditButton = (Button) findViewById(R.id.button2);

		mGalleryButton = (Button) findViewById(R.id.button_gallery);

		mImage = (ImageView) findViewById(R.id.image);

		mSDKVersionLabel = (TextView) findViewById(R.id.fotor_sdk_version_label);

	}

	@Override
	/**
	 * This method is called when feather has completed ( ie. user clicked on "done" or just exit the activity without saving ). <br />
	 * If user clicked the "done" button you'll receive RESULT_OK as resultCode, RESULT_CANCELED otherwise.
	 * 
	 * @param requestCode
	 * 	- it is the code passed with startActivityForResult
	 * @param resultCode
	 * 	- result code of the activity launched ( it can be RESULT_OK or RESULT_CANCELED )
	 * @param data
	 * 	- the result data
	 */
	public void onActivityResult(int requestCode, int resultCode, Intent data) {
		if (resultCode == RESULT_OK) {
			switch (requestCode) {
			case ACTION_REQUEST_FEATURE: {

				Uri uri = Uri.parse(mOutputFilePath);
				Bitmap bitmap = BitmapDecodeUtils.decodeFile(mOutputFilePath);
				setImageURI(uri, bitmap);
				new ProcessHDTask(this).execute();
			}
				break;
			case ACTION_REQUEST_GALLERY: {
				Uri uri = data.getData();
				loadAsync(uri);
				startFeature(uri);
			}
				break;
			}

		} else if (resultCode == RESULT_CANCELED) {
			switch (requestCode) {
			case ACTION_REQUEST_FEATURE:
				if (mSessionId != null)
					deleteSession(mSessionId);
				break;
			}
		}
	}

	private String onSaveCompletion() {

		Uri sessionUri = SessionColumns.getContentUri(this, mSessionId);

		Cursor cursor = getContentResolver().query(sessionUri, null, null,
				null, null);
		
		Session session = Session.create(cursor);

		if (session != null) {
			FotorHDFilter fotorHDFilter = new FotorHDFilter(this, session);

			fotorHDFilter.loadImage();

			fotorHDFilter.executeFilter();

			String dstPath = Utils.getSDPath() + "/testOriginal.jpg";

			fotorHDFilter.save(dstPath);

			fotorHDFilter.dispose();
			deleteSession(mSessionId);

			return dstPath;
		}
		return null;

	}

	class ProcessHDTask extends AsyncTask<Void, Void, String> {
		private ProgressDialog mDialog;

		private Context mContext;

		public ProcessHDTask(Context context) {
			this.mContext = context;
		}

		@Override
		protected void onPreExecute() {
			mDialog = ProgressDialog.show(mContext, "Process HD",
					"Please wait...");
		}

		@Override
		protected String doInBackground(Void... params) {
			return onSaveCompletion();
		}

		@Override
		protected void onPostExecute(String result) {
			mDialog.dismiss();

			String msg = "Process Error";
			if (result != null) {
				msg = result;
			}

			Toast.makeText(mContext, msg, Toast.LENGTH_LONG).show();
		}

	}

	/**
	 * Delete the session and all it's actions. We do not need it anymore.<br />
	 * Note that this is optional. All old sessions are automatically removed in
	 * Feather.
	 * 
	 * @param session_id
	 */
	private void deleteSession(final String session_id) {
		Uri uri = FotorContentProvider.SessionColumns.getContentUri(this,
				session_id);
		int count = getContentResolver().delete(uri, null, null);
		System.out.println("delete session count:" + count);
	}

	/**
	 * Given an Uri load the bitmap into the current ImageView and resize it to
	 * fit the image container size
	 * 
	 * @param uri
	 */
	@SuppressWarnings("deprecation")
	private boolean setImageURI(final Uri uri, final Bitmap bitmap) {

		Log.d(LOG_TAG,
				"image size: " + bitmap.getWidth() + "x" + bitmap.getHeight());
		mImage.setImageBitmap(bitmap);
		mImage.setBackgroundDrawable(null);

		mEditButton.setEnabled(true);
		mImageUri = uri;
		return true;
	}

	/**
	 * We need to notify the MediaScanner when a new file is created. In this
	 * way all the gallery applications will be notified too.
	 * 
	 * @param file
	 */
	private void updateMedia(Str
Download .txt
gitextract_fjxa1tr2/

├── .gitmodules
├── FotorSDKDemo/
│   ├── .classpath
│   ├── .project
│   ├── .settings/
│   │   └── org.eclipse.jdt.core.prefs
│   ├── .svn/
│   │   ├── entries
│   │   ├── format
│   │   └── pristine/
│   │       ├── 00/
│   │       │   └── 007c052d3bf36519905116e5ed7a3f07cd0f8f82.svn-base
│   │       ├── 03/
│   │       │   ├── 03036c275a2007f79ccdb5833685d86777990a3d.svn-base
│   │       │   └── 03f507869edea3375849d714e1dc9cfec5915365.svn-base
│   │       ├── 04/
│   │       │   └── 043b616c2477d480b1e37fd4fd00b17a76dfd790.svn-base
│   │       ├── 06/
│   │       │   └── 06d3b6ec1b46b557debf4cc78ab2eadf0a3ac890.svn-base
│   │       ├── 07/
│   │       │   ├── 070b79fa25398f4fa224b4626dd75e6c67df2c2e.svn-base
│   │       │   └── 0725f572c56c70ce91d4d40c4d9204235ef23f9c.svn-base
│   │       ├── 09/
│   │       │   └── 09da138ca7b7a7c3ee7571530448c97702d6de86.svn-base
│   │       ├── 0a/
│   │       │   └── 0a0d9478ede46410d5989641dbb2939d1034ddc1.svn-base
│   │       ├── 0b/
│   │       │   └── 0bbd0d2a43db36ec6f303a37a92e6ec6df5fcdab.svn-base
│   │       ├── 0c/
│   │       │   ├── 0c4712419da14d194f0812257ba40bd32de21e40.svn-base
│   │       │   └── 0c6d82a4c43926760c34d77cb7182c3167841513.svn-base
│   │       ├── 0d/
│   │       │   └── 0d332441cbc270af2413544d854c84ccd4f39121.svn-base
│   │       ├── 0f/
│   │       │   ├── 0f001a20db1399d973d388cc9ab42cb40947a0f5.svn-base
│   │       │   └── 0fa23e0c9fe055fc7671e5d3a43a97ed7d2673e4.svn-base
│   │       ├── 10/
│   │       │   ├── 104d538b6c30a22491607612ec934b942344d51d.svn-base
│   │       │   ├── 107d8032c156f778a72d9d22eea333a7b1d6828c.svn-base
│   │       │   ├── 108fa6b5bc6a26dee57333789683c3fd03e43f72.svn-base
│   │       │   └── 10e6e2e4786dc34083c47b574d164731f1fd9db0.svn-base
│   │       ├── 12/
│   │       │   ├── 12244ee01c7eff76c02a29c1743c3f3fdad680f2.svn-base
│   │       │   ├── 123b32dee8c0916be7b254b6f92958e301dc6d0c.svn-base
│   │       │   └── 12a1458fb42c49366faaed8171ddae503fb5ab15.svn-base
│   │       ├── 14/
│   │       │   └── 14454e2904eeb2945f745569a5641f6769839ac1.svn-base
│   │       ├── 15/
│   │       │   ├── 155e564c4426fb3b923154fa4e652fc6934ac4b9.svn-base
│   │       │   └── 1580f8d4727c72100fc52e92b664f91347882eaa.svn-base
│   │       ├── 16/
│   │       │   ├── 1616494bc0c12ac0a9ec007b1a0a586526b97064.svn-base
│   │       │   ├── 165822de404fab27a653765a13ce0e1bd68ea6d2.svn-base
│   │       │   ├── 165871e9fbe703c514e6adbf425510f41865537d.svn-base
│   │       │   ├── 16e6bad324c8afd2ad94a72688202ed35b39511f.svn-base
│   │       │   └── 16f1cbcb8a37822a0795b2dafdfc6c1ad5d798b1.svn-base
│   │       ├── 17/
│   │       │   ├── 172d1b11e61be611435d28b57f5c848e5f00a038.svn-base
│   │       │   ├── 1739a53b8c116fe6691b61e33ddec01d97e88878.svn-base
│   │       │   ├── 173b4efba62c8e1113726445e7ca5aab8fbe51fb.svn-base
│   │       │   ├── 179b81766b82ed39dc92cafa39d3140d117e9637.svn-base
│   │       │   └── 17dfcdbb7b1dd5f61b8f9ff7131397bdcdff5dae.svn-base
│   │       ├── 18/
│   │       │   ├── 1869f22f6b2ae8d22c81f06af763a8f1c48f39bf.svn-base
│   │       │   └── 18e37823a1a26d7253b1cfdd6d45c68dad171fff.svn-base
│   │       ├── 19/
│   │       │   ├── 191dda7a5142990cd980727d43b27e4802f0b321.svn-base
│   │       │   └── 19840b185149d6750f70ab0d662e03832a107e80.svn-base
│   │       ├── 1a/
│   │       │   └── 1a1b6d8c445a427921c3000c1383e598f708b67b.svn-base
│   │       ├── 1b/
│   │       │   ├── 1b00ad5c9d4d27518135c964ede6ab2d4fa2597e.svn-base
│   │       │   ├── 1b4b9d2f338f72d6dade85a786a23c82331387aa.svn-base
│   │       │   ├── 1b88893b7d15e5c0e680f5db6160020631f388f1.svn-base
│   │       │   └── 1bf19c2085868b9447cdf0163855885cc7994c89.svn-base
│   │       ├── 1e/
│   │       │   └── 1e0c2f74c138a1c6e42f01daa9a597812019d80e.svn-base
│   │       ├── 22/
│   │       │   └── 224d797b86b58491a29f35119a810b08d32268bf.svn-base
│   │       ├── 23/
│   │       │   └── 239ad79ba8eb1fd4dc046c18a81c00a63915f5b8.svn-base
│   │       ├── 25/
│   │       │   └── 252634a2dcbfd05ca7e5b69889f036a62f6adb25.svn-base
│   │       ├── 26/
│   │       │   ├── 262ed8683d11c1453b35d0107fe7abd58cbc1ed4.svn-base
│   │       │   ├── 2669873f891113a8f45506e825d0215306e95405.svn-base
│   │       │   └── 26836d081bcdd55e342d42c41930a2c8080d4c3b.svn-base
│   │       ├── 27/
│   │       │   ├── 2709b25879bca9f06f1ad9a29b0dc3d38267c407.svn-base
│   │       │   ├── 275269bd2e1ccac503cb43fc0c7f8efe6ae6f57a.svn-base
│   │       │   └── 27e5804d4d2cb888b89e5cfabb6824fcb97950e0.svn-base
│   │       ├── 28/
│   │       │   └── 28cc16730e4f03f97e077efa04843148f7f0eb0b.svn-base
│   │       ├── 29/
│   │       │   └── 297b7d83ff620a5063ef13a4a650586581f249da.svn-base
│   │       ├── 2a/
│   │       │   └── 2a16925f63f02ed070592452b023484c8c7d74f9.svn-base
│   │       ├── 2b/
│   │       │   ├── 2b9183863aa41af4a9ee6872efbec38dbe4ee4c0.svn-base
│   │       │   └── 2bc97b9c0275e37344ebaec28f1e1e703b122e04.svn-base
│   │       ├── 2e/
│   │       │   └── 2e7d9e357d7755af2a9c4fd6e66360bb46fada11.svn-base
│   │       ├── 2f/
│   │       │   ├── 2f837d0096fe345544ac838bf6ef47b6d28fd19f.svn-base
│   │       │   └── 2fc798884e09b229a782e7521f0514af17907663.svn-base
│   │       ├── 32/
│   │       │   ├── 3228fb7bd14e329a33acb71d67f2161e4d641b3a.svn-base
│   │       │   └── 32ab37fc1f7804290cfc05b9eae0b6d2e94f90d4.svn-base
│   │       ├── 33/
│   │       │   └── 3303039f37bb776905dd21392d2153fe149716a0.svn-base
│   │       ├── 34/
│   │       │   └── 3414a69cf6720ad8b2c59b2a4ab567c194f7972c.svn-base
│   │       ├── 35/
│   │       │   ├── 3515d10934a48b551b1402456f5b67b8666f229c.svn-base
│   │       │   └── 35cfe1bbbf58a190d123162eec48db046f53f7ca.svn-base
│   │       ├── 37/
│   │       │   └── 372b39f92fa0a3201ad76c089dc7a99b5f32f28c.svn-base
│   │       ├── 39/
│   │       │   └── 393dbfa86a7dc3538ebd47205ca0b65178cbaf9d.svn-base
│   │       ├── 3a/
│   │       │   └── 3a7f069c97e71ee06459dd0d2c206fa753b2c15b.svn-base
│   │       ├── 3b/
│   │       │   ├── 3b39a316b1658bf923042467679ce119d1371bda.svn-base
│   │       │   ├── 3b76a63e440aecbb07f6d8cf6779ce7f11f02331.svn-base
│   │       │   └── 3bb5415d1f04c900bd4f8c1e4e7073d6d969d8a5.svn-base
│   │       ├── 3c/
│   │       │   └── 3c755b5500ed67e7a115f31d4682bbdbedbb9973.svn-base
│   │       ├── 3d/
│   │       │   └── 3d58e2b27ddffa35119d3683bb36f3c9df5be2d7.svn-base
│   │       ├── 3e/
│   │       │   ├── 3e3d52eea62bb45233f43a2939d14cd6a04db981.svn-base
│   │       │   ├── 3e57edbe2aee66098186d9259aaf0d9847723cdf.svn-base
│   │       │   └── 3ef569381711504c6cb72917dc91c1a89b38600c.svn-base
│   │       ├── 3f/
│   │       │   ├── 3f65e30173ed2b70e5f2b0fc95e5660ae9d22e0a.svn-base
│   │       │   ├── 3f8064bff5f501960c5db56fd355a7caf85a73f4.svn-base
│   │       │   └── 3f9be07312106e729adac94b70ed33cd8512cab8.svn-base
│   │       ├── 40/
│   │       │   ├── 4002af0477e03ae32f1aabada0f53e97669a9dab.svn-base
│   │       │   └── 4066c773d5eee4a1edff9004aaf56212998a8145.svn-base
│   │       ├── 41/
│   │       │   ├── 41d153bc58aa386c2aecd8946ecc1097f65bf1ad.svn-base
│   │       │   └── 41fd2f1067816433d8a79a157c52bebf37bb9710.svn-base
│   │       ├── 42/
│   │       │   ├── 42d8c3015ce203c165397e1607e6f5d1d90ee430.svn-base
│   │       │   └── 42dd3daecfa9192c08fee4bbd3bea78b14dd6e62.svn-base
│   │       ├── 43/
│   │       │   └── 43ade5f94bd212b8f0341264306b882dec08eaf6.svn-base
│   │       ├── 44/
│   │       │   ├── 440b1c7c54c53a5ca58fc8f0823de5efeefffbb9.svn-base
│   │       │   └── 4456da451e2fd619e3db3ddc77b14d3baba318e6.svn-base
│   │       ├── 46/
│   │       │   ├── 468d410c689c1252872ae74e1c239d08da105828.svn-base
│   │       │   └── 46b4c15fb4ad1925a8d7e95736338aa7a9356b94.svn-base
│   │       ├── 47/
│   │       │   ├── 47444bc050df100e3ecf6da3b32fc3e72cedd3d7.svn-base
│   │       │   └── 47b0417634b07bfdb0ed6256262f4f2f4b7a856e.svn-base
│   │       ├── 48/
│   │       │   ├── 480e04ab9ddceb857cf30c1b1b6010c6342537d8.svn-base
│   │       │   ├── 4860d34e2aebd64d76ae4f5df50ad807e5e22c05.svn-base
│   │       │   └── 48d0faccfb224bbe9894149933cb2854ad3bb694.svn-base
│   │       ├── 49/
│   │       │   ├── 496f75bb24ef1405c8e73f308bdcb7151509d746.svn-base
│   │       │   └── 49e8e2f8c12a1fac6aaead26e96250e9ba960448.svn-base
│   │       ├── 4b/
│   │       │   └── 4b30bdfd51f28c45bfb86ab8484d8a7f7f6140e2.svn-base
│   │       ├── 4c/
│   │       │   ├── 4c0d320756d2018b3f2c3544923a939b87533800.svn-base
│   │       │   ├── 4c32cb13f7e191b3241c44246970ac9d7e713b92.svn-base
│   │       │   ├── 4c4eccd7d41781575811c734b85d67dff6154e6b.svn-base
│   │       │   ├── 4c4faf7a3fae4d0b1474561f0080995d358861ac.svn-base
│   │       │   └── 4c5bd4126c5c64210feffebd6ca48c1598729d04.svn-base
│   │       ├── 4d/
│   │       │   ├── 4d34f6dcb70ac598c17e6a49c25a45c02ce62a69.svn-base
│   │       │   └── 4dd33b6bbbb432013ab6a03d74120988b1b5dafa.svn-base
│   │       ├── 4e/
│   │       │   ├── 4e80bce2ed3fbd4a48bdff4f6f4164da875b96ff.svn-base
│   │       │   └── 4ed0557b7ff4cf07aba37568ccbd1de038264078.svn-base
│   │       ├── 4f/
│   │       │   ├── 4f53adf062407a2a7b2ca8256679b8900e465e4f.svn-base
│   │       │   └── 4f80723c94375d498af0db25808f75960a2c2473.svn-base
│   │       ├── 50/
│   │       │   ├── 502c0888a939f89f70dd678ab625659719dcacce.svn-base
│   │       │   └── 503d1f813c4b3f792fefcfe3693e3482ea2dfd77.svn-base
│   │       ├── 51/
│   │       │   ├── 51bbccc63169d80f42b31b3562188756e7faf856.svn-base
│   │       │   └── 51bcd08afdd26bc974a8473c30ac0c048b8da256.svn-base
│   │       ├── 52/
│   │       │   ├── 5204b3a546c606191efff19d064570f790216605.svn-base
│   │       │   ├── 52763619fa4bc22e847c1090e05d1c003fc8b5c0.svn-base
│   │       │   └── 52fda58379503aa334add378a8e6a4ab25584d9a.svn-base
│   │       ├── 53/
│   │       │   ├── 5342792b4917f6669851bccfd223afc98762257b.svn-base
│   │       │   └── 5387b7703a07a308df2d8e58a0cd74a04dc8d844.svn-base
│   │       ├── 55/
│   │       │   └── 5584dabbab31939f13204652d7d2e00e7e2130ef.svn-base
│   │       ├── 56/
│   │       │   └── 56eee8e2d7bb0a8d3373962f5d4280830d0c3908.svn-base
│   │       ├── 59/
│   │       │   ├── 593c2912e1d6e6037ba4ece31b487feb1df3f601.svn-base
│   │       │   ├── 599581f7be339f75fdc6bdf4a317ef9e445aaf2c.svn-base
│   │       │   └── 59ae41053ff0da6ad22693246f56e0f70c0bea6d.svn-base
│   │       ├── 5c/
│   │       │   ├── 5c1d209265523035372713c308b44f9031c72289.svn-base
│   │       │   └── 5c6ec0fdfb0db138935bab6cd5aa839d97402c1c.svn-base
│   │       ├── 5d/
│   │       │   └── 5dc4ab26970eb043b4c8f3cefad7adafb48caf6f.svn-base
│   │       ├── 5e/
│   │       │   └── 5e65a8e05db6ab2aaa56fbd0e2ee6dd2e6e3474c.svn-base
│   │       ├── 5f/
│   │       │   └── 5f0acebc023f848128fa38d876d9891373b56e2c.svn-base
│   │       ├── 60/
│   │       │   ├── 60179bf9db929e9c2394ab9becc01b3dd3e9bed7.svn-base
│   │       │   └── 601d0f18449ea3e367c25c0633849c1a5cf4a39c.svn-base
│   │       ├── 61/
│   │       │   ├── 612b00017064ed21957aa415e9840fb677afae93.svn-base
│   │       │   ├── 612fd096ed9ffb4a86958beb880d65ea39491c85.svn-base
│   │       │   └── 61495c1a4b90699e58836c323869d04f06b15620.svn-base
│   │       ├── 62/
│   │       │   ├── 6208926100d2583ba5d87f20227c4a604acd9382.svn-base
│   │       │   ├── 62791a9f1067cdb03c5d1028ae0891b663242ef6.svn-base
│   │       │   └── 62edbd46b41436760a3c09f3cadb3f1d82f28db2.svn-base
│   │       ├── 63/
│   │       │   ├── 6367919ce43bfe92d5479523fec0a5680822c1ca.svn-base
│   │       │   ├── 63b54e425f4ffad11fa680bc1cf572b119c86418.svn-base
│   │       │   └── 63ffd23296a2f78874d5fb751bd707121208718d.svn-base
│   │       ├── 64/
│   │       │   └── 64bc8985dfc7ed0da60e1b13c66003ac0f6a877b.svn-base
│   │       ├── 65/
│   │       │   ├── 6544d280df4df7d91dcb06c7de3dcf4d4fcd2d46.svn-base
│   │       │   └── 659a59cf3f55fb10ca29df177ef6ca4276fc1996.svn-base
│   │       ├── 66/
│   │       │   └── 6697aafe3ac76941b99f9c07c26a770eb1b266df.svn-base
│   │       ├── 67/
│   │       │   └── 67355c0eb0de2acb9cf3ae138f69c578ed984a61.svn-base
│   │       ├── 68/
│   │       │   ├── 68431f32b8d9d7f351e3590a2e8101e9b8d4c84f.svn-base
│   │       │   └── 68bcd275b049a2bb1d5cd85ca80e93beee19f2f1.svn-base
│   │       ├── 69/
│   │       │   └── 6997711b22a183018edac09ed79a2e57207bdbd8.svn-base
│   │       ├── 6b/
│   │       │   └── 6b685cd7417b2688e664013fbd943f808c27f0d5.svn-base
│   │       ├── 6c/
│   │       │   └── 6cbb57ba2355cf442e06899898ff5af55867103e.svn-base
│   │       ├── 6e/
│   │       │   ├── 6eaedbe74b81b8f220365b8eb6c3782366c41ab5.svn-base
│   │       │   └── 6ec4ed1b695bb6308aed00f2632ad59b65fce1ed.svn-base
│   │       ├── 70/
│   │       │   ├── 7028f8df21ad1ae3ba70044319215cb8c65d57eb.svn-base
│   │       │   └── 7068771eeeda8df42bcb7520bc3f53472f83f0bb.svn-base
│   │       ├── 73/
│   │       │   ├── 7398e363e0b9b636370da8a32e03de3dc22ed210.svn-base
│   │       │   ├── 73aeadd07a4bf19a75548d38c69e16ad772cc336.svn-base
│   │       │   ├── 73b168548249c4b9413f7457a66ba5b03df649bd.svn-base
│   │       │   └── 73d74fd28b870be544e505b67990814bf8cfeeeb.svn-base
│   │       ├── 74/
│   │       │   └── 74a30cd38611b15bb7ab53f135bf07c0fd7deb8a.svn-base
│   │       ├── 75/
│   │       │   ├── 7531f57ac71678e8bdde440906a3023f46284b44.svn-base
│   │       │   └── 753f88a86b7b62614582a464aa39815dcc11aa4e.svn-base
│   │       ├── 76/
│   │       │   ├── 76558b9539f6f4bd47172a5967607d32699c3255.svn-base
│   │       │   └── 768764aaceba888bd473a3474c94fb987e6b6ab0.svn-base
│   │       ├── 79/
│   │       │   ├── 797620391aac9db219bd1056fb531e43e212ddbc.svn-base
│   │       │   └── 79ecb6f98bbfd04362cf6c5dbeb1fb60283349f7.svn-base
│   │       ├── 7b/
│   │       │   ├── 7b16254adba579fa7a8eb12b7ca9eaffd4cbadcd.svn-base
│   │       │   ├── 7b93539091429ecbcf85d93278ecd2da2c9426ab.svn-base
│   │       │   ├── 7bc56bf8abce95597491da4f75b6e04101d1c1d8.svn-base
│   │       │   ├── 7bd52fef0b72d500aef22545fc4ae5c742d9180e.svn-base
│   │       │   └── 7bf0670c68c92c203241c3e75f43bc714560f069.svn-base
│   │       ├── 7c/
│   │       │   ├── 7c54016c22c06687e5e5e520639f75159fc26bd2.svn-base
│   │       │   └── 7c97e2760e11fafed4bfa319faf395e0fc044b96.svn-base
│   │       ├── 7d/
│   │       │   └── 7d77ecba550045d8b16f716b47443e93d2449011.svn-base
│   │       ├── 7e/
│   │       │   ├── 7e42ba096935226fd75d16121c893a18a933d10f.svn-base
│   │       │   └── 7eac42e387e1a7ab2099e86c2917dc0c4902258d.svn-base
│   │       ├── 7f/
│   │       │   ├── 7f1b7c041a69b31c81c88a2460d0eabde0d3c8b2.svn-base
│   │       │   ├── 7f4440893628e7afa0143d43f837417f2d181d7a.svn-base
│   │       │   └── 7fc76dd4b7d2df42241b9e3b32fd541eb1a71229.svn-base
│   │       ├── 80/
│   │       │   ├── 80478a6ea6a65c60dfb4f9a15c8cbf9c846389cc.svn-base
│   │       │   ├── 8074f618dc6c8d65d890e1321493e2bf2a1d546d.svn-base
│   │       │   ├── 80a5bf705cc6d7fa4b268670057ece4a18a40643.svn-base
│   │       │   └── 80dcc9c26e7755d486fb5f8179ee107358391eea.svn-base
│   │       ├── 81/
│   │       │   └── 81b8b4c54371b9e4d828afb28fbba7b53d337e14.svn-base
│   │       ├── 82/
│   │       │   └── 8236e7e4c47bc975b8c27269dd01ae5f5cb62623.svn-base
│   │       ├── 83/
│   │       │   └── 83ded14cdff196da97a2e0fa16d9415228191fa7.svn-base
│   │       ├── 84/
│   │       │   ├── 841adfbc3a67a83630fe4e8d59323c9a65bc7dc9.svn-base
│   │       │   ├── 844acf0a8d65b49a179e732d3cb60b769d1dc007.svn-base
│   │       │   └── 8456cc789280d81f492033281bfe763a98195264.svn-base
│   │       ├── 85/
│   │       │   ├── 85b0f4ac338ff0c57e79cb04a3484759505d43a6.svn-base
│   │       │   └── 85bc1e0a10025b6c4aa345e7ada281b7a222be7b.svn-base
│   │       ├── 86/
│   │       │   └── 8666e41075ef94a78ac595afbd1c22057881f2ea.svn-base
│   │       ├── 87/
│   │       │   └── 87ed1a7971ff8316e9c06cab3aa24a66628f5fd5.svn-base
│   │       ├── 88/
│   │       │   ├── 88086200176fa4174716c1498413d31868152bbf.svn-base
│   │       │   ├── 88672128e482f81485780d785042a0de90653ccf.svn-base
│   │       │   ├── 8877102eb0092dca155a7912553a38ea59dd0b7d.svn-base
│   │       │   └── 88e26cba511daf4293934d16cb43938d0f85a18a.svn-base
│   │       ├── 89/
│   │       │   ├── 890bb47791489368e99c0195e65da1893d5298e5.svn-base
│   │       │   └── 897466afec487ac93b1e691b0d32c053921d703d.svn-base
│   │       ├── 8a/
│   │       │   ├── 8a10f97888d40f0e95f38492c4a52b78328605f3.svn-base
│   │       │   ├── 8a55f6711de24bf36b97d208f5637250973bfb3a.svn-base
│   │       │   └── 8aebfef98a46c693de082a3e6e56cee2abe2b4ca.svn-base
│   │       ├── 8b/
│   │       │   ├── 8b28bb3beba839e479e84a54e71be7c78e8200de.svn-base
│   │       │   └── 8be257bc5d7693f62e1a362b1c456a5d0b72705d.svn-base
│   │       ├── 8c/
│   │       │   └── 8cb1a48fc88581b7e2e5855e1238c7da80cd3938.svn-base
│   │       ├── 8f/
│   │       │   └── 8fcbd6375e2dd1996cedaaf7e3a8950364b886a0.svn-base
│   │       ├── 91/
│   │       │   └── 918df1128aa29e930b499ddb9717293a7c7edd6d.svn-base
│   │       ├── 92/
│   │       │   └── 92fd8928bd6e3b7a6c8d6f6828a173bc2fb1dcdb.svn-base
│   │       ├── 93/
│   │       │   ├── 9378ea4758918618f3ca68b1b623f88a4bc9eead.svn-base
│   │       │   └── 93fcdfc6f7ce4a7199de5dec48fbc17f323a6608.svn-base
│   │       ├── 95/
│   │       │   ├── 957576b7f86587b65e7b367409d8473b0431c393.svn-base
│   │       │   ├── 95a4eb3af29a3beeabbde817bc588a78ddf10e0d.svn-base
│   │       │   └── 95abf644e02a344ce785c4da92c0dd5c26415b7a.svn-base
│   │       ├── 97/
│   │       │   ├── 9707a98557c27c45d90c32909d80a884476b8587.svn-base
│   │       │   ├── 97353b50fffbf78461e06e7df8ce8ed73c3b3ff0.svn-base
│   │       │   └── 975756f4219c90758891f1964f8028cecfb2c675.svn-base
│   │       ├── 98/
│   │       │   └── 98b66fdda8255fcf8ded6b705517aa48216218d6.svn-base
│   │       ├── 99/
│   │       │   ├── 9955f7f1e3c0db05fb428b4fd3e16eacc7402ae9.svn-base
│   │       │   └── 9969bc387bfdd8297a5fa77945b20785b603fd97.svn-base
│   │       ├── 9a/
│   │       │   ├── 9a475952207ff615974d1a3613e391d02b0f0dea.svn-base
│   │       │   ├── 9a641c4736e3d8f1a8c5f064a9108e7a29f03bd6.svn-base
│   │       │   └── 9ada2c0e806321f9bb3c7a6ce49707c4fdf664e1.svn-base
│   │       ├── 9c/
│   │       │   └── 9ccd2c84d73f450dc85be59fecf942f336a06eb9.svn-base
│   │       ├── 9d/
│   │       │   └── 9da5972490b164e1b1bbaede6cbd9a8dac321e16.svn-base
│   │       ├── 9e/
│   │       │   └── 9efa9da8094116c00abbe5caf55d4f981d21cf26.svn-base
│   │       ├── 9f/
│   │       │   ├── 9f6bfa62aa76b00c6effa5bdd5ddc809c7eb25d2.svn-base
│   │       │   ├── 9fa6a1ec83aa21110077788d9080718fe80ded47.svn-base
│   │       │   ├── 9fe5c764d6c2df51a97f6ea72642b71de6e49d74.svn-base
│   │       │   └── 9ff96ba0dbe9a1dc3994a9ac334ae84253988a32.svn-base
│   │       ├── a0/
│   │       │   ├── a058978066e296310b0224baa3e95484f15c8f3d.svn-base
│   │       │   ├── a058a76398ee1d977c3ccb9d799c5f02cf987f40.svn-base
│   │       │   └── a0c199fb0c472339da61f359c26d6ed7be09a81a.svn-base
│   │       ├── a1/
│   │       │   └── a1e3bda0c91a5191ca1dea31f45dcfe834accc4a.svn-base
│   │       ├── a3/
│   │       │   ├── a33eeaaaff41f46520323424ca79e399e2d53af2.svn-base
│   │       │   ├── a38075b8fb1b83550f1a05dacf4605786fe578aa.svn-base
│   │       │   └── a396b072ee70577a67f05e9a3e191e6b53027175.svn-base
│   │       ├── a4/
│   │       │   ├── a40ab46d233a41873b0b6305185cec21dd3eafbb.svn-base
│   │       │   └── a479407b3caaa90ad4a148d5455163b49b4215a6.svn-base
│   │       ├── a5/
│   │       │   ├── a51ab63cb226b77e4b11c7d516e0259a5f747e93.svn-base
│   │       │   ├── a556148b66359e94f7ccde75022d7b2b489d8164.svn-base
│   │       │   └── a5b5ca45da347e01b26e995a77d7ef21006ad211.svn-base
│   │       ├── a6/
│   │       │   ├── a6eaa9c8a5673577177d7ba1716963e4d6eb2c99.svn-base
│   │       │   └── a6f6b0da9fa33debc4577ba5f27723e8ecdc4d9d.svn-base
│   │       ├── a8/
│   │       │   ├── a84eb6e222dc8904c5558e435007c6f092727b7a.svn-base
│   │       │   ├── a8692537e0f47513d72685cbafb1b5f4109ecad3.svn-base
│   │       │   ├── a869edc0b1dd4338f482e20397e2dbe62912a059.svn-base
│   │       │   └── a86c614156384f301eb403398a3997097b05d62b.svn-base
│   │       ├── a9/
│   │       │   ├── a98cecac96dab90bff5a7d390e2b08b5297a8e48.svn-base
│   │       │   └── a9bfa28be6d44bc8d9141b6de3cb79ce07e18896.svn-base
│   │       ├── aa/
│   │       │   ├── aa1f5f1723de9aee2669dc44a26fbc0ce776d35f.svn-base
│   │       │   └── aa91bd20a01c02603ac8f4df60bef48758548c2d.svn-base
│   │       ├── ab/
│   │       │   ├── ab6b7ab673e2ad57e58f43cf6df469e7660c1182.svn-base
│   │       │   └── abe54d476058834734160b48fae6bc5471b8c286.svn-base
│   │       ├── ac/
│   │       │   └── ac007b202d175b1dbeee1e0b39c40b9bf2aaf2d1.svn-base
│   │       ├── ad/
│   │       │   ├── ad47ceaace42ef6f11b3aa1053ca4cd5b7690453.svn-base
│   │       │   ├── ad9e9267bc0cf1e8dd2be128bc64261b575b012a.svn-base
│   │       │   ├── ada4e79c592f3c54546b7587b48f2b232d95ce2f.svn-base
│   │       │   └── adda71dce0dbafaa465632a171aea826b0827811.svn-base
│   │       ├── af/
│   │       │   ├── af94415c039bc36f20fbe1a2879838752bcc261b.svn-base
│   │       │   ├── afaa4cc1820f9992969da150808bc0b865975646.svn-base
│   │       │   └── afc1bf1787c384436565994646909db35fe7e06f.svn-base
│   │       ├── b1/
│   │       │   ├── b129b276e01126de5b3b753572ac67cbfc19454c.svn-base
│   │       │   ├── b1635c8c489c829078124cb786ddef7fa6874308.svn-base
│   │       │   └── b17381433e988ec03360565dbe335798109b0ce5.svn-base
│   │       ├── b3/
│   │       │   └── b331a6ca47e1ef2d3b5a05ddec3284e368eac891.svn-base
│   │       ├── b4/
│   │       │   ├── b4009a4a73e3d207910decdd4c081653fc95ff2d.svn-base
│   │       │   ├── b40958146e888a9831f92e71c21822d9aad33ac2.svn-base
│   │       │   └── b47317a6d4f96222e98001583822da7a10e1666a.svn-base
│   │       ├── b5/
│   │       │   ├── b56b06dc60421a7f13ee470af0aa108b7cc4aaf9.svn-base
│   │       │   └── b5a923804f15b9b66af6f011650509c196365dc6.svn-base
│   │       ├── b6/
│   │       │   ├── b60de2ae0e779f56470d60616f20e0a2c2691125.svn-base
│   │       │   ├── b63a097de0cd21e7c8acb72e4604812de94ee27a.svn-base
│   │       │   ├── b686a1f6d9b224580847d33a8c9e9cd4121385f5.svn-base
│   │       │   └── b6f7ae0cdeccc15fddcaf944fd79f0caeee9c8e1.svn-base
│   │       ├── b7/
│   │       │   ├── b71bbcc3ed5f313aab07143365c17954dea611cb.svn-base
│   │       │   ├── b786870b4a198837c81a932a5573ed97c1f9b330.svn-base
│   │       │   └── b7c7bda0c8206ab1507ad2a8b5b984a47d35a7bb.svn-base
│   │       ├── b9/
│   │       │   └── b9f3ebab942f1fcc978988f97adaba308bbc3856.svn-base
│   │       ├── ba/
│   │       │   └── bab668937569a81f8a7a4fdc7e146a7d7826a792.svn-base
│   │       ├── bc/
│   │       │   └── bcd3faaa6cf5fd61ba5cca28fc53f3869efba6ef.svn-base
│   │       ├── be/
│   │       │   ├── be343c7a300518d0b06505feb2c6bf524ef6998a.svn-base
│   │       │   ├── be3779509db63a31d913a3e15a12838ecf547eb2.svn-base
│   │       │   ├── be40a3f348e92fa26d7a9415c20ce799bda9dbd1.svn-base
│   │       │   └── be4d34e022dbfb44d613b8a71dbd21aed8f7da06.svn-base
│   │       ├── bf/
│   │       │   ├── bf36db30fd21f62ccce05ce06bf8ee5cdcf2786d.svn-base
│   │       │   ├── bf44fee7478e97bd8be7ec343d88043770203c01.svn-base
│   │       │   ├── bf9edbaaf9211827d72bbbea4ac10d79b4be0342.svn-base
│   │       │   └── bfba80a118cd69053907bc7a4f976170aade4ca5.svn-base
│   │       ├── c1/
│   │       │   ├── c12d079a9312a79aad891259e664728a8057ec3a.svn-base
│   │       │   └── c1e4d4bbc841c60acadc4462a9b382249970efc9.svn-base
│   │       ├── c2/
│   │       │   ├── c23441412ad977e31ea47c1c9a36b40e7ccfd9ed.svn-base
│   │       │   ├── c278741bd0108d9182b97e725bc3b379e065218c.svn-base
│   │       │   └── c2c73d6a2e7bbbb96d7bc4ea437dc3f1fa91def2.svn-base
│   │       ├── c3/
│   │       │   ├── c361a1934353fda13cdbc2ac52126d7985c42f9d.svn-base
│   │       │   └── c3a026561fa183457b2a6d76c8ff1c41571de3e5.svn-base
│   │       ├── c4/
│   │       │   └── c45b011a7116d9ca54d4a6016811dba3b50daa14.svn-base
│   │       ├── c6/
│   │       │   ├── c638ea07b1de337b786d0e0abe47669d7c9a1428.svn-base
│   │       │   ├── c6e1a35379d80ed828362d06550f07ad3054cc18.svn-base
│   │       │   └── c6feb3d2b900dec157b8b1050c03098b1d54e0f2.svn-base
│   │       ├── c7/
│   │       │   ├── c712a89e025f89b1f35a526056f8de9b27cd5432.svn-base
│   │       │   └── c76f4caaa7a8dfe9727fa93001b3aee3b22d6716.svn-base
│   │       ├── c8/
│   │       │   └── c8599aad41212c2740da5be7edf2e2c783ca6b3c.svn-base
│   │       ├── c9/
│   │       │   └── c9518b821ffb7bfc3632d6f3af2018f985a490c3.svn-base
│   │       ├── ca/
│   │       │   ├── ca5ac963516a5057ae67d746a6c9cb6fc0e04a5e.svn-base
│   │       │   ├── ca5b6be5c09bf337b98c9ae5f0003e71351cdc84.svn-base
│   │       │   └── ca8091b80dea573a1ea2c28067ed367e01d14fe9.svn-base
│   │       ├── cb/
│   │       │   ├── cbcc5604c6d3a15c5b87d05a883343d7630801f5.svn-base
│   │       │   ├── cbde224812c451797dea193746131a8c2f048f13.svn-base
│   │       │   └── cbe4a05099ac445ef830ab5fde3394f24d853d1f.svn-base
│   │       ├── cc/
│   │       │   ├── cc20d32e79cef0c3a4289b3e8b3bfe689b8ffbc8.svn-base
│   │       │   └── ccbfb0bce061fdc77c89d57b79abababbe498b25.svn-base
│   │       ├── cd/
│   │       │   └── cd7215fe350967f1e47750410d3895fa64b67cd5.svn-base
│   │       ├── ce/
│   │       │   └── ce0c900b469d63102449e5f0464d512f5e1cfa6a.svn-base
│   │       ├── cf/
│   │       │   └── cfd8aee1dfa3a986779be752fceaf93ec25ccb8e.svn-base
│   │       ├── d1/
│   │       │   └── d1e05eac04f47b8f5e04a99056b30a4e1a954162.svn-base
│   │       ├── d2/
│   │       │   ├── d2c70b5f789a420e8fb9aafe2f197a7d852acf47.svn-base
│   │       │   ├── d2cf8c1c7967e5c36aee75d35aa80376db1464aa.svn-base
│   │       │   └── d2d1c889e08d06619782c4bad9c91d7a7e538d60.svn-base
│   │       ├── d3/
│   │       │   ├── d31623333701c5ff60ebd7196947317dac321611.svn-base
│   │       │   └── d3b208c47b61dc5d806f1cbf82c17d48aa8ac56c.svn-base
│   │       ├── d7/
│   │       │   ├── d746fd0f09198fe8afc04b64bddd20d9909584ed.svn-base
│   │       │   ├── d77875a80caf9f60108f1a3cdcbc25ed7cce8e70.svn-base
│   │       │   └── d78b2a93bc81d9fa5ed3d59ab27a8126572b05d7.svn-base
│   │       ├── d8/
│   │       │   └── d853ff8733cc94c652fd4009c4829e91d804a438.svn-base
│   │       ├── da/
│   │       │   ├── da5b3c7758a2c8fbc4775beb69d7150493c7d312.svn-base
│   │       │   └── da770fb0f41f62c3c00ea1980d072e9002bd7160.svn-base
│   │       ├── db/
│   │       │   ├── db7036fb113dd74422a670234ac70c592144a735.svn-base
│   │       │   ├── dbc355ff8abc521b647b71ca680ced7969d797a5.svn-base
│   │       │   └── dbfff77ed8b045f7db605f34bd6894b81f471e40.svn-base
│   │       ├── dc/
│   │       │   └── dcd167d5e96c34dcb4ff9f14b0a3a688e8e3ea7d.svn-base
│   │       ├── dd/
│   │       │   ├── dd476b2d84d744357129a743cd223f9a7264dd29.svn-base
│   │       │   └── dd5bd29e374c5fb3226d8a32f075530fee38233c.svn-base
│   │       ├── de/
│   │       │   ├── de6f49396ddbfe9f2bb48d8c0bb1b87b6736d394.svn-base
│   │       │   └── def85b8417714285df94a8c429a38b2a4b7484c1.svn-base
│   │       ├── df/
│   │       │   ├── df0f5d0b5f31ecda385c991122d3c8c14fc8e50c.svn-base
│   │       │   ├── df12c72fbf4c9efa7ced7128be02be12d28f8be2.svn-base
│   │       │   └── dff6fa5bd214c31be5f3588dcef7d57da534c3ea.svn-base
│   │       ├── e0/
│   │       │   └── e07142877c4eb9e1286f5302ec954a033c97b3c1.svn-base
│   │       ├── e1/
│   │       │   ├── e12d1118511ba975aabcc8987e48193b2af082f8.svn-base
│   │       │   └── e1923b7bb2208269faa9a2ff3d9826644834258c.svn-base
│   │       ├── e4/
│   │       │   ├── e43b48babff7cb8eca0cbf3b3844a6e9375669cd.svn-base
│   │       │   └── e447e13ff6f0f413f8595310d684cd25b3cf83e2.svn-base
│   │       ├── e5/
│   │       │   ├── e58d1d1cca31823b6c949d25e3f910163baff087.svn-base
│   │       │   └── e5fd87210cf8e3134cdf6db3ca6e4bb5e763fd39.svn-base
│   │       ├── e6/
│   │       │   └── e60ba4b1e604a91cbe0e23965a2a47c9ae162476.svn-base
│   │       ├── e8/
│   │       │   └── e802dc31ea7817e0e611f26f527618269e7b9895.svn-base
│   │       ├── e9/
│   │       │   └── e96d06cd852b2e38a834eae0a70227ff41473ed7.svn-base
│   │       ├── ea/
│   │       │   └── ea4266f88f97fb3a72c675d0056d65854cdaf098.svn-base
│   │       ├── eb/
│   │       │   ├── eb5cb6780e790de938491dd439facbd16aa76dfa.svn-base
│   │       │   ├── eb844ede23583a249f97de2c1bffb026607b4061.svn-base
│   │       │   ├── eb91474a5fbe05784d1169e1bd1af97911acdfe7.svn-base
│   │       │   └── eb9432dc005620dfc56c26598263c84b0bdac403.svn-base
│   │       ├── ec/
│   │       │   ├── ec17221211c0d4f95cbd5d9586967d5c1bd4cbb1.svn-base
│   │       │   ├── ec2d462cec313ade3c58f5193873d2bb9392de97.svn-base
│   │       │   ├── ec39671c29894db3fa1977b3a37dfd3796c7c8bc.svn-base
│   │       │   └── ec5e2b3cae849767bc704510ce8fac611180af2a.svn-base
│   │       ├── ef/
│   │       │   └── efe256fdd63c4486557689c1dbae7c407b319a7e.svn-base
│   │       ├── f0/
│   │       │   ├── f02ae36481e291d73b0abad69380b45538736860.svn-base
│   │       │   └── f04e16007b6097d0117dedf39885527f1c2a245b.svn-base
│   │       ├── f1/
│   │       │   ├── f109f78440f665b87980bd24ce0d251550b41c10.svn-base
│   │       │   ├── f14d9e38fb84776985991713c82bf11019b4b9e6.svn-base
│   │       │   ├── f1571592a039ac77a7f934df44222f51f12cee3d.svn-base
│   │       │   ├── f1b2c78e811175926d162a5088dc55f156b79264.svn-base
│   │       │   ├── f1c1123bcbbd3963df8bda3a7e16b48b14002c1d.svn-base
│   │       │   └── f1d8ae845851c1a4fdbca366edfe52d2a82b604b.svn-base
│   │       ├── f4/
│   │       │   ├── f43aaa9f62337c5705fd8e2535183079cd29919d.svn-base
│   │       │   ├── f45af3d6c723b33989095512f39d1633232d67d7.svn-base
│   │       │   └── f4e87fa56dd0ace818ffda464feddb69ef999c97.svn-base
│   │       ├── f5/
│   │       │   └── f525b45eee5955c2e441a3dcbccaaf97ee1dfaf5.svn-base
│   │       ├── f6/
│   │       │   ├── f6353681bbae89f42162fe94487fbd5dbd178aed.svn-base
│   │       │   ├── f64ba160ee74df3c84bb9c12b6d06ad3f2906898.svn-base
│   │       │   └── f6d34d93400d5ddbc73d904d5e8dbb99a38257b3.svn-base
│   │       ├── f8/
│   │       │   ├── f8208d7c9099f63467832af0e58aab0108a6914f.svn-base
│   │       │   ├── f8c8cf0dea3d095e7207c2ce537bafd0ee8d1127.svn-base
│   │       │   └── f8cbe1b82ece1fbd3ca3693a0f6ebc75c3358ec2.svn-base
│   │       ├── fa/
│   │       │   ├── fa0ddb92bbb11c23ead942147bf4d68e4c0547b5.svn-base
│   │       │   └── fa13a5cdfb112cbf1dd7970583865c6a1b366285.svn-base
│   │       ├── fb/
│   │       │   ├── fb3c77eb561a6439d8e4cf4495bd45af2ec726c3.svn-base
│   │       │   ├── fb633c4085ddbd5f5d2575c5ee38aae909346613.svn-base
│   │       │   ├── fbb361a11dd38e238ed9c73a05a57870dda79dd7.svn-base
│   │       │   └── fbe4da581317f12178bd812963ba961f0da8bcf7.svn-base
│   │       ├── fc/
│   │       │   └── fce80b1ca55cc48ef67a1336156c362e41a98c1d.svn-base
│   │       └── ff/
│   │           ├── ff8404bbffc5935a8deae296970b410b56f2be02.svn-base
│   │           └── ffb9369fe3688fcdb52ceb0d6d46bbbd6d909e7e.svn-base
│   ├── AndroidManifest.xml
│   ├── assets/
│   │   ├── border_config/
│   │   │   ├── Gallery/
│   │   │   │   ├── 10M.xml
│   │   │   │   ├── 118S.xml
│   │   │   │   ├── 3M.xml
│   │   │   │   ├── 41M.xml
│   │   │   │   ├── 42M.xml
│   │   │   │   └── Config.json
│   │   │   ├── Simple/
│   │   │   │   ├── 23M.xml
│   │   │   │   ├── 29M.xml
│   │   │   │   ├── 2M.xml
│   │   │   │   ├── 36M.xml
│   │   │   │   ├── 38M.xml
│   │   │   │   └── Config.json
│   │   │   └── Styled/
│   │   │       ├── 30S.xml
│   │   │       ├── 37S.xml
│   │   │       ├── 43S.xml
│   │   │       ├── 49S.xml
│   │   │       ├── 51S.xml
│   │   │       └── Config.json
│   │   ├── fonts_config/
│   │   │   ├── Charm/
│   │   │   │   └── Config.json
│   │   │   └── Classic/
│   │   │       └── Config.json
│   │   ├── fonts_res/
│   │   │   ├── AmericanTypewriter.ttc
│   │   │   ├── Garogier.otf
│   │   │   ├── Miama.otf
│   │   │   ├── Noteworthy.ttc
│   │   │   ├── Sofia.otf
│   │   │   └── Stencil Std.otf
│   │   ├── fx_config/
│   │   │   ├── Analog/
│   │   │   │   ├── 11.xml
│   │   │   │   ├── 27.xml
│   │   │   │   ├── 73.xml
│   │   │   │   ├── 74.xml
│   │   │   │   ├── 75.xml
│   │   │   │   ├── 76.xml
│   │   │   │   ├── 78.xml
│   │   │   │   ├── 80.xml
│   │   │   │   └── Config.json
│   │   │   ├── Lomo/
│   │   │   │   ├── 1.xml
│   │   │   │   ├── 10.xml
│   │   │   │   ├── 102.xml
│   │   │   │   ├── 103.xml
│   │   │   │   ├── 2.xml
│   │   │   │   ├── 23.xml
│   │   │   │   ├── 4.xml
│   │   │   │   ├── 5.xml
│   │   │   │   ├── 7.xml
│   │   │   │   └── Config.json
│   │   │   ├── OldPicture/
│   │   │   │   ├── 10.xml
│   │   │   │   ├── 111.xml
│   │   │   │   ├── 112.xml
│   │   │   │   ├── 114.xml
│   │   │   │   ├── 28.xml
│   │   │   │   ├── 6.xml
│   │   │   │   └── Config.json
│   │   │   ├── Retro/
│   │   │   │   ├── 104.xml
│   │   │   │   ├── 118.xml
│   │   │   │   ├── 16.xml
│   │   │   │   ├── 17.xml
│   │   │   │   ├── 8.xml
│   │   │   │   ├── 9.xml
│   │   │   │   └── Config.json
│   │   │   └── Vintage/
│   │   │       ├── 108.xml
│   │   │       ├── 109.xml
│   │   │       ├── 110.xml
│   │   │       ├── 6.xml
│   │   │       ├── 91.xml
│   │   │       ├── 93.xml
│   │   │       └── Config.json
│   │   ├── scenes/
│   │   │   ├── 160.xml
│   │   │   ├── 161.xml
│   │   │   ├── 162.xml
│   │   │   ├── 163.xml
│   │   │   ├── 164.xml
│   │   │   ├── 165.xml
│   │   │   ├── 166.xml
│   │   │   ├── 167.xml
│   │   │   ├── 168.xml
│   │   │   ├── 169.xml
│   │   │   ├── 170.xml
│   │   │   ├── 171.xml
│   │   │   └── 173.xml
│   │   └── stickers_config/
│   │       ├── Boom/
│   │       │   └── Config.json
│   │       ├── Decoration/
│   │       │   └── Config.json
│   │       ├── Love/
│   │       │   └── Config.json
│   │       ├── Party/
│   │       │   └── Config.json
│   │       └── Text/
│   │           └── Config.json
│   ├── bin/
│   │   ├── AndroidManifest.xml
│   │   ├── FotorSDKDemo.apk
│   │   ├── R.txt
│   │   ├── classes.dex
│   │   ├── dexedLibs/
│   │   │   ├── android-support-v4-15c67f7264087cb18a22dcadd559d4aa.jar
│   │   │   ├── eibitmaplibrary-9e660ee3815c1a2bd2c0bb5373818beb.jar
│   │   │   ├── fotorsdk-v1.0.7-381b468e66bb469bdea84d2d6eb1ae81.jar
│   │   │   ├── fotorsdklibrary-19f8c3904a7680fe41f833f5650750d7.jar
│   │   │   ├── gson-2.2.4-a5f050a398a10e240f34a91a7923b58f.jar
│   │   │   └── renderscript-v8-934f712584d6e234d7344d156bb53e1f.jar
│   │   └── resources.ap_
│   ├── gen/
│   │   └── com/
│   │       ├── everimaging/
│   │       │   └── fotorsdk/
│   │       │       └── R.java
│   │       └── example/
│   │           └── fotorsdkdemo/
│   │               ├── BuildConfig.java
│   │               └── R.java
│   ├── lint.xml
│   ├── proguard-project.txt
│   ├── project.properties
│   ├── res/
│   │   ├── color/
│   │   │   ├── photo_editor_button_background_color.xml
│   │   │   └── photo_editor_button_text_color.xml
│   │   ├── drawable/
│   │   │   └── photo_editor_button_background.xml
│   │   ├── layout/
│   │   │   └── activity_main.xml
│   │   ├── values/
│   │   │   ├── colors.xml
│   │   │   ├── dimens.xml
│   │   │   ├── strings.xml
│   │   │   └── styles.xml
│   │   ├── values-sw600dp/
│   │   │   └── dimens.xml
│   │   ├── values-sw720dp-land/
│   │   │   └── dimens.xml
│   │   ├── values-v11/
│   │   │   └── styles.xml
│   │   └── values-v14/
│   │       └── styles.xml
│   └── src/
│       └── com/
│           └── example/
│               └── fotorsdkdemo/
│                   └── MainActivity.java
├── LICENSE
└── README.md
Download .txt
SYMBOL INDEX (58 symbols across 4 files)

FILE: FotorSDKDemo/gen/com/everimaging/fotorsdk/R.java
  class R (line 9) | public final class R {
    class anim (line 10) | public static final class anim {
    class attr (line 17) | public static final class attr {
    class color (line 75) | public static final class color {
    class dimen (line 136) | public static final class dimen {
    class drawable (line 188) | public static final class drawable {
    class id (line 589) | public static final class id {
    class integer (line 717) | public static final class integer {
    class layout (line 722) | public static final class layout {
    class menu (line 766) | public static final class menu {
    class raw (line 769) | public static final class raw {
    class string (line 774) | public static final class string {
    class style (line 887) | public static final class style {
    class styleable (line 900) | public static final class styleable {

FILE: FotorSDKDemo/gen/com/example/fotorsdkdemo/BuildConfig.java
  class BuildConfig (line 4) | public final class BuildConfig {

FILE: FotorSDKDemo/gen/com/example/fotorsdkdemo/R.java
  class R (line 10) | public final class R {
    class anim (line 11) | public static final class anim {
    class attr (line 18) | public static final class attr {
    class color (line 389) | public static final class color {
    class dimen (line 459) | public static final class dimen {
    class drawable (line 523) | public static final class drawable {
    class id (line 928) | public static final class id {
    class integer (line 1061) | public static final class integer {
    class layout (line 1066) | public static final class layout {
    class menu (line 1111) | public static final class menu {
    class raw (line 1114) | public static final class raw {
    class string (line 1119) | public static final class string {
    class style (line 1242) | public static final class style {
    class styleable (line 1288) | public static final class styleable {

FILE: FotorSDKDemo/src/com/example/fotorsdkdemo/MainActivity.java
  class MainActivity (line 51) | public class MainActivity extends Activity {
    method onCreate (line 85) | @Override
    method pickFromGallery (line 128) | private void pickFromGallery() {
    method onResume (line 137) | @Override
    method handleIntent (line 151) | private void handleIntent(Intent intent) {
    method loadAsync (line 177) | private void loadAsync(final Uri uri) {
    method onDestroy (line 192) | @Override
    method onContentChanged (line 199) | @Override
    method onActivityResult (line 215) | @Override
    method onSaveCompletion (line 256) | private String onSaveCompletion() {
    class ProcessHDTask (line 285) | class ProcessHDTask extends AsyncTask<Void, Void, String> {
      method ProcessHDTask (line 290) | public ProcessHDTask(Context context) {
      method onPreExecute (line 294) | @Override
      method doInBackground (line 300) | @Override
      method onPostExecute (line 305) | @Override
    method deleteSession (line 326) | private void deleteSession(final String session_id) {
    method setImageURI (line 339) | @SuppressWarnings("deprecation")
    method updateMedia (line 358) | private void updateMedia(String filepath) {
    method pickRandomImage (line 369) | @SuppressWarnings("unused")
    method generateOutputFileName (line 406) | private File generateOutputFileName() {
    method startFeature (line 422) | private void startFeature(Uri uri) {
    method isExternalStorageAvilable (line 520) | private boolean isExternalStorageAvilable() {
    method createFolders (line 534) | private File createFolders() {
    class DownloadAsync (line 559) | class DownloadAsync extends AsyncTask<Uri, Void, Bitmap> implements
      method onPreExecute (line 565) | @Override
      method doInBackground (line 577) | @Override
      method onPostExecute (line 591) | @Override
      method onCancel (line 608) | @Override
      method onCancelled (line 614) | @Override
Condensed preview — 508 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (744K chars).
[
  {
    "path": ".gitmodules",
    "chars": 91,
    "preview": "[submodule \"library\"]\n\tpath = library\n\turl = https://github.com/Fotor/FotorSDK-android.git\n"
  },
  {
    "path": "FotorSDKDemo/.classpath",
    "chars": 466,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<classpath>\n\t<classpathentry kind=\"src\" path=\"src\"/>\n\t<classpathentry kind=\"src\" "
  },
  {
    "path": "FotorSDKDemo/.project",
    "chars": 815,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<projectDescription>\n\t<name>FotorSDKDemo</name>\n\t<comment></comment>\n\t<projects>\n"
  },
  {
    "path": "FotorSDKDemo/.settings/org.eclipse.jdt.core.prefs",
    "chars": 173,
    "preview": "eclipse.preferences.version=1\norg.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6\norg.eclipse.jdt.core.compiler.com"
  },
  {
    "path": "FotorSDKDemo/.svn/entries",
    "chars": 2,
    "preview": "12"
  },
  {
    "path": "FotorSDKDemo/.svn/format",
    "chars": 2,
    "preview": "12"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/07/070b79fa25398f4fa224b4626dd75e6c67df2c2e.svn-base",
    "chars": 1038,
    "preview": "<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<Base"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/0c/0c4712419da14d194f0812257ba40bd32de21e40.svn-base",
    "chars": 55,
    "preview": "[\"118.xml\",\"16.xml\",\"8.xml\",\"9.xml\",\"104.xml\",\"17.xml\"]"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/0d/0d332441cbc270af2413544d854c84ccd4f39121.svn-base",
    "chars": 644,
    "preview": "<Effect name=\"BandW\" type=\"B/W\" id=\"112\">\r\n    <Allocation name=\"level\"/>\r\n    \r\n    <BaseFilter name=\"Level\">\r\n        "
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/0f/0fa23e0c9fe055fc7671e5d3a43a97ed7d2673e4.svn-base",
    "chars": 546,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n\n    <color name=\"title_background\">#E5414850</color>\n    <color name"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/10/108fa6b5bc6a26dee57333789683c3fd03e43f72.svn-base",
    "chars": 73,
    "preview": "[\"11.xml\",\"74.xml\",\"76.xml\",\"75.xml\",\"73.xml\",\"80.xml\",\"78.xml\",\"27.xml\"]"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/12/12244ee01c7eff76c02a29c1743c3f3fdad680f2.svn-base",
    "chars": 1054,
    "preview": "[[\"stickers_decoration_1.png\",\n\"stickers_decoration_1_icon.png\"],\n[\"stickers_decoration_2.png\",\n\"stickers_decoration_2_i"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/12/12a1458fb42c49366faaed8171ddae503fb5ab15.svn-base",
    "chars": 1379,
    "preview": "<Effect name=\"Red Wash\"  type=\"Analog\" id=\"80\">\r\n\t<Allocation name=\"tableTexture1\"/>\r\n\t<Allocation name=\"tableTexture2\"/"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/16/1616494bc0c12ac0a9ec007b1a0a586526b97064.svn-base",
    "chars": 3353,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andr"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/16/165822de404fab27a653765a13ce0e1bd68ea6d2.svn-base",
    "chars": 15822,
    "preview": "package com.example.fotorsdkdemo;\n\nimport java.io.File;\n\nimport com.everimaging.fotorsdk.FotorConstants;\nimport com.ever"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/16/16f1cbcb8a37822a0795b2dafdfc6c1ad5d798b1.svn-base",
    "chars": 1411,
    "preview": "<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</R"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/17/173b4efba62c8e1113726445e7ca5aab8fbe51fb.svn-base",
    "chars": 815,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<projectDescription>\n\t<name>FotorSDKDemo</name>\n\t<comment></comment>\n\t<projects>\n"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/17/179b81766b82ed39dc92cafa39d3140d117e9637.svn-base",
    "chars": 584,
    "preview": "<Effect name=\"Shade\" type=\"Scenes\" id=\"166\">\r\n    <Allocation name=\"tableTexture\"/>\r\n\t\r\n    <BaseFilter name=\"Curve\">\r\n "
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/18/1869f22f6b2ae8d22c81f06af763a8f1c48f39bf.svn-base",
    "chars": 333,
    "preview": "<Effect name=\"Grayscale\" type=\"BorW\" id=\"111\">\r\n    <BaseFilter name=\"Level\">\r\n        <src>SRC</src>\r\n        <dst>DST<"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/1b/1bf19c2085868b9447cdf0163855885cc7994c89.svn-base",
    "chars": 854,
    "preview": "<Effect name=\"GreenGlow\" type=\"Vintage\" id=\"93\">\r\n    <Allocation name=\"tableTexture\"/>\r\n    \r\n    <BaseFilter name=\"Vig"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/26/2669873f891113a8f45506e825d0215306e95405.svn-base",
    "chars": 781,
    "preview": "# To enable ProGuard in your project, edit project.properties\n# to define the proguard.config property as described in t"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/27/2709b25879bca9f06f1ad9a29b0dc3d38267c407.svn-base",
    "chars": 654,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <item "
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/27/275269bd2e1ccac503cb43fc0c7f8efe6ae6f57a.svn-base",
    "chars": 3004,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andr"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/27/27e5804d4d2cb888b89e5cfabb6824fcb97950e0.svn-base",
    "chars": 1163,
    "preview": "<Effect name=\"DeepBlue\" type=\"Vintage\" id=\"110\">\r\n    <Allocation name=\"level\"/>\r\n    <Allocation name=\"tableTexture\"/>\r"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/28/28cc16730e4f03f97e077efa04843148f7f0eb0b.svn-base",
    "chars": 582,
    "preview": "<Effect name=\"Food\" type=\"Scenes\" id=\"160\">\r\n    <Allocation name=\"tableTexture\"/>\r\n\t\r\n    <BaseFilter name=\"Curve\">\r\n  "
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/2b/2b9183863aa41af4a9ee6872efbec38dbe4ee4c0.svn-base",
    "chars": 269,
    "preview": "<resources>\n\n    <!--\n         Customize dimensions originally defined in res/values/dimens.xml (such as\n         screen"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/2f/2fc798884e09b229a782e7521f0514af17907663.svn-base",
    "chars": 768,
    "preview": "# This file is automatically generated by Android Tools.\n# Do not modify this file -- YOUR CHANGES WILL BE ERASED!\n#\n# T"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/32/3228fb7bd14e329a33acb71d67f2161e4d641b3a.svn-base",
    "chars": 1149,
    "preview": "<Effect name=\"Blue\" type=\"Vintage\" id=\"108\">\r\n    <Allocation name=\"level\"/>\r\n    <Allocation name=\"tableTexture\"/>\r\n   "
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/3b/3b76a63e440aecbb07f6d8cf6779ce7f11f02331.svn-base",
    "chars": 15637,
    "preview": "package com.example.fotorsdkdemo;\n\nimport java.io.File;\n\nimport com.everimaging.fotorsdk.FotorConstants;\nimport com.ever"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/3b/3bb5415d1f04c900bd4f8c1e4e7073d6d969d8a5.svn-base",
    "chars": 1438,
    "preview": "<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."
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/3c/3c755b5500ed67e7a115f31d4682bbdbedbb9973.svn-base",
    "chars": 1424,
    "preview": "<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"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/3e/3e3d52eea62bb45233f43a2939d14cd6a04db981.svn-base",
    "chars": 787,
    "preview": "<Effect name=\"Toy\" type=\"Old Picture\" id=\"10\">\r\n    <Allocation name=\"tableTexture\"/>\r\n    \r\n    <BaseFilter name=\"Curve"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/3e/3e57edbe2aee66098186d9259aaf0d9847723cdf.svn-base",
    "chars": 137,
    "preview": "<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    </"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/42/42d8c3015ce203c165397e1607e6f5d1d90ee430.svn-base",
    "chars": 57,
    "preview": "[\"108.xml\",\"109.xml\",\"110.xml\",\"91.xml\",\"93.xml\",\"6.xml\"]"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/47/47444bc050df100e3ecf6da3b32fc3e72cedd3d7.svn-base",
    "chars": 993,
    "preview": "<Effect name=\"Sepia\" type=\"Retro\" id=\"118\">\r\n    <Allocation name=\"vignette\"/>\r\n    <Allocation name=\"level\"/>\r\n    \r\n  "
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/4c/4c0d320756d2018b3f2c3544923a939b87533800.svn-base",
    "chars": 1229,
    "preview": "{\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\"f"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/4c/4c32cb13f7e191b3241c44246970ac9d7e713b92.svn-base",
    "chars": 427,
    "preview": "<resources>\n\n    <!-- Default screen margins, per the Android Design guidelines. -->\n    <dimen name=\"activity_horizonta"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/4d/4d34f6dcb70ac598c17e6a49c25a45c02ce62a69.svn-base",
    "chars": 222,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n\n    <string name=\"app_name\">FotorSDKDemo</string>\n    <string name=\""
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/4f/4f80723c94375d498af0db25808f75960a2c2473.svn-base",
    "chars": 1424,
    "preview": "<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"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/50/503d1f813c4b3f792fefcfe3693e3482ea2dfd77.svn-base",
    "chars": 585,
    "preview": "<Effect name=\"Night\" type=\"Scenes\" id=\"162\">\r\n    <Allocation name=\"tableTexture\"/>\r\n\t\r\n    <BaseFilter name=\"Curve\">\r\n "
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/51/51bbccc63169d80f42b31b3562188756e7faf856.svn-base",
    "chars": 588,
    "preview": "<Effect name=\"Portrait\" type=\"Scenes\" id=\"173\">\r\n    <Allocation name=\"tableTexture\"/>\r\n\t\r\n    <BaseFilter name=\"Curve\">"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/59/593c2912e1d6e6037ba4ece31b487feb1df3f601.svn-base",
    "chars": 412,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n\n    <string name=\"app_name\">FotorSDKDemo</string>\n    <string name=\""
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/60/60179bf9db929e9c2394ab9becc01b3dd3e9bed7.svn-base",
    "chars": 567,
    "preview": "<Effect name=\"Pittsburgh\" type=\"Analog\" id=\"11\">\r\n\t<Allocation name=\"tableTexture\"/>\r\n\t\r\n\t<BaseFilter name=\"Curve\">\r\n   "
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/60/601d0f18449ea3e367c25c0633849c1a5cf4a39c.svn-base",
    "chars": 598,
    "preview": "<Effect name=\"Sunset\" type=\"Scenes\" id=\"164\">\r\n    <Allocation name=\"tableTexture\" />\r\n\t\r\n    <BaseFilter name=\"Curve\">\r"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/61/612b00017064ed21957aa415e9840fb677afae93.svn-base",
    "chars": 2951,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andr"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/62/62791a9f1067cdb03c5d1028ae0891b663242ef6.svn-base",
    "chars": 604,
    "preview": "<Effect name=\"GlowGrayscale\" type=\"B/W\" id=\"28\">\r\n    <BaseFilter name=\"Level\">\r\n        <src>SRC</src>\r\n        <dst>TM"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/63/6367919ce43bfe92d5479523fec0a5680822c1ca.svn-base",
    "chars": 15955,
    "preview": "package com.example.fotorsdkdemo;\n\nimport java.io.File;\n\nimport com.everimaging.fotorsdk.FotorConstants;\nimport com.ever"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/66/6697aafe3ac76941b99f9c07c26a770eb1b266df.svn-base",
    "chars": 639,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <item "
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/68/68431f32b8d9d7f351e3590a2e8101e9b8d4c84f.svn-base",
    "chars": 590,
    "preview": "<Effect name=\"Fluorescent\" type=\"Scenes\" id=\"165\">\r\n    <Allocation name=\"tableTexture\"/>\r\n\t\r\n    <BaseFilter name=\"Curv"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/68/68bcd275b049a2bb1d5cd85ca80e93beee19f2f1.svn-base",
    "chars": 1439,
    "preview": "<Effect name=\"Hot Fudge\" type=\"Analog\" id=\"78\">\r\n\t<Allocation name=\"tableTexture1\"/>\r\n\t<Allocation name=\"tableTexture2\"/"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/70/7068771eeeda8df42bcb7520bc3f53472f83f0bb.svn-base",
    "chars": 15607,
    "preview": "package com.example.fotorsdkdemo;\n\nimport java.io.File;\n\nimport com.everimaging.fotorsdk.FotorConstants;\nimport com.ever"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/73/73aeadd07a4bf19a75548d38c69e16ad772cc336.svn-base",
    "chars": 611,
    "preview": "<Effect name=\"Sunset\" type=\"Vintage\" id=\"6\">\r\n    <Allocation name=\"tableTexture\"/>\r\n    \r\n    <BaseFilter name=\"Curve\">"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/73/73b168548249c4b9413f7457a66ba5b03df649bd.svn-base",
    "chars": 1175,
    "preview": "<Effect name=\"Virginia\" type=\"Vintage\" id=\"109\">\r\n    <Allocation name=\"level\"/>\r\n    <Allocation name=\"tableTexture\"/>\r"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/73/73d74fd28b870be544e505b67990814bf8cfeeeb.svn-base",
    "chars": 15822,
    "preview": "package com.example.fotorsdkdemo;\n\nimport java.io.File;\n\nimport com.everimaging.fotorsdk.FotorConstants;\nimport com.ever"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/75/7531f57ac71678e8bdde440906a3023f46284b44.svn-base",
    "chars": 273,
    "preview": "{\n\"borderItems\":[\n{\"filename\":\"118S.xml\",\"thumbThickness\":0.14},\n{\"filename\":\"42M.xml\",\"thumbThickness\":0.19},\n{\"filenam"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/76/768764aaceba888bd473a3474c94fb987e6b6ab0.svn-base",
    "chars": 1381,
    "preview": "<Effect name=\"Real-illusion\" type=\"Analog\" id=\"75\">\r\n\t<Allocation name=\"tableTexture1\"/>\r\n\t<Allocation name=\"tableTextur"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/79/79ecb6f98bbfd04362cf6c5dbeb1fb60283349f7.svn-base",
    "chars": 601,
    "preview": "<Effect name=\"Inkwell\" type=\"Retro\" id=\"104\">\r\n    <BaseFilter name=\"Level\">\r\n        <src>SRC</src>\r\n        <dst>TMP</"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/7b/7bc56bf8abce95597491da4f75b6e04101d1c1d8.svn-base",
    "chars": 2278,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andr"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/7b/7bd52fef0b72d500aef22545fc4ae5c742d9180e.svn-base",
    "chars": 2948,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    package="
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/7b/7bf0670c68c92c203241c3e75f43bc714560f069.svn-base",
    "chars": 1395,
    "preview": "<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</RightTo"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/7c/7c97e2760e11fafed4bfa319faf395e0fc044b96.svn-base",
    "chars": 894,
    "preview": "[[\"stickers_party_1.png\",\n\"stickers_party_1_icon.png\"],\n[\"stickers_party_2.png\",\n\"stickers_party_2_icon.png\"],\n[\"sticker"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/7e/7eac42e387e1a7ab2099e86c2917dc0c4902258d.svn-base",
    "chars": 862,
    "preview": "[[\"stickers_boom_1.png\",\n\"stickers_boom_1_icon.png\"],\n[\"stickers_boom_2.png\",\n\"stickers_boom_2_icon.png\"],\n[\"stickers_bo"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/7f/7fc76dd4b7d2df42241b9e3b32fd541eb1a71229.svn-base",
    "chars": 213,
    "preview": "<resources>\n\n    <!-- Default screen margins, per the Android Design guidelines. -->\n    <dimen name=\"activity_horizonta"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/82/8236e7e4c47bc975b8c27269dd01ae5f5cb62623.svn-base",
    "chars": 196,
    "preview": "<resources>\n\n    <!--\n         Customize dimensions originally defined in res/values/dimens.xml (such as\n         screen"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/88/88086200176fa4174716c1498413d31868152bbf.svn-base",
    "chars": 79,
    "preview": "[\"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",
    "chars": 696,
    "preview": "<resources>\n\n    <!--\n        Base application theme, dependent on API level. This theme is replaced\n        by AppBaseT"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/8a/8a55f6711de24bf36b97d208f5637250973bfb3a.svn-base",
    "chars": 137,
    "preview": "<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    </"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/8c/8cb1a48fc88581b7e2e5855e1238c7da80cd3938.svn-base",
    "chars": 137,
    "preview": "<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    </"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/91/918df1128aa29e930b499ddb9717293a7c7edd6d.svn-base",
    "chars": 1431,
    "preview": "<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</Ri"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/93/9378ea4758918618f3ca68b1b623f88a4bc9eead.svn-base",
    "chars": 511,
    "preview": "<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        "
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/95/95a4eb3af29a3beeabbde817bc588a78ddf10e0d.svn-base",
    "chars": 1208,
    "preview": "<Effect name=\"Purple\" type=\"Retro\" id=\"17\">\r\n    <Allocation name=\"level\"/>\r\n    <Allocation name=\"saturation\"/>\r\n    \r\n"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/95/95abf644e02a344ce785c4da92c0dd5c26415b7a.svn-base",
    "chars": 266,
    "preview": "{\n\"borderItems\":[\n{\"filename\":\"23M.xml\",\"thumbThickness\":0.27},\n{\"filename\":\"29M.xml\",\"thumbThickness\":0.23},\n{\"filename"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/97/975756f4219c90758891f1964f8028cecfb2c675.svn-base",
    "chars": 1427,
    "preview": "<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</Ri"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/99/9955f7f1e3c0db05fb428b4fd3e16eacc7402ae9.svn-base",
    "chars": 3034,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    package="
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/99/9969bc387bfdd8297a5fa77945b20785b603fd97.svn-base",
    "chars": 270,
    "preview": "{\n\"borderItems\":[\n{\"filename\":\"30S.xml\",\"thumbThickness\":0.05},\n{\"filename\":\"37S.xml\",\"thumbThickness\":0.05},\n{\"filename"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/9a/9a475952207ff615974d1a3613e391d02b0f0dea.svn-base",
    "chars": 833,
    "preview": "<Effect name=\"Earlybird\" type=\"Lomo\" id=\"23\">\r\n\t<Allocation name=\"tableTexture\"/>\r\n\t<Allocation name=\"dst\"/>\r\n\r\n\t<BaseFi"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/9a/9ada2c0e806321f9bb3c7a6ce49707c4fdf664e1.svn-base",
    "chars": 1674,
    "preview": "<Effect name=\"Dawn Light\" type=\"Analog\" id=\"74\">\r\n\t<Allocation name=\"tmp\"/>\r\n\t<Allocation name=\"tableTexture1\"/>\r\n\t<Allo"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/9d/9da5972490b164e1b1bbaede6cbd9a8dac321e16.svn-base",
    "chars": 53,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<lint>\n</lint>"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/9e/9efa9da8094116c00abbe5caf55d4f981d21cf26.svn-base",
    "chars": 1209,
    "preview": "<Effect name=\"Pale-Ocre\" type=\"Retro\" id=\"16\">\r\n    <Allocation name=\"level\"/>\r\n    <Allocation name=\"saturation\"/>\r\n   "
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/9f/9f6bfa62aa76b00c6effa5bdd5ddc809c7eb25d2.svn-base",
    "chars": 137,
    "preview": "<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    </"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/9f/9ff96ba0dbe9a1dc3994a9ac334ae84253988a32.svn-base",
    "chars": 18131,
    "preview": "package com.example.fotorsdkdemo;\n\nimport java.io.File;\n\nimport com.everimaging.fotorsdk.FotorConstants;\nimport com.ever"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/a0/a058978066e296310b0224baa3e95484f15c8f3d.svn-base",
    "chars": 2943,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    package="
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/a1/a1e3bda0c91a5191ca1dea31f45dcfe834accc4a.svn-base",
    "chars": 576,
    "preview": "<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       "
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/a3/a33eeaaaff41f46520323424ca79e399e2d53af2.svn-base",
    "chars": 996,
    "preview": "<Effect name=\"Walden\" type=\"Lomo\" id=\"2\">\r\n\t<Allocation name=\"level\"/>\r\n\t<Allocation name=\"tableTexture\"/>\r\n\r\n\t<BaseFilt"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/a3/a396b072ee70577a67f05e9a3e191e6b53027175.svn-base",
    "chars": 466,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<classpath>\n\t<classpathentry kind=\"src\" path=\"src\"/>\n\t<classpathentry kind=\"src\" "
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/a5/a556148b66359e94f7ccde75022d7b2b489d8164.svn-base",
    "chars": 390,
    "preview": "<resources>\n\n    <!--\n        Base application theme for API 14+. This theme completely replaces\n        AppBaseTheme fr"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/a5/a5b5ca45da347e01b26e995a77d7ef21006ad211.svn-base",
    "chars": 578,
    "preview": "<Effect name=\"Landscape\" type=\"Scenes\" id=\"163\">\r\n    <Allocation name=\"tableTexture\"/>\r\n\t\r\n    <BaseFilter name=\"Curve\""
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/a9/a98cecac96dab90bff5a7d390e2b08b5297a8e48.svn-base",
    "chars": 2219,
    "preview": "{\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\": "
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/aa/aa1f5f1723de9aee2669dc44a26fbc0ce776d35f.svn-base",
    "chars": 324,
    "preview": "<resources>\n\n    <!--\n        Base application theme for API 11+. This theme completely replaces\n        AppBaseTheme fr"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/aa/aa91bd20a01c02603ac8f4df60bef48758548c2d.svn-base",
    "chars": 1403,
    "preview": "<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<"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/ad/ad9e9267bc0cf1e8dd2be128bc64261b575b012a.svn-base",
    "chars": 862,
    "preview": "[[\"stickers_love_1.png\",\n\"stickers_love_1_icon.png\"],\n[\"stickers_love_2.png\",\n\"stickers_love_2_icon.png\"],\n[\"stickers_lo"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/af/afaa4cc1820f9992969da150808bc0b865975646.svn-base",
    "chars": 1415,
    "preview": "<Effect name=\"Mini-Oven\" type=\"Analog\" id=\"73\">\r\n\t<Allocation name=\"tableTexture1\"/>\r\n\t<Allocation name=\"tableTexture2\"/"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/af/afc1bf1787c384436565994646909db35fe7e06f.svn-base",
    "chars": 15339,
    "preview": "package com.example.fotorsdkdemo;\n\nimport java.io.File;\n\nimport com.everimaging.fotorsdk.FotorConstants;\nimport com.ever"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/b1/b129b276e01126de5b3b753572ac67cbfc19454c.svn-base",
    "chars": 381,
    "preview": "<resources>\n\n    <!--\n        Base application theme for API 14+. This theme completely replaces\n        AppBaseTheme fr"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/b6/b63a097de0cd21e7c8acb72e4604812de94ee27a.svn-base",
    "chars": 609,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <item "
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/b7/b786870b4a198837c81a932a5573ed97c1f9b330.svn-base",
    "chars": 15749,
    "preview": "package com.example.fotorsdkdemo;\n\nimport java.io.File;\n\nimport com.everimaging.fotorsdk.FotorConstants;\nimport com.ever"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/b9/b9f3ebab942f1fcc978988f97adaba308bbc3856.svn-base",
    "chars": 562,
    "preview": "<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       "
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/be/be343c7a300518d0b06505feb2c6bf524ef6998a.svn-base",
    "chars": 593,
    "preview": "<Effect name=\"Darken\" type=\"Scenes\" id=\"168\">\r\n    <Allocation name=\"tableTexture\"/>\r\n\t\r\n    <BaseFilter name=\"Curve\">\r\n"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/bf/bf44fee7478e97bd8be7ec343d88043770203c01.svn-base",
    "chars": 347,
    "preview": "<resources>\n\n    <!--\n        Base application theme for API 11+. This theme completely replaces\n        AppBaseTheme fr"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/bf/bf9edbaaf9211827d72bbbea4ac10d79b4be0342.svn-base",
    "chars": 2196,
    "preview": "{\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\": "
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/c2/c23441412ad977e31ea47c1c9a36b40e7ccfd9ed.svn-base",
    "chars": 316,
    "preview": "<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</ds"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/c2/c2c73d6a2e7bbbb96d7bc4ea437dc3f1fa91def2.svn-base",
    "chars": 596,
    "preview": "<Effect name=\"Backlit\" type=\"Scenes\" id=\"169\">\r\n    <Allocation name=\"tableTexture\"/>\r\n\t\r\n    <BaseFilter name=\"Curve\">\r"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/c3/c3a026561fa183457b2a6d76c8ff1c41571de3e5.svn-base",
    "chars": 1010,
    "preview": "<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<Ba"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/c4/c45b011a7116d9ca54d4a6016811dba3b50daa14.svn-base",
    "chars": 71,
    "preview": "<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",
    "chars": 16965,
    "preview": "package com.example.fotorsdkdemo;\n\nimport java.io.File;\n\nimport com.everimaging.fotorsdk.FotorConstants;\nimport com.ever"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/c7/c76f4caaa7a8dfe9727fa93001b3aee3b22d6716.svn-base",
    "chars": 680,
    "preview": "<resources>\n\n    <!--\n        Base application theme, dependent on API level. This theme is replaced\n        by AppBaseT"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/c8/c8599aad41212c2740da5be7edf2e2c783ca6b3c.svn-base",
    "chars": 15616,
    "preview": "package com.example.fotorsdkdemo;\n\nimport java.io.File;\n\nimport com.everimaging.fotorsdk.FotorConstants;\nimport com.ever"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/ca/ca5b6be5c09bf337b98c9ae5f0003e71351cdc84.svn-base",
    "chars": 1750,
    "preview": "<Effect name=\"Nostalgic\" type=\"Analog\" id=\"76\">\r\n\t<Allocation name=\"tableTexture1\"/>\r\n\t<Allocation name=\"tableTexture2\"/"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/cc/cc20d32e79cef0c3a4289b3e8b3bfe689b8ffbc8.svn-base",
    "chars": 2166,
    "preview": "{\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\": "
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/cc/ccbfb0bce061fdc77c89d57b79abababbe498b25.svn-base",
    "chars": 665,
    "preview": "<Effect name=\"Relief\" type=\"Vintage\" id=\"91\">\r\n    <Allocation name=\"technicolor\"/>\r\n    \r\n    <BaseFilter name=\"Technic"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/d2/d2c70b5f789a420e8fb9aafe2f197a7d852acf47.svn-base",
    "chars": 2941,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    package="
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/d2/d2cf8c1c7967e5c36aee75d35aa80376db1464aa.svn-base",
    "chars": 601,
    "preview": "<Effect name=\"Flash\" type=\"Scenes\" id=\"170\">\r\n    <Allocation name=\"tableTexture\" />\r\n\t\r\n    <BaseFilter name=\"Curve\">\r\n"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/d2/d2d1c889e08d06619782c4bad9c91d7a7e538d60.svn-base",
    "chars": 371,
    "preview": "[[\"stickers_text_1.png\",\n\"stickers_text_1_icon.png\"],\n[\"stickers_text_2.png\",\n\"stickers_text_2_icon.png\"],\n[\"stickers_te"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/d7/d746fd0f09198fe8afc04b64bddd20d9909584ed.svn-base",
    "chars": 173,
    "preview": "eclipse.preferences.version=1\norg.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6\norg.eclipse.jdt.core.compiler.com"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/da/da770fb0f41f62c3c00ea1980d072e9002bd7160.svn-base",
    "chars": 606,
    "preview": "<Effect name=\"Cloudy\" type=\"Scenes\" id=\"167\">\r\n    <Allocation name=\"tableTexture\"/>\r\n\t\r\n    <BaseFilter name=\"Curve\">\r\n"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/db/db7036fb113dd74422a670234ac70c592144a735.svn-base",
    "chars": 15838,
    "preview": "package com.example.fotorsdkdemo;\n\nimport java.io.File;\n\nimport com.everimaging.fotorsdk.FotorConstants;\nimport com.ever"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/db/dbfff77ed8b045f7db605f34bd6894b81f471e40.svn-base",
    "chars": 537,
    "preview": "<Effect name=\"Nashville\" type=\"Lomo\" id=\"103\">\r\n\t<Allocation name=\"tableTexture\"/>\r\n\t\r\n\t<BaseFilter name=\"Curve\">\r\n     "
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/dd/dd476b2d84d744357129a743cd223f9a7264dd29.svn-base",
    "chars": 57,
    "preview": "[\"6.xml\",\"10.xml\",\"114.xml\",\"111.xml\",\"112.xml\",\"28.xml\"]"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/de/def85b8417714285df94a8c429a38b2a4b7484c1.svn-base",
    "chars": 15663,
    "preview": "package com.example.fotorsdkdemo;\n\nimport java.io.File;\n\nimport com.everimaging.fotorsdk.FotorConstants;\nimport com.ever"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/df/df12c72fbf4c9efa7ced7128be02be12d28f8be2.svn-base",
    "chars": 144,
    "preview": "<Frame name=\"Instant\" type=\"Gallery\" id=\"118\">\r\n    <Unity>118S.png</Unity>\r\n    \r\n    <params>\r\n        <mode>S</mode>\r"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/df/dff6fa5bd214c31be5f3588dcef7d57da534c3ea.svn-base",
    "chars": 1427,
    "preview": "<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</Ri"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/e1/e12d1118511ba975aabcc8987e48193b2af082f8.svn-base",
    "chars": 591,
    "preview": "<Effect name=\"Warm\" type=\"Retro\" id=\"8\">\r\n    <Allocation name=\"tableTexture\"/>\r\n    \r\n    <BaseFilter name=\"Curve\">\r\n  "
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/e5/e58d1d1cca31823b6c949d25e3f910163baff087.svn-base",
    "chars": 641,
    "preview": "<Effect name=\"BW\" type=\"B/W\" id=\"112\">\r\n    <Allocation name=\"level\"/>\r\n    \r\n    <BaseFilter name=\"Level\">\r\n        <sr"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/e5/e5fd87210cf8e3134cdf6db3ca6e4bb5e763fd39.svn-base",
    "chars": 15206,
    "preview": "package com.example.fotorsdkdemo;\n\nimport java.io.File;\n\nimport com.everimaging.fotorsdk.FotorConstants;\nimport com.ever"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/e8/e802dc31ea7817e0e611f26f527618269e7b9895.svn-base",
    "chars": 640,
    "preview": "<Effect name=\"Sunset\" type=\"Scenes\" id=\"164\">\r\n    <Allocation name=\"tableTexture\">\r\n\t\t<file>e164_c1.jpg</file>\r\n\t</Allo"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/eb/eb91474a5fbe05784d1169e1bd1af97911acdfe7.svn-base",
    "chars": 1076,
    "preview": "<Effect name=\"Theatre\" type=\"Scenes\" id=\"171\">\r\n    <Allocation name=\"tableTexture1\"/>\r\n\t<Allocation name=\"tableTexture2"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/ec/ec17221211c0d4f95cbd5d9586967d5c1bd4cbb1.svn-base",
    "chars": 3108,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    package="
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/ec/ec2d462cec313ade3c58f5193873d2bb9392de97.svn-base",
    "chars": 709,
    "preview": "<Effect name=\"Scratch\" type=\"Scratch\" id=\"114\">\r\n    <Allocation name=\"level\"/>\r\n    <Allocation name=\"texture\">\r\n      "
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/ec/ec5e2b3cae849767bc704510ce8fac611180af2a.svn-base",
    "chars": 643,
    "preview": "<Effect name=\"Flash\" type=\"Scenes\" id=\"170\">\r\n    <Allocation name=\"tableTexture\">\r\n\t\t<file>e170_c1.jpg</file>\r\n\t</Alloc"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/f1/f14d9e38fb84776985991713c82bf11019b4b9e6.svn-base",
    "chars": 558,
    "preview": "<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     "
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/f1/f1571592a039ac77a7f934df44222f51f12cee3d.svn-base",
    "chars": 635,
    "preview": "# This file is automatically generated by Android Tools.\n# Do not modify this file -- YOUR CHANGES WILL BE ERASED!\n#\n# T"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/f1/f1b2c78e811175926d162a5088dc55f156b79264.svn-base",
    "chars": 1069,
    "preview": "<Effect name=\"Hippie\" type=\"Old Picture\" id=\"6\">\r\n    <Allocation name=\"tableTexture\"/>\r\n    \r\n    <BaseFilter name=\"Cur"
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/fa/fa13a5cdfb112cbf1dd7970583865c6a1b366285.svn-base",
    "chars": 580,
    "preview": "<Effect name=\"Sand/Snow\" type=\"Scenes\" id=\"161\">\r\n    <Allocation name=\"tableTexture\"/>\r\n\t\r\n    <BaseFilter name=\"Curve\""
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/fb/fb3c77eb561a6439d8e4cf4495bd45af2ec726c3.svn-base",
    "chars": 558,
    "preview": "<Effect name=\"WarmGreen\" type=\"Retro\" id=\"9\">\r\n    <Allocation name=\"tableTexture\"/>\r\n    \r\n    <BaseFilter name=\"Curve\""
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/fc/fce80b1ca55cc48ef67a1336156c362e41a98c1d.svn-base",
    "chars": 2221,
    "preview": "{\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\""
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/ff/ff8404bbffc5935a8deae296970b410b56f2be02.svn-base",
    "chars": 139,
    "preview": "<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    "
  },
  {
    "path": "FotorSDKDemo/.svn/pristine/ff/ffb9369fe3688fcdb52ceb0d6d46bbbd6d909e7e.svn-base",
    "chars": 137,
    "preview": "<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    </"
  },
  {
    "path": "FotorSDKDemo/AndroidManifest.xml",
    "chars": 3108,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    package="
  },
  {
    "path": "FotorSDKDemo/assets/border_config/Gallery/10M.xml",
    "chars": 1424,
    "preview": "<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"
  },
  {
    "path": "FotorSDKDemo/assets/border_config/Gallery/118S.xml",
    "chars": 144,
    "preview": "<Frame name=\"Instant\" type=\"Gallery\" id=\"118\">\r\n    <Unity>118S.png</Unity>\r\n    \r\n    <params>\r\n        <mode>S</mode>\r"
  },
  {
    "path": "FotorSDKDemo/assets/border_config/Gallery/3M.xml",
    "chars": 1403,
    "preview": "<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<"
  },
  {
    "path": "FotorSDKDemo/assets/border_config/Gallery/41M.xml",
    "chars": 1424,
    "preview": "<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"
  },
  {
    "path": "FotorSDKDemo/assets/border_config/Gallery/42M.xml",
    "chars": 1438,
    "preview": "<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."
  },
  {
    "path": "FotorSDKDemo/assets/border_config/Gallery/Config.json",
    "chars": 273,
    "preview": "{\n\"borderItems\":[\n{\"filename\":\"118S.xml\",\"thumbThickness\":0.14},\n{\"filename\":\"42M.xml\",\"thumbThickness\":0.19},\n{\"filenam"
  },
  {
    "path": "FotorSDKDemo/assets/border_config/Simple/23M.xml",
    "chars": 1431,
    "preview": "<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</Ri"
  },
  {
    "path": "FotorSDKDemo/assets/border_config/Simple/29M.xml",
    "chars": 1411,
    "preview": "<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</R"
  },
  {
    "path": "FotorSDKDemo/assets/border_config/Simple/2M.xml",
    "chars": 1395,
    "preview": "<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</RightTo"
  },
  {
    "path": "FotorSDKDemo/assets/border_config/Simple/36M.xml",
    "chars": 1427,
    "preview": "<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</Ri"
  },
  {
    "path": "FotorSDKDemo/assets/border_config/Simple/38M.xml",
    "chars": 1427,
    "preview": "<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</Ri"
  },
  {
    "path": "FotorSDKDemo/assets/border_config/Simple/Config.json",
    "chars": 266,
    "preview": "{\n\"borderItems\":[\n{\"filename\":\"23M.xml\",\"thumbThickness\":0.27},\n{\"filename\":\"29M.xml\",\"thumbThickness\":0.23},\n{\"filename"
  },
  {
    "path": "FotorSDKDemo/assets/border_config/Styled/30S.xml",
    "chars": 137,
    "preview": "<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    </"
  },
  {
    "path": "FotorSDKDemo/assets/border_config/Styled/37S.xml",
    "chars": 137,
    "preview": "<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    </"
  },
  {
    "path": "FotorSDKDemo/assets/border_config/Styled/43S.xml",
    "chars": 137,
    "preview": "<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    </"
  },
  {
    "path": "FotorSDKDemo/assets/border_config/Styled/49S.xml",
    "chars": 137,
    "preview": "<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    </"
  },
  {
    "path": "FotorSDKDemo/assets/border_config/Styled/51S.xml",
    "chars": 137,
    "preview": "<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    </"
  },
  {
    "path": "FotorSDKDemo/assets/border_config/Styled/Config.json",
    "chars": 270,
    "preview": "{\n\"borderItems\":[\n{\"filename\":\"30S.xml\",\"thumbThickness\":0.05},\n{\"filename\":\"37S.xml\",\"thumbThickness\":0.05},\n{\"filename"
  },
  {
    "path": "FotorSDKDemo/assets/fonts_config/Charm/Config.json",
    "chars": 2166,
    "preview": "{\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\": "
  },
  {
    "path": "FotorSDKDemo/assets/fonts_config/Classic/Config.json",
    "chars": 1229,
    "preview": "{\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\"f"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Analog/11.xml",
    "chars": 567,
    "preview": "<Effect name=\"Pittsburgh\" type=\"Analog\" id=\"11\">\r\n\t<Allocation name=\"tableTexture\"/>\r\n\t\r\n\t<BaseFilter name=\"Curve\">\r\n   "
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Analog/27.xml",
    "chars": 316,
    "preview": "<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</ds"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Analog/73.xml",
    "chars": 1415,
    "preview": "<Effect name=\"Mini-Oven\" type=\"Analog\" id=\"73\">\r\n\t<Allocation name=\"tableTexture1\"/>\r\n\t<Allocation name=\"tableTexture2\"/"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Analog/74.xml",
    "chars": 1674,
    "preview": "<Effect name=\"Dawn Light\" type=\"Analog\" id=\"74\">\r\n\t<Allocation name=\"tmp\"/>\r\n\t<Allocation name=\"tableTexture1\"/>\r\n\t<Allo"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Analog/75.xml",
    "chars": 1381,
    "preview": "<Effect name=\"Real-illusion\" type=\"Analog\" id=\"75\">\r\n\t<Allocation name=\"tableTexture1\"/>\r\n\t<Allocation name=\"tableTextur"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Analog/76.xml",
    "chars": 1750,
    "preview": "<Effect name=\"Nostalgic\" type=\"Analog\" id=\"76\">\r\n\t<Allocation name=\"tableTexture1\"/>\r\n\t<Allocation name=\"tableTexture2\"/"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Analog/78.xml",
    "chars": 1439,
    "preview": "<Effect name=\"Hot Fudge\" type=\"Analog\" id=\"78\">\r\n\t<Allocation name=\"tableTexture1\"/>\r\n\t<Allocation name=\"tableTexture2\"/"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Analog/80.xml",
    "chars": 1379,
    "preview": "<Effect name=\"Red Wash\"  type=\"Analog\" id=\"80\">\r\n\t<Allocation name=\"tableTexture1\"/>\r\n\t<Allocation name=\"tableTexture2\"/"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Analog/Config.json",
    "chars": 73,
    "preview": "[\"11.xml\",\"74.xml\",\"76.xml\",\"75.xml\",\"73.xml\",\"80.xml\",\"78.xml\",\"27.xml\"]"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Lomo/1.xml",
    "chars": 1010,
    "preview": "<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<Ba"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Lomo/10.xml",
    "chars": 511,
    "preview": "<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        "
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Lomo/102.xml",
    "chars": 562,
    "preview": "<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       "
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Lomo/103.xml",
    "chars": 537,
    "preview": "<Effect name=\"Nashville\" type=\"Lomo\" id=\"103\">\r\n\t<Allocation name=\"tableTexture\"/>\r\n\t\r\n\t<BaseFilter name=\"Curve\">\r\n     "
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Lomo/2.xml",
    "chars": 996,
    "preview": "<Effect name=\"Walden\" type=\"Lomo\" id=\"2\">\r\n\t<Allocation name=\"level\"/>\r\n\t<Allocation name=\"tableTexture\"/>\r\n\r\n\t<BaseFilt"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Lomo/23.xml",
    "chars": 833,
    "preview": "<Effect name=\"Earlybird\" type=\"Lomo\" id=\"23\">\r\n\t<Allocation name=\"tableTexture\"/>\r\n\t<Allocation name=\"dst\"/>\r\n\r\n\t<BaseFi"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Lomo/4.xml",
    "chars": 1038,
    "preview": "<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<Base"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Lomo/5.xml",
    "chars": 576,
    "preview": "<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       "
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Lomo/7.xml",
    "chars": 558,
    "preview": "<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     "
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Lomo/Config.json",
    "chars": 79,
    "preview": "[\"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",
    "chars": 787,
    "preview": "<Effect name=\"Toy\" type=\"Old Picture\" id=\"10\">\r\n    <Allocation name=\"tableTexture\"/>\r\n    \r\n    <BaseFilter name=\"Curve"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/OldPicture/111.xml",
    "chars": 333,
    "preview": "<Effect name=\"Grayscale\" type=\"BorW\" id=\"111\">\r\n    <BaseFilter name=\"Level\">\r\n        <src>SRC</src>\r\n        <dst>DST<"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/OldPicture/112.xml",
    "chars": 641,
    "preview": "<Effect name=\"BW\" type=\"B/W\" id=\"112\">\r\n    <Allocation name=\"level\"/>\r\n    \r\n    <BaseFilter name=\"Level\">\r\n        <sr"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/OldPicture/114.xml",
    "chars": 709,
    "preview": "<Effect name=\"Scratch\" type=\"Scratch\" id=\"114\">\r\n    <Allocation name=\"level\"/>\r\n    <Allocation name=\"texture\">\r\n      "
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/OldPicture/28.xml",
    "chars": 604,
    "preview": "<Effect name=\"GlowGrayscale\" type=\"B/W\" id=\"28\">\r\n    <BaseFilter name=\"Level\">\r\n        <src>SRC</src>\r\n        <dst>TM"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/OldPicture/6.xml",
    "chars": 1069,
    "preview": "<Effect name=\"Hippie\" type=\"Old Picture\" id=\"6\">\r\n    <Allocation name=\"tableTexture\"/>\r\n    \r\n    <BaseFilter name=\"Cur"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/OldPicture/Config.json",
    "chars": 57,
    "preview": "[\"6.xml\",\"10.xml\",\"114.xml\",\"111.xml\",\"112.xml\",\"28.xml\"]"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Retro/104.xml",
    "chars": 601,
    "preview": "<Effect name=\"Inkwell\" type=\"Retro\" id=\"104\">\r\n    <BaseFilter name=\"Level\">\r\n        <src>SRC</src>\r\n        <dst>TMP</"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Retro/118.xml",
    "chars": 993,
    "preview": "<Effect name=\"Sepia\" type=\"Retro\" id=\"118\">\r\n    <Allocation name=\"vignette\"/>\r\n    <Allocation name=\"level\"/>\r\n    \r\n  "
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Retro/16.xml",
    "chars": 1209,
    "preview": "<Effect name=\"Pale-Ocre\" type=\"Retro\" id=\"16\">\r\n    <Allocation name=\"level\"/>\r\n    <Allocation name=\"saturation\"/>\r\n   "
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Retro/17.xml",
    "chars": 1208,
    "preview": "<Effect name=\"Purple\" type=\"Retro\" id=\"17\">\r\n    <Allocation name=\"level\"/>\r\n    <Allocation name=\"saturation\"/>\r\n    \r\n"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Retro/8.xml",
    "chars": 591,
    "preview": "<Effect name=\"Warm\" type=\"Retro\" id=\"8\">\r\n    <Allocation name=\"tableTexture\"/>\r\n    \r\n    <BaseFilter name=\"Curve\">\r\n  "
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Retro/9.xml",
    "chars": 558,
    "preview": "<Effect name=\"WarmGreen\" type=\"Retro\" id=\"9\">\r\n    <Allocation name=\"tableTexture\"/>\r\n    \r\n    <BaseFilter name=\"Curve\""
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Retro/Config.json",
    "chars": 55,
    "preview": "[\"118.xml\",\"16.xml\",\"8.xml\",\"9.xml\",\"104.xml\",\"17.xml\"]"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Vintage/108.xml",
    "chars": 1149,
    "preview": "<Effect name=\"Blue\" type=\"Vintage\" id=\"108\">\r\n    <Allocation name=\"level\"/>\r\n    <Allocation name=\"tableTexture\"/>\r\n   "
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Vintage/109.xml",
    "chars": 1175,
    "preview": "<Effect name=\"Virginia\" type=\"Vintage\" id=\"109\">\r\n    <Allocation name=\"level\"/>\r\n    <Allocation name=\"tableTexture\"/>\r"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Vintage/110.xml",
    "chars": 1163,
    "preview": "<Effect name=\"DeepBlue\" type=\"Vintage\" id=\"110\">\r\n    <Allocation name=\"level\"/>\r\n    <Allocation name=\"tableTexture\"/>\r"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Vintage/6.xml",
    "chars": 611,
    "preview": "<Effect name=\"Sunset\" type=\"Vintage\" id=\"6\">\r\n    <Allocation name=\"tableTexture\"/>\r\n    \r\n    <BaseFilter name=\"Curve\">"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Vintage/91.xml",
    "chars": 665,
    "preview": "<Effect name=\"Relief\" type=\"Vintage\" id=\"91\">\r\n    <Allocation name=\"technicolor\"/>\r\n    \r\n    <BaseFilter name=\"Technic"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Vintage/93.xml",
    "chars": 854,
    "preview": "<Effect name=\"GreenGlow\" type=\"Vintage\" id=\"93\">\r\n    <Allocation name=\"tableTexture\"/>\r\n    \r\n    <BaseFilter name=\"Vig"
  },
  {
    "path": "FotorSDKDemo/assets/fx_config/Vintage/Config.json",
    "chars": 57,
    "preview": "[\"108.xml\",\"109.xml\",\"110.xml\",\"91.xml\",\"93.xml\",\"6.xml\"]"
  },
  {
    "path": "FotorSDKDemo/assets/scenes/160.xml",
    "chars": 582,
    "preview": "<Effect name=\"Food\" type=\"Scenes\" id=\"160\">\r\n    <Allocation name=\"tableTexture\"/>\r\n\t\r\n    <BaseFilter name=\"Curve\">\r\n  "
  },
  {
    "path": "FotorSDKDemo/assets/scenes/161.xml",
    "chars": 580,
    "preview": "<Effect name=\"Sand/Snow\" type=\"Scenes\" id=\"161\">\r\n    <Allocation name=\"tableTexture\"/>\r\n\t\r\n    <BaseFilter name=\"Curve\""
  }
]

// ... and 308 more files (download for full content)

About this extraction

This page contains the full source code of the zhaozeyx/ImageEditor-android GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 508 files (23.5 MB), approximately 218.0k tokens, and a symbol index with 58 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!