From 35aead21ea58f92be5db64515d818b53ed914909 Mon Sep 17 00:00:00 2001 From: "Chris J. Karr" Date: Thu, 30 Mar 2017 12:48:53 -0500 Subject: [PATCH] Added synchronized blocks to prevent thread collisions. * Updated build dependencies. --- build.gradle | 16 ++++++++-------- .../passive_data_kit/generators/Generators.java | 14 ++++++++++---- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/build.gradle b/build.gradle index 461a9f9..09a0adb 100755 --- a/build.gradle +++ b/build.gradle @@ -45,14 +45,14 @@ android { dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) // testCompile 'junit:junit:4.12' - compile 'com.android.support:appcompat-v7:25.2.0' - compile 'com.android.support:recyclerview-v7:25.2.0' - compile 'com.android.support:cardview-v7:25.2.0' - compile 'com.google.android.gms:play-services-location:10.2.0' - compile 'com.google.android.gms:play-services-maps:10.2.0' - compile 'com.google.android.gms:play-services-nearby:10.2.0' - compile 'com.google.android.gms:play-services-places:10.2.0' - compile 'com.google.android.gms:play-services-awareness:10.2.0' + compile 'com.android.support:appcompat-v7:25.3.1' + compile 'com.android.support:recyclerview-v7:25.3.1' + compile 'com.android.support:cardview-v7:25.3.1' + compile 'com.google.android.gms:play-services-location:10.2.1' + compile 'com.google.android.gms:play-services-maps:10.2.1' + compile 'com.google.android.gms:play-services-nearby:10.2.1' + compile 'com.google.android.gms:play-services-places:10.2.1' + compile 'com.google.android.gms:play-services-awareness:10.2.1' compile 'com.google.maps.android:android-maps-utils:0.4' compile 'com.squareup.okhttp3:okhttp:3.2.0' compile 'commons-io:commons-io:2.4' diff --git a/src/com/audacious_software/passive_data_kit/generators/Generators.java b/src/com/audacious_software/passive_data_kit/generators/Generators.java index 14a4d26..384e0f1 100755 --- a/src/com/audacious_software/passive_data_kit/generators/Generators.java +++ b/src/com/audacious_software/passive_data_kit/generators/Generators.java @@ -250,8 +250,10 @@ public void notifyGeneratorUpdated(String identifier, long timestamp, Bundle bun public void notifyGeneratorUpdated(String identifier, Bundle bundle) { long timestamp = System.currentTimeMillis(); - for (GeneratorUpdatedListener listener : this.mGeneratorUpdatedListeners) { - listener.onGeneratorUpdated(identifier, timestamp, bundle); + synchronized(this.mGeneratorUpdatedListeners) { + for (GeneratorUpdatedListener listener : this.mGeneratorUpdatedListeners) { + listener.onGeneratorUpdated(identifier, timestamp, bundle); + } } } @@ -273,11 +275,15 @@ private void setContext(Context context) { } public void addNewGeneratorUpdatedListener(Generators.GeneratorUpdatedListener listener) { - this.mGeneratorUpdatedListeners.add(listener); + synchronized(this.mGeneratorUpdatedListeners) { + this.mGeneratorUpdatedListeners.add(listener); + } } public void removeGeneratorUpdatedListener(Generators.GeneratorUpdatedListener listener) { - this.mGeneratorUpdatedListeners.remove(listener); + synchronized(this.mGeneratorUpdatedListeners) { + this.mGeneratorUpdatedListeners.remove(listener); + } } public interface GeneratorUpdatedListener {