Skip to content

Commit c07c28d

Browse files
authored
Merge pull request #664 from OneSignal/major_release_5.0.0
[User Model] 5.0.0-beta-01
2 parents 36e4565 + 6393dc6 commit c07c28d

File tree

63 files changed

+2585
-2960
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+2585
-2960
lines changed

android/.idea/gradle.xml

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

android/.idea/runConfigurations.xml

Lines changed: 0 additions & 12 deletions
This file was deleted.

android/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ buildscript {
88
}
99

1010
dependencies {
11-
classpath 'com.android.tools.build:gradle:3.5.0'
11+
classpath 'com.android.tools.build:gradle:7.0.0'
1212
}
1313
}
1414

@@ -34,5 +34,5 @@ android {
3434
}
3535

3636
dependencies {
37-
api 'com.onesignal:OneSignal:4.8.2'
37+
implementation 'com.onesignal:OneSignal:5.0.0-beta2'
3838
}

android/gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip

android/src/main/java/com/onesignal/flutter/FlutterRegistrarResponder.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
abstract class FlutterRegistrarResponder {
1616
Context context;
17-
MethodChannel channel;
17+
protected MethodChannel channel;
1818
BinaryMessenger messenger;
1919

2020
/**
@@ -69,7 +69,7 @@ private void runOnMainThread(final Runnable runnable) {
6969
}
7070

7171
void invokeMethodOnUiThread(final String methodName, final HashMap map) {
72-
final MethodChannel channel = this.channel;
72+
//final MethodChannel channel = this.channel;
7373
runOnMainThread(new Runnable() {
7474
@Override
7575
public void run() {
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
package com.onesignal.flutter;
2+
3+
import com.onesignal.OneSignal;
4+
import com.onesignal.debug.LogLevel;
5+
6+
import org.json.JSONException;
7+
import org.json.JSONObject;
8+
9+
import java.util.List;
10+
import java.util.Map;
11+
import java.util.concurrent.atomic.AtomicBoolean;
12+
13+
import io.flutter.plugin.common.BinaryMessenger;
14+
import io.flutter.plugin.common.MethodCall;
15+
import io.flutter.plugin.common.MethodChannel;
16+
import io.flutter.plugin.common.MethodChannel.MethodCallHandler;
17+
import io.flutter.plugin.common.MethodChannel.Result;
18+
import io.flutter.plugin.common.PluginRegistry;
19+
import io.flutter.plugin.common.PluginRegistry.Registrar;
20+
21+
public class OneSignalDebug extends FlutterRegistrarResponder implements MethodCallHandler {
22+
23+
static void registerWith(BinaryMessenger messenger) {
24+
OneSignalDebug controller = new OneSignalDebug();
25+
controller.messenger = messenger;
26+
controller.channel = new MethodChannel(messenger, "OneSignal#debug");
27+
controller.channel.setMethodCallHandler(controller);
28+
}
29+
30+
@Override
31+
public void onMethodCall(MethodCall call, Result result) {
32+
if (call.method.contentEquals("OneSignal#setLogLevel"))
33+
this.setLogLevel(call, result);
34+
else if (call.method.contentEquals("OneSignal#setAlertLevel"))
35+
this.setAlertLevel(call, result);
36+
else
37+
replyNotImplemented(result);
38+
}
39+
40+
private void setLogLevel(MethodCall call, Result reply) {
41+
try {
42+
int console = call.argument("logLevel");
43+
LogLevel consoleLogLevel = LogLevel.fromInt(console);
44+
OneSignal.getDebug().setLogLevel(consoleLogLevel);
45+
replySuccess(reply, null);
46+
}
47+
catch(ClassCastException e) {
48+
replyError(reply, "OneSignal", "failed with error: " + e.getMessage() + "\n" + e.getStackTrace(), null);
49+
}
50+
}
51+
52+
private void setAlertLevel(MethodCall call, Result reply) {
53+
try {
54+
int visual = call.argument("visualLevel");
55+
LogLevel visualLogLevel = LogLevel.fromInt(visual);
56+
OneSignal.getDebug().setAlertLevel(visualLogLevel);
57+
replySuccess(reply, null);
58+
}
59+
catch(ClassCastException e) {
60+
replyError(reply, "OneSignal", "failed with error: " + e.getMessage() + "\n" + e.getStackTrace(), null);
61+
}
62+
}
63+
}
Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
package com.onesignal.flutter;
2+
3+
import com.onesignal.OneSignal;
4+
import com.onesignal.inAppMessages.IInAppMessage;
5+
import com.onesignal.inAppMessages.IInAppMessageClickHandler;
6+
import com.onesignal.inAppMessages.IInAppMessageClickResult;
7+
import com.onesignal.inAppMessages.IInAppMessageLifecycleHandler;
8+
9+
import java.util.Collection;
10+
import java.util.Map;
11+
12+
import io.flutter.plugin.common.BinaryMessenger;
13+
import io.flutter.plugin.common.MethodCall;
14+
import io.flutter.plugin.common.MethodChannel;
15+
import io.flutter.plugin.common.MethodChannel.MethodCallHandler;
16+
import io.flutter.plugin.common.MethodChannel.Result;
17+
import io.flutter.plugin.common.PluginRegistry.Registrar;
18+
19+
public class OneSignalInAppMessages extends FlutterRegistrarResponder implements MethodCallHandler,
20+
IInAppMessageClickHandler, IInAppMessageLifecycleHandler{
21+
22+
private IInAppMessageClickResult inAppMessageClickedResult;
23+
private boolean hasSetInAppMessageClickedHandler = false;
24+
25+
static void registerWith(BinaryMessenger messenger) {
26+
OneSignalInAppMessages sharedInstance = new OneSignalInAppMessages();
27+
28+
sharedInstance.messenger = messenger;
29+
sharedInstance.channel = new MethodChannel(messenger, "OneSignal#inappmessages");
30+
sharedInstance.channel.setMethodCallHandler(sharedInstance);
31+
}
32+
33+
@Override
34+
public void onMethodCall(MethodCall call, Result result) {
35+
if (call.method.contentEquals("OneSignal#addTrigger"))
36+
this.addTriggers(call, result);
37+
else if (call.method.contentEquals("OneSignal#addTriggers"))
38+
this.addTriggers(call, result);
39+
else if (call.method.contentEquals("OneSignal#removeTrigger"))
40+
this.removeTrigger(call, result);
41+
else if (call.method.contentEquals("OneSignal#removeTriggers"))
42+
this.removeTriggers(call, result);
43+
else if (call.method.contentEquals("OneSignal#arePaused"))
44+
replySuccess(result, OneSignal.getInAppMessages().getPaused());
45+
else if (call.method.contentEquals("OneSignal#paused"))
46+
this.paused(call, result);
47+
else if (call.method.contentEquals("OneSignal#initInAppMessageClickedHandlerParams"))
48+
this.initInAppMessageClickedHandlerParams();
49+
else if (call.method.contentEquals("OneSignal#lifecycleInit"))
50+
this.lifecycleInit();
51+
else
52+
replyNotImplemented(result);
53+
}
54+
55+
private void addTriggers(MethodCall call, Result result) {
56+
// call.arguments is being casted to a Map<String, Object> so a try-catch with
57+
// a ClassCastException will be thrown
58+
try {
59+
OneSignal.getInAppMessages().addTriggers((Map<String, Object>) call.arguments);
60+
replySuccess(result, null);
61+
} catch (ClassCastException e) {
62+
replyError(result, "OneSignal", "Add triggers failed with error: " + e.getMessage() + "\n" + e.getStackTrace(), null);
63+
}
64+
}
65+
66+
private void removeTrigger(MethodCall call, Result result) {
67+
OneSignal.getInAppMessages().removeTrigger((String) call.arguments);
68+
replySuccess(result, null);
69+
}
70+
71+
private void removeTriggers(MethodCall call, Result result) {
72+
// call.arguments is being casted to a Collection<String> a try-catch with
73+
// a ClassCastException will be thrown
74+
try {
75+
OneSignal.getInAppMessages().removeTriggers((Collection<String>) call.arguments);
76+
replySuccess(result, null);
77+
} catch (ClassCastException e) {
78+
replyError(result, "OneSignal", "Remove triggers for keys failed with error: " + e.getMessage() + "\n" + e.getStackTrace(), null);
79+
}
80+
}
81+
82+
private void paused(MethodCall call, Result result) {
83+
OneSignal.getInAppMessages().setPaused((boolean) call.arguments);
84+
replySuccess(result, null);
85+
}
86+
87+
private void initInAppMessageClickedHandlerParams() {
88+
this.hasSetInAppMessageClickedHandler = true;
89+
if (this.inAppMessageClickedResult != null) {
90+
this.inAppMessageClicked(this.inAppMessageClickedResult);
91+
this.inAppMessageClickedResult = null;
92+
}
93+
}
94+
95+
public void lifecycleInit() {
96+
this.setInAppMessageLifecycleHandler();
97+
OneSignal.getInAppMessages().setInAppMessageClickHandler(this);
98+
}
99+
100+
public void inAppMessageClicked(IInAppMessageClickResult action) {
101+
if (!this.hasSetInAppMessageClickedHandler) {
102+
this.inAppMessageClickedResult = action;
103+
return;
104+
}
105+
106+
invokeMethodOnUiThread("OneSignal#handleClickedInAppMessage", OneSignalSerializer.convertInAppMessageClickedActionToMap(action));
107+
}
108+
109+
/* in app message lifecycle */
110+
public void setInAppMessageLifecycleHandler() {
111+
OneSignal.getInAppMessages().setInAppMessageLifecycleHandler(this);
112+
}
113+
114+
@Override
115+
public void onWillDisplayInAppMessage(IInAppMessage message) {
116+
invokeMethodOnUiThread("OneSignal#onWillDisplayInAppMessage", OneSignalSerializer.convertInAppMessageToMap(message));
117+
}
118+
119+
@Override
120+
public void onDidDisplayInAppMessage(IInAppMessage message) {
121+
invokeMethodOnUiThread("OneSignal#onDidDisplayInAppMessage", OneSignalSerializer.convertInAppMessageToMap(message));
122+
}
123+
124+
@Override
125+
public void onWillDismissInAppMessage(IInAppMessage message) {
126+
invokeMethodOnUiThread("OneSignal#onWillDismissInAppMessage", OneSignalSerializer.convertInAppMessageToMap(message));
127+
}
128+
129+
@Override
130+
public void onDidDismissInAppMessage(IInAppMessage message) {
131+
invokeMethodOnUiThread("OneSignal#onDidDismissInAppMessage", OneSignalSerializer.convertInAppMessageToMap(message));
132+
}
133+
}

android/src/main/java/com/onesignal/flutter/OneSignalInAppMessagingController.java

Lines changed: 0 additions & 74 deletions
This file was deleted.
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
package com.onesignal.flutter;
2+
3+
import com.onesignal.OneSignal;
4+
import com.onesignal.Continue;
5+
6+
import org.json.JSONException;
7+
import org.json.JSONObject;
8+
9+
import java.util.List;
10+
import java.util.Map;
11+
import java.util.concurrent.atomic.AtomicBoolean;
12+
13+
import io.flutter.plugin.common.BinaryMessenger;
14+
import io.flutter.plugin.common.MethodCall;
15+
import io.flutter.plugin.common.MethodChannel;
16+
import io.flutter.plugin.common.MethodChannel.MethodCallHandler;
17+
import io.flutter.plugin.common.MethodChannel.Result;
18+
import io.flutter.plugin.common.PluginRegistry;
19+
import io.flutter.plugin.common.PluginRegistry.Registrar;
20+
21+
public class OneSignalLocation extends FlutterRegistrarResponder implements MethodCallHandler {
22+
23+
static void registerWith(BinaryMessenger messenger) {
24+
OneSignalLocation controller = new OneSignalLocation();
25+
controller.messenger = messenger;
26+
controller.channel = new MethodChannel(messenger, "OneSignal#location");
27+
controller.channel.setMethodCallHandler(controller);
28+
}
29+
30+
@Override
31+
public void onMethodCall(MethodCall call, Result result) {
32+
if (call.method.contentEquals("OneSignal#requestPermission"))
33+
this.requestPermission(result);
34+
else if (call.method.contentEquals("OneSignal#setShared"))
35+
this.setShared(call, result);
36+
else if (call.method.contentEquals("OneSignal#isShared"))
37+
replySuccess(result, OneSignal.getLocation().isShared());
38+
else
39+
replyNotImplemented(result);
40+
}
41+
42+
private void requestPermission(Result reply) {
43+
OneSignal.getLocation().requestPermission(Continue.none());
44+
replySuccess(reply, null);
45+
}
46+
47+
private void setShared(MethodCall call, Result result) {
48+
OneSignal.getLocation().setShared((boolean) call.arguments);
49+
replySuccess(result, null);
50+
}
51+
}

0 commit comments

Comments
 (0)