Skip to content

Commit fa96fd8

Browse files
committed
Adds in error checking to handle error for a null context.
1 parent 7f782fc commit fa96fd8

File tree

2 files changed

+52
-11
lines changed

2 files changed

+52
-11
lines changed

iterableapi/src/main/java/com/iterable/iterableapi/IterableNotification.java

Lines changed: 40 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
package com.iterable.iterableapi;
22

3+
import android.app.Notification;
34
import android.app.NotificationManager;
45
import android.app.PendingIntent;
56
import android.content.Context;
67
import android.content.Intent;
8+
import android.graphics.BitmapFactory;
79
import android.os.Bundle;
8-
import android.support.v7.app.NotificationCompat;
10+
//import android.support.v7.app.NotificationCompat;
11+
import android.support.v4.app.NotificationCompat;
912

1013
import java.util.Date;
1114

@@ -45,13 +48,45 @@ public static IterableNotification createNotification(Context context, Bundle ex
4548
PendingIntent notificationClickedIntent = PendingIntent.getActivity(context, 0,
4649
mainIntentWithExtras, PendingIntent.FLAG_UPDATE_CURRENT);
4750

51+
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
52+
context);
53+
Notification notification = mBuilder.setSmallIcon(icon).setTicker(applicationName).setWhen(0)
54+
.setAutoCancel(true)
55+
.setContentTitle(applicationName)
56+
.setStyle(new NotificationCompat.BigTextStyle().bigText(notificationBody))
57+
.setLargeIcon(BitmapFactory.decodeResource(context.getResources(), icon))
58+
.setContentText(notificationBody).build();
59+
60+
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
61+
notificationManager.notify(99999, notification);
62+
63+
// NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
64+
// context);
65+
// IterableNotification notification = mBuilder.setSmallIcon(icon).setTicker(applicationName).setWhen(0)
66+
// .setAutoCancel(true)
67+
// .setContentTitle(applicationName)
68+
// .setStyle(new NotificationCompat.BigTextStyle().bigText(notificationBody))
69+
// .setSmallIcon(icon)
70+
// .setContentText(notificationBody).build();
4871

4972

5073
IterableNotification notificationBuilder = new IterableNotification(context);
51-
notificationBuilder.setSmallIcon(icon)
74+
notificationBuilder
75+
// .setSmallIcon(icon)
76+
// .setContentTitle(applicationName)
77+
// .setContentText(notificationBody)
78+
// .setStyle(new NotificationCompat.BigTextStyle()
79+
// .bigText(notificationBody))
80+
// .setAutoCancel(true);
81+
82+
.setTicker(applicationName).setWhen(0)
83+
.setAutoCancel(true)
5284
.setContentTitle(applicationName)
53-
.setContentText(notificationBody)
54-
.setAutoCancel(true);
85+
.setStyle(new NotificationCompat.BigTextStyle().bigText(notificationBody))
86+
// .setContentIntent(resultPendingIntent)
87+
// .setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION))
88+
.setSmallIcon(icon)
89+
.setContentText(notificationBody);
5590

5691
notificationBuilder.setContentIntent(notificationClickedIntent);
5792

@@ -75,7 +110,7 @@ public static void postNotificationOnDevice(Context context, IterableNotificatio
75110
long dateInMilli = new Date().getTime();
76111
int notifID = (int) (dateInMilli % Integer.MAX_VALUE);
77112

78-
mNotificationManager.notify(notifID, iterableNotification.build());
113+
// mNotificationManager.notify(notifID, iterableNotification.build());
79114
}
80115
}
81116
}

iterableapi/src/main/java/com/iterable/iterableapi/IterablePushRegistrationGCM.java

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.iterable.iterableapi;
22

3+
import android.content.Context;
34
import android.os.AsyncTask;
45

56
import com.google.android.gms.gcm.GoogleCloudMessaging;
@@ -25,13 +26,18 @@ protected String doInBackground(IterableGCMRegistrationData... params) {
2526
if (iterableGCMRegistrationData.iterableAppId != null) {
2627
Class instanceIdClass = Class.forName(IterableConstants.INSTANCE_ID_CLASS);
2728
if (instanceIdClass != null) {
28-
InstanceID instanceID = InstanceID.getInstance(IterableApi.sharedInstance.getMainActivityContext());
29+
Context mainContext = IterableApi.sharedInstance.getMainActivityContext();
30+
if (mainContext != null) {
31+
InstanceID instanceID = InstanceID.getInstance(mainContext);
2932

30-
String idInstance = instanceID.getId();
31-
registrationToken = instanceID.getToken(iterableGCMRegistrationData.projectNumber,
32-
GoogleCloudMessaging.INSTANCE_ID_SCOPE);
33-
if (!registrationToken.isEmpty()) {
34-
IterableApi.sharedInstance.registerDeviceToken(iterableGCMRegistrationData.iterableAppId, registrationToken);
33+
String idInstance = instanceID.getId();
34+
registrationToken = instanceID.getToken(iterableGCMRegistrationData.projectNumber,
35+
GoogleCloudMessaging.INSTANCE_ID_SCOPE);
36+
if (!registrationToken.isEmpty()) {
37+
IterableApi.sharedInstance.registerDeviceToken(iterableGCMRegistrationData.iterableAppId, registrationToken);
38+
}
39+
} else {
40+
IterableLogger.e(TAG, "MainActivity Context is null");
3541
}
3642
}
3743
} else {

0 commit comments

Comments
 (0)