diff --git a/app/build.gradle b/app/build.gradle index d36ed4e..2a1ec93 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'com.android.application' android { compileSdkVersion 26 - buildToolsVersion "26.0.0" + buildToolsVersion '26.0.2' defaultConfig { applicationId "com.mdg.droiders.samagra.shush" minSdkVersion 19 @@ -29,5 +29,6 @@ dependencies { compile 'com.google.android.gms:play-services-places:11.0.2' compile 'com.google.android.gms:play-services-location:11.0.2' compile 'com.android.support:recyclerview-v7:26.+' + compile 'com.firebase:firebase-jobdispatcher:0.7.0' testCompile 'junit:junit:4.12' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index df88dfc..5d3b760 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -5,6 +5,7 @@ + placeIds = new ArrayList(); + while (dataCursor.moveToNext()){ + placeIds.add(dataCursor.getString(dataCursor.getColumnIndex(PlacesContract.PlaceEntry.COLUMN_PLACE_ID))); + } + PendingResult placeBufferPendingResult = Places.GeoDataApi.getPlaceById(mClient, + placeIds.toArray(new String[placeIds.size()])); + placeBufferPendingResult.setResultCallback(new ResultCallback() { + @Override + public void onResult(@NonNull PlaceBuffer places) { + mGeofencing.updateGeofencesList(places); + mGeofencing.registerAllGeofences(); + } + }); + } +} diff --git a/app/src/main/java/com/mdg/droiders/samagra/shush/utils/GeofenceUtils.java b/app/src/main/java/com/mdg/droiders/samagra/shush/utils/GeofenceUtils.java new file mode 100644 index 0000000..2b2e099 --- /dev/null +++ b/app/src/main/java/com/mdg/droiders/samagra/shush/utils/GeofenceUtils.java @@ -0,0 +1,27 @@ +package com.mdg.droiders.samagra.shush.utils; + +import com.firebase.jobdispatcher.Constraint; +import com.firebase.jobdispatcher.FirebaseJobDispatcher; +import com.firebase.jobdispatcher.Job; +import com.firebase.jobdispatcher.Lifetime; +import com.firebase.jobdispatcher.Trigger; +import com.mdg.droiders.samagra.shush.ReRegisterGeofenceService; + +/** + * Created by samagra on 19/8/17. + */ + +public class GeofenceUtils { + public static Job createJob(FirebaseJobDispatcher dispatcher){ + Job job = dispatcher.newJobBuilder() + .setLifetime(Lifetime.FOREVER) + .setService(ReRegisterGeofenceService.class) + .setTag("Periodic registration of geofences") + .setRecurring(true) + .setTrigger(Trigger.executionWindow(24*60*60,48*60*60)) + .setConstraints(Constraint.ON_ANY_NETWORK) + .build(); + return job; + } + +} diff --git a/build.gradle b/build.gradle index c2eea8e..c33a638 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:2.3.3' + classpath 'com.android.tools.build:gradle:3.0.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 8c64cb1..5b921b0 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Thu Jul 20 00:24:43 IST 2017 +#Thu Oct 26 18:03:43 IST 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip