Skip to content

Commit 2b8dfad

Browse files
author
Malte Baumann
committed
Bump Android SDK to v6.0.0
1 parent 37a7d86 commit 2b8dfad

File tree

4 files changed

+168
-38
lines changed

4 files changed

+168
-38
lines changed

README.md

+22-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,28 @@ To add these entries into the `info.plist`, you can use the `edit-config` tag in
7171

7272
### Android Configuration
7373

74-
No special configuration is needed for Android. Just require the plugin.
74+
As the Android SDK links different modules depending on your configuration, we're providing a Gradle plugin which needs to be added to your Android project. To prepare this, you'll have to add the following lines to your projects .gradle file (`platforms/android/build.gradle`):
75+
76+
```
77+
buildscript {
78+
repositories {
79+
// ...
80+
maven { url "https://artifactory.9elements.com/artifactory/imgly" }
81+
}
82+
dependencies {
83+
// ...
84+
classpath 'ly.img.android.pesdk:plugin:6.0.0'
85+
}
86+
}
87+
88+
allprojects {
89+
repositories {
90+
// ...
91+
maven { url "https://artifactory.9elements.com/artifactory/imgly" }
92+
}
93+
// ...
94+
}
95+
```
7596

7697
## Development
7798
The example app was created by starting a new Cordova app, adding the iOS and Android platforms and linking the plugin using the `cordova plugin add /path/to/plugin --link` command mentioned above.

src/android/CameraActivity.java

+64-7
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,25 @@
33
import android.app.Activity;
44
import android.os.Bundle;
55

6-
import ly.img.android.sdk.models.constant.Directory;
7-
import ly.img.android.sdk.models.state.EditorLoadSettings;
8-
import ly.img.android.sdk.models.state.EditorSaveSettings;
9-
import ly.img.android.sdk.models.state.manager.SettingsList;
10-
import ly.img.android.ui.activities.CameraPreviewBuilder;
11-
import ly.img.android.ui.utilities.PermissionRequest;
6+
import ly.img.android.pesdk.assets.filter.basic.FilterPackBasic;
7+
import ly.img.android.pesdk.assets.font.basic.FontPackBasic;
8+
import ly.img.android.pesdk.assets.frame.basic.FramePackBasic;
9+
import ly.img.android.pesdk.assets.overlay.basic.OverlayPackBasic;
10+
import ly.img.android.pesdk.assets.sticker.emoticons.StickerPackEmoticons;
11+
import ly.img.android.pesdk.assets.sticker.shapes.StickerPackShapes;
12+
import ly.img.android.pesdk.backend.model.constant.Directory;
13+
import ly.img.android.pesdk.backend.model.state.CameraSettings;
14+
import ly.img.android.pesdk.backend.model.state.EditorLoadSettings;
15+
import ly.img.android.pesdk.backend.model.state.EditorSaveSettings;
16+
import ly.img.android.pesdk.backend.model.state.manager.SettingsList;
17+
import ly.img.android.pesdk.ui.activity.CameraPreviewBuilder;
18+
import ly.img.android.pesdk.ui.model.state.UiConfigFilter;
19+
import ly.img.android.pesdk.ui.model.state.UiConfigFrame;
20+
import ly.img.android.pesdk.ui.model.state.UiConfigOverlay;
21+
import ly.img.android.pesdk.ui.model.state.UiConfigSticker;
22+
import ly.img.android.pesdk.ui.model.state.UiConfigText;
23+
import ly.img.android.pesdk.ui.utils.PermissionRequest;
24+
1225

1326
/**
1427
* Created by maltebaumann on 06/14/17.
@@ -22,7 +35,7 @@ public class CameraActivity extends Activity implements PermissionRequest.Respon
2235

2336
public void onCreate(Bundle savedInstanceState) {
2437
super.onCreate(savedInstanceState);
25-
SettingsList settingsList = new SettingsList();
38+
SettingsList settingsList = createPesdkSettingsList();
2639
settingsList.getSettingsModel(EditorLoadSettings.class)
2740
.getSettingsModel(EditorSaveSettings.class)
2841
.setExportDir(Directory.DCIM, FOLDER)
@@ -36,6 +49,50 @@ public void onCreate(Bundle savedInstanceState) {
3649
.startActivityForResult(this, CAMERA_PREVIEW_RESULT);
3750
}
3851

52+
private SettingsList createPesdkSettingsList() {
53+
54+
// Create a empty new SettingsList and apply the changes on this referance.
55+
SettingsList settingsList = new SettingsList();
56+
57+
// If you include our asset Packs and you use our UI you also need to add them to the UI,
58+
// otherwise they are only available for the backend
59+
// See the specific feature sections of our guides if you want to know how to add our own Assets.
60+
61+
settingsList.getSettingsModel(UiConfigFilter.class).setFilterList(
62+
FilterPackBasic.getFilterPack()
63+
);
64+
65+
settingsList.getSettingsModel(UiConfigText.class).setFontList(
66+
FontPackBasic.getFontPack()
67+
);
68+
69+
settingsList.getSettingsModel(UiConfigFrame.class).setFrameList(
70+
FramePackBasic.getFramePack()
71+
);
72+
73+
settingsList.getSettingsModel(UiConfigOverlay.class).setOverlayList(
74+
OverlayPackBasic.getOverlayPack()
75+
);
76+
77+
settingsList.getSettingsModel(UiConfigSticker.class).setStickerLists(
78+
StickerPackEmoticons.getStickerCategory(),
79+
StickerPackShapes.getStickerCategory()
80+
);
81+
82+
// Set custom camera image export settings
83+
settingsList.getSettingsModel(CameraSettings.class)
84+
.setExportDir(Directory.DCIM, "PESDKPlugin")
85+
.setExportPrefix("camera_");
86+
87+
// Set custom editor image export settings
88+
settingsList.getSettingsModel(EditorSaveSettings.class)
89+
.setExportDir(Directory.DCIM, "PESDKPlugin")
90+
.setExportPrefix("result_")
91+
.setSavePolicy(EditorSaveSettings.SavePolicy.RETURN_ALWAYS_ONLY_OUTPUT);
92+
93+
return settingsList;
94+
}
95+
3996
@Override
4097
protected void onActivityResult(int requestCode, int resultCode, android.content.Intent data) {
4198
super.onActivityResult(requestCode, resultCode, data);

src/android/PESDKPlugin.java

+6-13
Original file line numberDiff line numberDiff line change
@@ -16,25 +16,18 @@
1616
import java.io.File;
1717

1818
import ly.img.android.PESDK;
19-
import ly.img.android.sdk.models.constant.Directory;
20-
import ly.img.android.sdk.models.state.EditorLoadSettings;
21-
import ly.img.android.sdk.models.state.EditorSaveSettings;
22-
import ly.img.android.sdk.models.state.manager.SettingsList;
23-
import ly.img.android.ui.activities.ImgLyIntent;
24-
import ly.img.android.ui.activities.PhotoEditorBuilder;
19+
import ly.img.android.pesdk.backend.model.constant.Directory;
20+
import ly.img.android.pesdk.backend.model.state.EditorLoadSettings;
21+
import ly.img.android.pesdk.backend.model.state.EditorSaveSettings;
22+
import ly.img.android.pesdk.backend.model.state.manager.SettingsList;
23+
import ly.img.android.pesdk.ui.activity.ImgLyIntent;
24+
import ly.img.android.pesdk.ui.activity.PhotoEditorBuilder;
2525

2626
public class PESDKPlugin extends CordovaPlugin {
2727

2828
public static final int PESDK_EDITOR_RESULT = 1;
2929
private CallbackContext callback = null;
3030

31-
@Override
32-
public void initialize(CordovaInterface cordova, CordovaWebView webView) {
33-
super.initialize(cordova, webView);
34-
35-
PESDK.init(cordova.getActivity().getApplication(), "LICENSE_ANDROID");
36-
}
37-
3831
@Override
3932
public boolean execute(String action, JSONArray data, CallbackContext callbackContext) throws JSONException {
4033
if (action.equals("present")) {

src/android/build.gradle

+76-17
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,95 @@
11
buildscript {
22
repositories {
33
jcenter()
4+
google()
5+
maven { url 'https://artifactory.9elements.com/artifactory/imgly' }
6+
}
7+
dependencies {
8+
classpath 'ly.img.android.pesdk:plugin:6.0.0'
49
}
510
}
6-
apply plugin: 'com.android.application'
11+
12+
dependencies {
13+
api 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.51'
14+
}
715

816
repositories {
9-
maven {
10-
url "https://artifactory.9elements.com/artifactory/imgly"
11-
}
17+
jcenter()
18+
google()
19+
maven { url 'https://artifactory.9elements.com/artifactory/imgly' }
1220
}
1321

14-
android {
15-
defaultConfig {
16-
renderscriptTargetApi 23
17-
renderscriptSupportModeEnabled true
18-
vectorDrawables.useSupportLibrary true
22+
// Apply the Android Plugin
23+
apply plugin: 'com.android.application'
24+
25+
// Apply the PESDKPlugin.
26+
// [!] This assumes you made the correct changes to your projects build.gradle file!
27+
// See https://docs.photoeditorsdk.com/guides/android/v6/introduction/getting_started for details.
28+
apply plugin: 'ly.img.android.pesdk'
29+
30+
// Configure the PESDKPlugin
31+
pesdkConfig {
32+
33+
licencePath "LICENSE_ANDROID" // Name of the Licence file in the asset folder
34+
35+
// Insert the latest SDK version here. You will find it here https://github.com/imgly/pesdk-android-demo/releases
36+
pesdkVersion "6.0.0"
37+
38+
// If you use another supportLibVersion ('com.android.support'), change this version here to update your own supportLibVersion
39+
supportLibVersion "27.1.1"
40+
41+
// Define the modules you are need
42+
modules {
43+
// Add all the backend modules you need
44+
include 'ly.img.android.pesdk.operation:text'
45+
include 'ly.img.android.pesdk.operation:frame'
46+
include 'ly.img.android.pesdk.operation:focus'
47+
include 'ly.img.android.pesdk.operation:brush'
48+
include 'ly.img.android.pesdk.operation:camera'
49+
include 'ly.img.android.pesdk.operation:filter'
50+
include 'ly.img.android.pesdk.operation:sticker'
51+
include 'ly.img.android.pesdk.operation:overlay'
52+
include 'ly.img.android.pesdk.operation:adjustment'
53+
include 'ly.img.android.pesdk.operation:text-design'
54+
include 'ly.img.android.pesdk.operation:abstract-sticker'
55+
56+
// Add all the UI modules you are need
57+
include 'ly.img.android.pesdk.ui.mobile_ui:core'
58+
include 'ly.img.android.pesdk.ui.mobile_ui:text'
59+
include 'ly.img.android.pesdk.ui.mobile_ui:focus'
60+
include 'ly.img.android.pesdk.ui.mobile_ui:frame'
61+
include 'ly.img.android.pesdk.ui.mobile_ui:brush'
62+
include 'ly.img.android.pesdk.ui.mobile_ui:filter'
63+
include 'ly.img.android.pesdk.ui.mobile_ui:camera'
64+
include 'ly.img.android.pesdk.ui.mobile_ui:sticker'
65+
include 'ly.img.android.pesdk.ui.mobile_ui:overlay'
66+
include 'ly.img.android.pesdk.ui.mobile_ui:transform'
67+
include 'ly.img.android.pesdk.ui.mobile_ui:adjustment'
68+
include 'ly.img.android.pesdk.ui.mobile_ui:text-design'
69+
70+
71+
// Add the serializer if you need
72+
include 'ly.img.android.pesdk:serializer'
73+
74+
// Add asset packs if you need
75+
include 'ly.img.android.pesdk.assets:font-basic'
76+
include 'ly.img.android.pesdk.assets:font-text-design'
77+
include 'ly.img.android.pesdk.assets:frame-basic'
78+
include 'ly.img.android.pesdk.assets:filter-basic'
79+
include 'ly.img.android.pesdk.assets:overlay-basic'
80+
include 'ly.img.android.pesdk.assets:sticker-shapes'
81+
include 'ly.img.android.pesdk.assets:sticker-emoticons'
1982
}
83+
}
2084

85+
android {
2186
compileOptions {
22-
sourceCompatibility JavaVersion.VERSION_1_7
23-
targetCompatibility JavaVersion.VERSION_1_7
87+
sourceCompatibility JavaVersion.VERSION_1_8
88+
targetCompatibility JavaVersion.VERSION_1_8
2489
}
2590

2691
packagingOptions {
2792
pickFirst 'lib/mips/librsjni.so'
2893
pickFirst 'lib/mips/libRSSupport.so'
2994
}
3095
}
31-
32-
dependencies {
33-
compile 'ly.img.android:photo-editor-sdk:5.1.5'
34-
}
35-
36-

0 commit comments

Comments
 (0)