Skip to content

Commit 186bd8a

Browse files
committed
Fix test
1 parent 99568ae commit 186bd8a

File tree

1 file changed

+28
-4
lines changed

1 file changed

+28
-4
lines changed

com.unity.mobile.notifications/Tests/Runtime/Android/AndroidNotificationSimpleTests.cs

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -200,18 +200,18 @@ AndroidNotificationIntentData SerializeDeserializeNotification(AndroidNotificati
200200

201201
AndroidNotificationIntentData SerializeDeserializeNotification(AndroidJavaObject builder)
202202
{
203-
return SerializeDeserializeNotification(builder, "serializeNotificationCustom");
203+
return SerializeDeserializeNotificationWithFunc(builder, (u, s, j) => SerializeNotificationCustom(u, s, j));
204204
}
205205

206-
AndroidNotificationIntentData SerializeDeserializeNotification(AndroidJavaObject builder, string serializeMethod)
206+
AndroidNotificationIntentData SerializeDeserializeNotificationWithFunc(AndroidJavaObject builder, Func<AndroidJavaClass, AndroidJavaObject, AndroidJavaObject, bool> serialize)
207207
{
208208
var javaNotif = builder.Call<AndroidJavaObject>("build");
209209
var utilsClass = new AndroidJavaClass("com.unity.androidnotifications.UnityNotificationUtilities");
210210
AndroidJavaObject serializedBytes; // use java object, since we don't need the bytes, so don't waste time on marshalling
211211
using (var byteStream = new AndroidJavaObject("java.io.ByteArrayOutputStream"))
212212
{
213213
var dataStream = new AndroidJavaObject("java.io.DataOutputStream", byteStream);
214-
var didSerialize = utilsClass.CallStatic<bool>(serializeMethod, javaNotif, dataStream);
214+
var didSerialize = serialize(utilsClass, dataStream, javaNotif);
215215
Assert.IsTrue(didSerialize);
216216
dataStream.Call("close");
217217
serializedBytes = byteStream.Call<AndroidJavaObject>("toByteArray");
@@ -232,6 +232,30 @@ AndroidNotificationIntentData SerializeDeserializeNotification(AndroidJavaObject
232232
}
233233
}
234234

235+
static bool SerializeNotificationCustom(AndroidJavaClass utilsClass, AndroidJavaObject byteStream, AndroidJavaObject javaNotif)
236+
{
237+
using (var dataStream = new AndroidJavaObject("java.io.DataOutputStream", byteStream))
238+
{
239+
var didSerialize = utilsClass.CallStatic<bool>("serializeNotificationCustom", javaNotif, dataStream);
240+
dataStream.Call("close");
241+
return didSerialize;
242+
}
243+
}
244+
245+
static bool SerializeNotificationCustom_v0(AndroidJavaClass utilsClass, AndroidJavaObject byteStream, AndroidJavaObject javaNotif)
246+
{
247+
using (var dataStream = new AndroidJavaObject("java.io.DataOutputStream", byteStream))
248+
{
249+
bool didSerialize;
250+
using (var testUtils = new AndroidJavaClass("com.unity.androidnotifications.UnityNotificationTestUtils"))
251+
{
252+
didSerialize = testUtils.CallStatic<bool>("serializeNotificationCustom_v0", javaNotif, dataStream);
253+
}
254+
dataStream.Call("close");
255+
return didSerialize;
256+
}
257+
}
258+
235259
void CheckNotificationsMatch(AndroidNotification original, AndroidNotification other)
236260
{
237261
Assert.AreEqual(original.Title, other.Title);
@@ -567,7 +591,7 @@ public void CanDeserializeCustomSerializedNotification_v0()
567591
extras.Call("putParcelable", "binder_item", bitmap);
568592

569593
// Serialize like we did in version 0
570-
deserialized = SerializeDeserializeNotification(builder, "serializeNotificationCustom_v0");
594+
deserialized = SerializeDeserializeNotificationWithFunc(builder, (u, s, j) => SerializeNotificationCustom_v0(u, s, j));
571595
}
572596

573597
Assert.IsNotNull(deserialized);

0 commit comments

Comments
 (0)