Search code examples
androidimageimage-processingaviary

How can I change the ordering of Crop Effect given by Aviary for Android


I am using Aviary version 3.1.1 to provide effects for photos in android. But I want user to directly jump to Crop screen in Aviary. I don't want to remove any of them but just chage their ordering. Please refer to the pic below:

enter image description here

Also inside the Crop page I want to remove all the other options except Square. Please refer to the image below:

enter image description here

I have looked in SO for this too but cannot find any related Docs in Aviary or SO. Please help me to resolve this doc with some links. Thanks in Advance.


Solution

  • This issue was resolved later by me. I have used Aviary library "Aviary-Android-SDK-3.2.0" (However this has no relation to my answer and I have used this as it was the latest at that time)

    1) For the first point, while calling FeatherActivity.class from your code, please do this:

    String[] tools = new String[] { "CROP", "ENHANCE", "EFFECTS",
                        "BORDERS", "STICKERS", "TILT_SHIFT", "ADJUST",
                        "BRIGHTNESS", "CONTRAST", "SATURATION", "COLORTEMP",
                        "SHARPNESS", "COLOR_SPLASH", "DRAWING", "TEXT",
                        "RED_EYE", "WHITEN", "BLEMISH", "MEME", };
                Intent newIntent = new Intent(this, FeatherActivity.class);
                newIntent.setData(Uri.parse(data.getData().toString()));
                newIntent.putExtra(Constants.EXTRA_TOOLS_LIST, tools);
                // extra-api-key-secret
                newIntent.putExtra(Constants.EXTRA_IN_API_KEY_SECRET,
                        Constant.AVIARY_API_KEY_SECRET);
                startActivityForResult(newIntent, AVIARY);
    

    Hence for that issue, we need to exceptionally pass all the variables we want and in that exact order, we will see that in our app, as suggested by cjwirth here.

    2) Now for the second point, we need to edit aviary_config.xml of Aviary SDK. The aviary_config.xml file contains all the customizable behaviors of the SDK, like the colors to show inside the text tool or the drawing tool, the sizes of the brush tools, the custom crop ratios for the crop tool, the default font used in the meme tool, etc. You could also look for that here in official Aviary site. Just change the past as: <string-array name="aviary_crop_labels"> <item>@string/feather_square</item> </string-array>

    or any options you want from the given.