From c3f6083f0a11f8c491529097320fcf8c1c6fc2e4 Mon Sep 17 00:00:00 2001 From: Sven Naehler Date: Tue, 30 May 2017 16:02:02 +0200 Subject: [PATCH] Bump Version to v4.0 --- README.md | 48 ++-- app/build.gradle | 7 +- .../android/app/MainActivity.java | 3 + build.gradle | 2 +- example_files/CustomEventTracker.java | 230 +++++++----------- 5 files changed, 130 insertions(+), 160 deletions(-) diff --git a/README.md b/README.md index 009eb762..378963f2 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ +

@@ -8,11 +9,11 @@ - + - Maven + Maven Twitter @@ -24,17 +25,21 @@ -## PhotoEditor SDK for Android by img.ly +## img.ly SDK for Android -The [PhotoEditor SDK](https://www.photoeditorsdk.com/?utm_campaign=Projects&utm_source=Github&utm_medium=PESDK&utm_term=Android) for Android is for creating stunning images with a nice selection of premium filters. +img.ly SDK for Android is for creating stunning images with a nice selection of premium filters. Get it on Google Play +## License +The PhotoEditorSDK is a product of 9elements GmbH. +Please [order a license](https://www.photoeditorsdk.com/pricing#contact/?utm_campaign=Projects&utm_source=Github&utm_medium=Side_Projects&utm_content=Android-Demo). Please see the included [LICENSE.PROPIETARY](https://github.com/imgly/imgly-sdk-android/blob/master/LICENSE.PROPIETARY) for licensing details. + ### Overview -The img.ly [PhotoEditor SDK](https://www.photoeditorsdk.com/?utm_campaign=Projects&utm_source=Github&utm_medium=PESDK&utm_term=Android) provides a variety of tools and functions for creating photo applications for Android. It is licensed under a proprietary license and intended to be used as better alternative for free software applications such as the [GPUImage](https://github.com/CyberAgent/android-gpuimage) or similiar libraries. If you are interested in our SDK, please [contact us](#author--contact). +The img.ly Photo Editor SDK provides a variety of tools and functions for creating photo applications for Android. It is licensed under a proprietary license and intended to be used as better alternative for free software applications such as the [GPUImage](https://github.com/CyberAgent/android-gpuimage) or similiar libraries. If you are interested in our SDK, please [contact us](#author--contact). #### SDK Core @@ -56,7 +61,7 @@ Two Google support libraries needed or used by the SDK. ### Features -* __Android API Level 15+__. Covers nearly 95% of all Android devices. +* __Android API Level 16+__. Covers nearly 99% of all Android devices with touchscreen. * __Default UI__. for camera preview and editing. Based on Intents and Activities. * __Fast image export up to 4294 MegaPixel__. Even with large images and slow devices with low memory the export is done in adequate time with a intelligent unrivaled background processing technology. * __Generic camera support__. Integrated and featureful on the most Android phones. @@ -71,23 +76,17 @@ editing tools. Export and integrate them in minutes! * __Low memory footprint__. even with high resolution images. * __Extensible and customizable toolkit interface__. Add your own customized filters with [Renderscript](https://developer.android.com/guide/topics/renderscript/index.html) and modify tool properties yourself. -### License - -The PhotoEditor SDK for Android is a licensed library which can be used for different purposes.
-Please see: - - [LICENSE.PROPIETARY](https://github.com/imgly/imgly-sdk-android/blob/master/LICENSE.PROPIETARY) for PROPIETARY usage. ### Author & Contact © 9elements GmbH
[Email](mailto:eray.basar@9elements.com)
-[Homepage](https://www.photoeditorsdk.com/?utm_campaign=Projects&utm_source=Github&utm_medium=PESDK&utm_term=Android)
+[Homepage](http://www.9elements.com)
[Follow us on Twitter](https://twitter.com/9elements) ## Installation -> The SDK requires a minimum deployment target of Android API 15 (4.0.4) and Device with HardwareLayer (for LivePreview) and LargeHeap Support (to operate and export large images) +> This SDK requires a minimum deployment target of Android API 15 (4.0.4) and Device with HardwareLayer (for LivePreview), but our official support is starting with API 16 (4.1) ##### 1. Add the imgly maven repo to the project build.gradle. @@ -105,7 +104,7 @@ Please see: ``` -##### 2. Configure your Module build.gradle to import the PhotoEditor SDK into your project with jCenter. +##### 2. Configure your Module build.gradle to import the img.ly SDK into your project with jCenter. There are few things we'll need to add here. See comments in the example code below. @@ -115,6 +114,9 @@ __DO NOT FORGET TO ADD RENDERSCRIPT SUPPORT!__ ```groovy apply plugin: 'com.android.application' +/* Optional if you do not use the build-processor see below */ +apply plugin: 'com.neenbedankt.android-apt' + android { /* Set the Compile SDK and the Build SDK 25. */ compileSdkVersion 25 @@ -131,7 +133,7 @@ android { /* Set the minimum supported SDK Version to 15 (Android 4.0.3) or higher */ minSdkVersion 15 - /* Set the target SDK Version at minimum to 24 or higher */ + /* Set the target SDK Version at minimum to 25 or higher */ targetSdkVersion 25 /* Set your own Version Code and Version name */ @@ -154,7 +156,12 @@ android { dependencies { /* Make sure you are import the latest SDK version */ - compile 'ly.img.android:photo-editor-sdk:3.1.0' + compile 'ly.img.android:photo-editor-sdk:4.0.0' + + /* This is optional if you do not want use an `EventTracker` and do not extend our SDK, otherwise it is required. + * don't forget to apply the APT plugin see above + */ + apt 'ly.img.android:build-processor:4.0.0' } //... @@ -197,14 +204,14 @@ public class Application extends android.app.Application { ##### 4. Add the License file -Before using any components of the PhotoEditor SDK, you have to add your license key file to your application assets folder. +Before using any components of the Photo Editor SDK, you have to add your license key file to your application assets folder. The default name of the license file is "LICENSE" change this by calling `PESDK.init(this, "FILENAME");` instead of `PESDK.init(this);` -The license is digitally signed so it can not be altered without becoming invalid. Our sample app comes with its own license, so you can try that right away. To try our SDK in your own app, you need to request a trial license because a license is bound to a bundle identifier. You can start a free two week trial with a demo license [here](https://www.photoeditorsdk.com/users/new/?utm_campaign=Projects&utm_source=Github&utm_medium=PESDK&utm_term=Android). +The license is digitally signed so it can not be altered without becoming invalid. Our sample app comes with its own license, so you can try that right away. To try our SDK in your own app, you need to request a trial license because a license is bound to a bundle identifier. You can request a demo license at https://www.photoeditorsdk.com/pricing. Once you have the license file it can be used to unlock the view controller. The following example demonstrates the unlock the SDK. -##### 5. Start PhotoEditor SDK default UI. +##### 5. Start img.ly SDK default UI. This is what your Activity should look like. Follow the steps below to understand the individual workflow: @@ -456,6 +463,7 @@ public class MyActivity extends Activity implements PermissionRequest.Response { public class MyActivity extends Activity implements PermissionRequest.Response { // ... public void setMyEventTracker(SettingsList settingsList) { + settingsList.setEventProcessor(your.packagename.PESDKEvents.clss); settingsList.setEventTracker(new CustomEventTracker(Application.ANALYTICS_TRACK_ID)); } // ... diff --git a/app/build.gradle b/app/build.gradle index 7d15b9e1..374fdb78 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -6,12 +6,14 @@ buildscript { } } dependencies { - classpath 'com.android.tools.build:gradle:2.3.0' + classpath 'com.android.tools.build:gradle:2.3.2' classpath 'com.mutualmobile.gradle.plugins:dexinfo:0.1.2' + classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' } } apply plugin: 'com.android.application' apply plugin: 'com.mutualmobile.gradle.plugins.dexinfo' +apply plugin: 'com.neenbedankt.android-apt' repositories { jcenter() @@ -50,6 +52,7 @@ android { dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) - compile 'ly.img.android:photo-editor-sdk:3.1.0' + compile 'ly.img.android:photo-editor-sdk:4.0.0' + apt 'ly.img.android:build-processor:4.0.0' } diff --git a/app/src/main/java/com/photoeditorsdk/android/app/MainActivity.java b/app/src/main/java/com/photoeditorsdk/android/app/MainActivity.java index e49fffe3..0d38920f 100644 --- a/app/src/main/java/com/photoeditorsdk/android/app/MainActivity.java +++ b/app/src/main/java/com/photoeditorsdk/android/app/MainActivity.java @@ -2,6 +2,7 @@ import android.app.Activity; import android.content.Intent; +import android.graphics.Matrix; import android.net.Uri; import android.os.Bundle; import android.support.annotation.NonNull; @@ -10,6 +11,7 @@ import java.io.File; import ly.img.android.PESDK; +import ly.img.android.acs.GPSLocationProvider; import ly.img.android.sdk.models.constant.Directory; import ly.img.android.sdk.models.state.CameraSettings; import ly.img.android.sdk.models.state.EditorSaveSettings; @@ -33,6 +35,7 @@ protected void onResume() { super.onResume(); SettingsList settingsList = new SettingsList(); + settingsList .getSettingsModel(CameraSettings.class) .setExportDir(Directory.DCIM, FOLDER) diff --git a/build.gradle b/build.gradle index 04da18c0..3ad8b138 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:2.3.0' + classpath 'com.android.tools.build:gradle:2.3.2' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/example_files/CustomEventTracker.java b/example_files/CustomEventTracker.java index d76f3331..18b745a8 100644 --- a/example_files/CustomEventTracker.java +++ b/example_files/CustomEventTracker.java @@ -10,21 +10,22 @@ import ly.img.android.PESDK; import ly.img.android.sdk.models.config.interfaces.StickerConfigInterface; +import ly.img.android.sdk.utils.Trace; +import ly.img.sdk.android.annotations.StateEvents; +import ly.img.android.PESDKEvents; import ly.img.android.sdk.models.state.ColorAdjustmentSettings; import ly.img.android.sdk.models.state.EditorMenuState; import ly.img.android.sdk.models.state.FilterSettings; import ly.img.android.sdk.models.state.FocusSettings; import ly.img.android.sdk.models.state.LayerListSettings; -import ly.img.android.sdk.models.state.OrientationSettings; import ly.img.android.sdk.models.state.TransformSettings; import ly.img.android.sdk.models.state.layer.BrushLayerSettings; import ly.img.android.sdk.models.state.layer.StickerLayerSettings; import ly.img.android.sdk.models.state.manager.EventTracker; -import ly.img.android.sdk.models.state.manager.OnEvent; -import ly.img.sdk.android.events.Events; +import ly.img.sdk.android.annotations.OnEvent; -@SuppressWarnings("unused") +@StateEvents public class CustomEventTracker extends EventTracker { private Tracker googleAnalyticsTracker; private String trackerId; @@ -38,285 +39,240 @@ private void init(String trackerId) { GoogleAnalytics analytics = GoogleAnalytics.getInstance(PESDK.getAppContext()); googleAnalyticsTracker = analytics.newTracker(trackerId); } - - @OnEvent(value = Events.EditorMenuState_TOOL_STACK_CHANGED, ignoreReverts = true) + + @OnEvent(PESDKEvents.EditorMenuState_TOOL_STACK_CHANGED) protected void changeToolView(EditorMenuState menuState) { googleAnalyticsTracker.setScreenName(menuState.getCurrentTool().getName()); googleAnalyticsTracker.send(new HitBuilders.ScreenViewBuilder().build()); } - @OnEvent(value = Events.EditorMenuState_CANCEL_AND_LEAVE, ignoreReverts = true) + @OnEvent(value = PESDKEvents.EditorMenuState_CANCEL_AND_LEAVE, ignoreReverts = true) protected void onLeaveToolWithCancel(EditorMenuState menuState) { HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder() - .setCategory("menu action") - .setLabel(menuState.getCurrentTool().getName()) - .setAction("cancel"); + .setCategory("menu action") + .setLabel(menuState.getCurrentTool().getName()) + .setAction("cancel"); googleAnalyticsTracker.send(builder.build()); } - @OnEvent(value = Events.EditorMenuState_ACCEPT_AND_LEAVE, ignoreReverts = true) + @OnEvent(value = PESDKEvents.EditorMenuState_ACCEPT_AND_LEAVE, ignoreReverts = true) protected void onLeaveToolWithAccept(EditorMenuState menuState) { HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder() - .setCategory("menu action") - .setLabel(menuState.getCurrentTool().getName()) - .setAction("accept"); + .setCategory("menu action") + .setLabel(menuState.getCurrentTool().getName()) + .setAction("accept"); googleAnalyticsTracker.send(builder.build()); } - @OnEvent(value = Events.ColorAdjustmentSettings_CONTRAST, ignoreReverts = true, triggerDelay = 1000) + @OnEvent(value = PESDKEvents.ColorAdjustmentSettings_CONTRAST, ignoreReverts = true, triggerDelay = 1000) protected void onColorAdjustmentChangeContrast(ColorAdjustmentSettings colorAdjustmentSettings) { HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder() - .setCategory("change color adjustment") - .setLabel("contrast") - .setAction("changed") - .setValue(Math.round(colorAdjustmentSettings.getContrast() * 100)); + .setCategory("change color adjustment") + .setLabel("contrast") + .setAction("changed") + .setValue(Math.round(colorAdjustmentSettings.getContrast() * 100)); + googleAnalyticsTracker.send(builder.build()); } - @OnEvent(value = Events.ColorAdjustmentSettings_BRIGHTNESS, ignoreReverts = true, triggerDelay = 1000) + @OnEvent(value = PESDKEvents.ColorAdjustmentSettings_BRIGHTNESS, ignoreReverts = true, triggerDelay = 1000) protected void onColorAdjustmentChangeBrightness(ColorAdjustmentSettings colorAdjustmentSettings) { HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder() - .setCategory("change color adjustment") - .setLabel("brightness") - .setAction("changed") - .setValue(Math.round(colorAdjustmentSettings.getBrightness() * 100)); + .setCategory("change color adjustment") + .setLabel("brightness") + .setAction("changed") + .setValue(Math.round(colorAdjustmentSettings.getBrightness() * 100)); googleAnalyticsTracker.send(builder.build()); } - @OnEvent(value = Events.ColorAdjustmentSettings_SATURATION, ignoreReverts = true, triggerDelay = 1000) + @OnEvent(value = PESDKEvents.ColorAdjustmentSettings_SATURATION, ignoreReverts = true, triggerDelay = 1000) protected void onColorAdjustmentChangeSaturation(ColorAdjustmentSettings colorAdjustmentSettings) { HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder() - .setCategory("change color adjustment") - .setLabel("saturation") - .setAction("changed") - .setValue(Math.round(colorAdjustmentSettings.getSaturation() * 100)); + .setCategory("change color adjustment") + .setLabel("saturation") + .setAction("changed") + .setValue(Math.round(colorAdjustmentSettings.getSaturation() * 100)); googleAnalyticsTracker.send(builder.build()); + Trace.out("Test", "Saturation", Math.round(colorAdjustmentSettings.getSaturation() * 100)); } - @OnEvent(value = Events.BrushLayerSettings_COLOR, ignoreReverts = true, triggerDelay = 1000) + @OnEvent(value = PESDKEvents.BrushLayerSettings_COLOR, ignoreReverts = true, triggerDelay = 1000) protected void onBrushColorChange(BrushLayerSettings brushLayerSettings) { HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder() - .setCategory("change brush") - .setLabel("color") - .setAction("changed") - .setValue(brushLayerSettings.getBrushColor()); + .setCategory("change brush") + .setLabel("color") + .setAction("changed") + .setValue(brushLayerSettings.getBrushColor()); googleAnalyticsTracker.send(builder.build()); } - @OnEvent(value = Events.BrushLayerSettings_HARDNESS, ignoreReverts = true, triggerDelay = 1000) + @OnEvent(value = PESDKEvents.BrushLayerSettings_HARDNESS, ignoreReverts = true, triggerDelay = 1000) protected void onBrushHardnessChange(BrushLayerSettings brushLayerSettings) { HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder() - .setCategory("change brush") - .setLabel("hardness") - .setAction("changed") - .setValue(Math.round(brushLayerSettings.getBrushHardness() * 100)); + .setCategory("change brush") + .setLabel("hardness") + .setAction("changed") + .setValue(Math.round(brushLayerSettings.getBrushHardness() * 100)); googleAnalyticsTracker.send(builder.build()); } - @OnEvent(value = Events.BrushLayerSettings_SIZE, ignoreReverts = true, triggerDelay = 1000) + @OnEvent(value = PESDKEvents.BrushLayerSettings_SIZE, ignoreReverts = true, triggerDelay = 1000) protected void onBrushSizeChange(BrushLayerSettings brushLayerSettings) { HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder() - .setCategory("change brush") - .setLabel("size") - .setAction("changed") - .setValue(Math.round(brushLayerSettings.getBrushSize())); + .setCategory("change brush") + .setLabel("size") + .setAction("changed") + .setValue(Math.round(brushLayerSettings.getBrushSize())); googleAnalyticsTracker.send(builder.build()); } - @OnEvent(value = Events.TransformSettings_ASPECT, ignoreReverts = true, triggerDelay = 1000) + @OnEvent(value = PESDKEvents.TransformSettings_ASPECT, ignoreReverts = true, triggerDelay = 1000) protected void onCropAspectChanged(TransformSettings cropSettings) { HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder() - .setCategory("crop changed") - .setLabel("aspect") - .setAction("changed aspect to: "+cropSettings.getAspectConfig().getName()); + .setCategory("crop changed") + .setLabel("aspect") + .setAction("changed aspect to: "+cropSettings.getAspectConfig().getName()); googleAnalyticsTracker.send(builder.build()); } - @OnEvent(value = Events.FilterSettings_FILTER, ignoreReverts = true, triggerDelay = 1000) + @OnEvent(value = PESDKEvents.FilterSettings_FILTER, ignoreReverts = true, triggerDelay = 1000) protected void onFilterChanged(FilterSettings filterSettings) { HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder() - .setCategory("filter changed") - .setLabel("filter: " + filterSettings.getFilter().getName()) - .setAction("set fitler"); + .setCategory("filter changed") + .setLabel("filter: " + filterSettings.getFilter().getName()) + .setAction("set fitler"); googleAnalyticsTracker.send(builder.build()); } - @OnEvent(value = Events.FilterSettings_INTENSITY, ignoreReverts = true, triggerDelay = 1000) + @OnEvent(value = PESDKEvents.FilterSettings_INTENSITY, ignoreReverts = true, triggerDelay = 1000) protected void onFilterIntensityChanged(FilterSettings filterSettings) { HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder() - .setCategory("filter changed") - .setLabel("filter: " + filterSettings.getFilter().getName()) - .setAction("changed intensity to: " + filterSettings.getIntensity()); + .setCategory("filter changed") + .setLabel("filter: " + filterSettings.getFilter().getName()) + .setAction("changed intensity to: " + filterSettings.getIntensity()); googleAnalyticsTracker.send(builder.build()); } - @OnEvent(value = Events.FocusSettings_MODE, ignoreReverts = true, triggerDelay = 1000) + @OnEvent(value = PESDKEvents.FocusSettings_MODE, ignoreReverts = true, triggerDelay = 1000) protected void onFocusTypeChanged(FocusSettings focusSettings) { HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder() - .setCategory("focus changed") - .setLabel("focus: " + focusSettings.getFocusMode()) - .setAction("set type"); + .setCategory("focus changed") + .setLabel("focus: " + focusSettings.getFocusMode()) + .setAction("set type"); googleAnalyticsTracker.send(builder.build()); } - @OnEvent(value = Events.FocusSettings_INTENSITY, ignoreReverts = true, triggerDelay = 1000) + @OnEvent(value = PESDKEvents.FocusSettings_INTENSITY, ignoreReverts = true, triggerDelay = 1000) protected void onFocusIntensityChanged(FocusSettings focusSettings) { HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder() - .setCategory("focus changed") - .setLabel("focus: " + focusSettings.getFocusMode()) - .setAction("set intensity") - .setValue(Math.round(focusSettings.getFocusIntensity() * 100)); - - googleAnalyticsTracker.send(builder.build()); - } - - - @OnEvent(value = Events.OrientationSettings_FLIP_VERTICAL, ignoreReverts = true, triggerDelay = 1000) - protected void onVerticalFlipChanged(OrientationSettings orientationSettings) { - HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder() - .setCategory("orientation changed") - .setLabel("Is vertical flipped: " + orientationSettings.isVerticalFlipped()) - .setAction("change vertical flip"); - - googleAnalyticsTracker.send(builder.build()); - } - - - @OnEvent(value = Events.OrientationSettings_FLIP_HORIZONTAL, ignoreReverts = true, triggerDelay = 1000) - protected void onHorizontalFlipChanged(OrientationSettings orientationSettings) { - HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder() - .setCategory("orientation changed") - .setLabel("Is horizontal flipped: " + orientationSettings.isHorizontalFlipped()) - .setAction("change horizontal flip"); + .setCategory("focus changed") + .setLabel("focus: " + focusSettings.getFocusMode()) + .setAction("set intensity") + .setValue(Math.round(focusSettings.getFocusIntensity() * 100)); googleAnalyticsTracker.send(builder.build()); } - - @OnEvent(value = Events.OrientationSettings_ROTATION_CW, ignoreReverts = true, triggerDelay = 1000) - protected void onRotationCW(OrientationSettings orientationSettings) { - int rotation = orientationSettings.getRotation(); - HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder() - .setCategory("orientation changed") - .setLabel("Image Rotation: " + rotation) - .setAction("rotate CW"); - - googleAnalyticsTracker.send(builder.build()); - } - - - @OnEvent(value = Events.OrientationSettings_ROTATION_CCW, ignoreReverts = true, triggerDelay = 1000) - protected void onRotationCCW(OrientationSettings orientationSettings) { - int rotation = orientationSettings.getRotation(); - HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder() - .setCategory("orientation changed") - .setLabel("Image Rotation: " + rotation) - .setAction("rotate CCW"); - - googleAnalyticsTracker.send(builder.build()); - } - - - @OnEvent(value = Events.LayerListSettings_ADD_LAYER, ignoreReverts = true) + @OnEvent(value = PESDKEvents.LayerListSettings_ADD_LAYER, ignoreReverts = true) protected void onStickerAdd(LayerListSettings settings) { List list = settings.getLayerSettingsList(); LayerListSettings.LayerSettings lastLayer = list.get(list.size() - 1); if (lastLayer instanceof StickerLayerSettings) { StickerConfigInterface stickerConfig = ((StickerLayerSettings) lastLayer).getStickerConfig(); HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder() - .setCategory(stickerConfig.getType() == StickerConfigInterface.STICKER_TYPE.TEXT ? "text": "sticker") - .setLabel(stickerConfig.getName()) - .setAction("add sticker"); + .setCategory(stickerConfig.getType() == StickerConfigInterface.STICKER_TYPE.TEXT ? "text": "sticker") + .setLabel(stickerConfig.getName()) + .setAction("add sticker"); googleAnalyticsTracker.send(builder.build()); } } - @OnEvent(value = Events.LayerListSettings_REMOVE_LAYER, ignoreReverts = true) + @OnEvent(value = PESDKEvents.LayerListSettings_REMOVE_LAYER, ignoreReverts = true) protected void onStickerRemove(LayerListSettings settings) { List list = settings.getLayerSettingsList(); LayerListSettings.LayerSettings lastLayer = list.get(list.size() - 1); if (lastLayer instanceof StickerLayerSettings) { StickerConfigInterface stickerConfig = ((StickerLayerSettings) lastLayer).getStickerConfig(); HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder() - .setCategory(stickerConfig.getType() == StickerConfigInterface.STICKER_TYPE.TEXT ? "text": "sticker") - .setLabel(stickerConfig.getName()) - .setAction("remove sticker"); + .setCategory(stickerConfig.getType() == StickerConfigInterface.STICKER_TYPE.TEXT ? "text": "sticker") + .setLabel(stickerConfig.getName()) + .setAction("remove sticker"); googleAnalyticsTracker.send(builder.build()); } } @SuppressWarnings("unused") - @OnEvent(value = Events.StickerLayerSettings_FLIP_HORIZONTAL, ignoreReverts = true) + @OnEvent(value = PESDKEvents.StickerLayerSettings_FLIP_HORIZONTAL, ignoreReverts = true) protected void onStickerFlipHorizontal(LayerListSettings settings) { LayerListSettings.LayerSettings lastLayer = settings.getSelected(); if (lastLayer instanceof StickerLayerSettings) { StickerConfigInterface stickerConfig = ((StickerLayerSettings) lastLayer).getStickerConfig(); HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder() - .setCategory(stickerConfig.getType() == StickerConfigInterface.STICKER_TYPE.TEXT ? "text": "sticker") - .setLabel(stickerConfig.getName()) - .setAction("horizontal flip"); + .setCategory(stickerConfig.getType() == StickerConfigInterface.STICKER_TYPE.TEXT ? "text": "sticker") + .setLabel(stickerConfig.getName()) + .setAction("horizontal flip"); googleAnalyticsTracker.send(builder.build()); } } - @OnEvent(value = Events.StickerLayerSettings_FLIP_VERTICAL, ignoreReverts = true) + @OnEvent(value = PESDKEvents.StickerLayerSettings_FLIP_VERTICAL, ignoreReverts = true) protected void onStickerFlipVertical(LayerListSettings settings) { LayerListSettings.LayerSettings lastLayer = settings.getSelected(); if (lastLayer instanceof StickerLayerSettings) { StickerConfigInterface stickerConfig = ((StickerLayerSettings) lastLayer).getStickerConfig(); HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder() - .setCategory(stickerConfig.getType() == StickerConfigInterface.STICKER_TYPE.TEXT ? "text": "sticker") - .setLabel(stickerConfig.getName()) - .setAction("vertical flip"); + .setCategory(stickerConfig.getType() == StickerConfigInterface.STICKER_TYPE.TEXT ? "text": "sticker") + .setLabel(stickerConfig.getName()) + .setAction("vertical flip"); googleAnalyticsTracker.send(builder.build()); } } - @OnEvent(value = Events.StickerLayerSettings_PLACEMENT_INVALID, ignoreReverts = true) + @OnEvent(value = PESDKEvents.StickerLayerSettings_PLACEMENT_INVALID, ignoreReverts = true) protected void onStickerPositionChange(LayerListSettings settings) { LayerListSettings.LayerSettings lastLayer = settings.getSelected(); if (lastLayer instanceof StickerLayerSettings) { StickerConfigInterface stickerConfig = ((StickerLayerSettings) lastLayer).getStickerConfig(); HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder() - .setCategory(stickerConfig.getType() == StickerConfigInterface.STICKER_TYPE.TEXT ? "text": "sticker") - .setLabel(stickerConfig.getName()) - .setAction("position changed"); + .setCategory(stickerConfig.getType() == StickerConfigInterface.STICKER_TYPE.TEXT ? "text": "sticker") + .setLabel(stickerConfig.getName()) + .setAction("position changed"); googleAnalyticsTracker.send(builder.build()); } } - @OnEvent(value = Events.LayerListSettings_BRING_TO_FRONT, ignoreReverts = true) + @OnEvent(value = PESDKEvents.LayerListSettings_BRING_TO_FRONT, ignoreReverts = true) protected void onStickerToFront(LayerListSettings settings) { LayerListSettings.LayerSettings lastLayer = settings.getSelected(); if (lastLayer instanceof StickerLayerSettings) { StickerConfigInterface stickerConfig = ((StickerLayerSettings) lastLayer).getStickerConfig(); HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder() - .setCategory(stickerConfig.getType() == StickerConfigInterface.STICKER_TYPE.TEXT ? "text": "sticker") - .setLabel(stickerConfig.getName()) - .setAction("bring to front"); + .setCategory(stickerConfig.getType() == StickerConfigInterface.STICKER_TYPE.TEXT ? "text": "sticker") + .setLabel(stickerConfig.getName()) + .setAction("bring to front"); googleAnalyticsTracker.send(builder.build()); } } - // Many more events trackable .......... + // Many more trackable events .......... @Override