Skip to content

Commit 4d8c48f

Browse files
committed
cleaning up Android imports and various fixes
1 parent de555db commit 4d8c48f

File tree

5 files changed

+92
-47
lines changed

5 files changed

+92
-47
lines changed

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

Lines changed: 42 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,18 @@
11
package com.onesignal.flutter;
22

33
import com.onesignal.OneSignal;
4+
import com.onesignal.debug.internal.logging.Logging;
5+
import org.json.JSONException;
6+
import org.json.JSONObject;
47
import com.onesignal.inAppMessages.IInAppMessage;
5-
import com.onesignal.inAppMessages.IInAppMessageClickHandler;
8+
import com.onesignal.inAppMessages.IInAppMessageClickListener;
9+
import com.onesignal.inAppMessages.IInAppMessageClickEvent;
610
import com.onesignal.inAppMessages.IInAppMessageClickResult;
7-
import com.onesignal.inAppMessages.IInAppMessageLifecycleHandler;
8-
11+
import com.onesignal.inAppMessages.IInAppMessageLifecycleListener;
12+
import com.onesignal.inAppMessages.IInAppMessageWillDisplayEvent;
13+
import com.onesignal.inAppMessages.IInAppMessageDidDisplayEvent;
14+
import com.onesignal.inAppMessages.IInAppMessageWillDismissEvent;
15+
import com.onesignal.inAppMessages.IInAppMessageDidDismissEvent;
916
import java.util.Collection;
1017
import java.util.Map;
1118

@@ -86,30 +93,57 @@ public void lifecycleInit() {
8693

8794
@Override
8895
public void onClick(IInAppMessageClickEvent event) {
89-
invokeMethodOnUiThread("OneSignal#onClickInAppMessage", OneSignalSerializer.convertInAppMessageClickEventToMap(action));
96+
try {
97+
invokeMethodOnUiThread("OneSignal#onClickInAppMessage", OneSignalSerializer.convertInAppMessageClickEventToMap(event));
98+
} catch (JSONException e) {
99+
e.getStackTrace();
100+
Logging.error("Encountered an error attempting to convert IInAppMessageClickEvent object to hash map:" + e.toString(), null);
101+
}
90102
}
91103

92104
@Override
93105
public void onWillDisplay(IInAppMessageWillDisplayEvent event) {
94-
invokeMethodOnUiThread("OneSignal#onWillDisplayInAppMessage",
106+
try {
107+
invokeMethodOnUiThread("OneSignal#onWillDisplayInAppMessage",
95108
OneSignalSerializer.convertInAppMessageWillDisplayEventToMap(event));
109+
} catch (JSONException e) {
110+
e.getStackTrace();
111+
Logging.error("Encountered an error attempting to convert IInAppMessageWillDisplayEvent object to hash map:" + e.toString(), null);
112+
}
113+
96114
}
97115

98116
@Override
99117
public void onDidDisplay(IInAppMessageDidDisplayEvent event) {
100-
invokeMethodOnUiThread("OneSignal#onDidDisplayInAppMessage",
118+
try {
119+
invokeMethodOnUiThread("OneSignal#onDidDisplayInAppMessage",
101120
OneSignalSerializer.convertInAppMessageDidDisplayEventToMap(event));
121+
} catch (JSONException e) {
122+
e.getStackTrace();
123+
Logging.error("Encountered an error attempting to convert IInAppMessageDidDisplayEvent object to hash map:" + e.toString(), null);
124+
}
102125
}
103126

104127
@Override
105128
public void onWillDismiss(IInAppMessageWillDismissEvent event) {
106-
invokeMethodOnUiThread("OneSignal#onWillDismissInAppMessage",
129+
try {
130+
invokeMethodOnUiThread("OneSignal#onWillDismissInAppMessage",
107131
OneSignalSerializer.convertInAppMessageWillDismissEventToMap(event));
132+
} catch (JSONException e) {
133+
e.getStackTrace();
134+
Logging.error("Encountered an error attempting to convert IInAppMessageWillDismissEvent object to hash map:" + e.toString(), null);
135+
}
108136
}
109137

110138
@Override
111139
public void onDidDismiss(IInAppMessageDidDismissEvent event) {
112-
invokeMethodOnUiThread("OneSignal#onDidDismissInAppMessage",
140+
try {
141+
invokeMethodOnUiThread("OneSignal#onDidDismissInAppMessage",
113142
OneSignalSerializer.convertInAppMessageDidDismissEventToMap(event));
143+
} catch (JSONException e) {
144+
e.getStackTrace();
145+
Logging.error("Encountered an error attempting to convert IInAppMessageDidDismissEvent object to hash map:" + e.toString(), null);
146+
}
147+
114148
}
115149
}

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

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,18 @@
44
import com.onesignal.OneSignal;
55
import com.onesignal.Continue;
66

7+
78
import com.onesignal.notifications.INotification;
8-
import com.onesignal.notifications.INotificationClickHandler;
9+
import com.onesignal.notifications.INotificationClickEvent;
10+
import com.onesignal.notifications.INotificationWillDisplayEvent;
911
import com.onesignal.notifications.INotificationClickResult;
1012
import com.onesignal.notifications.INotificationReceivedEvent;
11-
import com.onesignal.notifications.IRemoteNotificationReceivedHandler;
12-
13-
import com.onesignal.notifications.INotificationWillShowInForegroundHandler;
14-
import com.onesignal.notifications.INotificationReceivedEvent;
15-
import com.onesignal.notifications.IRemoteNotificationReceivedHandler;
13+
import com.onesignal.notifications.INotificationClickListener;
14+
import com.onesignal.notifications.INotificationLifecycleListener;
15+
import com.onesignal.notifications.IPermissionObserver;
1616

1717
import com.onesignal.user.subscriptions.ISubscription;
1818
import com.onesignal.user.subscriptions.IPushSubscription;
19-
import com.onesignal.notifications.IPermissionChangedHandler;
2019

2120
import org.json.JSONException;
2221
import org.json.JSONObject;
@@ -38,7 +37,7 @@
3837
import io.flutter.plugin.common.PluginRegistry.Registrar;
3938

4039
public class OneSignalNotifications extends FlutterRegistrarResponder implements MethodCallHandler, INotificationClickListener, INotificationLifecycleListener, IPermissionObserver {
41-
private final HashMap<String, INotificationReceivedEvent> notificationOnWillDisplayEventCache = new HashMap<>();
40+
private final HashMap<String, INotificationWillDisplayEvent> notificationOnWillDisplayEventCache = new HashMap<>();
4241

4342
static void registerWith(BinaryMessenger messenger) {
4443
OneSignalNotifications controller = new OneSignalNotifications();
@@ -101,7 +100,7 @@ private void displayNotification(MethodCall call, Result result) {
101100
Logging.error("Could not find onWillDisplayNotification event for notification with id: " + notificationId, null);
102101
return;
103102
}
104-
event.notification.display();
103+
event.getNotification().display();
105104
replySuccess(result, null);
106105
}
107106

@@ -140,10 +139,10 @@ private JSONObject getJsonFromMap(Map<String, Object> map) throws JSONException
140139

141140
@Override
142141
public void onWillDisplay(INotificationWillDisplayEvent event) {
143-
INotification notification = notificationReceivedEvent.getNotification();
144-
notificationLifecycleEventCache.put(notification.getNotificationId(), event);
142+
INotification notification = event.getNotification();
143+
notificationOnWillDisplayEventCache.put(notification.getNotificationId(), event);
145144
try {
146-
invokeMethodOnUiThread("OneSignal#onWillDisplayNotification", OneSignalSerializer.convertNotificationWillDisplayEventToMap(result));
145+
invokeMethodOnUiThread("OneSignal#onWillDisplayNotification", OneSignalSerializer.convertNotificationWillDisplayEventToMap(event));
147146
} catch (JSONException e) {
148147
e.getStackTrace();
149148
Logging.error("Encountered an error attempting to convert INotificationWillDisplayEvent object to hash map:" + e.toString(), null);
@@ -152,12 +151,14 @@ public void onWillDisplay(INotificationWillDisplayEvent event) {
152151

153152
@Override
154153
public void onNotificationPermissionChange(boolean permission) {
155-
invokeMethodOnUiThread("OneSignal#onNotificationPermissionDidChange", permission);
154+
HashMap<String, Object> hash = new HashMap<>();
155+
hash.put("permission", permission);
156+
invokeMethodOnUiThread("OneSignal#onNotificationPermissionDidChange", hash);
156157
}
157158

158159
private void lifecycleInit() {
159-
OneSignal.getNotifications().addLifecycleListener(this);
160-
OneSignal.getNotification().addClickListener(this);
161-
OneSignal.getNotifications().addPermissionChangedHandler(this);
160+
OneSignal.getNotifications().addForegroundLifecycleListener(this);
161+
OneSignal.getNotifications().addClickListener(this);
162+
OneSignal.getNotifications().addPermissionObserver(this);
162163
}
163164
}

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

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@
44

55
import com.onesignal.user.subscriptions.IPushSubscription;
66
import com.onesignal.user.subscriptions.ISubscription;
7-
import com.onesignal.user.subscriptions.ISubscriptionChangedHandler;
8-
7+
import com.onesignal.user.subscriptions.IPushSubscriptionObserver;
8+
import com.onesignal.user.subscriptions.PushSubscriptionChangedState;
9+
import com.onesignal.user.subscriptions.PushSubscriptionState;
910
import com.onesignal.debug.internal.logging.Logging;
1011

1112
import org.json.JSONException;
@@ -64,8 +65,13 @@ private void lifecycleInit() {
6465
}
6566

6667
@Override
67-
public void onPushSubscriptionChange(PushSubscriptionChangedState changeState) {
68-
invokeMethodOnUiThread("OneSignal#onPushSubscriptionChange", OneSignalSerializer.convertOnPushSubscriptionChange(changeState));
68+
public void onPushSubscriptionChange(PushSubscriptionChangedState changeState) {
69+
try {
70+
invokeMethodOnUiThread("OneSignal#onPushSubscriptionChange", OneSignalSerializer.convertOnPushSubscriptionChange(changeState));
71+
} catch (JSONException e) {
72+
e.getStackTrace();
73+
Logging.error("Encountered an error attempting to convert PushSubscriptionChangedState object to hash map:" + e.toString(), null);
74+
}
6975
}
7076

7177
}

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

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,19 @@
44

55
import com.onesignal.user.subscriptions.ISubscription;
66
import com.onesignal.user.subscriptions.IPushSubscription;
7-
7+
import com.onesignal.user.subscriptions.PushSubscriptionChangedState;
8+
import com.onesignal.user.subscriptions.PushSubscriptionState;
89
import com.onesignal.inAppMessages.IInAppMessage;
910
import com.onesignal.inAppMessages.IInAppMessageClickResult;
10-
11+
import com.onesignal.inAppMessages.IInAppMessageClickEvent;
12+
import com.onesignal.inAppMessages.IInAppMessageWillDisplayEvent;
13+
import com.onesignal.inAppMessages.IInAppMessageDidDisplayEvent;
14+
import com.onesignal.inAppMessages.IInAppMessageWillDismissEvent;
15+
import com.onesignal.inAppMessages.IInAppMessageDidDismissEvent;
1116
import com.onesignal.notifications.INotification;
12-
13-
import com.onesignal.notifications.INotificationAction;
14-
import com.onesignal.notifications.INotificationClickResult;
15-
import com.onesignal.notifications.INotificationReceivedEvent;
17+
import com.onesignal.notifications.INotificationWillDisplayEvent;
18+
import com.onesignal.notifications.INotificationClickResult;
19+
import com.onesignal.notifications.INotificationClickEvent;
1620

1721
import org.json.JSONArray;
1822
import org.json.JSONException;
@@ -75,7 +79,7 @@ static HashMap<String, Object> convertNotificationToMap(INotification notificati
7579
return hash;
7680
}
7781

78-
static HashMap<String, Object> convertNotificationWillDisplayEventToMap(INotificationWillDisplayEvent event) {
82+
static HashMap<String, Object> convertNotificationWillDisplayEventToMap(INotificationWillDisplayEvent event) throws JSONException {
7983
HashMap<String, Object> hash = new HashMap<>();
8084
hash.put("notification", convertNotificationToMap(event.getNotification()));
8185
return hash;
@@ -90,7 +94,7 @@ private static HashMap<String, Object> convertNotificationClickResultToMap(INoti
9094
return hash;
9195
}
9296

93-
static HashMap<String, Object> convertNotificationClickEventToMap(INotificationClickEvent event) {
97+
static HashMap<String, Object> convertNotificationClickEventToMap(INotificationClickEvent event) throws JSONException {
9498
HashMap<String, Object> hash = new HashMap<>();
9599

96100
hash.put("notification", convertNotificationToMap(event.getNotification()));
@@ -99,7 +103,7 @@ static HashMap<String, Object> convertNotificationClickEventToMap(INotificationC
99103
return hash;
100104
}
101105

102-
static HashMap<String, Object> convertInAppMessageClickEventToMap(IInAppMessageClickEvent event) {
106+
static HashMap<String, Object> convertInAppMessageClickEventToMap(IInAppMessageClickEvent event) throws JSONException {
103107
HashMap<String, Object> hash = new HashMap<>();
104108

105109
hash.put("message", convertInAppMessageToMap(event.getMessage()));
@@ -108,41 +112,41 @@ static HashMap<String, Object> convertInAppMessageClickEventToMap(IInAppMessageC
108112
return hash;
109113
}
110114

111-
static HashMap<String, Object> convertInAppMessageClicResultToMap(IInAppMessageClickResult result) {
115+
static HashMap<String, Object> convertInAppMessageClickResultToMap(IInAppMessageClickResult result) throws JSONException {
112116
HashMap<String, Object> hash = new HashMap<>();
113117

114118
hash.put("action_id", result.getActionId());
115119
hash.put("url", result.getUrl());
116-
hash.put("closingMessage", result.getClosingMessage());
120+
hash.put("closing_message", result.getClosingMessage());
117121

118122
return hash;
119123
}
120124

121-
static HashMap<String, Object> convertInAppMessageWillDisplayEventToMap(IInAppMessageWillDisplayEvent event) {
125+
static HashMap<String, Object> convertInAppMessageWillDisplayEventToMap(IInAppMessageWillDisplayEvent event) throws JSONException {
122126
HashMap<String, Object> hash = new HashMap<>();
123127

124128
hash.put("message", convertInAppMessageToMap(event.getMessage()));
125129

126130
return hash;
127131
}
128132

129-
static HashMap<String, Object> convertInAppMessageDidDisplayEventToMap(IInAppMessageDidDisplayEvent event) {
133+
static HashMap<String, Object> convertInAppMessageDidDisplayEventToMap(IInAppMessageDidDisplayEvent event) throws JSONException {
130134
HashMap<String, Object> hash = new HashMap<>();
131135

132136
hash.put("message", convertInAppMessageToMap(event.getMessage()));
133137

134138
return hash;
135139
}
136140

137-
static HashMap<String, Object> convertInAppMessageWillDismissEventToMap(IInAppMessageWillDismissEvent event) {
141+
static HashMap<String, Object> convertInAppMessageWillDismissEventToMap(IInAppMessageWillDismissEvent event) throws JSONException {
138142
HashMap<String, Object> hash = new HashMap<>();
139143

140144
hash.put("message", convertInAppMessageToMap(event.getMessage()));
141145

142146
return hash;
143147
}
144148

145-
static HashMap<String, Object> convertInAppMessageDidDismissEventToMap(IInAppMessageDidDismissEvent event) {
149+
static HashMap<String, Object> convertInAppMessageDidDismissEventToMap(IInAppMessageDidDismissEvent event) throws JSONException {
146150
HashMap<String, Object> hash = new HashMap<>();
147151

148152
hash.put("message", convertInAppMessageToMap(event.getMessage()));
@@ -158,7 +162,7 @@ static HashMap<String, Object> convertInAppMessageToMap(IInAppMessage message) {
158162
return hash;
159163
}
160164

161-
static HashMap<String, Object> convertPushSubscriptionState(PushSubscriptionState state) {
165+
static HashMap<String, Object> convertPushSubscriptionState(PushSubscriptionState state) throws JSONException {
162166
HashMap<String, Object> hash = new HashMap<>();
163167

164168

@@ -169,7 +173,7 @@ static HashMap<String, Object> convertPushSubscriptionState(PushSubscriptionStat
169173
return hash;
170174
}
171175

172-
static HashMap<String, Object> convertOnPushSubscriptionChange(PushSubscriptionChangedState changedState) {
176+
static HashMap<String, Object> convertOnPushSubscriptionChange(PushSubscriptionChangedState changedState) throws JSONException {
173177
HashMap<String, Object> hash = new HashMap<>();
174178

175179

lib/src/inappmessage.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,14 @@ class OSInAppMessageClickResult extends JSONStringRepresentable {
3939
OSInAppMessageClickResult(Map<String, dynamic> json) {
4040
this.actionId = json["action_id"];
4141
this.url = json["url"];
42-
this.closingMessage = json["closingMessage"] as bool;
42+
this.closingMessage = json["closing_message"] as bool;
4343
}
4444

4545
String jsonRepresentation() {
4646
return convertToJsonString({
4747
'action_id': this.actionId,
4848
'url': this.url,
49-
'closingMessage': this.closingMessage,
49+
'closing_message': this.closingMessage,
5050
});
5151
}
5252
}

0 commit comments

Comments
 (0)