Skip to content

Commit 8d9dce0

Browse files
committed
Registration with location and old GMS fix
* Fixed issue where device may not register if the app has location permission and a very old (older than 7.0.0) or incomplete version of the Google Play services client library is used. * Better detection of old / incomplete android support v4 library issues. * Misc clean up.
1 parent 629c4cb commit 8d9dce0

File tree

5 files changed

+17
-13
lines changed

5 files changed

+17
-13
lines changed

OneSignalSDK.jar

553 Bytes
Binary file not shown.

OneSignalSDK/onesignal/src/main/java/com/onesignal/GenerateNotification.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444
import android.app.AlertDialog;
4545
import android.app.Notification;
4646
import android.app.PendingIntent;
47-
import android.content.BroadcastReceiver;
4847
import android.content.ContentResolver;
4948
import android.content.ContentValues;
5049
import android.content.Context;

OneSignalSDK/onesignal/src/main/java/com/onesignal/LocationGMS.java

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -101,15 +101,20 @@ else if (locationCoarsePermission == PackageManager.PERMISSION_GRANTED)
101101
}
102102

103103
static void startGetLocation() {
104-
GoogleApiClientListener googleApiClientListener = new GoogleApiClientListener();
105-
GoogleApiClient googleApiClient = new GoogleApiClient.Builder(OneSignal.appContext)
106-
.addApi(LocationServices.API)
107-
.addConnectionCallbacks(googleApiClientListener)
108-
.addOnConnectionFailedListener(googleApiClientListener)
109-
.build();
110-
mGoogleApiClient = new GoogleApiClientCompatProxy(googleApiClient);
111-
112-
mGoogleApiClient.connect();
104+
try {
105+
GoogleApiClientListener googleApiClientListener = new GoogleApiClientListener();
106+
GoogleApiClient googleApiClient = new GoogleApiClient.Builder(OneSignal.appContext)
107+
.addApi(LocationServices.API)
108+
.addConnectionCallbacks(googleApiClientListener)
109+
.addOnConnectionFailedListener(googleApiClientListener)
110+
.build();
111+
mGoogleApiClient = new GoogleApiClientCompatProxy(googleApiClient);
112+
113+
mGoogleApiClient.connect();
114+
} catch (Throwable t) {
115+
OneSignal.Log(OneSignal.LOG_LEVEL.WARN, "Location permission exists but there was an error initializing: ", t);
116+
fireFailedComplete();
117+
}
113118
}
114119

115120
static void fireFailedComplete() {

OneSignalSDK/onesignal/src/main/java/com/onesignal/OneSignal.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ public void init() {
164164
private static TrackGooglePurchase trackGooglePurchase;
165165
private static TrackAmazonPurchase trackAmazonPurchase;
166166

167-
public static final String VERSION = "020004";
167+
public static final String VERSION = "020005";
168168

169169
private static AdvertisingIdentifierProvider mainAdIdProvider = new AdvertisingIdProviderGPS();
170170

@@ -251,8 +251,9 @@ public static void init(Context context, String googleProjectNumber, String oneS
251251
Class.forName("android.support.v4.view.MenuCompat");
252252
try {
253253
Class.forName("android.support.v4.content.WakefulBroadcastReceiver");
254+
Class.forName("android.support.v4.app.NotificationManagerCompat");
254255
} catch (ClassNotFoundException e) {
255-
Log(LOG_LEVEL.FATAL, "The included Android Support Library v4 is to old. Please update your project's android-support-v4.jar to the latest revision.", e);
256+
Log(LOG_LEVEL.FATAL, "The included Android Support Library v4 is to old or incomplete. Please update your project's android-support-v4.jar to the latest revision.", e);
256257
subscribableStatus = -5;
257258
}
258259
} catch (ClassNotFoundException e) {

OneSignalSDK/onesignal/src/main/java/com/onesignal/PermissionsActivity.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
import android.content.Intent;
3232
import android.content.pm.PackageManager;
3333
import android.os.Bundle;
34-
import android.util.Log;
3534

3635
import com.onesignal.AndroidSupportV4Compat.ActivityCompat;
3736

0 commit comments

Comments
 (0)