Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update location tracking #1

Merged
merged 2 commits into from May 9, 2018
Merged

Update location tracking #1

merged 2 commits into from May 9, 2018

Conversation

baptiste-nv
Copy link

No description provided.

@baptiste-nv baptiste-nv self-assigned this May 9, 2018
@baptiste-nv baptiste-nv merged commit 2aed850 into master May 9, 2018
@baptiste-nv baptiste-nv deleted the dev/bgy/location_update branch May 9, 2018 19:12
baptiste-nv added a commit that referenced this pull request Jul 4, 2018
* Update location tracking

* Fix NRE
baptiste-nv added a commit that referenced this pull request Jul 4, 2018
* Unity Proxy setLocationShared

• Adds setLocationShared(bool) to the Unity proxy

* Fixed runtime issue when firebase-auth is added

* Specific when com.google.firebase:firebase-auth:15.1.0 is used the following error would throw
   - java.lang.IllegalArgumentException: Given String is empty or null
   - at com.google.android.gms.common.internal.Preconditions.checkNotEmpty(Unknown Source)
   - at com.google.firebase.auth.api.internal.zzcq.<init>(Unknown Source)
   - ...
   - at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)
   - at com.onesignal.PushRegistratorFCM.initFirebaseApp(PushRegistratorFCM.java:64)

* Synchronize State

• Fixes a crash where the generateJsonDiff() method of the currentUserState property in UserStateSynchronizer is called before the currentUserState is initialized, by adding a synchronization step to the initUserState() method
• Adds a check to make sure the user state is initialized before internalSyncUserState() attempts to access it.

* Synchronize LocationGMS

• The GoogleAPIClient instance in LocationGMS (accessed through a proxy via reflection) was being accessed before it was being connected due to a race condition
• Introduces synchronization to ensure access to the instance only occurs after it is initialized & connected.

* Synchronize LocationUpdateListener

• Adds synchronization to LocationUpdateListener, a class that also access the same instance of GoogleApiClient (from the previous commit)

* Fixed proguard compatibility

* Proguard is now renaming public classes so checked to static class based checks.
  - This way when Proguard renames the public class name it will be updated in OSUtils.
  - This is better then adding a proguard rule to keep class as allows renaming which means a smaller APK.

* Removed reading from META-INF files

* This was not reliable after some additional testing on a device

* Fix Notification Restoration Crash for Android 7.0

• Fixes a crash (OneSignal#263) by disabling notification restoration after app upgrades for Android 7.0 devices.

* Update Comment

• Fixes an out of date comment, this change only checks against a specific version of android (not a range)

* Fix Null Pointer Concurrency Issue

• Fixes OneSignal#513, where in very rare cases a concurrency issue could occur where shared preferences was accessed during a buffer flush before the object was actually initialized
• Fixed by adding synchronization to all accesses/initialization of this object

* 3.9.1 Release commit

* Update location tracking (#1)

* Update location tracking

* Fix NRE

* Add lat/long tags
baptiste-nv added a commit that referenced this pull request Mar 20, 2019
* Update location tracking

* Fix NRE
baptiste-nv added a commit that referenced this pull request Mar 20, 2019
* Unity Proxy setLocationShared

• Adds setLocationShared(bool) to the Unity proxy

* Fixed runtime issue when firebase-auth is added

* Specific when com.google.firebase:firebase-auth:15.1.0 is used the following error would throw
   - java.lang.IllegalArgumentException: Given String is empty or null
   - at com.google.android.gms.common.internal.Preconditions.checkNotEmpty(Unknown Source)
   - at com.google.firebase.auth.api.internal.zzcq.<init>(Unknown Source)
   - ...
   - at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)
   - at com.onesignal.PushRegistratorFCM.initFirebaseApp(PushRegistratorFCM.java:64)

* Synchronize State

• Fixes a crash where the generateJsonDiff() method of the currentUserState property in UserStateSynchronizer is called before the currentUserState is initialized, by adding a synchronization step to the initUserState() method
• Adds a check to make sure the user state is initialized before internalSyncUserState() attempts to access it.

* Synchronize LocationGMS

• The GoogleAPIClient instance in LocationGMS (accessed through a proxy via reflection) was being accessed before it was being connected due to a race condition
• Introduces synchronization to ensure access to the instance only occurs after it is initialized & connected.

* Synchronize LocationUpdateListener

• Adds synchronization to LocationUpdateListener, a class that also access the same instance of GoogleApiClient (from the previous commit)

* Fixed proguard compatibility

* Proguard is now renaming public classes so checked to static class based checks.
  - This way when Proguard renames the public class name it will be updated in OSUtils.
  - This is better then adding a proguard rule to keep class as allows renaming which means a smaller APK.

* Removed reading from META-INF files

* This was not reliable after some additional testing on a device

* Fix Notification Restoration Crash for Android 7.0

• Fixes a crash (OneSignal#263) by disabling notification restoration after app upgrades for Android 7.0 devices.

* Update Comment

• Fixes an out of date comment, this change only checks against a specific version of android (not a range)

* Fix Null Pointer Concurrency Issue

• Fixes OneSignal#513, where in very rare cases a concurrency issue could occur where shared preferences was accessed during a buffer flush before the object was actually initialized
• Fixed by adding synchronization to all accesses/initialization of this object

* 3.9.1 Release commit

* Update location tracking (#1)

* Update location tracking

* Fix NRE

* Add lat/long tags
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant